#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(); } TMainTask::TMainTask() : TObject(NULL) { name = TMainTask_name; task_flags = 0; mbr_0x20 = 0; mbr_0x24 = 0; };