diff options
-rw-r--r-- | context.h | 11 | ||||
-rw-r--r-- | include/pso/TMainTask.h | 9 | ||||
-rw-r--r-- | src/pso/TMainTask.cpp | 52 |
3 files changed, 72 insertions, 0 deletions
@@ -161,6 +161,8 @@ extern void set_some_id(u32 id); extern void func_803e11e8(u32 arg1); extern void func_803e11f0(); +extern void func_803369b4(); + // Enum defs. enum object_flags { NONE = 0, @@ -356,6 +358,15 @@ public: u32 mbr_0x24; public: TMainTask(); + void render_screen_overlay(); + void some_empty_func(); + void tl_toggle_flag_3(); + void tl_clear_flag_3(); + void tl_delete_children(); + void tl_02_toggle_flag_3(); + void tl_02_clear_flag_3(); + void empty_render_screen_overlay_func(); + void run_tl_camera_tasks(); void unused_render_func(); void render_objects(); void render_ui(); diff --git a/include/pso/TMainTask.h b/include/pso/TMainTask.h index 03319a6..b97192b 100644 --- a/include/pso/TMainTask.h +++ b/include/pso/TMainTask.h @@ -41,6 +41,15 @@ public: u32 mbr_0x24; public: TMainTask(); + void render_screen_overlay(); + void some_empty_func(); + void tl_toggle_flag_3(); + void tl_clear_flag_3(); + void tl_delete_children(); + void tl_02_toggle_flag_3(); + void tl_02_clear_flag_3(); + void empty_render_screen_overlay_func(); + void run_tl_camera_tasks(); void unused_render_func(); void render_objects(); void render_ui(); diff --git a/src/pso/TMainTask.cpp b/src/pso/TMainTask.cpp index a66fec2..931a3ce 100644 --- a/src/pso/TMainTask.cpp +++ b/src/pso/TMainTask.cpp @@ -36,6 +36,58 @@ void set_some_id(u32 id) { void func_803e11e8(u32 arg1) {} void func_803e11f0() {} +void func_803369b4() {} + +void TMainTask::render_screen_overlay() { + if (!get_task_flags(0x100)) { + render_clipout_and_fade(); + empty_func(); + empty_render_screen_overlay_func(); + func_803369b4(); + } + clear_task_flags(0x180); +} + +void TMainTask::some_empty_func() {} + +void TMainTask::tl_toggle_flag_3() { + #define o(var, name) var##->toggle_flag_3(); + TL_OBJECTS_AT_TL_00_WITHOUT_TL_PARTICLE + #undef o +} + +void TMainTask::tl_clear_flag_3() { + #define o(var, name) var##->clear_flag_3(); + TL_OBJECTS_AT_TL_00 + #undef o +} + +void TMainTask::tl_delete_children() { + #define o(var, name) var##->delete_children(); + TL_OBJECTS_AT_TL_00 + #undef o +} + +void TMainTask::tl_02_toggle_flag_3() { + #define o(var, name) var##->toggle_flag_3(); + TL_OBJECTS_AT_TL_02 + #undef o +} + +void TMainTask::tl_02_clear_flag_3() { + #define o(var, name) var##->clear_flag_3(); + TL_OBJECTS_AT_TL_02 + #undef o +} + +void TMainTask::empty_render_screen_overlay_func() {} + +void TMainTask::run_tl_camera_tasks() { + set_task_flags(1); + tl_camera->run_tasks(); + clear_task_flags(1); +} + void TMainTask::render() { DISALLOW_OR_ALLOW_CHILD(render_flags, old_render_flags, rendering); set_task_flags(2); |