From 3a79e96e8b033e26a3970da68d0633010fac0f03 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Sun, 6 Feb 2022 06:23:54 -0800 Subject: [PATCH] d_meter2 wip / d_s_play / d_file_sel_info (#179) * d_meter2 wip * d_s_play * d_file_sel_info * format * tag_lv5soup / tag_setBall / fix dKyeff * d_cc_uty --- .../at_power_check__FP11dCcU_AtInfo.s | 123 --- .../d_cc_uty/at_power_get__FP11dCcU_AtInfo.s | 370 -------- asm/d/cc/d_cc_uty/cc_pl_cut_bit_get__Fv.s | 74 -- ..._FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c.s | 36 - asm/d/cc/d_cc_uty/getHitId__FP8cCcD_Obji.s | 10 - asm/d/cc/d_cc_uty/getMapInfo__FSc.s | 14 - asm/d/cc/d_cc_uty/pl_cut_LRC__Fi.s | 11 - asm/d/d_kyeff/execute__8dKyeff_cFv.s | 24 - .../__ct__12dFile_info_cFP10JKRArchiveUc.s | 28 - .../d_file_sel_info/_draw__12dFile_info_cFv.s | 16 - .../screenSet__12dFile_info_cFv.s | 255 ----- ...etPlayTime__12dFile_info_cFP10dSv_save_c.s | 61 -- ...aveData__12dFile_info_cFP10dSv_save_ciUc.s | 88 -- ...etSaveDate__12dFile_info_cFP10dSv_save_c.s | 27 - asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s | 83 -- .../d_meter2/dMeter2_Create__FP9msg_class.s | 45 - .../emphasisButtonDelete__9dMeter2_cFv.s | 40 - .../d_meter2/isArrowEquip__9dMeter2_cFv.s | 31 - .../d_meter2/isPachinkoEquip__9dMeter2_cFv.s | 18 - .../d_meter2/isShowLightDrop__9dMeter2_cFv.s | 122 --- .../d_meter2/killSubContents__9dMeter2_cFUc.s | 55 -- .../d_meter2/moveButtonC__9dMeter2_cFv.s | 82 -- .../d_meter2/moveButtonS__9dMeter2_cFv.s | 37 - .../d_meter2/moveSubContents__9dMeter2_cFv.s | 55 -- .../__ct__22dScnPly_env_otherHIO_cFv.s | 11 - .../s/d_s_play/calcPauseTimer__9dScnPly_cFv.s | 19 - .../d_s_play/dScnPly_Execute__FP9dScnPly_c.s | 54 -- .../d_s_play/dScnPly_IsDelete__F9dScnPly_c.s | 13 - asm/d/s/d_s_play/offReset__9dScnPly_cFv.s | 31 - asm/d/s/d_s_play/phase_00__FP9dScnPly_c.s | 18 - asm/d/s/d_s_play/phase_01__FP9dScnPly_c.s | 57 -- asm/d/s/d_s_play/phase_1_0__FP9dScnPly_c.s | 51 - asm/d/s/d_s_play/phase_1__FP9dScnPly_c.s | 457 --------- asm/d/s/d_s_play/phase_3__FP9dScnPly_c.s | 38 - asm/d/s/d_s_play/resetGame__9dScnPly_cFv.s | 85 -- .../daKytag05_Create__FP10fopAc_ac_c.s | 42 - .../Execute__15daTag_Lv5Soup_cFv.s | 45 - .../__dt__15daTag_Lv5Soup_cFv.s | 26 - .../create__15daTag_Lv5Soup_cFv.s | 40 - .../daTag_Lv5Soup_Create__FPv.s | 9 - .../daTag_Lv5Soup_Delete__FPv.s | 9 - .../d_a_tag_lv5soup/daTag_Lv5Soup_Draw__FPv.s | 9 - .../daTag_Lv5Soup_Execute__FPv.s | 9 - .../isAreaCheck__15daTag_Lv5Soup_cFv.s | 126 --- .../Create__14daTagSetBall_cFv.s | 13 - .../daTagSetBall_Create__FP14daTagSetBall_c.s | 9 - .../daTagSetBall_Delete__FP14daTagSetBall_c.s | 9 - ...daTagSetBall_Execute__FP14daTagSetBall_c.s | 9 - .../d_a_tag_setBall/func_80D6024C.s | 31 - .../initBaseMtx__14daTagSetBall_cFv.s | 9 - include/JSystem/J2DGraph/J2DPane.h | 4 + include/SSystem/SComponent/c_bg_s_lin_chk.h | 1 + include/SSystem/SComponent/c_cc_d.h | 2 + include/SSystem/SComponent/c_counter.h | 12 + include/SSystem/SComponent/c_m3d_g_pla.h | 1 + include/Z2AudioLib/Z2EnvSeMgr.h | 116 ++- include/Z2AudioLib/Z2SceneMgr.h | 2 +- include/d/a/d_a_alink.h | 6 + include/d/a/d_a_player.h | 15 +- include/d/cc/d_cc_d.h | 6 + include/d/cc/d_cc_uty.h | 17 + include/d/com/d_com_inf_game.h | 226 ++++- include/d/d_attention.h | 3 + include/d/d_drawlist.h | 37 +- include/d/d_item.h | 2 + include/d/d_kyeff.h | 2 +- include/d/d_resorce.h | 6 + include/d/d_stage.h | 17 +- include/d/d_timer.h | 2 + include/d/file/d_file_sel_info.h | 32 + include/d/kankyo/d_kankyo.h | 4 + include/d/kankyo/d_kankyo_wether.h | 3 + include/d/meter/d_meter2.h | 231 ++++- include/d/meter/d_meter2_draw.h | 1 + include/d/meter/d_meter2_info.h | 30 + include/d/meter/d_meter_HIO.h | 8 +- include/d/msg/d_msg_object.h | 6 +- include/d/particle/d_particle.h | 5 + include/d/s/d_s_play.h | 65 ++ include/d/save/d_save.h | 27 +- include/f_op/f_op_actor.h | 6 +- include/f_op/f_op_actor_mng.h | 10 +- include/f_op/f_op_msg.h | 3 + include/f_op/f_op_msg_mng.h | 3 + include/f_op/f_op_scene.h | 18 +- include/f_op/f_op_scene_mng.h | 5 + include/f_pc/f_pc_leaf.h | 3 +- include/f_pc/f_pc_priority.h | 2 + include/f_pc/f_pc_profile.h | 6 +- include/m_Do/m_Do_audio.h | 28 + include/m_Do/m_Do_graphic.h | 7 +- .../rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h | 5 +- .../d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h | 14 + .../rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h | 5 +- .../d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h | 22 + libs/SSystem/SComponent/c_counter.cpp | 6 - libs/Z2AudioLib/Z2EnvSeMgr.cpp | 78 -- libs/Z2AudioLib/Z2SceneMgr.cpp | 2 +- rel/d/a/d_a_boomerang/d_a_boomerang.cpp | 1 - rel/d/a/d_a_crod/d_a_crod.cpp | 1 - rel/d/a/d_a_horse/d_a_horse.cpp | 1 - rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp | 1 - rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp | 46 +- rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp | 1 - .../a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp | 221 ++--- rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp | 1 - .../a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp | 111 +-- .../f_pc_profile_lst/f_pc_profile_lst.cpp | 2 +- src/d/a/d_a_alink.cpp | 1 - src/d/cc/d_cc_uty.cpp | 504 ++++++++-- src/d/com/d_com_inf_game.cpp | 2 +- src/d/d_drawlist.cpp | 16 +- src/d/d_kyeff.cpp | 89 +- src/d/d_stage.cpp | 5 +- src/d/event/d_event_data.cpp | 1 - src/d/file/d_file_sel_info.cpp | 308 +++--- src/d/kankyo/d_kankyo.cpp | 1 - src/d/kankyo/d_kankyo_wether.cpp | 5 - src/d/menu/d_menu_window.cpp | 2 - src/d/meter/d_meter2.cpp | 656 +++++++++---- src/d/msg/d_msg_object.cpp | 1 - src/d/particle/d_particle.cpp | 3 +- src/d/s/d_s_play.cpp | 882 +++++++++--------- src/d/s/d_s_room.cpp | 96 +- src/d/save/d_save.cpp | 87 +- src/f_op/f_op_msg.cpp | 33 +- src/f_op/f_op_msg_mng.cpp | 14 +- src/f_op/f_op_scene_pause.cpp | 2 +- src/f_op/f_op_scene_req.cpp | 2 +- src/f_pc/f_pc_base.cpp | 2 +- src/f_pc/f_pc_priority.cpp | 4 +- src/f_pc/f_pc_profile.cpp | 4 +- src/m_Do/m_Do_graphic.cpp | 2 +- 133 files changed, 2652 insertions(+), 4502 deletions(-) delete mode 100644 asm/d/cc/d_cc_uty/at_power_check__FP11dCcU_AtInfo.s delete mode 100644 asm/d/cc/d_cc_uty/at_power_get__FP11dCcU_AtInfo.s delete mode 100644 asm/d/cc/d_cc_uty/cc_pl_cut_bit_get__Fv.s delete mode 100644 asm/d/cc/d_cc_uty/def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c.s delete mode 100644 asm/d/cc/d_cc_uty/getHitId__FP8cCcD_Obji.s delete mode 100644 asm/d/cc/d_cc_uty/getMapInfo__FSc.s delete mode 100644 asm/d/cc/d_cc_uty/pl_cut_LRC__Fi.s delete mode 100644 asm/d/d_kyeff/execute__8dKyeff_cFv.s delete mode 100644 asm/d/file/d_file_sel_info/__ct__12dFile_info_cFP10JKRArchiveUc.s delete mode 100644 asm/d/file/d_file_sel_info/_draw__12dFile_info_cFv.s delete mode 100644 asm/d/file/d_file_sel_info/screenSet__12dFile_info_cFv.s delete mode 100644 asm/d/file/d_file_sel_info/setPlayTime__12dFile_info_cFP10dSv_save_c.s delete mode 100644 asm/d/file/d_file_sel_info/setSaveData__12dFile_info_cFP10dSv_save_ciUc.s delete mode 100644 asm/d/file/d_file_sel_info/setSaveDate__12dFile_info_cFP10dSv_save_c.s delete mode 100644 asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s delete mode 100644 asm/d/meter/d_meter2/emphasisButtonDelete__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/isArrowEquip__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/isPachinkoEquip__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/isShowLightDrop__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/killSubContents__9dMeter2_cFUc.s delete mode 100644 asm/d/meter/d_meter2/moveButtonC__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/moveButtonS__9dMeter2_cFv.s delete mode 100644 asm/d/meter/d_meter2/moveSubContents__9dMeter2_cFv.s delete mode 100644 asm/d/s/d_s_play/__ct__22dScnPly_env_otherHIO_cFv.s delete mode 100644 asm/d/s/d_s_play/calcPauseTimer__9dScnPly_cFv.s delete mode 100644 asm/d/s/d_s_play/dScnPly_Execute__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/dScnPly_IsDelete__F9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/offReset__9dScnPly_cFv.s delete mode 100644 asm/d/s/d_s_play/phase_00__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_01__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_1_0__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_1__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_3__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/resetGame__9dScnPly_cFv.s delete mode 100644 asm/rel/d/a/kytag/d_a_kytag05/d_a_kytag05/daKytag05_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/Execute__15daTag_Lv5Soup_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/__dt__15daTag_Lv5Soup_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/create__15daTag_Lv5Soup_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Create__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Delete__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Draw__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Execute__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/isAreaCheck__15daTag_Lv5Soup_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/Create__14daTagSetBall_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Create__FP14daTagSetBall_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Delete__FP14daTagSetBall_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Execute__FP14daTagSetBall_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/func_80D6024C.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/initBaseMtx__14daTagSetBall_cFv.s diff --git a/asm/d/cc/d_cc_uty/at_power_check__FP11dCcU_AtInfo.s b/asm/d/cc/d_cc_uty/at_power_check__FP11dCcU_AtInfo.s deleted file mode 100644 index 2967c15066..0000000000 --- a/asm/d/cc/d_cc_uty/at_power_check__FP11dCcU_AtInfo.s +++ /dev/null @@ -1,123 +0,0 @@ -lbl_80087A58: -/* 80087A58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80087A5C 7C 08 02 A6 */ mflr r0 -/* 80087A60 90 01 00 14 */ stw r0, 0x14(r1) -/* 80087A64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80087A68 7C 7F 1B 78 */ mr r31, r3 -/* 80087A6C 80 63 00 00 */ lwz r3, 0(r3) -/* 80087A70 28 03 00 00 */ cmplwi r3, 0 -/* 80087A74 40 82 00 0C */ bne lbl_80087A80 -/* 80087A78 38 60 00 00 */ li r3, 0 -/* 80087A7C 48 00 01 74 */ b lbl_80087BF0 -lbl_80087A80: -/* 80087A80 48 1D BF C9 */ bl GetAc__8cCcD_ObjFv -/* 80087A84 90 7F 00 04 */ stw r3, 4(r31) -/* 80087A88 38 00 00 0C */ li r0, 0xc -/* 80087A8C 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087A90 38 00 00 00 */ li r0, 0 -/* 80087A94 B0 1F 00 1C */ sth r0, 0x1c(r31) -/* 80087A98 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80087A9C 80 1F 00 04 */ lwz r0, 4(r31) -/* 80087AA0 28 00 00 00 */ cmplwi r0, 0 -/* 80087AA4 41 82 00 B4 */ beq lbl_80087B58 -/* 80087AA8 7F E3 FB 78 */ mr r3, r31 -/* 80087AAC 4B FF FA E9 */ bl at_power_get__FP11dCcU_AtInfo -/* 80087AB0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80087AB4 B0 1F 00 1C */ sth r0, 0x1c(r31) -/* 80087AB8 80 7F 00 04 */ lwz r3, 4(r31) -/* 80087ABC A8 03 00 08 */ lha r0, 8(r3) -/* 80087AC0 2C 00 00 FD */ cmpwi r0, 0xfd -/* 80087AC4 41 82 00 08 */ beq lbl_80087ACC -/* 80087AC8 40 82 00 40 */ bne lbl_80087B08 -lbl_80087ACC: -/* 80087ACC 80 7F 00 00 */ lwz r3, 0(r31) -/* 80087AD0 80 63 00 10 */ lwz r3, 0x10(r3) -/* 80087AD4 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10 -/* 80087AD8 40 82 00 0C */ bne lbl_80087AE4 -/* 80087ADC 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9 -/* 80087AE0 41 82 00 10 */ beq lbl_80087AF0 -lbl_80087AE4: -/* 80087AE4 38 00 00 09 */ li r0, 9 -/* 80087AE8 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087AEC 48 00 00 6C */ b lbl_80087B58 -lbl_80087AF0: -/* 80087AF0 38 00 00 01 */ li r0, 1 -/* 80087AF4 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087AF8 4B FF F8 DD */ bl cc_pl_cut_bit_get__Fv -/* 80087AFC 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80087B00 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80087B04 48 00 00 54 */ b lbl_80087B58 -lbl_80087B08: -/* 80087B08 2C 00 02 21 */ cmpwi r0, 0x221 -/* 80087B0C 40 82 00 18 */ bne lbl_80087B24 -/* 80087B10 38 00 00 02 */ li r0, 2 -/* 80087B14 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087B18 3C 00 10 00 */ lis r0, 0x1000 -/* 80087B1C 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80087B20 48 00 00 38 */ b lbl_80087B58 -lbl_80087B24: -/* 80087B24 2C 00 00 FE */ cmpwi r0, 0xfe -/* 80087B28 40 82 00 18 */ bne lbl_80087B40 -/* 80087B2C 38 00 00 0A */ li r0, 0xa -/* 80087B30 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087B34 3C 00 40 00 */ lis r0, 0x4000 -/* 80087B38 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80087B3C 48 00 00 1C */ b lbl_80087B58 -lbl_80087B40: -/* 80087B40 2C 00 03 08 */ cmpwi r0, 0x308 -/* 80087B44 40 82 00 14 */ bne lbl_80087B58 -/* 80087B48 38 00 00 0F */ li r0, 0xf -/* 80087B4C 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087B50 3C 00 80 00 */ lis r0, 0x8000 -/* 80087B54 90 1F 00 14 */ stw r0, 0x14(r31) -lbl_80087B58: -/* 80087B58 38 00 00 00 */ li r0, 0 -/* 80087B5C 98 1F 00 1F */ stb r0, 0x1f(r31) -/* 80087B60 80 7F 00 00 */ lwz r3, 0(r31) -/* 80087B64 80 83 00 10 */ lwz r4, 0x10(r3) -/* 80087B68 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 80087B6C 40 82 00 1C */ bne lbl_80087B88 -/* 80087B70 54 80 03 DF */ rlwinm. r0, r4, 0, 0xf, 0xf -/* 80087B74 40 82 00 14 */ bne lbl_80087B88 -/* 80087B78 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 -/* 80087B7C 40 82 00 0C */ bne lbl_80087B88 -/* 80087B80 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 80087B84 41 82 00 10 */ beq lbl_80087B94 -lbl_80087B88: -/* 80087B88 38 00 00 10 */ li r0, 0x10 -/* 80087B8C 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80087B90 48 00 00 5C */ b lbl_80087BEC -lbl_80087B94: -/* 80087B94 54 80 04 63 */ rlwinm. r0, r4, 0, 0x11, 0x11 -/* 80087B98 41 82 00 10 */ beq lbl_80087BA8 -/* 80087B9C 38 00 10 00 */ li r0, 0x1000 -/* 80087BA0 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80087BA4 48 00 00 48 */ b lbl_80087BEC -lbl_80087BA8: -/* 80087BA8 80 9F 00 04 */ lwz r4, 4(r31) -/* 80087BAC A8 04 00 08 */ lha r0, 8(r4) -/* 80087BB0 2C 00 00 FD */ cmpwi r0, 0xfd -/* 80087BB4 41 82 00 08 */ beq lbl_80087BBC -/* 80087BB8 40 82 00 20 */ bne lbl_80087BD8 -lbl_80087BBC: -/* 80087BBC 4B FF CB E1 */ bl dCcD_GetGObjInf__FP8cCcD_Obj -/* 80087BC0 88 03 00 77 */ lbz r0, 0x77(r3) -/* 80087BC4 2C 00 00 01 */ cmpwi r0, 1 -/* 80087BC8 40 82 00 24 */ bne lbl_80087BEC -/* 80087BCC 38 00 00 01 */ li r0, 1 -/* 80087BD0 98 1F 00 1F */ stb r0, 0x1f(r31) -/* 80087BD4 48 00 00 18 */ b lbl_80087BEC -lbl_80087BD8: -/* 80087BD8 A0 1F 00 1C */ lhz r0, 0x1c(r31) -/* 80087BDC 28 00 00 03 */ cmplwi r0, 3 -/* 80087BE0 41 80 00 0C */ blt lbl_80087BEC -/* 80087BE4 38 00 00 01 */ li r0, 1 -/* 80087BE8 98 1F 00 1F */ stb r0, 0x1f(r31) -lbl_80087BEC: -/* 80087BEC 80 7F 00 04 */ lwz r3, 4(r31) -lbl_80087BF0: -/* 80087BF0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80087BF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80087BF8 7C 08 03 A6 */ mtlr r0 -/* 80087BFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80087C00 4E 80 00 20 */ blr diff --git a/asm/d/cc/d_cc_uty/at_power_get__FP11dCcU_AtInfo.s b/asm/d/cc/d_cc_uty/at_power_get__FP11dCcU_AtInfo.s deleted file mode 100644 index 54103324dd..0000000000 --- a/asm/d/cc/d_cc_uty/at_power_get__FP11dCcU_AtInfo.s +++ /dev/null @@ -1,370 +0,0 @@ -lbl_80087594: -/* 80087594 80 A3 00 00 */ lwz r5, 0(r3) -/* 80087598 88 85 00 14 */ lbz r4, 0x14(r5) -/* 8008759C 7C 80 23 78 */ mr r0, r4 -/* 800875A0 88 63 00 1E */ lbz r3, 0x1e(r3) -/* 800875A4 28 03 00 00 */ cmplwi r3, 0 -/* 800875A8 40 82 00 70 */ bne lbl_80087618 -/* 800875AC 80 65 00 10 */ lwz r3, 0x10(r5) -/* 800875B0 54 63 00 C7 */ rlwinm. r3, r3, 0, 3, 3 -/* 800875B4 41 82 00 0C */ beq lbl_800875C0 -/* 800875B8 38 00 00 00 */ li r0, 0 -/* 800875BC 48 00 04 94 */ b lbl_80087A50 -lbl_800875C0: -/* 800875C0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800875C4 28 03 00 01 */ cmplwi r3, 1 -/* 800875C8 40 82 00 0C */ bne lbl_800875D4 -/* 800875CC 38 00 00 01 */ li r0, 1 -/* 800875D0 48 00 04 80 */ b lbl_80087A50 -lbl_800875D4: -/* 800875D4 28 03 00 02 */ cmplwi r3, 2 -/* 800875D8 40 82 00 0C */ bne lbl_800875E4 -/* 800875DC 38 00 00 0A */ li r0, 0xa -/* 800875E0 48 00 04 70 */ b lbl_80087A50 -lbl_800875E4: -/* 800875E4 28 03 00 03 */ cmplwi r3, 3 -/* 800875E8 40 82 00 10 */ bne lbl_800875F8 -/* 800875EC 1C 04 00 0A */ mulli r0, r4, 0xa -/* 800875F0 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800875F4 48 00 04 5C */ b lbl_80087A50 -lbl_800875F8: -/* 800875F8 28 03 00 06 */ cmplwi r3, 6 -/* 800875FC 40 82 00 0C */ bne lbl_80087608 -/* 80087600 38 00 00 50 */ li r0, 0x50 -/* 80087604 48 00 04 4C */ b lbl_80087A50 -lbl_80087608: -/* 80087608 28 03 00 04 */ cmplwi r3, 4 -/* 8008760C 41 80 04 44 */ blt lbl_80087A50 -/* 80087610 38 00 00 C8 */ li r0, 0xc8 -/* 80087614 48 00 04 3C */ b lbl_80087A50 -lbl_80087618: -/* 80087618 28 03 00 06 */ cmplwi r3, 6 -/* 8008761C 40 82 00 60 */ bne lbl_8008767C -/* 80087620 80 65 00 10 */ lwz r3, 0x10(r5) -/* 80087624 54 63 00 C7 */ rlwinm. r3, r3, 0, 3, 3 -/* 80087628 41 82 00 0C */ beq lbl_80087634 -/* 8008762C 38 00 00 00 */ li r0, 0 -/* 80087630 48 00 04 20 */ b lbl_80087A50 -lbl_80087634: -/* 80087634 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80087638 28 03 00 01 */ cmplwi r3, 1 -/* 8008763C 40 82 00 0C */ bne lbl_80087648 -/* 80087640 38 00 00 01 */ li r0, 1 -/* 80087644 48 00 04 0C */ b lbl_80087A50 -lbl_80087648: -/* 80087648 28 03 00 02 */ cmplwi r3, 2 -/* 8008764C 40 82 00 0C */ bne lbl_80087658 -/* 80087650 38 00 00 0A */ li r0, 0xa -/* 80087654 48 00 03 FC */ b lbl_80087A50 -lbl_80087658: -/* 80087658 28 03 00 06 */ cmplwi r3, 6 -/* 8008765C 40 82 00 0C */ bne lbl_80087668 -/* 80087660 38 00 00 50 */ li r0, 0x50 -/* 80087664 48 00 03 EC */ b lbl_80087A50 -lbl_80087668: -/* 80087668 28 03 00 03 */ cmplwi r3, 3 -/* 8008766C 41 80 03 E4 */ blt lbl_80087A50 -/* 80087670 1C 04 00 0A */ mulli r0, r4, 0xa -/* 80087674 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80087678 48 00 03 D8 */ b lbl_80087A50 -lbl_8008767C: -/* 8008767C 28 03 00 04 */ cmplwi r3, 4 -/* 80087680 40 82 00 80 */ bne lbl_80087700 -/* 80087684 80 A5 00 10 */ lwz r5, 0x10(r5) -/* 80087688 54 A3 02 53 */ rlwinm. r3, r5, 0, 9, 9 -/* 8008768C 41 82 00 0C */ beq lbl_80087698 -/* 80087690 38 00 00 C8 */ li r0, 0xc8 -/* 80087694 48 00 03 BC */ b lbl_80087A50 -lbl_80087698: -/* 80087698 54 A3 00 C7 */ rlwinm. r3, r5, 0, 3, 3 -/* 8008769C 41 82 00 0C */ beq lbl_800876A8 -/* 800876A0 38 00 00 00 */ li r0, 0 -/* 800876A4 48 00 03 AC */ b lbl_80087A50 -lbl_800876A8: -/* 800876A8 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800876AC 28 03 00 01 */ cmplwi r3, 1 -/* 800876B0 40 82 00 0C */ bne lbl_800876BC -/* 800876B4 38 00 00 01 */ li r0, 1 -/* 800876B8 48 00 03 98 */ b lbl_80087A50 -lbl_800876BC: -/* 800876BC 28 03 00 02 */ cmplwi r3, 2 -/* 800876C0 40 82 00 0C */ bne lbl_800876CC -/* 800876C4 38 00 00 0A */ li r0, 0xa -/* 800876C8 48 00 03 88 */ b lbl_80087A50 -lbl_800876CC: -/* 800876CC 28 03 00 03 */ cmplwi r3, 3 -/* 800876D0 41 80 00 10 */ blt lbl_800876E0 -/* 800876D4 1C 04 00 0A */ mulli r0, r4, 0xa -/* 800876D8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800876DC 48 00 03 74 */ b lbl_80087A50 -lbl_800876E0: -/* 800876E0 28 03 00 06 */ cmplwi r3, 6 -/* 800876E4 40 82 00 0C */ bne lbl_800876F0 -/* 800876E8 38 00 00 50 */ li r0, 0x50 -/* 800876EC 48 00 03 64 */ b lbl_80087A50 -lbl_800876F0: -/* 800876F0 28 03 00 04 */ cmplwi r3, 4 -/* 800876F4 41 80 03 5C */ blt lbl_80087A50 -/* 800876F8 38 00 00 C8 */ li r0, 0xc8 -/* 800876FC 48 00 03 54 */ b lbl_80087A50 -lbl_80087700: -/* 80087700 28 03 00 05 */ cmplwi r3, 5 -/* 80087704 40 82 00 4C */ bne lbl_80087750 -/* 80087708 80 65 00 10 */ lwz r3, 0x10(r5) -/* 8008770C 54 63 04 A5 */ rlwinm. r3, r3, 0, 0x12, 0x12 -/* 80087710 41 82 00 0C */ beq lbl_8008771C -/* 80087714 38 00 00 00 */ li r0, 0 -/* 80087718 48 00 03 38 */ b lbl_80087A50 -lbl_8008771C: -/* 8008771C 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80087720 28 03 00 01 */ cmplwi r3, 1 -/* 80087724 40 82 00 0C */ bne lbl_80087730 -/* 80087728 38 00 00 01 */ li r0, 1 -/* 8008772C 48 00 03 24 */ b lbl_80087A50 -lbl_80087730: -/* 80087730 28 03 00 02 */ cmplwi r3, 2 -/* 80087734 40 82 00 0C */ bne lbl_80087740 -/* 80087738 38 00 00 03 */ li r0, 3 -/* 8008773C 48 00 03 14 */ b lbl_80087A50 -lbl_80087740: -/* 80087740 28 03 00 03 */ cmplwi r3, 3 -/* 80087744 41 80 03 0C */ blt lbl_80087A50 -/* 80087748 38 00 00 04 */ li r0, 4 -/* 8008774C 48 00 03 04 */ b lbl_80087A50 -lbl_80087750: -/* 80087750 28 03 00 02 */ cmplwi r3, 2 -/* 80087754 40 82 00 6C */ bne lbl_800877C0 -/* 80087758 80 65 00 10 */ lwz r3, 0x10(r5) -/* 8008775C 54 63 02 53 */ rlwinm. r3, r3, 0, 9, 9 -/* 80087760 41 82 00 0C */ beq lbl_8008776C -/* 80087764 38 00 00 C8 */ li r0, 0xc8 -/* 80087768 48 00 02 E8 */ b lbl_80087A50 -lbl_8008776C: -/* 8008776C 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80087770 28 03 00 01 */ cmplwi r3, 1 -/* 80087774 40 82 00 0C */ bne lbl_80087780 -/* 80087778 38 00 00 01 */ li r0, 1 -/* 8008777C 48 00 02 D4 */ b lbl_80087A50 -lbl_80087780: -/* 80087780 28 03 00 02 */ cmplwi r3, 2 -/* 80087784 40 82 00 0C */ bne lbl_80087790 -/* 80087788 38 00 00 0A */ li r0, 0xa -/* 8008778C 48 00 02 C4 */ b lbl_80087A50 -lbl_80087790: -/* 80087790 28 03 00 03 */ cmplwi r3, 3 -/* 80087794 40 82 00 0C */ bne lbl_800877A0 -/* 80087798 38 00 00 14 */ li r0, 0x14 -/* 8008779C 48 00 02 B4 */ b lbl_80087A50 -lbl_800877A0: -/* 800877A0 28 03 00 06 */ cmplwi r3, 6 -/* 800877A4 40 82 00 0C */ bne lbl_800877B0 -/* 800877A8 38 00 00 50 */ li r0, 0x50 -/* 800877AC 48 00 02 A4 */ b lbl_80087A50 -lbl_800877B0: -/* 800877B0 28 03 00 04 */ cmplwi r3, 4 -/* 800877B4 41 80 02 9C */ blt lbl_80087A50 -/* 800877B8 38 00 00 C8 */ li r0, 0xc8 -/* 800877BC 48 00 02 94 */ b lbl_80087A50 -lbl_800877C0: -/* 800877C0 28 03 00 01 */ cmplwi r3, 1 -/* 800877C4 40 82 00 30 */ bne lbl_800877F4 -/* 800877C8 80 05 00 10 */ lwz r0, 0x10(r5) -/* 800877CC 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 800877D0 40 82 00 10 */ bne lbl_800877E0 -/* 800877D4 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 800877D8 28 00 00 04 */ cmplwi r0, 4 -/* 800877DC 41 80 00 0C */ blt lbl_800877E8 -lbl_800877E0: -/* 800877E0 38 00 00 C8 */ li r0, 0xc8 -/* 800877E4 48 00 02 6C */ b lbl_80087A50 -lbl_800877E8: -/* 800877E8 1C 04 00 0A */ mulli r0, r4, 0xa -/* 800877EC 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800877F0 48 00 02 60 */ b lbl_80087A50 -lbl_800877F4: -/* 800877F4 28 03 00 03 */ cmplwi r3, 3 -/* 800877F8 40 82 00 54 */ bne lbl_8008784C -/* 800877FC 80 65 00 10 */ lwz r3, 0x10(r5) -/* 80087800 54 63 02 53 */ rlwinm. r3, r3, 0, 9, 9 -/* 80087804 40 82 00 10 */ bne lbl_80087814 -/* 80087808 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 8008780C 28 03 00 04 */ cmplwi r3, 4 -/* 80087810 41 80 00 0C */ blt lbl_8008781C -lbl_80087814: -/* 80087814 38 00 00 C8 */ li r0, 0xc8 -/* 80087818 48 00 02 38 */ b lbl_80087A50 -lbl_8008781C: -/* 8008781C 28 03 00 01 */ cmplwi r3, 1 -/* 80087820 40 82 00 0C */ bne lbl_8008782C -/* 80087824 38 00 00 0A */ li r0, 0xa -/* 80087828 48 00 02 28 */ b lbl_80087A50 -lbl_8008782C: -/* 8008782C 28 03 00 02 */ cmplwi r3, 2 -/* 80087830 40 82 00 0C */ bne lbl_8008783C -/* 80087834 38 00 00 14 */ li r0, 0x14 -/* 80087838 48 00 02 18 */ b lbl_80087A50 -lbl_8008783C: -/* 8008783C 28 03 00 03 */ cmplwi r3, 3 -/* 80087840 41 80 02 10 */ blt lbl_80087A50 -/* 80087844 38 00 00 28 */ li r0, 0x28 -/* 80087848 48 00 02 08 */ b lbl_80087A50 -lbl_8008784C: -/* 8008784C 28 03 00 07 */ cmplwi r3, 7 -/* 80087850 40 82 00 88 */ bne lbl_800878D8 -/* 80087854 80 A5 00 10 */ lwz r5, 0x10(r5) -/* 80087858 3C 60 00 42 */ lis r3, 0x0042 /* 0x00420008@ha */ -/* 8008785C 38 63 00 08 */ addi r3, r3, 0x0008 /* 0x00420008@l */ -/* 80087860 7C A3 18 39 */ and. r3, r5, r3 -/* 80087864 41 82 00 0C */ beq lbl_80087870 -/* 80087868 38 00 00 32 */ li r0, 0x32 -/* 8008786C 48 00 01 E4 */ b lbl_80087A50 -lbl_80087870: -/* 80087870 54 A3 04 A5 */ rlwinm. r3, r5, 0, 0x12, 0x12 -/* 80087874 41 82 00 0C */ beq lbl_80087880 -/* 80087878 38 00 00 1B */ li r0, 0x1b -/* 8008787C 48 00 01 D4 */ b lbl_80087A50 -lbl_80087880: -/* 80087880 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80087884 28 03 00 01 */ cmplwi r3, 1 -/* 80087888 40 82 00 0C */ bne lbl_80087894 -/* 8008788C 38 00 00 01 */ li r0, 1 -/* 80087890 48 00 01 C0 */ b lbl_80087A50 -lbl_80087894: -/* 80087894 28 03 00 02 */ cmplwi r3, 2 -/* 80087898 40 82 00 0C */ bne lbl_800878A4 -/* 8008789C 38 00 00 0A */ li r0, 0xa -/* 800878A0 48 00 01 B0 */ b lbl_80087A50 -lbl_800878A4: -/* 800878A4 28 03 00 03 */ cmplwi r3, 3 -/* 800878A8 40 82 00 10 */ bne lbl_800878B8 -/* 800878AC 1C 04 00 0A */ mulli r0, r4, 0xa -/* 800878B0 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800878B4 48 00 01 9C */ b lbl_80087A50 -lbl_800878B8: -/* 800878B8 28 03 00 06 */ cmplwi r3, 6 -/* 800878BC 40 82 00 0C */ bne lbl_800878C8 -/* 800878C0 38 00 00 50 */ li r0, 0x50 -/* 800878C4 48 00 01 8C */ b lbl_80087A50 -lbl_800878C8: -/* 800878C8 28 03 00 04 */ cmplwi r3, 4 -/* 800878CC 41 80 01 84 */ blt lbl_80087A50 -/* 800878D0 38 00 00 C8 */ li r0, 0xc8 -/* 800878D4 48 00 01 7C */ b lbl_80087A50 -lbl_800878D8: -/* 800878D8 28 03 00 08 */ cmplwi r3, 8 -/* 800878DC 40 82 00 4C */ bne lbl_80087928 -/* 800878E0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800878E4 28 03 00 01 */ cmplwi r3, 1 -/* 800878E8 40 82 00 0C */ bne lbl_800878F4 -/* 800878EC 38 00 00 03 */ li r0, 3 -/* 800878F0 48 00 01 60 */ b lbl_80087A50 -lbl_800878F4: -/* 800878F4 28 03 00 02 */ cmplwi r3, 2 -/* 800878F8 40 82 00 0C */ bne lbl_80087904 -/* 800878FC 38 00 00 0A */ li r0, 0xa -/* 80087900 48 00 01 50 */ b lbl_80087A50 -lbl_80087904: -/* 80087904 28 03 00 06 */ cmplwi r3, 6 -/* 80087908 40 82 00 0C */ bne lbl_80087914 -/* 8008790C 38 00 00 50 */ li r0, 0x50 -/* 80087910 48 00 01 40 */ b lbl_80087A50 -lbl_80087914: -/* 80087914 28 03 00 03 */ cmplwi r3, 3 -/* 80087918 41 80 01 38 */ blt lbl_80087A50 -/* 8008791C 1C 04 00 0A */ mulli r0, r4, 0xa -/* 80087920 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80087924 48 00 01 2C */ b lbl_80087A50 -lbl_80087928: -/* 80087928 28 03 00 09 */ cmplwi r3, 9 -/* 8008792C 41 82 00 0C */ beq lbl_80087938 -/* 80087930 28 03 00 0A */ cmplwi r3, 0xa -/* 80087934 40 82 00 78 */ bne lbl_800879AC -lbl_80087938: -/* 80087938 80 85 00 10 */ lwz r4, 0x10(r5) -/* 8008793C 54 83 04 63 */ rlwinm. r3, r4, 0, 0x11, 0x11 -/* 80087940 41 82 00 08 */ beq lbl_80087948 -/* 80087944 38 00 00 00 */ li r0, 0 -lbl_80087948: -/* 80087948 54 83 02 53 */ rlwinm. r3, r4, 0, 9, 9 -/* 8008794C 41 82 00 08 */ beq lbl_80087954 -/* 80087950 38 00 00 13 */ li r0, 0x13 -lbl_80087954: -/* 80087954 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80087958 28 03 00 01 */ cmplwi r3, 1 -/* 8008795C 40 82 00 0C */ bne lbl_80087968 -/* 80087960 38 00 00 04 */ li r0, 4 -/* 80087964 48 00 00 EC */ b lbl_80087A50 -lbl_80087968: -/* 80087968 28 03 00 02 */ cmplwi r3, 2 -/* 8008796C 40 82 00 0C */ bne lbl_80087978 -/* 80087970 38 00 00 08 */ li r0, 8 -/* 80087974 48 00 00 DC */ b lbl_80087A50 -lbl_80087978: -/* 80087978 28 03 00 03 */ cmplwi r3, 3 -/* 8008797C 40 82 00 10 */ bne lbl_8008798C -/* 80087980 1C 00 00 0A */ mulli r0, r0, 0xa -/* 80087984 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80087988 48 00 00 C8 */ b lbl_80087A50 -lbl_8008798C: -/* 8008798C 28 03 00 06 */ cmplwi r3, 6 -/* 80087990 40 82 00 0C */ bne lbl_8008799C -/* 80087994 38 00 00 50 */ li r0, 0x50 -/* 80087998 48 00 00 B8 */ b lbl_80087A50 -lbl_8008799C: -/* 8008799C 28 03 00 04 */ cmplwi r3, 4 -/* 800879A0 41 80 00 B0 */ blt lbl_80087A50 -/* 800879A4 38 00 00 C8 */ li r0, 0xc8 -/* 800879A8 48 00 00 A8 */ b lbl_80087A50 -lbl_800879AC: -/* 800879AC 28 03 00 0B */ cmplwi r3, 0xb -/* 800879B0 40 82 00 58 */ bne lbl_80087A08 -/* 800879B4 80 65 00 10 */ lwz r3, 0x10(r5) -/* 800879B8 54 63 04 63 */ rlwinm. r3, r3, 0, 0x11, 0x11 -/* 800879BC 41 82 00 08 */ beq lbl_800879C4 -/* 800879C0 38 00 00 00 */ li r0, 0 -lbl_800879C4: -/* 800879C4 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 800879C8 28 03 00 01 */ cmplwi r3, 1 -/* 800879CC 40 82 00 0C */ bne lbl_800879D8 -/* 800879D0 38 00 00 0A */ li r0, 0xa -/* 800879D4 48 00 00 7C */ b lbl_80087A50 -lbl_800879D8: -/* 800879D8 28 03 00 02 */ cmplwi r3, 2 -/* 800879DC 40 82 00 0C */ bne lbl_800879E8 -/* 800879E0 38 00 00 14 */ li r0, 0x14 -/* 800879E4 48 00 00 6C */ b lbl_80087A50 -lbl_800879E8: -/* 800879E8 28 03 00 03 */ cmplwi r3, 3 -/* 800879EC 40 82 00 0C */ bne lbl_800879F8 -/* 800879F0 38 00 00 1E */ li r0, 0x1e -/* 800879F4 48 00 00 5C */ b lbl_80087A50 -lbl_800879F8: -/* 800879F8 28 03 00 04 */ cmplwi r3, 4 -/* 800879FC 41 80 00 54 */ blt lbl_80087A50 -/* 80087A00 38 00 00 64 */ li r0, 0x64 -/* 80087A04 48 00 00 4C */ b lbl_80087A50 -lbl_80087A08: -/* 80087A08 28 03 00 0C */ cmplwi r3, 0xc -/* 80087A0C 40 82 00 44 */ bne lbl_80087A50 -/* 80087A10 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80087A14 28 03 00 01 */ cmplwi r3, 1 -/* 80087A18 40 82 00 0C */ bne lbl_80087A24 -/* 80087A1C 38 00 00 0A */ li r0, 0xa -/* 80087A20 48 00 00 30 */ b lbl_80087A50 -lbl_80087A24: -/* 80087A24 28 03 00 02 */ cmplwi r3, 2 -/* 80087A28 40 82 00 0C */ bne lbl_80087A34 -/* 80087A2C 38 00 00 14 */ li r0, 0x14 -/* 80087A30 48 00 00 20 */ b lbl_80087A50 -lbl_80087A34: -/* 80087A34 28 03 00 03 */ cmplwi r3, 3 -/* 80087A38 40 82 00 0C */ bne lbl_80087A44 -/* 80087A3C 38 00 00 1E */ li r0, 0x1e -/* 80087A40 48 00 00 10 */ b lbl_80087A50 -lbl_80087A44: -/* 80087A44 28 03 00 04 */ cmplwi r3, 4 -/* 80087A48 41 80 00 08 */ blt lbl_80087A50 -/* 80087A4C 38 00 00 64 */ li r0, 0x64 -lbl_80087A50: -/* 80087A50 7C 03 03 78 */ mr r3, r0 -/* 80087A54 4E 80 00 20 */ blr diff --git a/asm/d/cc/d_cc_uty/cc_pl_cut_bit_get__Fv.s b/asm/d/cc/d_cc_uty/cc_pl_cut_bit_get__Fv.s deleted file mode 100644 index ad2b66e20a..0000000000 --- a/asm/d/cc/d_cc_uty/cc_pl_cut_bit_get__Fv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_800873D4: -/* 800873D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800873D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800873DC 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 800873E0 38 60 00 00 */ li r3, 0 -/* 800873E4 88 04 05 68 */ lbz r0, 0x568(r4) -/* 800873E8 28 00 00 01 */ cmplwi r0, 1 -/* 800873EC 40 82 00 0C */ bne lbl_800873F8 -/* 800873F0 38 60 00 01 */ li r3, 1 -/* 800873F4 4E 80 00 20 */ blr -lbl_800873F8: -/* 800873F8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800873FC 28 00 00 02 */ cmplwi r0, 2 -/* 80087400 40 82 00 0C */ bne lbl_8008740C -/* 80087404 38 60 00 02 */ li r3, 2 -/* 80087408 4E 80 00 20 */ blr -lbl_8008740C: -/* 8008740C 28 00 00 21 */ cmplwi r0, 0x21 -/* 80087410 40 82 00 0C */ bne lbl_8008741C -/* 80087414 38 60 02 00 */ li r3, 0x200 -/* 80087418 4E 80 00 20 */ blr -lbl_8008741C: -/* 8008741C 28 00 00 03 */ cmplwi r0, 3 -/* 80087420 40 82 00 0C */ bne lbl_8008742C -/* 80087424 38 60 00 04 */ li r3, 4 -/* 80087428 4E 80 00 20 */ blr -lbl_8008742C: -/* 8008742C 28 00 00 04 */ cmplwi r0, 4 -/* 80087430 40 82 00 0C */ bne lbl_8008743C -/* 80087434 38 60 00 08 */ li r3, 8 -/* 80087438 4E 80 00 20 */ blr -lbl_8008743C: -/* 8008743C 28 00 00 06 */ cmplwi r0, 6 -/* 80087440 40 82 00 0C */ bne lbl_8008744C -/* 80087444 38 60 00 20 */ li r3, 0x20 -/* 80087448 4E 80 00 20 */ blr -lbl_8008744C: -/* 8008744C 28 00 00 07 */ cmplwi r0, 7 -/* 80087450 40 82 00 0C */ bne lbl_8008745C -/* 80087454 38 60 00 40 */ li r3, 0x40 -/* 80087458 4E 80 00 20 */ blr -lbl_8008745C: -/* 8008745C 28 00 00 08 */ cmplwi r0, 8 -/* 80087460 41 82 00 1C */ beq lbl_8008747C -/* 80087464 28 00 00 09 */ cmplwi r0, 9 -/* 80087468 41 82 00 14 */ beq lbl_8008747C -/* 8008746C 28 00 00 2B */ cmplwi r0, 0x2b -/* 80087470 41 82 00 0C */ beq lbl_8008747C -/* 80087474 28 00 00 18 */ cmplwi r0, 0x18 -/* 80087478 40 82 00 0C */ bne lbl_80087484 -lbl_8008747C: -/* 8008747C 38 60 00 80 */ li r3, 0x80 -/* 80087480 4E 80 00 20 */ blr -lbl_80087484: -/* 80087484 28 00 00 16 */ cmplwi r0, 0x16 -/* 80087488 41 82 00 0C */ beq lbl_80087494 -/* 8008748C 28 00 00 17 */ cmplwi r0, 0x17 -/* 80087490 40 82 00 0C */ bne lbl_8008749C -lbl_80087494: -/* 80087494 38 60 08 00 */ li r3, 0x800 -/* 80087498 4E 80 00 20 */ blr -lbl_8008749C: -/* 8008749C 28 00 00 0A */ cmplwi r0, 0xa -/* 800874A0 40 82 00 0C */ bne lbl_800874AC -/* 800874A4 38 60 01 00 */ li r3, 0x100 -/* 800874A8 4E 80 00 20 */ blr -lbl_800874AC: -/* 800874AC 28 00 00 28 */ cmplwi r0, 0x28 -/* 800874B0 41 82 00 0C */ beq lbl_800874BC -/* 800874B4 28 00 00 29 */ cmplwi r0, 0x29 -/* 800874B8 4C 82 00 20 */ bnelr -lbl_800874BC: -/* 800874BC 38 60 04 00 */ li r3, 0x400 -/* 800874C0 4E 80 00 20 */ blr diff --git a/asm/d/cc/d_cc_uty/def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c.s b/asm/d/cc/d_cc_uty/def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c.s deleted file mode 100644 index 4e8b8130b0..0000000000 --- a/asm/d/cc/d_cc_uty/def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80087514: -/* 80087514 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80087518 7C 08 02 A6 */ mflr r0 -/* 8008751C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80087520 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80087524 93 C1 00 08 */ stw r30, 8(r1) -/* 80087528 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8008752C 7C BF 2B 78 */ mr r31, r5 -/* 80087530 41 82 00 4C */ beq lbl_8008757C -/* 80087534 28 06 00 00 */ cmplwi r6, 0 -/* 80087538 41 82 00 18 */ beq lbl_80087550 -/* 8008753C 80 06 04 9C */ lwz r0, 0x49c(r6) -/* 80087540 74 00 00 28 */ andis. r0, r0, 0x28 -/* 80087544 41 82 00 0C */ beq lbl_80087550 -/* 80087548 38 00 00 00 */ li r0, 0 -/* 8008754C 48 00 00 08 */ b lbl_80087554 -lbl_80087550: -/* 80087550 38 00 00 01 */ li r0, 1 -lbl_80087554: -/* 80087554 7C 83 23 78 */ mr r3, r4 -/* 80087558 7C 04 03 78 */ mr r4, r0 -/* 8008755C 4B FF FF 95 */ bl getHitId__FP8cCcD_Obji -/* 80087560 7C 64 1B 78 */ mr r4, r3 -/* 80087564 7F C3 F3 78 */ mr r3, r30 -/* 80087568 7F E5 FB 78 */ mr r5, r31 -/* 8008756C 81 9E 00 00 */ lwz r12, 0(r30) -/* 80087570 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80087574 7D 89 03 A6 */ mtctr r12 -/* 80087578 4E 80 04 21 */ bctrl -lbl_8008757C: -/* 8008757C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80087580 83 C1 00 08 */ lwz r30, 8(r1) -/* 80087584 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80087588 7C 08 03 A6 */ mtlr r0 -/* 8008758C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80087590 4E 80 00 20 */ blr diff --git a/asm/d/cc/d_cc_uty/getHitId__FP8cCcD_Obji.s b/asm/d/cc/d_cc_uty/getHitId__FP8cCcD_Obji.s deleted file mode 100644 index b303a18ff3..0000000000 --- a/asm/d/cc/d_cc_uty/getHitId__FP8cCcD_Obji.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_800874F0: -/* 800874F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800874F4 7C 08 02 A6 */ mflr r0 -/* 800874F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800874FC 88 63 00 74 */ lbz r3, 0x74(r3) -/* 80087500 4B FF D0 B1 */ bl getHitSeID__12dCcD_GObjInfFUci -/* 80087504 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80087508 7C 08 03 A6 */ mtlr r0 -/* 8008750C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80087510 4E 80 00 20 */ blr diff --git a/asm/d/cc/d_cc_uty/getMapInfo__FSc.s b/asm/d/cc/d_cc_uty/getMapInfo__FSc.s deleted file mode 100644 index 8eb085e3b0..0000000000 --- a/asm/d/cc/d_cc_uty/getMapInfo__FSc.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_800874C4: -/* 800874C4 38 80 00 1E */ li r4, 0x1e -/* 800874C8 7C 60 07 74 */ extsb r0, r3 -/* 800874CC 2C 00 00 01 */ cmpwi r0, 1 -/* 800874D0 40 82 00 0C */ bne lbl_800874DC -/* 800874D4 38 80 00 1F */ li r4, 0x1f -/* 800874D8 48 00 00 10 */ b lbl_800874E8 -lbl_800874DC: -/* 800874DC 2C 00 00 02 */ cmpwi r0, 2 -/* 800874E0 40 82 00 08 */ bne lbl_800874E8 -/* 800874E4 38 80 00 20 */ li r4, 0x20 -lbl_800874E8: -/* 800874E8 7C 83 23 78 */ mr r3, r4 -/* 800874EC 4E 80 00 20 */ blr diff --git a/asm/d/cc/d_cc_uty/pl_cut_LRC__Fi.s b/asm/d/cc/d_cc_uty/pl_cut_LRC__Fi.s deleted file mode 100644 index 3132a616a4..0000000000 --- a/asm/d/cc/d_cc_uty/pl_cut_LRC__Fi.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_800873B0: -/* 800873B0 2C 03 00 3A */ cmpwi r3, 0x3a -/* 800873B4 41 80 00 0C */ blt lbl_800873C0 -/* 800873B8 38 60 00 00 */ li r3, 0 -/* 800873BC 4E 80 00 20 */ blr -lbl_800873C0: -/* 800873C0 54 60 10 3A */ slwi r0, r3, 2 -/* 800873C4 3C 60 80 3B */ lis r3, plCutLRC@ha /* 0x803AC418@ha */ -/* 800873C8 38 63 C4 18 */ addi r3, r3, plCutLRC@l /* 0x803AC418@l */ -/* 800873CC 7C 63 00 2E */ lwzx r3, r3, r0 -/* 800873D0 4E 80 00 20 */ blr diff --git a/asm/d/d_kyeff/execute__8dKyeff_cFv.s b/asm/d/d_kyeff/execute__8dKyeff_cFv.s deleted file mode 100644 index 007f8cc67b..0000000000 --- a/asm/d/d_kyeff/execute__8dKyeff_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_801ADD5C: -/* 801ADD5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADD60 7C 08 02 A6 */ mflr r0 -/* 801ADD64 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADD68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801ADD6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801ADD70 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 801ADD74 3C 80 80 39 */ lis r4, d_d_kyeff__stringBase0@ha /* 0x80394F38@ha */ -/* 801ADD78 38 84 4F 38 */ addi r4, r4, d_d_kyeff__stringBase0@l /* 0x80394F38@l */ -/* 801ADD7C 48 1B AC 19 */ bl strcmp -/* 801ADD80 2C 03 00 00 */ cmpwi r3, 0 -/* 801ADD84 41 82 00 08 */ beq lbl_801ADD8C -/* 801ADD88 4B EA A5 71 */ bl dKyw_wether_move__Fv -lbl_801ADD8C: -/* 801ADD8C 4B EA C3 2D */ bl dKyw_wether_move_draw__Fv -/* 801ADD90 4B FE FF BD */ bl dKy_FiveSenses_fullthrottle_dark__Fv -/* 801ADD94 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */ -/* 801ADD98 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */ -/* 801ADD9C 48 11 89 15 */ bl framework__10Z2EnvSeMgrFv -/* 801ADDA0 38 60 00 01 */ li r3, 1 -/* 801ADDA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADDA8 7C 08 03 A6 */ mtlr r0 -/* 801ADDAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADDB0 4E 80 00 20 */ blr diff --git a/asm/d/file/d_file_sel_info/__ct__12dFile_info_cFP10JKRArchiveUc.s b/asm/d/file/d_file_sel_info/__ct__12dFile_info_cFP10JKRArchiveUc.s deleted file mode 100644 index 08a71a86d9..0000000000 --- a/asm/d/file/d_file_sel_info/__ct__12dFile_info_cFP10JKRArchiveUc.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80192434: -/* 80192434 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80192438 7C 08 02 A6 */ mflr r0 -/* 8019243C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80192440 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80192444 7C 7F 1B 78 */ mr r31, r3 -/* 80192448 3C C0 80 3C */ lis r6, __vt__12dFile_info_c@ha /* 0x803BB598@ha */ -/* 8019244C 38 06 B5 98 */ addi r0, r6, __vt__12dFile_info_c@l /* 0x803BB598@l */ -/* 80192450 90 03 00 00 */ stw r0, 0(r3) -/* 80192454 3C C0 80 3A */ lis r6, __vt__12dDlst_base_c@ha /* 0x803A6F88@ha */ -/* 80192458 38 06 6F 88 */ addi r0, r6, __vt__12dDlst_base_c@l /* 0x803A6F88@l */ -/* 8019245C 90 03 00 08 */ stw r0, 8(r3) -/* 80192460 3C C0 80 3C */ lis r6, __vt__16dDlst_FileInfo_c@ha /* 0x803BB588@ha */ -/* 80192464 38 06 B5 88 */ addi r0, r6, __vt__16dDlst_FileInfo_c@l /* 0x803BB588@l */ -/* 80192468 90 03 00 08 */ stw r0, 8(r3) -/* 8019246C 90 83 00 04 */ stw r4, 4(r3) -/* 80192470 98 A3 00 22 */ stb r5, 0x22(r3) -/* 80192474 38 00 00 00 */ li r0, 0 -/* 80192478 90 03 00 14 */ stw r0, 0x14(r3) -/* 8019247C 48 00 00 F5 */ bl screenSet__12dFile_info_cFv -/* 80192480 38 00 00 00 */ li r0, 0 -/* 80192484 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80192488 7F E3 FB 78 */ mr r3, r31 -/* 8019248C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80192490 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80192494 7C 08 03 A6 */ mtlr r0 -/* 80192498 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019249C 4E 80 00 20 */ blr diff --git a/asm/d/file/d_file_sel_info/_draw__12dFile_info_cFv.s b/asm/d/file/d_file_sel_info/_draw__12dFile_info_cFv.s deleted file mode 100644 index ced5cc7b98..0000000000 --- a/asm/d/file/d_file_sel_info/_draw__12dFile_info_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80192D60: -/* 80192D60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80192D64 7C 08 02 A6 */ mflr r0 -/* 80192D68 90 01 00 14 */ stw r0, 0x14(r1) -/* 80192D6C 7C 66 1B 78 */ mr r6, r3 -/* 80192D70 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80192D74 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80192D78 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 80192D7C 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 80192D80 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 80192D84 38 C6 00 08 */ addi r6, r6, 8 -/* 80192D88 4B EC 3A 0D */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 80192D8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80192D90 7C 08 03 A6 */ mtlr r0 -/* 80192D94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80192D98 4E 80 00 20 */ blr diff --git a/asm/d/file/d_file_sel_info/screenSet__12dFile_info_cFv.s b/asm/d/file/d_file_sel_info/screenSet__12dFile_info_cFv.s deleted file mode 100644 index b4ec3edbf8..0000000000 --- a/asm/d/file/d_file_sel_info/screenSet__12dFile_info_cFv.s +++ /dev/null @@ -1,255 +0,0 @@ -lbl_80192570: -/* 80192570 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80192574 7C 08 02 A6 */ mflr r0 -/* 80192578 90 01 00 34 */ stw r0, 0x34(r1) -/* 8019257C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80192580 48 1C FC 51 */ bl _savegpr_26 -/* 80192584 7C 7F 1B 78 */ mr r31, r3 -/* 80192588 38 60 01 18 */ li r3, 0x118 -/* 8019258C 48 13 C6 C1 */ bl __nw__FUl -/* 80192590 7C 60 1B 79 */ or. r0, r3, r3 -/* 80192594 41 82 00 0C */ beq lbl_801925A0 -/* 80192598 48 16 5F 01 */ bl __ct__9J2DScreenFv -/* 8019259C 7C 60 1B 78 */ mr r0, r3 -lbl_801925A0: -/* 801925A0 90 1F 00 0C */ stw r0, 0xc(r31) -/* 801925A4 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801925A8 3C 80 80 39 */ lis r4, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 801925AC 38 84 48 B8 */ addi r4, r4, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -/* 801925B0 3C A0 01 10 */ lis r5, 0x110 -/* 801925B4 80 DF 00 04 */ lwz r6, 4(r31) -/* 801925B8 48 16 60 91 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 801925BC 4B E8 24 35 */ bl mDoExt_getMesgFont__Fv -/* 801925C0 90 7F 00 10 */ stw r3, 0x10(r31) -/* 801925C4 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801925C8 3C 80 5F 65 */ lis r4, 0x5F65 /* 0x5F656631@ha */ -/* 801925CC 38 C4 66 31 */ addi r6, r4, 0x6631 /* 0x5F656631@l */ -/* 801925D0 3C 80 77 5F */ lis r4, 0x775F /* 0x775F6370@ha */ -/* 801925D4 38 A4 63 70 */ addi r5, r4, 0x6370 /* 0x775F6370@l */ -/* 801925D8 81 83 00 00 */ lwz r12, 0(r3) -/* 801925DC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801925E0 7D 89 03 A6 */ mtctr r12 -/* 801925E4 4E 80 04 21 */ bctrl -/* 801925E8 38 00 00 00 */ li r0, 0 -/* 801925EC 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 801925F0 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801925F4 3C 80 74 5F */ lis r4, 0x745F /* 0x745F6931@ha */ -/* 801925F8 38 C4 69 31 */ addi r6, r4, 0x6931 /* 0x745F6931@l */ -/* 801925FC 3C 80 77 5F */ lis r4, 0x775F /* 0x775F6461@ha */ -/* 80192600 38 A4 64 61 */ addi r5, r4, 0x6461 /* 0x775F6461@l */ -/* 80192604 81 83 00 00 */ lwz r12, 0(r3) -/* 80192608 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8019260C 7D 89 03 A6 */ mtctr r12 -/* 80192610 4E 80 04 21 */ bctrl -/* 80192614 90 7F 00 18 */ stw r3, 0x18(r31) -/* 80192618 38 60 00 1C */ li r3, 0x1c -/* 8019261C 48 13 C6 31 */ bl __nw__FUl -/* 80192620 7C 60 1B 79 */ or. r0, r3, r3 -/* 80192624 41 82 00 28 */ beq lbl_8019264C -/* 80192628 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 8019262C 3C A0 74 5F */ lis r5, 0x745F /* 0x745F6931@ha */ -/* 80192630 38 C5 69 31 */ addi r6, r5, 0x6931 /* 0x745F6931@l */ -/* 80192634 3C A0 77 5F */ lis r5, 0x775F /* 0x775F6461@ha */ -/* 80192638 38 A5 64 61 */ addi r5, r5, 0x6461 /* 0x775F6461@l */ -/* 8019263C 38 E0 00 02 */ li r7, 2 -/* 80192640 39 00 00 00 */ li r8, 0 -/* 80192644 48 0C 2D B9 */ bl __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap -/* 80192648 7C 60 1B 78 */ mr r0, r3 -lbl_8019264C: -/* 8019264C 90 1F 00 24 */ stw r0, 0x24(r31) -/* 80192650 38 60 00 1C */ li r3, 0x1c -/* 80192654 48 13 C5 F9 */ bl __nw__FUl -/* 80192658 7C 60 1B 79 */ or. r0, r3, r3 -/* 8019265C 41 82 00 28 */ beq lbl_80192684 -/* 80192660 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80192664 3C A0 61 5F */ lis r5, 0x615F /* 0x615F6931@ha */ -/* 80192668 38 C5 69 31 */ addi r6, r5, 0x6931 /* 0x615F6931@l */ -/* 8019266C 3C A0 77 5F */ lis r5, 0x775F /* 0x775F6E64@ha */ -/* 80192670 38 A5 6E 64 */ addi r5, r5, 0x6E64 /* 0x775F6E64@l */ -/* 80192674 38 E0 00 02 */ li r7, 2 -/* 80192678 39 00 00 00 */ li r8, 0 -/* 8019267C 48 0C 2D 81 */ bl __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap -/* 80192680 7C 60 1B 78 */ mr r0, r3 -lbl_80192684: -/* 80192684 90 1F 00 28 */ stw r0, 0x28(r31) -/* 80192688 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8019268C 3C 80 74 5F */ lis r4, 0x745F /* 0x745F3032@ha */ -/* 80192690 38 C4 30 32 */ addi r6, r4, 0x3032 /* 0x745F3032@l */ -/* 80192694 3C 80 66 5F */ lis r4, 0x665F /* 0x665F735F@ha */ -/* 80192698 38 A4 73 5F */ addi r5, r4, 0x735F /* 0x665F735F@l */ -/* 8019269C 81 83 00 00 */ lwz r12, 0(r3) -/* 801926A0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801926A4 7D 89 03 A6 */ mtctr r12 -/* 801926A8 4E 80 04 21 */ bctrl -/* 801926AC 90 61 00 08 */ stw r3, 8(r1) -/* 801926B0 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801926B4 3C 80 74 5F */ lis r4, 0x745F /* 0x745F3032@ha */ -/* 801926B8 38 C4 30 32 */ addi r6, r4, 0x3032 /* 0x745F3032@l */ -/* 801926BC 3C 80 66 5F */ lis r4, 0x665F /* 0x665F705F@ha */ -/* 801926C0 38 A4 70 5F */ addi r5, r4, 0x705F /* 0x665F705F@l */ -/* 801926C4 81 83 00 00 */ lwz r12, 0(r3) -/* 801926C8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801926CC 7D 89 03 A6 */ mtctr r12 -/* 801926D0 4E 80 04 21 */ bctrl -/* 801926D4 90 61 00 0C */ stw r3, 0xc(r1) -/* 801926D8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801926DC 3C 80 74 5F */ lis r4, 0x745F /* 0x745F3031@ha */ -/* 801926E0 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x745F3031@l */ -/* 801926E4 3C 80 77 5F */ lis r4, 0x775F /* 0x775F735F@ha */ -/* 801926E8 38 A4 73 5F */ addi r5, r4, 0x735F /* 0x775F735F@l */ -/* 801926EC 81 83 00 00 */ lwz r12, 0(r3) -/* 801926F0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801926F4 7D 89 03 A6 */ mtctr r12 -/* 801926F8 4E 80 04 21 */ bctrl -/* 801926FC 38 00 00 00 */ li r0, 0 -/* 80192700 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 80192704 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80192708 3C 80 74 5F */ lis r4, 0x745F /* 0x745F3031@ha */ -/* 8019270C 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x745F3031@l */ -/* 80192710 3C 80 77 5F */ lis r4, 0x775F /* 0x775F705F@ha */ -/* 80192714 38 A4 70 5F */ addi r5, r4, 0x705F /* 0x775F705F@l */ -/* 80192718 81 83 00 00 */ lwz r12, 0(r3) -/* 8019271C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80192720 7D 89 03 A6 */ mtctr r12 -/* 80192724 4E 80 04 21 */ bctrl -/* 80192728 3B C0 00 00 */ li r30, 0 -/* 8019272C 9B C3 00 B0 */ stb r30, 0xb0(r3) -/* 80192730 3B 40 00 00 */ li r26, 0 -/* 80192734 3B A1 00 08 */ addi r29, r1, 8 -/* 80192738 3C 60 80 39 */ lis r3, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 8019273C 3B 83 48 B8 */ addi r28, r3, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -lbl_80192740: -/* 80192740 7F 7D F0 2E */ lwzx r27, r29, r30 -/* 80192744 7F 63 DB 78 */ mr r3, r27 -/* 80192748 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 8019274C 81 9B 00 00 */ lwz r12, 0(r27) -/* 80192750 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80192754 7D 89 03 A6 */ mtctr r12 -/* 80192758 4E 80 04 21 */ bctrl -/* 8019275C 7F 63 DB 78 */ mr r3, r27 -/* 80192760 38 80 00 20 */ li r4, 0x20 -/* 80192764 38 BC 00 20 */ addi r5, r28, 0x20 -/* 80192768 4C C6 31 82 */ crclr 6 -/* 8019276C 48 16 DF E1 */ bl setString__10J2DTextBoxFsPCce -/* 80192770 3B 5A 00 01 */ addi r26, r26, 1 -/* 80192774 2C 1A 00 02 */ cmpwi r26, 2 -/* 80192778 3B DE 00 04 */ addi r30, r30, 4 -/* 8019277C 41 80 FF C4 */ blt lbl_80192740 -/* 80192780 80 61 00 08 */ lwz r3, 8(r1) -/* 80192784 48 16 DE D5 */ bl getStringPtr__10J2DTextBoxCFv -/* 80192788 7C 65 1B 78 */ mr r5, r3 -/* 8019278C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80192790 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80192794 38 80 03 D0 */ li r4, 0x3d0 -/* 80192798 38 C0 00 00 */ li r6, 0 -/* 8019279C 48 08 9A B5 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801927A0 80 61 00 0C */ lwz r3, 0xc(r1) -/* 801927A4 48 16 DE B5 */ bl getStringPtr__10J2DTextBoxCFv -/* 801927A8 7C 65 1B 78 */ mr r5, r3 -/* 801927AC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801927B0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 801927B4 38 80 03 D1 */ li r4, 0x3d1 -/* 801927B8 38 C0 00 00 */ li r6, 0 -/* 801927BC 48 08 9A 95 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801927C0 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801927C4 3C 80 6D 65 */ lis r4, 0x6D65 /* 0x6D653031@ha */ -/* 801927C8 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x6D653031@l */ -/* 801927CC 3C 80 66 5F */ lis r4, 0x665F /* 0x665F6E61@ha */ -/* 801927D0 38 A4 6E 61 */ addi r5, r4, 0x6E61 /* 0x665F6E61@l */ -/* 801927D4 81 83 00 00 */ lwz r12, 0(r3) -/* 801927D8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801927DC 7D 89 03 A6 */ mtctr r12 -/* 801927E0 4E 80 04 21 */ bctrl -/* 801927E4 90 61 00 08 */ stw r3, 8(r1) -/* 801927E8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 801927EC 3C 80 65 77 */ lis r4, 0x6577 /* 0x65775F31@ha */ -/* 801927F0 38 C4 5F 31 */ addi r6, r4, 0x5F31 /* 0x65775F31@l */ -/* 801927F4 3C 80 00 66 */ lis r4, 0x0066 /* 0x00665F6E@ha */ -/* 801927F8 38 A4 5F 6E */ addi r5, r4, 0x5F6E /* 0x00665F6E@l */ -/* 801927FC 81 83 00 00 */ lwz r12, 0(r3) -/* 80192800 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80192804 7D 89 03 A6 */ mtctr r12 -/* 80192808 4E 80 04 21 */ bctrl -/* 8019280C 90 61 00 0C */ stw r3, 0xc(r1) -/* 80192810 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80192814 3C 80 6D 65 */ lis r4, 0x6D65 /* 0x6D653031@ha */ -/* 80192818 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x6D653031@l */ -/* 8019281C 3C 80 77 5F */ lis r4, 0x775F /* 0x775F6E61@ha */ -/* 80192820 38 A4 6E 61 */ addi r5, r4, 0x6E61 /* 0x775F6E61@l */ -/* 80192824 81 83 00 00 */ lwz r12, 0(r3) -/* 80192828 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8019282C 7D 89 03 A6 */ mtctr r12 -/* 80192830 4E 80 04 21 */ bctrl -/* 80192834 38 00 00 00 */ li r0, 0 -/* 80192838 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8019283C 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80192840 3C 80 65 77 */ lis r4, 0x6577 /* 0x65775F31@ha */ -/* 80192844 38 C4 5F 31 */ addi r6, r4, 0x5F31 /* 0x65775F31@l */ -/* 80192848 3C 80 00 77 */ lis r4, 0x0077 /* 0x00775F6E@ha */ -/* 8019284C 38 A4 5F 6E */ addi r5, r4, 0x5F6E /* 0x00775F6E@l */ -/* 80192850 81 83 00 00 */ lwz r12, 0(r3) -/* 80192854 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80192858 7D 89 03 A6 */ mtctr r12 -/* 8019285C 4E 80 04 21 */ bctrl -/* 80192860 38 00 00 00 */ li r0, 0 -/* 80192864 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 80192868 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8019286C 3C 80 6D 65 */ lis r4, 0x6D65 /* 0x6D653031@ha */ -/* 80192870 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x6D653031@l */ -/* 80192874 3C 80 77 5F */ lis r4, 0x775F /* 0x775F7469@ha */ -/* 80192878 38 A4 74 69 */ addi r5, r4, 0x7469 /* 0x775F7469@l */ -/* 8019287C 81 83 00 00 */ lwz r12, 0(r3) -/* 80192880 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80192884 7D 89 03 A6 */ mtctr r12 -/* 80192888 4E 80 04 21 */ bctrl -/* 8019288C 90 61 00 10 */ stw r3, 0x10(r1) -/* 80192890 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80192894 3C 80 69 6D */ lis r4, 0x696D /* 0x696D3031@ha */ -/* 80192898 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x696D3031@l */ -/* 8019289C 3C 80 77 5F */ lis r4, 0x775F /* 0x775F7074@ha */ -/* 801928A0 38 A4 70 74 */ addi r5, r4, 0x7074 /* 0x775F7074@l */ -/* 801928A4 81 83 00 00 */ lwz r12, 0(r3) -/* 801928A8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801928AC 7D 89 03 A6 */ mtctr r12 -/* 801928B0 4E 80 04 21 */ bctrl -/* 801928B4 90 61 00 14 */ stw r3, 0x14(r1) -/* 801928B8 3B 40 00 00 */ li r26, 0 -/* 801928BC 3B C0 00 00 */ li r30, 0 -/* 801928C0 3B 81 00 08 */ addi r28, r1, 8 -/* 801928C4 3C 60 80 39 */ lis r3, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 801928C8 3B A3 48 B8 */ addi r29, r3, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -lbl_801928CC: -/* 801928CC 7F 7C F0 2E */ lwzx r27, r28, r30 -/* 801928D0 7F 63 DB 78 */ mr r3, r27 -/* 801928D4 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 801928D8 81 9B 00 00 */ lwz r12, 0(r27) -/* 801928DC 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 801928E0 7D 89 03 A6 */ mtctr r12 -/* 801928E4 4E 80 04 21 */ bctrl -/* 801928E8 7F 63 DB 78 */ mr r3, r27 -/* 801928EC 38 80 00 40 */ li r4, 0x40 -/* 801928F0 38 BD 00 20 */ addi r5, r29, 0x20 -/* 801928F4 4C C6 31 82 */ crclr 6 -/* 801928F8 48 16 DE 55 */ bl setString__10J2DTextBoxFsPCce -/* 801928FC 3B 5A 00 01 */ addi r26, r26, 1 -/* 80192900 2C 1A 00 04 */ cmpwi r26, 4 -/* 80192904 3B DE 00 04 */ addi r30, r30, 4 -/* 80192908 41 80 FF C4 */ blt lbl_801928CC -/* 8019290C 80 61 00 08 */ lwz r3, 8(r1) -/* 80192910 48 16 DD 49 */ bl getStringPtr__10J2DTextBoxCFv -/* 80192914 90 7F 00 2C */ stw r3, 0x2c(r31) -/* 80192918 80 61 00 0C */ lwz r3, 0xc(r1) -/* 8019291C 48 16 DD 3D */ bl getStringPtr__10J2DTextBoxCFv -/* 80192920 90 7F 00 38 */ stw r3, 0x38(r31) -/* 80192924 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80192928 48 16 DD 31 */ bl getStringPtr__10J2DTextBoxCFv -/* 8019292C 90 7F 00 30 */ stw r3, 0x30(r31) -/* 80192930 80 61 00 14 */ lwz r3, 0x14(r1) -/* 80192934 48 16 DD 25 */ bl getStringPtr__10J2DTextBoxCFv -/* 80192938 90 7F 00 34 */ stw r3, 0x34(r31) -/* 8019293C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80192940 48 1C F8 DD */ bl _restgpr_26 -/* 80192944 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80192948 7C 08 03 A6 */ mtlr r0 -/* 8019294C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80192950 4E 80 00 20 */ blr diff --git a/asm/d/file/d_file_sel_info/setPlayTime__12dFile_info_cFP10dSv_save_c.s b/asm/d/file/d_file_sel_info/setPlayTime__12dFile_info_cFP10dSv_save_c.s deleted file mode 100644 index 1e67d463b7..0000000000 --- a/asm/d/file/d_file_sel_info/setPlayTime__12dFile_info_cFP10dSv_save_c.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_80192C70: -/* 80192C70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80192C74 7C 08 02 A6 */ mflr r0 -/* 80192C78 90 01 00 24 */ stw r0, 0x24(r1) -/* 80192C7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80192C80 48 1C F5 59 */ bl _savegpr_28 -/* 80192C84 7C 7C 1B 78 */ mr r28, r3 -/* 80192C88 80 64 01 A8 */ lwz r3, 0x1a8(r4) -/* 80192C8C 80 84 01 AC */ lwz r4, 0x1ac(r4) -/* 80192C90 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 80192C94 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 80192C98 54 06 F0 BE */ srwi r6, r0, 2 -/* 80192C9C 38 A0 00 00 */ li r5, 0 -/* 80192CA0 48 1C F6 85 */ bl __div2i -/* 80192CA4 7C 9D 23 78 */ mr r29, r4 -/* 80192CA8 7C 7E 1B 78 */ mr r30, r3 -/* 80192CAC 3C A0 00 37 */ lis r5, 0x0037 /* 0x0036EE44@ha */ -/* 80192CB0 38 E5 EE 44 */ addi r7, r5, 0xEE44 /* 0x0036EE44@l */ -/* 80192CB4 38 00 00 00 */ li r0, 0 -/* 80192CB8 6F C6 80 00 */ xoris r6, r30, 0x8000 -/* 80192CBC 6C 05 80 00 */ xoris r5, r0, 0x8000 -/* 80192CC0 7C 07 E8 10 */ subfc r0, r7, r29 -/* 80192CC4 7C A5 31 10 */ subfe r5, r5, r6 -/* 80192CC8 7C A6 31 10 */ subfe r5, r6, r6 -/* 80192CCC 7C A5 00 D1 */ neg. r5, r5 -/* 80192CD0 40 82 00 20 */ bne lbl_80192CF0 -/* 80192CD4 80 7C 00 34 */ lwz r3, 0x34(r28) -/* 80192CD8 3C 80 80 39 */ lis r4, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 80192CDC 38 84 48 B8 */ addi r4, r4, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -/* 80192CE0 38 84 00 48 */ addi r4, r4, 0x48 -/* 80192CE4 4C C6 31 82 */ crclr 6 -/* 80192CE8 48 1D 37 F5 */ bl sprintf -/* 80192CEC 48 00 00 54 */ b lbl_80192D40 -lbl_80192CF0: -/* 80192CF0 38 A0 00 00 */ li r5, 0 -/* 80192CF4 38 C0 0E 10 */ li r6, 0xe10 -/* 80192CF8 48 1C F8 49 */ bl __mod2i -/* 80192CFC 38 A0 00 00 */ li r5, 0 -/* 80192D00 38 C0 00 3C */ li r6, 0x3c -/* 80192D04 48 1C F6 21 */ bl __div2i -/* 80192D08 7C 9F 23 78 */ mr r31, r4 -/* 80192D0C 7F C3 F3 78 */ mr r3, r30 -/* 80192D10 7F A4 EB 78 */ mr r4, r29 -/* 80192D14 38 A0 00 00 */ li r5, 0 -/* 80192D18 38 C0 0E 10 */ li r6, 0xe10 -/* 80192D1C 48 1C F6 09 */ bl __div2i -/* 80192D20 7C 85 23 78 */ mr r5, r4 -/* 80192D24 80 7C 00 34 */ lwz r3, 0x34(r28) -/* 80192D28 3C 80 80 39 */ lis r4, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 80192D2C 38 84 48 B8 */ addi r4, r4, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -/* 80192D30 38 84 00 4F */ addi r4, r4, 0x4f -/* 80192D34 7F E6 FB 78 */ mr r6, r31 -/* 80192D38 4C C6 31 82 */ crclr 6 -/* 80192D3C 48 1D 37 A1 */ bl sprintf -lbl_80192D40: -/* 80192D40 39 61 00 20 */ addi r11, r1, 0x20 -/* 80192D44 48 1C F4 E1 */ bl _restgpr_28 -/* 80192D48 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80192D4C 7C 08 03 A6 */ mtlr r0 -/* 80192D50 38 21 00 20 */ addi r1, r1, 0x20 -/* 80192D54 4E 80 00 20 */ blr diff --git a/asm/d/file/d_file_sel_info/setSaveData__12dFile_info_cFP10dSv_save_ciUc.s b/asm/d/file/d_file_sel_info/setSaveData__12dFile_info_cFP10dSv_save_ciUc.s deleted file mode 100644 index 2ec75d7dc4..0000000000 --- a/asm/d/file/d_file_sel_info/setSaveData__12dFile_info_cFP10dSv_save_ciUc.s +++ /dev/null @@ -1,88 +0,0 @@ -lbl_80192954: -/* 80192954 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80192958 7C 08 02 A6 */ mflr r0 -/* 8019295C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80192960 39 61 00 20 */ addi r11, r1, 0x20 -/* 80192964 48 1C F8 79 */ bl _savegpr_29 -/* 80192968 7C 7F 1B 78 */ mr r31, r3 -/* 8019296C 7C 9D 23 78 */ mr r29, r4 -/* 80192970 2C 05 00 00 */ cmpwi r5, 0 -/* 80192974 41 82 00 F8 */ beq lbl_80192A6C -/* 80192978 3B DD 01 B4 */ addi r30, r29, 0x1b4 -/* 8019297C 88 1D 01 B4 */ lbz r0, 0x1b4(r29) -/* 80192980 7C 00 07 75 */ extsb. r0, r0 -/* 80192984 40 82 00 B8 */ bne lbl_80192A3C -/* 80192988 88 1F 00 22 */ lbz r0, 0x22(r31) -/* 8019298C 28 00 00 01 */ cmplwi r0, 1 -/* 80192990 40 82 00 8C */ bne lbl_80192A1C -/* 80192994 54 C6 06 3E */ clrlwi r6, r6, 0x18 -/* 80192998 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019299C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801929A0 88 05 0F 18 */ lbz r0, 0xf18(r5) -/* 801929A4 7C 06 00 40 */ cmplw r6, r0 -/* 801929A8 40 82 00 74 */ bne lbl_80192A1C -/* 801929AC A0 05 00 02 */ lhz r0, 2(r5) -/* 801929B0 B0 1D 00 02 */ sth r0, 2(r29) -/* 801929B4 48 00 00 ED */ bl setHeartCnt__12dFile_info_cFP10dSv_save_c -/* 801929B8 38 00 00 0C */ li r0, 0xc -/* 801929BC B0 1D 00 02 */ sth r0, 2(r29) -/* 801929C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801929C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801929C8 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 801929CC 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 801929D0 48 1D 61 5D */ bl strcpy -/* 801929D4 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 801929D8 3C 80 80 39 */ lis r4, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 801929DC 38 84 48 B8 */ addi r4, r4, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -/* 801929E0 38 84 00 20 */ addi r4, r4, 0x20 -/* 801929E4 48 1D 61 49 */ bl strcpy -/* 801929E8 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 801929EC 3C 80 80 39 */ lis r4, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 801929F0 38 84 48 B8 */ addi r4, r4, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -/* 801929F4 38 84 00 20 */ addi r4, r4, 0x20 -/* 801929F8 48 1D 61 35 */ bl strcpy -/* 801929FC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80192A00 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80192A04 38 80 00 4D */ li r4, 0x4d -/* 80192A08 80 BF 00 38 */ lwz r5, 0x38(r31) -/* 80192A0C 38 C0 00 00 */ li r6, 0 -/* 80192A10 48 08 98 41 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 80192A14 38 60 00 02 */ li r3, 2 -/* 80192A18 48 00 00 70 */ b lbl_80192A88 -lbl_80192A1C: -/* 80192A1C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80192A20 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80192A24 38 80 00 4D */ li r4, 0x4d -/* 80192A28 80 BF 00 38 */ lwz r5, 0x38(r31) -/* 80192A2C 38 C0 00 00 */ li r6, 0 -/* 80192A30 48 08 98 21 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 80192A34 38 60 00 01 */ li r3, 1 -/* 80192A38 48 00 00 50 */ b lbl_80192A88 -lbl_80192A3C: -/* 80192A3C 48 00 00 65 */ bl setHeartCnt__12dFile_info_cFP10dSv_save_c -/* 80192A40 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 80192A44 7F C4 F3 78 */ mr r4, r30 -/* 80192A48 48 1D 60 E5 */ bl strcpy -/* 80192A4C 7F E3 FB 78 */ mr r3, r31 -/* 80192A50 7F A4 EB 78 */ mr r4, r29 -/* 80192A54 48 00 01 B5 */ bl setSaveDate__12dFile_info_cFP10dSv_save_c -/* 80192A58 7F E3 FB 78 */ mr r3, r31 -/* 80192A5C 7F A4 EB 78 */ mr r4, r29 -/* 80192A60 48 00 02 11 */ bl setPlayTime__12dFile_info_cFP10dSv_save_c -/* 80192A64 38 60 00 00 */ li r3, 0 -/* 80192A68 48 00 00 20 */ b lbl_80192A88 -lbl_80192A6C: -/* 80192A6C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80192A70 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80192A74 38 80 00 51 */ li r4, 0x51 -/* 80192A78 80 BF 00 38 */ lwz r5, 0x38(r31) -/* 80192A7C 38 C0 00 00 */ li r6, 0 -/* 80192A80 48 08 97 D1 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 80192A84 38 60 FF FF */ li r3, -1 -lbl_80192A88: -/* 80192A88 39 61 00 20 */ addi r11, r1, 0x20 -/* 80192A8C 48 1C F7 9D */ bl _restgpr_29 -/* 80192A90 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80192A94 7C 08 03 A6 */ mtlr r0 -/* 80192A98 38 21 00 20 */ addi r1, r1, 0x20 -/* 80192A9C 4E 80 00 20 */ blr diff --git a/asm/d/file/d_file_sel_info/setSaveDate__12dFile_info_cFP10dSv_save_c.s b/asm/d/file/d_file_sel_info/setSaveDate__12dFile_info_cFP10dSv_save_c.s deleted file mode 100644 index 17acd24255..0000000000 --- a/asm/d/file/d_file_sel_info/setSaveDate__12dFile_info_cFP10dSv_save_c.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80192C08: -/* 80192C08 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80192C0C 7C 08 02 A6 */ mflr r0 -/* 80192C10 90 01 00 44 */ stw r0, 0x44(r1) -/* 80192C14 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 80192C18 7C 7F 1B 78 */ mr r31, r3 -/* 80192C1C 80 64 00 28 */ lwz r3, 0x28(r4) -/* 80192C20 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 80192C24 38 A1 00 08 */ addi r5, r1, 8 -/* 80192C28 48 1A FD 4D */ bl OSTicksToCalendarTime -/* 80192C2C 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80192C30 3C 80 80 39 */ lis r4, d_file_d_file_sel_info__stringBase0@ha /* 0x803948B8@ha */ -/* 80192C34 38 84 48 B8 */ addi r4, r4, d_file_d_file_sel_info__stringBase0@l /* 0x803948B8@l */ -/* 80192C38 38 84 00 31 */ addi r4, r4, 0x31 -/* 80192C3C 80 A1 00 18 */ lwz r5, 0x18(r1) -/* 80192C40 38 A5 00 01 */ addi r5, r5, 1 -/* 80192C44 80 C1 00 14 */ lwz r6, 0x14(r1) -/* 80192C48 80 E1 00 1C */ lwz r7, 0x1c(r1) -/* 80192C4C 81 01 00 10 */ lwz r8, 0x10(r1) -/* 80192C50 81 21 00 0C */ lwz r9, 0xc(r1) -/* 80192C54 4C C6 31 82 */ crclr 6 -/* 80192C58 48 1D 38 85 */ bl sprintf -/* 80192C5C 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 80192C60 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80192C64 7C 08 03 A6 */ mtlr r0 -/* 80192C68 38 21 00 40 */ addi r1, r1, 0x40 -/* 80192C6C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s b/asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s deleted file mode 100644 index cd15fa2ce5..0000000000 --- a/asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_8021F370: -/* 8021F370 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8021F374 7C 08 02 A6 */ mflr r0 -/* 8021F378 90 01 00 14 */ stw r0, 0x14(r1) -/* 8021F37C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8021F380 7C 7F 1B 78 */ mr r31, r3 -/* 8021F384 80 63 01 20 */ lwz r3, 0x120(r3) -/* 8021F388 28 03 00 00 */ cmplwi r3, 0 -/* 8021F38C 41 82 00 08 */ beq lbl_8021F394 -/* 8021F390 4B FE EB 8D */ bl _draw__11dMeterMap_cFv -lbl_8021F394: -/* 8021F394 80 DF 01 10 */ lwz r6, 0x110(r31) -/* 8021F398 28 06 00 00 */ cmplwi r6, 0 -/* 8021F39C 41 82 00 1C */ beq lbl_8021F3B8 -/* 8021F3A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F3A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F3A8 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8021F3AC 38 83 00 AC */ addi r4, r3, 0xac -/* 8021F3B0 38 A3 00 B0 */ addi r5, r3, 0xb0 -/* 8021F3B4 4B E3 73 E1 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8021F3B8: -/* 8021F3B8 80 DF 01 14 */ lwz r6, 0x114(r31) -/* 8021F3BC 28 06 00 00 */ cmplwi r6, 0 -/* 8021F3C0 41 82 00 50 */ beq lbl_8021F410 -/* 8021F3C4 88 1F 01 E5 */ lbz r0, 0x1e5(r31) -/* 8021F3C8 28 00 00 05 */ cmplwi r0, 5 -/* 8021F3CC 40 82 00 2C */ bne lbl_8021F3F8 -/* 8021F3D0 A0 1F 01 B6 */ lhz r0, 0x1b6(r31) -/* 8021F3D4 28 00 00 00 */ cmplwi r0, 0 -/* 8021F3D8 41 82 00 38 */ beq lbl_8021F410 -/* 8021F3DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F3E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F3E4 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8021F3E8 38 83 00 AC */ addi r4, r3, 0xac -/* 8021F3EC 38 A3 00 B0 */ addi r5, r3, 0xb0 -/* 8021F3F0 4B E3 73 A5 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 8021F3F4 48 00 00 1C */ b lbl_8021F410 -lbl_8021F3F8: -/* 8021F3F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F3FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F400 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8021F404 38 83 00 AC */ addi r4, r3, 0xac -/* 8021F408 38 A3 00 B0 */ addi r5, r3, 0xb0 -/* 8021F40C 4B E3 73 89 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8021F410: -/* 8021F410 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8021F414 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8021F418 88 03 00 B9 */ lbz r0, 0xb9(r3) -/* 8021F41C 28 00 00 02 */ cmplwi r0, 2 -/* 8021F420 40 82 00 24 */ bne lbl_8021F444 -/* 8021F424 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F428 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F42C 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8021F430 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 8021F434 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 8021F438 80 DF 01 0C */ lwz r6, 0x10c(r31) -/* 8021F43C 4B E3 73 59 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 8021F440 48 00 00 20 */ b lbl_8021F460 -lbl_8021F444: -/* 8021F444 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F448 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F44C 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8021F450 38 83 00 AC */ addi r4, r3, 0xac -/* 8021F454 38 A3 00 B0 */ addi r5, r3, 0xb0 -/* 8021F458 80 DF 01 0C */ lwz r6, 0x10c(r31) -/* 8021F45C 4B E3 73 39 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8021F460: -/* 8021F460 80 DF 01 18 */ lwz r6, 0x118(r31) -/* 8021F464 28 06 00 00 */ cmplwi r6, 0 -/* 8021F468 41 82 00 1C */ beq lbl_8021F484 -/* 8021F46C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8021F470 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8021F474 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8021F478 38 83 00 AC */ addi r4, r3, 0xac -/* 8021F47C 38 A3 00 B0 */ addi r5, r3, 0xb0 -/* 8021F480 4B E3 73 15 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8021F484: -/* 8021F484 38 60 00 01 */ li r3, 1 -/* 8021F488 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8021F48C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8021F490 7C 08 03 A6 */ mtlr r0 -/* 8021F494 38 21 00 10 */ addi r1, r1, 0x10 -/* 8021F498 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s b/asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s deleted file mode 100644 index 59a37f5779..0000000000 --- a/asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80225B08: -/* 80225B08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80225B0C 7C 08 02 A6 */ mflr r0 -/* 80225B10 90 01 00 14 */ stw r0, 0x14(r1) -/* 80225B14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80225B18 7C 7F 1B 78 */ mr r31, r3 -/* 80225B1C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80225B20 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80225B24 93 E3 00 1C */ stw r31, 0x1c(r3) -/* 80225B28 38 00 00 01 */ li r0, 1 -/* 80225B2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80225B30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80225B34 98 03 5E B8 */ stb r0, 0x5eb8(r3) -/* 80225B38 38 60 03 14 */ li r3, 0x314 -/* 80225B3C 38 80 00 00 */ li r4, 0 -/* 80225B40 38 A0 00 00 */ li r5, 0 -/* 80225B44 4B DF A5 C5 */ bl fopMsgM_Create__FsPFPv_iPv -/* 80225B48 38 00 FF FF */ li r0, -1 -/* 80225B4C 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 80225B50 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 80225B54 98 03 00 04 */ stb r0, 4(r3) -/* 80225B58 3C 60 80 43 */ lis r3, g_ringHIO@ha /* 0x8042FAFC@ha */ -/* 80225B5C 38 63 FA FC */ addi r3, r3, g_ringHIO@l /* 0x8042FAFC@l */ -/* 80225B60 98 03 00 04 */ stb r0, 4(r3) -/* 80225B64 3C 60 80 43 */ lis r3, g_fmapHIO@ha /* 0x8042FC60@ha */ -/* 80225B68 38 63 FC 60 */ addi r3, r3, g_fmapHIO@l /* 0x8042FC60@l */ -/* 80225B6C 98 03 00 04 */ stb r0, 4(r3) -/* 80225B70 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80225B74 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80225B78 98 03 00 04 */ stb r0, 4(r3) -/* 80225B7C 38 60 03 13 */ li r3, 0x313 -/* 80225B80 38 80 00 00 */ li r4, 0 -/* 80225B84 38 A0 00 00 */ li r5, 0 -/* 80225B88 4B DF A5 81 */ bl fopMsgM_Create__FsPFPv_iPv -/* 80225B8C 4B DF A5 75 */ bl fopMsgM_setMessageID__FUi -/* 80225B90 48 03 B4 A5 */ bl dTimer_createStockTimer__Fv -/* 80225B94 7F E3 FB 78 */ mr r3, r31 -/* 80225B98 4B DF 9E 1D */ bl fopMsgM_setStageLayer__FPv -/* 80225B9C 7F E3 FB 78 */ mr r3, r31 -/* 80225BA0 4B FF 8E 75 */ bl _create__9dMeter2_cFv -/* 80225BA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80225BA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225BAC 7C 08 03 A6 */ mtlr r0 -/* 80225BB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80225BB4 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/emphasisButtonDelete__9dMeter2_cFv.s b/asm/d/meter/d_meter2/emphasisButtonDelete__9dMeter2_cFv.s deleted file mode 100644 index 5be9cbb56c..0000000000 --- a/asm/d/meter/d_meter2/emphasisButtonDelete__9dMeter2_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8021F6EC: -/* 8021F6EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8021F6F0 7C 08 02 A6 */ mflr r0 -/* 8021F6F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8021F6F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8021F6FC 93 C1 00 08 */ stw r30, 8(r1) -/* 8021F700 7C 7E 1B 78 */ mr r30, r3 -/* 8021F704 80 03 01 18 */ lwz r0, 0x118(r3) -/* 8021F708 28 00 00 00 */ cmplwi r0, 0 -/* 8021F70C 41 82 00 58 */ beq lbl_8021F764 -/* 8021F710 38 60 00 08 */ li r3, 8 -/* 8021F714 4B E0 EC BD */ bl dComIfGp_getSubHeap2D__Fi -/* 8021F718 7C 7F 1B 78 */ mr r31, r3 -/* 8021F71C 80 7E 01 18 */ lwz r3, 0x118(r30) -/* 8021F720 4B FE A5 CD */ bl hideAll__14dMeterButton_cFv -/* 8021F724 28 1F 00 00 */ cmplwi r31, 0 -/* 8021F728 41 82 00 3C */ beq lbl_8021F764 -/* 8021F72C 80 7E 01 18 */ lwz r3, 0x118(r30) -/* 8021F730 28 03 00 00 */ cmplwi r3, 0 -/* 8021F734 41 82 00 18 */ beq lbl_8021F74C -/* 8021F738 38 80 00 01 */ li r4, 1 -/* 8021F73C 81 83 00 00 */ lwz r12, 0(r3) -/* 8021F740 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8021F744 7D 89 03 A6 */ mtctr r12 -/* 8021F748 4E 80 04 21 */ bctrl -lbl_8021F74C: -/* 8021F74C 38 00 00 00 */ li r0, 0 -/* 8021F750 90 1E 01 18 */ stw r0, 0x118(r30) -/* 8021F754 7F E3 FB 78 */ mr r3, r31 -/* 8021F758 48 0A EE 75 */ bl freeAll__7JKRHeapFv -/* 8021F75C 38 60 00 08 */ li r3, 8 -/* 8021F760 4B E0 EA 29 */ bl dComIfGp_offHeapLockFlag__Fi -lbl_8021F764: -/* 8021F764 38 60 00 01 */ li r3, 1 -/* 8021F768 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8021F76C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8021F770 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8021F774 7C 08 03 A6 */ mtlr r0 -/* 8021F778 38 21 00 10 */ addi r1, r1, 0x10 -/* 8021F77C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/isArrowEquip__9dMeter2_cFv.s b/asm/d/meter/d_meter2/isArrowEquip__9dMeter2_cFv.s deleted file mode 100644 index ea3c6bd7ff..0000000000 --- a/asm/d/meter/d_meter2/isArrowEquip__9dMeter2_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802259F8: -/* 802259F8 38 A0 00 00 */ li r5, 0 -/* 802259FC 38 80 00 00 */ li r4, 0 -/* 80225A00 38 00 00 02 */ li r0, 2 -/* 80225A04 7C 09 03 A6 */ mtctr r0 -lbl_80225A08: -/* 80225A08 38 04 01 D2 */ addi r0, r4, 0x1d2 -/* 80225A0C 7C 03 00 AE */ lbzx r0, r3, r0 -/* 80225A10 28 00 00 43 */ cmplwi r0, 0x43 -/* 80225A14 41 82 00 34 */ beq lbl_80225A48 -/* 80225A18 28 00 00 53 */ cmplwi r0, 0x53 -/* 80225A1C 41 82 00 2C */ beq lbl_80225A48 -/* 80225A20 28 00 00 54 */ cmplwi r0, 0x54 -/* 80225A24 41 82 00 24 */ beq lbl_80225A48 -/* 80225A28 28 00 00 55 */ cmplwi r0, 0x55 -/* 80225A2C 41 82 00 1C */ beq lbl_80225A48 -/* 80225A30 28 00 00 56 */ cmplwi r0, 0x56 -/* 80225A34 41 82 00 14 */ beq lbl_80225A48 -/* 80225A38 28 00 00 5A */ cmplwi r0, 0x5a -/* 80225A3C 41 82 00 0C */ beq lbl_80225A48 -/* 80225A40 28 00 00 59 */ cmplwi r0, 0x59 -/* 80225A44 40 82 00 0C */ bne lbl_80225A50 -lbl_80225A48: -/* 80225A48 38 65 00 01 */ addi r3, r5, 1 -/* 80225A4C 4E 80 00 20 */ blr -lbl_80225A50: -/* 80225A50 38 A5 00 01 */ addi r5, r5, 1 -/* 80225A54 38 84 00 02 */ addi r4, r4, 2 -/* 80225A58 42 00 FF B0 */ bdnz lbl_80225A08 -/* 80225A5C 38 60 00 00 */ li r3, 0 -/* 80225A60 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/isPachinkoEquip__9dMeter2_cFv.s b/asm/d/meter/d_meter2/isPachinkoEquip__9dMeter2_cFv.s deleted file mode 100644 index 41e87dfe40..0000000000 --- a/asm/d/meter/d_meter2/isPachinkoEquip__9dMeter2_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80225A64: -/* 80225A64 38 A0 00 00 */ li r5, 0 -/* 80225A68 38 80 00 00 */ li r4, 0 -/* 80225A6C 38 00 00 02 */ li r0, 2 -/* 80225A70 7C 09 03 A6 */ mtctr r0 -lbl_80225A74: -/* 80225A74 38 04 01 D2 */ addi r0, r4, 0x1d2 -/* 80225A78 7C 03 00 AE */ lbzx r0, r3, r0 -/* 80225A7C 28 00 00 4B */ cmplwi r0, 0x4b -/* 80225A80 40 82 00 0C */ bne lbl_80225A8C -/* 80225A84 38 65 00 01 */ addi r3, r5, 1 -/* 80225A88 4E 80 00 20 */ blr -lbl_80225A8C: -/* 80225A8C 38 A5 00 01 */ addi r5, r5, 1 -/* 80225A90 38 84 00 02 */ addi r4, r4, 2 -/* 80225A94 42 00 FF E0 */ bdnz lbl_80225A74 -/* 80225A98 38 60 00 00 */ li r3, 0 -/* 80225A9C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/isShowLightDrop__9dMeter2_cFv.s b/asm/d/meter/d_meter2/isShowLightDrop__9dMeter2_cFv.s deleted file mode 100644 index d614323230..0000000000 --- a/asm/d/meter/d_meter2/isShowLightDrop__9dMeter2_cFv.s +++ /dev/null @@ -1,122 +0,0 @@ -lbl_802256DC: -/* 802256DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802256E0 7C 08 02 A6 */ mflr r0 -/* 802256E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802256E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802256EC 93 C1 00 08 */ stw r30, 8(r1) -/* 802256F0 7C 7F 1B 78 */ mr r31, r3 -/* 802256F4 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 802256F8 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 802256FC 88 03 0F 24 */ lbz r0, 0xf24(r3) -/* 80225700 28 00 00 00 */ cmplwi r0, 0 -/* 80225704 40 82 01 80 */ bne lbl_80225884 -/* 80225708 80 1F 01 24 */ lwz r0, 0x124(r31) -/* 8022570C 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 -/* 80225710 40 82 01 6C */ bne lbl_8022587C -/* 80225714 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80225718 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8022571C 38 7E 01 14 */ addi r3, r30, 0x114 -/* 80225720 88 9E 4E 0C */ lbz r4, 0x4e0c(r30) -/* 80225724 4B E0 EC 79 */ bl isLightDropGetFlag__16dSv_light_drop_cCFUc -/* 80225728 2C 03 00 00 */ cmpwi r3, 0 -/* 8022572C 41 82 01 50 */ beq lbl_8022587C -/* 80225730 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80225734 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80225738 88 1E 4E 0C */ lbz r0, 0x4e0c(r30) -/* 8022573C 7C 00 07 74 */ extsb r0, r0 -/* 80225740 7C 63 02 14 */ add r3, r3, r0 -/* 80225744 88 03 00 E3 */ lbz r0, 0xe3(r3) -/* 80225748 28 00 00 01 */ cmplwi r0, 1 -/* 8022574C 40 81 01 30 */ ble lbl_8022587C -/* 80225750 4B F8 6E 2D */ bl dKy_darkworld_check__Fv -/* 80225754 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80225758 41 82 01 24 */ beq lbl_8022587C -/* 8022575C 80 1F 01 24 */ lwz r0, 0x124(r31) -/* 80225760 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 80225764 41 82 00 30 */ beq lbl_80225794 -/* 80225768 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8022576C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80225770 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 80225774 28 00 00 00 */ cmplwi r0, 0 -/* 80225778 41 82 00 10 */ beq lbl_80225788 -/* 8022577C A0 03 4F A4 */ lhz r0, 0x4fa4(r3) -/* 80225780 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 -/* 80225784 48 00 00 08 */ b lbl_8022578C -lbl_80225788: -/* 80225788 38 00 00 00 */ li r0, 0 -lbl_8022578C: -/* 8022578C 54 00 04 3F */ clrlwi. r0, r0, 0x10 -/* 80225790 40 82 00 EC */ bne lbl_8022587C -lbl_80225794: -/* 80225794 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80225798 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8022579C 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 802257A0 38 00 00 00 */ li r0, 0 -/* 802257A4 88 64 05 6A */ lbz r3, 0x56a(r4) -/* 802257A8 28 03 00 00 */ cmplwi r3, 0 -/* 802257AC 41 82 00 10 */ beq lbl_802257BC -/* 802257B0 28 03 00 26 */ cmplwi r3, 0x26 -/* 802257B4 40 80 00 08 */ bge lbl_802257BC -/* 802257B8 38 00 00 01 */ li r0, 1 -lbl_802257BC: -/* 802257BC 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802257C0 40 82 00 BC */ bne lbl_8022587C -/* 802257C4 88 04 05 6A */ lbz r0, 0x56a(r4) -/* 802257C8 28 00 00 2D */ cmplwi r0, 0x2d -/* 802257CC 40 82 00 30 */ bne lbl_802257FC -/* 802257D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802257D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802257D8 3B C3 0F 38 */ addi r30, r3, 0xf38 -/* 802257DC 7F C3 F3 78 */ mr r3, r30 -/* 802257E0 4B E0 73 DD */ bl getTimerMode__14dComIfG_play_cFv -/* 802257E4 2C 03 00 03 */ cmpwi r3, 3 -/* 802257E8 41 82 00 94 */ beq lbl_8022587C -/* 802257EC 7F C3 F3 78 */ mr r3, r30 -/* 802257F0 4B E0 73 CD */ bl getTimerMode__14dComIfG_play_cFv -/* 802257F4 2C 03 00 04 */ cmpwi r3, 4 -/* 802257F8 41 82 00 84 */ beq lbl_8022587C -lbl_802257FC: -/* 802257FC 80 7F 01 24 */ lwz r3, 0x124(r31) -/* 80225800 54 60 00 43 */ rlwinm. r0, r3, 0, 1, 1 -/* 80225804 40 82 00 78 */ bne lbl_8022587C -/* 80225808 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 -/* 8022580C 40 82 00 70 */ bne lbl_8022587C -/* 80225810 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb -/* 80225814 40 82 00 68 */ bne lbl_8022587C -/* 80225818 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0 -/* 8022581C 40 82 00 60 */ bne lbl_8022587C -/* 80225820 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17 -/* 80225824 40 82 00 58 */ bne lbl_8022587C -/* 80225828 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 8022582C 40 82 00 50 */ bne lbl_8022587C -/* 80225830 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c -/* 80225834 40 82 00 48 */ bne lbl_8022587C -/* 80225838 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b -/* 8022583C 40 82 00 40 */ bne lbl_8022587C -/* 80225840 54 60 01 CF */ rlwinm. r0, r3, 0, 7, 7 -/* 80225844 40 82 00 38 */ bne lbl_8022587C -/* 80225848 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 8022584C 40 82 00 30 */ bne lbl_8022587C -/* 80225850 54 60 01 4B */ rlwinm. r0, r3, 0, 5, 5 -/* 80225854 40 82 00 28 */ bne lbl_8022587C -/* 80225858 54 60 01 09 */ rlwinm. r0, r3, 0, 4, 4 -/* 8022585C 40 82 00 20 */ bne lbl_8022587C -/* 80225860 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3 -/* 80225864 40 82 00 18 */ bne lbl_8022587C -/* 80225868 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8022586C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80225870 A0 03 00 A2 */ lhz r0, 0xa2(r3) -/* 80225874 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80225878 41 82 00 0C */ beq lbl_80225884 -lbl_8022587C: -/* 8022587C 38 60 00 00 */ li r3, 0 -/* 80225880 48 00 00 08 */ b lbl_80225888 -lbl_80225884: -/* 80225884 38 60 00 01 */ li r3, 1 -lbl_80225888: -/* 80225888 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8022588C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80225890 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225894 7C 08 03 A6 */ mtlr r0 -/* 80225898 38 21 00 10 */ addi r1, r1, 0x10 -/* 8022589C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/killSubContents__9dMeter2_cFUc.s b/asm/d/meter/d_meter2/killSubContents__9dMeter2_cFUc.s deleted file mode 100644 index 456bbe1d98..0000000000 --- a/asm/d/meter/d_meter2/killSubContents__9dMeter2_cFUc.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_802258A0: -/* 802258A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802258A4 7C 08 02 A6 */ mflr r0 -/* 802258A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802258AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802258B0 7C 7F 1B 78 */ mr r31, r3 -/* 802258B4 88 63 01 E5 */ lbz r3, 0x1e5(r3) -/* 802258B8 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802258BC 7C 03 00 40 */ cmplw r3, r0 -/* 802258C0 41 82 00 8C */ beq lbl_8022594C -/* 802258C4 28 03 00 00 */ cmplwi r3, 0 -/* 802258C8 41 82 00 84 */ beq lbl_8022594C -/* 802258CC 38 00 00 00 */ li r0, 0 -/* 802258D0 80 7F 01 10 */ lwz r3, 0x110(r31) -/* 802258D4 28 03 00 00 */ cmplwi r3, 0 -/* 802258D8 41 82 00 28 */ beq lbl_80225900 -/* 802258DC 41 82 00 18 */ beq lbl_802258F4 -/* 802258E0 38 80 00 01 */ li r4, 1 -/* 802258E4 81 83 00 00 */ lwz r12, 0(r3) -/* 802258E8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802258EC 7D 89 03 A6 */ mtctr r12 -/* 802258F0 4E 80 04 21 */ bctrl -lbl_802258F4: -/* 802258F4 38 00 00 00 */ li r0, 0 -/* 802258F8 90 1F 01 10 */ stw r0, 0x110(r31) -/* 802258FC 38 00 00 01 */ li r0, 1 -lbl_80225900: -/* 80225900 80 7F 01 14 */ lwz r3, 0x114(r31) -/* 80225904 28 03 00 00 */ cmplwi r3, 0 -/* 80225908 41 82 00 28 */ beq lbl_80225930 -/* 8022590C 41 82 00 18 */ beq lbl_80225924 -/* 80225910 38 80 00 01 */ li r4, 1 -/* 80225914 81 83 00 00 */ lwz r12, 0(r3) -/* 80225918 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8022591C 7D 89 03 A6 */ mtctr r12 -/* 80225920 4E 80 04 21 */ bctrl -lbl_80225924: -/* 80225924 38 00 00 00 */ li r0, 0 -/* 80225928 90 1F 01 14 */ stw r0, 0x114(r31) -/* 8022592C 38 00 00 01 */ li r0, 1 -lbl_80225930: -/* 80225930 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80225934 41 82 00 0C */ beq lbl_80225940 -/* 80225938 80 7F 01 04 */ lwz r3, 0x104(r31) -/* 8022593C 48 0A 8C 91 */ bl freeAll__7JKRHeapFv -lbl_80225940: -/* 80225940 38 00 00 00 */ li r0, 0 -/* 80225944 98 1F 01 E5 */ stb r0, 0x1e5(r31) -/* 80225948 B0 1F 01 B6 */ sth r0, 0x1b6(r31) -lbl_8022594C: -/* 8022594C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80225950 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80225954 7C 08 03 A6 */ mtlr r0 -/* 80225958 38 21 00 10 */ addi r1, r1, 0x10 -/* 8022595C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/moveButtonC__9dMeter2_cFv.s b/asm/d/meter/d_meter2/moveButtonC__9dMeter2_cFv.s deleted file mode 100644 index 74359831c5..0000000000 --- a/asm/d/meter/d_meter2/moveButtonC__9dMeter2_cFv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_80222364: -/* 80222364 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80222368 7C 08 02 A6 */ mflr r0 -/* 8022236C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80222370 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80222374 93 C1 00 08 */ stw r30, 8(r1) -/* 80222378 7C 7E 1B 78 */ mr r30, r3 -/* 8022237C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80222380 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80222384 88 A3 5E 3F */ lbz r5, 0x5e3f(r3) -/* 80222388 28 05 00 00 */ cmplwi r5, 0 -/* 8022238C 41 82 00 28 */ beq lbl_802223B4 -/* 80222390 88 03 5E 59 */ lbz r0, 0x5e59(r3) -/* 80222394 88 83 5E 31 */ lbz r4, 0x5e31(r3) -/* 80222398 98 A3 5E 2F */ stb r5, 0x5e2f(r3) -/* 8022239C 98 83 5E 30 */ stb r4, 0x5e30(r3) -/* 802223A0 98 03 5E 4C */ stb r0, 0x5e4c(r3) -/* 802223A4 38 00 00 00 */ li r0, 0 -/* 802223A8 98 03 5E 3F */ stb r0, 0x5e3f(r3) -/* 802223AC 98 03 5E 31 */ stb r0, 0x5e31(r3) -/* 802223B0 98 03 5E 59 */ stb r0, 0x5e59(r3) -lbl_802223B4: -/* 802223B4 88 9E 01 CB */ lbz r4, 0x1cb(r30) -/* 802223B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802223BC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802223C0 88 1F 5E 2F */ lbz r0, 0x5e2f(r31) -/* 802223C4 7C 04 00 40 */ cmplw r4, r0 -/* 802223C8 40 82 00 74 */ bne lbl_8022243C -/* 802223CC 80 9E 01 AC */ lwz r4, 0x1ac(r30) -/* 802223D0 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 802223D4 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 802223D8 A0 03 00 AE */ lhz r0, 0xae(r3) -/* 802223DC 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f -/* 802223E0 7C 04 00 00 */ cmpw r4, r0 -/* 802223E4 40 82 00 58 */ bne lbl_8022243C -/* 802223E8 80 7E 01 0C */ lwz r3, 0x10c(r30) -/* 802223EC 88 83 07 66 */ lbz r4, 0x766(r3) -/* 802223F0 20 04 00 07 */ subfic r0, r4, 7 -/* 802223F4 7C 00 00 34 */ cntlzw r0, r0 -/* 802223F8 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f -/* 802223FC 41 82 00 10 */ beq lbl_8022240C -/* 80222400 88 1F 5E 4C */ lbz r0, 0x5e4c(r31) -/* 80222404 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80222408 41 82 00 34 */ beq lbl_8022243C -lbl_8022240C: -/* 8022240C 28 04 00 07 */ cmplwi r4, 7 -/* 80222410 41 82 00 18 */ beq lbl_80222428 -/* 80222414 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80222418 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8022241C 88 04 5E 4C */ lbz r0, 0x5e4c(r4) -/* 80222420 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80222424 40 82 00 18 */ bne lbl_8022243C -lbl_80222428: -/* 80222428 4B FF 99 A9 */ bl getButtonTimer__13dMeter2Draw_cFv -/* 8022242C 7C 63 07 34 */ extsh r3, r3 -/* 80222430 A8 1E 01 9A */ lha r0, 0x19a(r30) -/* 80222434 7C 00 18 00 */ cmpw r0, r3 -/* 80222438 41 82 00 44 */ beq lbl_8022247C -lbl_8022243C: -/* 8022243C 80 7E 01 0C */ lwz r3, 0x10c(r30) -/* 80222440 4B FF 99 91 */ bl getButtonTimer__13dMeter2Draw_cFv -/* 80222444 B0 7E 01 9A */ sth r3, 0x19a(r30) -/* 80222448 88 1F 5E 2F */ lbz r0, 0x5e2f(r31) -/* 8022244C 98 1E 01 CB */ stb r0, 0x1cb(r30) -/* 80222450 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80222454 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80222458 A0 03 00 AE */ lhz r0, 0xae(r3) -/* 8022245C 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f -/* 80222460 90 1E 01 AC */ stw r0, 0x1ac(r30) -/* 80222464 80 7E 01 0C */ lwz r3, 0x10c(r30) -/* 80222468 88 9E 01 CB */ lbz r4, 0x1cb(r30) -/* 8022246C 80 1E 01 28 */ lwz r0, 0x128(r30) -/* 80222470 7C 00 00 34 */ cntlzw r0, r0 -/* 80222474 54 05 D9 7E */ srwi r5, r0, 5 -/* 80222478 4B FF 54 DD */ bl drawButtonC__13dMeter2Draw_cFUcb -lbl_8022247C: -/* 8022247C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80222480 83 C1 00 08 */ lwz r30, 8(r1) -/* 80222484 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80222488 7C 08 03 A6 */ mtlr r0 -/* 8022248C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80222490 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/moveButtonS__9dMeter2_cFv.s b/asm/d/meter/d_meter2/moveButtonS__9dMeter2_cFv.s deleted file mode 100644 index f4ab09b118..0000000000 --- a/asm/d/meter/d_meter2/moveButtonS__9dMeter2_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80222494: -/* 80222494 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80222498 7C 08 02 A6 */ mflr r0 -/* 8022249C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802224A0 7C 65 1B 78 */ mr r5, r3 -/* 802224A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802224A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802224AC 88 83 5E 40 */ lbz r4, 0x5e40(r3) -/* 802224B0 28 04 00 00 */ cmplwi r4, 0 -/* 802224B4 41 82 00 20 */ beq lbl_802224D4 -/* 802224B8 88 03 5E 5A */ lbz r0, 0x5e5a(r3) -/* 802224BC 98 83 5E 32 */ stb r4, 0x5e32(r3) -/* 802224C0 98 03 5E 4D */ stb r0, 0x5e4d(r3) -/* 802224C4 38 00 00 00 */ li r0, 0 -/* 802224C8 98 03 5E 40 */ stb r0, 0x5e40(r3) -/* 802224CC 98 03 5E 5A */ stb r0, 0x5e5a(r3) -/* 802224D0 48 00 00 10 */ b lbl_802224E0 -lbl_802224D4: -/* 802224D4 38 00 00 00 */ li r0, 0 -/* 802224D8 98 03 5E 32 */ stb r0, 0x5e32(r3) -/* 802224DC 98 03 5E 4D */ stb r0, 0x5e4d(r3) -lbl_802224E0: -/* 802224E0 88 05 01 CC */ lbz r0, 0x1cc(r5) -/* 802224E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802224E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802224EC 88 63 5E 32 */ lbz r3, 0x5e32(r3) -/* 802224F0 7C 00 18 40 */ cmplw r0, r3 -/* 802224F4 41 82 00 14 */ beq lbl_80222508 -/* 802224F8 98 65 01 CC */ stb r3, 0x1cc(r5) -/* 802224FC 80 65 01 0C */ lwz r3, 0x10c(r5) -/* 80222500 88 85 01 CC */ lbz r4, 0x1cc(r5) -/* 80222504 4B FF 54 BD */ bl drawButtonS__13dMeter2Draw_cFUc -lbl_80222508: -/* 80222508 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8022250C 7C 08 03 A6 */ mtlr r0 -/* 80222510 38 21 00 10 */ addi r1, r1, 0x10 -/* 80222514 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2/moveSubContents__9dMeter2_cFv.s b/asm/d/meter/d_meter2/moveSubContents__9dMeter2_cFv.s deleted file mode 100644 index bfea48b3ac..0000000000 --- a/asm/d/meter/d_meter2/moveSubContents__9dMeter2_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_802230FC: -/* 802230FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80223100 7C 08 02 A6 */ mflr r0 -/* 80223104 90 01 00 14 */ stw r0, 0x14(r1) -/* 80223108 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8022310C 93 C1 00 08 */ stw r30, 8(r1) -/* 80223110 7C 7E 1B 78 */ mr r30, r3 -/* 80223114 80 63 01 04 */ lwz r3, 0x104(r3) -/* 80223118 4B DE C0 B5 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8022311C 7C 7F 1B 78 */ mr r31, r3 -/* 80223120 7F C3 F3 78 */ mr r3, r30 -/* 80223124 48 00 06 B1 */ bl checkSubContents__9dMeter2_cFv -/* 80223128 80 7E 01 10 */ lwz r3, 0x110(r30) -/* 8022312C 28 03 00 00 */ cmplwi r3, 0 -/* 80223130 41 82 00 18 */ beq lbl_80223148 -/* 80223134 80 9E 01 24 */ lwz r4, 0x124(r30) -/* 80223138 81 83 00 00 */ lwz r12, 0(r3) -/* 8022313C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80223140 7D 89 03 A6 */ mtctr r12 -/* 80223144 4E 80 04 21 */ bctrl -lbl_80223148: -/* 80223148 80 1E 01 14 */ lwz r0, 0x114(r30) -/* 8022314C 28 00 00 00 */ cmplwi r0, 0 -/* 80223150 41 82 00 58 */ beq lbl_802231A8 -/* 80223154 88 1E 01 E5 */ lbz r0, 0x1e5(r30) -/* 80223158 28 00 00 05 */ cmplwi r0, 5 -/* 8022315C 40 82 00 34 */ bne lbl_80223190 -/* 80223160 A0 1E 01 B6 */ lhz r0, 0x1b6(r30) -/* 80223164 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80223168 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8022316C 80 63 00 8C */ lwz r3, 0x8c(r3) -/* 80223170 7C 00 18 00 */ cmpw r0, r3 -/* 80223174 41 82 00 1C */ beq lbl_80223190 -/* 80223178 B0 7E 01 B6 */ sth r3, 0x1b6(r30) -/* 8022317C A0 9E 01 B6 */ lhz r4, 0x1b6(r30) -/* 80223180 28 04 00 00 */ cmplwi r4, 0 -/* 80223184 41 82 00 0C */ beq lbl_80223190 -/* 80223188 80 7E 01 14 */ lwz r3, 0x114(r30) -/* 8022318C 4B FE C4 19 */ bl createString__14dMeterString_cFi -lbl_80223190: -/* 80223190 80 7E 01 14 */ lwz r3, 0x114(r30) -/* 80223194 80 9E 01 24 */ lwz r4, 0x124(r30) -/* 80223198 81 83 00 00 */ lwz r12, 0(r3) -/* 8022319C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802231A0 7D 89 03 A6 */ mtctr r12 -/* 802231A4 4E 80 04 21 */ bctrl -lbl_802231A8: -/* 802231A8 7F E3 FB 78 */ mr r3, r31 -/* 802231AC 4B DE C0 21 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 802231B0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802231B4 83 C1 00 08 */ lwz r30, 8(r1) -/* 802231B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802231BC 7C 08 03 A6 */ mtlr r0 -/* 802231C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802231C4 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__ct__22dScnPly_env_otherHIO_cFv.s b/asm/d/s/d_s_play/__ct__22dScnPly_env_otherHIO_cFv.s deleted file mode 100644 index b5c593eadf..0000000000 --- a/asm/d/s/d_s_play/__ct__22dScnPly_env_otherHIO_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80259440: -/* 80259440 3C 80 80 3C */ lis r4, __vt__22dScnPly_env_otherHIO_c@ha /* 0x803C3230@ha */ -/* 80259444 38 04 32 30 */ addi r0, r4, __vt__22dScnPly_env_otherHIO_c@l /* 0x803C3230@l */ -/* 80259448 90 03 00 00 */ stw r0, 0(r3) -/* 8025944C C0 02 B5 1C */ lfs f0, lit_4055(r2) -/* 80259450 D0 03 00 04 */ stfs f0, 4(r3) -/* 80259454 38 00 00 01 */ li r0, 1 -/* 80259458 98 03 00 08 */ stb r0, 8(r3) -/* 8025945C 38 00 00 00 */ li r0, 0 -/* 80259460 98 03 00 0A */ stb r0, 0xa(r3) -/* 80259464 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/calcPauseTimer__9dScnPly_cFv.s b/asm/d/s/d_s_play/calcPauseTimer__9dScnPly_cFv.s deleted file mode 100644 index 3db2898fa5..0000000000 --- a/asm/d/s/d_s_play/calcPauseTimer__9dScnPly_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80259400: -/* 80259400 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80259404 7C 08 02 A6 */ mflr r0 -/* 80259408 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025940C 88 6D 8B A5 */ lbz r3, struct_80451124+0x1(r13) -/* 80259410 7C 60 07 75 */ extsb. r0, r3 -/* 80259414 41 82 00 14 */ beq lbl_80259428 -/* 80259418 98 6D 8B A4 */ stb r3, struct_80451124+0x0(r13) -/* 8025941C 38 00 00 00 */ li r0, 0 -/* 80259420 98 0D 8B A5 */ stb r0, struct_80451124+0x1(r13) -/* 80259424 48 00 00 0C */ b lbl_80259430 -lbl_80259428: -/* 80259428 38 6D 8B A4 */ la r3, struct_80451124+0x0(r13) /* 80451124-_SDA_BASE_ */ -/* 8025942C 4B FF 9A 45 */ bl func_80252E70 -lbl_80259430: -/* 80259430 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80259434 7C 08 03 A6 */ mtlr r0 -/* 80259438 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025943C 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/dScnPly_Execute__FP9dScnPly_c.s b/asm/d/s/d_s_play/dScnPly_Execute__FP9dScnPly_c.s deleted file mode 100644 index 47ddce9b8f..0000000000 --- a/asm/d/s/d_s_play/dScnPly_Execute__FP9dScnPly_c.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_802597B8: -/* 802597B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802597BC 7C 08 02 A6 */ mflr r0 -/* 802597C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802597C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802597C8 7C 7F 1B 78 */ mr r31, r3 -/* 802597CC 48 00 04 31 */ bl offReset__9dScnPly_cFv -/* 802597D0 38 00 00 00 */ li r0, 0 -/* 802597D4 98 0D 87 E8 */ stb r0, data_80450D68(r13) -/* 802597D8 38 00 FF FF */ li r0, -1 -/* 802597DC 98 0D 80 70 */ stb r0, data_804505F0(r13) -/* 802597E0 4B DC 4D 79 */ bl fopOvlpM_IsPeek__Fv -/* 802597E4 2C 03 00 00 */ cmpwi r3, 0 -/* 802597E8 40 82 00 48 */ bne lbl_80259830 -/* 802597EC 88 0D 86 3A */ lbz r0, struct_80450BB8+0x2(r13) -/* 802597F0 28 00 00 00 */ cmplwi r0, 0 -/* 802597F4 41 82 00 24 */ beq lbl_80259818 -/* 802597F8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 802597FC 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 80259800 48 06 0A 95 */ bl sceneBgmStart__10Z2SceneMgrFv -/* 80259804 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80259808 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 8025980C 48 06 09 15 */ bl load2ndDynamicWave__10Z2SceneMgrFv -/* 80259810 38 00 00 00 */ li r0, 0 -/* 80259814 98 0D 86 3A */ stb r0, struct_80450BB8+0x2(r13) -lbl_80259818: -/* 80259818 7F E3 FB 78 */ mr r3, r31 -/* 8025981C 4B FF FB E5 */ bl calcPauseTimer__9dScnPly_cFv -/* 80259820 7C 60 07 75 */ extsb. r0, r3 -/* 80259824 41 82 00 0C */ beq lbl_80259830 -/* 80259828 38 60 00 01 */ li r3, 1 -/* 8025982C 48 00 00 3C */ b lbl_80259868 -lbl_80259830: -/* 80259830 4B F4 F2 A9 */ bl dKy_itudemo_se__Fv -/* 80259834 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259838 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025983C 88 03 5E B5 */ lbz r0, 0x5eb5(r3) -/* 80259840 28 00 00 00 */ cmplwi r0, 0 -/* 80259844 40 82 00 20 */ bne lbl_80259864 -/* 80259848 4B DE 05 5D */ bl update__7dDemo_cFv -/* 8025984C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259850 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259854 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80259858 4B DE 93 65 */ bl Step__14dEvt_control_cFv -/* 8025985C 38 7F 56 B8 */ addi r3, r31, 0x56b8 -/* 80259860 4B E1 90 C5 */ bl Run__12dAttention_cFv -lbl_80259864: -/* 80259864 38 60 00 01 */ li r3, 1 -lbl_80259868: -/* 80259868 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025986C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80259870 7C 08 03 A6 */ mtlr r0 -/* 80259874 38 21 00 10 */ addi r1, r1, 0x10 -/* 80259878 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/dScnPly_IsDelete__F9dScnPly_c.s b/asm/d/s/d_s_play/dScnPly_IsDelete__F9dScnPly_c.s deleted file mode 100644 index ac846f4e5b..0000000000 --- a/asm/d/s/d_s_play/dScnPly_IsDelete__F9dScnPly_c.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8025987C: -/* 8025987C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80259880 7C 08 02 A6 */ mflr r0 -/* 80259884 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259888 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025988C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259890 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 80259894 4B DF 27 C1 */ bl cleanup__13dPa_control_cFv -/* 80259898 38 60 00 01 */ li r3, 1 -/* 8025989C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802598A0 7C 08 03 A6 */ mtlr r0 -/* 802598A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802598A8 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/offReset__9dScnPly_cFv.s b/asm/d/s/d_s_play/offReset__9dScnPly_cFv.s deleted file mode 100644 index b327265a88..0000000000 --- a/asm/d/s/d_s_play/offReset__9dScnPly_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80259BFC: -/* 80259BFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80259C00 7C 08 02 A6 */ mflr r0 -/* 80259C04 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259C08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80259C0C 7C 7F 1B 78 */ mr r31, r3 -/* 80259C10 88 03 01 D4 */ lbz r0, 0x1d4(r3) -/* 80259C14 28 00 00 00 */ cmplwi r0, 0 -/* 80259C18 41 82 00 44 */ beq lbl_80259C5C -/* 80259C1C 4B DC 49 3D */ bl fopOvlpM_IsPeek__Fv -/* 80259C20 2C 03 00 00 */ cmpwi r3, 0 -/* 80259C24 40 82 00 38 */ bne lbl_80259C5C -/* 80259C28 38 80 00 00 */ li r4, 0 -/* 80259C2C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80259C30 90 83 00 00 */ stw r4, 0(r3) -/* 80259C34 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80259C38 90 83 00 04 */ stw r4, 4(r3) -/* 80259C3C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80259C40 90 83 00 04 */ stw r4, 4(r3) -/* 80259C44 98 8D 8F 81 */ stb r4, struct_80451500+0x1(r13) -/* 80259C48 3C 60 80 01 */ lis r3, mDoRst_resetCallBack__FiPv@ha /* 0x8001574C@ha */ -/* 80259C4C 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack__FiPv@l /* 0x8001574C@l */ -/* 80259C50 90 0D 8F 6C */ stw r0, sCallback__Q210JUTGamePad13C3ButtonReset(r13) -/* 80259C54 90 8D 8F 70 */ stw r4, sCallbackArg__Q210JUTGamePad13C3ButtonReset(r13) -/* 80259C58 98 9F 01 D4 */ stb r4, 0x1d4(r31) -lbl_80259C5C: -/* 80259C5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80259C60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80259C64 7C 08 03 A6 */ mtlr r0 -/* 80259C68 38 21 00 10 */ addi r1, r1, 0x10 -/* 80259C6C 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_00__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_00__FP9dScnPly_c.s deleted file mode 100644 index bbc8cbe06d..0000000000 --- a/asm/d/s/d_s_play/phase_00__FP9dScnPly_c.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80259C70: -/* 80259C70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80259C74 7C 08 02 A6 */ mflr r0 -/* 80259C78 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259C7C 4B FF FE 49 */ bl resetGame__9dScnPly_cFv -/* 80259C80 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80259C84 40 82 00 0C */ bne lbl_80259C90 -/* 80259C88 38 60 00 00 */ li r3, 0 -/* 80259C8C 48 00 00 10 */ b lbl_80259C9C -lbl_80259C90: -/* 80259C90 38 00 00 00 */ li r0, 0 -/* 80259C94 98 0D 86 64 */ stb r0, struct_80450BE4+0x0(r13) -/* 80259C98 38 60 00 02 */ li r3, 2 -lbl_80259C9C: -/* 80259C9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80259CA0 7C 08 03 A6 */ mtlr r0 -/* 80259CA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80259CA8 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_01__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_01__FP9dScnPly_c.s deleted file mode 100644 index 88f9b78489..0000000000 --- a/asm/d/s/d_s_play/phase_01__FP9dScnPly_c.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80259CAC: -/* 80259CAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80259CB0 7C 08 02 A6 */ mflr r0 -/* 80259CB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259CB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80259CBC 93 C1 00 08 */ stw r30, 8(r1) -/* 80259CC0 4B F4 5D 51 */ bl dKy_getdaytime_hour__Fv -/* 80259CC4 80 8D 8D E8 */ lwz r4, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80259CC8 98 64 04 C4 */ stb r3, 0x4c4(r4) -/* 80259CCC 4B F4 5D 71 */ bl dKy_getdaytime_minute__Fv -/* 80259CD0 80 8D 8D E8 */ lwz r4, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80259CD4 98 64 04 C5 */ stb r3, 0x4c5(r4) -/* 80259CD8 4B F4 EE 61 */ bl dKy_get_dayofweek__Fv -/* 80259CDC 80 8D 8D E8 */ lwz r4, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80259CE0 98 64 04 C6 */ stb r3, 0x4c6(r4) -/* 80259CE4 4B F5 28 99 */ bl dKy_darkworld_check__Fv -/* 80259CE8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80259CEC 41 82 00 18 */ beq lbl_80259D04 -/* 80259CF0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80259CF4 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 80259CF8 38 80 00 01 */ li r4, 1 -/* 80259CFC 48 05 CB B5 */ bl setInDarkness__10Z2SceneMgrFb -/* 80259D00 48 00 00 14 */ b lbl_80259D14 -lbl_80259D04: -/* 80259D04 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80259D08 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 80259D0C 38 80 00 00 */ li r4, 0 -/* 80259D10 48 05 CB A1 */ bl setInDarkness__10Z2SceneMgrFb -lbl_80259D14: -/* 80259D14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259D18 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259D1C 88 05 4E 0A */ lbz r0, 0x4e0a(r5) -/* 80259D20 7C 1F 07 74 */ extsb r31, r0 -/* 80259D24 3B C5 4E 00 */ addi r30, r5, 0x4e00 -/* 80259D28 7F C3 F3 78 */ mr r3, r30 -/* 80259D2C 7F E4 FB 78 */ mr r4, r31 -/* 80259D30 88 05 4E 0B */ lbz r0, 0x4e0b(r5) -/* 80259D34 7C 05 07 74 */ extsb r5, r0 -/* 80259D38 4B DD 2C 19 */ bl getLayerNo_common__14dComIfG_play_cFPCcii -/* 80259D3C 7C 65 1B 78 */ mr r5, r3 -/* 80259D40 7F C3 F3 78 */ mr r3, r30 -/* 80259D44 7F E4 FB 78 */ mr r4, r31 -/* 80259D48 4B DA D4 75 */ bl mDoAud_setSceneName__FPCcll -/* 80259D4C 4B DA D4 AD */ bl mDoAud_load1stDynamicWave__Fv -/* 80259D50 2C 03 00 00 */ cmpwi r3, 0 -/* 80259D54 40 82 00 0C */ bne lbl_80259D60 -/* 80259D58 38 60 00 00 */ li r3, 0 -/* 80259D5C 48 00 00 08 */ b lbl_80259D64 -lbl_80259D60: -/* 80259D60 38 60 00 02 */ li r3, 2 -lbl_80259D64: -/* 80259D64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80259D68 83 C1 00 08 */ lwz r30, 8(r1) -/* 80259D6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80259D70 7C 08 03 A6 */ mtlr r0 -/* 80259D74 38 21 00 10 */ addi r1, r1, 0x10 -/* 80259D78 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_1_0__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_1_0__FP9dScnPly_c.s deleted file mode 100644 index 595da3916c..0000000000 --- a/asm/d/s/d_s_play/phase_1_0__FP9dScnPly_c.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8025A438: -/* 8025A438 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025A43C 7C 08 02 A6 */ mflr r0 -/* 8025A440 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025A444 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025A448 3C 60 80 3A */ lis r3, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A44C 38 63 A2 D8 */ addi r3, r3, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A450 38 63 00 86 */ addi r3, r3, 0x86 -/* 8025A454 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A458 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A45C 3F E4 00 02 */ addis r31, r4, 2 -/* 8025A460 38 9F D4 F8 */ addi r4, r31, -11016 -/* 8025A464 38 A0 00 40 */ li r5, 0x40 -/* 8025A468 3B FF C2 F8 */ addi r31, r31, -15624 -/* 8025A46C 4B DE 1C F5 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci -/* 8025A470 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A474 41 82 00 0C */ beq lbl_8025A480 -/* 8025A478 38 60 00 00 */ li r3, 0 -/* 8025A47C 48 00 00 68 */ b lbl_8025A4E4 -lbl_8025A480: -/* 8025A480 4B DC C8 5D */ bl dStage_infoCreate__Fv -/* 8025A484 3C 60 80 3A */ lis r3, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A488 38 C3 A2 D8 */ addi r6, r3, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A48C 38 66 00 8D */ addi r3, r6, 0x8d -/* 8025A490 7F E4 FB 78 */ mr r4, r31 -/* 8025A494 38 A0 00 80 */ li r5, 0x80 -/* 8025A498 38 C6 00 93 */ addi r6, r6, 0x93 -/* 8025A49C 38 E0 00 00 */ li r7, 0 -/* 8025A4A0 39 00 00 00 */ li r8, 0 -/* 8025A4A4 4B DE 1B D5 */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap -/* 8025A4A8 3C 60 80 3C */ lis r3, camparamarc@ha /* 0x803C3188@ha */ -/* 8025A4AC 38 03 31 88 */ addi r0, r3, camparamarc@l /* 0x803C3188@l */ -/* 8025A4B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A4B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A4B8 90 03 5D 88 */ stw r0, 0x5d88(r3) -/* 8025A4BC 3C 60 80 3A */ lis r3, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A4C0 38 C3 A2 D8 */ addi r6, r3, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A4C4 38 66 00 A0 */ addi r3, r6, 0xa0 -/* 8025A4C8 7F E4 FB 78 */ mr r4, r31 -/* 8025A4CC 38 A0 00 80 */ li r5, 0x80 -/* 8025A4D0 38 C6 00 93 */ addi r6, r6, 0x93 -/* 8025A4D4 38 E0 00 00 */ li r7, 0 -/* 8025A4D8 39 00 00 00 */ li r8, 0 -/* 8025A4DC 4B DE 1B 9D */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap -/* 8025A4E0 38 60 00 02 */ li r3, 2 -lbl_8025A4E4: -/* 8025A4E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025A4E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025A4EC 7C 08 03 A6 */ mtlr r0 -/* 8025A4F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025A4F4 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_1__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_1__FP9dScnPly_c.s deleted file mode 100644 index 44d80394da..0000000000 --- a/asm/d/s/d_s_play/phase_1__FP9dScnPly_c.s +++ /dev/null @@ -1,457 +0,0 @@ -lbl_80259D84: -/* 80259D84 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80259D88 7C 08 02 A6 */ mflr r0 -/* 80259D8C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80259D90 39 61 00 20 */ addi r11, r1, 0x20 -/* 80259D94 48 10 84 49 */ bl _savegpr_29 -/* 80259D98 28 03 00 00 */ cmplwi r3, 0 -/* 80259D9C 41 82 00 0C */ beq lbl_80259DA8 -/* 80259DA0 80 03 00 04 */ lwz r0, 4(r3) -/* 80259DA4 48 00 00 08 */ b lbl_80259DAC -lbl_80259DA8: -/* 80259DA8 38 00 FF FF */ li r0, -1 -lbl_80259DAC: -/* 80259DAC 90 0D 87 E0 */ stw r0, mProcID__20dStage_roomControl_c(r13) -/* 80259DB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259DB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259DB8 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 80259DBC 38 9F 3E D6 */ addi r4, r31, 0x3ed6 -/* 80259DC0 7F E3 FB 78 */ mr r3, r31 -/* 80259DC4 4B DD 15 F5 */ bl setStartStage__14dComIfG_play_cFP19dStage_startStage_c -/* 80259DC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259DCC 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259DD0 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 80259DD4 7C 00 07 75 */ extsb. r0, r0 -/* 80259DD8 40 80 00 48 */ bge lbl_80259E20 -/* 80259DDC 4B F0 58 85 */ bl checkRoomRestartStart__9daPy_py_cFv -/* 80259DE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80259DE4 41 82 00 3C */ beq lbl_80259E20 -/* 80259DE8 38 7F 3E C8 */ addi r3, r31, 0x3ec8 -/* 80259DEC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259DF0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259DF4 88 04 4E 0A */ lbz r0, 0x4e0a(r4) -/* 80259DF8 7C 04 07 74 */ extsb r4, r0 -/* 80259DFC 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 80259E00 7C 05 07 74 */ extsb r5, r0 -/* 80259E04 4B DD 16 31 */ bl getLayerNo_common_common__14dComIfG_play_cFPCcii -/* 80259E08 2C 03 00 00 */ cmpwi r3, 0 -/* 80259E0C 40 80 00 14 */ bge lbl_80259E20 -/* 80259E10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259E14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259E18 88 03 5D 45 */ lbz r0, 0x5d45(r3) -/* 80259E1C 98 1E 4E 0B */ stb r0, 0x4e0b(r30) -lbl_80259E20: -/* 80259E20 38 00 00 00 */ li r0, 0 -/* 80259E24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259E28 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259E2C 98 03 4E 1C */ stb r0, 0x4e1c(r3) -/* 80259E30 3B BF 3E C8 */ addi r29, r31, 0x3ec8 -/* 80259E34 7F A3 EB 78 */ mr r3, r29 -/* 80259E38 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259E3C 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259E40 38 84 00 1F */ addi r4, r4, 0x1f -/* 80259E44 48 10 EB 51 */ bl strcmp -/* 80259E48 2C 03 00 00 */ cmpwi r3, 0 -/* 80259E4C 40 82 00 3C */ bne lbl_80259E88 -/* 80259E50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259E54 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259E58 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 80259E5C 2C 00 00 01 */ cmpwi r0, 1 -/* 80259E60 40 82 00 28 */ bne lbl_80259E88 -/* 80259E64 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 80259E68 2C 00 00 03 */ cmpwi r0, 3 -/* 80259E6C 40 82 00 1C */ bne lbl_80259E88 -/* 80259E70 38 63 00 28 */ addi r3, r3, 0x28 -/* 80259E74 38 80 00 00 */ li r4, 0 -/* 80259E78 4B DD 8D 1D */ bl onDarkClearLV__21dSv_player_status_b_cFi -/* 80259E7C 38 60 00 2F */ li r3, 0x2f -/* 80259E80 4B E3 E0 0D */ bl execItemGet__FUc -/* 80259E84 48 00 00 E4 */ b lbl_80259F68 -lbl_80259E88: -/* 80259E88 7F A3 EB 78 */ mr r3, r29 -/* 80259E8C 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259E90 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259E94 38 84 00 0F */ addi r4, r4, 0xf -/* 80259E98 48 10 EA FD */ bl strcmp -/* 80259E9C 2C 03 00 00 */ cmpwi r3, 0 -/* 80259EA0 40 82 00 34 */ bne lbl_80259ED4 -/* 80259EA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259EA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259EAC 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 80259EB0 7C 00 07 75 */ extsb. r0, r0 -/* 80259EB4 40 82 00 20 */ bne lbl_80259ED4 -/* 80259EB8 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 80259EBC 2C 00 00 1E */ cmpwi r0, 0x1e -/* 80259EC0 40 82 00 14 */ bne lbl_80259ED4 -/* 80259EC4 38 63 00 28 */ addi r3, r3, 0x28 -/* 80259EC8 38 80 00 01 */ li r4, 1 -/* 80259ECC 4B DD 8C C9 */ bl onDarkClearLV__21dSv_player_status_b_cFi -/* 80259ED0 48 00 00 98 */ b lbl_80259F68 -lbl_80259ED4: -/* 80259ED4 7F A3 EB 78 */ mr r3, r29 -/* 80259ED8 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259EDC 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259EE0 38 84 00 27 */ addi r4, r4, 0x27 -/* 80259EE4 48 10 EA B1 */ bl strcmp -/* 80259EE8 2C 03 00 00 */ cmpwi r3, 0 -/* 80259EEC 40 82 00 34 */ bne lbl_80259F20 -/* 80259EF0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259EF4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259EF8 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 80259EFC 2C 00 00 01 */ cmpwi r0, 1 -/* 80259F00 40 82 00 20 */ bne lbl_80259F20 -/* 80259F04 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 80259F08 2C 00 00 14 */ cmpwi r0, 0x14 -/* 80259F0C 40 82 00 14 */ bne lbl_80259F20 -/* 80259F10 38 63 00 28 */ addi r3, r3, 0x28 -/* 80259F14 38 80 00 02 */ li r4, 2 -/* 80259F18 4B DD 8C 7D */ bl onDarkClearLV__21dSv_player_status_b_cFi -/* 80259F1C 48 00 00 4C */ b lbl_80259F68 -lbl_80259F20: -/* 80259F20 7F A3 EB 78 */ mr r3, r29 -/* 80259F24 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259F28 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259F2C 38 84 00 2F */ addi r4, r4, 0x2f -/* 80259F30 48 10 EA 65 */ bl strcmp -/* 80259F34 2C 03 00 00 */ cmpwi r3, 0 -/* 80259F38 40 82 00 30 */ bne lbl_80259F68 -/* 80259F3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259F40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259F44 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 80259F48 2C 00 00 01 */ cmpwi r0, 1 -/* 80259F4C 40 82 00 1C */ bne lbl_80259F68 -/* 80259F50 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 80259F54 2C 00 00 63 */ cmpwi r0, 0x63 -/* 80259F58 40 82 00 10 */ bne lbl_80259F68 -/* 80259F5C 38 63 00 28 */ addi r3, r3, 0x28 -/* 80259F60 38 80 00 03 */ li r4, 3 -/* 80259F64 4B DD 8C 31 */ bl onDarkClearLV__21dSv_player_status_b_cFi -lbl_80259F68: -/* 80259F68 7F A3 EB 78 */ mr r3, r29 -/* 80259F6C 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259F70 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259F74 38 84 00 37 */ addi r4, r4, 0x37 -/* 80259F78 48 10 EA 1D */ bl strcmp -/* 80259F7C 2C 03 00 00 */ cmpwi r3, 0 -/* 80259F80 40 82 00 54 */ bne lbl_80259FD4 -/* 80259F84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259F88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259F8C 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 80259F90 2C 00 00 01 */ cmpwi r0, 1 -/* 80259F94 40 82 00 40 */ bne lbl_80259FD4 -/* 80259F98 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 80259F9C 2C 00 00 17 */ cmpwi r0, 0x17 -/* 80259FA0 40 82 00 34 */ bne lbl_80259FD4 -/* 80259FA4 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 80259FA8 2C 00 00 0C */ cmpwi r0, 0xc -/* 80259FAC 40 82 00 28 */ bne lbl_80259FD4 -/* 80259FB0 38 63 00 CC */ addi r3, r3, 0xcc -/* 80259FB4 38 80 00 84 */ li r4, 0x84 -/* 80259FB8 4B DD 9E A9 */ bl onFirstBit__21dSv_player_get_item_cFUc -/* 80259FBC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259FC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259FC4 38 63 00 9C */ addi r3, r3, 0x9c -/* 80259FC8 38 80 00 15 */ li r4, 0x15 -/* 80259FCC 38 A0 00 84 */ li r5, 0x84 -/* 80259FD0 4B DD 8F E9 */ bl setItem__17dSv_player_item_cFiUc -lbl_80259FD4: -/* 80259FD4 7F A3 EB 78 */ mr r3, r29 -/* 80259FD8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259FDC 3B E4 61 C0 */ addi r31, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259FE0 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 80259FE4 7C 04 07 74 */ extsb r4, r0 -/* 80259FE8 4B F5 27 25 */ bl dKy_darkworld_stage_check__FPCci -/* 80259FEC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80259FF0 28 00 00 01 */ cmplwi r0, 1 -/* 80259FF4 40 82 00 10 */ bne lbl_8025A004 -/* 80259FF8 38 60 00 01 */ li r3, 1 -/* 80259FFC 4B DD 55 09 */ bl dComIfGp_world_dark_set__FUc -/* 8025A000 48 00 00 34 */ b lbl_8025A034 -lbl_8025A004: -/* 8025A004 7F A3 EB 78 */ mr r3, r29 -/* 8025A008 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A00C 7C 04 07 74 */ extsb r4, r0 -/* 8025A010 4B F5 27 D1 */ bl dKy_darkworld_spot_check__FPCci -/* 8025A014 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8025A018 28 00 00 01 */ cmplwi r0, 1 -/* 8025A01C 40 82 00 10 */ bne lbl_8025A02C -/* 8025A020 38 60 00 02 */ li r3, 2 -/* 8025A024 4B DD 54 E1 */ bl dComIfGp_world_dark_set__FUc -/* 8025A028 48 00 00 0C */ b lbl_8025A034 -lbl_8025A02C: -/* 8025A02C 38 60 00 00 */ li r3, 0 -/* 8025A030 4B DD 54 D5 */ bl dComIfGp_world_dark_set__FUc -lbl_8025A034: -/* 8025A034 7F A3 EB 78 */ mr r3, r29 -/* 8025A038 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A03C 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A040 38 84 00 27 */ addi r4, r4, 0x27 -/* 8025A044 48 10 E9 51 */ bl strcmp -/* 8025A048 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A04C 40 82 00 38 */ bne lbl_8025A084 -/* 8025A050 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A054 7C 04 07 74 */ extsb r4, r0 -/* 8025A058 2C 04 00 01 */ cmpwi r4, 1 -/* 8025A05C 40 82 00 28 */ bne lbl_8025A084 -/* 8025A060 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 8025A064 7C 05 07 75 */ extsb. r5, r0 -/* 8025A068 40 80 00 1C */ bge lbl_8025A084 -/* 8025A06C 7F A3 EB 78 */ mr r3, r29 -/* 8025A070 4B DD 28 E1 */ bl getLayerNo_common__14dComIfG_play_cFPCcii -/* 8025A074 2C 03 00 09 */ cmpwi r3, 9 -/* 8025A078 40 82 00 0C */ bne lbl_8025A084 -/* 8025A07C 38 00 00 09 */ li r0, 9 -/* 8025A080 98 1E 4E 0B */ stb r0, 0x4e0b(r30) -lbl_8025A084: -/* 8025A084 7F A3 EB 78 */ mr r3, r29 -/* 8025A088 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A08C 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A090 38 84 00 1F */ addi r4, r4, 0x1f -/* 8025A094 48 10 E9 01 */ bl strcmp -/* 8025A098 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A09C 40 82 00 1C */ bne lbl_8025A0B8 -/* 8025A0A0 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A0A4 7C 00 07 75 */ extsb. r0, r0 -/* 8025A0A8 40 82 00 10 */ bne lbl_8025A0B8 -/* 8025A0AC 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 8025A0B0 2C 00 00 07 */ cmpwi r0, 7 -/* 8025A0B4 41 82 00 CC */ beq lbl_8025A180 -lbl_8025A0B8: -/* 8025A0B8 7F A3 EB 78 */ mr r3, r29 -/* 8025A0BC 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A0C0 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A0C4 38 84 00 3F */ addi r4, r4, 0x3f -/* 8025A0C8 48 10 E8 CD */ bl strcmp -/* 8025A0CC 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A0D0 40 82 00 14 */ bne lbl_8025A0E4 -/* 8025A0D4 38 60 00 00 */ li r3, 0 -/* 8025A0D8 4B DD 28 A5 */ bl getLayerNo__14dComIfG_play_cFi -/* 8025A0DC 2C 03 00 0E */ cmpwi r3, 0xe -/* 8025A0E0 41 82 00 A0 */ beq lbl_8025A180 -lbl_8025A0E4: -/* 8025A0E4 7F A3 EB 78 */ mr r3, r29 -/* 8025A0E8 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A0EC 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A0F0 38 84 00 0F */ addi r4, r4, 0xf -/* 8025A0F4 48 10 E8 A1 */ bl strcmp -/* 8025A0F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A0FC 40 82 00 1C */ bne lbl_8025A118 -/* 8025A100 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A104 7C 00 07 75 */ extsb. r0, r0 -/* 8025A108 40 82 00 10 */ bne lbl_8025A118 -/* 8025A10C 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 8025A110 2C 00 00 08 */ cmpwi r0, 8 -/* 8025A114 41 82 00 6C */ beq lbl_8025A180 -lbl_8025A118: -/* 8025A118 7F A3 EB 78 */ mr r3, r29 -/* 8025A11C 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A120 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A124 38 84 00 27 */ addi r4, r4, 0x27 -/* 8025A128 48 10 E8 6D */ bl strcmp -/* 8025A12C 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A130 40 82 00 1C */ bne lbl_8025A14C -/* 8025A134 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A138 2C 00 00 01 */ cmpwi r0, 1 -/* 8025A13C 40 82 00 10 */ bne lbl_8025A14C -/* 8025A140 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 8025A144 2C 00 00 08 */ cmpwi r0, 8 -/* 8025A148 41 82 00 38 */ beq lbl_8025A180 -lbl_8025A14C: -/* 8025A14C 7F A3 EB 78 */ mr r3, r29 -/* 8025A150 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A154 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A158 38 84 00 27 */ addi r4, r4, 0x27 -/* 8025A15C 48 10 E8 39 */ bl strcmp -/* 8025A160 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A164 40 82 00 24 */ bne lbl_8025A188 -/* 8025A168 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A16C 2C 00 00 01 */ cmpwi r0, 1 -/* 8025A170 40 82 00 18 */ bne lbl_8025A188 -/* 8025A174 88 1E 4E 0B */ lbz r0, 0x4e0b(r30) -/* 8025A178 2C 00 00 09 */ cmpwi r0, 9 -/* 8025A17C 40 82 00 0C */ bne lbl_8025A188 -lbl_8025A180: -/* 8025A180 38 60 00 01 */ li r3, 1 -/* 8025A184 4B DD 53 81 */ bl dComIfGp_world_dark_set__FUc -lbl_8025A188: -/* 8025A188 7F A3 EB 78 */ mr r3, r29 -/* 8025A18C 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A190 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A194 38 84 00 46 */ addi r4, r4, 0x46 -/* 8025A198 48 10 E7 FD */ bl strcmp -/* 8025A19C 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A1A0 40 82 00 30 */ bne lbl_8025A1D0 -/* 8025A1A4 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A1A8 2C 00 00 32 */ cmpwi r0, 0x32 -/* 8025A1AC 40 82 00 24 */ bne lbl_8025A1D0 -/* 8025A1B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A1B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A1B8 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 8025A1BC 2C 00 00 14 */ cmpwi r0, 0x14 -/* 8025A1C0 40 82 00 10 */ bne lbl_8025A1D0 -/* 8025A1C4 38 63 09 78 */ addi r3, r3, 0x978 -/* 8025A1C8 38 80 00 1E */ li r4, 0x1e -/* 8025A1CC 4B DD A9 CD */ bl onSwitch__12dSv_danBit_cFi -lbl_8025A1D0: -/* 8025A1D0 7F A3 EB 78 */ mr r3, r29 -/* 8025A1D4 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A1D8 7C 04 07 74 */ extsb r4, r0 -/* 8025A1DC 4B F5 26 95 */ bl dKy_darkworld_Area_set__FPCci -/* 8025A1E0 7F A3 EB 78 */ mr r3, r29 -/* 8025A1E4 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A1E8 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A1EC 38 84 00 4E */ addi r4, r4, 0x4e -/* 8025A1F0 48 10 E7 A5 */ bl strcmp -/* 8025A1F4 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A1F8 40 82 00 44 */ bne lbl_8025A23C -/* 8025A1FC 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A200 7C 00 07 75 */ extsb. r0, r0 -/* 8025A204 40 82 00 38 */ bne lbl_8025A23C -/* 8025A208 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A20C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A210 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 8025A214 2C 00 00 18 */ cmpwi r0, 0x18 -/* 8025A218 41 82 00 0C */ beq lbl_8025A224 -/* 8025A21C 7C 00 07 35 */ extsh. r0, r0 -/* 8025A220 40 82 00 1C */ bne lbl_8025A23C -lbl_8025A224: -/* 8025A224 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A228 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A22C 38 63 00 28 */ addi r3, r3, 0x28 -/* 8025A230 38 80 00 00 */ li r4, 0 -/* 8025A234 4B DD 89 9D */ bl onTransformLV__21dSv_player_status_b_cFi -/* 8025A238 48 00 00 F8 */ b lbl_8025A330 -lbl_8025A23C: -/* 8025A23C 7F A3 EB 78 */ mr r3, r29 -/* 8025A240 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A244 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A248 38 84 00 56 */ addi r4, r4, 0x56 -/* 8025A24C 48 10 E7 49 */ bl strcmp -/* 8025A250 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A254 40 82 00 34 */ bne lbl_8025A288 -/* 8025A258 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A25C 2C 00 00 02 */ cmpwi r0, 2 -/* 8025A260 40 82 00 28 */ bne lbl_8025A288 -/* 8025A264 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A268 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A26C A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 8025A270 2C 00 00 0A */ cmpwi r0, 0xa -/* 8025A274 40 82 00 14 */ bne lbl_8025A288 -/* 8025A278 38 63 00 28 */ addi r3, r3, 0x28 -/* 8025A27C 38 80 00 01 */ li r4, 1 -/* 8025A280 4B DD 89 51 */ bl onTransformLV__21dSv_player_status_b_cFi -/* 8025A284 48 00 00 AC */ b lbl_8025A330 -lbl_8025A288: -/* 8025A288 7F A3 EB 78 */ mr r3, r29 -/* 8025A28C 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A290 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A294 38 84 00 56 */ addi r4, r4, 0x56 -/* 8025A298 48 10 E6 FD */ bl strcmp -/* 8025A29C 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A2A0 40 82 00 34 */ bne lbl_8025A2D4 -/* 8025A2A4 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A2A8 2C 00 00 09 */ cmpwi r0, 9 -/* 8025A2AC 40 82 00 28 */ bne lbl_8025A2D4 -/* 8025A2B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A2B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A2B8 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 8025A2BC 2C 00 00 0A */ cmpwi r0, 0xa -/* 8025A2C0 40 82 00 14 */ bne lbl_8025A2D4 -/* 8025A2C4 38 63 00 28 */ addi r3, r3, 0x28 -/* 8025A2C8 38 80 00 02 */ li r4, 2 -/* 8025A2CC 4B DD 89 05 */ bl onTransformLV__21dSv_player_status_b_cFi -/* 8025A2D0 48 00 00 60 */ b lbl_8025A330 -lbl_8025A2D4: -/* 8025A2D4 7F A3 EB 78 */ mr r3, r29 -/* 8025A2D8 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A2DC 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A2E0 38 84 00 56 */ addi r4, r4, 0x56 -/* 8025A2E4 48 10 E6 B1 */ bl strcmp -/* 8025A2E8 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A2EC 40 82 00 44 */ bne lbl_8025A330 -/* 8025A2F0 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A2F4 2C 00 00 0A */ cmpwi r0, 0xa -/* 8025A2F8 40 82 00 38 */ bne lbl_8025A330 -/* 8025A2FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A300 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A304 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 8025A308 2C 00 00 17 */ cmpwi r0, 0x17 -/* 8025A30C 41 82 00 10 */ beq lbl_8025A31C -/* 8025A310 7C 00 07 34 */ extsh r0, r0 -/* 8025A314 2C 00 00 14 */ cmpwi r0, 0x14 -/* 8025A318 40 82 00 18 */ bne lbl_8025A330 -lbl_8025A31C: -/* 8025A31C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A320 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A324 38 63 00 28 */ addi r3, r3, 0x28 -/* 8025A328 38 80 00 03 */ li r4, 3 -/* 8025A32C 4B DD 88 A5 */ bl onTransformLV__21dSv_player_status_b_cFi -lbl_8025A330: -/* 8025A330 7F A3 EB 78 */ mr r3, r29 -/* 8025A334 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A338 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A33C 38 84 00 5E */ addi r4, r4, 0x5e -/* 8025A340 48 10 E6 55 */ bl strcmp -/* 8025A344 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A348 40 82 00 4C */ bne lbl_8025A394 -/* 8025A34C 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A350 7C 00 07 75 */ extsb. r0, r0 -/* 8025A354 40 82 00 40 */ bne lbl_8025A394 -/* 8025A358 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A35C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A360 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 8025A364 2C 00 00 02 */ cmpwi r0, 2 -/* 8025A368 40 82 00 2C */ bne lbl_8025A394 -/* 8025A36C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8025A370 38 83 CA 54 */ addi r4, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8025A374 88 64 12 FE */ lbz r3, 0x12fe(r4) -/* 8025A378 38 03 00 01 */ addi r0, r3, 1 -/* 8025A37C 98 04 12 FE */ stb r0, 0x12fe(r4) -/* 8025A380 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 8025A384 28 00 00 04 */ cmplwi r0, 4 -/* 8025A388 40 81 00 0C */ ble lbl_8025A394 -/* 8025A38C 38 00 00 01 */ li r0, 1 -/* 8025A390 98 04 12 FE */ stb r0, 0x12fe(r4) -lbl_8025A394: -/* 8025A394 38 60 FF FF */ li r3, -1 -/* 8025A398 4B DD 35 65 */ bl dComIfGs_BossLife_public_Set__FSc -/* 8025A39C 38 00 00 00 */ li r0, 0 -/* 8025A3A0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8025A3A4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8025A3A8 98 03 13 08 */ stb r0, 0x1308(r3) -/* 8025A3AC 3C 60 80 3A */ lis r3, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A3B0 38 63 A2 D8 */ addi r3, r3, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A3B4 38 63 00 66 */ addi r3, r3, 0x66 -/* 8025A3B8 7F A4 EB 78 */ mr r4, r29 -/* 8025A3BC 88 1F 4E 0A */ lbz r0, 0x4e0a(r31) -/* 8025A3C0 7C 05 07 74 */ extsb r5, r0 -/* 8025A3C4 4C C6 31 82 */ crclr 6 -/* 8025A3C8 48 08 E2 01 */ bl JUTReportConsole_f -/* 8025A3CC 38 00 00 00 */ li r0, 0 -/* 8025A3D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A3D4 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A3D8 B0 04 5D 46 */ sth r0, 0x5d46(r4) -/* 8025A3DC 3C 60 80 3A */ lis r3, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A3E0 38 63 A2 D8 */ addi r3, r3, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A3E4 38 63 00 86 */ addi r3, r3, 0x86 -/* 8025A3E8 3F A4 00 02 */ addis r29, r4, 2 -/* 8025A3EC 38 9D D4 F8 */ addi r4, r29, -11016 -/* 8025A3F0 38 A0 00 40 */ li r5, 0x40 -/* 8025A3F4 3B BD C2 F8 */ addi r29, r29, -15624 -/* 8025A3F8 4B DE 1D 69 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci -/* 8025A3FC 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A400 40 80 00 1C */ bge lbl_8025A41C -/* 8025A404 7F A3 EB 78 */ mr r3, r29 -/* 8025A408 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 8025A40C 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 8025A410 38 84 00 86 */ addi r4, r4, 0x86 -/* 8025A414 38 A0 00 00 */ li r5, 0 -/* 8025A418 4B DE 21 A5 */ bl setStageRes__14dRes_control_cFPCcP7JKRHeap -lbl_8025A41C: -/* 8025A41C 38 60 00 02 */ li r3, 2 -/* 8025A420 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025A424 48 10 7E 05 */ bl _restgpr_29 -/* 8025A428 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025A42C 7C 08 03 A6 */ mtlr r0 -/* 8025A430 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025A434 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_3__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_3__FP9dScnPly_c.s deleted file mode 100644 index 25101aa756..0000000000 --- a/asm/d/s/d_s_play/phase_3__FP9dScnPly_c.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8025A5D4: -/* 8025A5D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025A5D8 7C 08 02 A6 */ mflr r0 -/* 8025A5DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025A5E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025A5E4 7C 7F 1B 78 */ mr r31, r3 -/* 8025A5E8 80 63 01 CC */ lwz r3, 0x1cc(r3) -/* 8025A5EC 28 03 00 00 */ cmplwi r3, 0 -/* 8025A5F0 41 82 00 10 */ beq lbl_8025A600 -/* 8025A5F4 88 03 00 0C */ lbz r0, 0xc(r3) -/* 8025A5F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8025A5FC 41 82 00 18 */ beq lbl_8025A614 -lbl_8025A600: -/* 8025A600 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8025A604 38 63 04 A4 */ addi r3, r3, 0x4a4 -/* 8025A608 48 05 FA 95 */ bl check1stDynamicWave__10Z2SceneMgrFv -/* 8025A60C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8025A610 41 82 00 0C */ beq lbl_8025A61C -lbl_8025A614: -/* 8025A614 38 60 00 00 */ li r3, 0 -/* 8025A618 48 00 00 28 */ b lbl_8025A640 -lbl_8025A61C: -/* 8025A61C 80 7F 01 D0 */ lwz r3, 0x1d0(r31) -/* 8025A620 28 03 00 00 */ cmplwi r3, 0 -/* 8025A624 41 82 00 18 */ beq lbl_8025A63C -/* 8025A628 88 03 00 0C */ lbz r0, 0xc(r3) -/* 8025A62C 2C 00 00 00 */ cmpwi r0, 0 -/* 8025A630 40 82 00 0C */ bne lbl_8025A63C -/* 8025A634 38 60 00 00 */ li r3, 0 -/* 8025A638 48 00 00 08 */ b lbl_8025A640 -lbl_8025A63C: -/* 8025A63C 38 60 00 02 */ li r3, 2 -lbl_8025A640: -/* 8025A640 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025A644 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025A648 7C 08 03 A6 */ mtlr r0 -/* 8025A64C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025A650 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/resetGame__9dScnPly_cFv.s b/asm/d/s/d_s_play/resetGame__9dScnPly_cFv.s deleted file mode 100644 index 907dd0f06d..0000000000 --- a/asm/d/s/d_s_play/resetGame__9dScnPly_cFv.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_80259AC4: -/* 80259AC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80259AC8 7C 08 02 A6 */ mflr r0 -/* 80259ACC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259AD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80259AD4 7C 7F 1B 78 */ mr r31, r3 -/* 80259AD8 A8 03 00 08 */ lha r0, 8(r3) -/* 80259ADC 2C 00 00 0C */ cmpwi r0, 0xc -/* 80259AE0 40 82 00 4C */ bne lbl_80259B2C -/* 80259AE4 38 60 00 00 */ li r3, 0 -/* 80259AE8 4B DC AE 6D */ bl resetArchiveBank__20dStage_roomControl_cFi -/* 80259AEC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80259AF0 40 82 00 0C */ bne lbl_80259AFC -/* 80259AF4 38 60 00 00 */ li r3, 0 -/* 80259AF8 48 00 00 F0 */ b lbl_80259BE8 -lbl_80259AFC: -/* 80259AFC 4B DA D7 C9 */ bl mDoAud_resetRecover__Fv -/* 80259B00 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80259B04 40 82 00 0C */ bne lbl_80259B10 -/* 80259B08 38 60 00 00 */ li r3, 0 -/* 80259B0C 48 00 00 DC */ b lbl_80259BE8 -lbl_80259B10: -/* 80259B10 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80259B14 80 03 00 00 */ lwz r0, 0(r3) -/* 80259B18 2C 00 00 00 */ cmpwi r0, 0 -/* 80259B1C 41 82 00 A8 */ beq lbl_80259BC4 -/* 80259B20 38 00 00 01 */ li r0, 1 -/* 80259B24 98 1F 01 D4 */ stb r0, 0x1d4(r31) -/* 80259B28 48 00 00 9C */ b lbl_80259BC4 -lbl_80259B2C: -/* 80259B2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259B30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259B34 A8 03 4E 16 */ lha r0, 0x4e16(r3) -/* 80259B38 2C 00 FF FC */ cmpwi r0, -4 -/* 80259B3C 41 82 00 70 */ beq lbl_80259BAC -/* 80259B40 80 03 0D D0 */ lwz r0, 0xdd0(r3) -/* 80259B44 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 80259B48 28 00 00 0C */ cmplwi r0, 0xc -/* 80259B4C 41 82 00 60 */ beq lbl_80259BAC -/* 80259B50 3B E3 4E 0E */ addi r31, r3, 0x4e0e -/* 80259B54 7F E3 FB 78 */ mr r3, r31 -/* 80259B58 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259B5C 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259B60 38 84 00 0F */ addi r4, r4, 0xf -/* 80259B64 48 10 EE 31 */ bl strcmp -/* 80259B68 2C 03 00 00 */ cmpwi r3, 0 -/* 80259B6C 41 82 00 40 */ beq lbl_80259BAC -/* 80259B70 7F E3 FB 78 */ mr r3, r31 -/* 80259B74 3C 80 80 3A */ lis r4, d_s_d_s_play__stringBase0@ha /* 0x8039A2D8@ha */ -/* 80259B78 38 84 A2 D8 */ addi r4, r4, d_s_d_s_play__stringBase0@l /* 0x8039A2D8@l */ -/* 80259B7C 38 84 00 17 */ addi r4, r4, 0x17 -/* 80259B80 48 10 EE 15 */ bl strcmp -/* 80259B84 2C 03 00 00 */ cmpwi r3, 0 -/* 80259B88 40 82 00 3C */ bne lbl_80259BC4 -/* 80259B8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259B90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259B94 88 03 4E 18 */ lbz r0, 0x4e18(r3) -/* 80259B98 2C 00 00 01 */ cmpwi r0, 1 -/* 80259B9C 40 82 00 28 */ bne lbl_80259BC4 -/* 80259BA0 88 03 4E 19 */ lbz r0, 0x4e19(r3) -/* 80259BA4 2C 00 00 09 */ cmpwi r0, 9 -/* 80259BA8 40 82 00 1C */ bne lbl_80259BC4 -lbl_80259BAC: -/* 80259BAC 38 60 00 00 */ li r3, 0 -/* 80259BB0 4B DC AD A5 */ bl resetArchiveBank__20dStage_roomControl_cFi -/* 80259BB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80259BB8 40 82 00 0C */ bne lbl_80259BC4 -/* 80259BBC 38 60 00 00 */ li r3, 0 -/* 80259BC0 48 00 00 28 */ b lbl_80259BE8 -lbl_80259BC4: -/* 80259BC4 38 00 00 FF */ li r0, 0xff -/* 80259BC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259BCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259BD0 3C 63 00 02 */ addis r3, r3, 2 -/* 80259BD4 98 03 DD F8 */ stb r0, -0x2208(r3) -/* 80259BD8 38 00 00 00 */ li r0, 0 -/* 80259BDC 98 0D 86 66 */ stb r0, struct_80450BE4+0x2(r13) -/* 80259BE0 98 0D 89 50 */ stb r0, data_80450ED0(r13) -/* 80259BE4 38 60 00 01 */ li r3, 1 -lbl_80259BE8: -/* 80259BE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80259BEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80259BF0 7C 08 03 A6 */ mtlr r0 -/* 80259BF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80259BF8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag05/d_a_kytag05/daKytag05_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/kytag/d_a_kytag05/d_a_kytag05/daKytag05_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 732d9b9c1f..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag05/d_a_kytag05/daKytag05_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80528A78: -/* 80528A78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80528A7C 7C 08 02 A6 */ mflr r0 -/* 80528A80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80528A84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80528A88 7C 7F 1B 78 */ mr r31, r3 -/* 80528A8C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80528A90 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80528A94 40 82 00 1C */ bne lbl_80528AB0 -/* 80528A98 28 1F 00 00 */ cmplwi r31, 0 -/* 80528A9C 41 82 00 08 */ beq lbl_80528AA4 -/* 80528AA0 4B AF 00 C5 */ bl __ct__10fopAc_ac_cFv -lbl_80528AA4: -/* 80528AA4 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80528AA8 60 00 00 08 */ ori r0, r0, 8 -/* 80528AAC 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80528AB0: -/* 80528AB0 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80528AB4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80528AB8 98 1F 05 6C */ stb r0, 0x56c(r31) -/* 80528ABC 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80528AC0 98 1F 05 6D */ stb r0, 0x56d(r31) -/* 80528AC4 3C 60 80 53 */ lis r3, lit_3665@ha /* 0x80528B18@ha */ -/* 80528AC8 C0 23 8B 18 */ lfs f1, lit_3665@l(r3) /* 0x80528B18@l */ -/* 80528ACC C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 80528AD0 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80528AD4 D0 1F 05 68 */ stfs f0, 0x568(r31) -/* 80528AD8 88 1F 05 6C */ lbz r0, 0x56c(r31) -/* 80528ADC 28 00 00 00 */ cmplwi r0, 0 -/* 80528AE0 40 82 00 18 */ bne lbl_80528AF8 -/* 80528AE4 38 00 00 21 */ li r0, 0x21 -/* 80528AE8 98 1F 05 4B */ stb r0, 0x54b(r31) -/* 80528AEC 80 1F 05 5C */ lwz r0, 0x55c(r31) -/* 80528AF0 60 00 00 80 */ ori r0, r0, 0x80 -/* 80528AF4 90 1F 05 5C */ stw r0, 0x55c(r31) -lbl_80528AF8: -/* 80528AF8 38 60 00 04 */ li r3, 4 -/* 80528AFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80528B00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80528B04 7C 08 03 A6 */ mtlr r0 -/* 80528B08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80528B0C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/Execute__15daTag_Lv5Soup_cFv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/Execute__15daTag_Lv5Soup_cFv.s deleted file mode 100644 index f478fada1c..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/Execute__15daTag_Lv5Soup_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80D5ADF4: -/* 80D5ADF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5ADF8 7C 08 02 A6 */ mflr r0 -/* 80D5ADFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5AE00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5AE04 48 00 00 A1 */ bl isAreaCheck__15daTag_Lv5Soup_cFv -/* 80D5AE08 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D5AE0C 41 82 00 78 */ beq lbl_80D5AE84 -/* 80D5AE10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5AE14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5AE18 3B E3 07 F0 */ addi r31, r3, 0x7f0 -/* 80D5AE1C 7F E3 FB 78 */ mr r3, r31 -/* 80D5AE20 38 80 00 20 */ li r4, 0x20 -/* 80D5AE24 4B 2D 9B 99 */ bl isEventBit__11dSv_event_cCFUs -/* 80D5AE28 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5AE2C 41 82 00 24 */ beq lbl_80D5AE50 -/* 80D5AE30 7F E3 FB 78 */ mr r3, r31 -/* 80D5AE34 38 80 00 02 */ li r4, 2 -/* 80D5AE38 4B 2D 9B 85 */ bl isEventBit__11dSv_event_cCFUs -/* 80D5AE3C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5AE40 40 82 00 10 */ bne lbl_80D5AE50 -/* 80D5AE44 7F E3 FB 78 */ mr r3, r31 -/* 80D5AE48 38 80 00 02 */ li r4, 2 -/* 80D5AE4C 4B 2D 9B 41 */ bl onEventBit__11dSv_event_cFUs -lbl_80D5AE50: -/* 80D5AE50 7F E3 FB 78 */ mr r3, r31 -/* 80D5AE54 38 80 00 10 */ li r4, 0x10 -/* 80D5AE58 4B 2D 9B 65 */ bl isEventBit__11dSv_event_cCFUs -/* 80D5AE5C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5AE60 41 82 00 24 */ beq lbl_80D5AE84 -/* 80D5AE64 7F E3 FB 78 */ mr r3, r31 -/* 80D5AE68 38 80 00 01 */ li r4, 1 -/* 80D5AE6C 4B 2D 9B 51 */ bl isEventBit__11dSv_event_cCFUs -/* 80D5AE70 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5AE74 40 82 00 10 */ bne lbl_80D5AE84 -/* 80D5AE78 7F E3 FB 78 */ mr r3, r31 -/* 80D5AE7C 38 80 00 01 */ li r4, 1 -/* 80D5AE80 4B 2D 9B 0D */ bl onEventBit__11dSv_event_cFUs -lbl_80D5AE84: -/* 80D5AE84 38 60 00 01 */ li r3, 1 -/* 80D5AE88 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5AE8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5AE90 7C 08 03 A6 */ mtlr r0 -/* 80D5AE94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5AE98 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/__dt__15daTag_Lv5Soup_cFv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/__dt__15daTag_Lv5Soup_cFv.s deleted file mode 100644 index e2ecd70f78..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/__dt__15daTag_Lv5Soup_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D5B0F4: -/* 80D5B0F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5B0F8 7C 08 02 A6 */ mflr r0 -/* 80D5B0FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5B100 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5B104 93 C1 00 08 */ stw r30, 8(r1) -/* 80D5B108 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D5B10C 7C 9F 23 78 */ mr r31, r4 -/* 80D5B110 41 82 00 28 */ beq lbl_80D5B138 -/* 80D5B114 3C 80 80 D6 */ lis r4, __vt__15daTag_Lv5Soup_c@ha /* 0x80D5B1DC@ha */ -/* 80D5B118 38 04 B1 DC */ addi r0, r4, __vt__15daTag_Lv5Soup_c@l /* 0x80D5B1DC@l */ -/* 80D5B11C 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D5B120 38 80 00 00 */ li r4, 0 -/* 80D5B124 4B 2B DB 69 */ bl __dt__10fopAc_ac_cFv -/* 80D5B128 7F E0 07 35 */ extsh. r0, r31 -/* 80D5B12C 40 81 00 0C */ ble lbl_80D5B138 -/* 80D5B130 7F C3 F3 78 */ mr r3, r30 -/* 80D5B134 4B 57 3C 09 */ bl __dl__FPv -lbl_80D5B138: -/* 80D5B138 7F C3 F3 78 */ mr r3, r30 -/* 80D5B13C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5B140 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D5B144 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5B148 7C 08 03 A6 */ mtlr r0 -/* 80D5B14C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5B150 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/create__15daTag_Lv5Soup_cFv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/create__15daTag_Lv5Soup_cFv.s deleted file mode 100644 index 4361c0e974..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/create__15daTag_Lv5Soup_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80D5AD58: -/* 80D5AD58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5AD5C 7C 08 02 A6 */ mflr r0 -/* 80D5AD60 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5AD64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5AD68 93 C1 00 08 */ stw r30, 8(r1) -/* 80D5AD6C 7C 7E 1B 78 */ mr r30, r3 -/* 80D5AD70 3C 80 80 D6 */ lis r4, lit_3655@ha /* 0x80D5B15C@ha */ -/* 80D5AD74 3B E4 B1 5C */ addi r31, r4, lit_3655@l /* 0x80D5B15C@l */ -/* 80D5AD78 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D5AD7C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D5AD80 40 82 00 28 */ bne lbl_80D5ADA8 -/* 80D5AD84 28 1E 00 00 */ cmplwi r30, 0 -/* 80D5AD88 41 82 00 14 */ beq lbl_80D5AD9C -/* 80D5AD8C 4B 2B DD D9 */ bl __ct__10fopAc_ac_cFv -/* 80D5AD90 3C 60 80 D6 */ lis r3, __vt__15daTag_Lv5Soup_c@ha /* 0x80D5B1DC@ha */ -/* 80D5AD94 38 03 B1 DC */ addi r0, r3, __vt__15daTag_Lv5Soup_c@l /* 0x80D5B1DC@l */ -/* 80D5AD98 90 1E 05 68 */ stw r0, 0x568(r30) -lbl_80D5AD9C: -/* 80D5AD9C 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80D5ADA0 60 00 00 08 */ ori r0, r0, 8 -/* 80D5ADA4 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80D5ADA8: -/* 80D5ADA8 7F C3 F3 78 */ mr r3, r30 -/* 80D5ADAC C0 3F 00 00 */ lfs f1, 0(r31) -/* 80D5ADB0 C0 5F 00 04 */ lfs f2, 4(r31) -/* 80D5ADB4 FC 60 08 90 */ fmr f3, f1 -/* 80D5ADB8 C0 9F 00 08 */ lfs f4, 8(r31) -/* 80D5ADBC C0 BF 00 0C */ lfs f5, 0xc(r31) -/* 80D5ADC0 FC C0 20 90 */ fmr f6, f4 -/* 80D5ADC4 4B 2B F7 85 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 80D5ADC8 38 00 00 00 */ li r0, 0 -/* 80D5ADCC 90 1E 05 5C */ stw r0, 0x55c(r30) -/* 80D5ADD0 38 60 00 04 */ li r3, 4 -/* 80D5ADD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5ADD8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D5ADDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5ADE0 7C 08 03 A6 */ mtlr r0 -/* 80D5ADE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5ADE8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Create__FPv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Create__FPv.s deleted file mode 100644 index e1eae050dd..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5B06C: -/* 80D5B06C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5B070 7C 08 02 A6 */ mflr r0 -/* 80D5B074 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5B078 4B FF FC E1 */ bl create__15daTag_Lv5Soup_cFv -/* 80D5B07C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5B080 7C 08 03 A6 */ mtlr r0 -/* 80D5B084 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5B088 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Delete__FPv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Delete__FPv.s deleted file mode 100644 index e450f6f7dc..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5B08C: -/* 80D5B08C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5B090 7C 08 02 A6 */ mflr r0 -/* 80D5B094 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5B098 4B FF FD 55 */ bl Delete__15daTag_Lv5Soup_cFv -/* 80D5B09C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5B0A0 7C 08 03 A6 */ mtlr r0 -/* 80D5B0A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5B0A8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Draw__FPv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Draw__FPv.s deleted file mode 100644 index d4f5eabc44..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5B0CC: -/* 80D5B0CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5B0D0 7C 08 02 A6 */ mflr r0 -/* 80D5B0D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5B0D8 4B FF FD C5 */ bl Draw__15daTag_Lv5Soup_cFv -/* 80D5B0DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5B0E0 7C 08 03 A6 */ mtlr r0 -/* 80D5B0E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5B0E8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Execute__FPv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Execute__FPv.s deleted file mode 100644 index f463159b7e..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5B0AC: -/* 80D5B0AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5B0B0 7C 08 02 A6 */ mflr r0 -/* 80D5B0B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5B0B8 4B FF FD 3D */ bl Execute__15daTag_Lv5Soup_cFv -/* 80D5B0BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5B0C0 7C 08 03 A6 */ mtlr r0 -/* 80D5B0C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5B0C8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/isAreaCheck__15daTag_Lv5Soup_cFv.s b/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/isAreaCheck__15daTag_Lv5Soup_cFv.s deleted file mode 100644 index a980dd706b..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/isAreaCheck__15daTag_Lv5Soup_cFv.s +++ /dev/null @@ -1,126 +0,0 @@ -lbl_80D5AEA4: -/* 80D5AEA4 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80D5AEA8 7C 08 02 A6 */ mflr r0 -/* 80D5AEAC 90 01 00 64 */ stw r0, 0x64(r1) -/* 80D5AEB0 DB E1 00 50 */ stfd f31, 0x50(r1) -/* 80D5AEB4 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 80D5AEB8 DB C1 00 40 */ stfd f30, 0x40(r1) -/* 80D5AEBC F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */ -/* 80D5AEC0 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 80D5AEC4 93 C1 00 38 */ stw r30, 0x38(r1) -/* 80D5AEC8 7C 7E 1B 78 */ mr r30, r3 -/* 80D5AECC 3C 60 80 D6 */ lis r3, lit_3655@ha /* 0x80D5B15C@ha */ -/* 80D5AED0 3B E3 B1 5C */ addi r31, r3, lit_3655@l /* 0x80D5B15C@l */ -/* 80D5AED4 38 61 00 18 */ addi r3, r1, 0x18 -/* 80D5AED8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5AEDC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5AEE0 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 80D5AEE4 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 80D5AEE8 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80D5AEEC 4B 50 BC 49 */ bl __mi__4cXyzCFRC3Vec -/* 80D5AEF0 C0 61 00 18 */ lfs f3, 0x18(r1) -/* 80D5AEF4 D0 61 00 24 */ stfs f3, 0x24(r1) -/* 80D5AEF8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80D5AEFC D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80D5AF00 C0 41 00 20 */ lfs f2, 0x20(r1) -/* 80D5AF04 D0 41 00 2C */ stfs f2, 0x2c(r1) -/* 80D5AF08 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80D5AF0C C0 1E 04 EC */ lfs f0, 0x4ec(r30) -/* 80D5AF10 EF E1 00 32 */ fmuls f31, f1, f0 -/* 80D5AF14 C0 1E 04 F0 */ lfs f0, 0x4f0(r30) -/* 80D5AF18 EF C1 00 32 */ fmuls f30, f1, f0 -/* 80D5AF1C D0 61 00 0C */ stfs f3, 0xc(r1) -/* 80D5AF20 C0 1F 00 14 */ lfs f0, 0x14(r31) -/* 80D5AF24 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80D5AF28 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 80D5AF2C 38 61 00 0C */ addi r3, r1, 0xc -/* 80D5AF30 4B 5E C2 09 */ bl PSVECSquareMag -/* 80D5AF34 C0 1F 00 14 */ lfs f0, 0x14(r31) -/* 80D5AF38 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D5AF3C 40 81 00 58 */ ble lbl_80D5AF94 -/* 80D5AF40 FC 00 08 34 */ frsqrte f0, f1 -/* 80D5AF44 C8 9F 00 18 */ lfd f4, 0x18(r31) -/* 80D5AF48 FC 44 00 32 */ fmul f2, f4, f0 -/* 80D5AF4C C8 7F 00 20 */ lfd f3, 0x20(r31) -/* 80D5AF50 FC 00 00 32 */ fmul f0, f0, f0 -/* 80D5AF54 FC 01 00 32 */ fmul f0, f1, f0 -/* 80D5AF58 FC 03 00 28 */ fsub f0, f3, f0 -/* 80D5AF5C FC 02 00 32 */ fmul f0, f2, f0 -/* 80D5AF60 FC 44 00 32 */ fmul f2, f4, f0 -/* 80D5AF64 FC 00 00 32 */ fmul f0, f0, f0 -/* 80D5AF68 FC 01 00 32 */ fmul f0, f1, f0 -/* 80D5AF6C FC 03 00 28 */ fsub f0, f3, f0 -/* 80D5AF70 FC 02 00 32 */ fmul f0, f2, f0 -/* 80D5AF74 FC 44 00 32 */ fmul f2, f4, f0 -/* 80D5AF78 FC 00 00 32 */ fmul f0, f0, f0 -/* 80D5AF7C FC 01 00 32 */ fmul f0, f1, f0 -/* 80D5AF80 FC 03 00 28 */ fsub f0, f3, f0 -/* 80D5AF84 FC 02 00 32 */ fmul f0, f2, f0 -/* 80D5AF88 FC 21 00 32 */ fmul f1, f1, f0 -/* 80D5AF8C FC 20 08 18 */ frsp f1, f1 -/* 80D5AF90 48 00 00 88 */ b lbl_80D5B018 -lbl_80D5AF94: -/* 80D5AF94 C8 1F 00 28 */ lfd f0, 0x28(r31) -/* 80D5AF98 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D5AF9C 40 80 00 10 */ bge lbl_80D5AFAC -/* 80D5AFA0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80D5AFA4 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80D5AFA8 48 00 00 70 */ b lbl_80D5B018 -lbl_80D5AFAC: -/* 80D5AFAC D0 21 00 08 */ stfs f1, 8(r1) -/* 80D5AFB0 80 81 00 08 */ lwz r4, 8(r1) -/* 80D5AFB4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80D5AFB8 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80D5AFBC 7C 03 00 00 */ cmpw r3, r0 -/* 80D5AFC0 41 82 00 14 */ beq lbl_80D5AFD4 -/* 80D5AFC4 40 80 00 40 */ bge lbl_80D5B004 -/* 80D5AFC8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5AFCC 41 82 00 20 */ beq lbl_80D5AFEC -/* 80D5AFD0 48 00 00 34 */ b lbl_80D5B004 -lbl_80D5AFD4: -/* 80D5AFD4 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80D5AFD8 41 82 00 0C */ beq lbl_80D5AFE4 -/* 80D5AFDC 38 00 00 01 */ li r0, 1 -/* 80D5AFE0 48 00 00 28 */ b lbl_80D5B008 -lbl_80D5AFE4: -/* 80D5AFE4 38 00 00 02 */ li r0, 2 -/* 80D5AFE8 48 00 00 20 */ b lbl_80D5B008 -lbl_80D5AFEC: -/* 80D5AFEC 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80D5AFF0 41 82 00 0C */ beq lbl_80D5AFFC -/* 80D5AFF4 38 00 00 05 */ li r0, 5 -/* 80D5AFF8 48 00 00 10 */ b lbl_80D5B008 -lbl_80D5AFFC: -/* 80D5AFFC 38 00 00 03 */ li r0, 3 -/* 80D5B000 48 00 00 08 */ b lbl_80D5B008 -lbl_80D5B004: -/* 80D5B004 38 00 00 04 */ li r0, 4 -lbl_80D5B008: -/* 80D5B008 2C 00 00 01 */ cmpwi r0, 1 -/* 80D5B00C 40 82 00 0C */ bne lbl_80D5B018 -/* 80D5B010 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80D5B014 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80D5B018: -/* 80D5B018 FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80D5B01C 40 80 00 24 */ bge lbl_80D5B040 -/* 80D5B020 FC 00 F0 50 */ fneg f0, f30 -/* 80D5B024 C0 21 00 28 */ lfs f1, 0x28(r1) -/* 80D5B028 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D5B02C 40 80 00 14 */ bge lbl_80D5B040 -/* 80D5B030 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 80D5B034 40 80 00 0C */ bge lbl_80D5B040 -/* 80D5B038 38 60 00 01 */ li r3, 1 -/* 80D5B03C 48 00 00 08 */ b lbl_80D5B044 -lbl_80D5B040: -/* 80D5B040 38 60 00 00 */ li r3, 0 -lbl_80D5B044: -/* 80D5B044 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 80D5B048 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 80D5B04C E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */ -/* 80D5B050 CB C1 00 40 */ lfd f30, 0x40(r1) -/* 80D5B054 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 80D5B058 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 80D5B05C 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80D5B060 7C 08 03 A6 */ mtlr r0 -/* 80D5B064 38 21 00 60 */ addi r1, r1, 0x60 -/* 80D5B068 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/Create__14daTagSetBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/Create__14daTagSetBall_cFv.s deleted file mode 100644 index a83eb95b0a..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/Create__14daTagSetBall_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80D6021C: -/* 80D6021C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60220 7C 08 02 A6 */ mflr r0 -/* 80D60224 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60228 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D6022C 54 00 C7 3E */ rlwinm r0, r0, 0x18, 0x1c, 0x1f -/* 80D60230 98 03 05 68 */ stb r0, 0x568(r3) -/* 80D60234 4B FF FF C5 */ bl initBaseMtx__14daTagSetBall_cFv -/* 80D60238 38 60 00 01 */ li r3, 1 -/* 80D6023C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60240 7C 08 03 A6 */ mtlr r0 -/* 80D60244 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60248 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Create__FP14daTagSetBall_c.s b/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Create__FP14daTagSetBall_c.s deleted file mode 100644 index 998534c560..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Create__FP14daTagSetBall_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D60304: -/* 80D60304 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60308 7C 08 02 A6 */ mflr r0 -/* 80D6030C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60310 4B FF FF 3D */ bl create__14daTagSetBall_cFv -/* 80D60314 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60318 7C 08 03 A6 */ mtlr r0 -/* 80D6031C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60320 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Delete__FP14daTagSetBall_c.s b/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Delete__FP14daTagSetBall_c.s deleted file mode 100644 index 455abc4e53..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Delete__FP14daTagSetBall_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D602E4: -/* 80D602E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D602E8 7C 08 02 A6 */ mflr r0 -/* 80D602EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D602F0 4B FF FF CD */ bl _delete__14daTagSetBall_cFv -/* 80D602F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D602F8 7C 08 03 A6 */ mtlr r0 -/* 80D602FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60300 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Execute__FP14daTagSetBall_c.s b/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Execute__FP14daTagSetBall_c.s deleted file mode 100644 index be246e051f..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Execute__FP14daTagSetBall_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D602C4: -/* 80D602C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D602C8 7C 08 02 A6 */ mflr r0 -/* 80D602CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D602D0 4B FF FF E5 */ bl execute__14daTagSetBall_cFv -/* 80D602D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D602D8 7C 08 03 A6 */ mtlr r0 -/* 80D602DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D602E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/func_80D6024C.s b/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/func_80D6024C.s deleted file mode 100644 index 2c653c3961..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/func_80D6024C.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80D6024C: -/* 80D6024C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60250 7C 08 02 A6 */ mflr r0 -/* 80D60254 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60258 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D6025C 7C 7F 1B 78 */ mr r31, r3 -/* 80D60260 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D60264 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D60268 40 82 00 1C */ bne lbl_80D60284 -/* 80D6026C 28 1F 00 00 */ cmplwi r31, 0 -/* 80D60270 41 82 00 08 */ beq lbl_80D60278 -/* 80D60274 4B 2B 88 F1 */ bl __ct__10fopAc_ac_cFv -lbl_80D60278: -/* 80D60278 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D6027C 60 00 00 08 */ ori r0, r0, 8 -/* 80D60280 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D60284: -/* 80D60284 7F E3 FB 78 */ mr r3, r31 -/* 80D60288 4B FF FF 95 */ bl Create__14daTagSetBall_cFv -/* 80D6028C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60290 40 82 00 0C */ bne lbl_80D6029C -/* 80D60294 38 60 00 05 */ li r3, 5 -/* 80D60298 48 00 00 08 */ b lbl_80D602A0 -lbl_80D6029C: -/* 80D6029C 38 60 00 04 */ li r3, 4 -lbl_80D602A0: -/* 80D602A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D602A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D602A8 7C 08 03 A6 */ mtlr r0 -/* 80D602AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D602B0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/initBaseMtx__14daTagSetBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/initBaseMtx__14daTagSetBall_cFv.s deleted file mode 100644 index da4c8f5a94..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/initBaseMtx__14daTagSetBall_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D601F8: -/* 80D601F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D601FC 7C 08 02 A6 */ mflr r0 -/* 80D60200 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60204 48 00 00 15 */ bl setBaseMtx__14daTagSetBall_cFv -/* 80D60208 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6020C 7C 08 03 A6 */ mtlr r0 -/* 80D60210 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60214 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index 59b6a63e05..c2af88aa20 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -86,6 +86,10 @@ public: f32 getRotOffsetY() const { return mRotateOffsetY; } + MtxP getGlbMtx() { return mGlobalMtx; } + + void setMtx(Mtx m) { PSMTXCopy(m, mPositionMtx); } + void translate(f32 transX, f32 transY) { mTranslateX = transX; mTranslateY = transY; diff --git a/include/SSystem/SComponent/c_bg_s_lin_chk.h b/include/SSystem/SComponent/c_bg_s_lin_chk.h index 2db857959e..cfd9692cdf 100644 --- a/include/SSystem/SComponent/c_bg_s_lin_chk.h +++ b/include/SSystem/SComponent/c_bg_s_lin_chk.h @@ -23,6 +23,7 @@ public: void ct(); void Set2(const cXyz*, const cXyz*, unsigned int); void PreCalc(); + void GetCross(); virtual ~cBgS_LinChk(); diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 1bc91d70f0..27b3df6205 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -24,6 +24,8 @@ public: /* 0x1C vtable */ struct Shape { + /* 80167BBC */ ~Shape(); + /* 0x00 */ u32 _0; /* 0x04 */ f32 _4; /* 0x08 */ f32 _8; diff --git a/include/SSystem/SComponent/c_counter.h b/include/SSystem/SComponent/c_counter.h index 6a8d25c002..6967d2a678 100644 --- a/include/SSystem/SComponent/c_counter.h +++ b/include/SSystem/SComponent/c_counter.h @@ -3,6 +3,18 @@ #include "dolphin/types.h" +struct counter_class { + s32 mCounter0; + s32 mCounter1; + s32 mTimer; +}; + +extern counter_class g_Counter; + void cCt_Counter(int resetCounter1); +inline void cCt_execCounter() { + g_Counter.mTimer++; +} + #endif /* C_COUNTER_H */ diff --git a/include/SSystem/SComponent/c_m3d_g_pla.h b/include/SSystem/SComponent/c_m3d_g_pla.h index 178f57ba7b..387f074d5d 100644 --- a/include/SSystem/SComponent/c_m3d_g_pla.h +++ b/include/SSystem/SComponent/c_m3d_g_pla.h @@ -20,6 +20,7 @@ public: void Set(const cM3dGPla*); f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); } const cXyz& GetNP() const { return mNormal; } + void GetNP(); f32 GetD() const { return mD; } }; diff --git a/include/Z2AudioLib/Z2EnvSeMgr.h b/include/Z2AudioLib/Z2EnvSeMgr.h index a926878fc7..e80ced990c 100644 --- a/include/Z2AudioLib/Z2EnvSeMgr.h +++ b/include/Z2AudioLib/Z2EnvSeMgr.h @@ -1,9 +1,48 @@ #ifndef Z2ENVSEMGR_H #define Z2ENVSEMGR_H +#include "Z2AudioLib/Z2Calc.h" +#include "Z2AudioLib/Z2SeMgr.h" #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" +struct Z2EnvSeBase { + /* 802C589C */ Z2EnvSeBase(Vec*); + /* 802C58AC */ ~Z2EnvSeBase(); + /* 802C5908 */ void startEnvSe(JAISoundID, f32, f32, f32, f32, f32, u32); + /* 802C5AB4 */ void startEnvSeLevel(JAISoundID, f32, f32, f32, f32, f32, u32); + + /* 0x0 */ Vec* mPos; + /* 0x4 */ JAISoundHandle mHandle; +}; // Size: 0x8 + +struct Z2EnvSeAutoPan : public Z2EnvSeBase { + /* 802C5ECC */ Z2EnvSeAutoPan(); + /* 802C5F28 */ ~Z2EnvSeAutoPan(); + /* 802C5F7C */ void setPanParam(f32, f32, bool, bool, f32, f32); + /* 802C5F98 */ void calcPan(); + /* 802C60E0 */ void startEnvSeAutoPanLevel(JAISoundID, f32, f32, f32); + + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ bool field_0x18; + /* 0x19 */ bool field_0x19; +}; // Size: 0x1C + +struct Z2EnvSeDir : public Z2EnvSeBase { + /* 802C5C9C */ Z2EnvSeDir(Vec*); + /* 802C5D1C */ ~Z2EnvSeDir(); + /* 802C5D70 */ void setPanDir(Vec*); + /* 802C5D9C */ void calcPan(f32); + /* 802C5E90 */ void startEnvSeDirLevel(JAISoundID, f32, f32); + + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ Vec mPanDir; +}; // Size: 0x1C + struct Z2EnvSeMgr { /* 802C611C */ Z2EnvSeMgr(); /* 802C6540 */ ~Z2EnvSeMgr(); @@ -41,7 +80,80 @@ struct Z2EnvSeMgr { /* 802C9F58 */ void registLv3WaterSePos(u8, Vec*); /* 802CA794 */ void startLv3WaterSe(s8); - u8 field_0x0[780]; -}; + /* 0x000 */ Z2EnvSeAutoPan field_0x0; + /* 0x01C */ Z2EnvSeAutoPan field_0x1c; + /* 0x038 */ u8 field_0x38; + /* 0x039 */ u8 field_0x39; + /* 0x03C */ f32 field_0x3c; + /* 0x040 */ f32 field_0x40; + /* 0x044 */ f32 field_0x44; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 field_0x5c; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ Z2MultiSeMgr field_0x64; + /* 0x080 */ Z2EnvSeBase field_0x80; + /* 0x088 */ Z2EnvSeBase field_0x88; + /* 0x090 */ Z2Calc::FNoise1f field_0x90; + /* 0x0A0 */ Z2Calc::FNoise1f field_0xa0; + /* 0x0B0 */ Z2Calc::FNoise1f field_0xb0; + /* 0x0C0 */ Z2Calc::FNoise1f field_0xc0; + /* 0x0D0 */ Z2Calc::FNoise1f field_0xd0; + /* 0x0E0 */ Z2Calc::FNoise1f field_0xe0; + /* 0x0F0 */ Z2Calc::FNoise1f field_0xf0; + /* 0x100 */ Z2Calc::FNoise1f field_0x100; + /* 0x110 */ Z2EnvSeBase field_0x110; + /* 0x118 */ Z2EnvSeBase field_0x118; + /* 0x120 */ Z2Calc::FNoise1f field_0x120; + /* 0x130 */ Z2Calc::FNoise1f field_0x130; + /* 0x140 */ u8 field_0x140; + /* 0x141 */ u8 field_0x141; + /* 0x144 */ Z2EnvSeDir field_0x144; + /* 0x160 */ u8 field_0x160; + /* 0x164 */ Z2MultiSeMgr field_0x164; + /* 0x180 */ Z2EnvSeBase field_0x180; + /* 0x188 */ u8 field_0x188; + /* 0x18C */ Z2Calc::FNoise1f field_0x18c; + /* 0x19C */ Z2Calc::FNoise1f field_0x19c; + /* 0x1BC */ Z2MultiSeMgr field_0x1bc; + /* 0x1D8 */ Z2EnvSeBase field_0x1d8; + /* 0x1E0 */ u8 field_0x1e0; + /* 0x1E4 */ f32 field_0x1e4; + /* 0x1E8 */ f32 field_0x1e8; + /* 0x1EC */ f32 field_0x1ec; + /* 0x1F0 */ Z2MultiSeMgr field_0x1f0; + /* 0x20C */ Z2EnvSeBase field_0x20c; + /* 0x214 */ u8 field_0x214; + /* 0x218 */ f32 field_0x218; + /* 0x21C */ f32 field_0x21c; + /* 0x220 */ f32 field_0x220; + /* 0x224 */ Z2MultiSeMgr field_0x224; + /* 0x240 */ Z2EnvSeBase field_0x240; + /* 0x248 */ u8 field_0x248; + /* 0x24C */ f32 field_0x24c; + /* 0x250 */ f32 field_0x250; + /* 0x254 */ f32 field_0x254; + /* 0x258 */ Z2MultiSeMgr field_0x258; + /* 0x274 */ Z2EnvSeBase field_0x274; + /* 0x27C */ u8 field_0x27c; + /* 0x280 */ f32 field_0x280; + /* 0x284 */ f32 field_0x284; + /* 0x288 */ f32 field_0x288; + /* 0x28C */ Z2MultiSeMgr field_0x28c; + /* 0x2A8 */ Z2EnvSeBase field_0x2a8; + /* 0x2B0 */ u8 field_0x2b0; + /* 0x2B4 */ f32 field_0x2b4; + /* 0x2B8 */ f32 field_0x2b8; + /* 0x2BC */ f32 field_0x2bc; + /* 0x2C0 */ Z2MultiSeMgr field_0x2c0; + /* 0x2DC */ Z2EnvSeBase field_0x2dc; + /* 0x2E4 */ u8 field_0x2e4; + /* 0x2E8 */ Z2Calc::FNoise1f field_0x2e8; + /* 0x2F8 */ Z2Calc::FNoise1f field_0x2f8; + /* 0x308 */ f32 field_0x308; +}; // Size: 0x30C #endif /* Z2ENVSEMGR_H */ diff --git a/include/Z2AudioLib/Z2SceneMgr.h b/include/Z2AudioLib/Z2SceneMgr.h index dfb77c2aed..6445f8f6b2 100644 --- a/include/Z2AudioLib/Z2SceneMgr.h +++ b/include/Z2AudioLib/Z2SceneMgr.h @@ -17,7 +17,7 @@ public: void load1stDynamicWave(); void _load1stWaveInner_1(); void _load1stWaveInner_2(); - void check1stDynamicWave(); + bool check1stDynamicWave(); void load2ndDynamicWave(); void sceneBgmStart(); void loadStaticWaves(); diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 1fd1e895d9..00f1a7861b 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -2130,6 +2130,12 @@ public: /* 80140888 */ void statusWindowExecute(cXyz const*, s16); /* 80140984 */ void statusWindowDraw(); /* 80140AC8 */ void resetStatusWindow(); + /* 8018280C */ void getChainGrabActor(); + /* 80182814 */ void checkCokkoGlide() const; + /* 8018283C */ void checkCameraLargeDamage() const; + /* 80182870 */ void getHsSubChainTopPos() const; + /* 80182888 */ void checkCutHeadProc() const; + /* 8018289C */ void getRideActor(); virtual cXyz* getMidnaAtnPos() const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 61e0b9b342..4aa5cfc1e0 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -327,6 +327,14 @@ public: void changeDemoParam2(s16); void cancelOriginalDemo(); void changeOriginalDemo(); + /* 801829E0 */ void checkThrowDamage() const; + /* 80182A10 */ void checkGoronSideMove() const; + /* 80182AAC */ void getRightFootPosP(); + /* 80182AB4 */ void getLeftFootPosP(); + /* 80182ABC */ u32 getMidnaActor(); + /* 80182AC4 */ void checkCopyRodThrowAfter() const; + /* 80182AD8 */ void checkRide() const; + /* 80182B9C */ void getRightHandPos() const; virtual cXyz* getMidnaAtnPos() const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); @@ -512,6 +520,9 @@ public: bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; } bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); } bool checkEnemyAttentionLock() const { return i_checkResetFlg0(ENEMY_ATTENTION_LOCK); } + bool checkCanoeSlider() const { return mSpecialMode == 0x2D; } + u8 getCutType() const { return mCutType; } + u16 getSwordAtUpTime() const { return mSwordUpTimer; } // some functions use these function as an inline // is there a better way to handle this? @@ -540,10 +551,10 @@ public: bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); } inline static u32 getLastSceneMode(); - inline bool checkWoodSwordEquip(); + inline static bool checkWoodSwordEquip(); inline BOOL i_checkSwordGet(); inline bool i_checkShieldGet() const; - inline BOOL checkNowWolf(); + inline static BOOL checkNowWolf(); inline bool checkZoraWearFlg() const; static daMidna_c* getMidnaActor() { return m_midnaActor; } diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index 011835eb3b..b348bee671 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -136,6 +136,9 @@ public: void SetSe(u8 se) { mSe = se; } void SetMtrl(u8 mtrl) { mMtrl = mtrl; } void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; } + u8 GetSe() { return mSe; } + u8 GetSpl() { return mSpl; } + u8 GetMtrl() { return mMtrl; } // private: /* 0x1C */ u8 mSe; @@ -207,6 +210,9 @@ public: cXyz* GetAtVecP() { return mGObjAt.GetVecP(); } void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); } void SetAtHitCallback(dCcD_AtHitCallback callback) { mGObjAt.SetHitCallback(callback); } + u8 GetAtSe() { return mGObjAt.GetSe(); } + s32 GetAtSpl() { return mGObjAt.GetSpl(); } + u8 GetAtMtrl() { return mGObjAt.GetMtrl(); } static u32 const m_hitSeID[24]; diff --git a/include/d/cc/d_cc_uty.h b/include/d/cc/d_cc_uty.h index 16844cee7f..1182425f29 100644 --- a/include/d/cc/d_cc_uty.h +++ b/include/d/cc/d_cc_uty.h @@ -2,5 +2,22 @@ #define D_CC_D_CC_UTY_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" + +struct dCcU_AtInfo { + /* 0x00 */ cCcD_Obj* mpCollider; + /* 0x04 */ fopAc_ac_c* mpActor; + /* 0x08 */ Z2Creature* mpSound; + /* 0x0C */ u8 field_0xc[2]; + /* 0x0E */ s16 mHitDirection; + /* 0x10 */ u8 field_0x10[4]; + /* 0x14 */ u32 mHitBit; + /* 0x18 */ u32 field_0x18; + /* 0x1C */ u16 mAttackPower; + /* 0x1E */ u8 mPowerType; + /* 0x1F */ s8 mHitStatus; // maybe inaccurate name + /* 0x20 */ u8 mHitType; +}; #endif /* D_CC_D_CC_UTY_H */ diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 352eb23c04..050868de06 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -178,6 +178,19 @@ public: mCStickDirection = param_1; mCStickSetFlag = flag; } + void setCStickStatusForce(u8 status, u8 param_1, u8 flag) { + mCStickStatusForce = status; + mCStickDirectionForce = param_1; + mCStickSetFlagForce = flag; + } + void setSButtonStatus(u8 status, u8 flag) { + mSButtonStatus = status; + mSButtonSetFlag = flag; + } + void setSButtonStatusForce(u8 status, u8 flag) { + mSButtonStatusForce = status; + mSButtonSetFlagForce = flag; + } void setItemLifeCount(float hearts, u8 type) { mItemLifeCount += hearts; mItemLifeCountType = type; @@ -220,6 +233,10 @@ public: const char* getStartStageName() { return mStartStage.getName(); } s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); } s8 getStartStageLayer() { return mStartStage.getLayer(); } + const char* getNextStageName() { return mNextStage.getName(); } + dStage_startStage_c* getNextStartStage() { return &mNextStage; } + s8 getNextStageRoomNo() { return mNextStage.getRoomNo(); } + s8 getNextStageLayer() { return mNextStage.getLayer(); } u8 isHeapLockFlag() { return mHeapLockFlag; } void setHeapLockFlag(u8 status) { mHeapLockFlag = status; } void setSubHeapLockFlag(int idx, u8 status) { mSubHeapLockFlag[idx] = status; } @@ -235,6 +252,10 @@ public: s16 getStartStagePoint() { return mStartStage.getPoint(); } s8 getStartStageDarkArea() { return mStartStage.getDarkArea(); } void setStartStageDarkArea(s8 darkArea) { mStartStage.setDarkArea(darkArea); } + void setStartStageLayer(s8 layer) { mStartStage.setLayer(layer); } + s16 getNextStagePoint() { return mNextStage.getPoint(); } + s8 getNextStageWipe() { return mNextStage.getWipe(); } + bool isEnableNextStage() { return mNextStage.isEnable(); } void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; } void* getPlayer(int idx) { return mPlayer[idx]; } JKRArchive* getMain2DArchive() { return mMain2DArchive; } @@ -260,6 +281,25 @@ public: void offPauseFlag() { mPauseFlag = false; } camera_class* getCamera(int idx) { return mCameraInfo[idx].mCamera; } s32 checkStatus(u16 flags) { return flags & mStatus; } + s16 getItemPachinkoNumCount() { return mItemPachinkoNumCount; } + void clearItemPachinkoNumCount() { mItemPachinkoNumCount = 0; } + u8 getSButtonStatusForce() { return mSButtonStatusForce; } + u8 getSButtonSetFlagForce() { return mSButtonSetFlagForce; } + u8 getCStickStatusForce() { return mCStickStatusForce; } + u8 getCStickSetFlagForce() { return mCStickSetFlagForce; } + u8 getCStickDirectionForce() { return mCStickDirectionForce; } + bool isCStickSetFlag(u8 flag) { return mCStickSetFlag & flag; } + void show2dOn() { mShow2D = 1; } + s16 getItemMaxLifeCount() { return mItemMaxLifeCount; } + f32 getItemLifeCount() { return mItemLifeCount; } + void clearItemMaxLifeCount() { mItemMaxLifeCount = 0; } + void clearItemLifeCount() { + mItemLifeCount = 0.0f; + mItemLifeCountType = 0; + } + void setCameraParamFileName(int i, char* name) { mCameraInfo[i].mCameraParamFileName = name; } + s8 getLayerOld() { return mLayerOld; } + void setStatus(u16 status) { mStatus = status; } public: /* 0x00000 */ dBgS mDBgS; @@ -302,7 +342,7 @@ public: /* 0x04E04 */ dPa_control_c* mParticle; /* 0x04E08 */ void* mSimpleModel; /* 0x04E0C */ u8 mWindowNum; - /* 0x04E0D */ u8 mLayerOld; + /* 0x04E0D */ s8 mLayerOld; /* 0x04E0E */ u16 mStatus; /* 0x04E10 */ dDlst_window_c mWindow[1]; /* 0x04E3C */ dComIfG_camera_info_class mCameraInfo[1]; @@ -515,6 +555,8 @@ extern GXColor g_blackColor; extern GXColor g_clearColor; extern GXColor g_whiteColor; +typedef int (**request_of_phase_process_fn)(void*); + void dComIfGp_setItemLifeCount(float, u8); void dComIfGp_setItemRupeeCount(long); int dComIfGs_isItemFirstBit(u8); @@ -538,7 +580,7 @@ void dComIfGs_setWarpMarkFlag(u8); void dComIfGs_setSelectEquipSword(u8); void dComIfGs_setSelectEquipShield(u8); void* dComIfG_getStageRes(char const*); -void dComLbG_PhaseHandler(request_of_phase_process_class*, int (**param_1)(void*), void*); +void dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn, void*); void dComIfGp_addSelectItemNum(int, s16); BOOL dComIfGs_isOneZoneSwitch(int, int); u8 dComIfGp_getSelectItem(int); @@ -559,6 +601,12 @@ bool dComIfGp_checkMapShow(); s32 dComIfGp_setHeapLockFlag(u8); s8 dComIfGs_sense_type_change_Get(); u8 dComIfGp_world_dark_get(); +JKRExpHeap* dComIfGp_getSubHeap2D(int); +void dComIfGp_world_dark_set(u8); +void dComIfGs_BossLife_public_Set(s8); + +class scene_class; +BOOL dComIfG_resetToOpening(scene_class*); inline void dComIfGp_setRStatus(u8 status, u8 flag) { g_dComIfG_gameInfo.play.setRStatus(status, flag); @@ -857,6 +905,30 @@ inline const char* dComIfGp_getStartStageName() { return g_dComIfG_gameInfo.play.getStartStageName(); } +inline const char* dComIfGp_getNextStageName() { + return g_dComIfG_gameInfo.play.getNextStageName(); +} + +inline dStage_startStage_c* dComIfGp_getNextStartStage() { + return g_dComIfG_gameInfo.play.getNextStartStage(); +} + +inline s8 dComIfGp_getNextStageRoomNo() { + return g_dComIfG_gameInfo.play.getNextStageRoomNo(); +} + +inline s8 dComIfGp_getNextStageLayer() { + return g_dComIfG_gameInfo.play.getNextStageLayer(); +} + +inline s32 dComIfGp_getNextStageWipe() { + return g_dComIfG_gameInfo.play.getNextStageWipe(); +} + +inline bool dComIfGp_isEnableNextStage() { + return g_dComIfG_gameInfo.play.isEnableNextStage(); +} + inline void dComIfGd_reset() { g_dComIfG_gameInfo.drawlist.reset(); } @@ -975,10 +1047,18 @@ inline int dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) { return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, heap); } +inline int dComIfG_setStageRes(const char* name, JKRHeap* heap) { + return g_dComIfG_gameInfo.mResControl.setStageRes(name, heap); +} + inline int dComIfG_syncObjectRes(const char* name) { return g_dComIfG_gameInfo.mResControl.syncObjectRes(name); } +inline int dComIfG_syncStageRes(const char* name) { + return g_dComIfG_gameInfo.mResControl.syncStageRes(name); +} + inline JKRExpHeap* dComIfGp_getExpHeap2D() { return g_dComIfG_gameInfo.play.getExpHeap2D(); } @@ -1003,8 +1083,8 @@ inline s64 dComIfGs_getSaveTotalTime() { return g_dComIfG_gameInfo.info.getSaveTotalTime(); } -inline dSv_save_c& dComIfGs_getSaveData() { - return g_dComIfG_gameInfo.info.getSavedata(); +inline dSv_save_c* dComIfGs_getSaveData() { + return &g_dComIfG_gameInfo.info.getSavedata(); } inline void dComIfGs_setLineUpItem() { @@ -1107,6 +1187,10 @@ inline s16 dComIfGp_getStartStagePoint() { return g_dComIfG_gameInfo.play.getStartStagePoint(); } +inline s16 dComIfGp_getNextStagePoint() { + return g_dComIfG_gameInfo.play.getNextStagePoint(); +} + inline void dComIfGs_initZone() { g_dComIfG_gameInfo.info.initZone(); } @@ -1167,6 +1251,10 @@ inline dBgS& dComIfG_Bgsp() { return g_dComIfG_gameInfo.play.mDBgS; } +inline dCcS* dComIfG_Ccsp() { + return &g_dComIfG_gameInfo.play.mDCcS; +} + inline s16 dComIfGs_getStartPoint() { return g_dComIfG_gameInfo.info.getRestart().getStartPoint(); } @@ -1199,7 +1287,7 @@ inline void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) { g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag); } -inline s32 dComIfGs_getLastSceneMode() { +inline u32 dComIfGs_getLastSceneMode() { return g_dComIfG_gameInfo.info.getRestart().getLastMode(); } @@ -1450,6 +1538,26 @@ inline void dComIfGp_setCStickStatus(u8 param_0, u8 param_1, u8 param_2) { g_dComIfG_gameInfo.play.setCStickStatus(param_0, param_1, param_2); } +inline void dComIfGp_setCStickStatusForce(u8 param_0, u8 param_1, u8 param_2) { + g_dComIfG_gameInfo.play.setCStickStatusForce(param_0, param_1, param_2); +} + +inline u8 dComIfGp_getCStickDirectionForce() { + return g_dComIfG_gameInfo.play.getCStickDirectionForce(); +} + +inline u8 dComIfGp_getCStickStatusForce() { + return g_dComIfG_gameInfo.play.getCStickStatusForce(); +} + +inline u8 dComIfGp_getCStickSetFlagForce() { + return g_dComIfG_gameInfo.play.getCStickSetFlagForce(); +} + +inline bool dComIfGp_isCStickSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isCStickSetFlag(flag); +} + inline void* dComIfG_getObjectIDRes(const char* arc_name, u16 id) { return g_dComIfG_gameInfo.mResControl.getObjectIDRes(arc_name, id); } @@ -1536,6 +1644,10 @@ inline u8 dComIfG_getBrightness() { return g_dComIfG_gameInfo.mFadeBrightness; } +inline void dComIfG_setBrightness(u8 brightness) { + g_dComIfG_gameInfo.mFadeBrightness = brightness; +} + inline void dComIfGd_drawListItem3d() { g_dComIfG_gameInfo.drawlist.drawOpaListItem3d(); g_dComIfG_gameInfo.drawlist.drawXluListItem3d(); @@ -1545,4 +1657,108 @@ inline void dComIfGd_init() { g_dComIfG_gameInfo.drawlist.init(); } +inline s16 dComIfGp_getItemPachinkoNumCount() { + return g_dComIfG_gameInfo.play.getItemPachinkoNumCount(); +} + +inline void dComIfGp_clearItemPachinkoNumCount() { + g_dComIfG_gameInfo.play.clearItemPachinkoNumCount(); +} + +inline u8 dComIfGp_getSButtonStatusForce() { + return g_dComIfG_gameInfo.play.getSButtonStatusForce(); +} + +inline u8 dComIfGp_getSButtonSetFlagForce() { + return g_dComIfG_gameInfo.play.getSButtonSetFlagForce(); +} + +inline void dComIfGp_setSButtonStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setSButtonStatus(status, flag); +} + +inline void dComIfGp_setSButtonStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setSButtonStatusForce(status, flag); +} + +inline void dComIfGp_2dShowOn() { + g_dComIfG_gameInfo.play.show2dOn(); +} + +inline s16 dComIfGp_getItemMaxLifeCount() { + return g_dComIfG_gameInfo.play.getItemMaxLifeCount(); +} + +inline f32 dComIfGp_getItemLifeCount() { + return g_dComIfG_gameInfo.play.getItemLifeCount(); +} + +inline void dComIfGp_clearItemMaxLifeCount() { + g_dComIfG_gameInfo.play.clearItemMaxLifeCount(); +} + +inline void dComIfGp_clearItemLifeCount() { + g_dComIfG_gameInfo.play.clearItemLifeCount(); +} + +inline u8 dComIfGp_getItemLifeCountType() { + return g_dComIfG_gameInfo.play.getItemLifeCountType(); +} + +inline void dComIfGp_particle_cleanup() { + g_dComIfG_gameInfo.play.getParticle()->cleanup(); +} + +inline void dComIfGp_setCameraParamFileName(int i, char* name) { + g_dComIfG_gameInfo.play.setCameraParamFileName(i, name); +} + +inline void dComIfGs_onDarkClearLV(int lv) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onDarkClearLV(lv); +} + +inline void dComIfGs_onTransformLV(int lv) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onTransformLV(lv); +} + +inline s8 dComIfGp_getLayerOld() { + return g_dComIfG_gameInfo.play.getLayerOld(); +} + +inline void dComIfGp_setStartStageLayer(s8 layer) { + g_dComIfG_gameInfo.play.setStartStageLayer(layer); +} + +inline void dComIfGs_onSaveDunSwitch(int flag) { + g_dComIfG_gameInfo.info.getDan().onSwitch(flag); +} + +inline void dComIfGp_setStatus(u16 status) { + g_dComIfG_gameInfo.play.setStatus(status); +} + +inline int dComIfG_syncAllObjectRes() { + return g_dComIfG_gameInfo.mResControl.syncAllObjectRes(); +} + +inline void dComIfGp_particle_readScene(u8 particle_no, mDoDvdThd_toMainRam_c** param_1) { + g_dComIfG_gameInfo.play.getParticle()->readScene(particle_no, param_1); +} + +inline void dComIfGp_particle_calc3D() { + g_dComIfG_gameInfo.play.getParticle()->calc3D(); +} + +inline void dComIfGp_particle_calc2D() { + g_dComIfG_gameInfo.play.getParticle()->calc2D(); +} + +inline u8 dComIfGs_getDataNum() { + return g_dComIfG_gameInfo.info.getDataNum(); +} + +inline char* dComIfGs_getPlayerName() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getLinkName(); +} + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_attention.h b/include/d/d_attention.h index ed98d11aa1..4f35de5604 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -197,6 +197,9 @@ public: /* 8007378C */ void CheckObjectTarget(s32); /* 800737E4 */ bool LockonTruth(); /* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32); + /* 8016E424 */ void LockEdge(); + /* 80182994 */ void GetCheckObjectCount(); + /* 80182AD0 */ void keepLock(int); dAttCatch_c& getCatghTarget() { return mCatghTarget; } bool chkFlag(u32 flag) { return mFlags & flag; } diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index b3f9ef39be..fb07cf9965 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -26,12 +26,34 @@ private: /* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat; }; -class dDlst_FileInfo_c { +class cM_rnd_c { public: - void draw(void); - ~dDlst_FileInfo_c(); + /* 80053CDC */ void init(int, int, int); + /* 80053CEC */ f32 get(); + /* 80053DE0 */ f32 getF(f32); + /* 80053E18 */ f32 getFX(f32); + /* 80053E60 */ f32 getValue(f32, f32); -private: + /* 0x0 */ int seed0; + /* 0x4 */ int seed1; + /* 0x8 */ int seed2; +}; + +class dDlst_base_c { +public: + virtual void draw(); +}; + +class dDlst_FileInfo_c : public dDlst_base_c { +public: + dDlst_FileInfo_c() {} + virtual void draw(void); + virtual ~dDlst_FileInfo_c(); // inlined + + /* 0x04 */ J2DScreen* Scr; + /* 0x08 */ JUTFont* mFont; + /* 0x0C */ J2DPane* mBasePane; + /* 0x10 */ J2DPane* field_0x10; }; class dDlst_peekZ_c { @@ -172,10 +194,7 @@ struct view_class { /* 0xD0 */ f32 field_0xd0; }; -class dDlst_base_c { -public: - virtual void draw(); -}; +extern u8 data_80450ED0; // Wipe class dDlst_list_c { public: @@ -208,6 +227,8 @@ public: void setXluListBG() { setXluDrawList(mXluListBG); } void setXluList2DScreen() { setXluDrawList(mList2DScreen); } + static void offWipe() { data_80450ED0 = 0; } + static u8 mWipeDlst[72]; static u8 mWipeColor[4]; static f32 mWipeRate; diff --git a/include/d/d_item.h b/include/d/d_item.h index af66f97e0f..860f370b52 100644 --- a/include/d/d_item.h +++ b/include/d/d_item.h @@ -4,6 +4,8 @@ #include "d/com/d_com_inf_game.h" #include "dolphin/types.h" +void execItemGet(u8 item_id); + void item_func_HEART(); void item_func_GREEN_RUPEE(); void item_func_BLUE_RUPEE(); diff --git a/include/d/d_kyeff.h b/include/d/d_kyeff.h index baa4888a2c..3e92e91e2a 100644 --- a/include/d/d_kyeff.h +++ b/include/d/d_kyeff.h @@ -5,7 +5,7 @@ class dKyeff_c { public: - bool execute(); + int execute(); }; #endif /* D_D_KYEFF_H */ diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 5419ba7fe5..57ff36799d 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -87,6 +87,12 @@ public: return syncRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); } + int syncStageRes(const char* name) { + return syncRes(name, &mStageInfo[0], ARRAY_SIZE(mStageInfo)); + } + + int syncAllObjectRes() { return syncAllRes(&mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); } + int deleteObjectRes(const char* name) { return deleteRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); } diff --git a/include/d/d_stage.h b/include/d/d_stage.h index e0c2065ab2..8ded7ec695 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -556,8 +556,9 @@ public: /* 800248A8 */ void destroyMemoryBlock(); /* 8002490C */ static void setArcBank(int, char const*); /* 80024940 */ static char* getArcBank(int); - /* 80024954 */ static int resetArchiveBank(int); + /* 80024954 */ static bool resetArchiveBank(int); /* 80024DB0 */ static void SetTimePass(int); + /* 8025BAAC */ void setZoneNo(int, int); static s32 GetTimePass(); inline static s8 getStayNo() { return struct_80450D64; } @@ -566,6 +567,10 @@ public: return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag); } static char* getDemoArcName() { return mDemoArcName; } + static char* getArcBankName() { return mArcBankName; } + static void setRoomReadId(s8 id) { data_804505F0 = id; } + static void offNoChangeRoom() { data_80450D68 = false; } + static void setProcID(u32 id) { mProcID = id; } static JKRExpHeap* mMemoryBlock[19]; static char mArcBank[32][10]; @@ -606,10 +611,12 @@ public: } void set(const char*, s8, s16, s8, s8, u8); void offEnable() { enabled = 0; } + s8 isEnable() const { return enabled; } + s8 getWipe() const { return wipe; } private: s8 enabled; - u8 wipe; + s8 wipe; u8 wipe_speed; }; @@ -686,6 +693,8 @@ static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*); u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int); void dStage_changeScene(int, f32, u32, s8, s16, int); +void dStage_infoCreate(); +u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer); inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) { return param_0 & 0x3f; @@ -703,6 +712,10 @@ inline u32 dStage_stagInfo_GetMiniMap(stage_stag_info_class* pstag) { return (pstag->field_0x0a >> 0xD) & 7; } +inline u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info) { + return (p_info->field_0x0a >> 0x3) & 0xFF; +} + inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } diff --git a/include/d/d_timer.h b/include/d/d_timer.h index 8e461f136f..2c20b19c48 100644 --- a/include/d/d_timer.h +++ b/include/d/d_timer.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +void dTimer_createStockTimer(); + #endif /* D_D_TIMER_H */ diff --git a/include/d/file/d_file_sel_info.h b/include/d/file/d_file_sel_info.h index 484becba0c..ac71a85d7e 100644 --- a/include/d/file/d_file_sel_info.h +++ b/include/d/file/d_file_sel_info.h @@ -1,6 +1,38 @@ #ifndef D_FILE_D_FILE_SEL_INFO_H #define D_FILE_D_FILE_SEL_INFO_H +#include "d/com/d_com_inf_game.h" #include "dolphin/types.h" +class dFile_info_c { +public: + /* 80192434 */ dFile_info_c(JKRArchive*, u8); + /* 80192570 */ void screenSet(); + /* 80192954 */ int setSaveData(dSv_save_c*, int, u8); + /* 80192AA0 */ void setHeartCnt(dSv_save_c*); + /* 80192C08 */ void setSaveDate(dSv_save_c*); + /* 80192C70 */ void setPlayTime(dSv_save_c*); + /* 80192D58 */ void modeWait(); + /* 80192D5C */ void modeMove(); + /* 80192D60 */ void _draw(); + + /* 801924A0 */ virtual ~dFile_info_c(); + +private: + /* 0x04 */ JKRArchive* mArchive; + /* 0x08 */ dDlst_FileInfo_c mFileInfo; + /* 0x1C */ u8 field_0x1c[4]; + /* 0x20 */ u8 field_0x20; + /* 0x21 */ u8 field_0x21; + /* 0x22 */ u8 field_0x22; + /* 0x24 */ CPaneMgrAlpha* mDatBase; + /* 0x28 */ CPaneMgrAlpha* mNoDatBase; + /* 0x2C */ char* mPlayerName; + /* 0x30 */ char* mSaveDate; + /* 0x34 */ char* mPlayTime; + /* 0x38 */ char* mSaveStatus; +}; + +typedef void (dFile_info_c::*warningFunc)(void); + #endif /* D_FILE_D_FILE_SEL_INFO_H */ diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index add1722d2a..35de0a93d7 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -13,6 +13,10 @@ void dKankyo_DayProc(); void dKy_set_nexttime(f32); +void dKy_itudemo_se(); +BOOL dKy_darkworld_spot_check(char const* stageName, int roomNo); +void dKy_darkworld_Area_set(char const* stageName, int roomNo); +void dKy_FiveSenses_fullthrottle_dark(); struct LIGHT_INFLUENCE { /* 800CFC7C */ ~LIGHT_INFLUENCE(); diff --git a/include/d/kankyo/d_kankyo_wether.h b/include/d/kankyo/d_kankyo_wether.h index 6e768e1002..92bcb7de63 100644 --- a/include/d/kankyo/d_kankyo_wether.h +++ b/include/d/kankyo/d_kankyo_wether.h @@ -8,9 +8,12 @@ void dKyw_wether_draw(); void dKyw_wether_delete(); +void dKyw_wether_move(); +void dKyw_wether_move_draw(); void dKyw_wether_move_draw2(); void dKyw_wether_draw2(); void dKyw_wether_delete2(); +void dKyw_wether_init(); void dKyw_wether_init2(); static void dKyw_wind_init(); static void dKyw_pntwind_init(); diff --git a/include/d/meter/d_meter2.h b/include/d/meter/d_meter2.h index df92f8011a..eb711581b8 100644 --- a/include/d/meter/d_meter2.h +++ b/include/d/meter/d_meter2.h @@ -10,13 +10,171 @@ class dMeterMap_c; +class dMeterSub_c : public dDlst_base_c { +public: + /* 8019412C */ virtual void draw(); + /* 801940D4 */ virtual ~dMeterSub_c(); + /* 8019411C */ virtual bool _create(); + /* 80194130 */ virtual bool _execute(u32); + /* 80194124 */ virtual bool _delete(); + /* 80194138 */ virtual bool isDead(); +}; + +class dMeterButton_c : public dDlst_base_c { +public: + /* 80201328 */ dMeterButton_c(); + /* 802013CC */ void _create(); + /* 80201404 */ void _execute(u32, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, + bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, + bool); + /* 80202A9C */ void _delete(); + /* 802032C4 */ void alphaAnimeButtonA(u32, bool); + /* 8020339C */ void alphaAnimeButtonB(u32, bool); + /* 802034A8 */ void alphaAnimeButtonR(u32, bool); + /* 802035AC */ void alphaAnimeButtonZ(u32, bool); + /* 802036C0 */ void alphaAnimeButton3D(u32, bool); + /* 802037B8 */ void alphaAnimeButtonC(u32, bool); + /* 80203878 */ void alphaAnimeButtonS(u32, bool); + /* 802038F4 */ void alphaAnimeButtonX(u32, bool); + /* 80203A08 */ void alphaAnimeButtonY(u32, bool); + /* 80203B1C */ void alphaAnimeButtonNun(u32, bool); + /* 80203C30 */ void alphaAnimeButtonRemo(u32, bool); + /* 80203D44 */ void alphaAnimeButtonRemo2(u32, bool); + /* 80203E58 */ void alphaAnimeButtonAR(u32, bool); + /* 80203F60 */ void alphaAnimeButton3DB(u32, bool); + /* 80204068 */ void alphaAnimeButtonNURE(u32, bool); + /* 80204170 */ void alphaAnimeButtonReel(u32, bool); + /* 80204278 */ void alphaAnimeButtonReel2(u32, bool); + /* 80204368 */ void alphaAnimeButtonAB(u32, bool); + /* 80204458 */ void alphaAnimeButtonTate(u32, bool); + /* 80204548 */ void alphaAnimeButtonNunZ(u32, bool); + /* 80204620 */ void alphaAnimeButtonNunC(u32, bool); + /* 802046F8 */ void alphaAnimeButtonBin(u32, bool); + /* 802047E8 */ void screenInitButton(); + /* 80205834 */ void screenInitText(); + /* 80205CA0 */ void updateButton(); + /* 80206978 */ void updateText(u32); + /* 80206CE0 */ void setAlphaButtonAAnimeMin(); + /* 80206D70 */ void isFastSet(int); + /* 80207060 */ void setAlphaButtonAAnimeMax(); + /* 8020714C */ void setAlphaButtonBAnimeMin(); + /* 802071DC */ void setAlphaButtonBAnimeMax(); + /* 802072C8 */ void setAlphaButtonRAnimeMin(); + /* 80207358 */ void setAlphaButtonRAnimeMax(); + /* 80207444 */ void setAlphaButtonZAnimeMin(); + /* 802074D4 */ void setAlphaButtonZAnimeMax(); + /* 802075C0 */ void setAlphaButton3DAnimeMin(); + /* 80207654 */ void setAlphaButton3DAnimeMax(); + /* 80207740 */ void setAlphaButton3DVAnimeMin(); + /* 80207744 */ void setAlphaButton3DVAnimeMax(); + /* 80207748 */ void setAlphaButtonCAnimeMin(); + /* 802077EC */ void setAlphaButtonCAnimeMax(); + /* 80207A28 */ void setAlphaButtonSAnimeMin(); + /* 80207AB8 */ void setAlphaButtonSAnimeMax(); + /* 80207BA4 */ void setAlphaButtonXAnimeMin(); + /* 80207C34 */ void setAlphaButtonXAnimeMax(); + /* 80207D20 */ void setAlphaButtonYAnimeMin(); + /* 80207DB0 */ void setAlphaButtonYAnimeMax(); + /* 80207E9C */ void setAlphaButtonNunAnimeMin(); + /* 80207F34 */ void setAlphaButtonNunAnimeMax(); + /* 80208028 */ void setAlphaButtonRemoAnimeMin(); + /* 802080C0 */ void setAlphaButtonRemoAnimeMax(); + /* 802081B4 */ void setAlphaButtonRemo2AnimeMin(); + /* 8020824C */ void setAlphaButtonRemo2AnimeMax(); + /* 80208340 */ void setAlphaButtonARAnimeMin(); + /* 802083D8 */ void setAlphaButtonARAnimeMax(); + /* 802084D8 */ void setAlphaButton3DBAnimeMin(); + /* 80208570 */ void setAlphaButton3DBAnimeMax(); + /* 80208670 */ void setAlphaButtonNUREAnimeMin(); + /* 80208708 */ void setAlphaButtonNUREAnimeMax(); + /* 80208808 */ void setAlphaButtonReelAnimeMin(); + /* 802088A0 */ void setAlphaButtonReelAnimeMax(); + /* 802089A0 */ void setAlphaButtonReel2AnimeMin(); + /* 80208A38 */ void setAlphaButtonReel2AnimeMax(); + /* 80208AEC */ void setAlphaButtonABAnimeMin(); + /* 80208B84 */ void setAlphaButtonABAnimeMax(); + /* 80208C38 */ void setAlphaButtonTateAnimeMin(); + /* 80208CD0 */ void setAlphaButtonTateAnimeMax(); + /* 80208D84 */ void setAlphaButtonNunZAnimeMin(); + /* 80208E1C */ void setAlphaButtonNunZAnimeMax(); + /* 80208F1C */ void setAlphaButtonNunCAnimeMin(); + /* 80208FB4 */ void setAlphaButtonNunCAnimeMax(); + /* 802090B4 */ void setAlphaButtonBinAnimeMin(); + /* 8020914C */ void setAlphaButtonBinAnimeMax(); + /* 8020924C */ void setAlphaButtonOAnimeMin(int); + /* 802092C0 */ void setAlphaButtonOAnimeMax(int); + /* 80209368 */ void setAlphaIconAnimeMin(); + /* 802093D8 */ void setAlphaIconAnimeMax(); + /* 80209474 */ void isClose(); + /* 802095C0 */ void setString(char*, u8, u8, u8); + /* 80209CEC */ void hideAll(); + /* 80209D7C */ void getCenterPosCalc(u8, char*, int); + /* 8020A540 */ void trans_button(int, f32); + /* 8020A94C */ void hide_button(u8); + /* 8020AA84 */ void pikariCheck(); + /* 8020AE68 */ void paneTrans(CPaneMgr*, f32, f32, u8); + + /* 80202240 */ virtual void draw(); + /* 80201370 */ virtual ~dMeterButton_c(); +}; + +class dMeterString_c : public dMeterSub_c { +public: + /* 8020ED60 */ dMeterString_c(int); + /* 8020F5A4 */ void createString(int); + /* 8020F66C */ void playBckAnimation(f32); + /* 8020F6EC */ void drawPikari(); + /* 8020FA88 */ void isLeadByte(int); + + /* 8020F1B0 */ virtual void draw(); + /* 8020EDF4 */ virtual ~dMeterString_c(); + /* 8020EE70 */ virtual bool _create(); + /* 8020F150 */ virtual bool _execute(u32); + /* 8020F49C */ virtual bool _delete(); +}; + +class dMeterHaihai_c : public dMeterSub_c { +public: + /* 8020AE8C */ dMeterHaihai_c(u8); + /* 8020B814 */ void drawHaihai(u8, f32, f32, f32, f32); + /* 8020B518 */ void drawHaihai(u8); + /* 8020B9B0 */ void drawHaihaiLeft(f32, f32); + /* 8020BA4C */ void drawHaihaiRight(f32, f32); + /* 8020BAE8 */ void drawHaihaiTop(f32, f32); + /* 8020BB84 */ void drawHaihaiBottom(f32, f32); + /* 8020BC20 */ void setScale(f32); + /* 8020BEA0 */ void alphaAnimeHaihai(u32); + /* 8020BEA4 */ void updateHaihai(); + /* 8020BF00 */ void playBckAnime(J2DAnmTransformKey*); + /* 8020C078 */ void playBtkAnime(J2DAnmTextureSRTKey*); + /* 8020C1CC */ void playBpkAnime(J2DAnmColor*); + + /* 8020B140 */ virtual void draw(); + /* 8020AEF0 */ virtual ~dMeterHaihai_c(); + /* 8020AF6C */ virtual bool _create(); + /* 8020B0F4 */ virtual bool _execute(u32); + /* 8020BDAC */ virtual bool _delete(); +}; + class dMeter2_c : public msg_class { public: + enum { + /* 0x2 */ ARROW_MAX = 2, + /* 0x3 */ PACHINKO_MAX, + }; + + enum { + /* 0x0 */ X_ITEM, + /* 0x1 */ X_STATUS, + /* 0x2 */ Y_ITEM, + /* 0x3 */ Y_STATUS, + }; + /* 8021EA14 */ int _create(); /* 8021F128 */ int _execute(); /* 8021F370 */ int _draw(); /* 8021F49C */ int _delete(); - /* 8021F6EC */ void emphasisButtonDelete(); + /* 8021F6EC */ int emphasisButtonDelete(); /* 8021F780 */ void setLifeZero(); /* 8021F7B0 */ void checkStatus(); /* 8021FD60 */ void moveLife(); @@ -51,23 +209,29 @@ public: /* 80224F70 */ void alphaAnimeKey(); /* 802250F4 */ void alphaAnimeButton(); /* 802254C0 */ void alphaAnimeButtonCross(); - /* 802256DC */ void isShowLightDrop(); + /* 802256DC */ bool isShowLightDrop(); /* 802258A0 */ void killSubContents(u8); /* 80225960 */ void isKeyVisible(); - /* 802259F8 */ void isArrowEquip(); - /* 80225A64 */ void isPachinkoEquip(); + /* 802259F8 */ int isArrowEquip(); + /* 80225A64 */ int isPachinkoEquip(); void setNowLifeGauge(s16 life) { mNowLifeGauge = life; } + void onArrowSoundBit(int bit) { mArrowSound |= (1 << bit); } + void offArrowSoundBit(int bit) { mArrowSound &= ~(1 << bit); } + bool isArrowSoundBit(int bit) { return mArrowSound & (1 << bit); } + void onRupeeSoundBit(int bit) { mRupeeSound |= (1 << bit); } + void offRupeeSoundBit(int bit) { mRupeeSound &= ~(1 << bit); } + bool isRupeeSoundBit(int bit) { return mRupeeSound & (1 << bit); } private: /* 0x100 */ JKRExpHeap* mpHeap; /* 0x104 */ JKRExpHeap* mpSubHeap; /* 0x108 */ void* field_0x108; /* 0x10C */ dMeter2Draw_c* mpMeterDraw; - /* 0x110 */ dDlst_base_c* field_0x110; - /* 0x114 */ dDlst_base_c* field_0x114; - /* 0x118 */ dDlst_base_c* field_0x118; - /* 0x11C */ void* field_0x11c; + /* 0x110 */ dMeterSub_c* mpMeterSub; + /* 0x114 */ dMeterString_c* mpMeterString; + /* 0x118 */ dMeterButton_c* mpMeterButton; + /* 0x11C */ dMeterHaihai_c* field_0x11c; // type is a guess for now /* 0x120 */ dMeterMap_c* mpMap; /* 0x124 */ u32 field_0x124; /* 0x128 */ u32 field_0x128; @@ -104,32 +268,32 @@ private: /* 0x1B8 */ u16 field_0x1b8[5]; /* 0x1C2 */ u8 mLightDropNum; /* 0x1C3 */ u8 mNeedLightDropNum; - /* 0x1C4 */ u8 field_0x1c4; - /* 0x1C5 */ u8 field_0x1c5; + /* 0x1C4 */ u8 mDoStatus; + /* 0x1C5 */ u8 mAStatus; /* 0x1C6 */ u8 field_0x1c6; - /* 0x1C7 */ u8 field_0x1c7; - /* 0x1C8 */ u8 field_0x1c8; - /* 0x1C9 */ u8 field_0x1c9; - /* 0x1CA */ u8 field_0x1ca; - /* 0x1CB */ u8 field_0x1cb; - /* 0x1CC */ u8 field_0x1cc; - /* 0x1CD */ u8 field_0x1cd; - /* 0x1CE */ u8 field_0x1ce; - /* 0x1CF */ u8 field_0x1cf; - /* 0x1D0 */ u8 field_0x1d0; - /* 0x1D1 */ u8 field_0x1d1; - /* 0x1D2 */ u8 field_0x1d2[4]; + /* 0x1C7 */ u8 mCollectSmell; + /* 0x1C8 */ u8 mRStatus; + /* 0x1C9 */ u8 mZStatus; + /* 0x1CA */ u8 m3DStatus; + /* 0x1CB */ u8 mCStickStatus; + /* 0x1CC */ u8 mSButtonStatus; + /* 0x1CD */ u8 mNunStatus; + /* 0x1CE */ u8 mRemoConStatus; + /* 0x1CF */ u8 mNunZStatus; + /* 0x1D0 */ u8 mNunCStatus; + /* 0x1D1 */ u8 mBottleStatus; + /* 0x1D2 */ u8 mItemStatus[4]; /* 0x1D6 */ u8 field_0x1d6[2]; /* 0x1D8 */ u8 field_0x1d8[2]; /* 0x1DA */ u8 mArrowNum; /* 0x1DB */ u8 mPachinkoNum; - /* 0x1DC */ u8 field_0x1dc; - /* 0x1DD */ u8 field_0x1dd; - /* 0x1DE */ u8 field_0x1de; - /* 0x1DF */ u8 field_0x1df; - /* 0x1E0 */ u8 field_0x1e0; + /* 0x1DC */ u8 mDoSetFlag; + /* 0x1DD */ u8 mASetFlag; + /* 0x1DE */ u8 mRSetFlag; + /* 0x1DF */ u8 mXSetFlag; + /* 0x1E0 */ u8 mYSetFlag; /* 0x1E1 */ u8 field_0x1e1; - /* 0x1E2 */ u8 field_0x1e2; + /* 0x1E2 */ u8 mEquipSword; /* 0x1E3 */ u8 field_0x1e3; /* 0x1E4 */ u8 field_0x1e4; /* 0x1E5 */ u8 mSubContents; @@ -137,8 +301,8 @@ private: /* 0x1E7 */ u8 field_0x1e7; /* 0x1E8 */ u8 field_0x1e8; /* 0x1E9 */ u8 field_0x1e9; - /* 0x1EA */ u8 field_0x1ea; - /* 0x1EB */ u8 field_0x1eb; + /* 0x1EA */ u8 mRupeeSound; + /* 0x1EB */ u8 mArrowSound; /* 0x1EC */ u8 field_0x1ec; /* 0x1ED */ u8 field_0x1ed; /* 0x1EE */ u8 field_0x1ee; @@ -151,8 +315,11 @@ private: /* 0x1FF */ u8 field_0x1ff; /* 0x200 */ u8 field_0x200; /* 0x201 */ u8 field_0x201; + /* 0x204 */ f32 field_0x204; + /* 0x208 */ f32 field_0x208; + /* 0x20C */ f32 field_0x20c; + /* 0x210 */ f32 field_0x210; + /* 0x214 */ f32 field_0x214; }; -typedef int (*dMeter2_Method)(dMeter2_c*); - #endif /* D_METER_D_METER2_H */ diff --git a/include/d/meter/d_meter2_draw.h b/include/d/meter/d_meter2_draw.h index 81b4378c97..7f6ebcd3bd 100644 --- a/include/d/meter/d_meter2_draw.h +++ b/include/d/meter/d_meter2_draw.h @@ -115,6 +115,7 @@ public: /* 802102F8 */ virtual ~dMeter2Draw_c(); J2DScreen* getMainScreenPtr() { return mpScreen; } + bool isEmphasisC() { return field_0x766 == 7 ? true : false; } private: /* 0x004 */ f32 field_0x4; diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index bffd6ba5ec..558efb0a08 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -145,6 +145,12 @@ public: void* getMsgResource() { return mMsgResource; } void* getStageMsgResource() { return mStageMsgResource; } void* getMsgUnitResource() { return mMsgUnitResource; } + u8 getLightDropGetFlag(int i) { return mLightDropGetFlag[i]; } + u32 getMeterStringType() { return mMeterString; } + void setMeterClass(dMeter2_c* meter) { mMeterClass = meter; } + void onLifeGaugeSE() { mLifeGaugeSE = 1; } + void offLifeGaugeSE() { mLifeGaugeSE = 0; } + u8 getLifeGaugeSE() { return mLifeGaugeSE; } public: /* 0x04 */ u8 unk4[4]; @@ -399,6 +405,30 @@ inline void* dMeter2Info_getMsgUnitResource() { return g_meter2_info.getMsgUnitResource(); } +inline u8 dMeter2Info_getLightDropGetFlag(int i) { + return g_meter2_info.getLightDropGetFlag(i); +} + +inline s32 dMeter2Info_getMeterStringType() { + return g_meter2_info.getMeterStringType(); +} + +inline void dMeter2Info_setMeterClass(dMeter2_c* meter) { + g_meter2_info.setMeterClass(meter); +} + +inline void dMeter2Info_onLifeGaugeSE() { + g_meter2_info.onLifeGaugeSE(); +} + +inline void dMeter2Info_offLifeGaugeSE() { + g_meter2_info.offLifeGaugeSE(); +} + +inline u8 dMeter2Info_getLifeGaugeSE() { + return g_meter2_info.getLifeGaugeSE(); +} + char* dMeter2Info_getNumberTextureName(int pIndex); #endif /* D_METER_D_METER2_INFO_H */ diff --git a/include/d/meter/d_meter_HIO.h b/include/d/meter/d_meter_HIO.h index 4155d985c3..93aba8f392 100644 --- a/include/d/meter/d_meter_HIO.h +++ b/include/d/meter/d_meter_HIO.h @@ -601,7 +601,7 @@ public: /* 80201128 */ virtual ~dMeter_drawHIO_c(); /* 0x000 */ // vtable - /* 0x004 */ u8 field_0x04[4]; + /* 0x004 */ s8 field_0x4; /* 0x008 */ f32 mLifeTopPosX; /* 0x00C */ f32 mLifeTopPosY; /* 0x010 */ f32 mNoMagicPosY; @@ -995,7 +995,7 @@ public: }; /* 0x000 */ // vtable - /* 0x004 */ u8 field_0x4[4]; + /* 0x004 */ s8 field_0x4; /* 0x008 */ f32 mRingRadiusH; /* 0x00C */ f32 mRingRadiusV; /* 0x010 */ f32 field_0x10; @@ -1248,7 +1248,7 @@ public: /* 802006C8 */ dMeter_fmapHIO_c(); /* 80200BCC */ virtual ~dMeter_fmapHIO_c(); - /* 0x004 */ u8 field_0x4[4]; + /* 0x004 */ s8 field_0x4; /* 0x008 */ JKRArchive* field_0x8; /* 0x00C */ void* field_0xc; /* 0x010 */ void* field_0x10; @@ -1361,7 +1361,7 @@ public: /* 80200CD4 */ dMeter_cursorHIO_c(); /* 80201098 */ virtual ~dMeter_cursorHIO_c(); - /* 0x04 */ u8 field_0x4[4]; + /* 0x04 */ s8 field_0x4; /* 0x08 */ cXyz mSeraShopObjZoom; /* 0x14 */ cXyz mObjZoom; /* 0x20 */ cXyz mMagicArmorObjZoom; diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index cd0dcd27e4..b9d4b0f6f9 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -104,7 +104,7 @@ public: /* 80237E58 */ void getSelectCursorPosLocal(); /* 80237E68 */ void setSelectCursorPosLocal(u8); /* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*); - /* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**); + /* 8023800C */ static void readMessageGroup(mDoDvdThd_mountXArchive_c**); /* 8023803C */ void changeFlowGroup(s32); /* 8023806C */ void demoMessageGroup(); /* 80238098 */ void endFlowGroup(); @@ -163,4 +163,8 @@ inline bool dMsgObject_isTalkNowCheck() { return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false; } +inline void dMsgObject_readMessageGroup(mDoDvdThd_mountXArchive_c** param_0) { + dMsgObject_getMsgObjectClass()->readMessageGroup(param_0); +} + #endif /* D_MSG_D_MSG_OBJECT_H */ diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index 75be552f86..2dc464610a 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -51,6 +51,8 @@ public: /* 0x10 */ void* mData; }; // Size: 0x14 +extern u8 data_80450EC4; + class dPa_control_c { public: class level_c { @@ -133,6 +135,7 @@ public: void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); } level_c::emitter_c* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); } + u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, const csXyz* param_4, const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, @@ -149,6 +152,8 @@ public: param_9, param_10, param_11, param_12); } + static void onStatus(u8 status) { data_80450EC4 |= status; } + static u8 mTsubo[64]; static u8 mLifeBall[24]; static u8 mWindViewMatrix[48]; diff --git a/include/d/s/d_s_play.h b/include/d/s/d_s_play.h index 403f8d96d1..6bd2bd99f9 100644 --- a/include/d/s/d_s_play.h +++ b/include/d/s/d_s_play.h @@ -1,6 +1,71 @@ #ifndef D_S_D_S_PLAY_H #define D_S_D_S_PLAY_H +#include "d/com/d_com_inf_game.h" #include "dolphin/types.h" +#include "f_op/f_op_scene.h" + +class dScnPly_reg_HIO_c { +public: + /* 8025AD78 */ virtual ~dScnPly_reg_HIO_c(); +}; + +class mDoHIO_entry_c { +public: + virtual ~mDoHIO_entry_c(); +}; + +class dScnPly_preLoad_HIO_c : public mDoHIO_entry_c { +public: + /* 8025ADC0 */ virtual ~dScnPly_preLoad_HIO_c(); +}; + +class dScnPly_env_otherHIO_c { +public: + /* 80259440 */ dScnPly_env_otherHIO_c(); + + /* 8025AC0C */ virtual ~dScnPly_env_otherHIO_c(); + +private: + /* 0x4 */ f32 mShadowDensity; + /* 0x8 */ u8 mLODBias; + /* 0x9 */ u8 field_0x9; + /* 0xA */ u8 mDispTransCylinder; +}; + +class dScnPly_env_debugHIO_c { +public: + /* 80259468 */ dScnPly_env_debugHIO_c(); + + /* 8025ABC4 */ virtual ~dScnPly_env_debugHIO_c(); + +private: + /* 0x04 */ u8 field_0x4; + /* 0x08 */ cXyz mBoxCullMinSize; + /* 0x14 */ cXyz mBoxCullMaxSize; + /* 0x20 */ cXyz mSphereCullCenter; + /* 0x2C */ f32 mSphereCullRadius; +}; + +class dScnPly_env_HIO_c { +public: + /* 8025AD04 */ virtual ~dScnPly_env_HIO_c(); + +private: + /* 0x04 */ u8 field_0x4; + /* 0x08 */ dScnPly_env_otherHIO_c mOther; + /* 0x14 */ dScnPly_env_debugHIO_c mDebug; +}; + +extern s8 data_80451125; // sPauseTimer + +class dScnPly_c : public scene_class { +public: + /* 80259400 */ s8 calcPauseTimer(); + /* 80259AC4 */ bool resetGame(); + /* 80259BFC */ void offReset(); + + static void setPauseTimer(s8 time) { data_80451125 = time; } +}; #endif /* D_S_D_S_PLAY_H */ diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index bff50eaf52..abc7f07764 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -4,6 +4,7 @@ #include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h" #include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/string.h" #include "SSystem/SComponent/c_xyz.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" #define DEFAULT_SELECT_ITEM_INDEX 0 @@ -367,8 +368,8 @@ public: u16 getRupeeMax() const; int isMagicFlag(u8) const; - u16& getMaxLife() { return mMaxLife; } - u16& getLife() { return mLife; } + u16 getMaxLife() { return mMaxLife; } + u16 getLife() { return mLife; } u16& getRupee() { return mRupee; } u16 getOil() { return mOil; } u16 getMaxOil() { return mMaxOil; } @@ -419,9 +420,10 @@ public: f32 getTime() const { return mTime; } void setDate(u16 date) { mDate = date; } void setTime(f32 time) { mTime = time; } + OSTime getDateIpl() const { return mDateIpl; } private: - /* 0x00 */ s64 mDateIpl; + /* 0x00 */ OSTime mDateIpl; /* 0x08 */ u8 mTransformLevelFlag; /* 0x09 */ u8 mDarkClearLevelFlag; /* 0x0A */ u8 unk10; @@ -433,6 +435,8 @@ private: class dSv_horse_place_c { public: + dSv_horse_place_c() {} + void init(); void set(const char*, const cXyz&, s16, s8); @@ -462,6 +466,8 @@ private: class dSv_player_field_last_stay_info_c { public: + dSv_player_field_last_stay_info_c() {} + void init(); BOOL isRegionBit(int unk) const; void onRegionBit(int unk); @@ -480,6 +486,8 @@ private: class dSv_player_last_mark_info_c { public: + dSv_player_last_mark_info_c() {} + void init(); void setWarpItemData(const char*, const cXyz&, s16, s8, u8, u8); @@ -654,11 +662,12 @@ public: void setPlayerName(const char* name) { strcpy((char*)mPlayerName, name); } void setHorseName(const char* name) { strcpy((char*)mHorseName, name); } void setTotalTime(s64 time) { mTotalTime = time; } + s64 getTotalTime() const { return mTotalTime; } private: /* 0x00 */ u32 unk0; /* 0x04 */ u32 unk4; - /* 0x08 */ u64 mTotalTime; + /* 0x08 */ s64 mTotalTime; /* 0x10 */ u16 unk16; /* 0x12 */ u16 mDeathCount; /* 0x14 */ u8 mPlayerName[16]; @@ -706,6 +715,8 @@ private: class dSv_player_c { public: + dSv_player_c() {} + void init(); dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; } dSv_player_status_a_c& getPlayerStatusA() { return mPlayerStatusA; } @@ -971,6 +982,8 @@ private: class dSv_save_c { public: + dSv_save_c() {} + void init(); dSv_memory2_c* getSave2(int); @@ -1019,9 +1032,11 @@ public: dSv_restart_c& getRestart() { return mRestart; } dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; } dSv_event_c& getEvent() { return mSavedata.getEvent(); } - s64 getStartTime() { return mStartTime; } - s64 getSaveTotalTime() { return mSaveTotalTime; } + dSv_danBit_c& getDan() { return mDan; } + s64 getStartTime() const { return mStartTime; } + s64 getSaveTotalTime() const { return mSaveTotalTime; } void initDan(s8 param_0) { mDan.init(param_0); } + u8 getDataNum() const { return mDataNum; } private: /* 0x000 */ dSv_save_c mSavedata; diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 51c111df06..e452160da3 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -55,6 +55,8 @@ struct actor_place { }; struct actor_attention_types { + void setFlag(u32 flags) { mFlags |= flags; } + /* 0x00 */ u32 mDistance1; /* 0x04 */ u32 mDistance2; /* 0x08 */ u32 mDistance3; @@ -106,7 +108,9 @@ public: /* 0x534 */ f32 mMaxFallSpeed; /* 0x538 */ cXyz mEyePos; /* 0x544 */ actor_attention_types mAttentionInfo; - /* 0x560 */ u8 field_0x560[0x8]; // not 100% sure on this + /* 0x560 */ u8 field_0x560[0x2]; + /* 0x562 */ s16 field_0x562; + /* 0x564 */ u8 field_0x564[0x4]; fopAc_ac_c(); ~fopAc_ac_c(); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index dc72b471b2..1c3e630f9d 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -102,6 +102,10 @@ inline u32 fopAcM_GetParam(const void* pActor) { return fpcM_GetParam(pActor); } +inline u8 fopAcM_GetParamBit(void* ac, u8 shift, u8 bit) { + return (fopAcM_GetParam(ac) >> shift) & ((1 << bit) - 1); +} + inline void fopAcM_SetParam(void* p_actor, u32 param) { fpcM_SetParam(p_actor, param); } @@ -354,9 +358,9 @@ void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(void); void fopAcM_riverStream__FP4cXyzPsPff(void); void fopAcM_carryOffRevise__FP10fopAc_ac_c(void); void fopAcM_searchFromName4Event__FPCcs(void); -void fopAcM_GetName__FPv(void); // mostly inlined -void fopAcM_GetID__FPCv(void); // mostly inlined -void fopAcM_GetParam__FPCv(void); // mostly inlined +void fopAcM_GetName__FPv(void); // mostly inlined +void fopAcM_GetID__FPCv(void); // mostly inlined +static void fopAcM_GetParam__FPCv(void const*); // mostly inlined } #endif diff --git a/include/f_op/f_op_msg.h b/include/f_op/f_op_msg.h index 43b2d2afba..5ba7d17fb4 100644 --- a/include/f_op/f_op_msg.h +++ b/include/f_op/f_op_msg.h @@ -2,5 +2,8 @@ #define F_OP_F_OP_MSG_H #include "dolphin/types.h" +#include "f_pc/f_pc_leaf.h" + +extern leafdraw_method_class g_fopMsg_Method; #endif /* F_OP_F_OP_MSG_H */ diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h index 46f6764fbc..c3972f23f9 100644 --- a/include/f_op/f_op_msg_mng.h +++ b/include/f_op/f_op_msg_mng.h @@ -7,6 +7,9 @@ typedef int (*fopMsgCreateFunc)(void*); JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*); +u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*); +void fopMsgM_setMessageID(unsigned int); +void fopMsgM_destroyExpHeap(JKRExpHeap*); void fopMsgM_setStageLayer(void*); #endif \ No newline at end of file diff --git a/include/f_op/f_op_scene.h b/include/f_op/f_op_scene.h index 3f8aa67441..f2d5588aa6 100644 --- a/include/f_op/f_op_scene.h +++ b/include/f_op/f_op_scene.h @@ -1,19 +1,27 @@ #ifndef F_F_OP_SCENE_H_ #define F_F_OP_SCENE_H_ +#include "SSystem/SComponent/c_phase.h" #include "dolphin/types.h" #include "f_op/f_op_scene_tag.h" +#include "f_pc/f_pc_base.h" #include "f_pc/f_pc_node.h" +#include "m_Do/m_Do_dvd_thread.h" + +struct request_of_phase_process_class; +class mDoDvdThd_command_c; class scene_class { public: - /* 0x000 */ u8 field_0x00; - /* 0x004 */ u32 field_0x04; - /* 0x008 */ u8 field_0x08[0x24]; - /* 0x02C */ int* field_0x2C; - /* 0x030 */ u8 field_0x30[0x17C]; + /* 0x000 */ base_process_class field_0x0; + /* 0x0B8 */ u8 field_0xb8[0xF4]; /* 0x1AC */ process_method_class* mpProcessMtd; /* 0x1B0 */ scene_tag_class* field_0x1b0; + /* 0x1B4 */ u8 field_0x1b4[0x10]; + /* 0x1C4 */ request_of_phase_process_class field_0x1c4; + /* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand; + /* 0x1D0 */ mDoDvdThd_mountXArchive_c* field_0x1d0; + /* 0x1D4 */ u8 field_0x1d4; }; #endif \ No newline at end of file diff --git a/include/f_op/f_op_scene_mng.h b/include/f_op/f_op_scene_mng.h index 55d546ec74..3f2378c947 100644 --- a/include/f_op/f_op_scene_mng.h +++ b/include/f_op/f_op_scene_mng.h @@ -1,6 +1,7 @@ #ifndef F_F_OP_SCENE_MNG_H_ #define F_F_OP_SCENE_MNG_H_ +#include "f_op/f_op_actor_mng.h" #include "f_op/f_op_scene_pause.h" void* fopScnM_SearchByID(unsigned int id); @@ -11,4 +12,8 @@ u32 fopScnM_ReRequest(s16, u32); void fopScnM_Management(void); void fopScnM_Init(void); +inline u32 fopScnM_GetID(void* proc) { + return fpcM_GetID(proc); +} + #endif \ No newline at end of file diff --git a/include/f_pc/f_pc_leaf.h b/include/f_pc/f_pc_leaf.h index 485a6131e2..04be9bfe10 100644 --- a/include/f_pc/f_pc_leaf.h +++ b/include/f_pc/f_pc_leaf.h @@ -25,7 +25,7 @@ typedef struct leaf_process_profile_definition { /* 0x1C */ leafdraw_method_class* mLfDrwMth; /* 0x20 */ s16 mPriority; /* 0x22 */ u8 unk22[2]; - /* 0x24 */ s32 unk24; + /* 0x24 */ leafdraw_method_class* mMethods; } leaf_process_profile_definition; s32 fpcLf_GetPriority(const leafdraw_class* pLeaf); @@ -37,5 +37,6 @@ s32 fpcLf_Delete(leafdraw_class* pLeaf); s32 fpcLf_Create(leafdraw_class* pLeaf); extern int g_fpcLf_type; +extern leafdraw_method_class g_fpcLf_Method; #endif diff --git a/include/f_pc/f_pc_priority.h b/include/f_pc/f_pc_priority.h index 81d799eeeb..6ad4f0d048 100644 --- a/include/f_pc/f_pc_priority.h +++ b/include/f_pc/f_pc_priority.h @@ -29,4 +29,6 @@ s32 fpcPi_Handler(void); s32 fpcPi_Init(process_priority_class* pPi, void* pUserData, unsigned int layer, u16 listID, u16 priority); +extern s8 data_804505F0; // roomReadId + #endif diff --git a/include/f_pc/f_pc_profile.h b/include/f_pc/f_pc_profile.h index a393e00728..12a2c6e361 100644 --- a/include/f_pc/f_pc_profile.h +++ b/include/f_pc/f_pc_profile.h @@ -21,8 +21,8 @@ typedef struct process_profile_definition { #define LAYER_DEFAULT (-2) -process_profile_definition* fpcPf_Get(s16 profileID); - -extern process_profile_definition** g_fpcPf_ProfileList_p; +struct leaf_process_profile_definition; +leaf_process_profile_definition* fpcPf_Get(s16 profileID); +extern leaf_process_profile_definition** g_fpcPf_ProfileList_p; #endif diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index 9def12106e..d7cfdc53f8 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -14,6 +14,7 @@ public: }; extern bool struct_80450BB8; // sInitFlag +extern bool data_80450bba; // sBgmSet extern bool sResetFlag; class mDoAud_zelAudio_c { @@ -25,12 +26,18 @@ public: static bool isResetFlag() { return sResetFlag; } static void onResetFlag() { sResetFlag = true; } static void offResetFlag() { sResetFlag = false; } + static bool isBgmSet() { return data_80450bba; } + static void offBgmSet() { data_80450bba = false; } Z2AudioMgr mAudioMgr; }; extern JKRSolidHeap* g_mDoAud_audioHeap; +bool mDoAud_resetRecover(); +void mDoAud_setSceneName(char const* spot, s32 room, s32 layer); +s32 mDoAud_load1stDynamicWave(); + inline void mDoAud_bgmSetSwordUsing(s32 id) { Z2AudioMgr::getInterface()->mSeqMgr.bgmSetSwordUsing(id); } @@ -47,4 +54,25 @@ inline void mDoAud_setWeekday(s32 day) { Z2AudioMgr::getInterface()->mStatusMgr.setWeekday(day); } +inline void mDoAud_setInDarkness(bool state) { + Z2AudioMgr::getInterface()->mSceneMgr.setInDarkness(state); +} + +inline void mDoAud_seStart(u32 sfx_id, const Vec* param_1, u32 param_2, s8 param_3) { + Z2AudioMgr::getInterface()->mSeMgr.seStart(sfx_id, param_1, param_2, param_3, 1.0f, 1.0f, -1.0f, + -1.0f, 0); +} + +inline void mDoAud_sceneBgmStart() { + Z2AudioMgr::getInterface()->mSceneMgr.sceneBgmStart(); +} + +inline void mDoAud_load2ndDynamicWave() { + Z2AudioMgr::getInterface()->mSceneMgr.load2ndDynamicWave(); +} + +inline bool mDoAud_check1stDynamicWave() { + return Z2AudioMgr::getInterface()->mSceneMgr.check1stDynamicWave(); +} + #endif /* M_DO_M_DO_AUDIO_H */ diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 49ac6fb6e3..01fa2efbf9 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -8,6 +8,9 @@ int mDoGph_Create(); +extern u8 struct_80450BE4; // Blure +extern u8 data_80450BE6; // Fade + struct ResTIMG; class mDoGph_gInf_c { public: @@ -40,8 +43,10 @@ public: static JUTFader* getFader() { return mFader; } static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); } static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); } - static void setFadeColor(JUtility::TColor color) { mFader->setColor(color); } + static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); } static void endFrame() { JFWDisplay::getManager()->endFrame(); } + static void offFade() { data_80450BE6 = 0; } + static void offBlure() { struct_80450BE4 = 0; } static GXTexObj mFrameBufferTexObj; static GXTexObj mZbufferTexObj; diff --git a/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h b/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h index 49c654ce50..60adca61b1 100644 --- a/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h +++ b/include/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h @@ -8,8 +8,9 @@ class kytag05_class : public fopAc_ac_c { public: u8 getSceneListID() const { return mSceneListID; } - /* 0x568 */ u8 field_0x568[5]; + /* 0x568 */ f32 field_0x568; + /* 0x56C */ u8 field_0x56c; /* 0x56D */ u8 mSceneListID; -}; +}; // Size: 0x570 #endif /* D_A_KYTAG05_H */ diff --git a/include/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h b/include/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h index a79668314c..3ee7f02896 100644 --- a/include/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h +++ b/include/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h @@ -2,5 +2,19 @@ #define D_A_TAG_LV5SOUP_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTag_Lv5Soup_c : public fopAc_ac_c { +public: + daTag_Lv5Soup_c() {} + + /* 80D5AD58 */ int create(); + /* 80D5ADEC */ int Delete(); + /* 80D5ADF4 */ int Execute(); + /* 80D5AE9C */ int Draw(); + /* 80D5AEA4 */ bool isAreaCheck(); + + /* 80D5B0F4 */ virtual ~daTag_Lv5Soup_c(); +}; #endif /* D_A_TAG_LV5SOUP_H */ diff --git a/include/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h b/include/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h index 08fe8b32b9..2a8b0fc4d0 100644 --- a/include/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h +++ b/include/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h @@ -6,17 +6,20 @@ class daTagMmsg_c : public fopAc_ac_c { public: + daTagMmsg_c() {} + /* 80D5B918 */ void create(); /* 80D5BAB4 */ ~daTagMmsg_c(); /* 80D5BB30 */ void execute(); void onUseFlg() { mUseFlg = true; } + bool checkNoAttention() { return mAttention == 0xFF; } private: /* 0x568 */ u8 field_0x568; /* 0x569 */ u8 field_0x569; /* 0x56A */ u8 mAttention; - /* 0x56B */ u8 field_0x56b; + /* 0x56B */ bool field_0x56b; /* 0x56C */ bool mUseFlg; /* 0x56D */ u8 field_0x56d[3]; /* 0x570 */ u16 field_0x570; diff --git a/include/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h b/include/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h index e9d70a8645..2f6f7c50c5 100644 --- a/include/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h +++ b/include/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h @@ -2,5 +2,27 @@ #define D_A_TAG_SETBALL_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTagSetBall_c : public fopAc_ac_c { +public: + daTagSetBall_c() {} + + /* 80D601F8 */ void initBaseMtx(); + /* 80D60218 */ void setBaseMtx(); + /* 80D6021C */ int Create(); + /* 80D6024C */ int create(); + /* 80D602B4 */ int execute(); + /* 80D602BC */ int _delete(); + +private: + u8 getType_private() { return fopAcM_GetParamBit(this, 8, 4); } + + /* 0x568 */ u8 mType; +}; + +static int daTagSetBall_Execute(daTagSetBall_c* tag); +static int daTagSetBall_Delete(daTagSetBall_c* tag); +static int daTagSetBall_Create(daTagSetBall_c* tag); #endif /* D_A_TAG_SETBALL_H */ diff --git a/libs/SSystem/SComponent/c_counter.cpp b/libs/SSystem/SComponent/c_counter.cpp index f8a778a5c9..a52c9c9182 100644 --- a/libs/SSystem/SComponent/c_counter.cpp +++ b/libs/SSystem/SComponent/c_counter.cpp @@ -7,12 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -struct counter_class { - s32 mCounter0; - s32 mCounter1; - s32 mTimer; -}; - /* ############################################################################################## */ /* 80430CD8-80430CE8 000C+04 s=1 e=12 z=22 None .bss g_Counter */ counter_class g_Counter; diff --git a/libs/Z2AudioLib/Z2EnvSeMgr.cpp b/libs/Z2AudioLib/Z2EnvSeMgr.cpp index 515de1317e..4858393973 100644 --- a/libs/Z2AudioLib/Z2EnvSeMgr.cpp +++ b/libs/Z2AudioLib/Z2EnvSeMgr.cpp @@ -23,81 +23,18 @@ struct dSv_event_c { /* 800349BC */ void isEventBit(u16) const; }; -struct JAISoundHandle { - /* 802A2184 */ void releaseSound(); -}; - struct Z2SoundStarter { /* 802AAEDC */ void setPortData(JAISoundHandle*, u32, u16, s8); }; -struct JAISound { - /* 802A21A0 */ void releaseHandle(); - /* 802A24DC */ void stop(u32); -}; - struct Z2SoundMgr { /* 802AA270 */ void setIIR(JAISound*, s16 const*); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2MultiSeMgr { - /* 802AEB04 */ Z2MultiSeMgr(); - /* 802AEB34 */ ~Z2MultiSeMgr(); - /* 802AEB70 */ void registMultiSePos(Vec*); - /* 802AECBC */ void resetMultiSePos(); - /* 802AECE0 */ void getPanPower(); - /* 802AEDC0 */ void getDolbyPower(); -}; - -struct Z2EnvSeDir { - /* 802C5C9C */ Z2EnvSeDir(Vec*); - /* 802C5D1C */ ~Z2EnvSeDir(); - /* 802C5D70 */ void setPanDir(Vec*); - /* 802C5D9C */ void calcPan(f32); - /* 802C5E90 */ void startEnvSeDirLevel(JAISoundID, f32, f32); -}; - -struct Z2EnvSeBase { - /* 802C589C */ Z2EnvSeBase(Vec*); - /* 802C58AC */ ~Z2EnvSeBase(); - /* 802C5908 */ void startEnvSe(JAISoundID, f32, f32, f32, f32, f32, u32); - /* 802C5AB4 */ void startEnvSeLevel(JAISoundID, f32, f32, f32, f32, f32, u32); -}; - -struct Z2EnvSeAutoPan { - /* 802C5ECC */ Z2EnvSeAutoPan(); - /* 802C5F28 */ ~Z2EnvSeAutoPan(); - /* 802C5F7C */ void setPanParam(f32, f32, bool, bool, f32, f32); - /* 802C5F98 */ void calcPan(); - /* 802C60E0 */ void startEnvSeAutoPanLevel(JAISoundID, f32, f32, f32); -}; - struct Z2CreatureLink { static u8 mLinkPtr[4 + 4 /* padding */]; }; -struct Z2Calc { - struct CurveSign {}; - - struct FNoise1f { - /* 802A9944 */ void setParam(f32, f32, f32); - /* 802A99A0 */ void calcNoise1f(); - }; - - /* 802A968C */ void linearTransform(f32, f32, f32, f32, f32, bool); - /* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign); - /* 802A9814 */ void getRandom(f32, f32, f32); - - static f32 cEqualCSlope; - static f32 cEqualPSlope; -}; - struct Z2Audience { /* 802BD92C */ void convertAbsToRel(Vec&, Vec*, int); /* 802BD95C */ void calcRelPosVolume(Vec const&, f32, int); @@ -105,13 +42,6 @@ struct Z2Audience { /* 802BDB44 */ void calcRelPosDolby(Vec const&, int); }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct JASCalc { static u8 const CUTOFF_TO_IIR_TABLE[1024]; }; @@ -120,14 +50,6 @@ struct JAISoundStarter { /* 802A2FEC */ void startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); }; -struct JAISoundParamsMove { - /* 802A2DB4 */ void moveVolume(f32, u32); - /* 802A2E0C */ void movePitch(f32, u32); - /* 802A2E64 */ void moveFxMix(f32, u32); - /* 802A2EBC */ void movePan(f32, u32); - /* 802A2F14 */ void moveDolby(f32, u32); -}; - // // Forward References: // diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp index 6666fd3631..99f61d824d 100644 --- a/libs/Z2AudioLib/Z2SceneMgr.cpp +++ b/libs/Z2AudioLib/Z2SceneMgr.cpp @@ -940,7 +940,7 @@ asm void Z2SceneMgr::_load1stWaveInner_2() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2SceneMgr::check1stDynamicWave() { +asm bool Z2SceneMgr::check1stDynamicWave() { nofralloc #include "asm/Z2AudioLib/Z2SceneMgr/check1stDynamicWave__10Z2SceneMgrFv.s" } diff --git a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp index cd4fb3689b..513fc80247 100644 --- a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp +++ b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp @@ -343,7 +343,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; diff --git a/rel/d/a/d_a_crod/d_a_crod.cpp b/rel/d/a/d_a_crod/d_a_crod.cpp index f748ef4e37..cce15278d6 100644 --- a/rel/d/a/d_a_crod/d_a_crod.cpp +++ b/rel/d/a/d_a_crod/d_a_crod.cpp @@ -128,7 +128,6 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cps[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CpsAttr[25]; diff --git a/rel/d/a/d_a_horse/d_a_horse.cpp b/rel/d/a/d_a_horse/d_a_horse.cpp index 22c9a94e35..26f87659cc 100644 --- a/rel/d/a/d_a_horse/d_a_horse.cpp +++ b/rel/d/a/d_a_horse/d_a_horse.cpp @@ -501,7 +501,6 @@ extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11]; extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11]; extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 m_typeFourData__8dPaPoF_c[60]; extern "C" u8 m_emitterFourData__8dPaPoF_c[60 + 28 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; diff --git a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp index d85423461f..40a29a625f 100644 --- a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp +++ b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp @@ -470,7 +470,6 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; diff --git a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp index ba6a472226..943f340f6b 100644 --- a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp +++ b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp @@ -6,6 +6,7 @@ #include "rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" // // Forward References: @@ -24,7 +25,6 @@ extern "C" extern void* g_profile_KYTAG05[12]; extern "C" void __ct__10fopAc_ac_cFv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; // // Declarations: @@ -32,40 +32,44 @@ extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; /* 80528A58-80528A60 000078 0008+00 1/0 0/0 0/0 .text daKytag05_Draw__FP13kytag05_class */ -static bool daKytag05_Draw(kytag05_class* param_0) { - return true; +static int daKytag05_Draw(kytag05_class* ac) { + return 1; } /* 80528A60-80528A68 000080 0008+00 1/0 0/0 0/0 .text daKytag05_Execute__FP13kytag05_class */ -static bool daKytag05_Execute(kytag05_class* param_0) { - return true; +static int daKytag05_Execute(kytag05_class* ac) { + return 1; } /* 80528A68-80528A70 000088 0008+00 1/0 0/0 0/0 .text daKytag05_IsDelete__FP13kytag05_class */ -static bool daKytag05_IsDelete(kytag05_class* param_0) { - return true; +static int daKytag05_IsDelete(kytag05_class* ac) { + return 1; } /* 80528A70-80528A78 000090 0008+00 1/0 0/0 0/0 .text daKytag05_Delete__FP13kytag05_class */ -static bool daKytag05_Delete(kytag05_class* param_0) { - return true; +static int daKytag05_Delete(kytag05_class* ac) { + return 1; } -/* ############################################################################################## */ -/* 80528B18-80528B1C 000000 0004+00 1/1 0/0 0/0 .rodata @3665 */ -SECTION_RODATA static f32 const lit_3665 = 100.0f; -COMPILER_STRIP_GATE(0x80528B18, &lit_3665); - /* 80528A78-80528B10 000098 0098+00 1/0 0/0 0/0 .text daKytag05_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag05_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag05/d_a_kytag05/daKytag05_Create__FP10fopAc_ac_c.s" +static int daKytag05_Create(fopAc_ac_c* ac) { + if (!fopAcM_CheckCondition(ac, 8)) { + new (ac) kytag05_class(); + fopAcM_OnCondition(ac, 8); + } + kytag05_class* tag = static_cast(ac); + + tag->field_0x56c = fopAcM_GetParam(tag) >> 8; + tag->mSceneListID = fopAcM_GetParam(tag); + tag->field_0x568 = 100.0f * tag->mScale.x; + + if (!tag->field_0x56c) { + *(char*)((char*)&tag->mAttentionInfo.mDistance2 + 3) = 0x21; + tag->mAttentionInfo.setFlag(0x80); + } + return 4; } -#pragma pop /* ############################################################################################## */ /* 80528B1C-80528B3C -00001 0020+00 1/0 0/0 0/0 .data l_daKytag05_Method */ diff --git a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp index 4b40263df9..276bb6c1d8 100644 --- a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp +++ b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp @@ -438,7 +438,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern u8 ZeroQuat[16]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; diff --git a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp index 361164e2da..b810e10add 100644 --- a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp +++ b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp @@ -4,38 +4,10 @@ // #include "rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTag_Lv5Soup_c { - /* 80D5AD58 */ void create(); - /* 80D5ADEC */ bool Delete(); - /* 80D5ADF4 */ void Execute(); - /* 80D5AE9C */ bool Draw(); - /* 80D5AEA4 */ void isAreaCheck(); - /* 80D5B0F4 */ ~daTag_Lv5Soup_c(); -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - // // Forward References: // @@ -63,41 +35,15 @@ extern "C" void onEventBit__11dSv_event_cFUs(); extern "C" void isEventBit__11dSv_event_cCFUs(); extern "C" void __mi__4cXyzCFRC3Vec(); extern "C" void __dl__FPv(); -extern "C" void PSVECSquareMag(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; // // Declarations: // -/* ############################################################################################## */ -/* 80D5B15C-80D5B160 000000 0004+00 2/2 0/0 0/0 .rodata @3655 */ -SECTION_RODATA static f32 const lit_3655 = -30.0f; -COMPILER_STRIP_GATE(0x80D5B15C, &lit_3655); - -/* 80D5B160-80D5B164 000004 0004+00 0/1 0/0 0/0 .rodata @3656 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3656 = -15.0f; -COMPILER_STRIP_GATE(0x80D5B160, &lit_3656); -#pragma pop - -/* 80D5B164-80D5B168 000008 0004+00 0/1 0/0 0/0 .rodata @3657 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3657 = 30.0f; -COMPILER_STRIP_GATE(0x80D5B164, &lit_3657); -#pragma pop - -/* 80D5B168-80D5B16C 00000C 0004+00 0/1 0/0 0/0 .rodata @3658 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3658 = 45.0f; -COMPILER_STRIP_GATE(0x80D5B168, &lit_3658); -#pragma pop +inline int dComIfGs_isEventBit(u16 event) { + return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event); +} /* 80D5B18C-80D5B1AC -00001 0020+00 1/0 0/0 0/0 .data daTag_Lv5Soup_MethodTable */ SECTION_DATA static void* daTag_Lv5Soup_MethodTable[8] = { @@ -129,143 +75,82 @@ SECTION_DATA extern void* __vt__15daTag_Lv5Soup_c[3] = { }; /* 80D5AD58-80D5ADEC 000078 0094+00 1/1 0/0 0/0 .text create__15daTag_Lv5Soup_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_Lv5Soup_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/create__15daTag_Lv5Soup_cFv.s" +int daTag_Lv5Soup_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTag_Lv5Soup_c(); + fopAcM_OnCondition(this, 8); + } + + fopAcM_setCullSizeBox(this, -30.0f, -15.0f, -30.0f, 30.0f, 45.0f, 30.0f); + mAttentionInfo.mFlags = 0; + return 4; } -#pragma pop /* 80D5ADEC-80D5ADF4 00010C 0008+00 1/1 0/0 0/0 .text Delete__15daTag_Lv5Soup_cFv */ -bool daTag_Lv5Soup_c::Delete() { - return true; +int daTag_Lv5Soup_c::Delete() { + return 1; } /* 80D5ADF4-80D5AE9C 000114 00A8+00 1/1 0/0 0/0 .text Execute__15daTag_Lv5Soup_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_Lv5Soup_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/Execute__15daTag_Lv5Soup_cFv.s" +int daTag_Lv5Soup_c::Execute() { + if (isAreaCheck()) { + // Yeto took pumpkin and pumpkin not in soup + if (dComIfGs_isEventBit(0x0020) && !dComIfGs_isEventBit(0x0002)) { + // Pumpkin in soup + dComIfGs_onEventBit(0x0002); + } + + // Yeto took cheese and cheese not in soup + if (dComIfGs_isEventBit(0x0010) && !dComIfGs_isEventBit(0x0001)) { + // Cheese in soup + dComIfGs_onEventBit(0x0001); + } + } + return 1; } -#pragma pop /* 80D5AE9C-80D5AEA4 0001BC 0008+00 1/1 0/0 0/0 .text Draw__15daTag_Lv5Soup_cFv */ -bool daTag_Lv5Soup_c::Draw() { - return true; +int daTag_Lv5Soup_c::Draw() { + return 1; } -/* ############################################################################################## */ -/* 80D5B16C-80D5B170 000010 0004+00 0/1 0/0 0/0 .rodata @3743 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3743 = 100.0f; -COMPILER_STRIP_GATE(0x80D5B16C, &lit_3743); -#pragma pop - -/* 80D5B170-80D5B174 000014 0004+00 0/1 0/0 0/0 .rodata @3744 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3744[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D5B170, &lit_3744); -#pragma pop - -/* 80D5B174-80D5B17C 000018 0008+00 0/1 0/0 0/0 .rodata @3745 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3745[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5B174, &lit_3745); -#pragma pop - -/* 80D5B17C-80D5B184 000020 0008+00 0/1 0/0 0/0 .rodata @3746 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3746[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5B17C, &lit_3746); -#pragma pop - -/* 80D5B184-80D5B18C 000028 0008+00 0/1 0/0 0/0 .rodata @3747 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3747[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5B184, &lit_3747); -#pragma pop - /* 80D5AEA4-80D5B06C 0001C4 01C8+00 1/1 0/0 0/0 .text isAreaCheck__15daTag_Lv5Soup_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_Lv5Soup_c::isAreaCheck() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/isAreaCheck__15daTag_Lv5Soup_cFv.s" +bool daTag_Lv5Soup_c::isAreaCheck() { + cXyz dist = dComIfGp_getLinkPlayer()->mCurrent.mPosition - mCurrent.mPosition; + f32 boundX = mScale.x * 100.0f; + f32 boundY = mScale.y * 100.0f; + + if (sqrtf(dist.abs2XZ()) < boundX && -boundY < dist.y && dist.y < boundY) { + return true; + } else { + return false; + } } -#pragma pop /* 80D5B06C-80D5B08C 00038C 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_Lv5Soup_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Create__FPv.s" +static int daTag_Lv5Soup_Create(void* tag) { + return static_cast(tag)->create(); } -#pragma pop /* 80D5B08C-80D5B0AC 0003AC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_Lv5Soup_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Delete__FPv.s" +static int daTag_Lv5Soup_Delete(void* tag) { + return static_cast(tag)->Delete(); } -#pragma pop /* 80D5B0AC-80D5B0CC 0003CC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_Lv5Soup_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Execute__FPv.s" +static int daTag_Lv5Soup_Execute(void* tag) { + return static_cast(tag)->Execute(); } -#pragma pop /* 80D5B0CC-80D5B0EC 0003EC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_Lv5Soup_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/daTag_Lv5Soup_Draw__FPv.s" +static int daTag_Lv5Soup_Draw(void* tag) { + return static_cast(tag)->Draw(); } -#pragma pop /* 80D5B0EC-80D5B0F4 00040C 0008+00 1/0 0/0 0/0 .text daTag_Lv5Soup_IsDelete__FPv */ -static bool daTag_Lv5Soup_IsDelete(void* param_0) { - return true; +static int daTag_Lv5Soup_IsDelete(void* tag) { + return 1; } /* 80D5B0F4-80D5B154 000414 0060+00 1/0 0/0 0/0 .text __dt__15daTag_Lv5Soup_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTag_Lv5Soup_c::~daTag_Lv5Soup_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup/__dt__15daTag_Lv5Soup_cFv.s" -} -#pragma pop +daTag_Lv5Soup_c::~daTag_Lv5Soup_c() {} diff --git a/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp b/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp index 1cbe7b23be..21a626ebf7 100644 --- a/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp +++ b/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp @@ -38,7 +38,6 @@ extern "C" void __dl__FPv(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; diff --git a/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp b/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp index 39fc89f6d5..b1ebc46eaf 100644 --- a/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp +++ b/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp @@ -7,131 +7,82 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTagSetBall_c { - /* 80D601F8 */ void initBaseMtx(); - /* 80D60218 */ void setBaseMtx(); - /* 80D6021C */ void Create(); - /* 80D6024C */ void create(); - /* 80D602B4 */ bool execute(); - /* 80D602BC */ bool _delete(); -}; - // // Forward References: // -extern "C" void initBaseMtx__14daTagSetBall_cFv(); -extern "C" void setBaseMtx__14daTagSetBall_cFv(); -extern "C" void Create__14daTagSetBall_cFv(); -extern "C" void create__14daTagSetBall_cFv(); -extern "C" bool execute__14daTagSetBall_cFv(); -extern "C" bool _delete__14daTagSetBall_cFv(); -extern "C" static void daTagSetBall_Execute__FP14daTagSetBall_c(); -extern "C" static void daTagSetBall_Delete__FP14daTagSetBall_c(); -extern "C" static void daTagSetBall_Create__FP14daTagSetBall_c(); extern "C" extern void* g_profile_Tag_SetBall[12]; // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; // // Declarations: // /* 80D601F8-80D60218 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__14daTagSetBall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSetBall_c::initBaseMtx() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/initBaseMtx__14daTagSetBall_cFv.s" +void daTagSetBall_c::initBaseMtx() { + setBaseMtx(); } -#pragma pop /* 80D60218-80D6021C 000098 0004+00 1/1 0/0 0/0 .text setBaseMtx__14daTagSetBall_cFv */ -void daTagSetBall_c::setBaseMtx() { - /* empty function */ -} +void daTagSetBall_c::setBaseMtx() {} /* 80D6021C-80D6024C 00009C 0030+00 1/1 0/0 0/0 .text Create__14daTagSetBall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSetBall_c::Create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/Create__14daTagSetBall_cFv.s" +int daTagSetBall_c::Create() { + mType = getType_private(); + initBaseMtx(); + return 1; } -#pragma pop /* 80D6024C-80D602B4 0000CC 0068+00 1/1 0/0 0/0 .text create__14daTagSetBall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSetBall_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/func_80D6024C.s" +int daTagSetBall_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagSetBall_c(); + fopAcM_OnCondition(this, 8); + } + + if (!Create()) { + return 5; + } else { + return 4; + } } -#pragma pop /* 80D602B4-80D602BC 000134 0008+00 1/1 0/0 0/0 .text execute__14daTagSetBall_cFv */ -bool daTagSetBall_c::execute() { - return true; +int daTagSetBall_c::execute() { + return 1; } /* 80D602BC-80D602C4 00013C 0008+00 1/1 0/0 0/0 .text _delete__14daTagSetBall_cFv */ -bool daTagSetBall_c::_delete() { - return true; +int daTagSetBall_c::_delete() { + return 1; } /* 80D602C4-80D602E4 000144 0020+00 1/0 0/0 0/0 .text daTagSetBall_Execute__FP14daTagSetBall_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagSetBall_Execute(daTagSetBall_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Execute__FP14daTagSetBall_c.s" +static int daTagSetBall_Execute(daTagSetBall_c* tag) { + return tag->execute(); } -#pragma pop /* 80D602E4-80D60304 000164 0020+00 1/0 0/0 0/0 .text daTagSetBall_Delete__FP14daTagSetBall_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagSetBall_Delete(daTagSetBall_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Delete__FP14daTagSetBall_c.s" +static int daTagSetBall_Delete(daTagSetBall_c* tag) { + return tag->_delete(); } -#pragma pop /* 80D60304-80D60324 000184 0020+00 1/0 0/0 0/0 .text daTagSetBall_Create__FP14daTagSetBall_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagSetBall_Create(daTagSetBall_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall/daTagSetBall_Create__FP14daTagSetBall_c.s" +static int daTagSetBall_Create(daTagSetBall_c* tag) { + return tag->create(); } -#pragma pop /* ############################################################################################## */ /* 80D6032C-80D6034C -00001 0020+00 1/0 0/0 0/0 .data l_daTagSetBall_Method */ SECTION_DATA static void* l_daTagSetBall_Method[8] = { - (void*)daTagSetBall_Create__FP14daTagSetBall_c, - (void*)daTagSetBall_Delete__FP14daTagSetBall_c, - (void*)daTagSetBall_Execute__FP14daTagSetBall_c, + (void*)daTagSetBall_Create, + (void*)daTagSetBall_Delete, + (void*)daTagSetBall_Execute, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp b/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp index b8a0e7dc7b..90b6bfe367 100644 --- a/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp +++ b/rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.cpp @@ -6,6 +6,7 @@ #include "rel/f_pc/f_pc_profile_lst/f_pc_profile_lst.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_pc/f_pc_leaf.h" // // Forward References: @@ -54,7 +55,6 @@ extern "C" extern void* g_profile_WARNING2_SCENE[10]; extern "C" extern void* g_profile_TIMER[10]; extern "C" extern void* g_profile_WMARK[10 + 1 /* padding */]; extern "C" extern void* g_profile_WPILLAR[10 + 1 /* padding */]; -extern "C" extern u8 g_fpcPf_ProfileList_p[4 + 4 /* padding */]; extern "C" extern void* g_profile_ANDSW[12]; extern "C" extern void* g_profile_BG[13]; extern "C" extern void* g_profile_BG_OBJ[12]; diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 3ede1b76e1..bbd6ff7cce 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -3285,7 +3285,6 @@ extern "C" extern void* __vt__19JPAParticleCallBack[5]; extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" extern void* __vt__8cM3dGCyl[3]; extern "C" extern void* __vt__8cM3dGAab[3]; diff --git a/src/d/cc/d_cc_uty.cpp b/src/d/cc/d_cc_uty.cpp index 401c6c13cb..6df62d5e65 100644 --- a/src/d/cc/d_cc_uty.cpp +++ b/src/d/cc/d_cc_uty.cpp @@ -4,32 +4,12 @@ // #include "d/cc/d_cc_uty.h" +#include "SSystem/SComponent/c_math.h" +#include "d/d_procname.h" +#include "d/s/d_s_play.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct fopAc_ac_c {}; - -struct daPy_py_c { - /* 80088134 */ bool checkCutJumpCancelTurn() const; - /* 8015F398 */ void checkMasterSwordEquip(); -}; - -struct dCcU_AtInfo {}; - -struct dCcD_GObjInf { - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct Z2Creature {}; - // // Forward References: // @@ -54,108 +34,319 @@ extern "C" void checkMasterSwordEquip__9daPy_py_cFv(); extern "C" void GetAc__8cCcD_ObjFv(); extern "C" void cM_atan2s__Fff(); extern "C" void cM_rndFX__Ff(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_25(); extern "C" void _restgpr_25(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; extern "C" extern u8 struct_80451124[4]; // // Declarations: // +bool daPy_py_c::checkWoodSwordEquip() { + return dComIfGs_getSelectEquipSword() == WOOD_STICK; +} + +BOOL daPy_py_c::checkNowWolf() { + return dComIfGp_getLinkPlayer()->i_checkWolf(); +} + /* ############################################################################################## */ /* 803AC418-803AC500 009538 00E8+00 1/1 0/0 0/0 .data plCutLRC */ -SECTION_DATA static u8 plCutLRC[232] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA static int plCutLRC[58] = { + 0, 0, 1, 1, 2, 0, 2, 1, 0, 0, 0, 2, 1, 1, 1, 2, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, }; /* 800873B0-800873D4 081CF0 0024+00 0/0 0/0 3/3 .text pl_cut_LRC__Fi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void pl_cut_LRC(int param_0) { - nofralloc -#include "asm/d/cc/d_cc_uty/pl_cut_LRC__Fi.s" +int pl_cut_LRC(int index) { + if (index >= 58) { + return 0; + } + + return plCutLRC[index]; } -#pragma pop /* 800873D4-800874C4 081D14 00F0+00 1/1 0/0 14/14 .text cc_pl_cut_bit_get__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cc_pl_cut_bit_get() { - nofralloc -#include "asm/d/cc/d_cc_uty/cc_pl_cut_bit_get__Fv.s" +u16 cc_pl_cut_bit_get() { + daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0); + + u16 bit = 0; + if (link->getCutType() == daPy_py_c::TYPE_CUT_VERTICAL) { + bit = 0x1; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_STAB) { + bit = 0x2; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_STAB_COMBO) { + bit = 0x200; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_SWEEP) { + bit = 0x4; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_HORIZONTAL) { + bit = 0x8; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_LEFT_SWEEP_FINISH) { + bit = 0x20; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_DOWN_FINISH) { + bit = 0x40; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_TURN_RIGHT || link->getCutType() == 9 || + link->getCutType() == 43 || + link->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_RIGHT) { + bit = 0x80; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_TURN_LEFT || + link->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_LEFT) { + bit = 0x800; + } else if (link->getCutType() == daPy_py_c::TYPE_CUT_JUMP) { + bit = 0x100; + } else if (link->getCutType() == 40 || link->getCutType() == 41) { + bit = 0x400; + } + + return bit; } -#pragma pop /* 800874C4-800874F0 081E04 002C+00 1/1 0/0 0/0 .text getMapInfo__FSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getMapInfo(s8 param_0) { - nofralloc -#include "asm/d/cc/d_cc_uty/getMapInfo__FSc.s" +static int getMapInfo(s8 param_0) { + int map_info = 30; + if (param_0 == 1) { + map_info = 31; + } else if (param_0 == 2) { + map_info = 32; + } + + return map_info; } -#pragma pop /* 800874F0-80087514 081E30 0024+00 2/2 0/0 0/0 .text getHitId__FP8cCcD_Obji */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getHitId(cCcD_Obj* param_0, int param_1) { - nofralloc -#include "asm/d/cc/d_cc_uty/getHitId__FP8cCcD_Obji.s" +static u32 getHitId(cCcD_Obj* obj, int param_1) { + dCcD_GObjInf* dObj = static_cast(obj); + return dObj->getHitSeID(dObj->GetAtSe(), param_1); } -#pragma pop /* 80087514-80087594 081E54 0080+00 0/0 0/0 47/47 .text * def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void def_se_set(Z2Creature* param_0, cCcD_Obj* param_1, u32 param_2, fopAc_ac_c* param_3) { - nofralloc -#include "asm/d/cc/d_cc_uty/def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c.s" +void def_se_set(Z2Creature* sound, cCcD_Obj* collider, u32 map_info, fopAc_ac_c* actor) { + if (sound != NULL) { + int tmp; + if (actor != NULL && fopAcM_checkStatus(actor, 0x280000)) { + tmp = 0; + } else { + tmp = 1; + } + sound->startCollisionSE(getHitId(collider, tmp), map_info); + } } -#pragma pop /* 80087594-80087A58 081ED4 04C4+00 1/1 0/0 0/0 .text at_power_get__FP11dCcU_AtInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void at_power_get(dCcU_AtInfo* param_0) { - nofralloc -#include "asm/d/cc/d_cc_uty/at_power_get__FP11dCcU_AtInfo.s" +static u8 at_power_get(dCcU_AtInfo* info) { + u8 power = info->mpCollider->GetAtAtp(); + + if (info->mPowerType == 0) { + if (info->mpCollider->ChkAtType(0x10000000)) { + power = 0; + } else if (power == 1) { + power = 1; + } else if (power == 2) { + power = 10; + } else if (power == 3) { + power *= 10; + } else if (power == 6) { + power = 80; + } else if (power >= 4) { + power = 200; + } + } else if (info->mPowerType == 6) { + if (info->mpCollider->ChkAtType(0x10000000)) { + power = 0; + } else if (power == 1) { + power = 1; + } else if (power == 2) { + power = 10; + } else if (power == 6) { + power = 80; + } else if (power >= 3) { + power *= 10; + } + } else if (info->mPowerType == 4) { + if (info->mpCollider->ChkAtType(0x400000)) { + power = 200; + } else if (info->mpCollider->ChkAtType(0x10000000)) { + power = 0; + } else if (power == 1) { + power = 1; + } else if (power == 2) { + power = 10; + } else if (power >= 3) { + power *= 10; + } else if (power == 6) { + power = 80; + } else if (power >= 4) { + power = 200; + } + } else if (info->mPowerType == 5) { + if (info->mpCollider->ChkAtType(0x2000)) { + power = 0; + } else if (power == 1) { + power = 1; + } else if (power == 2) { + power = 3; + } else if (power >= 3) { + power = 4; + } + } else if (info->mPowerType == 2) { + if (info->mpCollider->ChkAtType(0x400000)) { + power = 200; + } else if (power == 1) { + power = 1; + } else if (power == 2) { + power = 10; + } else if (power == 3) { + power = 20; + } else if (power == 6) { + power = 80; + } else if (power >= 4) { + power = 200; + } + } else if (info->mPowerType == 1) { + if (info->mpCollider->ChkAtType(0x400000) || power >= 4) { + power = 200; + } else { + power *= 10; + } + } else if (info->mPowerType == 3) { + if (info->mpCollider->ChkAtType(0x400000) || power >= 4) { + power = 200; + } else if (power == 1) { + power = 10; + } else if (power == 2) { + power = 20; + } else if (power >= 3) { + power = 40; + } + } else if (info->mPowerType == 7) { + if (info->mpCollider->ChkAtType(0x420008)) { + power = 50; + } else if (info->mpCollider->ChkAtType(0x2000)) { + power = 27; + } else if (power == 1) { + power = 1; + } else if (power == 2) { + power = 10; + } else if (power == 3) { + power *= 10; + } else if (power == 6) { + power = 80; + } else if (power >= 4) { + power = 200; + } + } else if (info->mPowerType == 8) { + if (power == 1) { + power = 3; + } else if (power == 2) { + power = 10; + } else if (power == 6) { + power = 80; + } else if (power >= 3) { + power *= 10; + } + } else if (info->mPowerType == 9 || info->mPowerType == 10) { + if (info->mpCollider->ChkAtType(0x4000)) { + power = 0; + } + if (info->mpCollider->ChkAtType(0x400000)) { + power = 19; + } + + if (power == 1) { + power = 4; + } else if (power == 2) { + power = 8; + } else if (power == 3) { + power *= 10; + } else if (power == 6) { + power = 80; + } else if (power >= 4) { + power = 200; + } + } else if (info->mPowerType == 11) { + if (info->mpCollider->ChkAtType(0x4000)) { + power = 0; + } + + if (power == 1) { + power = 10; + } else if (power == 2) { + power = 20; + } else if (power == 3) { + power = 30; + } else if (power >= 4) { + power = 100; + } + } else if (info->mPowerType == 12) { + if (power == 1) { + power = 10; + } else if (power == 2) { + power = 20; + } else if (power == 3) { + power = 30; + } else if (power >= 4) { + power = 100; + } + } + + return power; } -#pragma pop /* 80087A58-80087C04 082398 01AC+00 1/1 0/0 38/38 .text at_power_check__FP11dCcU_AtInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void at_power_check(dCcU_AtInfo* param_0) { - nofralloc -#include "asm/d/cc/d_cc_uty/at_power_check__FP11dCcU_AtInfo.s" +fopAc_ac_c* at_power_check(dCcU_AtInfo* info) { + if (info->mpCollider == NULL) { + return NULL; + } + + info->mpActor = info->mpCollider->GetAc(); + info->mHitType = 12; + info->mAttackPower = 0; + info->mHitBit = 0; + + if (info->mpActor != NULL) { + info->mAttackPower = at_power_get(info); + + s16 ac_name = fopAcM_GetName(info->mpActor); + if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) { + if (info->mpCollider->ChkAtType(0x8000) || info->mpCollider->ChkAtType(0x400000)) { + info->mHitType = 9; + } else { + info->mHitType = 1; + info->mHitBit = cc_pl_cut_bit_get(); + } + } else if (ac_name == PROC_NBOMB) { + info->mHitType = 2; + info->mHitBit = 0x10000000; + } else if (ac_name == PROC_BOOMERANG) { + info->mHitType = 10; + info->mHitBit = 0x40000000; + } else if (ac_name == PROC_ARROW) { + info->mHitType = 15; + info->mHitBit = 0x80000000; + } + } + + info->mHitStatus = 0; + if (info->mpCollider->ChkAtType(0x40) || info->mpCollider->ChkAtType(0x10000) || + info->mpCollider->ChkAtType(0x80) || info->mpCollider->ChkAtType(0x10)) { + info->mHitType = 0x10; + } else if (info->mpCollider->ChkAtType(0x4000)) { + info->mHitBit = 0x1000; + } else { + s16 ac_name = fopAcM_GetName(info->mpActor); + if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) { + if (dCcD_GetGObjInf(info->mpCollider)->GetAtSpl() == 1) { + info->mHitStatus = 1; + } + } else if (info->mAttackPower >= 3) { + info->mHitStatus = 1; + } + } + + return info->mpActor; } -#pragma pop /* ############################################################################################## */ /* 80452798-804527A0 000D98 0004+04 1/1 0/0 0/0 .sdata2 @4212 */ @@ -191,16 +382,141 @@ SECTION_SDATA2 static f32 lit_4218[1 + 1 /* padding */] = { /* 80087C04-80088134 082544 0530+00 0/0 0/0 84/84 .text cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo */ +// reg issues +#ifdef NONMATCHING +fopAc_ac_c* cc_at_check(fopAc_ac_c* enemy, dCcU_AtInfo* info) { + daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0); + info->mpActor = at_power_check(info); + + if (info->mpActor != NULL) { + cXyz tmp = info->mpActor->mSpeed; + tmp.y = 0.0f; + if (tmp.abs() > 100.0f) { + f32 x = info->mpActor->mSpeed.x; + f32 z = info->mpActor->mSpeed.z; + info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f); + } else { + if (fopAcM_GetName(info->mpActor) == PROC_BOOMERANG) { + f32 x_diff = enemy->mCurrent.mPosition.x - link->mCurrent.mPosition.x; + f32 z_diff = enemy->mCurrent.mPosition.z - link->mCurrent.mPosition.z; + info->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f); + } else { + f32 x_diff = enemy->mCurrent.mPosition.x - info->mpActor->mCurrent.mPosition.x; + f32 z_diff = enemy->mCurrent.mPosition.z - info->mpActor->mCurrent.mPosition.z; + info->mHitDirection = cM_atan2s(-x_diff, -z_diff); + } + } + + if (info->mHitType == 1 && link->getCutType() == daPy_py_c::TYPE_CUT_HEAD) { + info->mHitDirection = link->mCollisionRot.y; + } + + if (info->mpCollider->ChkAtType(0x4000) && fopAcM_checkStatus(enemy, 0x380000)) { + info->mAttackPower = 0; + } + + if (static_cast(info->mpCollider)->GetAtMtrl() == 4) { + if (fopAcM_GetName(enemy) == PROC_B_GND) { + info->mAttackPower = 0; + } else if (fopAcM_GetName(enemy) != PROC_B_ZANT) { + info->mAttackPower = 100; + } + } + + if (info->mHitType == 1) { + if (!daPy_py_c::checkNowWolf()) { + if (link->checkMasterSwordEquip()) { + info->mAttackPower *= 2; + } + + if (daPy_py_c::checkWoodSwordEquip()) { + // probably supposed to be some sort of division + info->mAttackPower = info->mAttackPower >> 1; + } + } + + if (link->getSwordAtUpTime()) { + info->mAttackPower *= 2; + info->mHitStatus = 1; + } + } + + if (info->mAttackPower != 0) { + enemy->field_0x562 -= info->mAttackPower; + } + + s8 pause_time = 0; + if (info->mAttackPower != 0 && enemy->field_0x562 <= 0) { + info->mHitStatus = 2; + enemy->field_0x562 = 0; + } + + int uvar8; + if (info->mpCollider->ChkAtType(0x4000) && !fopAcM_checkStatus(enemy, 0x280000)) { + uvar8 = 1; + } else { + uvar8 = 0; + } + + if (info->mpSound != NULL) { + if (info->field_0x18 != 0) { + info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8), info->field_0x18); + } else { + info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8), + getMapInfo(info->mHitStatus)); + } + } + + if (info->mHitStatus != 0) { + pause_time = 5; + } else { + if (info->mAttackPower > 1) { + pause_time = 2; + } + } + + if (info->mpCollider->ChkAtType(0x8000000) || + ((daPy_py_c*)dComIfGp_getPlayer(0))->checkHorseRide()) { + // actor is Bulblin or Horseback Ganon + // add bulblin class later + if ((fopAcM_GetName(enemy) == PROC_E_RD && *(char*)((char*)&enemy + 0x1292) != 0) || + fopAcM_GetName(enemy) == PROC_B_GND) { + pause_time = 3; + } else { + pause_time = 0; + } + } + + s16 ac_name = fopAcM_GetName(enemy); + // actor is Stalkin, Chu, Keese, Shadow Keese, Shadow Vermin, Baby Gohma, or Rat + if (ac_name == PROC_E_BS || ac_name == PROC_E_SM2 || ac_name == PROC_E_BA || + ac_name == PROC_E_YK || ac_name == PROC_E_YG || ac_name == PROC_E_GM || + ac_name == PROC_E_MS) { + pause_time = 0; + } + + if (info->mHitType == 1 || info->mpCollider->ChkAtType(0x8)) { + if (!link->checkCutJumpCancelTurn() && info->mpCollider->ChkAtType(0x8)) { + pause_time = 4; + } + dScnPly_c::setPauseTimer(pause_time); + } + } + + return info->mpActor; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cc_at_check(fopAc_ac_c* param_0, dCcU_AtInfo* param_1) { +asm fopAc_ac_c* cc_at_check(fopAc_ac_c* param_0, dCcU_AtInfo* param_1) { nofralloc #include "asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s" } #pragma pop +#endif /* 80088134-8008813C 082A74 0008+00 0/0 1/0 0/0 .text checkCutJumpCancelTurn__9daPy_py_cCFv */ -bool daPy_py_c::checkCutJumpCancelTurn() const { - return false; +int daPy_py_c::checkCutJumpCancelTurn() const { + return 0; } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index 79a3114d6f..1b37d72d0b 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -1367,7 +1367,7 @@ asm void dComIfG_changeOpeningScene(scene_class* param_0, s16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfG_resetToOpening(scene_class* param_0) { +asm BOOL dComIfG_resetToOpening(scene_class* param_0) { nofralloc #include "asm/d/com/d_com_inf_game/dComIfG_resetToOpening__FP11scene_class.s" } diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index e3e1ffb72c..ba99320c4d 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -79,19 +79,6 @@ struct dDlst_2DM_c { /* 80052C58 */ void draw(); }; -class cM_rnd_c { -public: - /* 80053CDC */ void init(int, int, int); - /* 80053CEC */ f32 get(); - /* 80053DE0 */ f32 getF(f32); - /* 80053E18 */ f32 getFX(f32); - /* 80053E60 */ f32 getValue(f32, f32); - - /* 0x0 */ int seed0; - /* 0x4 */ int seed1; - /* 0x8 */ int seed2; -}; - struct cBgS_ShdwDraw { /* 80267F88 */ cBgS_ShdwDraw(); /* 80267FD0 */ ~cBgS_ShdwDraw(); @@ -3027,8 +3014,7 @@ SECTION_SDATA u8 dDlst_list_c::mWipeColor[4] = { }; /* 80450ED0-80450ED4 0003D0 0004+00 2/2 1/1 0/0 .sbss None */ -extern u8 data_80450ED0[4]; -u8 data_80450ED0[4]; +u8 data_80450ED0; /* 80450ED4-80450ED8 0003D4 0004+00 2/2 1/1 0/0 .sbss mWipeRate__12dDlst_list_c */ f32 dDlst_list_c::mWipeRate; diff --git a/src/d/d_kyeff.cpp b/src/d/d_kyeff.cpp index d4946a6fcf..9103d5c4da 100644 --- a/src/d/d_kyeff.cpp +++ b/src/d/d_kyeff.cpp @@ -4,22 +4,18 @@ // #include "d/d_kyeff.h" -#include "d/kankyo/d_kankyo_wether.h" +#include "Z2AudioLib/Z2EnvSeMgr.h" +#include "d/com/d_com_inf_game.h" +#include "d/kankyo/d_kankyo.h" #include "dol2asm.h" #include "dolphin/types.h" -#include "d/com/d_com_inf_game.h" - // // Types: // struct kankyo_class {}; -struct Z2EnvSeMgr { - /* 802C66B0 */ void framework(); -}; - // // Forward References: // @@ -45,69 +41,50 @@ extern "C" void dKyw_wether_draw__Fv(); extern "C" void dKy_FiveSenses_fullthrottle_dark__Fv(); extern "C" void framework__10Z2EnvSeMgrFv(); extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 g_mEnvSeMgr[780]; +extern "C" extern dScnKy_env_light_c g_env_light; +extern "C" extern Z2EnvSeMgr g_mEnvSeMgr; // // Declarations: // +// move later +inline void mDoAud_mEnvse_framework() { + g_mEnvSeMgr.framework(); +} + /* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */ void dKankyo_DayProc() { dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]); } -static bool dKyeff_Draw(dKyeff_c* ptr) { +static int dKyeff_Draw(dKyeff_c* ptr) { dKyw_wether_draw(); - return true; + return 1; } -/* ############################################################################################## */ -/* 80394F38-80394F38 021598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394F38 = "Name"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394F3D = "\0\0"; -#pragma pop - /* 801ADD5C-801ADDB4 1A869C 0058+00 1/1 0/0 0/0 .text execute__8dKyeff_cFv */ -// matching but need gameinfo setup -#ifdef NONMATCHING -bool dKyeff_c::execute() { - const char* stageName = dComIfGp_getStartStageName(); - int strcmp_result = strcmp(stageName, "Name"); // strcmp(stageName,"Name"); - if (strcmp_result != 0) { +int dKyeff_c::execute() { + if (strcmp(dComIfGp_getStartStageName(), "Name")) { dKyw_wether_move(); } dKyw_wether_move_draw(); dKy_FiveSenses_fullthrottle_dark(); mDoAud_mEnvse_framework(); - return true; + return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dKyeff_c::execute() { - nofralloc -#include "asm/d/d_kyeff/execute__8dKyeff_cFv.s" -} -#pragma pop -#endif -static bool dKyeff_Execute(dKyeff_c* ptr) { +static int dKyeff_Execute(dKyeff_c* ptr) { return ptr->execute(); } -static bool dKyeff_IsDelete(dKyeff_c* ptr) { - return true; +static int dKyeff_IsDelete(dKyeff_c* ptr) { + return 1; } -static bool dKyeff_Delete(dKyeff_c* ptr) { +static int dKyeff_Delete(dKyeff_c* ptr) { dKyw_wether_delete(); - return true; + return 1; } /* ############################################################################################## */ @@ -132,25 +109,17 @@ SECTION_SDATA2 static f32 lit_3843 = 7.0f / 10.0f; SECTION_SDATA2 static f32 lit_3844 = 15.0f; /* 801ADE00-801ADEA0 1A8740 00A0+00 1/0 0/0 0/0 .text dKyeff_Create__FP12kankyo_class */ -// matching but need gameinfo setup +// float data #ifdef NONMATCHING -u32 dKyeff_Create(kankyo_class* kankyo_class_ptr) { - int strcmp_result; - OSTime Time; - OSCalendarTime CalendarTime; +static int dKyeff_Create(kankyo_class* kankyo) { + OSCalendarTime time; dKyw_wether_init(); - strcmp_result = strcmp(dComIfGp_getStartStageName(), "Name"); - if (strcmp_result == 0) { - Time = OSGetTime(); - OSTicksToCalendarTime( - Time, - &CalendarTime); // CONCAT44(iVar1,(int)((ulonglong)OVar2 >> 0x20)),&CalendarTime); - lbl_8042CA54.field_0xe48 = 1.0f; - lbl_8042CA54.field_0xe4c = 0.0f; - lbl_8042CA54.field_0xe50 = 0.0f; - lbl_8042CA54.field_0xe58 = 0.7f; - lbl_8042CA54.field_0x1244 = CalendarTime.hours * 15.0f; + if (!strcmp(dComIfGp_getStartStageName(), "Name")) { + OSTicksToCalendarTime(OSGetTime(), &time); + g_env_light.mWind.vec.set(1.0f, 0.0f, 0.0f); + g_env_light.mWind.pow = 0.7f; + g_env_light.mDaytime = time.hours * 15.0f; } return 4; } @@ -158,7 +127,7 @@ u32 dKyeff_Create(kankyo_class* kankyo_class_ptr) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dKyeff_Create(kankyo_class* param_0) { +static asm int dKyeff_Create(kankyo_class* param_0) { nofralloc #include "asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s" } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index f4c0f08351..4d519a0d6b 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -412,7 +412,6 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern J3DLightInfo const j3dDefaultLightInfo; extern "C" extern u8 g_save_bit_HIO[1184 + 4 /* padding */]; -extern "C" extern u8 data_804505F0[8]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; // @@ -1826,7 +1825,7 @@ int dStage_roomControl_c::resetArchiveBank(int i_bank) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm int dStage_roomControl_c::resetArchiveBank(int param_0) { +asm bool dStage_roomControl_c::resetArchiveBank(int param_0) { nofralloc #include "asm/d/d_stage/resetArchiveBank__20dStage_roomControl_cFi.s" } @@ -2279,7 +2278,7 @@ static asm int dStage_lgtvInfoInit(dStage_dt_c* param_0, void* param_1, int para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_stagInfo_GetParticleNo(stage_stag_info_class* param_0, int param_1) { +asm u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* param_0, int param_1) { nofralloc #include "asm/d/d_stage/dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi.s" } diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index ddb63cb9ab..e52bbfe19d 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -143,7 +143,6 @@ extern "C" void _restgpr_29(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" f32 mFadeRate__13mDoGph_gInf_c; -extern "C" extern u8 struct_80450BE4[4]; extern "C" u8 m_control__7dDemo_c[4]; extern "C" u8 m_frameNoMsg__7dDemo_c[4]; extern "C" u8 m_mode__7dDemo_c[4]; diff --git a/src/d/file/d_file_sel_info.cpp b/src/d/file/d_file_sel_info.cpp index df72165740..a0b69cfe64 100644 --- a/src/d/file/d_file_sel_info.cpp +++ b/src/d/file/d_file_sel_info.cpp @@ -7,63 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dSv_save_c {}; - -struct JMSMesgEntry_c {}; - -struct dMeter2Info_c { - /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*); -}; - -struct JKRArchive {}; - -struct dFile_info_c { - /* 80192434 */ dFile_info_c(JKRArchive*, u8); - /* 801924A0 */ ~dFile_info_c(); - /* 80192570 */ void screenSet(); - /* 80192954 */ void setSaveData(dSv_save_c*, int, u8); - /* 80192AA0 */ void setHeartCnt(dSv_save_c*); - /* 80192C08 */ void setSaveDate(dSv_save_c*); - /* 80192C70 */ void setPlayTime(dSv_save_c*); - /* 80192D58 */ void modeWait(); - /* 80192D5C */ void modeMove(); - /* 80192D60 */ void _draw(); -}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - -struct dDlst_FileInfo_c { - /* 80192D9C */ void draw(); - /* 80192EC8 */ ~dDlst_FileInfo_c(); -}; - -struct JKRExpHeap {}; - -struct J2DTextBox { - /* 80300658 */ void getStringPtr() const; - /* 8030074C */ void setString(s16, char const*, ...); -}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); -}; - -struct CPaneMgrAlpha { - /* 802553FC */ CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*); -}; - // // Forward References: // @@ -99,10 +42,6 @@ extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); extern "C" void getStringPtr__10J2DTextBoxCFv(); extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void OSTicksToCalendarTime(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXScale(); extern "C" void _savegpr_22(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); @@ -113,11 +52,7 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void __div2i(); extern "C" void __mod2i(); -extern "C" void sprintf(); -extern "C" void strcpy(); extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; // // Declarations: @@ -154,25 +89,18 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12 + 4 /* padding */] = { }; /* 803BB4A8-803BB548 0185C8 00A0+00 1/1 0/0 0/0 .data l_htag$3879 */ -SECTION_DATA static u8 l_htag[160] = { - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x30, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x31, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x32, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x33, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x34, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x35, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x36, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x37, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x38, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x32, 0x39, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x30, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x31, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x32, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x33, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x34, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x35, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x36, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x37, - 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x38, 0x00, 0x68, 0x65, 0x61, 0x72, 0x5F, 0x33, 0x39, +SECTION_DATA static u64 l_htag[20] = { + 'hear_20', 'hear_21', 'hear_22', 'hear_23', 'hear_24', 'hear_25', 'hear_26', + 'hear_27', 'hear_28', 'hear_29', 'hear_30', 'hear_31', 'hear_32', 'hear_33', + 'hear_34', 'hear_35', 'hear_36', 'hear_37', 'hear_38', 'hear_39', }; /* 803BB548-803BB558 -00001 0010+00 1/1 0/0 0/0 .data amariheartTex$3880 */ -SECTION_DATA static void* amariheartTex[4] = { - (void*)(((char*)&d_file_d_file_sel_info__stringBase0) + 0x21), - (void*)(((char*)&d_file_d_file_sel_info__stringBase0) + 0x21), - (void*)(((char*)&d_file_d_file_sel_info__stringBase0) + 0x21), - (void*)(((char*)&d_file_d_file_sel_info__stringBase0) + 0x21), +SECTION_DATA static char* amariheartTex[4] = { + "tt_heart_00.bti", + "tt_heart_00.bti", + "tt_heart_00.bti", + "tt_heart_00.bti", }; /* 803BB558-803BB564 -00001 000C+00 0/1 0/0 0/0 .data @3953 */ @@ -224,47 +152,144 @@ SECTION_DATA extern void* __vt__12dFile_info_c[3 + 3 /* padding */] = { }; /* 80192434-801924A0 18CD74 006C+00 0/0 3/3 0/0 .text __ct__12dFile_info_cFP10JKRArchiveUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dFile_info_c::dFile_info_c(JKRArchive* param_0, u8 param_1) { - nofralloc -#include "asm/d/file/d_file_sel_info/__ct__12dFile_info_cFP10JKRArchiveUc.s" +dFile_info_c::dFile_info_c(JKRArchive* arc, u8 param_1) { + mArchive = arc; + field_0x22 = param_1; + mFileInfo.mBasePane = NULL; + screenSet(); + field_0x20 = 0; } -#pragma pop /* 801924A0-80192570 18CDE0 00D0+00 1/0 0/0 0/0 .text __dt__12dFile_info_cFv */ +#ifdef NONMATCHING +dFile_info_c::~dFile_info_c() { + delete mFileInfo.Scr; + delete mDatBase; + delete mNoDatBase; + + mDoExt_removeMesgFont(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dFile_info_c::~dFile_info_c() { +// asm dFile_info_c::~dFile_info_c() { +extern "C" asm void __dt__12dFile_info_cFv() { nofralloc #include "asm/d/file/d_file_sel_info/__dt__12dFile_info_cFv.s" } #pragma pop +#endif /* 80192570-80192954 18CEB0 03E4+00 1/1 0/0 0/0 .text screenSet__12dFile_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dFile_info_c::screenSet() { - nofralloc -#include "asm/d/file/d_file_sel_info/screenSet__12dFile_info_cFv.s" +void dFile_info_c::screenSet() { + mFileInfo.Scr = new J2DScreen(); + mFileInfo.Scr->setPriority("zelda_file_select_info_text.blo", 0x1100000, mArchive); + mFileInfo.mFont = mDoExt_getMesgFont(); + mFileInfo.Scr->search('w_cp_ef1')->hide(); + mFileInfo.field_0x10 = mFileInfo.Scr->search('w_dat_i1'); + mDatBase = new CPaneMgrAlpha(mFileInfo.Scr, 'w_dat_i1', 2, NULL); + mNoDatBase = new CPaneMgrAlpha(mFileInfo.Scr, 'w_nda_i1', 2, NULL); + + J2DTextBox* tboxs[4]; + tboxs[0] = (J2DTextBox*)mFileInfo.Scr->search('f_s_t_02'); + tboxs[1] = (J2DTextBox*)mFileInfo.Scr->search('f_p_t_02'); + mFileInfo.Scr->search('w_s_t_01')->hide(); + mFileInfo.Scr->search('w_p_t_01')->hide(); + + for (int i = 0; i < 2; i++) { + tboxs[i]->setFont(mFileInfo.mFont); + tboxs[i]->setString(0x20, ""); + } + dMeter2Info_getString(0x3D0, tboxs[0]->getStringPtr(), NULL); // Save time + dMeter2Info_getString(0x3D1, tboxs[1]->getStringPtr(), NULL); // Total play time + + tboxs[0] = (J2DTextBox*)mFileInfo.Scr->search('f_name01'); + tboxs[1] = (J2DTextBox*)mFileInfo.Scr->search('f_new_1'); + mFileInfo.Scr->search('w_name01')->hide(); + mFileInfo.Scr->search('w_new_1')->hide(); + + tboxs[2] = (J2DTextBox*)mFileInfo.Scr->search('w_time01'); + tboxs[3] = (J2DTextBox*)mFileInfo.Scr->search('w_ptim01'); + + for (int i = 0; i < 4; i++) { + tboxs[i]->setFont(mFileInfo.mFont); + tboxs[i]->setString(0x40, ""); + } + mPlayerName = tboxs[0]->getStringPtr(); + mSaveStatus = tboxs[1]->getStringPtr(); + mSaveDate = tboxs[2]->getStringPtr(); + mPlayTime = tboxs[3]->getStringPtr(); +} + +inline u16 dComIfGs_getLife() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife(); } -#pragma pop /* 80192954-80192AA0 18D294 014C+00 0/0 3/3 0/0 .text setSaveData__12dFile_info_cFP10dSv_save_ciUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dFile_info_c::setSaveData(dSv_save_c* param_0, int param_1, u8 param_2) { - nofralloc -#include "asm/d/file/d_file_sel_info/setSaveData__12dFile_info_cFP10dSv_save_ciUc.s" +int dFile_info_c::setSaveData(dSv_save_c* save, int param_1, u8 data_num) { + if (param_1 != 0) { + char* player_name = save->getPlayer().getPlayerInfo().getLinkName(); + if (*player_name == NULL) { + if (field_0x22 == 1 && data_num == dComIfGs_getDataNum()) { + save->getPlayer().getPlayerStatusA().setLife(dComIfGs_getLife()); + setHeartCnt(save); + save->getPlayer().getPlayerStatusA().setLife(12); + strcpy(mPlayerName, dComIfGs_getPlayerName()); + strcpy(mSaveDate, ""); + strcpy(mPlayTime, ""); + dMeter2Info_getString(0x4D, mSaveStatus, NULL); // New Quest Log + return 2; + } else { + dMeter2Info_getString(0x4D, mSaveStatus, NULL); // New Quest Log + return 1; + } + } else { + setHeartCnt(save); + strcpy(mPlayerName, player_name); + setSaveDate(save); + setPlayTime(save); + return 0; + } + } else { + dMeter2Info_getString(0x51, mSaveStatus, NULL); // This Quest Log is Corrupted + return -1; + } } -#pragma pop /* 80192AA0-80192C08 18D3E0 0168+00 1/1 0/0 0/0 .text setHeartCnt__12dFile_info_cFP10dSv_save_c */ +// close +#ifdef NONMATCHING +void dFile_info_c::setHeartCnt(dSv_save_c* save) { + u16 life = save->getPlayer().getPlayerStatusA().getLife(); + s32 count = (u8)(life) / 5; + s32 quarter_count = life % 5; + if (quarter_count != 0) { + count++; + } + + J2DPicture* heartP[20]; + for (int i = 0; i < 20; i++) { + heartP[i] = (J2DPicture*)mFileInfo.Scr->search(l_htag[i]); + + if (i < save->getPlayer().getPlayerStatusA().getMaxLife() / 5) { + heartP[i]->show(); + if (i < count) { + if (quarter_count != 0 && i == --count) { + heartP[i]->changeTexture(amariheartTex[quarter_count - 1], 0); + } else { + heartP[i]->changeTexture("tt_heart_00.bti", 0); + } + } else { + heartP[i]->changeTexture("tt_heart_00.bti", 0); + } + } else { + heartP[i]->hide(); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -273,43 +298,29 @@ asm void dFile_info_c::setHeartCnt(dSv_save_c* param_0) { #include "asm/d/file/d_file_sel_info/setHeartCnt__12dFile_info_cFP10dSv_save_c.s" } #pragma pop - -/* ############################################################################################## */ -/* 803948B8-803948B8 020F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803948E9 = "%02d/%02d/%d %02d:%02d"; -#pragma pop +#endif /* 80192C08-80192C70 18D548 0068+00 1/1 0/0 0/0 .text setSaveDate__12dFile_info_cFP10dSv_save_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dFile_info_c::setSaveDate(dSv_save_c* param_0) { - nofralloc -#include "asm/d/file/d_file_sel_info/setSaveDate__12dFile_info_cFP10dSv_save_c.s" +void dFile_info_c::setSaveDate(dSv_save_c* save) { + OSCalendarTime time; + OSTicksToCalendarTime(save->getPlayer().getPlayerStatusB().getDateIpl(), &time); + sprintf(mSaveDate, "%02d/%02d/%d %02d:%02d", time.month + 1, time.day_of_month, time.year, + time.hours, time.minutes); } -#pragma pop - -/* ############################################################################################## */ -/* 803948B8-803948B8 020F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394900 = "999:59"; -SECTION_DEAD static char const* const stringBase_80394907 = "%d:%02d"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039490F = ""; -#pragma pop /* 80192C70-80192D58 18D5B0 00E8+00 1/1 0/0 0/0 .text setPlayTime__12dFile_info_cFP10dSv_save_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dFile_info_c::setPlayTime(dSv_save_c* param_0) { - nofralloc -#include "asm/d/file/d_file_sel_info/setPlayTime__12dFile_info_cFP10dSv_save_c.s" +void dFile_info_c::setPlayTime(dSv_save_c* save) { + s64 time = save->getPlayer().getPlayerInfo().getTotalTime() / (OS_BUS_CLOCK / 4); + + // 3599940 = 999:59 in seconds + if (time >= 3599940) { + sprintf(mPlayTime, "999:59"); + } else { + u32 min = (time % 3600) / 60; + u32 hours = time / 3600; + sprintf(mPlayTime, "%d:%02d", hours, min); + } } -#pragma pop /* 80192D58-80192D5C 18D698 0004+00 1/0 0/0 0/0 .text modeWait__12dFile_info_cFv */ void dFile_info_c::modeWait() { @@ -322,14 +333,9 @@ void dFile_info_c::modeMove() { } /* 80192D60-80192D9C 18D6A0 003C+00 0/0 2/2 0/0 .text _draw__12dFile_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dFile_info_c::_draw() { - nofralloc -#include "asm/d/file/d_file_sel_info/_draw__12dFile_info_cFv.s" +void dFile_info_c::_draw() { + dComIfGd_set2DOpa(&mFileInfo); } -#pragma pop /* ############################################################################################## */ /* 804539F8-804539FC 001FF8 0004+00 1/1 0/0 0/0 .sdata2 @4000 */ @@ -344,14 +350,32 @@ SECTION_SDATA2 static u8 lit_4001[4] = { }; /* 80192D9C-80192E88 18D6DC 00EC+00 1/0 0/0 0/0 .text draw__16dDlst_FileInfo_cFv */ +// close +#ifdef NONMATCHING +void dDlst_FileInfo_c::draw() { + Mtx m; + J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort(); + + if (mBasePane != NULL) { + MtxP glbMtx = mBasePane->getGlbMtx(); + PSMTXScale(m, mBasePane->getWidth() / field_0x10->getWidth(), + mBasePane->getHeight() / field_0x10->getHeight(), 1.0f); + PSMTXConcat(glbMtx, m, glbMtx); + Scr->search('Nm_02')->setMtx(glbMtx); + } + Scr->draw(0.0f, 0.0f, ctx); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_FileInfo_c::draw() { +// asm void dDlst_FileInfo_c::draw() { +extern "C" asm void draw__16dDlst_FileInfo_cFv() { nofralloc #include "asm/d/file/d_file_sel_info/draw__16dDlst_FileInfo_cFv.s" } #pragma pop +#endif /* 80192E88-80192EC8 18D7C8 0040+00 0/0 1/0 0/0 .text __sinit_d_file_sel_info_cpp */ #pragma push diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 051381c62b..6e84d67a4e 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -344,7 +344,6 @@ extern "C" void _restgpr_29(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" extern void* __vt__12J3DFrameCtrl[3]; extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 m_bloom__13mDoGph_gInf_c[20]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp index 4ffcdc2682..60c4e81ecf 100644 --- a/src/d/kankyo/d_kankyo_wether.cpp +++ b/src/d/kankyo/d_kankyo_wether.cpp @@ -227,11 +227,6 @@ inline void mDoAud_rainPlay(s32 enable) { g_mEnvSeMgr.startRainSe(enable, 0); } -inline void mDoAud_seStart(u32 sfx_id, const Vec* param_1, u32 param_2, s8 param_3) { - Z2AudioMgr::getInterface()->mSeMgr.seStart(sfx_id, param_1, param_2, param_3, 1.0f, 1.0f, -1.0f, - -1.0f, 0); -} - /* 80056AA8-80056AF8 0513E8 0050+00 3/3 0/0 0/0 .text dKyw_setDrawPacketList__FP9J3DPacketi */ static J3DPacket* dKyw_setDrawPacketList(J3DPacket* p_packet, int param_1) { if (p_packet == NULL) { diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index 7100179a88..d4bee51560 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -259,14 +259,12 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" extern void* __vt__10CSTControl[4]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 mFader__13mDoGph_gInf_c[4]; extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4]; -extern "C" extern u8 struct_80450BE4[4]; extern "C" u8 sManager__10JFWDisplay[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp index 24b8d4a645..106a3431ed 100644 --- a/src/d/meter/d_meter2.cpp +++ b/src/d/meter/d_meter2.cpp @@ -4,9 +4,14 @@ // #include "d/meter/d_meter2.h" +#include "d/d_timer.h" +#include "d/menu/d_menu_window_HIO.h" +#include "d/meter/d_meter_HIO.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_op/f_op_msg.h" #include "f_op/f_op_msg_mng.h" +#include "m_Do/m_Do_audio.h" // // Types: @@ -16,35 +21,10 @@ struct dScope_c { /* 80193690 */ dScope_c(u8); }; -struct dMw_HIO_c { - /* 801F9E14 */ bool getBombFlag(); - /* 801F9E1C */ bool getArrowFlag(); - /* 801F9E24 */ bool getPachinkoFlag(); -}; - -struct dMeterString_c { - /* 8020ED60 */ dMeterString_c(int); - /* 8020F5A4 */ void createString(int); -}; - struct dMeterHakusha_c { /* 8020C320 */ dMeterHakusha_c(void*); }; -struct dMeterHaihai_c { - /* 8020AE8C */ dMeterHaihai_c(u8); -}; - -struct dMeterButton_c { - /* 80201328 */ dMeterButton_c(); - /* 80201404 */ void _execute(u32, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, - bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, - bool); - /* 80209474 */ void isClose(); - /* 802095C0 */ void setString(char*, u8, u8, u8); - /* 80209CEC */ void hideAll(); -}; - struct dDemo_c { static u8 m_mode[4]; }; @@ -53,19 +33,6 @@ struct dCamera_c { /* 80174EA4 */ bool CalcSubjectAngle(s16*, s16*); }; -struct Z2StatusMgr { - /* 802B5F70 */ void heartGaugeOn(); -}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -120,7 +87,7 @@ extern "C" static bool dMeter2_IsDelete__FP9dMeter2_c(); extern "C" static void dMeter2_Delete__FP9dMeter2_c(); extern "C" static void dMeter2_Create__FP9msg_class(); extern "C" extern char const* const d_meter_d_meter2__stringBase0; -extern "C" extern void* g_profile_METER2[10]; +// extern "C" extern void* g_profile_METER2[10]; // // External References: @@ -276,13 +243,6 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_mwHIO[304]; -extern "C" extern u8 g_drawHIO[3880]; -extern "C" extern u8 g_ringHIO[344]; -extern "C" extern u8 g_fmapHIO[1188]; -extern "C" extern u8 g_cursorHIO[68 + 4 /* padding */]; extern "C" u8 m_mode__7dDemo_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -351,9 +311,9 @@ int dMeter2_c::_create() { field_0x1e6 = 0; field_0x1e7 = 0; - mItemMaxNum[2] = dComIfGs_getArrowMax(); + mItemMaxNum[ARROW_MAX] = dComIfGs_getArrowMax(); mArrowNum = dComIfGs_getArrowNum(); - mItemMaxNum[3] = dComIfGs_getPachinkoMax(); + mItemMaxNum[PACHINKO_MAX] = dComIfGs_getPachinkoMax(); mPachinkoNum = dComIfGs_getPachinkoNum(); for (int i = 0; i < 3; i++) { @@ -371,8 +331,8 @@ int dMeter2_c::_create() { field_0x1e8 = 0; field_0x1e9 = 0; - field_0x1ea = 0; - field_0x1eb = 0; + mRupeeSound = 0; + mArrowSound = 0; for (int i = 0; i < 5; i++) { field_0x1b8[i] = 0; @@ -412,8 +372,8 @@ int dMeter2_c::_create() { mRupeeNum = i_dComIfGs_getRupee(); mKeyNum = dComIfGs_getKeyNum(); - field_0x1c4 = dComIfGp_getDoStatus(); - field_0x1dc = dComIfGp_isDoSetFlag(2); + mDoStatus = dComIfGp_getDoStatus(); + mDoSetFlag = dComIfGp_isDoSetFlag(2); int i = 0; f32 temp0 = FLOAT_LABEL(lit_4662); @@ -423,9 +383,9 @@ int dMeter2_c::_create() { } field_0x144 = lit_4663; - field_0x1c5 = dComIfGp_getAStatus(); + mAStatus = dComIfGp_getAStatus(); field_0x1c6 = 0; - field_0x1dd = dComIfGp_isASetFlag(2); + mASetFlag = dComIfGp_isASetFlag(2); i = 0; f32 temp1 = FLOAT_LABEL(lit_4662); @@ -436,7 +396,7 @@ int dMeter2_c::_create() { field_0x158 = lit_4663; field_0x1e4 = 0; - field_0x1e2 = dComIfGs_getSelectEquipSword(); + mEquipSword = dComIfGs_getSelectEquipSword(); field_0x1e3 = 0; field_0x1fe = 0; @@ -445,20 +405,20 @@ int dMeter2_c::_create() { field_0x200 = 0; field_0x201 = 0; - field_0x1c7 = dComIfGs_getCollectSmell(); - field_0x1c8 = dComIfGp_getRStatus(); - field_0x1de = dComIfGp_isRSetFlag(2); - field_0x1df = dComIfGp_isXSetFlag(2); - field_0x1e0 = dComIfGp_isYSetFlag(2); + mCollectSmell = dComIfGs_getCollectSmell(); + mRStatus = dComIfGp_getRStatus(); + mRSetFlag = dComIfGp_isRSetFlag(2); + mXSetFlag = dComIfGp_isXSetFlag(2); + mYSetFlag = dComIfGp_isYSetFlag(2); for (int i = 0; i < 2; i++) { dComIfGp_setSelectItem(i); } - field_0x1d2[0] = dComIfGp_getSelectItem(0); - field_0x1d2[2] = dComIfGp_getSelectItem(1); - field_0x1d2[1] = dComIfGp_getXStatus(); - field_0x1d2[3] = dComIfGp_getYStatus(); + mItemStatus[X_ITEM] = dComIfGp_getSelectItem(0); + mItemStatus[Y_ITEM] = dComIfGp_getSelectItem(1); + mItemStatus[X_STATUS] = dComIfGp_getXStatus(); + mItemStatus[Y_STATUS] = dComIfGp_getYStatus(); f32 temp2 = FLOAT_LABEL(lit_4662); field_0x188 = temp2; field_0x18c = temp2; @@ -480,15 +440,15 @@ int dMeter2_c::_create() { } field_0x190 = 0; - field_0x1c9 = dComIfGp_getZStatus(); - field_0x1ca = dComIfGp_get3DStatus(); - field_0x1cb = dComIfGp_getCStickStatus(); - field_0x1cc = dComIfGp_getSButtonStatus(); - field_0x1cd = dComIfGp_getNunStatus(); - field_0x1ce = dComIfGp_getRemoConStatus(); - field_0x1cf = dComIfGp_getNunZStatus(); - field_0x1d0 = dComIfGp_getNunCStatus(); - field_0x1d1 = dComIfGp_getBottleStatus(); + mZStatus = dComIfGp_getZStatus(); + m3DStatus = dComIfGp_get3DStatus(); + mCStickStatus = dComIfGp_getCStickStatus(); + mSButtonStatus = dComIfGp_getSButtonStatus(); + mNunStatus = dComIfGp_getNunStatus(); + mRemoConStatus = dComIfGp_getRemoConStatus(); + mNunZStatus = dComIfGp_getNunZStatus(); + mNunCStatus = dComIfGp_getNunCStatus(); + mBottleStatus = dComIfGp_getBottleStatus(); field_0x1ac = dMeter2Info_isUseButton(16); field_0x19a = 0; @@ -500,20 +460,20 @@ int dMeter2_c::_create() { for (int i = 0; i < 2; i++) { if (field_0x128 == 0) { - if (field_0x1d2[i * 2] == BOMB_BAG_LV1 || field_0x1d2[i * 2] == NORMAL_BOMB || - field_0x1d2[i * 2] == WATER_BOMB || field_0x1d2[i * 2] == POKE_BOMB) { + if (mItemStatus[i * 2] == BOMB_BAG_LV1 || mItemStatus[i * 2] == NORMAL_BOMB || + mItemStatus[i * 2] == WATER_BOMB || mItemStatus[i * 2] == POKE_BOMB) { mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), dComIfGp_getSelectItemMaxNum(i)); - } else if (field_0x1d2[i * 2] == BEE_CHILD) { + } else if (mItemStatus[i * 2] == BEE_CHILD) { mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), dComIfGp_getSelectItemMaxNum(i)); - } else if (field_0x1d2[i * 2] == BOW || field_0x1d2[i * 2] == LIGHT_ARROW || - field_0x1d2[i * 2] == ARROW_LV1 || field_0x1d2[i * 2] == ARROW_LV2 || - field_0x1d2[i * 2] == ARROW_LV3 || field_0x1d2[i * 2] == HAWK_ARROW) { + } else if (mItemStatus[i * 2] == BOW || mItemStatus[i * 2] == LIGHT_ARROW || + mItemStatus[i * 2] == ARROW_LV1 || mItemStatus[i * 2] == ARROW_LV2 || + mItemStatus[i * 2] == ARROW_LV3 || mItemStatus[i * 2] == HAWK_ARROW) { mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax()); - } else if (field_0x1d2[i * 2] == PACHINKO) { + } else if (mItemStatus[i * 2] == PACHINKO) { mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax()); - } else if (field_0x1d2[i * 2] == BOMB_ARROW) { + } else if (mItemStatus[i * 2] == BOMB_ARROW) { u8 item_num = dComIfGp_getSelectItemNum(i); u8 item_max = dComIfGp_getSelectItemMaxNum(i); if (item_num > mArrowNum) { @@ -541,9 +501,9 @@ int dMeter2_c::_create() { mpHeap->getTotalFreeSize(); mpSubHeap = fopMsgM_createExpHeap(0x5000, mpHeap); field_0x108 = NULL; - field_0x110 = NULL; - field_0x114 = NULL; - field_0x118 = NULL; + mpMeterSub = NULL; + mpMeterString = NULL; + mpMeterButton = NULL; mpHeap->getTotalFreeSize(); field_0x11c = NULL; @@ -623,14 +583,37 @@ int dMeter2_c::_execute() { } /* 8021F370-8021F49C 219CB0 012C+00 1/1 0/0 0/0 .text _draw__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMeter2_c::_draw() { - nofralloc -#include "asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s" +int dMeter2_c::_draw() { + if (mpMap != NULL) { + mpMap->_draw(); + } + + if (mpMeterSub != NULL) { + dComIfGd_set2DOpaTop(mpMeterSub); + } + + if (mpMeterString != NULL) { + if (mSubContents == 5) { + if (mSubContentsStringType != 0) { + dComIfGd_set2DOpaTop(mpMeterString); + } + } else { + dComIfGd_set2DOpaTop(mpMeterString); + } + } + + if (dMeter2Info_getWindowStatus() == 2) { + dComIfGd_set2DOpa(mpMeterDraw); + } else { + dComIfGd_set2DOpaTop(mpMeterDraw); + } + + if (mpMeterButton != NULL) { + dComIfGd_set2DOpaTop(mpMeterButton); + } + + return 1; } -#pragma pop /* ############################################################################################## */ /* 804549D0-804549D8 002FD0 0004+04 10/10 0/0 0/0 .sdata2 @4837 */ @@ -641,6 +624,58 @@ SECTION_SDATA2 static f32 lit_4837[1 + 1 /* padding */] = { }; /* 8021F49C-8021F6EC 219DDC 0250+00 1/1 0/0 0/0 .text _delete__9dMeter2_cFv */ +#ifdef NONMATCHING +int dMeter2_c::_delete() { + mpHeap->getTotalFreeSize(); + JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap); + + if (isRupeeSoundBit(2)) { + mDoAud_seStart(Z2SE_LUPY_INC_CNT_2, 0, 0, 0); + } + + if (isRupeeSoundBit(3)) { + mDoAud_seStart(Z2SE_LUPY_DEC_CNT_2, 0, 0, 0); + } + + if (isArrowSoundBit(2) && (isArrowEquip() || isPachinkoEquip()) && + mpMeterDraw->isButtonVisible()) { + mDoAud_seStart(Z2SE_CONSUM_INC_CNT_2, 0, 0, 0); + } + + mpHeap->getTotalFreeSize(); + if (mpMap != NULL) { + delete mpMap; + mpMap = NULL; + } + + mpHeap->getTotalFreeSize(); + mDoExt_setCurrentHeap(mpSubHeap); + if (mpMeterSub != NULL) { + delete mpMeterSub; + mpMeterSub = NULL; + } + + if (mpMeterString != NULL) { + delete mpMeterString; + mpMeterString = NULL; + } + + mpHeap->getTotalFreeSize(); + if (field_0x11c != NULL) { + delete field_0x11c; + field_0x11c = NULL; + } + + mDoExt_setCurrentHeap(heap); + delete mpMeterDraw; + mpMeterDraw = NULL; + + fopMsgM_destroyExpHeap(mpSubHeap); + fopMsgM_destroyExpHeap(mpHeap); + emphasisButtonDelete(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -649,17 +684,24 @@ asm int dMeter2_c::_delete() { #include "asm/d/meter/d_meter2/_delete__9dMeter2_cFv.s" } #pragma pop +#endif /* 8021F6EC-8021F780 21A02C 0094+00 1/1 5/5 0/0 .text emphasisButtonDelete__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::emphasisButtonDelete() { - nofralloc -#include "asm/d/meter/d_meter2/emphasisButtonDelete__9dMeter2_cFv.s" +int dMeter2_c::emphasisButtonDelete() { + if (mpMeterButton != NULL) { + JKRExpHeap* heap = dComIfGp_getSubHeap2D(8); + mpMeterButton->hideAll(); + + if (heap != NULL) { + delete mpMeterButton; + mpMeterButton = NULL; + heap->freeAll(); + dComIfGp_offHeapLockFlag(8); + } + } + return 1; } -#pragma pop inline void i_dComIfGp_setItemLifeCount(f32 amount, u8 type) { g_dComIfG_gameInfo.play.setItemLifeCount(amount, type); @@ -705,7 +747,144 @@ SECTION_SDATA2 static f64 lit_5267 = 4503601774854144.0 /* cast s32 to float */; /* 804549E0-804549E8 002FE0 0008+00 2/2 0/0 0/0 .sdata2 @5268 */ SECTION_SDATA2 static f64 lit_5268 = 4503599627370496.0 /* cast u32 to float */; +inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); +} + +inline bool dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, param_1); +} + +inline void dComIfGp_setItemLifeCount(float amount, u8 type) { + g_dComIfG_gameInfo.play.setItemLifeCount(amount, type); +} + /* 8021FD60-80220180 21A6A0 0420+00 1/1 0/0 0/0 .text moveLife__9dMeter2_cFv */ +// small type issue +#ifdef NONMATCHING +void dMeter2_c::moveLife() { + s16 life_count = 0; + bool setDraw = false; + s16 temp_r5 = dComIfGp_getItemMaxLifeCount(); + + if (temp_r5 != 0) { + s16 max_count = dComIfGs_getMaxLife() + dComIfGp_getItemMaxLifeCount(); + if (max_count > 100) { + max_count = 100; + } else { + if (max_count < 15) { + max_count = 15; + } + } + + life_count = (max_count / 5) * 4; + dComIfGs_setMaxLife(max_count); + s16 current_life = life_count - dComIfGs_getLife(); + dComIfGp_setItemLifeCount(current_life, 0); + dComIfGp_clearItemMaxLifeCount(); + setDraw = true; + } + + f32 item_life_count = dComIfGp_getItemLifeCount(); + if (item_life_count != FLOAT_LABEL(lit_4662)) { + field_0x1ee = dComIfGp_getItemLifeCountType(); + if (!setDraw) { + life_count = (dComIfGs_getMaxLife() / 5) * 4; + } + + s16 tmp = dComIfGs_getLife() + dComIfGp_getItemLifeCount(); + if (tmp > life_count) { + tmp = life_count; + } else if (tmp < 0) { + tmp = 0; + } + + dComIfGs_setLife((u8)tmp); + dComIfGp_clearItemLifeCount(); + + // extsh instead of mr + if (mNowLifeGauge == tmp && field_0x1ee != 0) { + field_0x1ee = 0; + } + setDraw = true; + } + + u16 max_life = dComIfGs_getMaxLife(); + if (mMaxLife != max_life) { + if (mMaxLife < max_life) { + mMaxLife++; + dMeter2Info_onLifeGaugeSE(); + setDraw = true; + } else if (mMaxLife > max_life) { + mMaxLife--; + setDraw = true; + } + } + + u16 current_life = dComIfGs_getLife(); + if (mNowLifeGauge != current_life) { + if (mNowLifeGauge < current_life) { + mNowLifeGauge++; + if (i_dComIfGp_checkPlayerStatus1(0, 0x2000) || + dComIfGp_checkPlayerStatus0(0, 0x20000000) || dMeter2Info_getLifeGaugeSE()) { + if (mNowLifeGauge % 4 == 0) { + mDoAud_seStart(Z2SE_HP_GAUGE_INC, 0, 0, 0); + } + } else { + if (field_0x1ee == 1) { + mDoAud_seStart(Z2SE_HP_GAUGE_INC, 0, 0, 0); + } + } + + u16 life = dComIfGs_getLife(); + if (mNowLifeGauge == life && field_0x1ee != 0) { + field_0x1ee = 0; + } + setDraw = true; + } else if (mNowLifeGauge > current_life) { + mNowLifeGauge--; + if (field_0x1ee != 0) { + field_0x1ee = 0; + } + setDraw = true; + } + } else { + if (dMeter2Info_getLifeGaugeSE()) { + dMeter2Info_offLifeGaugeSE(); + } + } + + f32 life_gauge_x = g_drawHIO.mLifeGaugePosX; + f32 life_gauge_y = g_drawHIO.mLifeGaugePosY; + + if (field_0x204 != g_drawHIO.mLifeGaugePosX) { + field_0x204 = g_drawHIO.mLifeGaugePosX; + setDraw = true; + } + if (field_0x208 != g_drawHIO.mLifeGaugePosY) { + field_0x208 = g_drawHIO.mLifeGaugePosY; + setDraw = true; + } + if (field_0x20c != g_drawHIO.mLifeGaugeScale) { + field_0x20c = g_drawHIO.mLifeGaugeScale; + setDraw = true; + } + if (field_0x210 != g_drawHIO.mHeartScale) { + field_0x210 = g_drawHIO.mHeartScale; + setDraw = true; + } + if (field_0x214 != g_drawHIO.mLargeHeartScale) { + field_0x214 = g_drawHIO.mLargeHeartScale; + setDraw = true; + } + + if (setDraw == true) { + mpMeterDraw->drawLife(mMaxLife, mNowLifeGauge, life_gauge_x, life_gauge_y); + } + alphaAnimeLife(); + dComIfGp_setItemNowLife((u8)mNowLifeGauge); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -714,6 +893,7 @@ asm void dMeter2_c::moveLife() { #include "asm/d/meter/d_meter2/moveLife__9dMeter2_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804549E8-804549EC 002FE8 0004+00 4/4 0/0 0/0 .sdata2 @5791 */ @@ -835,24 +1015,46 @@ asm void dMeter2_c::moveButton3D() { #pragma pop /* 80222364-80222494 21CCA4 0130+00 1/1 0/0 0/0 .text moveButtonC__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::moveButtonC() { - nofralloc -#include "asm/d/meter/d_meter2/moveButtonC__9dMeter2_cFv.s" +void dMeter2_c::moveButtonC() { + if (dComIfGp_getCStickStatusForce()) { + u8 setFlag = dComIfGp_getCStickSetFlagForce(); + u8 dirForce = dComIfGp_getCStickDirectionForce(); + u8 statusForce = dComIfGp_getCStickStatusForce(); + dComIfGp_setCStickStatus(statusForce, dirForce, setFlag); + dComIfGp_setCStickStatusForce(0, 0, 0); + } + + if (mCStickStatus == dComIfGp_getCStickStatus() && + field_0x1ac == dMeter2Info_isUseButton(0x10)) { + if ((!mpMeterDraw->isEmphasisC() || dComIfGp_isCStickSetFlag(2)) && + (mpMeterDraw->isEmphasisC() || !dComIfGp_isCStickSetFlag(2)) && + field_0x19a == mpMeterDraw->getButtonTimer()) { + return; + } + } + + field_0x19a = mpMeterDraw->getButtonTimer(); + mCStickStatus = dComIfGp_getCStickStatus(); + field_0x1ac = dMeter2Info_isUseButton(0x10); + mpMeterDraw->drawButtonC(mCStickStatus, field_0x128 == 0); } -#pragma pop /* 80222494-80222518 21CDD4 0084+00 1/1 0/0 0/0 .text moveButtonS__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::moveButtonS() { - nofralloc -#include "asm/d/meter/d_meter2/moveButtonS__9dMeter2_cFv.s" +void dMeter2_c::moveButtonS() { + if (dComIfGp_getSButtonStatusForce()) { + u8 setFlag = dComIfGp_getSButtonSetFlagForce(); + u8 statusForce = dComIfGp_getSButtonStatusForce(); + dComIfGp_setSButtonStatus(statusForce, setFlag); + dComIfGp_setSButtonStatusForce(0, 0); + } else { + dComIfGp_setSButtonStatus(0, 0); + } + + if (mSButtonStatus != dComIfGp_getSButtonStatus()) { + mSButtonStatus = dComIfGp_getSButtonStatus(); + mpMeterDraw->drawButtonS(mSButtonStatus); + } } -#pragma pop /* 80222518-80222E88 21CE58 0970+00 1/1 0/0 0/0 .text moveButtonXY__9dMeter2_cFv */ #pragma push @@ -887,14 +1089,25 @@ void dMeter2_c::moveTouchSubMenu() { } /* 802230FC-802231C8 21DA3C 00CC+00 1/1 0/0 0/0 .text moveSubContents__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::moveSubContents() { - nofralloc -#include "asm/d/meter/d_meter2/moveSubContents__9dMeter2_cFv.s" +void dMeter2_c::moveSubContents() { + JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap); + checkSubContents(); + + if (mpMeterSub != NULL) { + mpMeterSub->_execute(field_0x124); + } + + if (mpMeterString != NULL) { + if (mSubContents == 5 && mSubContentsStringType != dMeter2Info_getMeterStringType()) { + mSubContentsStringType = dMeter2Info_getMeterStringType(); + if (mSubContentsStringType != 0) { + mpMeterString->createString(mSubContentsStringType); + } + } + mpMeterString->_execute(field_0x124); + } + mDoExt_setCurrentHeap(heap); } -#pragma pop /* 802231C8-802237D4 21DB08 060C+00 1/1 0/0 0/0 .text move2DContents__9dMeter2_cFv */ #pragma push @@ -964,6 +1177,68 @@ asm void dMeter2_c::moveArrowNum() { #pragma pop /* 80224680-802248E4 21EFC0 0264+00 1/1 0/0 0/0 .text movePachinkoNum__9dMeter2_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeter2_c::movePachinkoNum() { + if (g_mwHIO.getPachinkoFlag()) { + if (dComIfGs_getPachinkoNum() != dComIfGs_getPachinkoMax()) { + u8 max = dComIfGs_getPachinkoMax(); + dComIfGp_setItemPachinkoNumCount(max); + } + if (dComIfGp_getItemPachinkoNumCount() < 0) { + dComIfGp_clearItemPachinkoNumCount(); + } + } + + if (dComIfGp_getItemPachinkoNumCount() == 0 && mItemMaxNum[3] == dComIfGs_getPachinkoMax() && + mPachinkoNum == dComIfGs_getPachinkoNum()) { + return; + } + + s16 pachinko_num = dComIfGs_getPachinkoNum() + dComIfGp_getItemPachinkoNumCount(); + dComIfGp_clearItemPachinkoNumCount(); + if (pachinko_num < 0) { + pachinko_num = 0; + } + + if (dComIfGs_getPachinkoMax() < pachinko_num) { + pachinko_num = dComIfGs_getPachinkoMax(); + } + + dComIfGs_setPachinkoNum(pachinko_num); + mItemMaxNum[3] = dComIfGs_getPachinkoMax(); + + if (mPachinkoNum < dComIfGs_getPachinkoNum()) { + mPachinkoNum++; + onArrowSoundBit(2); + + if (isArrowSoundBit(2)) { + if (mPachinkoNum != dComIfGs_getPachinkoNum()) { + if (!isArrowSoundBit(0) && isPachinkoEquip() && mpMeterDraw->isButtonVisible()) { + onArrowSoundBit(0); + mDoAud_seStart(Z2SE_CONSUM_INC_CNT_1, 0, 0, 0); + } else { + offArrowSoundBit(0); + } + } else { + if (isPachinkoEquip() && mpMeterDraw->isButtonVisible()) { + mDoAud_seStart(Z2SE_CONSUM_INC_CNT_2, 0, 0, 0); + } + offArrowSoundBit(2); + offArrowSoundBit(0); + } + } + } else if (mPachinkoNum > dComIfGs_getPachinkoNum()) { + mPachinkoNum--; + } + + for (int i = 0; i < 2; i++) { + if (mItemStatus[i * 2] == PACHINKO) { + mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax()); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -972,6 +1247,7 @@ asm void dMeter2_c::movePachinkoNum() { #include "asm/d/meter/d_meter2/movePachinkoNum__9dMeter2_cFv.s" } #pragma pop +#endif /* 802248E4-80224A04 21F224 0120+00 1/1 0/0 0/0 .text alphaAnimeLife__9dMeter2_cFv */ #pragma push @@ -1075,25 +1351,65 @@ asm void dMeter2_c::alphaAnimeButtonCross() { } #pragma pop -/* 802256DC-802258A0 22001C 01C4+00 3/3 0/0 0/0 .text isShowLightDrop__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::isShowLightDrop() { - nofralloc -#include "asm/d/meter/d_meter2/isShowLightDrop__9dMeter2_cFv.s" +inline daPy_py_c* daPy_getPlayerActorClass() { + return (daPy_py_c*)dComIfGp_getPlayer(0); +} + +inline u16 dComIfGp_event_checkHind(u16 flag) { + if (!dComIfGp_event_runCheck()) { + return false; + } + return g_dComIfG_gameInfo.play.getEvent().checkHind(flag); +} + +/* 802256DC-802258A0 22001C 01C4+00 3/3 0/0 0/0 .text isShowLightDrop__9dMeter2_cFv */ +bool dMeter2_c::isShowLightDrop() { + if (!g_drawHIO.mLightDrop.mAnimDebug) { + if ((field_0x124 & 0x4000) || + !dComIfGs_isLightDropGetFlag(dComIfGp_getStartStageDarkArea()) || + dMeter2Info_getLightDropGetFlag(dComIfGp_getStartStageDarkArea()) <= 1 || + !dKy_darkworld_check() || ((field_0x124 & 0x40) && dComIfGp_event_checkHind(0x200)) || + daPy_getPlayerActorClass()->i_getSumouMode() || + (daPy_getPlayerActorClass()->checkCanoeSlider() && + (dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) || + (field_0x124 & 0x40000000) || (field_0x124 & 0x00001000) || + (field_0x124 & 0x00100000) || (field_0x124 & 0x80000000) || + (field_0x124 & 0x00000100) || (field_0x124 & 0x00000080) || + (field_0x124 & 0x00000008) || (field_0x124 & 0x00000010) || + (field_0x124 & 0x01000000) || (field_0x124 & 0x00000020) || + (field_0x124 & 0x04000000) || (field_0x124 & 0x08000000) || + (field_0x124 & 0x10000000) || dMeter2Info_isSub2DStatus(1)) { + return false; + } + } + return true; } -#pragma pop /* 802258A0-80225960 2201E0 00C0+00 1/1 0/0 0/0 .text killSubContents__9dMeter2_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::killSubContents(u8 param_0) { - nofralloc -#include "asm/d/meter/d_meter2/killSubContents__9dMeter2_cFUc.s" +void dMeter2_c::killSubContents(u8 param_0) { + if (mSubContents != param_0 && mSubContents != 0) { + bool free = false; + + if (mpMeterSub != NULL) { + delete mpMeterSub; + mpMeterSub = NULL; + free = true; + } + + if (mpMeterString != NULL) { + delete mpMeterString; + mpMeterString = NULL; + free = true; + } + + if (free) { + mpSubHeap->freeAll(); + } + + mSubContents = 0; + mSubContentsStringType = 0; + } } -#pragma pop /* 80225960-802259F8 2202A0 0098+00 1/1 0/0 0/0 .text isKeyVisible__9dMeter2_cFv */ #pragma push @@ -1106,24 +1422,27 @@ asm void dMeter2_c::isKeyVisible() { #pragma pop /* 802259F8-80225A64 220338 006C+00 2/2 0/0 0/0 .text isArrowEquip__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::isArrowEquip() { - nofralloc -#include "asm/d/meter/d_meter2/isArrowEquip__9dMeter2_cFv.s" +int dMeter2_c::isArrowEquip() { + for (int i = 0; i < 2; i++) { + if (mItemStatus[i * 2] == BOW || mItemStatus[i * 2] == LIGHT_ARROW || + mItemStatus[i * 2] == ARROW_LV1 || mItemStatus[i * 2] == ARROW_LV2 || + mItemStatus[i * 2] == ARROW_LV3 || mItemStatus[i * 2] == HAWK_ARROW || + mItemStatus[i * 2] == BOMB_ARROW) { + return i + 1; + } + } + return 0; } -#pragma pop /* 80225A64-80225AA0 2203A4 003C+00 2/2 0/0 0/0 .text isPachinkoEquip__9dMeter2_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2_c::isPachinkoEquip() { - nofralloc -#include "asm/d/meter/d_meter2/isPachinkoEquip__9dMeter2_cFv.s" +int dMeter2_c::isPachinkoEquip() { + for (int i = 0; i < 2; i++) { + if (mItemStatus[i * 2] == PACHINKO) { + return i + 1; + } + } + return 0; } -#pragma pop /* 80225AA0-80225AC0 2203E0 0020+00 1/0 0/0 0/0 .text dMeter2_Draw__FP9dMeter2_c */ static int dMeter2_Draw(dMeter2_c* p_meter) { @@ -1146,28 +1465,37 @@ static int dMeter2_Delete(dMeter2_c* p_meter) { } /* 80225B08-80225BB8 220448 00B0+00 1/0 0/0 0/0 .text dMeter2_Create__FP9msg_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int dMeter2_Create(msg_class* param_0) { - nofralloc -#include "asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s" +static int dMeter2_Create(msg_class* meter) { + dMeter2Info_setMeterClass(static_cast(meter)); + dComIfGp_2dShowOn(); + fopMsgM_Create(0x314, NULL, NULL); + g_drawHIO.field_0x4 = -1; + g_ringHIO.field_0x4 = -1; + g_fmapHIO.field_0x4 = -1; + g_cursorHIO.field_0x4 = -1; + u32 id = fopMsgM_Create(0x313, NULL, NULL); + fopMsgM_setMessageID(id); + dTimer_createStockTimer(); + fopMsgM_setStageLayer(meter); + return static_cast(meter)->_create(); } -#pragma pop /* ############################################################################################## */ /* 803BFA54-803BFA68 -00001 0014+00 1/0 0/0 0/0 .data l_dMeter2_Method */ -SECTION_DATA static dMeter2_Method l_dMeter2_Method[5] = { - (dMeter2_Method)dMeter2_Create, dMeter2_Delete, dMeter2_Execute, dMeter2_IsDelete, dMeter2_Draw, +SECTION_DATA static leafdraw_method_class l_dMeter2_Method = { + (process_method_func)dMeter2_Create, (process_method_func)dMeter2_Delete, + (process_method_func)dMeter2_Execute, (process_method_func)dMeter2_IsDelete, + (process_method_func)dMeter2_Draw, }; /* 803BFA68-803BFA90 -00001 0028+00 0/0 0/0 1/0 .data g_profile_METER2 */ -SECTION_DATA extern void* g_profile_METER2[10] = { - (void*)0xFFFFFFFD, (void*)0x000CFFFD, - (void*)0x03160000, (void*)&g_fpcLf_Method, - (void*)0x000004C0, (void*)NULL, - (void*)NULL, (void*)&g_fopMsg_Method, - (void*)0x03010000, (void*)&l_dMeter2_Method, -}; +SECTION_DATA extern leaf_process_profile_definition g_profile_METER2 = { + -3, 12, + -3, 0x0316, + 0, (process_method_class*)&g_fpcLf_Method, + 0x4C0, 0, + 0, &g_fopMsg_Method, + 0x0301, 0, + 0, &l_dMeter2_Method}; /* 80399338-80399338 025998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index 38978405fb..683d819692 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -429,7 +429,6 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" extern u8 data_80450B70[4]; diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index d6917f2064..fc0a5455da 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -1408,8 +1408,7 @@ asm void dPa_control_c::level_c::emitter_c::entry(u32 param_0, u16 param_1, JPAB /* ############################################################################################## */ /* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */ -extern u8 data_80450EC4[4]; -u8 data_80450EC4[4]; +u8 data_80450EC4; /* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ u8 dPa_control_c::mParticleTracePCB[4 + 4 /* padding */]; diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index 4ec0eea442..e04521f15d 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -4,267 +4,47 @@ // #include "d/s/d_s_play.h" +#include "JSystem/JUtility/JUTConsole.h" +#include "SSystem/SComponent/c_counter.h" +#include "d/d_item.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_op/f_op_draw_iter.h" +#include "f_op/f_op_overlap_mng.h" +#include "f_op/f_op_scene_mng.h" +#include "m_Do/m_Do_audio.h" // // Types: // -struct stage_stag_info_class {}; - -struct scene_class {}; - -struct request_of_phase_process_class {}; - -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - -struct mDoGph_gInf_c { - struct bloom_c { - /* 800095F8 */ void remove(); - }; - - static u8 m_bloom[20]; - static u8 mFader[4]; -}; - -struct mDoDvdThd_toMainRam_c {}; - -struct mDoDvdThd_mountXArchive_c {}; - -struct fopAc_ac_c {}; - -struct fopAcM_wt_c { - static u8 mWaterCheck[84 + 4 /* padding */]; -}; - -struct fopAcM_rc_c { - static u8 mRoofCheck[80]; -}; - -struct fopAcM_lc_c { - static u8 mLineCheck[112]; -}; - -struct fopAcM_gc_c { - static u8 mGndCheck[84]; -}; - struct daYkgr_c { static u8 m_emitter[4]; }; struct daSus_c { /* 800313BC */ void reset(); - /* 800315A4 */ void execute(); -}; - -struct daPy_py_c { - /* 8015F660 */ void checkRoomRestartStart(); -}; - -struct dVibration_c { - /* 8006F268 */ void Run(); - /* 8006FF04 */ void Init(); - /* 8006FF38 */ void Pause(); - /* 8006FFF8 */ void Remove(); -}; - -struct dTres_c { - /* 8009BC18 */ void create(); - /* 8009BC60 */ void remove(); -}; - -struct dSv_player_status_b_c { - /* 80032B94 */ void onDarkClearLV(int); - /* 80032BD0 */ void onTransformLV(int); -}; - -struct dSv_player_item_c { - /* 80032FB8 */ void setItem(int, u8); -}; - -struct dSv_player_get_item_c { - /* 80033E60 */ void onFirstBit(u8); -}; - -struct dSv_info_c { - /* 80034FCC */ void init(); -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); -}; - -struct dStage_startStage_c {}; - -struct dStage_roomControl_c { - /* 80024954 */ void resetArchiveBank(int); - - static u8 mProcID[4]; -}; - -struct dScnPly_reg_HIO_c { - /* 8025AD78 */ ~dScnPly_reg_HIO_c(); -}; - -struct dScnPly_preLoad_HIO_c { - /* 8025ADC0 */ ~dScnPly_preLoad_HIO_c(); -}; - -struct dScnPly_env_otherHIO_c { - /* 80259440 */ dScnPly_env_otherHIO_c(); - /* 8025AC0C */ ~dScnPly_env_otherHIO_c(); -}; - -struct dScnPly_env_debugHIO_c { - /* 80259468 */ dScnPly_env_debugHIO_c(); - /* 8025ABC4 */ ~dScnPly_env_debugHIO_c(); -}; - -struct dScnPly_env_HIO_c { - /* 8025AD04 */ ~dScnPly_env_HIO_c(); -}; - -struct dScnPly_c { - /* 80259400 */ void calcPauseTimer(); - /* 80259AC4 */ void resetGame(); - /* 80259BFC */ void offReset(); -}; - -struct dRes_info_c {}; - -struct JKRHeap {}; - -struct dRes_control_c { - /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); - /* 8003C160 */ void syncRes(char const*, dRes_info_c*, int); - /* 8003C470 */ void syncAllRes(dRes_info_c*, int); - /* 8003C5BC */ void setStageRes(char const*, JKRHeap*); -}; - -struct dPa_control_c { - /* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**); - /* 8004BEB0 */ void createScene(void const*); - /* 8004BFD4 */ void removeScene(bool); - /* 8004C054 */ void cleanup(); - /* 8004C078 */ void calc3D(); - /* 8004C0EC */ void calc2D(); -}; - -struct dMsgObject_c { - /* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**); -}; - -struct dMpath_c { - /* 8003FB70 */ void create(); - /* 8003FC70 */ void remove(); + /* 800315A4 */ static void execute(); }; struct dMdl_mng_c { /* 8009C7AC */ void create(); /* 8009C864 */ void remove(); - /* 8009C8C0 */ void reset(); -}; - -struct dEyeHL_mng_c { - /* 8009CA48 */ void update(); -}; - -struct dEvt_control_c { - /* 80042BBC */ void Step(); - /* 800431E8 */ void remove(); -}; - -struct dDlst_window_c { - /* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32); - /* 80051ADC */ void setScissor(f32, f32, f32, f32); + /* 8009C8C0 */ static void reset(); }; struct dDemo_c { /* 80039678 */ void create(); /* 80039910 */ void remove(); - /* 80039DA4 */ void update(); + /* 80039DA4 */ static void update(); }; -struct dComIfG_play_c { - /* 8002B22C */ void init(); - /* 8002B3B8 */ void setStartStage(dStage_startStage_c*); - /* 8002B434 */ void getLayerNo_common_common(char const*, int, int); - /* 8002C950 */ void getLayerNo_common(char const*, int, int); - /* 8002C97C */ void getLayerNo(int); - /* 8002CA1C */ void createSimpleModel(); - /* 8002CA70 */ void deleteSimpleModel(); -}; - -struct dCcS { - /* 80085ED4 */ void Ct(); - /* 80085F08 */ void Dt(); - /* 800872B0 */ void Move(); - /* 800872D0 */ void Draw(); -}; - -struct dBgS { - /* 8007493C */ void ClrMoveFlag(); - /* 800749A8 */ void Move(); -}; - -struct dAttention_c { - /* 80070198 */ dAttention_c(fopAc_ac_c*, u32); - /* 80070774 */ ~dAttention_c(); - /* 80072924 */ void Run(); - /* 80072BD4 */ void Draw(); -}; - -struct csXyz {}; - -struct create_tag_class {}; - -struct cXyz {}; - struct cDylPhs { /* 8001884C */ void Link(request_of_phase_process_class*, s16); /* 80018890 */ void Unlink(request_of_phase_process_class*, s16); }; -struct cBgS_PolyInfo { - /* 80268120 */ void ClearPi(); -}; - -struct Z2SceneMgr { - /* 802B68B0 */ void setInDarkness(bool); - /* 802BA09C */ void check1stDynamicWave(); - /* 802BA120 */ void load2ndDynamicWave(); - /* 802BA294 */ void sceneBgmStart(); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JUTGamePad { - struct C3ButtonReset { - static u8 sCallback[4]; - static u8 sCallbackArg[4 + 4 /* padding */]; - }; -}; - -struct JUTAssertion { - /* 802E4C3C */ void setMessageCount(int); -}; - -struct JKRExpHeap {}; - -struct JFWDisplay { - static u8 sManager[4]; -}; - // // Forward References: // @@ -398,7 +178,7 @@ extern "C" void dMeter2Info_setCloth__FUcb(); extern "C" void dMeter2Info_setSword__FUcb(); extern "C" void dMeter2Info_setShield__FUcb(); extern "C" void readMessageGroup__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c(); -extern "C" void func_80252E70(void* _this, s8*); +extern "C" s8 func_80252E70(s8*); extern "C" void ClearPi__13cBgS_PolyInfoFv(); extern "C" void setInDarkness__10Z2SceneMgrFb(); extern "C" void check1stDynamicWave__10Z2SceneMgrFv(); @@ -406,8 +186,6 @@ extern "C" void load2ndDynamicWave__10Z2SceneMgrFv(); extern "C" void sceneBgmStart__10Z2SceneMgrFv(); extern "C" void __dl__FPv(); extern "C" void setMessageCount__12JUTAssertionFi(); -extern "C" void JUTReportConsole_f(); -extern "C" void OSGetTime(); extern "C" void __register_global_object(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); @@ -415,7 +193,6 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */]; extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__14mDoHIO_entry_c[3]; @@ -424,39 +201,33 @@ extern "C" u8 mLineCheck__11fopAcM_lc_c[112]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" u8 mRoofCheck__11fopAcM_rc_c[80]; extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; +extern "C" extern dScnKy_env_light_c g_env_light; extern "C" extern u8 g_save_bit_HIO[1184 + 4 /* padding */]; -extern "C" extern u8 g_Counter[12 + 4 /* padding */]; -extern "C" extern u8 data_804505F0[8]; -extern "C" extern u32 g_blackColor; -extern "C" extern u32 g_saftyWhiteColor; -extern "C" extern u8 struct_80450BB8[4]; +extern "C" extern GXColor g_saftyWhiteColor; extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" extern u8 struct_80450BE4[4]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" u8 mProcID__20dStage_roomControl_c[4]; -extern "C" extern u8 data_80450D68[4]; extern "C" extern u8 struct_80450D8C[4]; extern "C" u8 m_emitter__8daYkgr_c[4]; -extern "C" extern u8 data_80450EC4[4]; -extern "C" extern u8 data_80450ED0[4]; extern "C" u8 sManager__10JFWDisplay[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; -extern "C" extern u8 struct_80451500[4]; // // Declarations: // +inline dEvt_control_c& dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + /* ############################################################################################## */ /* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */ -static u8 resPhase[8]; +static request_of_phase_process_class resPhase; /* 80451100-80451108 000600 0008+00 2/2 0/0 0/0 .sbss dylPhase */ -static u8 dylPhase[8]; +static request_of_phase_process_class dylPhase; /* 80451108-8045110C 000608 0004+00 1/1 0/0 0/0 .sbss dylPreLoadTime1 */ static u8 dylPreLoadTime1[4]; @@ -482,96 +253,45 @@ static u8 g_preLoadHIO[4]; /* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */ /* 80451124 0001+00 data_80451124 None */ /* 80451125 0003+00 data_80451125 None */ -extern u8 struct_80451124[4]; -u8 struct_80451124[4]; +extern s8 struct_80451124; +s8 struct_80451124; + +s8 data_80451125; /* 80259400-80259440 253D40 0040+00 1/1 0/0 0/0 .text calcPauseTimer__9dScnPly_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnPly_c::calcPauseTimer() { - nofralloc -#include "asm/d/s/d_s_play/calcPauseTimer__9dScnPly_cFv.s" +s8 dScnPly_c::calcPauseTimer() { + if (data_80451125 != 0) { + struct_80451124 = data_80451125; + data_80451125 = 0; + return struct_80451124; + } else { + return func_80252E70(&struct_80451124); // cLib_calcTimer : 80252E70 + } } -#pragma pop /* ############################################################################################## */ /* 803C3158-803C3188 020278 002E+02 1/1 0/0 0/0 .data l_wipeType$4081 */ -SECTION_DATA static u8 l_wipeType[46 + 2 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x11, - 0x00, - 0x02, - 0x00, - 0x02, - 0x00, - 0x01, - 0x00, - 0x03, - 0x00, - 0x01, - 0x00, - 0x04, - 0x00, - 0x04, - 0x00, - 0x05, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x02, - 0x00, - 0x02, - 0x00, - 0x02, - 0x00, - 0x02, - 0x00, - 0x08, - 0x00, - 0x08, - /* padding */ - 0x00, - 0x00, +SECTION_DATA static s16 l_wipeType[23] = { + 0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005, + 0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008, }; /* 803C3188-803C3194 0202A8 000A+02 1/1 0/0 0/0 .data camparamarc$4608 */ -SECTION_DATA static u8 camparamarc[10 + 2 /* padding */] = { - 0x43, - 0x61, - 0x6D, - 0x50, - 0x61, - 0x72, - 0x61, - 0x6D, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char camparamarc[10] = "CamParam"; /* 803C3194-803C31C0 -00001 002C+00 1/1 0/0 0/0 .data l_method$4860 */ -SECTION_DATA static void* l_method[11] = { - (void*)phase_00__FP9dScnPly_c, (void*)phase_1__FP9dScnPly_c, (void*)phase_1_0__FP9dScnPly_c, - (void*)phase_01__FP9dScnPly_c, (void*)phase_0__FP9dScnPly_c, (void*)phase_2__FP9dScnPly_c, - (void*)phase_3__FP9dScnPly_c, (void*)phase_4__FP9dScnPly_c, (void*)phase_5__FP9dScnPly_c, - (void*)phase_6__FP9dScnPly_c, (void*)phase_compleate__FPv, +SECTION_DATA static request_of_phase_process_fn l_method[11] = { + (request_of_phase_process_fn)phase_00__FP9dScnPly_c, + (request_of_phase_process_fn)phase_1__FP9dScnPly_c, + (request_of_phase_process_fn)phase_1_0__FP9dScnPly_c, + (request_of_phase_process_fn)phase_01__FP9dScnPly_c, + (request_of_phase_process_fn)phase_0__FP9dScnPly_c, + (request_of_phase_process_fn)phase_2__FP9dScnPly_c, + (request_of_phase_process_fn)phase_3__FP9dScnPly_c, + (request_of_phase_process_fn)phase_4__FP9dScnPly_c, + (request_of_phase_process_fn)phase_5__FP9dScnPly_c, + (request_of_phase_process_fn)phase_6__FP9dScnPly_c, + (request_of_phase_process_fn)phase_compleate__FPv, }; /* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */ @@ -624,24 +344,16 @@ SECTION_DATA extern void* __vt__22dScnPly_env_otherHIO_c[3] = { }; /* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */ -SECTION_SDATA2 static u16 T_JOINT_dylKeyTbl[1 + 1 /* padding */] = { +SECTION_SDATA2 static u16 T_JOINT_dylKeyTbl = { 0x0106, - /* padding */ - 0x0000, }; -/* 80454F1C-80454F20 00351C 0004+00 1/1 0/0 0/0 .sdata2 @4055 */ -SECTION_SDATA2 static f32 lit_4055 = 255.0f; - /* 80259440-80259468 253D80 0028+00 1/1 0/0 0/0 .text __ct__22dScnPly_env_otherHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dScnPly_env_otherHIO_c::dScnPly_env_otherHIO_c() { - nofralloc -#include "asm/d/s/d_s_play/__ct__22dScnPly_env_otherHIO_cFv.s" +dScnPly_env_otherHIO_c::dScnPly_env_otherHIO_c() { + mShadowDensity = 255.0f; + mLODBias = 1; + mDispTransCylinder = false; } -#pragma pop /* ############################################################################################## */ /* 80454F20-80454F24 003520 0004+00 1/1 0/0 0/0 .sdata2 @4066 */ @@ -659,6 +371,15 @@ SECTION_SDATA2 static u8 lit_4068[4] = { }; /* 80259468-802594AC 253DA8 0044+00 1/1 0/0 0/0 .text __ct__22dScnPly_env_debugHIO_cFv */ +// matches with literals +#ifdef NONMATCHING +dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { + mBoxCullMinSize.set(-100.0f, -100.0f, -100.0f); + mBoxCullMaxSize.set(100.0f, 100.0f, 100.0f); + mSphereCullCenter.set(0.0f, 0.0f, 0.0f); + mSphereCullRadius = 100.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -667,12 +388,83 @@ asm dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { #include "asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454F2C-80454F30 00352C 0004+00 1/1 0/0 0/0 .sdata2 @4100 */ SECTION_SDATA2 static u32 lit_4100 = 0x2A1E46FF; /* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */ +// some small issues like instruction reordering +#ifdef NONMATCHING +static int dScnPly_Draw(dScnPly_c* scn) { + dComIfG_Ccsp()->Move(); + dComIfG_Bgsp().ClrMoveFlag(); + + u8 useWhiteColor; + if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(scn)) { + if (dComIfGp_isEnableNextStage()) { + u8 wipe = dComIfGp_getNextStageWipe(); + fopScnM_ChangeReq(scn, 11, l_wipeType[wipe], 5); + + int hour = dKy_getdaytime_hour(); + useWhiteColor = false; + if (hour >= 6 && hour < 18) { + useWhiteColor = true; + } + bool tmp = useWhiteColor == 0; + + if (wipe == 1 || wipe == 2 || wipe == 7 || wipe == 17 || wipe == 21 || + ((wipe == 8 || wipe == 10 || wipe == 18) && tmp) || + ((wipe == 9 || wipe == 11 || wipe == 19) && !tmp)) { + mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_saftyWhiteColor); + } else if (wipe == 14 || wipe == 20) { + GXColor color = {0x2A, 0x1E, 0x46, 0xFF}; + if (dKy_darkworld_check()) { + color.r = 0xFF; + color.g = 0xCF; + color.b = 0xB4; + } + mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&color); + } else { + mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); + } + } + } + dMdl_mng_c::reset(); + + if (!dComIfGp_isPauseFlag() && struct_80451124 == 0) { + if (fpcM_GetName(scn) == 0xB) { + dComIfGp_getVibration().Run(); + } + daSus_c::execute(); + dComIfG_Bgsp().Move(); + dComIfGp_particle_calc3D(); + dComIfGp_particle_calc2D(); + cCt_execCounter(); + } else { + dPa_control_c::onStatus(1); + if (struct_80451124 == 0) { + dPa_control_c::onStatus(2); + if (struct_80451124 == 0) { + dComIfGp_getVibration().Pause(); + } + } + } + + for (create_tag_class* i = fopDwIt_Begin(); i != NULL; i = fopDwIt_Next(i)) { + fpcM_Draw(i->mpTagData); + } + + if (!dComIfGp_isPauseFlag()) { + dEyeHL_mng_c::update(); + dComIfG_Ccsp()->Draw(); + dComIfGp_getAttention().Draw(); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -681,42 +473,56 @@ static asm void dScnPly_Draw(dScnPly_c* param_0) { #include "asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s" } #pragma pop +#endif /* 802597B8-8025987C 2540F8 00C4+00 1/0 0/0 0/0 .text dScnPly_Execute__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dScnPly_Execute(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/dScnPly_Execute__FP9dScnPly_c.s" +static int dScnPly_Execute(dScnPly_c* scnPly) { + scnPly->offReset(); + dStage_roomControl_c::offNoChangeRoom(); + dStage_roomControl_c::setRoomReadId(0xFF); + + if (!fopOvlpM_IsPeek()) { + if (mDoAud_zelAudio_c::isBgmSet()) { + mDoAud_sceneBgmStart(); + mDoAud_load2ndDynamicWave(); + mDoAud_zelAudio_c::offBgmSet(); + } + + if (scnPly->calcPauseTimer() != 0) { + return 1; + } + } + + dKy_itudemo_se(); + if (!dComIfGp_isPauseFlag()) { + dDemo_c::update(); + dComIfGp_getEvent().Step(); + dComIfGp_getAttention().Run(); + } + return 1; } -#pragma pop /* 8025987C-802598AC 2541BC 0030+00 1/0 0/0 0/0 .text dScnPly_IsDelete__F9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dScnPly_IsDelete(dScnPly_c param_0) { - nofralloc -#include "asm/d/s/d_s_play/dScnPly_IsDelete__F9dScnPly_c.s" +static int dScnPly_IsDelete(dScnPly_c scnPly) { + dComIfGp_particle_cleanup(); + return 1; } -#pragma pop /* ############################################################################################## */ /* 8039A2DF-8039A2E7 02693F 0008+00 1/0 0/0 0/0 .rodata None */ extern "C" char const* const stringBase_8039A2DF; /* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */ -extern "C" void* T_JOINT_resName; +extern "C" char* T_JOINT_resName; /* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */ -extern "C" u16 T_JOINT_dylKeyTbl[1 + 1 /* padding */]; +extern "C" u16 T_JOINT_dylKeyTbl; /* 8039A2C8-8039A2D8 -00001 0010+00 4/4 0/0 0/0 .rodata PreLoadInfoT */ SECTION_RODATA static void* const PreLoadInfoT[4] = { (void*)(((char*)&d_s_d_s_play__stringBase0) + 0x7), - (void*)&T_JOINT_dylKeyTbl, - (void*)&T_JOINT_resName, + &T_JOINT_dylKeyTbl, + &T_JOINT_resName, (void*)0x01010000, }; COMPILER_STRIP_GATE(0x8039A2C8, &PreLoadInfoT); @@ -729,16 +535,14 @@ SECTION_DEAD static char const* const stringBase_8039A2DF = "T_JOINT"; #pragma pop /* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */ -SECTION_SDATA static void* T_JOINT_resName = (void*)&d_s_d_s_play__stringBase0; +SECTION_SDATA static char* T_JOINT_resName = "Always"; /* 80450764-80450768 -00001 0004+00 4/4 0/0 0/0 .sdata None */ -SECTION_SDATA static u8 struct_80450764[4] = { +SECTION_SDATA static u8 struct_80450764[2] = { /* 80450764 0001+00 data_80450764 None */ 0xFF, /* 80450765 0003+00 data_80450765 None */ 0x01, - 0x00, - 0x00, }; /* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */ @@ -751,126 +555,281 @@ static asm void dScnPly_Delete(dScnPly_c* param_0) { } #pragma pop -/* ############################################################################################## */ -/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A2E7 = "F_SP109"; -SECTION_DEAD static char const* const stringBase_8039A2EF = "F_SP116"; -#pragma pop - /* 80259AC4-80259BFC 254404 0138+00 1/1 0/0 0/0 .text resetGame__9dScnPly_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnPly_c::resetGame() { - nofralloc -#include "asm/d/s/d_s_play/resetGame__9dScnPly_cFv.s" +bool dScnPly_c::resetGame() { + if (fpcM_GetName(this) == 0xC) { + if (!dStage_roomControl_c::resetArchiveBank(0)) { + return false; + } + + if (!mDoAud_resetRecover()) { + return false; + } + + if (mDoRst::isReset()) { + field_0x1d4 = 1; + } + } else { + if (dComIfGp_getNextStagePoint() == -4 || (dComIfGs_getLastSceneMode() & 0xF) == 0xC || + !strcmp(dComIfGp_getNextStageName(), "F_SP109") || + (!strcmp(dComIfGp_getNextStageName(), "F_SP116") && + dComIfGp_getNextStageRoomNo() == 1 && dComIfGp_getNextStageLayer() == 9)) { + if (!dStage_roomControl_c::resetArchiveBank(0)) { + return false; + } + } + } + + dComIfG_setBrightness(255); + mDoGph_gInf_c::offFade(); + dDlst_list_c::offWipe(); + return true; } -#pragma pop /* 80259BFC-80259C70 25453C 0074+00 1/1 0/0 0/0 .text offReset__9dScnPly_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnPly_c::offReset() { - nofralloc -#include "asm/d/s/d_s_play/offReset__9dScnPly_cFv.s" +void dScnPly_c::offReset() { + if (field_0x1d4 != 0 && !fopOvlpM_IsPeek()) { + mDoRst::offReset(); + mDoRst::offResetPrepare(); + struct_80451501 = false; + JUTGamePad::setResetCallback(mDoRst_resetCallBack, NULL); + field_0x1d4 = 0; + } } -#pragma pop /* 80259C70-80259CAC 2545B0 003C+00 1/0 0/0 0/0 .text phase_00__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_00(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_00__FP9dScnPly_c.s" +static int phase_00(dScnPly_c* scn) { + if (!scn->resetGame()) { + return 0; + } else { + mDoGph_gInf_c::offBlure(); + return 2; + } } -#pragma pop /* 80259CAC-80259D7C 2545EC 00D0+00 1/0 0/0 0/0 .text phase_01__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_01(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_01__FP9dScnPly_c.s" +static int phase_01(dScnPly_c* scn) { + mDoAud_setHour(dKy_getdaytime_hour()); + mDoAud_setMinute(dKy_getdaytime_minute()); + mDoAud_setWeekday(dKy_get_dayofweek()); + + if (dKy_darkworld_check()) { + mDoAud_setInDarkness(true); + } else { + mDoAud_setInDarkness(false); + } + + s8 start_room = dComIfGp_getStartStageRoomNo(); + int layer = dComIfG_play_c::getLayerNo_common(dComIfGp_getStartStageName(), start_room, + dComIfGp_getStartStageLayer()); + + mDoAud_setSceneName(dComIfGp_getStartStageName(), start_room, layer); + + if (!mDoAud_load1stDynamicWave()) { + return 0; + } else { + return 2; + } } -#pragma pop /* 80259D7C-80259D84 2546BC 0008+00 1/0 0/0 0/0 .text phase_0__FP9dScnPly_c */ -static s32 phase_0(dScnPly_c* param_0) { +static int phase_0(dScnPly_c* param_0) { return 2; } -/* ############################################################################################## */ -/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A2F7 = "F_SP108"; -SECTION_DEAD static char const* const stringBase_8039A2FF = "F_SP115"; -SECTION_DEAD static char const* const stringBase_8039A307 = "F_SP117"; -SECTION_DEAD static char const* const stringBase_8039A30F = "F_SP104"; -SECTION_DEAD static char const* const stringBase_8039A317 = "D_SB10"; -SECTION_DEAD static char const* const stringBase_8039A31E = "D_MN08D"; -SECTION_DEAD static char const* const stringBase_8039A326 = "R_SP107"; -SECTION_DEAD static char const* const stringBase_8039A32E = "F_SP121"; -SECTION_DEAD static char const* const stringBase_8039A336 = "F_SP127"; -SECTION_DEAD static char const* const stringBase_8039A33E = "Start StageName:RoomNo [%s:%d]\n"; -SECTION_DEAD static char const* const stringBase_8039A35E = "Stg_00"; -#pragma pop - /* 80259D84-8025A438 2546C4 06B4+00 1/0 0/0 0/0 .text phase_1__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_1(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_1__FP9dScnPly_c.s" -} -#pragma pop +static int phase_1(dScnPly_c* scn) { + u32 id = fopScnM_GetID(scn); + dStage_roomControl_c::setProcID(id); -/* ############################################################################################## */ -/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A365 = "Event"; -SECTION_DEAD static char const* const stringBase_8039A36B = "/res/Object/"; -SECTION_DEAD static char const* const stringBase_8039A378 = "CamParam"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039A381 = "\0\0\0\0\0\0"; -#pragma pop + dComIfGp_setStartStage(dComIfGp_getNextStartStage()); + + if (dComIfGp_getStartStageLayer() < 0 && daPy_py_c::checkRoomRestartStart()) { + const char* stage = dComIfGp_getStartStageName(); + s8 room = dComIfGp_getStartStageRoomNo(); + s8 layer = dComIfGp_getStartStageLayer(); + if (dComIfG_play_c::getLayerNo_common_common(stage, room, layer) < 0) { + dComIfGp_setStartStageLayer(dComIfGp_getLayerOld()); + } + } + dComIfGp_offEnableNextStage(); + + // Stage: Faron Woods, Room: Faron Spring + if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") && dComIfGp_getStartStageRoomNo() == 1 && + dComIfGp_getStartStagePoint() == 3) { + dComIfGs_onDarkClearLV(0); + execItemGet(WEAR_KOKIRI); + } + // Stage: Kakariko Village, Room: Kakariko Village + else if (!strcmp(dComIfGp_getStartStageName(), "F_SP109") && + dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 30) { + dComIfGs_onDarkClearLV(1); + } + // Stage: Lake Hylia, Room: Fountain + else if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && + dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 20) { + dComIfGs_onDarkClearLV(2); + } + // Stage: Sacred Grove, Room: Lost Woods + else if (!strcmp(dComIfGp_getStartStageName(), "F_SP117") && + dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 99) { + dComIfGs_onDarkClearLV(3); + } + + // Stage: Ordon Spring, Room: Ordon Spring + if (!strcmp(dComIfGp_getStartStageName(), "F_SP104") && dComIfGp_getStartStageRoomNo() == 1 && + dComIfGp_getStartStagePoint() == 23 && dComIfGp_getStartStageLayer() == 12) { + dComIfGs_onItemFirstBit(HORSE_FLUTE); + dComIfGs_setItem(SLOT_21, HORSE_FLUTE); + } + + if ((u8)dKy_darkworld_stage_check(dComIfGp_getStartStageName(), + dComIfGp_getStartStageRoomNo()) == true) { + dComIfGp_world_dark_set(1); + } else if ((u8)dKy_darkworld_spot_check(dComIfGp_getStartStageName(), + dComIfGp_getStartStageRoomNo()) == true) { + dComIfGp_world_dark_set(2); + } else { + dComIfGp_world_dark_set(0); + } + + // Stage: Lake Hylia, Room: Fountain + if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 && + dComIfGp_getStartStageLayer() < 0) { + const char* stage = dComIfGp_getStartStageName(); + s8 room = dComIfGp_getStartStageRoomNo(); + s8 layer = dComIfGp_getStartStageLayer(); + if (dComIfG_play_c::getLayerNo_common(stage, room, layer) == 9) { + dComIfGp_setStartStageLayer(9); + } + } + + // Stage: Faron Woods, Room: South Faron + // Stage: Faron Woods Cave + // Stage: Kakariko Village, Room: Kakariko Village + // Stage: Lake Hylia, Room: Fountain + if ((!strcmp(dComIfGp_getStartStageName(), "F_SP108") && dComIfGp_getStartStageRoomNo() == 0 && + dComIfGp_getStartStageLayer() == 7) || + (!strcmp(dComIfGp_getStartStageName(), "D_SB10") && dComIfG_play_c::getLayerNo(0) == 14) || + (!strcmp(dComIfGp_getStartStageName(), "F_SP109") && dComIfGp_getStartStageRoomNo() == 0 && + dComIfGp_getStartStageLayer() == 8) || + (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 && + dComIfGp_getStartStageLayer() == 8) || + (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 && + dComIfGp_getStartStageLayer() == 9)) { + dComIfGp_world_dark_set(1); + } + + // Stage: Zant Boss Fight, Room: Throne Room + if (!strcmp(dComIfGp_getStartStageName(), "D_MN08D") && dComIfGp_getStartStageRoomNo() == 50 && + dComIfGp_getStartStagePoint() == 20) { + dComIfGs_onSaveDunSwitch(30); + } + + dKy_darkworld_Area_set(dComIfGp_getStartStageName(), dComIfGp_getStartStageRoomNo()); + + // Stage: Hyrule Castle Sewers, Room: Prison Cell + if (!strcmp(dComIfGp_getStartStageName(), "R_SP107") && dComIfGp_getStartStageRoomNo() == 0 && + (dComIfGp_getStartStagePoint() == 24 || dComIfGp_getStartStagePoint() == 0)) { + dComIfGs_onTransformLV(0); + } + // Stage: Hyrule Field, Room: Eldin Gorge south entrance + else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && + dComIfGp_getStartStageRoomNo() == 2 && dComIfGp_getStartStagePoint() == 10) { + dComIfGs_onTransformLV(1); + } + // Stage: Hyrule Field, Room: Lanayru Field north entrance + else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && + dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10) { + dComIfGs_onTransformLV(2); + } + // Stage: Hyrule Field, Room: Lanayru Field + else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && + dComIfGp_getStartStageRoomNo() == 10 && + (dComIfGp_getStartStagePoint() == 23 || dComIfGp_getStartStagePoint() == 20)) { + dComIfGs_onTransformLV(3); + } + + // Stage: Fishing Pond, Room: Fishing Pond + if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && dComIfGp_getStartStageRoomNo() == 0 && + dComIfGp_getStartStagePoint() == 2) { + g_env_light.field_0x12fe++; + + if (g_env_light.field_0x12fe > 4) { + g_env_light.field_0x12fe = 1; + } + } + + dComIfGs_BossLife_public_Set(0xFF); + g_env_light.field_0x1308 = 0; + + JUTReportConsole_f("Start StageName:RoomNo [%s:%d]\n", dComIfGp_getStartStageName(), + dComIfGp_getStartStageRoomNo()); + dComIfGp_setStatus(0); + if (dComIfG_syncStageRes("Stg_00") < 0) { + dComIfG_setStageRes("Stg_00", NULL); + } + return 2; +} /* 8025A438-8025A4F8 254D78 00C0+00 1/0 0/0 0/0 .text phase_1_0__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_1_0(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_1_0__FP9dScnPly_c.s" +static int phase_1_0(dScnPly_c* param_0) { + if (dComIfG_syncStageRes("Stg_00")) { + return 0; + } else { + dStage_infoCreate(); + dComIfG_setObjectRes("Event", 0, NULL); + dComIfGp_setCameraParamFileName(0, camparamarc); + dComIfG_setObjectRes("CamParam", 0, NULL); + return 2; + } +} + +inline dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); } -#pragma pop /* 8025A4F8-8025A5D4 254E38 00DC+00 1/0 0/0 0/0 .text phase_2__FP9dScnPly_c */ +// extra mr +#ifdef NONMATCHING +static int phase_2(dScnPly_c* scn) { + int tmp = dComIfG_syncAllObjectRes(); + if (tmp >= 0 && tmp != 0) { + return 0; + } + int layer = dComIfG_play_c::getLayerNo(0); + stage_stag_info_class* stag_info = dComIfGp_getStage()->getStagInfo(); + + u8 particle_no = dStage_stagInfo_GetParticleNo(stag_info, layer); + if (particle_no == 255) { + particle_no = dStage_stagInfo_GetParticleNo(dComIfGp_getStage()->getStagInfo()); + } + + dComIfGp_particle_readScene(particle_no, &scn->sceneCommand); + dMsgObject_readMessageGroup(&scn->field_0x1d0); + return 2; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void phase_2(dScnPly_c* param_0) { +static asm int phase_2(dScnPly_c* param_0) { nofralloc #include "asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s" } #pragma pop +#endif /* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_3(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_3__FP9dScnPly_c.s" +static int phase_3(dScnPly_c* scn) { + if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) { + return 0; + } else if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) { + return 0; + } else { + return 2; + } } -#pragma pop /* ############################################################################################## */ /* 80430778-80430784 05D498 000C+00 1/1 0/0 0/0 .bss @4041 */ @@ -936,11 +895,16 @@ static asm void phase_6(dScnPly_c* param_0) { #pragma pop /* 8025AB8C-8025AB94 2554CC 0008+00 1/0 0/0 0/0 .text phase_compleate__FPv */ -static s32 phase_compleate(void* param_0) { +static int phase_compleate(void* param_0) { return 4; } /* 8025AB94-8025ABC4 2554D4 0030+00 1/0 0/0 0/0 .text dScnPly_Create__FP11scene_class */ +#ifdef NONMATCHING +static void dScnPly_Create(scene_class* scn) { + dComLbG_PhaseHandler(&scn->field_0x1c4, l_method[0], scn); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -949,12 +913,14 @@ static asm void dScnPly_Create(scene_class* param_0) { #include "asm/d/s/d_s_play/dScnPly_Create__FP11scene_class.s" } #pragma pop +#endif /* 8025ABC4-8025AC0C 255504 0048+00 1/0 0/0 0/0 .text __dt__22dScnPly_env_debugHIO_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dScnPly_env_debugHIO_c::~dScnPly_env_debugHIO_c() { +// asm dScnPly_env_debugHIO_c::~dScnPly_env_debugHIO_c() { +extern "C" asm void __dt__22dScnPly_env_debugHIO_cFv() { nofralloc #include "asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s" } @@ -964,7 +930,8 @@ asm dScnPly_env_debugHIO_c::~dScnPly_env_debugHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dScnPly_env_otherHIO_c::~dScnPly_env_otherHIO_c() { +// asm dScnPly_env_otherHIO_c::~dScnPly_env_otherHIO_c() { +extern "C" asm void __dt__22dScnPly_env_otherHIO_cFv() { nofralloc #include "asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s" } @@ -1014,7 +981,8 @@ REGISTER_CTORS(0x8025AC54, __sinit_d_s_play_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dScnPly_env_HIO_c::~dScnPly_env_HIO_c() { +// asm dScnPly_env_HIO_c::~dScnPly_env_HIO_c() { +extern "C" asm void __dt__17dScnPly_env_HIO_cFv() { nofralloc #include "asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s" } @@ -1024,7 +992,8 @@ asm dScnPly_env_HIO_c::~dScnPly_env_HIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dScnPly_reg_HIO_c::~dScnPly_reg_HIO_c() { +// asm dScnPly_reg_HIO_c::~dScnPly_reg_HIO_c() { +extern "C" asm void __dt__17dScnPly_reg_HIO_cFv() { nofralloc #include "asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s" } @@ -1034,7 +1003,8 @@ asm dScnPly_reg_HIO_c::~dScnPly_reg_HIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dScnPly_preLoad_HIO_c::~dScnPly_preLoad_HIO_c() { +// asm dScnPly_preLoad_HIO_c::~dScnPly_preLoad_HIO_c() { +extern "C" asm void __dt__21dScnPly_preLoad_HIO_cFv() { nofralloc #include "asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s" } diff --git a/src/d/s/d_s_room.cpp b/src/d/s/d_s_room.cpp index 806bdd0499..d415716ac8 100644 --- a/src/d/s/d_s_room.cpp +++ b/src/d/s/d_s_room.cpp @@ -4,89 +4,27 @@ // #include "d/s/d_s_room.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_op/f_op_scene.h" // // Types: // -struct scene_class {}; - -struct room_of_scene_class {}; - -struct request_of_phase_process_class {}; - -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - -struct layer_class {}; - -struct dSv_zoneBit_c { - /* 80034CEC */ void clearRoomSwitch(); - /* 80034CF8 */ void clearRoomItem(); -}; - -struct dSv_info_c { - /* 800351A4 */ void createZone(int); -}; - -struct dStage_roomControl_c { - /* 80024384 */ void getStatusRoomDt(int); - /* 800243B0 */ void getMemoryBlock(int); - /* 8002490C */ void setArcBank(int, char const*); - /* 80024940 */ void getArcBank(int); - /* 80024954 */ void resetArchiveBank(int); - /* 8002D9B0 */ void getZoneNo(int); - /* 8025BAAC */ void setZoneNo(int, int); - - static u8 mStatus[65792]; - static u8 mDemoArcName[10 + 2 /* padding */]; - static u8 mArcBankName[4]; - static u8 mArcBankData[4]; -}; - -struct dStage_dt_c {}; - -struct dRes_info_c {}; - -struct JKRHeap { - /* 802CE5CC */ void freeAll(); -}; - -struct dRes_control_c { - /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); - /* 8003C160 */ void syncRes(char const*, dRes_info_c*, int); - /* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int); - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - /* 8003C5BC */ void setStageRes(char const*, JKRHeap*); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B8E8 */ void allForceOnEventMove(); - }; -}; - -struct dEvent_manager_c { - /* 80046888 */ void demoInit(); - /* 80046904 */ void roomInit(int); - /* 800469EC */ void roomFinish(int); -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct csXyz {}; - -struct create_tag {}; - -struct cXyz {}; - -struct JKRExpHeap { - /* 802CFD64 */ void getTotalUsedSize() const; +class room_of_scene_class : public process_node_class { +public: + /* 0x1AC */ process_method_class* mpProcessMtd; + /* 0x1B0 */ scene_tag_class* field_0x1b0; + /* 0x1B4 */ u8 field_0x1b4[0x10]; + /* 0x1C4 */ request_of_phase_process_class field_0x1c4; + /* 0x1CC */ void* field_0x1cc; + /* 0x1D0 */ dStage_roomDt_c* field_0x1d0; + /* 0x1D4 */ s8 field_0x1d4; + /* 0x1D5 */ s8 field_0x1d5; + /* 0x1D6 */ u8 field_0x1d6[2]; + /* 0x1D8 */ u8 field_0x1d8; }; // @@ -121,7 +59,6 @@ extern "C" extern void* g_profile_ROOM_SCENE[10]; // External References: // -extern "C" void OSReport_Error(); extern "C" void mDoExt_getArchiveHeap__Fv(); extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); extern "C" void fopAc_IsActor__FPv(); @@ -165,17 +102,12 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void sprintf(); -extern "C" void strcmp(); extern "C" void strnicmp(); extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */]; extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" extern u8 g_fpcNd_type[4 + 4 /* padding */]; -extern "C" extern u8 struct_80450D64[4]; extern "C" u8 mArcBankName__20dStage_roomControl_c[4]; extern "C" u8 mArcBankData__20dStage_roomControl_c[4]; extern "C" extern u8 struct_80451124[4]; diff --git a/src/d/save/d_save.cpp b/src/d/save/d_save.cpp index 8d93c8b4cd..bef3b669f6 100644 --- a/src/d/save/d_save.cpp +++ b/src/d/save/d_save.cpp @@ -1819,61 +1819,55 @@ SECTION_DEAD static char const* const stringBase_8037926C = "SAVE size:%d\n"; #pragma pop /* 80035798-80035A04 0300D8 026C+00 0/0 1/1 0/0 .text memory_to_card__10dSv_info_cFPci */ -// few wrong instructions, lots of regalloc issues +// lots of regalloc issues #ifdef NONMATCHING -int dSv_info_c::memory_to_card(char* param_0, int param_1) { - BOOL bVar1 = FALSE; - u32 unaff27; - int unaff23; - int unkr27 = 0; +int dSv_info_c::memory_to_card(char* card_ptr, int data_num) { + bool lantern_not_recovered = false; + s32 lantern_stolen; + s32 lantern_dropped; + bool phi_r30 = false; u16 current_lantern_oil = 0; if (!dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[226])) { - unaff27 = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[224]); - unaff23 = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[225]); + lantern_stolen = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[224]); + lantern_dropped = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[225]); dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[224]); dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[225]); - unkr27 = 1; + lantern_not_recovered = true; } - if (dComIfGs_isItemFirstBit(KANTERA) && dComIfGs_getItem(1, 1) == 0xFF) { + if (dComIfGs_isItemFirstBit(KANTERA) && dComIfGs_getItem(SLOT_1, 1) == NO_ITEM) { dComIfGs_setItem(SLOT_1, KANTERA); current_lantern_oil = dComIfGs_getOil(); - u16 oil_gauge_backup = dMeter2Info_getOilGaugeBackUp(); - dComIfGs_setOil(oil_gauge_backup); - bVar1 = TRUE; + dComIfGs_setOil(dMeter2Info_getOilGaugeBackUp()); + phi_r30 = true; } - char* ptr = param_0 + param_1 * 0xa94; + char* save_ptr = card_ptr + (data_num * 0xA94); // 0xA94 = Quest Log size + dSv_save_c* savedata = dComIfGs_getSaveData(); - // weird time stuff going on here. not really sure about any of it - s64 start_time = dComIfGs_getSaveStartTime(); - s64 new_time = OSGetTime() - start_time; - // new_time = 0; - s64 ivar7 = new_time + start_time; + s64 play_time = (OSGetTime() - dComIfGs_getSaveStartTime()); + s64 total_time = (play_time + dComIfGs_getSaveTotalTime()) / (OS_BUS_CLOCK / 4); - s64 total_time = dComIfGs_getSaveTotalTime(); - new_time += total_time; - - if (new_time < start_time) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().setTotalTime(new_time); + // 3599940 = 999:59 in seconds + if (total_time < 3599940) { + savedata->getPlayer().getPlayerInfo().setTotalTime(total_time); } + savedata->getPlayer().getPlayerStatusB().setDateIpl(OSGetTime()); - s64 tmp = OSGetTime(); - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setDateIpl(tmp); - memcpy(ptr, &g_dComIfG_gameInfo, sizeof(dSv_save_c)); + memcpy(save_ptr, savedata, sizeof(dSv_save_c)); printf("Write size:%d\n", sizeof(dSv_save_c)); - if ((u8)unkr27 == 1) { - if (unaff27) { + if (lantern_not_recovered == true) { + if (lantern_stolen) { dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[224]); } - if ((u8)unaff23 != 0) { + if (lantern_dropped) { dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[225]); } } - if (!bVar1) { + if (phi_r30 == true) { dComIfGs_setItem(SLOT_1, NO_ITEM); dComIfGs_setOil(current_lantern_oil); } @@ -1900,29 +1894,24 @@ SECTION_DEAD static char const* const stringBase_8037927A = "LOAD size:%d\n"; #pragma pop /* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */ -// close, some instructions out of order / regalloc +// memcpy param loads out of order #ifdef NONMATCHING int dSv_info_c::card_to_memory(char* param_0, int param_1) { - char* ptr = param_0 + param_1 * 0xa94; - dSv_save_c* tmp = &g_dComIfG_gameInfo.info.getSavedata(); - memcpy(tmp, ptr, sizeof(dSv_save_c)); + memcpy(dComIfGs_getSaveData(), param_0 + param_1 * 0xa94, sizeof(dSv_save_c)); - if (!OSGetSoundMode()) { + if (OSGetSoundMode() == SOUND_MODE_MONO) { g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_MONO); Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_MONO); + } else if (g_dComIfG_gameInfo.info.getPlayer().getConfig().getSound() == 2) { + Z2AudioMgr::mAudioMgrPtr->setOutputMode(2); } else { - u8 save_sound = g_dComIfG_gameInfo.info.getPlayer().getConfig().getSound(); - - if (save_sound == 2) { - Z2AudioMgr::mAudioMgrPtr->setOutputMode(2); - } else { - g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_STEREO); - Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_STEREO); - } + g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_STEREO); + Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_STEREO); } - if (dComIfGs_getSaveData().getPlayer().getPlayerStatusA().getLife() < 12) { - dComIfGs_setLife(12); + dSv_save_c* savedata = dComIfGs_getSaveData(); + if (savedata->getPlayer().getPlayerStatusA().getLife() < 12) { + savedata->getPlayer().getPlayerStatusA().setLife(12); } dComIfGs_setKeyNum(6, 0); @@ -1932,16 +1921,16 @@ int dSv_info_c::card_to_memory(char* param_0, int param_1) { dComIfGs_setItem(SLOT_9, NO_ITEM); } - if (dComIfGs_getItem(SLOT_9, 1) == HOOKSHOT && dComIfGs_getItem(SLOT_9, 1) == W_HOOKSHOT) { + if (dComIfGs_getItem(SLOT_9, 1) == HOOKSHOT && dComIfGs_getItem(SLOT_10, 1) == W_HOOKSHOT) { dComIfGs_setItem(SLOT_9, NO_ITEM); } dComIfGs_setLineUpItem(); - u8 save_vibration = dComIfGs_getSaveData().getPlayer().getConfig().getVibration(); + u8 save_vibration = savedata->getPlayer().getConfig().getVibration(); dComIfGp_setNowVibration(save_vibration); - char* save_stage = dComIfGs_getSaveData().getPlayer().getPlayerReturnPlace().getName(); + char* save_stage = g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getName(); dMeter2Info_setSaveStageName(save_stage); printf("LOAD size:%d\n", sizeof(dSv_save_c)); diff --git a/src/f_op/f_op_msg.cpp b/src/f_op/f_op_msg.cpp index bffbb68b3d..c80912ee98 100644 --- a/src/f_op/f_op_msg.cpp +++ b/src/f_op/f_op_msg.cpp @@ -7,18 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct process_method_class {}; - -struct leafdraw_method_class {}; - -struct leafdraw_class {}; - -struct create_tag_class {}; - // // Forward References: // @@ -28,7 +16,6 @@ extern "C" static void fopMsg_Execute__FPv(); extern "C" static void fopMsg_IsDelete__FPv(); extern "C" static void fopMsg_Delete__FPv(); extern "C" static void fopMsg_Create__FPv(); -extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; // // External References: @@ -55,7 +42,7 @@ extern "C" extern u8 struct_80451124[4]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopMsg_Draw(void* param_0) { +static asm int fopMsg_Draw(void* param_0) { nofralloc #include "asm/f_op/f_op_msg/fopMsg_Draw__FPv.s" } @@ -65,7 +52,7 @@ static asm void fopMsg_Draw(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopMsg_Execute(void* param_0) { +static asm int fopMsg_Execute(void* param_0) { nofralloc #include "asm/f_op/f_op_msg/fopMsg_Execute__FPv.s" } @@ -75,7 +62,7 @@ static asm void fopMsg_Execute(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopMsg_IsDelete(void* param_0) { +static asm int fopMsg_IsDelete(void* param_0) { nofralloc #include "asm/f_op/f_op_msg/fopMsg_IsDelete__FPv.s" } @@ -85,7 +72,7 @@ static asm void fopMsg_IsDelete(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopMsg_Delete(void* param_0) { +static asm int fopMsg_Delete(void* param_0) { nofralloc #include "asm/f_op/f_op_msg/fopMsg_Delete__FPv.s" } @@ -99,7 +86,7 @@ static u8 fopMsg_MSG_TYPE[4 + 4 /* padding */]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopMsg_Create(void* param_0) { +static asm int fopMsg_Create(void* param_0) { nofralloc #include "asm/f_op/f_op_msg/fopMsg_Create__FPv.s" } @@ -107,12 +94,6 @@ static asm void fopMsg_Create(void* param_0) { /* ############################################################################################## */ /* 803A3958-803A3970 -00001 0014+04 0/0 5/0 0/0 .data g_fopMsg_Method */ -SECTION_DATA extern void* g_fopMsg_Method[5 + 1 /* padding */] = { - (void*)fopMsg_Create__FPv, - (void*)fopMsg_Delete__FPv, - (void*)fopMsg_Execute__FPv, - (void*)fopMsg_IsDelete__FPv, - (void*)fopMsg_Draw__FPv, - /* padding */ - NULL, +SECTION_DATA extern leafdraw_method_class g_fopMsg_Method = { + &fopMsg_Create, &fopMsg_Delete, &fopMsg_Execute, &fopMsg_IsDelete, &fopMsg_Draw, }; diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 9bed0c4814..2450e5d4a6 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -3,7 +3,7 @@ // Translation Unit: f_op/f_op_msg_mng // -// #include "f_op/f_op_msg_mng.h" +#include "f_op/f_op_msg_mng.h" #include "JSystem/J2DGraph/J2DPane.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -12,12 +12,6 @@ // Types: // -struct process_priority_class {}; - -struct layer_class {}; - -struct fopAc_ac_c {}; - struct dStage_roomControl_c { static u8 mProcID[4]; }; @@ -48,10 +42,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JKRExpHeap { - /* 802CEE2C */ void create(u32, JKRHeap*, bool); -}; - struct J2DPicture { /* 800202CC */ void setBlendRatio(f32, f32); /* 80020338 */ void append(char const*, f32); @@ -283,7 +273,7 @@ asm void fopMsgM_setMessageID(unsigned int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) { +asm u32 fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) { nofralloc #include "asm/f_op/f_op_msg_mng/fopMsgM_Create__FsPFPv_iPv.s" } diff --git a/src/f_op/f_op_scene_pause.cpp b/src/f_op/f_op_scene_pause.cpp index 05770967b0..fac70803aa 100644 --- a/src/f_op/f_op_scene_pause.cpp +++ b/src/f_op/f_op_scene_pause.cpp @@ -27,7 +27,7 @@ int fopScnPause_Enable(scene_class* pScene) { /* 80020594-8002064C 01AED4 00B8+00 0/0 2/2 0/0 .text fopScnPause_Disable__FP11scene_class */ int fopScnPause_Disable(scene_class* pScene) { if (pScene) { - void* tmp = (void*)pScene->field_0x2C[6]; + void* tmp = (void*)pScene->field_0x0.mLyTg.mpLayer->mpPcNode; if (!tmp) { fpcM_PauseDisable(pScene, 1); diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index cb93c14a8f..c6c7f51a59 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -78,7 +78,7 @@ static void fopScnRq_Execute(scene_request_class* pScnRq) { static int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) { if (pScnRq->mFadeRequest) { fopScnPause_Enable((scene_class*)param_1); - fopOvlpM_ToldAboutID(((scene_class*)param_1)->field_0x04); + fopOvlpM_ToldAboutID(((scene_class*)param_1)->field_0x0.mBsPcId); } return 1; } diff --git a/src/f_pc/f_pc_base.cpp b/src/f_pc/f_pc_base.cpp index 7bc7002516..c259ab51f9 100644 --- a/src/f_pc/f_pc_base.cpp +++ b/src/f_pc/f_pc_base.cpp @@ -85,7 +85,7 @@ base_process_class* fpcBs_Create(s16 pProcTypeID, unsigned int pProcID, void* pD base_process_class* procClass; u32 size; - procProfDef = fpcPf_Get(pProcTypeID); + procProfDef = (process_profile_definition*)fpcPf_Get(pProcTypeID); size = procProfDef->mSize + procProfDef->mSizeOther; procClass = (base_process_class*)cMl::memalignB(-4, size); if (procClass == NULL) { diff --git a/src/f_pc/f_pc_priority.cpp b/src/f_pc/f_pc_priority.cpp index 644cf19999..1ae9e4492d 100644 --- a/src/f_pc/f_pc_priority.cpp +++ b/src/f_pc/f_pc_priority.cpp @@ -179,6 +179,4 @@ s32 fpcPi_Init(process_priority_class* pPi, void* pUserData, unsigned int layer, /* ############################################################################################## */ /* 804505F0-804505F8 0008+00 s=0 e=5 z=1 None .sdata None */ -SECTION_SDATA u8 data_804505F0[8] = { - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +SECTION_SDATA s8 data_804505F0 = 0xFF; diff --git a/src/f_pc/f_pc_profile.cpp b/src/f_pc/f_pc_profile.cpp index 6f4ecd45fa..453d34ae45 100644 --- a/src/f_pc/f_pc_profile.cpp +++ b/src/f_pc/f_pc_profile.cpp @@ -9,9 +9,9 @@ /* ############################################################################################## */ /* 80450D50-80450D58 0004+04 s=1 e=0 z=2 None .sbss g_fpcPf_ProfileList_p */ -process_profile_definition** g_fpcPf_ProfileList_p; +leaf_process_profile_definition** g_fpcPf_ProfileList_p; /* 80023564-80023578 0014+00 s=0 e=1 z=0 None .text fpcPf_Get__Fs */ -process_profile_definition* fpcPf_Get(s16 profileID) { +leaf_process_profile_definition* fpcPf_Get(s16 profileID) { return g_fpcPf_ProfileList_p[profileID]; } diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 36d0be5ede..123db56641 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -237,7 +237,7 @@ u8 struct_80450BE4; #pragma force_active on static bool data_80450BE5; -static u8 data_80450BE6; +u8 data_80450BE6; static bool data_80450BE7; #pragma pop