diff options
-rw-r--r-- | context.h | 1 | ||||
-rw-r--r-- | include/pso/TMainTask.h | 1 | ||||
-rw-r--r-- | src/pso/TMainTask.cpp | 66 |
3 files changed, 68 insertions, 0 deletions
@@ -317,6 +317,7 @@ public: void unused_render_func(); void render_objects(); void render_ui(); + void func_80228c44(s32 arg0); void func_80228dbc(); void render_clipout_and_fade(); void init_main_task(); diff --git a/include/pso/TMainTask.h b/include/pso/TMainTask.h index 31e8e79..e889a30 100644 --- a/include/pso/TMainTask.h +++ b/include/pso/TMainTask.h @@ -47,6 +47,7 @@ public: void unused_render_func(); void render_objects(); void render_ui(); + void func_80228c44(s32 arg0); void func_80228dbc(); void render_clipout_and_fade(); void init_main_task(); diff --git a/src/pso/TMainTask.cpp b/src/pso/TMainTask.cpp index 71a1393..8ae626c 100644 --- a/src/pso/TMainTask.cpp +++ b/src/pso/TMainTask.cpp @@ -164,6 +164,72 @@ void TMainTask::render() { set_task_flags(0x100); } + +void TMainTask::func_80228c44(s32 arg0) { + set_task_flags(0x20); + some_main_task_flag = 0; + set_depth_buffer_settings_3(); + set_depth_buffer_settings_id(1); + save_depth_buffer_settings(); + + switch (arg0) { + case 0: + tl_03->render_nodes(); + tl_04->render_nodes(); + + set_depth_buffer_settings_id(3); + + tl_item_equip->allow_rendering(); + tl_item_equip->render_nodes(); + tl_item_equip->disallow_rendering(); + + func_80141618(); + break; + case 1: + tl_03->render_nodes(); + tl_04->render_nodes(); + break; + case 2: + tl_03->render_nodes(); + break; + case 3: + tl_04->render_nodes(); + break; + case 4: + set_depth_buffer_settings_id(1); + func_803e11e8(1); + + tl_item_equip->allow_rendering(); + tl_item_equip->render_nodes(); + tl_item_equip->disallow_rendering(); + + func_803e11f0(); + func_80141618(); + break; + case 5: + set_depth_buffer_settings_id(2); + func_803e11e8(2); + + tl_item_equip->allow_rendering(); + tl_item_equip->render_nodes(); + tl_item_equip->disallow_rendering(); + + func_803e11f0(); + func_80141618(); + break; + } + + restore_depth_buffer_settings(); + some_main_task_flag = 1; + + set_depth_buffer_settings_1(); + set_depth_buffer_settings_id(2); + save_depth_buffer_settings(); + + restore_depth_buffer_settings(); + clear_task_flags(0x20); +} + void TMainTask::func_80228dbc() { set_task_flags(0x10); some_main_task_flag = 0; |