diff options
| author | Luke Street <luke.street@encounterpc.com> | 2023-09-10 00:42:26 -0400 |
|---|---|---|
| committer | Luke Street <luke.street@encounterpc.com> | 2023-09-10 00:48:55 -0400 |
| commit | adb95b135c3d7498eba29bbd9728d345eed5a407 (patch) | |
| tree | 655575b939c12067569263171b68c079b1a232c8 /src/SSystem/SComponent/c_node_iter.cpp | |
| parent | 81ac53f1317dafb3506ae3ed8b2820d40645c3c8 (diff) | |
Import project
Original repository: https://github.com/encounter/ww
Diffstat (limited to 'src/SSystem/SComponent/c_node_iter.cpp')
| -rw-r--r-- | src/SSystem/SComponent/c_node_iter.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/SSystem/SComponent/c_node_iter.cpp b/src/SSystem/SComponent/c_node_iter.cpp new file mode 100644 index 00000000..c0fd371b --- /dev/null +++ b/src/SSystem/SComponent/c_node_iter.cpp @@ -0,0 +1,39 @@ +// +// Generated by dtk +// Translation Unit: c_node_iter.cpp +// + +#include "SSystem/SComponent/c_node_iter.h" +#include "SSystem/SComponent/c_node.h" +#include "dolphin/types.h" + +/* 80244EB4-80244F44 .text cNdIt_Method__FP10node_classPFP10node_classPv_iPv */ +int cNdIt_Method(node_class* pNode, cNdIt_MethodFunc pMethod, void* pUserData) { + int ret = 1; + node_class* pNext = NODE_GET_NEXT(pNode); + + while (pNode) { + int methodRet = pMethod(pNode, pUserData); + if (!methodRet) + ret = 0; + pNode = pNext; + pNext = NODE_GET_NEXT(pNext); + } + + return ret; +} + +/* 80244F44-80244FD0 .text cNdIt_Judge__FP10node_classPFP10node_classPv_PvPv */ +void* cNdIt_Judge(node_class* pNode, cNdIt_JudgeFunc pJudge, void* pUserData) { + node_class* pNext = NODE_GET_NEXT(pNode); + + while (pNode) { + void* pJudgeRet = pJudge(pNode, pUserData); + if (pJudgeRet != NULL) + return pJudgeRet; + pNode = pNext; + pNext = NODE_GET_NEXT(pNext); + } + + return NULL; +} |
