#include "pso/THeap.h" #include "pso/TMainTask.h" #include "pso/TObject.h" static const int tl_object_count = 20; #define o(var, name) TObject *var; TL_OBJECTS #undef o u32 some_main_task_flag = 1; u32 main_task_flags; u32 old_main_task_flags; u32 lbl_805c5b98; u32 lbl_805c5b9c; u32 some_id_805c6f74; void set_depth_buffer_settings_1() {} void set_depth_buffer_settings_2() {} void set_depth_buffer_settings_3() {} void set_depth_buffer_settings_id(u32 id) {} void save_depth_buffer_settings() {} void restore_depth_buffer_settings() {} void func_80141618() {} void func_803db618(u32 arg1) {} void func_803e11e8(u32 arg1) {} void func_803e11f0() {} void TMainTask::func_80228a3c() { set_depth_buffer_settings_1(); set_depth_buffer_settings_id(1); save_depth_buffer_settings(); tl_particle->render_nodes(); tl_particlemodel->render_nodes(); restore_depth_buffer_settings(); } void TMainTask::func_80228a7c() { set_depth_buffer_settings_1(); set_depth_buffer_settings_id(2); save_depth_buffer_settings(); tl_03->disallow_rendering(); tl_04->disallow_rendering(); tl_06->disallow_rendering(); tl_07->allow_rendering(); tl_item_equip->disallow_rendering(); render_nodes(); restore_depth_buffer_settings(); } void TMainTask::func_80228ae8() { set_depth_buffer_settings_3(); set_depth_buffer_settings_id(1); save_depth_buffer_settings(); tl_03->allow_rendering(); tl_04->allow_rendering(); tl_06->allow_rendering(); tl_07->disallow_rendering(); tl_window->disallow_rendering(); tl_particle->disallow_rendering(); tl_particlemodel->disallow_rendering(); tl_radermap->disallow_rendering(); tl_clipout->disallow_rendering(); tl_fade->disallow_rendering(); tl_fadeafter->disallow_rendering(); tl_item_equip->disallow_rendering(); render_nodes(); restore_depth_buffer_settings(); set_depth_buffer_settings_id(1); func_803e11e8(1); tl_item_equip->allow_rendering(); tl_item_equip->render_nodes(); func_803e11f0(); tl_item_equip->disallow_rendering(); func_80141618(); } void TMainTask::func_80228924() { } void TMainTask::func_80228928() { set_task_flags(0x200); tl_03->render_nodes2(); tl_04->render_nodes2(); set_depth_buffer_settings_id(0); func_803e11e8(4); tl_item_equip->allow_rendering(); tl_item_equip->render_nodes(); func_80141618(); func_803e11f0(); clear_task_flags(0x200); 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(); } void TMainTask::func_802289d0() { u32 some_id; set_depth_buffer_settings_2(); set_depth_buffer_settings_id(1); save_depth_buffer_settings(); some_id = some_id_805c6f74; func_803db618(1); tl_window->allow_rendering(); tl_window->render_nodes(); tl_radermap->allow_rendering(); tl_radermap->render_nodes(); func_803db618(some_id); restore_depth_buffer_settings(); } void TMainTask::render() { DISALLOW_OR_ALLOW_CHILD(lbl_805c5b98, lbl_805c5b9c, rendering); set_task_flags(2); some_main_task_flag = 0; func_80228ae8(); some_main_task_flag = 1; func_80228a7c(); some_main_task_flag = 0; func_80228a3c(); some_main_task_flag = 1; func_80228928(); some_main_task_flag = 0; func_80228924(); func_802289d0(); clear_task_flags(2); set_task_flags(0x100); } void TMainTask::run_task() { SET_OR_CLEAR_CHILD_FLAGS(main_task_flags, old_main_task_flags, 3); some_main_task_flag = 0; set_task_flags(1); run_tasks(); clear_task_flags(1); set_task_flags(0x80); } TMainTask::~TMainTask() { delete_children(); delete alt_heap; delete obj_heap; } void TMainTask::init_main_task() { obj_heap = new THeap(0x7a000, 16); alt_heap = new THeap(0x17000, 16); #define o(var, dummy) \ var = new TObject(this); \ var->name = var##_name; TL_OBJECTS #undef o } TMainTask::TMainTask() : TObject(NULL) { name = TMainTask_name; task_flags = 0; mbr_0x20 = 0; mbr_0x24 = 0; };