summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pso/TMainTask.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/pso/TMainTask.cpp b/src/pso/TMainTask.cpp
index 88216e5..c0a6f88 100644
--- a/src/pso/TMainTask.cpp
+++ b/src/pso/TMainTask.cpp
@@ -1,6 +1,30 @@
#include "pso/TMainTask.h"
#include "pso/TObject.h"
+u32 some_main_task_flag = 1;
+u32 main_task_flags;
+u32 old_main_task_flags;
+
+void TMainTask::run_task() {
+ if (main_task_flags != old_main_task_flags) {
+ TMainTask *child;
+ u32 bit = 1;
+ FOREACH_NODE_NODECL_MULTI_ITER(TMainTask, main_task.down, child, bit <<= 1) {
+ if (main_task_flags & bit) {
+ child->set_flag_3();
+ } else {
+ child->clear_flag_3();
+ }
+ }
+ old_main_task_flags = main_task_flags;
+ }
+ some_main_task_flag = 0;
+ set_task_flags(1);
+ run_tasks();
+ clear_task_flags(1);
+ set_task_flags(0x80);
+}
+
TMainTask::~TMainTask() {
this->delete_children();
}