summaryrefslogtreecommitdiff
path: root/src/SSystem/SComponent/c_node_iter.cpp
diff options
context:
space:
mode:
authorLuke Street <luke.street@encounterpc.com>2023-09-10 00:42:26 -0400
committerLuke Street <luke.street@encounterpc.com>2023-09-10 00:48:55 -0400
commitadb95b135c3d7498eba29bbd9728d345eed5a407 (patch)
tree655575b939c12067569263171b68c079b1a232c8 /src/SSystem/SComponent/c_node_iter.cpp
parent81ac53f1317dafb3506ae3ed8b2820d40645c3c8 (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.cpp39
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;
+}