summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context.h11
-rw-r--r--include/pso/TMainTask.h9
-rw-r--r--src/pso/TMainTask.cpp52
3 files changed, 72 insertions, 0 deletions
diff --git a/context.h b/context.h
index f59aade..e09f701 100644
--- a/context.h
+++ b/context.h
@@ -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);