diff --git a/Progress.md b/Progress.md index d1b72df9ce0..21070a9a73a 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 51.046790% | 2052424 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 51.046790% | 2052424 | 4020672 -RELs | 35.546999% | 4088020 | 11500324 -Total | 39.562178% | 6140444 | 15520996 +RELs | 35.625501% | 4097048 | 11500324 +Total | 39.620344% | 6149472 | 15520996 ## RELs @@ -90,7 +90,7 @@ d_a_e_ba | 28.140394% | 5484 | 19488 d_a_e_bee | 30.316629% | 4864 | 16044 d_a_e_bg | 27.665091% | 7256 | 26228 d_a_e_bi | 30.767563% | 5676 | 18448 -d_a_e_bi_leaf | 50.446429% | 904 | 1792 +d_a_e_bi_leaf | 100.000000% | 1792 | 1792 d_a_e_bs | 32.320835% | 5448 | 16856 d_a_e_bu | 30.436573% | 5912 | 19424 d_a_e_bug | 29.207138% | 5172 | 17708 @@ -116,7 +116,7 @@ d_a_e_gm | 28.274812% | 10404 | 36796 d_a_e_gob | 26.683396% | 10208 | 38256 d_a_e_gs | 44.729606% | 1952 | 4364 d_a_e_hb | 27.624471% | 7568 | 27396 -d_a_e_hb_leaf | 55.309735% | 1000 | 1808 +d_a_e_hb_leaf | 100.000000% | 1808 | 1808 d_a_e_hm | 27.299426% | 8180 | 29964 d_a_e_hp | 28.231798% | 6840 | 24228 d_a_e_hz | 23.990326% | 7936 | 33080 @@ -543,10 +543,10 @@ d_a_obj_mgate | 100.000000% | 4152 | 4152 d_a_obj_mhole | 35.548173% | 2140 | 6020 d_a_obj_mie | 34.891676% | 3672 | 10524 d_a_obj_mirror_6pole | 100.000000% | 3496 | 3496 -d_a_obj_mirror_chain | 34.916201% | 3500 | 10024 +d_a_obj_mirror_chain | 56.943336% | 5708 | 10024 d_a_obj_mirror_sand | 100.000000% | 3832 | 3832 -d_a_obj_mirror_screw | 40.374532% | 2156 | 5340 -d_a_obj_mirror_table | 38.664122% | 4052 | 10480 +d_a_obj_mirror_screw | 100.000000% | 5340 | 5340 +d_a_obj_mirror_table | 57.175573% | 5992 | 10480 d_a_obj_movebox | 36.691330% | 7736 | 21084 d_a_obj_msima | 35.108959% | 3480 | 9912 d_a_obj_mvstair | 35.209479% | 3328 | 9452 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 35.546999% | 4088020 | 11500324 +Total | 35.625501% | 4097048 | 11500324 diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__20dScissorEnd_packet_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__20dScissorEnd_packet_cFv.s deleted file mode 100644 index f6031bb788d..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__20dScissorEnd_packet_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80C97F3C: -/* 80C97F3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C97F40 7C 08 02 A6 */ mflr r0 -/* 80C97F44 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C97F48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C97F4C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80C97F50 41 82 00 30 */ beq lbl_80C97F80 -/* 80C97F54 3C 60 80 CA */ lis r3, __vt__20dScissorEnd_packet_c@ha /* 0x80C98110@ha */ -/* 80C97F58 38 03 81 10 */ addi r0, r3, __vt__20dScissorEnd_packet_c@l /* 0x80C98110@l */ -/* 80C97F5C 90 1F 00 00 */ stw r0, 0(r31) -/* 80C97F60 41 82 00 10 */ beq lbl_80C97F70 -/* 80C97F64 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80C97F68 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80C97F6C 90 1F 00 00 */ stw r0, 0(r31) -lbl_80C97F70: -/* 80C97F70 7C 80 07 35 */ extsh. r0, r4 -/* 80C97F74 40 81 00 0C */ ble lbl_80C97F80 -/* 80C97F78 7F E3 FB 78 */ mr r3, r31 -/* 80C97F7C 4B 63 6D C1 */ bl __dl__FPv -lbl_80C97F80: -/* 80C97F80 7F E3 FB 78 */ mr r3, r31 -/* 80C97F84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C97F88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C97F8C 7C 08 03 A6 */ mtlr r0 -/* 80C97F90 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C97F94 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__22dScissorBegin_packet_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__22dScissorBegin_packet_cFv.s deleted file mode 100644 index 6a1ba7748b1..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__22dScissorBegin_packet_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80C97F98: -/* 80C97F98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C97F9C 7C 08 02 A6 */ mflr r0 -/* 80C97FA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C97FA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C97FA8 93 C1 00 08 */ stw r30, 8(r1) -/* 80C97FAC 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80C97FB0 7C 9F 23 78 */ mr r31, r4 -/* 80C97FB4 41 82 00 4C */ beq lbl_80C98000 -/* 80C97FB8 3C 60 80 CA */ lis r3, __vt__22dScissorBegin_packet_c@ha /* 0x80C98124@ha */ -/* 80C97FBC 38 03 81 24 */ addi r0, r3, __vt__22dScissorBegin_packet_c@l /* 0x80C98124@l */ -/* 80C97FC0 90 1E 00 00 */ stw r0, 0(r30) -/* 80C97FC4 38 7E 00 10 */ addi r3, r30, 0x10 -/* 80C97FC8 3C 80 80 C9 */ lis r4, __dt__4cXyzFv@ha /* 0x80C96DAC@ha */ -/* 80C97FCC 38 84 6D AC */ addi r4, r4, __dt__4cXyzFv@l /* 0x80C96DAC@l */ -/* 80C97FD0 38 A0 00 0C */ li r5, 0xc -/* 80C97FD4 38 C0 00 04 */ li r6, 4 -/* 80C97FD8 4B 6C 9D 11 */ bl __destroy_arr -/* 80C97FDC 28 1E 00 00 */ cmplwi r30, 0 -/* 80C97FE0 41 82 00 10 */ beq lbl_80C97FF0 -/* 80C97FE4 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80C97FE8 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80C97FEC 90 1E 00 00 */ stw r0, 0(r30) -lbl_80C97FF0: -/* 80C97FF0 7F E0 07 35 */ extsh. r0, r31 -/* 80C97FF4 40 81 00 0C */ ble lbl_80C98000 -/* 80C97FF8 7F C3 F3 78 */ mr r3, r30 -/* 80C97FFC 4B 63 6D 41 */ bl __dl__FPv -lbl_80C98000: -/* 80C98000 7F C3 F3 78 */ mr r3, r30 -/* 80C98004 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C98008 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C9800C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C98010 7C 08 03 A6 */ mtlr r0 -/* 80C98014 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C98018 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4cXyzFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4cXyzFv.s deleted file mode 100644 index 5e05f2514dd..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4cXyzFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80C96DAC: -/* 80C96DAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C96DB0 7C 08 02 A6 */ mflr r0 -/* 80C96DB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C96DB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C96DBC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80C96DC0 41 82 00 10 */ beq lbl_80C96DD0 -/* 80C96DC4 7C 80 07 35 */ extsh. r0, r4 -/* 80C96DC8 40 81 00 08 */ ble lbl_80C96DD0 -/* 80C96DCC 4B 63 7F 71 */ bl __dl__FPv -lbl_80C96DD0: -/* 80C96DD0 7F E3 FB 78 */ mr r3, r31 -/* 80C96DD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C96DD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C96DDC 7C 08 03 A6 */ mtlr r0 -/* 80C96DE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C96DE4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4dBgWFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4dBgWFv.s deleted file mode 100644 index 179bebc2098..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4dBgWFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80C97CC4: -/* 80C97CC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C97CC8 7C 08 02 A6 */ mflr r0 -/* 80C97CCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C97CD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C97CD4 93 C1 00 08 */ stw r30, 8(r1) -/* 80C97CD8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80C97CDC 7C 9F 23 78 */ mr r31, r4 -/* 80C97CE0 41 82 00 28 */ beq lbl_80C97D08 -/* 80C97CE4 3C 80 80 3B */ lis r4, __vt__4dBgW@ha /* 0x803ABA80@ha */ -/* 80C97CE8 38 04 BA 80 */ addi r0, r4, __vt__4dBgW@l /* 0x803ABA80@l */ -/* 80C97CEC 90 1E 00 04 */ stw r0, 4(r30) -/* 80C97CF0 38 80 00 00 */ li r4, 0 -/* 80C97CF4 4B 3E 16 49 */ bl __dt__4cBgWFv -/* 80C97CF8 7F E0 07 35 */ extsh. r0, r31 -/* 80C97CFC 40 81 00 0C */ ble lbl_80C97D08 -/* 80C97D00 7F C3 F3 78 */ mr r3, r30 -/* 80C97D04 4B 63 70 39 */ bl __dl__FPv -lbl_80C97D08: -/* 80C97D08 7F C3 F3 78 */ mr r3, r30 -/* 80C97D0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C97D10 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C97D14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C97D18 7C 08 03 A6 */ mtlr r0 -/* 80C97D1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C97D20 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createSolidHeap__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createSolidHeap__FP10fopAc_ac_c.s deleted file mode 100644 index c13d907e33f..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createSolidHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C96E20: -/* 80C96E20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C96E24 7C 08 02 A6 */ mflr r0 -/* 80C96E28 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C96E2C 48 00 00 15 */ bl createHeap__18daObjMirrorChain_cFv -/* 80C96E30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C96E34 7C 08 03 A6 */ mtlr r0 -/* 80C96E38 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C96E3C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 68fa80ae338..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,143 +0,0 @@ -lbl_80C97D24: -/* 80C97D24 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80C97D28 7C 08 02 A6 */ mflr r0 -/* 80C97D2C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80C97D30 39 61 00 20 */ addi r11, r1, 0x20 -/* 80C97D34 4B 6C A4 A9 */ bl _savegpr_29 -/* 80C97D38 7C 7E 1B 78 */ mr r30, r3 -/* 80C97D3C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80C97D40 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80C97D44 40 82 00 B0 */ bne lbl_80C97DF4 -/* 80C97D48 7F C0 F3 79 */ or. r0, r30, r30 -/* 80C97D4C 41 82 00 9C */ beq lbl_80C97DE8 -/* 80C97D50 7C 1F 03 78 */ mr r31, r0 -/* 80C97D54 4B 38 0E 11 */ bl __ct__10fopAc_ac_cFv -/* 80C97D58 38 7F 05 88 */ addi r3, r31, 0x588 -/* 80C97D5C 3C 80 80 08 */ lis r4, __ct__4dBgWFv@ha /* 0x8007B970@ha */ -/* 80C97D60 38 84 B9 70 */ addi r4, r4, __ct__4dBgWFv@l /* 0x8007B970@l */ -/* 80C97D64 3C A0 80 C9 */ lis r5, __dt__4dBgWFv@ha /* 0x80C97CC4@ha */ -/* 80C97D68 38 A5 7C C4 */ addi r5, r5, __dt__4dBgWFv@l /* 0x80C97CC4@l */ -/* 80C97D6C 38 C0 00 C0 */ li r6, 0xc0 -/* 80C97D70 38 E0 00 02 */ li r7, 2 -/* 80C97D74 4B 6C 9F ED */ bl __construct_array -/* 80C97D78 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80C97D7C 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80C97D80 90 1F 07 3C */ stw r0, 0x73c(r31) -/* 80C97D84 38 00 00 00 */ li r0, 0 -/* 80C97D88 90 1F 07 40 */ stw r0, 0x740(r31) -/* 80C97D8C 90 1F 07 44 */ stw r0, 0x744(r31) -/* 80C97D90 90 1F 07 48 */ stw r0, 0x748(r31) -/* 80C97D94 3C 60 80 CA */ lis r3, __vt__22dScissorBegin_packet_c@ha /* 0x80C98124@ha */ -/* 80C97D98 38 03 81 24 */ addi r0, r3, __vt__22dScissorBegin_packet_c@l /* 0x80C98124@l */ -/* 80C97D9C 90 1F 07 3C */ stw r0, 0x73c(r31) -/* 80C97DA0 38 7F 07 4C */ addi r3, r31, 0x74c -/* 80C97DA4 3C 80 80 CA */ lis r4, __ct__4cXyzFv@ha /* 0x80C9801C@ha */ -/* 80C97DA8 38 84 80 1C */ addi r4, r4, __ct__4cXyzFv@l /* 0x80C9801C@l */ -/* 80C97DAC 3C A0 80 C9 */ lis r5, __dt__4cXyzFv@ha /* 0x80C96DAC@ha */ -/* 80C97DB0 38 A5 6D AC */ addi r5, r5, __dt__4cXyzFv@l /* 0x80C96DAC@l */ -/* 80C97DB4 38 C0 00 0C */ li r6, 0xc -/* 80C97DB8 38 E0 00 04 */ li r7, 4 -/* 80C97DBC 4B 6C 9F A5 */ bl __construct_array -/* 80C97DC0 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80C97DC4 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80C97DC8 90 1F 07 7C */ stw r0, 0x77c(r31) -/* 80C97DCC 38 00 00 00 */ li r0, 0 -/* 80C97DD0 90 1F 07 80 */ stw r0, 0x780(r31) -/* 80C97DD4 90 1F 07 84 */ stw r0, 0x784(r31) -/* 80C97DD8 90 1F 07 88 */ stw r0, 0x788(r31) -/* 80C97DDC 3C 60 80 CA */ lis r3, __vt__20dScissorEnd_packet_c@ha /* 0x80C98110@ha */ -/* 80C97DE0 38 03 81 10 */ addi r0, r3, __vt__20dScissorEnd_packet_c@l /* 0x80C98110@l */ -/* 80C97DE4 90 1F 07 7C */ stw r0, 0x77c(r31) -lbl_80C97DE8: -/* 80C97DE8 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80C97DEC 60 00 00 08 */ ori r0, r0, 8 -/* 80C97DF0 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80C97DF4: -/* 80C97DF4 38 7E 05 7C */ addi r3, r30, 0x57c -/* 80C97DF8 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C98080@ha */ -/* 80C97DFC 38 84 80 80 */ addi r4, r4, l_arcName@l /* 0x80C98080@l */ -/* 80C97E00 80 84 00 00 */ lwz r4, 0(r4) -/* 80C97E04 4B 39 50 B9 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80C97E08 7C 7F 1B 78 */ mr r31, r3 -/* 80C97E0C 2C 1F 00 04 */ cmpwi r31, 4 -/* 80C97E10 40 82 01 10 */ bne lbl_80C97F20 -/* 80C97E14 7F C3 F3 78 */ mr r3, r30 -/* 80C97E18 3C 80 80 C9 */ lis r4, createSolidHeap__FP10fopAc_ac_c@ha /* 0x80C96E20@ha */ -/* 80C97E1C 38 84 6E 20 */ addi r4, r4, createSolidHeap__FP10fopAc_ac_c@l /* 0x80C96E20@l */ -/* 80C97E20 38 A0 71 B0 */ li r5, 0x71b0 -/* 80C97E24 4B 38 26 8D */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80C97E28 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C97E2C 40 82 00 0C */ bne lbl_80C97E38 -/* 80C97E30 3B E0 00 05 */ li r31, 5 -/* 80C97E34 48 00 00 EC */ b lbl_80C97F20 -lbl_80C97E38: -/* 80C97E38 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 80C97E3C 28 00 00 00 */ cmplwi r0, 0 -/* 80C97E40 41 82 00 38 */ beq lbl_80C97E78 -/* 80C97E44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97E48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97E4C 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80C97E50 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C97E54 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C97E58 A0 84 02 C4 */ lhz r4, 0x2c4(r4) -/* 80C97E5C 4B 39 CB 61 */ bl isEventBit__11dSv_event_cCFUs -/* 80C97E60 2C 03 00 00 */ cmpwi r3, 0 -/* 80C97E64 40 82 00 14 */ bne lbl_80C97E78 -/* 80C97E68 3C 60 80 CA */ lis r3, lit_3917@ha /* 0x80C98030@ha */ -/* 80C97E6C C0 03 80 30 */ lfs f0, lit_3917@l(r3) /* 0x80C98030@l */ -/* 80C97E70 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80C97E74 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_80C97E78: -/* 80C97E78 38 60 00 00 */ li r3, 0 -/* 80C97E7C 90 7E 07 08 */ stw r3, 0x708(r30) -/* 80C97E80 90 7E 06 38 */ stw r3, 0x638(r30) -/* 80C97E84 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 80C97E88 98 1E 05 91 */ stb r0, 0x591(r30) -/* 80C97E8C 90 7E 06 F8 */ stw r3, 0x6f8(r30) -/* 80C97E90 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 80C97E94 98 1E 06 51 */ stb r0, 0x651(r30) -/* 80C97E98 3B A0 00 01 */ li r29, 1 -/* 80C97E9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97EA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97EA4 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80C97EA8 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80C97EAC 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80C97EB0 7C 05 07 74 */ extsb r5, r0 -/* 80C97EB4 4B 39 D4 AD */ bl isSwitch__10dSv_info_cCFii -/* 80C97EB8 2C 03 00 00 */ cmpwi r3, 0 -/* 80C97EBC 40 82 00 2C */ bne lbl_80C97EE8 -/* 80C97EC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97EC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97EC8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80C97ECC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C97ED0 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C97ED4 A0 84 02 D2 */ lhz r4, 0x2d2(r4) -/* 80C97ED8 4B 39 CA E5 */ bl isEventBit__11dSv_event_cCFUs -/* 80C97EDC 2C 03 00 00 */ cmpwi r3, 0 -/* 80C97EE0 40 82 00 08 */ bne lbl_80C97EE8 -/* 80C97EE4 3B A0 00 00 */ li r29, 0 -lbl_80C97EE8: -/* 80C97EE8 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 80C97EEC 41 82 00 0C */ beq lbl_80C97EF8 -/* 80C97EF0 38 1E 06 48 */ addi r0, r30, 0x648 -/* 80C97EF4 48 00 00 08 */ b lbl_80C97EFC -lbl_80C97EF8: -/* 80C97EF8 38 1E 05 88 */ addi r0, r30, 0x588 -lbl_80C97EFC: -/* 80C97EFC 90 1E 05 84 */ stw r0, 0x584(r30) -/* 80C97F00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97F04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97F08 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80C97F0C 80 9E 05 84 */ lwz r4, 0x584(r30) -/* 80C97F10 7F C5 F3 78 */ mr r5, r30 -/* 80C97F14 4B 3D CA F5 */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c -/* 80C97F18 7F C3 F3 78 */ mr r3, r30 -/* 80C97F1C 4B FF F6 D1 */ bl initBaseMtx__18daObjMirrorChain_cFv -lbl_80C97F20: -/* 80C97F20 7F E3 FB 78 */ mr r3, r31 -/* 80C97F24 39 61 00 20 */ addi r11, r1, 0x20 -/* 80C97F28 4B 6C A3 01 */ bl _restgpr_29 -/* 80C97F2C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80C97F30 7C 08 03 A6 */ mtlr r0 -/* 80C97F34 38 21 00 20 */ addi r1, r1, 0x20 -/* 80C97F38 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Delete__FP18daObjMirrorChain_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Delete__FP18daObjMirrorChain_c.s deleted file mode 100644 index cc38f381e36..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Delete__FP18daObjMirrorChain_c.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_80C97BAC: -/* 80C97BAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C97BB0 7C 08 02 A6 */ mflr r0 -/* 80C97BB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C97BB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C97BBC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80C97BC0 41 82 00 EC */ beq lbl_80C97CAC -/* 80C97BC4 38 7F 05 88 */ addi r3, r31, 0x588 -/* 80C97BC8 4B 5D 06 0D */ bl ChkUsed__9cBgW_BgIdCFv -/* 80C97BCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C97BD0 41 82 00 18 */ beq lbl_80C97BE8 -/* 80C97BD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97BD8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97BDC 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80C97BE0 38 9F 05 88 */ addi r4, r31, 0x588 -/* 80C97BE4 4B 3D C6 6D */ bl Release__4cBgSFP9dBgW_Base -lbl_80C97BE8: -/* 80C97BE8 38 7F 06 48 */ addi r3, r31, 0x648 -/* 80C97BEC 4B 5D 05 E9 */ bl ChkUsed__9cBgW_BgIdCFv -/* 80C97BF0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C97BF4 41 82 00 18 */ beq lbl_80C97C0C -/* 80C97BF8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97BFC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97C00 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80C97C04 38 9F 06 48 */ addi r4, r31, 0x648 -/* 80C97C08 4B 3D C6 49 */ bl Release__4cBgSFP9dBgW_Base -lbl_80C97C0C: -/* 80C97C0C 38 7F 05 7C */ addi r3, r31, 0x57c -/* 80C97C10 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C98080@ha */ -/* 80C97C14 38 84 80 80 */ addi r4, r4, l_arcName@l /* 0x80C98080@l */ -/* 80C97C18 80 84 00 00 */ lwz r4, 0(r4) -/* 80C97C1C 4B 39 53 ED */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80C97C20 34 1F 07 7C */ addic. r0, r31, 0x77c -/* 80C97C24 41 82 00 24 */ beq lbl_80C97C48 -/* 80C97C28 3C 60 80 CA */ lis r3, __vt__20dScissorEnd_packet_c@ha /* 0x80C98110@ha */ -/* 80C97C2C 38 03 81 10 */ addi r0, r3, __vt__20dScissorEnd_packet_c@l /* 0x80C98110@l */ -/* 80C97C30 90 1F 07 7C */ stw r0, 0x77c(r31) -/* 80C97C34 34 1F 07 7C */ addic. r0, r31, 0x77c -/* 80C97C38 41 82 00 10 */ beq lbl_80C97C48 -/* 80C97C3C 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80C97C40 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80C97C44 90 1F 07 7C */ stw r0, 0x77c(r31) -lbl_80C97C48: -/* 80C97C48 34 1F 07 3C */ addic. r0, r31, 0x73c -/* 80C97C4C 41 82 00 3C */ beq lbl_80C97C88 -/* 80C97C50 3C 60 80 CA */ lis r3, __vt__22dScissorBegin_packet_c@ha /* 0x80C98124@ha */ -/* 80C97C54 38 03 81 24 */ addi r0, r3, __vt__22dScissorBegin_packet_c@l /* 0x80C98124@l */ -/* 80C97C58 90 1F 07 3C */ stw r0, 0x73c(r31) -/* 80C97C5C 38 7F 07 4C */ addi r3, r31, 0x74c -/* 80C97C60 3C 80 80 C9 */ lis r4, __dt__4cXyzFv@ha /* 0x80C96DAC@ha */ -/* 80C97C64 38 84 6D AC */ addi r4, r4, __dt__4cXyzFv@l /* 0x80C96DAC@l */ -/* 80C97C68 38 A0 00 0C */ li r5, 0xc -/* 80C97C6C 38 C0 00 04 */ li r6, 4 -/* 80C97C70 4B 6C A0 79 */ bl __destroy_arr -/* 80C97C74 34 1F 07 3C */ addic. r0, r31, 0x73c -/* 80C97C78 41 82 00 10 */ beq lbl_80C97C88 -/* 80C97C7C 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80C97C80 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80C97C84 90 1F 07 3C */ stw r0, 0x73c(r31) -lbl_80C97C88: -/* 80C97C88 38 7F 05 88 */ addi r3, r31, 0x588 -/* 80C97C8C 3C 80 80 C9 */ lis r4, __dt__4dBgWFv@ha /* 0x80C97CC4@ha */ -/* 80C97C90 38 84 7C C4 */ addi r4, r4, __dt__4dBgWFv@l /* 0x80C97CC4@l */ -/* 80C97C94 38 A0 00 C0 */ li r5, 0xc0 -/* 80C97C98 38 C0 00 02 */ li r6, 2 -/* 80C97C9C 4B 6C A0 4D */ bl __destroy_arr -/* 80C97CA0 7F E3 FB 78 */ mr r3, r31 -/* 80C97CA4 38 80 00 00 */ li r4, 0 -/* 80C97CA8 4B 38 0F E5 */ bl __dt__10fopAc_ac_cFv -lbl_80C97CAC: -/* 80C97CAC 38 60 00 01 */ li r3, 1 -/* 80C97CB0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C97CB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C97CB8 7C 08 03 A6 */ mtlr r0 -/* 80C97CBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C97CC0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Draw__FP18daObjMirrorChain_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Draw__FP18daObjMirrorChain_c.s deleted file mode 100644 index 0b57eb46675..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Draw__FP18daObjMirrorChain_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C97698: -/* 80C97698 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9769C 7C 08 02 A6 */ mflr r0 -/* 80C976A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C976A4 48 00 00 15 */ bl draw__18daObjMirrorChain_cFv -/* 80C976A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C976AC 7C 08 03 A6 */ mtlr r0 -/* 80C976B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C976B4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Execute__FP18daObjMirrorChain_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Execute__FP18daObjMirrorChain_c.s deleted file mode 100644 index 2b3be0ee24f..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Execute__FP18daObjMirrorChain_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C97968: -/* 80C97968 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9796C 7C 08 02 A6 */ mflr r0 -/* 80C97970 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C97974 48 00 00 15 */ bl execute__18daObjMirrorChain_cFv -/* 80C97978 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9797C 7C 08 03 A6 */ mtlr r0 -/* 80C97980 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C97984 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__18daObjMirrorChain_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__18daObjMirrorChain_cFv.s deleted file mode 100644 index e8464021e17..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__18daObjMirrorChain_cFv.s +++ /dev/null @@ -1,183 +0,0 @@ -lbl_80C976B8: -/* 80C976B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80C976BC 7C 08 02 A6 */ mflr r0 -/* 80C976C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80C976C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80C976C8 4B 6C AB 15 */ bl _savegpr_29 -/* 80C976CC 7C 7F 1B 78 */ mr r31, r3 -/* 80C976D0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C976D4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C976D8 38 80 00 10 */ li r4, 0x10 -/* 80C976DC 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80C976E0 38 DF 01 0C */ addi r6, r31, 0x10c -/* 80C976E4 4B 50 C0 E1 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80C976E8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C976EC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C976F0 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80C976F4 80 84 00 04 */ lwz r4, 4(r4) -/* 80C976F8 38 BF 01 0C */ addi r5, r31, 0x10c -/* 80C976FC 4B 50 D6 A5 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80C97700 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97704 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97708 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80C9770C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C97710 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C97714 A0 84 02 C4 */ lhz r4, 0x2c4(r4) -/* 80C97718 4B 39 D2 A5 */ bl isEventBit__11dSv_event_cCFUs -/* 80C9771C 2C 03 00 00 */ cmpwi r3, 0 -/* 80C97720 41 82 01 6C */ beq lbl_80C9788C -/* 80C97724 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C97728 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C9772C 80 9F 05 6C */ lwz r4, 0x56c(r31) -/* 80C97730 80 84 00 04 */ lwz r4, 4(r4) -/* 80C97734 38 BF 01 0C */ addi r5, r31, 0x10c -/* 80C97738 4B 50 D6 69 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80C9773C 80 7F 05 70 */ lwz r3, 0x570(r31) -/* 80C97740 28 03 00 00 */ cmplwi r3, 0 -/* 80C97744 41 82 00 14 */ beq lbl_80C97758 -/* 80C97748 80 9F 05 6C */ lwz r4, 0x56c(r31) -/* 80C9774C 80 84 00 04 */ lwz r4, 4(r4) -/* 80C97750 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C97754 4B 37 62 79 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf -lbl_80C97758: -/* 80C97758 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 80C9775C 28 03 00 00 */ cmplwi r3, 0 -/* 80C97760 41 82 00 18 */ beq lbl_80C97778 -/* 80C97764 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80C97768 80 84 00 04 */ lwz r4, 4(r4) -/* 80C9776C C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C97770 38 84 00 58 */ addi r4, r4, 0x58 -/* 80C97774 4B 37 60 35 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -lbl_80C97778: -/* 80C97778 80 7F 05 78 */ lwz r3, 0x578(r31) -/* 80C9777C 28 03 00 00 */ cmplwi r3, 0 -/* 80C97780 41 82 00 18 */ beq lbl_80C97798 -/* 80C97784 80 9F 05 6C */ lwz r4, 0x56c(r31) -/* 80C97788 80 84 00 04 */ lwz r4, 4(r4) -/* 80C9778C C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C97790 38 84 00 58 */ addi r4, r4, 0x58 -/* 80C97794 4B 37 60 15 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -lbl_80C97798: -/* 80C97798 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9779C 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C977A0 80 1D 5F 70 */ lwz r0, 0x5f70(r29) -/* 80C977A4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80C977A8 3B C3 4A C8 */ addi r30, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80C977AC 90 1E 00 48 */ stw r0, 0x48(r30) -/* 80C977B0 80 1D 5F 74 */ lwz r0, 0x5f74(r29) -/* 80C977B4 90 1E 00 4C */ stw r0, 0x4c(r30) -/* 80C977B8 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C977BC 4B 37 65 09 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C977C0 38 BF 07 4C */ addi r5, r31, 0x74c -/* 80C977C4 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C977C8 38 63 00 24 */ addi r3, r3, 0x24 -/* 80C977CC 3C 80 80 CA */ lis r4, data_80C98084@ha /* 0x80C98084@ha */ -/* 80C977D0 38 84 80 84 */ addi r4, r4, data_80C98084@l /* 0x80C98084@l */ -/* 80C977D4 38 C0 00 04 */ li r6, 4 -/* 80C977D8 4B 6A F5 E9 */ bl PSMTXMultVecArray -/* 80C977DC 80 1D 5F 74 */ lwz r0, 0x5f74(r29) -/* 80C977E0 90 1E 00 48 */ stw r0, 0x48(r30) -/* 80C977E4 80 7E 00 4C */ lwz r3, 0x4c(r30) -/* 80C977E8 38 9F 07 7C */ addi r4, r31, 0x77c -/* 80C977EC 38 A0 00 00 */ li r5, 0 -/* 80C977F0 4B 68 DC 9D */ bl entryImm__13J3DDrawBufferFP9J3DPacketUs -/* 80C977F4 80 7F 05 6C */ lwz r3, 0x56c(r31) -/* 80C977F8 4B 37 64 CD */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C977FC 80 7E 00 4C */ lwz r3, 0x4c(r30) -/* 80C97800 38 9F 07 3C */ addi r4, r31, 0x73c -/* 80C97804 38 A0 00 00 */ li r5, 0 -/* 80C97808 4B 68 DC 85 */ bl entryImm__13J3DDrawBufferFP9J3DPacketUs -/* 80C9780C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C97810 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C97814 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80C97818 90 1E 00 48 */ stw r0, 0x48(r30) -/* 80C9781C 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80C97820 90 1E 00 4C */ stw r0, 0x4c(r30) -/* 80C97824 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 80C97828 28 00 00 00 */ cmplwi r0, 0 -/* 80C9782C 41 82 00 1C */ beq lbl_80C97848 -/* 80C97830 80 7F 05 6C */ lwz r3, 0x56c(r31) -/* 80C97834 80 63 00 04 */ lwz r3, 4(r3) -/* 80C97838 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80C9783C 80 63 00 00 */ lwz r3, 0(r3) -/* 80C97840 38 00 00 00 */ li r0, 0 -/* 80C97844 90 03 00 54 */ stw r0, 0x54(r3) -lbl_80C97848: -/* 80C97848 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 80C9784C 28 04 00 00 */ cmplwi r4, 0 -/* 80C97850 41 82 00 18 */ beq lbl_80C97868 -/* 80C97854 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C97858 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9785C 38 63 00 58 */ addi r3, r3, 0x58 -/* 80C97860 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80C97864 4B 69 80 1D */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -lbl_80C97868: -/* 80C97868 80 9F 05 78 */ lwz r4, 0x578(r31) -/* 80C9786C 28 04 00 00 */ cmplwi r4, 0 -/* 80C97870 41 82 00 DC */ beq lbl_80C9794C -/* 80C97874 80 7F 05 6C */ lwz r3, 0x56c(r31) -/* 80C97878 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9787C 38 63 00 58 */ addi r3, r3, 0x58 -/* 80C97880 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80C97884 4B 69 7F FD */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -/* 80C97888 48 00 00 C4 */ b lbl_80C9794C -lbl_80C9788C: -/* 80C9788C 80 7F 05 70 */ lwz r3, 0x570(r31) -/* 80C97890 28 03 00 00 */ cmplwi r3, 0 -/* 80C97894 41 82 00 14 */ beq lbl_80C978A8 -/* 80C97898 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80C9789C 80 84 00 04 */ lwz r4, 4(r4) -/* 80C978A0 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C978A4 4B 37 61 29 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf -lbl_80C978A8: -/* 80C978A8 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 80C978AC 28 03 00 00 */ cmplwi r3, 0 -/* 80C978B0 41 82 00 18 */ beq lbl_80C978C8 -/* 80C978B4 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80C978B8 80 84 00 04 */ lwz r4, 4(r4) -/* 80C978BC C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C978C0 38 84 00 58 */ addi r4, r4, 0x58 -/* 80C978C4 4B 37 5E E5 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -lbl_80C978C8: -/* 80C978C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C978CC 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C978D0 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80C978D4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80C978D8 3B C3 4A C8 */ addi r30, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80C978DC 90 1E 00 48 */ stw r0, 0x48(r30) -/* 80C978E0 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80C978E4 90 1E 00 4C */ stw r0, 0x4c(r30) -/* 80C978E8 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C978EC 4B 37 63 D9 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C978F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C978F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C978F8 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80C978FC 90 1E 00 48 */ stw r0, 0x48(r30) -/* 80C97900 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80C97904 90 1E 00 4C */ stw r0, 0x4c(r30) -/* 80C97908 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 80C9790C 28 00 00 00 */ cmplwi r0, 0 -/* 80C97910 41 82 00 1C */ beq lbl_80C9792C -/* 80C97914 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C97918 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9791C 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80C97920 80 63 00 00 */ lwz r3, 0(r3) -/* 80C97924 38 00 00 00 */ li r0, 0 -/* 80C97928 90 03 00 54 */ stw r0, 0x54(r3) -lbl_80C9792C: -/* 80C9792C 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 80C97930 28 04 00 00 */ cmplwi r4, 0 -/* 80C97934 41 82 00 18 */ beq lbl_80C9794C -/* 80C97938 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C9793C 80 63 00 04 */ lwz r3, 4(r3) -/* 80C97940 38 63 00 58 */ addi r3, r3, 0x58 -/* 80C97944 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80C97948 4B 69 7F 39 */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -lbl_80C9794C: -/* 80C9794C 38 60 00 01 */ li r3, 1 -/* 80C97950 39 61 00 20 */ addi r11, r1, 0x20 -/* 80C97954 4B 6C A8 D5 */ bl _restgpr_29 -/* 80C97958 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80C9795C 7C 08 03 A6 */ mtlr r0 -/* 80C97960 38 21 00 20 */ addi r1, r1, 0x20 -/* 80C97964 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__20dScissorEnd_packet_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__20dScissorEnd_packet_cFv.s deleted file mode 100644 index 5d04c46d121..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__20dScissorEnd_packet_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80C96DE8: -/* 80C96DE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C96DEC 7C 08 02 A6 */ mflr r0 -/* 80C96DF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C96DF4 3C 60 80 CA */ lis r3, l_scissor@ha /* 0x80C98138@ha */ -/* 80C96DF8 38 C3 81 38 */ addi r6, r3, l_scissor@l /* 0x80C98138@l */ -/* 80C96DFC 80 66 00 00 */ lwz r3, 0(r6) -/* 80C96E00 80 86 00 04 */ lwz r4, 4(r6) -/* 80C96E04 80 A6 00 08 */ lwz r5, 8(r6) -/* 80C96E08 80 C6 00 0C */ lwz r6, 0xc(r6) -/* 80C96E0C 4B 6C 96 C5 */ bl GXSetScissor -/* 80C96E10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C96E14 7C 08 03 A6 */ mtlr r0 -/* 80C96E18 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C96E1C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/initBaseMtx__18daObjMirrorChain_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/initBaseMtx__18daObjMirrorChain_cFv.s deleted file mode 100644 index bf1e824d73b..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/initBaseMtx__18daObjMirrorChain_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80C975EC: -/* 80C975EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C975F0 7C 08 02 A6 */ mflr r0 -/* 80C975F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C975F8 80 83 05 68 */ lwz r4, 0x568(r3) -/* 80C975FC 38 04 00 24 */ addi r0, r4, 0x24 -/* 80C97600 90 03 05 04 */ stw r0, 0x504(r3) -/* 80C97604 48 00 00 15 */ bl setBaseMtx__18daObjMirrorChain_cFv -/* 80C97608 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9760C 7C 08 03 A6 */ mtlr r0 -/* 80C97610 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C97614 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/setBaseMtx__18daObjMirrorChain_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/setBaseMtx__18daObjMirrorChain_cFv.s deleted file mode 100644 index 76ed44dd182..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/setBaseMtx__18daObjMirrorChain_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80C97618: -/* 80C97618 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9761C 7C 08 02 A6 */ mflr r0 -/* 80C97620 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C97624 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C97628 7C 7F 1B 78 */ mr r31, r3 -/* 80C9762C 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 80C97630 4B 37 57 35 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 80C97634 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 80C97638 4B 37 59 0D */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 80C9763C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C97640 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C97644 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80C97648 38 84 00 24 */ addi r4, r4, 0x24 -/* 80C9764C 4B 6A EE 65 */ bl PSMTXCopy -/* 80C97650 80 9F 05 6C */ lwz r4, 0x56c(r31) -/* 80C97654 28 04 00 00 */ cmplwi r4, 0 -/* 80C97658 41 82 00 14 */ beq lbl_80C9766C -/* 80C9765C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C97660 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C97664 38 84 00 24 */ addi r4, r4, 0x24 -/* 80C97668 4B 6A EE 49 */ bl PSMTXCopy -lbl_80C9766C: -/* 80C9766C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C97670 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C97674 38 9F 07 0C */ addi r4, r31, 0x70c -/* 80C97678 4B 6A EE 39 */ bl PSMTXCopy -/* 80C9767C 80 7F 05 84 */ lwz r3, 0x584(r31) -/* 80C97680 4B 3E 43 41 */ bl Move__4dBgWFv -/* 80C97684 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C97688 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9768C 7C 08 03 A6 */ mtlr r0 -/* 80C97690 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C97694 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/CreateHeap__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/CreateHeap__18daObjMirrorScrew_cFv.s deleted file mode 100644 index 9ab54f69dd4..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/CreateHeap__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80C992F4: -/* 80C992F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C992F8 7C 08 02 A6 */ mflr r0 -/* 80C992FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C99300 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C99304 7C 7F 1B 78 */ mr r31, r3 -/* 80C99308 3C 60 80 CA */ lis r3, l_arcName@ha /* 0x80C997C0@ha */ -/* 80C9930C 38 63 97 C0 */ addi r3, r3, l_arcName@l /* 0x80C997C0@l */ -/* 80C99310 80 63 00 00 */ lwz r3, 0(r3) -/* 80C99314 38 80 00 04 */ li r4, 4 -/* 80C99318 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9931C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99320 3C A5 00 02 */ addis r5, r5, 2 -/* 80C99324 38 C0 00 80 */ li r6, 0x80 -/* 80C99328 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80C9932C 4B 3A 2F C1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80C99330 3C 80 00 08 */ lis r4, 8 -/* 80C99334 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80C99338 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80C9933C 4B 37 B9 19 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80C99340 90 7F 05 A0 */ stw r3, 0x5a0(r31) -/* 80C99344 80 7F 05 A0 */ lwz r3, 0x5a0(r31) -/* 80C99348 30 03 FF FF */ addic r0, r3, -1 -/* 80C9934C 7C 60 19 10 */ subfe r3, r0, r3 -/* 80C99350 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C99354 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C99358 7C 08 03 A6 */ mtlr r0 -/* 80C9935C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C99360 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Create__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Create__18daObjMirrorScrew_cFv.s deleted file mode 100644 index b136096f65f..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Create__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_80C99364: -/* 80C99364 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80C99368 7C 08 02 A6 */ mflr r0 -/* 80C9936C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80C99370 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80C99374 7C 7F 1B 78 */ mr r31, r3 -/* 80C99378 80 83 05 A0 */ lwz r4, 0x5a0(r3) -/* 80C9937C 80 84 00 04 */ lwz r4, 4(r4) -/* 80C99380 4B 38 11 F9 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData -/* 80C99384 80 7F 05 A0 */ lwz r3, 0x5a0(r31) -/* 80C99388 38 03 00 24 */ addi r0, r3, 0x24 -/* 80C9938C 90 1F 05 04 */ stw r0, 0x504(r31) -/* 80C99390 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 80C99394 4B 37 39 D1 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 80C99398 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 80C9939C 4B 37 3B A9 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 80C993A0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C993A4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C993A8 38 9F 05 6C */ addi r4, r31, 0x56c -/* 80C993AC 4B 6A D1 05 */ bl PSMTXCopy -/* 80C993B0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C993B4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C993B8 80 9F 05 A0 */ lwz r4, 0x5a0(r31) -/* 80C993BC 38 84 00 24 */ addi r4, r4, 0x24 -/* 80C993C0 4B 6A D0 F1 */ bl PSMTXCopy -/* 80C993C4 C0 5F 04 D8 */ lfs f2, 0x4d8(r31) -/* 80C993C8 3C 60 80 CA */ lis r3, lit_3845@ha /* 0x80C99790@ha */ -/* 80C993CC C0 23 97 90 */ lfs f1, lit_3845@l(r3) /* 0x80C99790@l */ -/* 80C993D0 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 80C993D4 EC 21 00 2A */ fadds f1, f1, f0 -/* 80C993D8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 80C993DC D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80C993E0 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 80C993E4 D0 41 00 18 */ stfs f2, 0x18(r1) -/* 80C993E8 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80C993EC 7C 07 07 74 */ extsb r7, r0 -/* 80C993F0 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80C993F4 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f -/* 80C993F8 38 00 00 00 */ li r0, 0 -/* 80C993FC 90 01 00 08 */ stw r0, 8(r1) -/* 80C99400 38 60 00 B3 */ li r3, 0xb3 -/* 80C99404 28 1F 00 00 */ cmplwi r31, 0 -/* 80C99408 41 82 00 0C */ beq lbl_80C99414 -/* 80C9940C 80 9F 00 04 */ lwz r4, 4(r31) -/* 80C99410 48 00 00 08 */ b lbl_80C99418 -lbl_80C99414: -/* 80C99414 38 80 FF FF */ li r4, -1 -lbl_80C99418: -/* 80C99418 54 A5 44 2E */ rlwinm r5, r5, 8, 0x10, 0x17 -/* 80C9941C 38 C1 00 10 */ addi r6, r1, 0x10 -/* 80C99420 39 00 00 00 */ li r8, 0 -/* 80C99424 39 20 00 00 */ li r9, 0 -/* 80C99428 39 40 FF FF */ li r10, -1 -/* 80C9942C 4B 38 0A C5 */ bl fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i -/* 80C99430 38 00 00 00 */ li r0, 0 -/* 80C99434 90 1F 05 B4 */ stw r0, 0x5b4(r31) -/* 80C99438 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 80C9943C 90 1F 05 BC */ stw r0, 0x5bc(r31) -/* 80C99440 90 1F 05 C0 */ stw r0, 0x5c0(r31) -/* 80C99444 90 1F 05 C4 */ stw r0, 0x5c4(r31) -/* 80C99448 90 1F 05 C8 */ stw r0, 0x5c8(r31) -/* 80C9944C 90 1F 05 B0 */ stw r0, 0x5b0(r31) -/* 80C99450 80 1F 05 B0 */ lwz r0, 0x5b0(r31) -/* 80C99454 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80C99458 3C 60 80 CA */ lis r3, ActionTable__18daObjMirrorScrew_c@ha /* 0x80C997F4@ha */ -/* 80C9945C 38 03 97 F4 */ addi r0, r3, ActionTable__18daObjMirrorScrew_c@l /* 0x80C997F4@l */ -/* 80C99460 7C 00 22 14 */ add r0, r0, r4 -/* 80C99464 90 1F 05 AC */ stw r0, 0x5ac(r31) -/* 80C99468 7F E3 FB 78 */ mr r3, r31 -/* 80C9946C 81 9F 05 AC */ lwz r12, 0x5ac(r31) -/* 80C99470 4B 6C 8C 15 */ bl __ptmf_scall -/* 80C99474 60 00 00 00 */ nop -/* 80C99478 38 60 00 04 */ li r3, 4 -/* 80C9947C 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80C99480 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80C99484 7C 08 03 A6 */ mtlr r0 -/* 80C99488 38 21 00 30 */ addi r1, r1, 0x30 -/* 80C9948C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Delete__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Delete__18daObjMirrorScrew_cFv.s deleted file mode 100644 index 9283901da81..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Delete__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80C996AC: -/* 80C996AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C996B0 7C 08 02 A6 */ mflr r0 -/* 80C996B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C996B8 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C997C0@ha */ -/* 80C996BC 38 84 97 C0 */ addi r4, r4, l_arcName@l /* 0x80C997C0@l */ -/* 80C996C0 80 84 00 00 */ lwz r4, 0(r4) -/* 80C996C4 38 63 05 A4 */ addi r3, r3, 0x5a4 -/* 80C996C8 4B 39 39 41 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80C996CC 38 60 00 01 */ li r3, 1 -/* 80C996D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C996D4 7C 08 03 A6 */ mtlr r0 -/* 80C996D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C996DC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Draw__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Draw__18daObjMirrorScrew_cFv.s deleted file mode 100644 index e4de31fd0a4..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Draw__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80C99608: -/* 80C99608 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9960C 7C 08 02 A6 */ mflr r0 -/* 80C99610 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C99614 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C99618 93 C1 00 08 */ stw r30, 8(r1) -/* 80C9961C 7C 7E 1B 78 */ mr r30, r3 -/* 80C99620 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C99624 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C99628 38 80 00 10 */ li r4, 0x10 -/* 80C9962C 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80C99630 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80C99634 4B 50 A1 91 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80C99638 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C9963C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C99640 80 9E 05 A0 */ lwz r4, 0x5a0(r30) -/* 80C99644 80 84 00 04 */ lwz r4, 4(r4) -/* 80C99648 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80C9964C 4B 50 B7 55 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80C99650 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99654 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99658 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80C9965C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80C99660 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80C99664 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80C99668 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80C9966C 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80C99670 80 7E 05 A0 */ lwz r3, 0x5a0(r30) -/* 80C99674 4B 37 46 51 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C99678 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9967C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99680 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80C99684 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80C99688 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80C9968C 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80C99690 38 60 00 01 */ li r3, 1 -/* 80C99694 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C99698 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C9969C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C996A0 7C 08 03 A6 */ mtlr r0 -/* 80C996A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C996A8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Execute__18daObjMirrorScrew_cFPPA3_A4_f.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Execute__18daObjMirrorScrew_cFPPA3_A4_f.s deleted file mode 100644 index d8836792584..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Execute__18daObjMirrorScrew_cFPPA3_A4_f.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_80C99490: -/* 80C99490 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80C99494 7C 08 02 A6 */ mflr r0 -/* 80C99498 90 01 00 24 */ stw r0, 0x24(r1) -/* 80C9949C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80C994A0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80C994A4 7C 7E 1B 78 */ mr r30, r3 -/* 80C994A8 7C 9F 23 78 */ mr r31, r4 -/* 80C994AC 80 03 05 B4 */ lwz r0, 0x5b4(r3) -/* 80C994B0 28 00 00 00 */ cmplwi r0, 0 -/* 80C994B4 40 82 00 20 */ bne lbl_80C994D4 -/* 80C994B8 38 00 00 B3 */ li r0, 0xb3 -/* 80C994BC B0 01 00 12 */ sth r0, 0x12(r1) -/* 80C994C0 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80C994C4 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80C994C8 38 81 00 12 */ addi r4, r1, 0x12 -/* 80C994CC 4B 38 03 2D */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80C994D0 90 7E 05 B4 */ stw r3, 0x5b4(r30) -lbl_80C994D4: -/* 80C994D4 80 1E 05 B8 */ lwz r0, 0x5b8(r30) -/* 80C994D8 28 00 00 00 */ cmplwi r0, 0 -/* 80C994DC 40 82 00 20 */ bne lbl_80C994FC -/* 80C994E0 38 00 02 C6 */ li r0, 0x2c6 -/* 80C994E4 B0 01 00 10 */ sth r0, 0x10(r1) -/* 80C994E8 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80C994EC 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80C994F0 38 81 00 10 */ addi r4, r1, 0x10 -/* 80C994F4 4B 38 03 05 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80C994F8 90 7E 05 B8 */ stw r3, 0x5b8(r30) -lbl_80C994FC: -/* 80C994FC 80 1E 05 BC */ lwz r0, 0x5bc(r30) -/* 80C99500 28 00 00 00 */ cmplwi r0, 0 -/* 80C99504 40 82 00 20 */ bne lbl_80C99524 -/* 80C99508 38 00 00 B1 */ li r0, 0xb1 -/* 80C9950C B0 01 00 0E */ sth r0, 0xe(r1) -/* 80C99510 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80C99514 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80C99518 38 81 00 0E */ addi r4, r1, 0xe -/* 80C9951C 4B 38 02 DD */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80C99520 90 7E 05 BC */ stw r3, 0x5bc(r30) -lbl_80C99524: -/* 80C99524 80 1E 05 C0 */ lwz r0, 0x5c0(r30) -/* 80C99528 28 00 00 00 */ cmplwi r0, 0 -/* 80C9952C 40 82 00 20 */ bne lbl_80C9954C -/* 80C99530 38 00 00 B0 */ li r0, 0xb0 -/* 80C99534 B0 01 00 0C */ sth r0, 0xc(r1) -/* 80C99538 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80C9953C 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80C99540 38 81 00 0C */ addi r4, r1, 0xc -/* 80C99544 4B 38 02 B5 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80C99548 90 7E 05 C0 */ stw r3, 0x5c0(r30) -lbl_80C9954C: -/* 80C9954C 80 1E 05 C4 */ lwz r0, 0x5c4(r30) -/* 80C99550 28 00 00 00 */ cmplwi r0, 0 -/* 80C99554 40 82 00 20 */ bne lbl_80C99574 -/* 80C99558 38 00 00 B2 */ li r0, 0xb2 -/* 80C9955C B0 01 00 0A */ sth r0, 0xa(r1) -/* 80C99560 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80C99564 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80C99568 38 81 00 0A */ addi r4, r1, 0xa -/* 80C9956C 4B 38 02 8D */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80C99570 90 7E 05 C4 */ stw r3, 0x5c4(r30) -lbl_80C99574: -/* 80C99574 80 1E 05 C8 */ lwz r0, 0x5c8(r30) -/* 80C99578 28 00 00 00 */ cmplwi r0, 0 -/* 80C9957C 40 82 00 20 */ bne lbl_80C9959C -/* 80C99580 38 00 00 AF */ li r0, 0xaf -/* 80C99584 B0 01 00 08 */ sth r0, 8(r1) -/* 80C99588 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80C9958C 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80C99590 38 81 00 08 */ addi r4, r1, 8 -/* 80C99594 4B 38 02 65 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80C99598 90 7E 05 C8 */ stw r3, 0x5c8(r30) -lbl_80C9959C: -/* 80C9959C 7F C3 F3 78 */ mr r3, r30 -/* 80C995A0 80 9E 05 AC */ lwz r4, 0x5ac(r30) -/* 80C995A4 39 84 00 0C */ addi r12, r4, 0xc -/* 80C995A8 4B 6C 8A DD */ bl __ptmf_scall -/* 80C995AC 60 00 00 00 */ nop -/* 80C995B0 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 80C995B4 4B 37 37 B1 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 80C995B8 38 7E 04 E4 */ addi r3, r30, 0x4e4 -/* 80C995BC 4B 37 39 89 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 80C995C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C995C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C995C8 38 9E 05 6C */ addi r4, r30, 0x56c -/* 80C995CC 4B 6A CE E5 */ bl PSMTXCopy -/* 80C995D0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C995D4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C995D8 80 9E 05 A0 */ lwz r4, 0x5a0(r30) -/* 80C995DC 38 84 00 24 */ addi r4, r4, 0x24 -/* 80C995E0 4B 6A CE D1 */ bl PSMTXCopy -/* 80C995E4 38 1E 05 6C */ addi r0, r30, 0x56c -/* 80C995E8 90 1F 00 00 */ stw r0, 0(r31) -/* 80C995EC 38 60 00 01 */ li r3, 1 -/* 80C995F0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80C995F4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80C995F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80C995FC 7C 08 03 A6 */ mtlr r0 -/* 80C99600 38 21 00 20 */ addi r1, r1, 0x20 -/* 80C99604 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/__sinit_d_a_obj_mirror_screw_cpp.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/__sinit_d_a_obj_mirror_screw_cpp.s deleted file mode 100644 index 185169a52de..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/__sinit_d_a_obj_mirror_screw_cpp.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80C996E0: -/* 80C996E0 3C 60 80 CA */ lis r3, cNullVec__6Z2Calc@ha /* 0x80C997A0@ha */ -/* 80C996E4 38 A3 97 A0 */ addi r5, r3, cNullVec__6Z2Calc@l /* 0x80C997A0@l */ -/* 80C996E8 80 65 00 24 */ lwz r3, 0x24(r5) -/* 80C996EC 80 05 00 28 */ lwz r0, 0x28(r5) -/* 80C996F0 90 65 00 54 */ stw r3, 0x54(r5) -/* 80C996F4 90 05 00 58 */ stw r0, 0x58(r5) -/* 80C996F8 80 05 00 2C */ lwz r0, 0x2c(r5) -/* 80C996FC 90 05 00 5C */ stw r0, 0x5c(r5) -/* 80C99700 38 85 00 54 */ addi r4, r5, 0x54 -/* 80C99704 80 65 00 30 */ lwz r3, 0x30(r5) -/* 80C99708 80 05 00 34 */ lwz r0, 0x34(r5) -/* 80C9970C 90 64 00 0C */ stw r3, 0xc(r4) -/* 80C99710 90 04 00 10 */ stw r0, 0x10(r4) -/* 80C99714 80 05 00 38 */ lwz r0, 0x38(r5) -/* 80C99718 90 04 00 14 */ stw r0, 0x14(r4) -/* 80C9971C 80 65 00 3C */ lwz r3, 0x3c(r5) -/* 80C99720 80 05 00 40 */ lwz r0, 0x40(r5) -/* 80C99724 90 64 00 18 */ stw r3, 0x18(r4) -/* 80C99728 90 04 00 1C */ stw r0, 0x1c(r4) -/* 80C9972C 80 05 00 44 */ lwz r0, 0x44(r5) -/* 80C99730 90 04 00 20 */ stw r0, 0x20(r4) -/* 80C99734 80 65 00 48 */ lwz r3, 0x48(r5) -/* 80C99738 80 05 00 4C */ lwz r0, 0x4c(r5) -/* 80C9973C 90 64 00 24 */ stw r3, 0x24(r4) -/* 80C99740 90 04 00 28 */ stw r0, 0x28(r4) -/* 80C99744 80 05 00 50 */ lwz r0, 0x50(r5) -/* 80C99748 90 04 00 2C */ stw r0, 0x2c(r4) -/* 80C9974C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Create__FP10fopAc_ac_c.s deleted file mode 100644 index b0cba1853ce..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,80 +0,0 @@ -lbl_80C991CC: -/* 80C991CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C991D0 7C 08 02 A6 */ mflr r0 -/* 80C991D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C991D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C991DC 93 C1 00 08 */ stw r30, 8(r1) -/* 80C991E0 7C 7F 1B 78 */ mr r31, r3 -/* 80C991E4 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80C991E8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80C991EC 40 82 00 34 */ bne lbl_80C99220 -/* 80C991F0 7F E0 FB 79 */ or. r0, r31, r31 -/* 80C991F4 41 82 00 20 */ beq lbl_80C99214 -/* 80C991F8 7C 1E 03 78 */ mr r30, r0 -/* 80C991FC 4B 3D F4 29 */ bl __ct__16dBgS_MoveBgActorFv -/* 80C99200 3C 60 80 CA */ lis r3, __vt__18daObjMirrorScrew_c@ha /* 0x80C99874@ha */ -/* 80C99204 38 03 98 74 */ addi r0, r3, __vt__18daObjMirrorScrew_c@l /* 0x80C99874@l */ -/* 80C99208 90 1E 05 9C */ stw r0, 0x59c(r30) -/* 80C9920C 38 7E 05 D8 */ addi r3, r30, 0x5d8 -/* 80C99210 4B 5C EE 65 */ bl __ct__13cBgS_PolyInfoFv -lbl_80C99214: -/* 80C99214 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80C99218 60 00 00 08 */ ori r0, r0, 8 -/* 80C9921C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80C99220: -/* 80C99220 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99224 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99228 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80C9922C 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80C99230 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80C99234 7C 05 07 74 */ extsb r5, r0 -/* 80C99238 4B 39 C1 29 */ bl isSwitch__10dSv_info_cCFii -/* 80C9923C 2C 03 00 00 */ cmpwi r3, 0 -/* 80C99240 40 82 00 48 */ bne lbl_80C99288 -/* 80C99244 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99248 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9924C 3B C3 07 F0 */ addi r30, r3, 0x7f0 -/* 80C99250 7F C3 F3 78 */ mr r3, r30 -/* 80C99254 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C99258 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C9925C A0 84 02 D2 */ lhz r4, 0x2d2(r4) -/* 80C99260 4B 39 B7 5D */ bl isEventBit__11dSv_event_cCFUs -/* 80C99264 2C 03 00 00 */ cmpwi r3, 0 -/* 80C99268 40 82 00 20 */ bne lbl_80C99288 -/* 80C9926C 7F C3 F3 78 */ mr r3, r30 -/* 80C99270 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C99274 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C99278 A0 84 02 C4 */ lhz r4, 0x2c4(r4) -/* 80C9927C 4B 39 B7 41 */ bl isEventBit__11dSv_event_cCFUs -/* 80C99280 2C 03 00 00 */ cmpwi r3, 0 -/* 80C99284 41 82 00 0C */ beq lbl_80C99290 -lbl_80C99288: -/* 80C99288 38 60 00 05 */ li r3, 5 -/* 80C9928C 48 00 00 50 */ b lbl_80C992DC -lbl_80C99290: -/* 80C99290 38 7F 05 A4 */ addi r3, r31, 0x5a4 -/* 80C99294 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C997C0@ha */ -/* 80C99298 38 84 97 C0 */ addi r4, r4, l_arcName@l /* 0x80C997C0@l */ -/* 80C9929C 80 84 00 00 */ lwz r4, 0(r4) -/* 80C992A0 4B 39 3C 1D */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80C992A4 2C 03 00 04 */ cmpwi r3, 4 -/* 80C992A8 40 82 00 34 */ bne lbl_80C992DC -/* 80C992AC 7F E3 FB 78 */ mr r3, r31 -/* 80C992B0 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C997C0@ha */ -/* 80C992B4 38 84 97 C0 */ addi r4, r4, l_arcName@l /* 0x80C997C0@l */ -/* 80C992B8 80 84 00 00 */ lwz r4, 0(r4) -/* 80C992BC 38 A0 00 07 */ li r5, 7 -/* 80C992C0 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */ -/* 80C992C4 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */ -/* 80C992C8 3C E0 00 01 */ lis r7, 0x0001 /* 0x0000C760@ha */ -/* 80C992CC 38 E7 C7 60 */ addi r7, r7, 0xC760 /* 0x0000C760@l */ -/* 80C992D0 39 00 00 00 */ li r8, 0 -/* 80C992D4 4B 3D F4 E9 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f -/* 80C992D8 2C 03 00 05 */ cmpwi r3, 5 -lbl_80C992DC: -/* 80C992DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C992E0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C992E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C992E8 7C 08 03 A6 */ mtlr r0 -/* 80C992EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C992F0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c.s deleted file mode 100644 index 362a1e01ec1..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80C991A8: -/* 80C991A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C991AC 7C 08 02 A6 */ mflr r0 -/* 80C991B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C991B4 4B 3D F7 29 */ bl MoveBGDelete__16dBgS_MoveBgActorFv -/* 80C991B8 38 60 00 01 */ li r3, 1 -/* 80C991BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C991C0 7C 08 03 A6 */ mtlr r0 -/* 80C991C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C991C8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c.s deleted file mode 100644 index f0609119937..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80C99154: -/* 80C99154 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C99158 7C 08 02 A6 */ mflr r0 -/* 80C9915C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C99160 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 80C99164 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80C99168 7D 89 03 A6 */ mtctr r12 -/* 80C9916C 4E 80 04 21 */ bctrl -/* 80C99170 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C99174 7C 08 03 A6 */ mtlr r0 -/* 80C99178 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9917C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c.s deleted file mode 100644 index daafd5524dc..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C99180: -/* 80C99180 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C99184 7C 08 02 A6 */ mflr r0 -/* 80C99188 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9918C 4B 3D F7 C5 */ bl MoveBGExecute__16dBgS_MoveBgActorFv -/* 80C99190 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C99194 7C 08 03 A6 */ mtlr r0 -/* 80C99198 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9919C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeDown__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeDown__18daObjMirrorScrew_cFv.s deleted file mode 100644 index 6d89e728de7..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeDown__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,156 +0,0 @@ -lbl_80C98F04: -/* 80C98F04 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80C98F08 7C 08 02 A6 */ mflr r0 -/* 80C98F0C 90 01 00 44 */ stw r0, 0x44(r1) -/* 80C98F10 39 61 00 40 */ addi r11, r1, 0x40 -/* 80C98F14 4B 6C 92 C9 */ bl _savegpr_29 -/* 80C98F18 7C 7D 1B 78 */ mr r29, r3 -/* 80C98F1C 3C 60 80 CA */ lis r3, M_attr__18daObjMirrorScrew_c@ha /* 0x80C9975C@ha */ -/* 80C98F20 3B C3 97 5C */ addi r30, r3, M_attr__18daObjMirrorScrew_c@l /* 0x80C9975C@l */ -/* 80C98F24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C98F28 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C98F2C 88 1F 4F AD */ lbz r0, 0x4fad(r31) -/* 80C98F30 28 00 00 00 */ cmplwi r0, 0 -/* 80C98F34 41 82 00 30 */ beq lbl_80C98F64 -/* 80C98F38 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 80C98F3C 38 00 00 03 */ li r0, 3 -/* 80C98F40 B0 04 06 04 */ sth r0, 0x604(r4) -/* 80C98F44 38 60 00 00 */ li r3, 0 -/* 80C98F48 90 64 06 0C */ stw r3, 0x60c(r4) -/* 80C98F4C 38 00 00 0E */ li r0, 0xe -/* 80C98F50 90 04 06 14 */ stw r0, 0x614(r4) -/* 80C98F54 38 00 00 01 */ li r0, 1 -/* 80C98F58 90 04 06 0C */ stw r0, 0x60c(r4) -/* 80C98F5C 90 64 06 10 */ stw r3, 0x610(r4) -/* 80C98F60 B0 64 06 0A */ sth r3, 0x60a(r4) -lbl_80C98F64: -/* 80C98F64 80 7D 05 CC */ lwz r3, 0x5cc(r29) -/* 80C98F68 2C 03 00 00 */ cmpwi r3, 0 -/* 80C98F6C 41 80 00 78 */ blt lbl_80C98FE4 -/* 80C98F70 38 03 FF FF */ addi r0, r3, -1 -/* 80C98F74 90 1D 05 CC */ stw r0, 0x5cc(r29) -/* 80C98F78 80 1D 05 CC */ lwz r0, 0x5cc(r29) -/* 80C98F7C 2C 00 00 00 */ cmpwi r0, 0 -/* 80C98F80 41 81 00 64 */ bgt lbl_80C98FE4 -/* 80C98F84 80 7D 05 BC */ lwz r3, 0x5bc(r29) -/* 80C98F88 28 03 00 00 */ cmplwi r3, 0 -/* 80C98F8C 41 82 00 10 */ beq lbl_80C98F9C -/* 80C98F90 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98F94 80 63 05 70 */ lwz r3, 0x570(r3) -/* 80C98F98 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_80C98F9C: -/* 80C98F9C 80 7D 05 C0 */ lwz r3, 0x5c0(r29) -/* 80C98FA0 28 03 00 00 */ cmplwi r3, 0 -/* 80C98FA4 41 82 00 10 */ beq lbl_80C98FB4 -/* 80C98FA8 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98FAC 80 63 05 80 */ lwz r3, 0x580(r3) -/* 80C98FB0 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_80C98FB4: -/* 80C98FB4 80 7D 05 C4 */ lwz r3, 0x5c4(r29) -/* 80C98FB8 28 03 00 00 */ cmplwi r3, 0 -/* 80C98FBC 41 82 00 10 */ beq lbl_80C98FCC -/* 80C98FC0 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98FC4 80 63 05 6C */ lwz r3, 0x56c(r3) -/* 80C98FC8 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_80C98FCC: -/* 80C98FCC 80 7D 05 C8 */ lwz r3, 0x5c8(r29) -/* 80C98FD0 28 03 00 00 */ cmplwi r3, 0 -/* 80C98FD4 41 82 00 10 */ beq lbl_80C98FE4 -/* 80C98FD8 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98FDC 80 63 05 6C */ lwz r3, 0x56c(r3) -/* 80C98FE0 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_80C98FE4: -/* 80C98FE4 38 7D 05 2C */ addi r3, r29, 0x52c -/* 80C98FE8 38 9E 00 00 */ addi r4, r30, 0 -/* 80C98FEC C0 24 00 14 */ lfs f1, 0x14(r4) -/* 80C98FF0 C0 44 00 10 */ lfs f2, 0x10(r4) -/* 80C98FF4 4B 5D 77 4D */ bl cLib_chaseF__FPfff -/* 80C98FF8 C0 3D 04 D4 */ lfs f1, 0x4d4(r29) -/* 80C98FFC C0 1D 05 2C */ lfs f0, 0x52c(r29) -/* 80C99000 EC 01 00 2A */ fadds f0, f1, f0 -/* 80C99004 D0 1D 04 D4 */ stfs f0, 0x4d4(r29) -/* 80C99008 C0 5D 04 D8 */ lfs f2, 0x4d8(r29) -/* 80C9900C C0 3E 00 34 */ lfs f1, 0x34(r30) -/* 80C99010 C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 80C99014 EC 21 00 2A */ fadds f1, f1, f0 -/* 80C99018 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 80C9901C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80C99020 D0 21 00 20 */ stfs f1, 0x20(r1) -/* 80C99024 D0 41 00 24 */ stfs f2, 0x24(r1) -/* 80C99028 80 7D 05 B4 */ lwz r3, 0x5b4(r29) -/* 80C9902C D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 80C99030 D0 23 04 D4 */ stfs f1, 0x4d4(r3) -/* 80C99034 D0 43 04 D8 */ stfs f2, 0x4d8(r3) -/* 80C99038 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080273@ha */ -/* 80C9903C 38 03 02 73 */ addi r0, r3, 0x0273 /* 0x00080273@l */ -/* 80C99040 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C99044 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80C99048 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80C9904C 80 63 00 00 */ lwz r3, 0(r3) -/* 80C99050 38 81 00 0C */ addi r4, r1, 0xc -/* 80C99054 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 80C99058 38 C0 00 00 */ li r6, 0 -/* 80C9905C 38 E0 00 00 */ li r7, 0 -/* 80C99060 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C99064 FC 40 08 90 */ fmr f2, f1 -/* 80C99068 C0 7E 00 30 */ lfs f3, 0x30(r30) -/* 80C9906C FC 80 18 90 */ fmr f4, f3 -/* 80C99070 39 00 00 00 */ li r8, 0 -/* 80C99074 4B 61 34 99 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80C99078 C0 5D 04 D4 */ lfs f2, 0x4d4(r29) -/* 80C9907C C0 3D 04 AC */ lfs f1, 0x4ac(r29) -/* 80C99080 C0 1E 00 00 */ lfs f0, 0(r30) -/* 80C99084 EC 01 00 2A */ fadds f0, f1, f0 -/* 80C99088 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80C9908C 4C 40 13 82 */ cror 2, 0, 2 -/* 80C99090 40 82 00 AC */ bne lbl_80C9913C -/* 80C99094 D0 1D 04 D4 */ stfs f0, 0x4d4(r29) -/* 80C99098 C0 3E 00 1C */ lfs f1, 0x1c(r30) -/* 80C9909C D0 21 00 10 */ stfs f1, 0x10(r1) -/* 80C990A0 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C990A4 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80C990A8 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80C990AC 3B FF 5B D4 */ addi r31, r31, 0x5bd4 -/* 80C990B0 7F E3 FB 78 */ mr r3, r31 -/* 80C990B4 38 80 00 08 */ li r4, 8 -/* 80C990B8 38 A0 00 0F */ li r5, 0xf -/* 80C990BC 38 C1 00 10 */ addi r6, r1, 0x10 -/* 80C990C0 4B 3D 69 65 */ bl StartShock__12dVibration_cFii4cXyz -/* 80C990C4 7F E3 FB 78 */ mr r3, r31 -/* 80C990C8 38 80 00 1F */ li r4, 0x1f -/* 80C990CC 4B 3D 6C C9 */ bl StopQuake__12dVibration_cFi -/* 80C990D0 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080274@ha */ -/* 80C990D4 38 03 02 74 */ addi r0, r3, 0x0274 /* 0x00080274@l */ -/* 80C990D8 90 01 00 08 */ stw r0, 8(r1) -/* 80C990DC 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80C990E0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80C990E4 80 63 00 00 */ lwz r3, 0(r3) -/* 80C990E8 38 81 00 08 */ addi r4, r1, 8 -/* 80C990EC 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 80C990F0 38 C0 00 00 */ li r6, 0 -/* 80C990F4 38 E0 00 00 */ li r7, 0 -/* 80C990F8 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C990FC FC 40 08 90 */ fmr f2, f1 -/* 80C99100 C0 7E 00 30 */ lfs f3, 0x30(r30) -/* 80C99104 FC 80 18 90 */ fmr f4, f3 -/* 80C99108 39 00 00 00 */ li r8, 0 -/* 80C9910C 4B 61 28 79 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80C99110 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 80C99114 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80C99118 28 04 00 FF */ cmplwi r4, 0xff -/* 80C9911C 41 82 00 18 */ beq lbl_80C99134 -/* 80C99120 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99124 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99128 88 1D 04 BA */ lbz r0, 0x4ba(r29) -/* 80C9912C 7C 05 07 74 */ extsb r5, r0 -/* 80C99130 4B 39 C0 D1 */ bl onSwitch__10dSv_info_cFii -lbl_80C99134: -/* 80C99134 7F A3 EB 78 */ mr r3, r29 -/* 80C99138 4B 38 0B 45 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_80C9913C: -/* 80C9913C 39 61 00 40 */ addi r11, r1, 0x40 -/* 80C99140 4B 6C 90 E9 */ bl _restgpr_29 -/* 80C99144 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80C99148 7C 08 03 A6 */ mtlr r0 -/* 80C9914C 38 21 00 40 */ addi r1, r1, 0x40 -/* 80C99150 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeWait__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeWait__18daObjMirrorScrew_cFv.s deleted file mode 100644 index a512296615f..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeWait__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_80C98AE4: -/* 80C98AE4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80C98AE8 7C 08 02 A6 */ mflr r0 -/* 80C98AEC 90 01 00 34 */ stw r0, 0x34(r1) -/* 80C98AF0 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80C98AF4 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80C98AF8 7C 7F 1B 78 */ mr r31, r3 -/* 80C98AFC 3C 60 80 CA */ lis r3, M_attr__18daObjMirrorScrew_c@ha /* 0x80C9975C@ha */ -/* 80C98B00 3B C3 97 5C */ addi r30, r3, M_attr__18daObjMirrorScrew_c@l /* 0x80C9975C@l */ -/* 80C98B04 80 7F 05 B4 */ lwz r3, 0x5b4(r31) -/* 80C98B08 28 03 00 00 */ cmplwi r3, 0 -/* 80C98B0C 41 82 00 DC */ beq lbl_80C98BE8 -/* 80C98B10 A8 03 05 EE */ lha r0, 0x5ee(r3) -/* 80C98B14 C8 3E 00 28 */ lfd f1, 0x28(r30) -/* 80C98B18 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80C98B1C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80C98B20 3C 00 43 30 */ lis r0, 0x4330 -/* 80C98B24 90 01 00 18 */ stw r0, 0x18(r1) -/* 80C98B28 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 80C98B2C EC 20 08 28 */ fsubs f1, f0, f1 -/* 80C98B30 C0 1E 00 18 */ lfs f0, 0x18(r30) -/* 80C98B34 EC 21 00 24 */ fdivs f1, f1, f0 -/* 80C98B38 38 7E 00 00 */ addi r3, r30, 0 -/* 80C98B3C C0 03 00 04 */ lfs f0, 4(r3) -/* 80C98B40 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C98B44 40 81 00 88 */ ble lbl_80C98BCC -/* 80C98B48 80 7F 05 CC */ lwz r3, 0x5cc(r31) -/* 80C98B4C 38 03 00 01 */ addi r0, r3, 1 -/* 80C98B50 90 1F 05 CC */ stw r0, 0x5cc(r31) -/* 80C98B54 C0 3E 00 1C */ lfs f1, 0x1c(r30) -/* 80C98B58 D0 21 00 08 */ stfs f1, 8(r1) -/* 80C98B5C C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98B60 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80C98B64 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 80C98B68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C98B6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C98B70 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 80C98B74 38 80 00 04 */ li r4, 4 -/* 80C98B78 38 A0 00 0F */ li r5, 0xf -/* 80C98B7C 38 C1 00 08 */ addi r6, r1, 8 -/* 80C98B80 4B 3D 6F 91 */ bl StartQuake__12dVibration_cFii4cXyz -/* 80C98B84 80 9F 05 CC */ lwz r4, 0x5cc(r31) -/* 80C98B88 38 7E 00 00 */ addi r3, r30, 0 -/* 80C98B8C 80 03 00 08 */ lwz r0, 8(r3) -/* 80C98B90 7C 04 00 00 */ cmpw r4, r0 -/* 80C98B94 40 81 00 54 */ ble lbl_80C98BE8 -/* 80C98B98 38 00 00 01 */ li r0, 1 -/* 80C98B9C 90 1F 05 B0 */ stw r0, 0x5b0(r31) -/* 80C98BA0 80 1F 05 B0 */ lwz r0, 0x5b0(r31) -/* 80C98BA4 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80C98BA8 3C 60 80 CA */ lis r3, ActionTable__18daObjMirrorScrew_c@ha /* 0x80C997F4@ha */ -/* 80C98BAC 38 03 97 F4 */ addi r0, r3, ActionTable__18daObjMirrorScrew_c@l /* 0x80C997F4@l */ -/* 80C98BB0 7C 00 22 14 */ add r0, r0, r4 -/* 80C98BB4 90 1F 05 AC */ stw r0, 0x5ac(r31) -/* 80C98BB8 7F E3 FB 78 */ mr r3, r31 -/* 80C98BBC 81 9F 05 AC */ lwz r12, 0x5ac(r31) -/* 80C98BC0 4B 6C 94 C5 */ bl __ptmf_scall -/* 80C98BC4 60 00 00 00 */ nop -/* 80C98BC8 48 00 00 20 */ b lbl_80C98BE8 -lbl_80C98BCC: -/* 80C98BCC 38 00 00 00 */ li r0, 0 -/* 80C98BD0 90 1F 05 CC */ stw r0, 0x5cc(r31) -/* 80C98BD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C98BD8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C98BDC 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 80C98BE0 38 80 00 1F */ li r4, 0x1f -/* 80C98BE4 4B 3D 71 B1 */ bl StopQuake__12dVibration_cFi -lbl_80C98BE8: -/* 80C98BE8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80C98BEC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80C98BF0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80C98BF4 7C 08 03 A6 */ mtlr r0 -/* 80C98BF8 38 21 00 30 */ addi r1, r1, 0x30 -/* 80C98BFC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initDown__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initDown__18daObjMirrorScrew_cFv.s deleted file mode 100644 index b92f30528b5..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initDown__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,194 +0,0 @@ -lbl_80C98C00: -/* 80C98C00 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80C98C04 7C 08 02 A6 */ mflr r0 -/* 80C98C08 90 01 00 64 */ stw r0, 0x64(r1) -/* 80C98C0C 39 61 00 60 */ addi r11, r1, 0x60 -/* 80C98C10 4B 6C 95 CD */ bl _savegpr_29 -/* 80C98C14 7C 7D 1B 78 */ mr r29, r3 -/* 80C98C18 3C 60 80 CA */ lis r3, M_attr__18daObjMirrorScrew_c@ha /* 0x80C9975C@ha */ -/* 80C98C1C 3B C3 97 5C */ addi r30, r3, M_attr__18daObjMirrorScrew_c@l /* 0x80C9975C@l */ -/* 80C98C20 C0 1E 00 1C */ lfs f0, 0x1c(r30) -/* 80C98C24 D0 1D 05 2C */ stfs f0, 0x52c(r29) -/* 80C98C28 38 7E 00 00 */ addi r3, r30, 0 -/* 80C98C2C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80C98C30 90 1D 05 CC */ stw r0, 0x5cc(r29) -/* 80C98C34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C98C38 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C98C3C 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80C98C40 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C98C44 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C98C48 A0 84 02 D2 */ lhz r4, 0x2d2(r4) -/* 80C98C4C 4B 39 BD 41 */ bl onEventBit__11dSv_event_cFUs -/* 80C98C50 C0 3E 00 1C */ lfs f1, 0x1c(r30) -/* 80C98C54 D0 21 00 38 */ stfs f1, 0x38(r1) -/* 80C98C58 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98C5C D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80C98C60 D0 21 00 40 */ stfs f1, 0x40(r1) -/* 80C98C64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C98C68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C98C6C 3B E3 5B D4 */ addi r31, r3, 0x5bd4 -/* 80C98C70 7F E3 FB 78 */ mr r3, r31 -/* 80C98C74 38 80 00 08 */ li r4, 8 -/* 80C98C78 38 A0 00 0F */ li r5, 0xf -/* 80C98C7C 38 C1 00 38 */ addi r6, r1, 0x38 -/* 80C98C80 4B 3D 6D A5 */ bl StartShock__12dVibration_cFii4cXyz -/* 80C98C84 C0 3E 00 1C */ lfs f1, 0x1c(r30) -/* 80C98C88 D0 21 00 2C */ stfs f1, 0x2c(r1) -/* 80C98C8C C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 80C98C90 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80C98C94 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 80C98C98 7F E3 FB 78 */ mr r3, r31 -/* 80C98C9C 38 80 00 06 */ li r4, 6 -/* 80C98CA0 38 A0 00 0F */ li r5, 0xf -/* 80C98CA4 38 C1 00 2C */ addi r6, r1, 0x2c -/* 80C98CA8 4B 3D 6E 69 */ bl StartQuake__12dVibration_cFii4cXyz -/* 80C98CAC 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080272@ha */ -/* 80C98CB0 38 03 02 72 */ addi r0, r3, 0x0272 /* 0x00080272@l */ -/* 80C98CB4 90 01 00 20 */ stw r0, 0x20(r1) -/* 80C98CB8 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80C98CBC 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80C98CC0 80 63 00 00 */ lwz r3, 0(r3) -/* 80C98CC4 38 81 00 20 */ addi r4, r1, 0x20 -/* 80C98CC8 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 80C98CCC 38 C0 00 00 */ li r6, 0 -/* 80C98CD0 38 E0 00 00 */ li r7, 0 -/* 80C98CD4 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98CD8 FC 40 08 90 */ fmr f2, f1 -/* 80C98CDC C0 7E 00 30 */ lfs f3, 0x30(r30) -/* 80C98CE0 FC 80 18 90 */ fmr f4, f3 -/* 80C98CE4 39 00 00 00 */ li r8, 0 -/* 80C98CE8 4B 61 2C 9D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80C98CEC 7F A3 EB 78 */ mr r3, r29 -/* 80C98CF0 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 80C98CF4 54 04 86 3E */ rlwinm r4, r0, 0x10, 0x18, 0x1f -/* 80C98CF8 38 A0 00 FF */ li r5, 0xff -/* 80C98CFC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80C98D00 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80C98D04 38 E0 00 01 */ li r7, 1 -/* 80C98D08 39 00 00 00 */ li r8, 0 -/* 80C98D0C 4B 38 2A A9 */ bl fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs -/* 80C98D10 C0 1E 00 1C */ lfs f0, 0x1c(r30) -/* 80C98D14 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80C98D18 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80C98D1C D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80C98D20 38 61 00 24 */ addi r3, r1, 0x24 -/* 80C98D24 38 80 00 00 */ li r4, 0 -/* 80C98D28 38 A0 00 00 */ li r5, 0 -/* 80C98D2C 38 C0 00 00 */ li r6, 0 -/* 80C98D30 4B 5C E6 C5 */ bl __ct__5csXyzFsss -/* 80C98D34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C98D38 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C98D3C 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80C98D40 38 80 00 00 */ li r4, 0 -/* 80C98D44 90 81 00 08 */ stw r4, 8(r1) -/* 80C98D48 38 00 FF FF */ li r0, -1 -/* 80C98D4C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C98D50 90 81 00 10 */ stw r4, 0x10(r1) -/* 80C98D54 90 81 00 14 */ stw r4, 0x14(r1) -/* 80C98D58 90 81 00 18 */ stw r4, 0x18(r1) -/* 80C98D5C 38 80 00 00 */ li r4, 0 -/* 80C98D60 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACA@ha */ -/* 80C98D64 38 A5 8A CA */ addi r5, r5, 0x8ACA /* 0x00008ACA@l */ -/* 80C98D68 38 C1 00 44 */ addi r6, r1, 0x44 -/* 80C98D6C 38 E0 00 00 */ li r7, 0 -/* 80C98D70 39 01 00 24 */ addi r8, r1, 0x24 -/* 80C98D74 39 20 00 00 */ li r9, 0 -/* 80C98D78 39 40 00 FF */ li r10, 0xff -/* 80C98D7C C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98D80 4B 3B 3D 11 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80C98D84 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80C98D88 38 80 00 00 */ li r4, 0 -/* 80C98D8C 90 81 00 08 */ stw r4, 8(r1) -/* 80C98D90 38 00 FF FF */ li r0, -1 -/* 80C98D94 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C98D98 90 81 00 10 */ stw r4, 0x10(r1) -/* 80C98D9C 90 81 00 14 */ stw r4, 0x14(r1) -/* 80C98DA0 90 81 00 18 */ stw r4, 0x18(r1) -/* 80C98DA4 38 80 00 00 */ li r4, 0 -/* 80C98DA8 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACB@ha */ -/* 80C98DAC 38 A5 8A CB */ addi r5, r5, 0x8ACB /* 0x00008ACB@l */ -/* 80C98DB0 38 C1 00 44 */ addi r6, r1, 0x44 -/* 80C98DB4 38 E0 00 00 */ li r7, 0 -/* 80C98DB8 39 01 00 24 */ addi r8, r1, 0x24 -/* 80C98DBC 39 20 00 00 */ li r9, 0 -/* 80C98DC0 39 40 00 FF */ li r10, 0xff -/* 80C98DC4 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98DC8 4B 3B 3C C9 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80C98DCC 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80C98DD0 38 80 00 00 */ li r4, 0 -/* 80C98DD4 90 81 00 08 */ stw r4, 8(r1) -/* 80C98DD8 38 00 FF FF */ li r0, -1 -/* 80C98DDC 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C98DE0 90 81 00 10 */ stw r4, 0x10(r1) -/* 80C98DE4 90 81 00 14 */ stw r4, 0x14(r1) -/* 80C98DE8 90 81 00 18 */ stw r4, 0x18(r1) -/* 80C98DEC 38 80 00 00 */ li r4, 0 -/* 80C98DF0 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACE@ha */ -/* 80C98DF4 38 A5 8A CE */ addi r5, r5, 0x8ACE /* 0x00008ACE@l */ -/* 80C98DF8 38 C1 00 44 */ addi r6, r1, 0x44 -/* 80C98DFC 38 E0 00 00 */ li r7, 0 -/* 80C98E00 39 01 00 24 */ addi r8, r1, 0x24 -/* 80C98E04 39 20 00 00 */ li r9, 0 -/* 80C98E08 39 40 00 FF */ li r10, 0xff -/* 80C98E0C C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98E10 4B 3B 3C 81 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80C98E14 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80C98E18 38 80 00 00 */ li r4, 0 -/* 80C98E1C 90 81 00 08 */ stw r4, 8(r1) -/* 80C98E20 38 00 FF FF */ li r0, -1 -/* 80C98E24 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C98E28 90 81 00 10 */ stw r4, 0x10(r1) -/* 80C98E2C 90 81 00 14 */ stw r4, 0x14(r1) -/* 80C98E30 90 81 00 18 */ stw r4, 0x18(r1) -/* 80C98E34 38 80 00 00 */ li r4, 0 -/* 80C98E38 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACF@ha */ -/* 80C98E3C 38 A5 8A CF */ addi r5, r5, 0x8ACF /* 0x00008ACF@l */ -/* 80C98E40 38 C1 00 44 */ addi r6, r1, 0x44 -/* 80C98E44 38 E0 00 00 */ li r7, 0 -/* 80C98E48 39 01 00 24 */ addi r8, r1, 0x24 -/* 80C98E4C 39 20 00 00 */ li r9, 0 -/* 80C98E50 39 40 00 FF */ li r10, 0xff -/* 80C98E54 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98E58 4B 3B 3C 39 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80C98E5C 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80C98E60 38 80 00 00 */ li r4, 0 -/* 80C98E64 90 81 00 08 */ stw r4, 8(r1) -/* 80C98E68 38 00 FF FF */ li r0, -1 -/* 80C98E6C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C98E70 90 81 00 10 */ stw r4, 0x10(r1) -/* 80C98E74 90 81 00 14 */ stw r4, 0x14(r1) -/* 80C98E78 90 81 00 18 */ stw r4, 0x18(r1) -/* 80C98E7C 38 80 00 00 */ li r4, 0 -/* 80C98E80 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008AD0@ha */ -/* 80C98E84 38 A5 8A D0 */ addi r5, r5, 0x8AD0 /* 0x00008AD0@l */ -/* 80C98E88 38 C1 00 44 */ addi r6, r1, 0x44 -/* 80C98E8C 38 E0 00 00 */ li r7, 0 -/* 80C98E90 39 01 00 24 */ addi r8, r1, 0x24 -/* 80C98E94 39 20 00 00 */ li r9, 0 -/* 80C98E98 39 40 00 FF */ li r10, 0xff -/* 80C98E9C C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98EA0 4B 3B 3B F1 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80C98EA4 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80C98EA8 38 80 00 00 */ li r4, 0 -/* 80C98EAC 90 81 00 08 */ stw r4, 8(r1) -/* 80C98EB0 38 00 FF FF */ li r0, -1 -/* 80C98EB4 90 01 00 0C */ stw r0, 0xc(r1) -/* 80C98EB8 90 81 00 10 */ stw r4, 0x10(r1) -/* 80C98EBC 90 81 00 14 */ stw r4, 0x14(r1) -/* 80C98EC0 90 81 00 18 */ stw r4, 0x18(r1) -/* 80C98EC4 38 80 00 00 */ li r4, 0 -/* 80C98EC8 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008AD1@ha */ -/* 80C98ECC 38 A5 8A D1 */ addi r5, r5, 0x8AD1 /* 0x00008AD1@l */ -/* 80C98ED0 38 C1 00 44 */ addi r6, r1, 0x44 -/* 80C98ED4 38 E0 00 00 */ li r7, 0 -/* 80C98ED8 39 01 00 24 */ addi r8, r1, 0x24 -/* 80C98EDC 39 20 00 00 */ li r9, 0 -/* 80C98EE0 39 40 00 FF */ li r10, 0xff -/* 80C98EE4 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 80C98EE8 4B 3B 3B A9 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80C98EEC 39 61 00 60 */ addi r11, r1, 0x60 -/* 80C98EF0 4B 6C 93 39 */ bl _restgpr_29 -/* 80C98EF4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80C98EF8 7C 08 03 A6 */ mtlr r0 -/* 80C98EFC 38 21 00 60 */ addi r1, r1, 0x60 -/* 80C98F00 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initWait__18daObjMirrorScrew_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initWait__18daObjMirrorScrew_cFv.s deleted file mode 100644 index e103396eafd..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initWait__18daObjMirrorScrew_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80C98AD8: -/* 80C98AD8 38 00 00 00 */ li r0, 0 -/* 80C98ADC 90 03 05 CC */ stw r0, 0x5cc(r3) -/* 80C98AE0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__4dBgWFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__4dBgWFv.s deleted file mode 100644 index 54956d67da0..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__4dBgWFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80C9AAB0: -/* 80C9AAB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9AAB4 7C 08 02 A6 */ mflr r0 -/* 80C9AAB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9AABC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C9AAC0 93 C1 00 08 */ stw r30, 8(r1) -/* 80C9AAC4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80C9AAC8 7C 9F 23 78 */ mr r31, r4 -/* 80C9AACC 41 82 00 28 */ beq lbl_80C9AAF4 -/* 80C9AAD0 3C 80 80 3B */ lis r4, __vt__4dBgW@ha /* 0x803ABA80@ha */ -/* 80C9AAD4 38 04 BA 80 */ addi r0, r4, __vt__4dBgW@l /* 0x803ABA80@l */ -/* 80C9AAD8 90 1E 00 04 */ stw r0, 4(r30) -/* 80C9AADC 38 80 00 00 */ li r4, 0 -/* 80C9AAE0 4B 3D E8 5D */ bl __dt__4cBgWFv -/* 80C9AAE4 7F E0 07 35 */ extsh. r0, r31 -/* 80C9AAE8 40 81 00 0C */ ble lbl_80C9AAF4 -/* 80C9AAEC 7F C3 F3 78 */ mr r3, r30 -/* 80C9AAF0 4B 63 42 4D */ bl __dl__FPv -lbl_80C9AAF4: -/* 80C9AAF4 7F C3 F3 78 */ mr r3, r30 -/* 80C9AAF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C9AAFC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C9AB00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9AB04 7C 08 03 A6 */ mtlr r0 -/* 80C9AB08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9AB0C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createSolidHeap__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createSolidHeap__FP10fopAc_ac_c.s deleted file mode 100644 index e3f89cfd6ac..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createSolidHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C99918: -/* 80C99918 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9991C 7C 08 02 A6 */ mflr r0 -/* 80C99920 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C99924 48 00 00 15 */ bl createHeap__18daObjMirrorTable_cFv -/* 80C99928 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9992C 7C 08 03 A6 */ mtlr r0 -/* 80C99930 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C99934 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create__18daObjMirrorTable_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create__18daObjMirrorTable_cFv.s deleted file mode 100644 index ddebfbd7f18..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create__18daObjMirrorTable_cFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80C9AB30: -/* 80C9AB30 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9AB34 7C 08 02 A6 */ mflr r0 -/* 80C9AB38 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9AB3C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C9AB40 93 C1 00 08 */ stw r30, 8(r1) -/* 80C9AB44 7C 7E 1B 78 */ mr r30, r3 -/* 80C9AB48 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80C9AB4C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80C9AB50 40 82 00 40 */ bne lbl_80C9AB90 -/* 80C9AB54 7F C0 F3 79 */ or. r0, r30, r30 -/* 80C9AB58 41 82 00 2C */ beq lbl_80C9AB84 -/* 80C9AB5C 7C 1F 03 78 */ mr r31, r0 -/* 80C9AB60 4B 37 E0 05 */ bl __ct__10fopAc_ac_cFv -/* 80C9AB64 38 7F 05 9C */ addi r3, r31, 0x59c -/* 80C9AB68 3C 80 80 08 */ lis r4, __ct__4dBgWFv@ha /* 0x8007B970@ha */ -/* 80C9AB6C 38 84 B9 70 */ addi r4, r4, __ct__4dBgWFv@l /* 0x8007B970@l */ -/* 80C9AB70 3C A0 80 CA */ lis r5, __dt__4dBgWFv@ha /* 0x80C9AAB0@ha */ -/* 80C9AB74 38 A5 AA B0 */ addi r5, r5, __dt__4dBgWFv@l /* 0x80C9AAB0@l */ -/* 80C9AB78 38 C0 00 C0 */ li r6, 0xc0 -/* 80C9AB7C 38 E0 00 03 */ li r7, 3 -/* 80C9AB80 4B 6C 71 E1 */ bl __construct_array -lbl_80C9AB84: -/* 80C9AB84 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80C9AB88 60 00 00 08 */ ori r0, r0, 8 -/* 80C9AB8C 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80C9AB90: -/* 80C9AB90 38 7E 05 94 */ addi r3, r30, 0x594 -/* 80C9AB94 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C9B2A4@ha */ -/* 80C9AB98 38 84 B2 A4 */ addi r4, r4, l_arcName@l /* 0x80C9B2A4@l */ -/* 80C9AB9C 80 84 00 00 */ lwz r4, 0(r4) -/* 80C9ABA0 4B 39 23 1D */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80C9ABA4 7C 7F 1B 78 */ mr r31, r3 -/* 80C9ABA8 2C 1F 00 04 */ cmpwi r31, 4 -/* 80C9ABAC 40 82 00 34 */ bne lbl_80C9ABE0 -/* 80C9ABB0 7F C3 F3 78 */ mr r3, r30 -/* 80C9ABB4 3C 80 80 CA */ lis r4, createSolidHeap__FP10fopAc_ac_c@ha /* 0x80C99918@ha */ -/* 80C9ABB8 38 84 99 18 */ addi r4, r4, createSolidHeap__FP10fopAc_ac_c@l /* 0x80C99918@l */ -/* 80C9ABBC 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000DB50@ha */ -/* 80C9ABC0 38 A5 DB 50 */ addi r5, r5, 0xDB50 /* 0x0000DB50@l */ -/* 80C9ABC4 4B 37 F8 ED */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80C9ABC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C9ABCC 40 82 00 0C */ bne lbl_80C9ABD8 -/* 80C9ABD0 38 60 00 05 */ li r3, 5 -/* 80C9ABD4 48 00 00 10 */ b lbl_80C9ABE4 -lbl_80C9ABD8: -/* 80C9ABD8 7F C3 F3 78 */ mr r3, r30 -/* 80C9ABDC 48 00 00 21 */ bl create_init__18daObjMirrorTable_cFv -lbl_80C9ABE0: -/* 80C9ABE0 7F E3 FB 78 */ mr r3, r31 -lbl_80C9ABE4: -/* 80C9ABE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C9ABE8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C9ABEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9ABF0 7C 08 03 A6 */ mtlr r0 -/* 80C9ABF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9ABF8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 917f02fa01a..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C9AB10: -/* 80C9AB10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9AB14 7C 08 02 A6 */ mflr r0 -/* 80C9AB18 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9AB1C 48 00 00 15 */ bl create__18daObjMirrorTable_cFv -/* 80C9AB20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9AB24 7C 08 03 A6 */ mtlr r0 -/* 80C9AB28 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9AB2C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Delete__FP18daObjMirrorTable_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Delete__FP18daObjMirrorTable_c.s deleted file mode 100644 index 7e96577b48f..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Delete__FP18daObjMirrorTable_c.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_80C9A9DC: -/* 80C9A9DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9A9E0 7C 08 02 A6 */ mflr r0 -/* 80C9A9E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9A9E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C9A9EC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80C9A9F0 41 82 00 A8 */ beq lbl_80C9AA98 -/* 80C9A9F4 38 7F 05 9C */ addi r3, r31, 0x59c -/* 80C9A9F8 4B 5C D7 DD */ bl ChkUsed__9cBgW_BgIdCFv -/* 80C9A9FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C9AA00 41 82 00 18 */ beq lbl_80C9AA18 -/* 80C9AA04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9AA08 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9AA0C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80C9AA10 38 9F 05 9C */ addi r4, r31, 0x59c -/* 80C9AA14 4B 3D 98 3D */ bl Release__4cBgSFP9dBgW_Base -lbl_80C9AA18: -/* 80C9AA18 38 7F 06 5C */ addi r3, r31, 0x65c -/* 80C9AA1C 4B 5C D7 B9 */ bl ChkUsed__9cBgW_BgIdCFv -/* 80C9AA20 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C9AA24 41 82 00 18 */ beq lbl_80C9AA3C -/* 80C9AA28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9AA2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9AA30 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80C9AA34 38 9F 06 5C */ addi r4, r31, 0x65c -/* 80C9AA38 4B 3D 98 19 */ bl Release__4cBgSFP9dBgW_Base -lbl_80C9AA3C: -/* 80C9AA3C 38 7F 07 1C */ addi r3, r31, 0x71c -/* 80C9AA40 4B 5C D7 95 */ bl ChkUsed__9cBgW_BgIdCFv -/* 80C9AA44 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80C9AA48 41 82 00 18 */ beq lbl_80C9AA60 -/* 80C9AA4C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9AA50 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9AA54 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80C9AA58 38 9F 07 1C */ addi r4, r31, 0x71c -/* 80C9AA5C 4B 3D 97 F5 */ bl Release__4cBgSFP9dBgW_Base -lbl_80C9AA60: -/* 80C9AA60 38 7F 05 94 */ addi r3, r31, 0x594 -/* 80C9AA64 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C9B2A4@ha */ -/* 80C9AA68 38 84 B2 A4 */ addi r4, r4, l_arcName@l /* 0x80C9B2A4@l */ -/* 80C9AA6C 80 84 00 00 */ lwz r4, 0(r4) -/* 80C9AA70 4B 39 25 99 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80C9AA74 38 7F 05 9C */ addi r3, r31, 0x59c -/* 80C9AA78 3C 80 80 CA */ lis r4, __dt__4dBgWFv@ha /* 0x80C9AAB0@ha */ -/* 80C9AA7C 38 84 AA B0 */ addi r4, r4, __dt__4dBgWFv@l /* 0x80C9AAB0@l */ -/* 80C9AA80 38 A0 00 C0 */ li r5, 0xc0 -/* 80C9AA84 38 C0 00 03 */ li r6, 3 -/* 80C9AA88 4B 6C 72 61 */ bl __destroy_arr -/* 80C9AA8C 7F E3 FB 78 */ mr r3, r31 -/* 80C9AA90 38 80 00 00 */ li r4, 0 -/* 80C9AA94 4B 37 E1 F9 */ bl __dt__10fopAc_ac_cFv -lbl_80C9AA98: -/* 80C9AA98 38 60 00 01 */ li r3, 1 -/* 80C9AA9C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C9AAA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9AAA4 7C 08 03 A6 */ mtlr r0 -/* 80C9AAA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9AAAC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Draw__FP18daObjMirrorTable_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Draw__FP18daObjMirrorTable_c.s deleted file mode 100644 index 4976f7e4642..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Draw__FP18daObjMirrorTable_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C9A278: -/* 80C9A278 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9A27C 7C 08 02 A6 */ mflr r0 -/* 80C9A280 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9A284 48 00 00 15 */ bl draw__18daObjMirrorTable_cFv -/* 80C9A288 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9A28C 7C 08 03 A6 */ mtlr r0 -/* 80C9A290 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9A294 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Execute__FP18daObjMirrorTable_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Execute__FP18daObjMirrorTable_c.s deleted file mode 100644 index 67d870e6b72..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Execute__FP18daObjMirrorTable_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C9A4B0: -/* 80C9A4B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9A4B4 7C 08 02 A6 */ mflr r0 -/* 80C9A4B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9A4BC 48 00 00 15 */ bl execute__18daObjMirrorTable_cFv -/* 80C9A4C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9A4C4 7C 08 03 A6 */ mtlr r0 -/* 80C9A4C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9A4CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/draw__18daObjMirrorTable_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/draw__18daObjMirrorTable_cFv.s deleted file mode 100644 index dac4e17bc1d..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/draw__18daObjMirrorTable_cFv.s +++ /dev/null @@ -1,140 +0,0 @@ -lbl_80C9A298: -/* 80C9A298 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C9A29C 7C 08 02 A6 */ mflr r0 -/* 80C9A2A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C9A2A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C9A2A8 93 C1 00 08 */ stw r30, 8(r1) -/* 80C9A2AC 7C 7E 1B 78 */ mr r30, r3 -/* 80C9A2B0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C9A2B4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C9A2B8 38 80 00 10 */ li r4, 0x10 -/* 80C9A2BC 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80C9A2C0 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80C9A2C4 4B 50 95 01 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80C9A2C8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C9A2CC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C9A2D0 80 9E 05 68 */ lwz r4, 0x568(r30) -/* 80C9A2D4 80 84 00 04 */ lwz r4, 4(r4) -/* 80C9A2D8 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80C9A2DC 4B 50 AA C5 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80C9A2E0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C9A2E4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C9A2E8 80 9E 05 6C */ lwz r4, 0x56c(r30) -/* 80C9A2EC 80 84 00 04 */ lwz r4, 4(r4) -/* 80C9A2F0 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80C9A2F4 4B 50 AA AD */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80C9A2F8 80 9E 05 70 */ lwz r4, 0x570(r30) -/* 80C9A2FC 28 04 00 00 */ cmplwi r4, 0 -/* 80C9A300 41 82 00 18 */ beq lbl_80C9A318 -/* 80C9A304 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C9A308 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C9A30C 80 84 00 04 */ lwz r4, 4(r4) -/* 80C9A310 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80C9A314 4B 50 AA 8D */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -lbl_80C9A318: -/* 80C9A318 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 80C9A31C 80 83 00 04 */ lwz r4, 4(r3) -/* 80C9A320 80 7E 05 80 */ lwz r3, 0x580(r30) -/* 80C9A324 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C9A328 4B 37 36 A5 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf -/* 80C9A32C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9A330 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9A334 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80C9A338 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80C9A33C 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80C9A340 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80C9A344 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80C9A348 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80C9A34C 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 80C9A350 4B 37 39 75 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C9A354 80 7E 05 6C */ lwz r3, 0x56c(r30) -/* 80C9A358 4B 37 39 6D */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C9A35C 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80C9A360 28 03 00 00 */ cmplwi r3, 0 -/* 80C9A364 41 82 00 38 */ beq lbl_80C9A39C -/* 80C9A368 80 83 00 04 */ lwz r4, 4(r3) -/* 80C9A36C 80 7E 05 88 */ lwz r3, 0x588(r30) -/* 80C9A370 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C9A374 38 84 00 58 */ addi r4, r4, 0x58 -/* 80C9A378 4B 37 34 31 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -/* 80C9A37C 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80C9A380 4B 37 39 45 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C9A384 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80C9A388 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9A38C 38 63 00 58 */ addi r3, r3, 0x58 -/* 80C9A390 80 9E 05 88 */ lwz r4, 0x588(r30) -/* 80C9A394 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80C9A398 4B 69 54 E9 */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -lbl_80C9A39C: -/* 80C9A39C 80 7E 05 74 */ lwz r3, 0x574(r30) -/* 80C9A3A0 28 03 00 00 */ cmplwi r3, 0 -/* 80C9A3A4 41 82 00 08 */ beq lbl_80C9A3AC -/* 80C9A3A8 4B 37 39 1D */ bl mDoExt_modelUpdateDL__FP8J3DModel -lbl_80C9A3AC: -/* 80C9A3AC 88 1E 08 74 */ lbz r0, 0x874(r30) -/* 80C9A3B0 28 00 00 00 */ cmplwi r0, 0 -/* 80C9A3B4 41 82 00 B0 */ beq lbl_80C9A464 -/* 80C9A3B8 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 80C9A3BC 28 03 00 00 */ cmplwi r3, 0 -/* 80C9A3C0 41 82 00 38 */ beq lbl_80C9A3F8 -/* 80C9A3C4 80 83 00 04 */ lwz r4, 4(r3) -/* 80C9A3C8 80 7E 05 90 */ lwz r3, 0x590(r30) -/* 80C9A3CC C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C9A3D0 38 84 00 58 */ addi r4, r4, 0x58 -/* 80C9A3D4 4B 37 33 05 */ bl entry__13mDoExt_btkAnmFP16J3DMaterialTablef -/* 80C9A3D8 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 80C9A3DC 4B 37 38 E9 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C9A3E0 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 80C9A3E4 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9A3E8 38 63 00 58 */ addi r3, r3, 0x58 -/* 80C9A3EC 80 9E 05 90 */ lwz r4, 0x590(r30) -/* 80C9A3F0 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80C9A3F4 4B 69 53 C1 */ bl removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey -lbl_80C9A3F8: -/* 80C9A3F8 80 7E 05 7C */ lwz r3, 0x57c(r30) -/* 80C9A3FC 28 03 00 00 */ cmplwi r3, 0 -/* 80C9A400 41 82 00 64 */ beq lbl_80C9A464 -/* 80C9A404 80 83 00 04 */ lwz r4, 4(r3) -/* 80C9A408 80 7E 05 84 */ lwz r3, 0x584(r30) -/* 80C9A40C C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C9A410 4B 37 35 BD */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf -/* 80C9A414 80 7E 05 7C */ lwz r3, 0x57c(r30) -/* 80C9A418 80 83 00 04 */ lwz r4, 4(r3) -/* 80C9A41C 80 7E 05 8C */ lwz r3, 0x58c(r30) -/* 80C9A420 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80C9A424 38 84 00 58 */ addi r4, r4, 0x58 -/* 80C9A428 4B 37 33 81 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -/* 80C9A42C 80 7E 05 7C */ lwz r3, 0x57c(r30) -/* 80C9A430 4B 37 38 95 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C9A434 80 7E 05 7C */ lwz r3, 0x57c(r30) -/* 80C9A438 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9A43C 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80C9A440 80 63 00 00 */ lwz r3, 0(r3) -/* 80C9A444 38 00 00 00 */ li r0, 0 -/* 80C9A448 90 03 00 54 */ stw r0, 0x54(r3) -/* 80C9A44C 80 7E 05 7C */ lwz r3, 0x57c(r30) -/* 80C9A450 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9A454 38 63 00 58 */ addi r3, r3, 0x58 -/* 80C9A458 80 9E 05 8C */ lwz r4, 0x58c(r30) -/* 80C9A45C 80 84 00 14 */ lwz r4, 0x14(r4) -/* 80C9A460 4B 69 54 21 */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -lbl_80C9A464: -/* 80C9A464 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9A468 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9A46C 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80C9A470 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80C9A474 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80C9A478 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80C9A47C 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 80C9A480 80 63 00 04 */ lwz r3, 4(r3) -/* 80C9A484 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80C9A488 80 63 00 00 */ lwz r3, 0(r3) -/* 80C9A48C 38 00 00 00 */ li r0, 0 -/* 80C9A490 90 03 00 54 */ stw r0, 0x54(r3) -/* 80C9A494 38 60 00 01 */ li r3, 1 -/* 80C9A498 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C9A49C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C9A4A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9A4A4 7C 08 03 A6 */ mtlr r0 -/* 80C9A4A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9A4AC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/isSwitch__18daObjMirrorTable_cFv.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/isSwitch__18daObjMirrorTable_cFv.s deleted file mode 100644 index 063940272bb..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/isSwitch__18daObjMirrorTable_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_80C99F7C: -/* 80C99F7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C99F80 7C 08 02 A6 */ mflr r0 -/* 80C99F84 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C99F88 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C99F8C 93 C1 00 08 */ stw r30, 8(r1) -/* 80C99F90 7C 65 1B 78 */ mr r5, r3 -/* 80C99F94 3B E0 00 01 */ li r31, 1 -/* 80C99F98 7F FE FB 78 */ mr r30, r31 -/* 80C99F9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99FA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99FA4 80 05 00 B0 */ lwz r0, 0xb0(r5) -/* 80C99FA8 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80C99FAC 88 05 04 BA */ lbz r0, 0x4ba(r5) -/* 80C99FB0 7C 05 07 74 */ extsb r5, r0 -/* 80C99FB4 4B 39 B3 AD */ bl isSwitch__10dSv_info_cCFii -/* 80C99FB8 2C 03 00 00 */ cmpwi r3, 0 -/* 80C99FBC 40 82 00 2C */ bne lbl_80C99FE8 -/* 80C99FC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99FC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99FC8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80C99FCC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C99FD0 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C99FD4 A0 84 02 D2 */ lhz r4, 0x2d2(r4) -/* 80C99FD8 4B 39 A9 E5 */ bl isEventBit__11dSv_event_cCFUs -/* 80C99FDC 2C 03 00 00 */ cmpwi r3, 0 -/* 80C99FE0 40 82 00 08 */ bne lbl_80C99FE8 -/* 80C99FE4 3B C0 00 00 */ li r30, 0 -lbl_80C99FE8: -/* 80C99FE8 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80C99FEC 40 82 00 2C */ bne lbl_80C9A018 -/* 80C99FF0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C99FF4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C99FF8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80C99FFC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80C9A000 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80C9A004 A0 84 02 C4 */ lhz r4, 0x2c4(r4) -/* 80C9A008 4B 39 A9 B5 */ bl isEventBit__11dSv_event_cCFUs -/* 80C9A00C 2C 03 00 00 */ cmpwi r3, 0 -/* 80C9A010 40 82 00 08 */ bne lbl_80C9A018 -/* 80C9A014 3B E0 00 00 */ li r31, 0 -lbl_80C9A018: -/* 80C9A018 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80C9A01C 30 03 FF FF */ addic r0, r3, -1 -/* 80C9A020 7C 00 19 10 */ subfe r0, r0, r3 -/* 80C9A024 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80C9A028 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C9A02C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C9A030 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C9A034 7C 08 03 A6 */ mtlr r0 -/* 80C9A038 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C9A03C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s deleted file mode 100644 index 202055ce533..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s +++ /dev/null @@ -1,151 +0,0 @@ -lbl_80C9A040: -/* 80C9A040 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80C9A044 7C 08 02 A6 */ mflr r0 -/* 80C9A048 90 01 00 54 */ stw r0, 0x54(r1) -/* 80C9A04C DB E1 00 40 */ stfd f31, 0x40(r1) -/* 80C9A050 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80C9A054 39 61 00 40 */ addi r11, r1, 0x40 -/* 80C9A058 4B 6C 81 75 */ bl _savegpr_25 -/* 80C9A05C 7C 9D 23 78 */ mr r29, r4 -/* 80C9A060 A8 05 00 08 */ lha r0, 8(r5) -/* 80C9A064 2C 00 00 FD */ cmpwi r0, 0xfd -/* 80C9A068 40 82 01 D8 */ bne lbl_80C9A240 -/* 80C9A06C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9A070 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9A074 83 E3 5D AC */ lwz r31, 0x5dac(r3) -/* 80C9A078 80 7D 05 74 */ lwz r3, 0x574(r29) -/* 80C9A07C 38 63 00 24 */ addi r3, r3, 0x24 -/* 80C9A080 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C9A084 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C9A088 4B 6A C4 29 */ bl PSMTXCopy -/* 80C9A08C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C9A090 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C9A094 7C 64 1B 78 */ mr r4, r3 -/* 80C9A098 4B 6A C5 19 */ bl PSMTXInverse -/* 80C9A09C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C9A0A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C9A0A4 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 80C9A0A8 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80C9A0AC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80C9A0B0 41 82 00 E4 */ beq lbl_80C9A194 -/* 80C9A0B4 3B 20 00 00 */ li r25, 0 -/* 80C9A0B8 3C 60 80 CA */ lis r3, l_minPos@ha /* 0x80C9B244@ha */ -/* 80C9A0BC 3B 43 B2 44 */ addi r26, r3, l_minPos@l /* 0x80C9B244@l */ -/* 80C9A0C0 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */ -/* 80C9A0C4 3B 83 B2 50 */ addi r28, r3, l_maxPos@l /* 0x80C9B250@l */ -/* 80C9A0C8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C9A0CC 3B 63 D4 70 */ addi r27, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C9A0D0 C3 FA 00 00 */ lfs f31, 0(r26) -lbl_80C9A0D4: -/* 80C9A0D4 2C 19 00 02 */ cmpwi r25, 2 -/* 80C9A0D8 41 82 00 34 */ beq lbl_80C9A10C -/* 80C9A0DC 40 80 00 14 */ bge lbl_80C9A0F0 -/* 80C9A0E0 2C 19 00 00 */ cmpwi r25, 0 -/* 80C9A0E4 41 82 00 18 */ beq lbl_80C9A0FC -/* 80C9A0E8 40 80 00 1C */ bge lbl_80C9A104 -/* 80C9A0EC 48 00 00 2C */ b lbl_80C9A118 -lbl_80C9A0F0: -/* 80C9A0F0 2C 19 00 04 */ cmpwi r25, 4 -/* 80C9A0F4 40 80 00 24 */ bge lbl_80C9A118 -/* 80C9A0F8 48 00 00 1C */ b lbl_80C9A114 -lbl_80C9A0FC: -/* 80C9A0FC 3B DF 05 C8 */ addi r30, r31, 0x5c8 -/* 80C9A100 48 00 00 18 */ b lbl_80C9A118 -lbl_80C9A104: -/* 80C9A104 3B DF 05 D4 */ addi r30, r31, 0x5d4 -/* 80C9A108 48 00 00 10 */ b lbl_80C9A118 -lbl_80C9A10C: -/* 80C9A10C 3B DF 05 E0 */ addi r30, r31, 0x5e0 -/* 80C9A110 48 00 00 08 */ b lbl_80C9A118 -lbl_80C9A114: -/* 80C9A114 3B DF 05 EC */ addi r30, r31, 0x5ec -lbl_80C9A118: -/* 80C9A118 4B 37 2B B1 */ bl push__14mDoMtx_stack_cFv -/* 80C9A11C 7F 63 DB 78 */ mr r3, r27 -/* 80C9A120 7F C4 F3 78 */ mr r4, r30 -/* 80C9A124 38 A1 00 08 */ addi r5, r1, 8 -/* 80C9A128 4B 6A CC 45 */ bl PSMTXMultVec -/* 80C9A12C 4B 37 2B E9 */ bl pop__14mDoMtx_stack_cFv -/* 80C9A130 C0 21 00 08 */ lfs f1, 8(r1) -/* 80C9A134 FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80C9A138 4C 41 13 82 */ cror 2, 1, 2 -/* 80C9A13C 40 82 00 48 */ bne lbl_80C9A184 -/* 80C9A140 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */ -/* 80C9A144 C0 03 B2 50 */ lfs f0, l_maxPos@l(r3) /* 0x80C9B250@l */ -/* 80C9A148 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C9A14C 4C 40 13 82 */ cror 2, 0, 2 -/* 80C9A150 40 82 00 34 */ bne lbl_80C9A184 -/* 80C9A154 C0 21 00 10 */ lfs f1, 0x10(r1) -/* 80C9A158 C0 1A 00 08 */ lfs f0, 8(r26) -/* 80C9A15C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C9A160 4C 41 13 82 */ cror 2, 1, 2 -/* 80C9A164 40 82 00 20 */ bne lbl_80C9A184 -/* 80C9A168 C0 1C 00 08 */ lfs f0, 8(r28) -/* 80C9A16C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C9A170 4C 40 13 82 */ cror 2, 0, 2 -/* 80C9A174 40 82 00 10 */ bne lbl_80C9A184 -/* 80C9A178 38 00 00 0F */ li r0, 0xf -/* 80C9A17C 98 1D 08 75 */ stb r0, 0x875(r29) -/* 80C9A180 48 00 00 C0 */ b lbl_80C9A240 -lbl_80C9A184: -/* 80C9A184 3B 39 00 01 */ addi r25, r25, 1 -/* 80C9A188 2C 19 00 04 */ cmpwi r25, 4 -/* 80C9A18C 41 80 FF 48 */ blt lbl_80C9A0D4 -/* 80C9A190 48 00 00 B0 */ b lbl_80C9A240 -lbl_80C9A194: -/* 80C9A194 3B 40 00 00 */ li r26, 0 -/* 80C9A198 3C 60 80 CA */ lis r3, l_minPos@ha /* 0x80C9B244@ha */ -/* 80C9A19C 3B 63 B2 44 */ addi r27, r3, l_minPos@l /* 0x80C9B244@l */ -/* 80C9A1A0 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */ -/* 80C9A1A4 3B 83 B2 50 */ addi r28, r3, l_maxPos@l /* 0x80C9B250@l */ -/* 80C9A1A8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C9A1AC 3B C3 D4 70 */ addi r30, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C9A1B0 C3 FB 00 00 */ lfs f31, 0(r27) -lbl_80C9A1B4: -/* 80C9A1B4 2C 1A 00 00 */ cmpwi r26, 0 -/* 80C9A1B8 40 82 00 0C */ bne lbl_80C9A1C4 -/* 80C9A1BC 3B 3F 05 E0 */ addi r25, r31, 0x5e0 -/* 80C9A1C0 48 00 00 08 */ b lbl_80C9A1C8 -lbl_80C9A1C4: -/* 80C9A1C4 3B 3F 05 EC */ addi r25, r31, 0x5ec -lbl_80C9A1C8: -/* 80C9A1C8 4B 37 2B 01 */ bl push__14mDoMtx_stack_cFv -/* 80C9A1CC 7F C3 F3 78 */ mr r3, r30 -/* 80C9A1D0 7F 24 CB 78 */ mr r4, r25 -/* 80C9A1D4 38 A1 00 08 */ addi r5, r1, 8 -/* 80C9A1D8 4B 6A CB 95 */ bl PSMTXMultVec -/* 80C9A1DC 4B 37 2B 39 */ bl pop__14mDoMtx_stack_cFv -/* 80C9A1E0 C0 21 00 08 */ lfs f1, 8(r1) -/* 80C9A1E4 FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80C9A1E8 4C 41 13 82 */ cror 2, 1, 2 -/* 80C9A1EC 40 82 00 48 */ bne lbl_80C9A234 -/* 80C9A1F0 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */ -/* 80C9A1F4 C0 03 B2 50 */ lfs f0, l_maxPos@l(r3) /* 0x80C9B250@l */ -/* 80C9A1F8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C9A1FC 4C 40 13 82 */ cror 2, 0, 2 -/* 80C9A200 40 82 00 34 */ bne lbl_80C9A234 -/* 80C9A204 C0 21 00 10 */ lfs f1, 0x10(r1) -/* 80C9A208 C0 1B 00 08 */ lfs f0, 8(r27) -/* 80C9A20C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C9A210 4C 41 13 82 */ cror 2, 1, 2 -/* 80C9A214 40 82 00 20 */ bne lbl_80C9A234 -/* 80C9A218 C0 1C 00 08 */ lfs f0, 8(r28) -/* 80C9A21C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80C9A220 4C 40 13 82 */ cror 2, 0, 2 -/* 80C9A224 40 82 00 10 */ bne lbl_80C9A234 -/* 80C9A228 38 00 00 0F */ li r0, 0xf -/* 80C9A22C 98 1D 08 75 */ stb r0, 0x875(r29) -/* 80C9A230 48 00 00 10 */ b lbl_80C9A240 -lbl_80C9A234: -/* 80C9A234 3B 5A 00 01 */ addi r26, r26, 1 -/* 80C9A238 2C 1A 00 02 */ cmpwi r26, 2 -/* 80C9A23C 41 80 FF 78 */ blt lbl_80C9A1B4 -lbl_80C9A240: -/* 80C9A240 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 80C9A244 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 80C9A248 39 61 00 40 */ addi r11, r1, 0x40 -/* 80C9A24C 4B 6C 7F CD */ bl _restgpr_25 -/* 80C9A250 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80C9A254 7C 08 03 A6 */ mtlr r0 -/* 80C9A258 38 21 00 50 */ addi r1, r1, 0x50 -/* 80C9A25C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s b/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s deleted file mode 100644 index dea2959fcee..00000000000 --- a/asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80C9A260: -/* 80C9A260 A8 05 00 08 */ lha r0, 8(r5) -/* 80C9A264 2C 00 00 FD */ cmpwi r0, 0xfd -/* 80C9A268 4C 82 00 20 */ bnelr -/* 80C9A26C 38 00 00 0F */ li r0, 0xf -/* 80C9A270 98 04 08 75 */ stb r0, 0x875(r4) -/* 80C9A274 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index c3511a4a693..ce296554e84 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -814,6 +814,11 @@ public: void i_onEndResetFlg1(daPy_ERFLG1 i_flag) { mEndResetFlg1 |= i_flag; } + cXyz* getLeftHandPosP() { return &mLeftHandPos; } + cXyz* getRightHandPosP() { return &mRightHandPos; } + cXyz* i_getLeftFootPosP() { return &mLeftFootPos; } + cXyz* i_getRightFootPosP() { return &mRightFootPos; } + u32 i_checkWolf() const { return i_checkNoResetFlg1(FLG1_IS_WOLF); } BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); } BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(FLG0_MAGNE_BOOTS_ON); } diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index 0fd8779bd03..3338404bfab 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -230,7 +230,7 @@ public: /* 0x7C */ cXyz mTransVel; /* 0x88 */ u8 mFlags; /* 0x89 */ u8 mNeedsFullTransform; - /* 0x8A */ u8 field_0x8a[6]; + /* 0x8C */ u32 field_0x8c; /* 0x90 */ u8 mMoveCounter; /* 0x91 */ u8 field_0x91; /* 0x92 */ u16 m_rootGrpIdx; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 27d6f061366..7c8a7849609 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -3804,6 +3804,10 @@ inline J3DDrawBuffer* dComIfGd_getOpaListDark() { return g_dComIfG_gameInfo.drawlist.getOpaListDark(); } +inline J3DDrawBuffer* dComIfGd_getXluListBG() { + return g_dComIfG_gameInfo.drawlist.getXluListBG(); +} + inline void dComIfGd_init() { g_dComIfG_gameInfo.drawlist.init(); } diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 9ece698705c..73d69d7ddb4 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -311,6 +311,7 @@ public: J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; } J3DDrawBuffer* getOpaListBG() { return mDrawBuffers[DB_OPA_LIST_BG]; } J3DDrawBuffer* getOpaListDark() { return mDrawBuffers[DB_OPA_LIST_DARK]; } + J3DDrawBuffer* getXluListBG() { return mDrawBuffers[DB_XLU_LIST_BG]; } void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_XLU_BUFFER_e); } void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_OPA_BUFFER_e); } void setXluListSky() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); } diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 94627f2675b..54500005808 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -28,6 +28,7 @@ public: void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); } f32 getFrame() { return mFrameCtrl.getFrame(); } f32 getEndFrame() { return mFrameCtrl.getEnd(); } + void setEndFrame(f32 frame) { mFrameCtrl.setEnd(frame); } void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); } void setPlayMode(int i_mode) { mFrameCtrl.setAttribute(i_mode); } void setLoopFrame(f32 i_frame) { mFrameCtrl.setLoop(i_frame); } diff --git a/include/rel/d/a/d_a_mirror/d_a_mirror.h b/include/rel/d/a/d_a_mirror/d_a_mirror.h index c886b5dd0a8..900bc42ba2e 100644 --- a/include/rel/d/a/d_a_mirror/d_a_mirror.h +++ b/include/rel/d/a/d_a_mirror/d_a_mirror.h @@ -38,6 +38,7 @@ struct daMirror_c : public fopAc_ac_c { /* 80031990 */ static int remove(); s32 getType() { return fopAcM_GetParamBit(this, 0, 8); } s32 getSw() { return fopAcM_GetParamBit(this, 8, 8); } + static u32 getMirrorRoomPrm() { return 0xff03; } typedef int (daMirror_c::*entryModelFunc)(J3DModel*); static entryModelFunc m_entryModel; diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h index ba5d379ca69..11abab9ea3a 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h @@ -19,7 +19,9 @@ public: /* 80C95E2C */ void executeWait(); /* 80C95E88 */ void initDemo(); /* 80C95E8C */ void executeDemo(); - /* 80C95EFC */ void setBaseMtx(); + /* 80C95EFC */ inline void setBaseMtx(); + inline void initBaseMtx(); + inline void create_init(); /* 80C95F50 */ static int createHeapCallBack(fopAc_ac_c* i_this); /* 80C95F70 */ int CreateHeap(); @@ -29,25 +31,10 @@ public: inline int create(); inline int draw(); - void initBaseMtx() { - fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); - // setBaseMtx(); - - // this is supposed to be setBaseMtx, but it gets inlined here for some reason? - mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::YrotM(shape_angle.y); - - mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); - } - - void create_init() { - initBaseMtx(); - mAttentionInfo.mFlags = 0; - setAction(MODE_WAIT_e); - } - u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + void setAnmSpeed(f32 speed) { mpBck->setPlaySpeed(speed); } + bool isSwitch() { return i_fopAcM_isSwitch(this, getSwitchNo()) || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) || diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h index daac9ac8095..0fa920bc6a3 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h @@ -1,6 +1,57 @@ #ifndef D_A_OBJ_MIRROR_CHAIN_H #define D_A_OBJ_MIRROR_CHAIN_H -#include "dolphin/types.h" +#include "JSystem/J3DGraphBase/J3DDrawBuffer.h" +#include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_w.h" + +class dScissorBegin_packet_c : public J3DPacket { +public: + /* 80C96698 */ void draw(); + /* 80C97F98 */ ~dScissorBegin_packet_c() {} + + cXyz* getQuad() { return mQuad; } + void entryPacket() { j3dSys.getDrawBuffer(1)->entryImm(this, 0); } + + /* 0x10 */ cXyz mQuad[4]; +}; + +class dScissorEnd_packet_c : public J3DPacket { +public: + /* 80C96DE8 */ void draw(); + /* 80C97F3C */ ~dScissorEnd_packet_c() {} + + void entryPacket() { j3dSys.getDrawBuffer(1)->entryImm(this, 0); } +}; + +class daObjMirrorChain_c : public fopAc_ac_c { +public: + /* 80C96E40 */ int createHeap(); + /* 80C975EC */ void initBaseMtx(); + /* 80C97618 */ void setBaseMtx(); + /* 80C976B8 */ int draw(); + /* 80C97988 */ int execute(); + inline ~daObjMirrorChain_c(); + inline void create_init(); + inline cPhs__Step create(); + + u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; } + void setAnmSpeed(f32 speed) { mpBckAnm->setPlaySpeed(speed); } + + /* 0x568 */ J3DModel* mpModel; + /* 0x56C */ J3DModel* mpPortalModel; + /* 0x570 */ mDoExt_bckAnm* mpBckAnm; + /* 0x574 */ mDoExt_brkAnm* mpBrkAnm; + /* 0x578 */ mDoExt_brkAnm* mpPortalBrkAnm; + /* 0x57C */ request_of_phase_process_class mPhaseReq; + /* 0x584 */ dBgW* mpActiveBgW; + /* 0x588 */ dBgW mBgW[2]; + /* 0x708 */ JPABaseEmitter* mpEmitter; + /* 0x70C */ Mtx mMtx; + /* 0x73C */ dScissorBegin_packet_c mScissorBegin; + /* 0x77C */ dScissorEnd_packet_c mScissorEnd; + }; + + STATIC_ASSERT(sizeof(daObjMirrorChain_c) == 0x78C); #endif /* D_A_OBJ_MIRROR_CHAIN_H */ diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h index acf813f204c..2ce20f0b600 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h @@ -20,6 +20,7 @@ public: inline void create_init(); u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + void setAnmSpeed(f32 speed) { mpBck->setPlaySpeed(speed); } bool isSwitch() { return i_fopAcM_isSwitch(this, getSwitchNo()) || diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h index afa6dac5b6e..9041033aa25 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h @@ -1,6 +1,82 @@ #ifndef D_A_OBJ_MIRROR_SCREW_H #define D_A_OBJ_MIRROR_SCREW_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h" +#include "rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h" +#include "rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h" +#include "rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h" +#include "rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h" +#include "rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h" + +class daObjMirrorScrew_c; +typedef void (daObjMirrorScrew_c::*daObjMirrorScrew_actionFunc)(); + +class daObjMirrorScrew_c : public dBgS_MoveBgActor { +public: + struct attr { + f32 mDownDist; + f32 mRotSpeedThreshold; + int mSpinCount; + int mResetSpinCount; + f32 mSpeedStep; + f32 mDownSpeed; + }; + + enum Action { + /* 0 */ ACT_WAIT, + /* 1 */ ACT_DOWN, + }; + + /* 80C98AD8 */ void initWait(); + /* 80C98AE4 */ void executeWait(); + /* 80C98C00 */ void initDown(); + /* 80C98F04 */ void executeDown(); + inline cPhs__Step create(); + /* 80C992F4 */ int CreateHeap(); + inline void setBaseMtx(); + inline void initBaseMtx(); + /* 80C99364 */ int Create(); + /* 80C99490 */ int Execute(Mtx**); + /* 80C99608 */ int Draw(); + /* 80C996AC */ int Delete(); + + u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; } + u8 getEventID() { return (fopAcM_GetParam(this) >> 0x10) & 0xff; } + + void setAction(int i_action) { + mAction = i_action; + mpActionFunc = ActionTable[mAction]; + callInit(); + } + + void callInit() { + (this->*mpActionFunc[0])(); + } + + void callExecute() { + (this->*mpActionFunc[1])(); + } + + /* 0x5A0 */ J3DModel* mpModel; + /* 0x5A4 */ request_of_phase_process_class mPhaseReq; + /* 0x5AC */ daObjMirrorScrew_actionFunc* mpActionFunc; + /* 0x5B0 */ int mAction; + /* 0x5B4 */ daObjSwSpinner_c* mpSwSpinner; + /* 0x5B8 */ daTagSppath_c* mpSpPath; + /* 0x5BC */ daObjMirrorChain_c* mpChain; + /* 0x5C0 */ daObjMirrorTable_c* mpTable; + /* 0x5C4 */ daObjMirror6Pole_c* mp6Pole; + /* 0x5C8 */ daObjMirrorSand_c* mpSand; + /* 0x5CC */ int mSpinCount; + /* 0x5D0 */ u8 field_0x5d0[8]; + /* 0x5D8 */ cBgS_PolyInfo field_0x5d8; + + static attr const M_attr; + static daObjMirrorScrew_actionFunc ActionTable[2][2]; +}; + +STATIC_ASSERT(sizeof(daObjMirrorScrew_c) == 0x5E8); #endif /* D_A_OBJ_MIRROR_SCREW_H */ diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h index c4a8cea69f5..c4020422d66 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h @@ -1,6 +1,45 @@ #ifndef D_A_OBJ_MIRROR_TABLE_H #define D_A_OBJ_MIRROR_TABLE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_w.h" + +class daObjMirrorTable_c : public fopAc_ac_c { +public: + /* 80C99938 */ int createHeap(); + /* 80C99F7C */ /* inline */ bool isSwitch(); // should be inlined once createHeap matches + inline void checkOnPanel(); + /* 80C9A298 */ int draw(); + inline void setBaseMtx(); + /* 80C9A4D0 */ int execute(); + inline ~daObjMirrorTable_c(); + /* 80C9AB30 */ cPhs__Step create(); + /* 80C9ABFC */ void create_init(); + /* 80C9AFD0 */ void initBaseMtx(); + + u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; } + void setAnmSpeed(f32 speed) { mpTableUpBckAnm->setPlaySpeed(speed); } + + /* 0x568 */ J3DModel* mpTableModel; + /* 0x56C */ J3DModel* mpMirrorModel; + /* 0x570 */ J3DModel* mpStairModel; + /* 0x574 */ J3DModel* mpPanelModel; + /* 0x578 */ J3DModel* mpLightModel; + /* 0x57C */ J3DModel* mpMSquareModel; + /* 0x580 */ mDoExt_bckAnm* mpTableUpBckAnm; + /* 0x584 */ mDoExt_bckAnm* mpMSquareBckAnm; + /* 0x588 */ mDoExt_brkAnm* mpStairBrkAnm; + /* 0x58C */ mDoExt_brkAnm* mpMSquareBrkAnm; + /* 0x590 */ mDoExt_btkAnm* mpLightBtkAnm; + /* 0x594 */ request_of_phase_process_class mPhaseReq; + /* 0x59C */ dBgW mBgW[3]; + /* 0x7DC */ Mtx mMtx[3]; + /* 0x86C */ JPABaseEmitter* mpEmitter1; + /* 0x870 */ JPABaseEmitter* mpEmitter2; + /* 0x874 */ bool field_0x874; + /* 0x875 */ s8 field_0x875; +}; + +STATIC_ASSERT(sizeof(daObjMirrorTable_c) == 0x878); #endif /* D_A_OBJ_MIRROR_TABLE_H */ diff --git a/include/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h b/include/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h index 8aec276faa1..7bf2bdf503f 100644 --- a/include/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h +++ b/include/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h @@ -1,6 +1,15 @@ #ifndef D_A_TAG_SPPATH_H #define D_A_TAG_SPPATH_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" +#include "d/d_path.h" + +class daTagSppath_c : public fopAc_ac_c { +public: + /* 80D61C18 */ void create(); + /* 80D61EC4 */ ~daTagSppath_c(); + /* 80D62024 */ void getNearPathPos(cXyz*, dPath*); + /* 80D629C0 */ void execute(); +}; #endif /* D_A_TAG_SPPATH_H */ diff --git a/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.cpp b/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.cpp index 13b43bfb324..645b49d1d82 100644 --- a/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.cpp +++ b/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.cpp @@ -72,6 +72,17 @@ void daObjMirror6Pole_c::setBaseMtx() { mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); } +void daObjMirror6Pole_c::initBaseMtx() { + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + setBaseMtx(); +} + +void daObjMirror6Pole_c::create_init() { + initBaseMtx(); + mAttentionInfo.mFlags = 0; + setAction(MODE_WAIT_e); +} + /* 80C95F50-80C95F70 0001B0 0020+00 1/1 0/0 0/0 .text * createHeapCallBack__18daObjMirror6Pole_cFP10fopAc_ac_c */ int daObjMirror6Pole_c::createHeapCallBack(fopAc_ac_c* i_this) { diff --git a/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.cpp b/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.cpp index 1e4d7bc189d..6f902c054be 100644 --- a/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.cpp +++ b/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.cpp @@ -1,172 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_mirror_chain -// +/** + * d_a_obj_mirror_table.cpp + * Mirror Chamber Chains + */ #include "rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266CBC */ void outprod(Vec const&) const; - /* 802670AC */ void isZero() const; - /* 80C96DAC */ ~cXyz(); - /* 80C9801C */ cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DAnmTevRegKey {}; - -struct J3DMaterialTable { - /* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*); -}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DModelData {}; - -struct J3DAnmTransform {}; - -struct mDoExt_bckAnm { - /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool); - /* 8000D9CC */ void entry(J3DModelData*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daObjMirrorChain_c { - /* 80C96E40 */ void createHeap(); - /* 80C975EC */ void initBaseMtx(); - /* 80C97618 */ void setBaseMtx(); - /* 80C976B8 */ void draw(); - /* 80C97988 */ void execute(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dScissorEnd_packet_c { - /* 80C96DE8 */ void draw(); - /* 80C97F3C */ ~dScissorEnd_packet_c(); -}; - -struct dScissorBegin_packet_c { - /* 80C96698 */ void draw(); - /* 80C97F98 */ ~dScissorBegin_packet_c(); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dBgW_Base {}; - -struct dBgW { - /* 8007B970 */ dBgW(); - /* 8007B9C0 */ void Move(); - /* 80C97CC4 */ ~dBgW(); -}; - -struct dBgS { - /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); -}; - -struct cBgW_BgId { - /* 802681D4 */ void ChkUsed() const; -}; - -struct cBgD_t {}; - -struct cBgW { - /* 8007933C */ ~cBgW(); - /* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]); -}; - -struct cBgS { - /* 80074250 */ void Release(dBgW_Base*); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J3DPacket; -struct J3DDrawBuffer { - /* 8032548C */ void entryImm(J3DPacket*, u16); -}; - -struct J3DPacket { - /* 80312750 */ bool entry(J3DDrawBuffer*); -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80C975A4 */ ~J3DFrameCtrl(); -}; - // // Forward References: // @@ -235,12 +77,6 @@ extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer(); extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSMTXMultVecArray(); -extern "C" void PSVECScale(); -extern "C" void GXSetScissor(); -extern "C" void GXGetScissor(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); @@ -250,23 +86,19 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_22(); extern "C" void _restgpr_26(); extern "C" void _restgpr_29(); -extern "C" void tan(); -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__4dBgW[65]; extern "C" extern void* __vt__9J3DPacket[5]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; -extern "C" extern u32 __float_max; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // // Declarations: // +/* 80C98080-80C98084 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ +static char const* l_arcName = "MR-Chain"; + /* ############################################################################################## */ /* 80C98028-80C9802C 000000 0004+00 2/2 0/0 0/0 .rodata @3915 */ SECTION_RODATA static u32 const lit_3915 = 0x3C8EFA35; @@ -341,7 +173,7 @@ COMPILER_STRIP_GATE(0x80C98050, &lit_3925); #pragma pop /* 80C98138-80C98148 000000 0010+00 2/2 0/0 0/0 .bss l_scissor */ -static u8 l_scissor[16]; +static u32 l_scissor[4]; /* 80C96698-80C96DAC 000078 0714+00 1/0 0/0 0/0 .text draw__22dScissorBegin_packet_cFv */ #pragma push @@ -353,35 +185,22 @@ asm void dScissorBegin_packet_c::draw() { } #pragma pop -/* 80C96DAC-80C96DE8 00078C 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cXyz::~cXyz() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4cXyzFv.s" +// Temporary fake function to make the cXyz destructor appear here +// delete once dScissorBegin_packet_c::draw() is matched +static void fake() { + cXyz vec; + vec.normalize(); } -#pragma pop /* 80C96DE8-80C96E20 0007C8 0038+00 1/0 0/0 0/0 .text draw__20dScissorEnd_packet_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScissorEnd_packet_c::draw() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__20dScissorEnd_packet_cFv.s" +void dScissorEnd_packet_c::draw() { + GXSetScissor(l_scissor[0], l_scissor[1], l_scissor[2], l_scissor[3]); } -#pragma pop /* 80C96E20-80C96E40 000800 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void createSolidHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createSolidHeap__FP10fopAc_ac_c.s" +static int createSolidHeap(fopAc_ac_c* i_this) { + return static_cast(i_this)->createHeap(); } -#pragma pop /* ############################################################################################## */ /* 80C98058-80C98060 000030 0008+00 1/1 0/0 0/0 .rodata @4164 */ @@ -390,68 +209,120 @@ SECTION_RODATA static u8 const lit_4164[8] = { }; COMPILER_STRIP_GATE(0x80C98058, &lit_4164); -/* 80C98074-80C98074 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C98074 = "MR-Chain"; -#pragma pop - -/* 80C98080-80C98084 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_chain__stringBase0; - -/* 80C98084-80C980B4 000004 0030+00 1/1 0/0 0/0 .data - * l_offsetScissor$localstatic7$draw__18daObjMirrorChain_cFv */ -SECTION_DATA static u8 data_80C98084[48] = { - 0x44, 0xA3, 0x66, 0x66, 0x45, 0xB4, 0x1C, 0xA4, 0xC6, 0xB3, 0xE1, 0x0F, 0x45, 0x0F, 0x33, 0x33, - 0x45, 0xB4, 0x1C, 0xA4, 0xC6, 0xB3, 0xE1, 0x0F, 0x45, 0x0F, 0x33, 0x33, 0x45, 0x95, 0x5C, 0xA4, - 0xC6, 0xB3, 0xE1, 0x0F, 0x44, 0xA3, 0x66, 0x66, 0x45, 0x95, 0x5C, 0xA4, 0xC6, 0xB3, 0xE1, 0x0F, -}; - -/* 80C980B4-80C980D4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorChain_Method */ -SECTION_DATA static void* l_daObjMirrorChain_Method[8] = { - (void*)daObjMirrorChain_Create__FP10fopAc_ac_c, - (void*)daObjMirrorChain_Delete__FP18daObjMirrorChain_c, - (void*)daObjMirrorChain_Execute__FP18daObjMirrorChain_c, - (void*)daObjMirrorChain_IsDelete__FP18daObjMirrorChain_c, - (void*)daObjMirrorChain_Draw__FP18daObjMirrorChain_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80C980D4-80C98104 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorChain */ -SECTION_DATA extern void* g_profile_Obj_MirrorChain[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00B10000, (void*)&g_fpcLf_Method, - (void*)0x0000078C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02A90000, (void*)&l_daObjMirrorChain_Method, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 80C98104-80C98110 000084 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; +extern void* __vt__12J3DFrameCtrl[3]; /* 80C96E40-80C975A4 000820 0764+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorChain_cFv */ +#ifdef NONMATCHING +// matches with literals +int daObjMirrorChain_c::createHeap() { + J3DModelData* model_data; + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16); + mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000284); + + J3DAnmTevRegKey* brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 21); + mpBrkAnm = new mDoExt_brkAnm(); + if (mpBrkAnm == NULL || !mpBrkAnm->init(model_data, brk_anm, 1, 2, 1.0f, 0, -1)) { + return 0; + } + } else { + model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15); + mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + mpBrkAnm = NULL; + } + if (mpModel == NULL) { + return 0; + } + + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + J3DModelData* portal_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 12); + mpPortalModel = mDoExt_J3DModel__create(portal_model_data, 0, 0x11000084); + if (mpPortalModel == NULL) { + return 0; + } + + J3DAnmTransform* bck_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9); + mpBckAnm = new mDoExt_bckAnm(); + if (mpBckAnm == NULL + || !mpBckAnm->init(bck_anm, 1, 2, 1.0f, 0, -1, false)) + { + return 0; + } + mpBckAnm->setEndFrame(300); + + J3DAnmTevRegKey* portal_brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 20); + mpPortalBrkAnm = new mDoExt_brkAnm(); + if (mpPortalBrkAnm == NULL + || !mpPortalBrkAnm->init(portal_model_data, portal_brk_anm, 1, 2, 1.0f, 0, -1)) + { + return 0; + } + mpPortalBrkAnm->setFrame(portal_brk_anm->getFrameMax()); + + cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 26); + if (mBgW[1].Set(dzb, 1, &mMtx)) { + return 0; + } + mBgW[0] = mBgW[1]; + } else { + J3DAnmTransform* bck_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 8); + mpBckAnm = new mDoExt_bckAnm(); + bool b = i_fopAcM_isSwitch(this, getSwitchNo()) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]); + f32 rate = b ? 1.0f : 0.0f; + if (mpBckAnm == NULL + || !mpBckAnm->init(bck_anm, 1, 0, rate, 0, -1, false)) + { + return 0; + } + if (i_fopAcM_isSwitch(this, getSwitchNo()) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) + { + mpBckAnm->setFrame(bck_anm->getFrameMax()); + } + + J3DAnmTevRegKey* brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 19); + mpBrkAnm = new mDoExt_brkAnm(); + if (mpBrkAnm == NULL + || !mpBrkAnm->init(model_data, brk_anm, 1, 0, 1.0f, 0, -1)) + { + return 0; + } + mpBrkAnm->setPlaySpeed(0.0f); + + cBgD_t* dzb0 = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 24); + if (mBgW[0].Set(dzb0, 1, &mMtx)) { + return 0; + } + + cBgD_t* dzb1 = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 25); + if (mBgW[1].Set(dzb1, 1, &mMtx)) { + return 0; + } + + mpPortalModel = NULL; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjMirrorChain_c::createHeap() { +asm int daObjMirrorChain_c::createHeap() { nofralloc #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createHeap__18daObjMirrorChain_cFv.s" } #pragma pop +#endif /* 80C975A4-80C975EC 000F84 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__12J3DFrameCtrlFv.s" } @@ -459,57 +330,100 @@ asm J3DFrameCtrl::~J3DFrameCtrl() { /* 80C975EC-80C97618 000FCC 002C+00 1/1 0/0 0/0 .text initBaseMtx__18daObjMirrorChain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorChain_c::initBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/initBaseMtx__18daObjMirrorChain_cFv.s" +void daObjMirrorChain_c::initBaseMtx() { + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + setBaseMtx(); } -#pragma pop /* 80C97618-80C97698 000FF8 0080+00 1/1 0/0 0/0 .text setBaseMtx__18daObjMirrorChain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorChain_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/setBaseMtx__18daObjMirrorChain_cFv.s" +void daObjMirrorChain_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + if (mpPortalModel != NULL) { + mpPortalModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } + MTXCopy(mDoMtx_stack_c::get(), mMtx); + mpActiveBgW->Move(); } -#pragma pop /* 80C97698-80C976B8 001078 0020+00 1/0 0/0 0/0 .text * daObjMirrorChain_Draw__FP18daObjMirrorChain_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorChain_Draw(daObjMirrorChain_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Draw__FP18daObjMirrorChain_c.s" +static int daObjMirrorChain_Draw(daObjMirrorChain_c* i_this) { + return i_this->draw(); } -#pragma pop /* 80C976B8-80C97968 001098 02B0+00 1/1 0/0 0/0 .text draw__18daObjMirrorChain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorChain_c::draw() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__18daObjMirrorChain_cFv.s" +int daObjMirrorChain_c::draw() { + static f32 const SCISSOR_CENTER_X = 1799.2f; + static f32 const SCISSOR_CENTER_Y = 4779.58f; + static f32 const SCISSOR_CENTER_Z = -23024.53f; + static f32 const SCISSOR_SIZE = 984.0f; + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr); + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + g_env_light.setLightTevColorType_MAJI(mpPortalModel->mModelData, &mTevStr); + if (mpBckAnm != NULL) { + mpBckAnm->entry(mpPortalModel->getModelData()); + } + if (mpBrkAnm != NULL) { + mpBrkAnm->entry(mpModel->getModelData()); + } + if (mpPortalBrkAnm != NULL) { + mpPortalBrkAnm->entry(mpPortalModel->getModelData()); + } + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + static Vec l_offsetScissor[4] = { + {SCISSOR_CENTER_X - SCISSOR_SIZE / 2, SCISSOR_CENTER_Y + SCISSOR_SIZE, SCISSOR_CENTER_Z}, + {SCISSOR_CENTER_X + SCISSOR_SIZE / 2, SCISSOR_CENTER_Y + SCISSOR_SIZE, SCISSOR_CENTER_Z}, + {SCISSOR_CENTER_X + SCISSOR_SIZE / 2, SCISSOR_CENTER_Y, SCISSOR_CENTER_Z}, + {SCISSOR_CENTER_X - SCISSOR_SIZE / 2, SCISSOR_CENTER_Y, SCISSOR_CENTER_Z}, + }; + cXyz* quad = mScissorBegin.getQuad(); + PSMTXMultVecArray(mpModel->getBaseTRMtx(), l_offsetScissor, quad, 4); + j3dSys.setDrawBuffer(dComIfGd_getXluListBG(), 0); + mScissorEnd.entryPacket(); + mDoExt_modelUpdateDL(mpPortalModel); + mScissorBegin.entryPacket(); + dComIfGd_setList(); + if (mpBckAnm != NULL) { + mpBckAnm->remove(mpPortalModel->getModelData()); + } + if (mpBrkAnm != NULL) { + mpBrkAnm->remove(mpModel->getModelData()); + } + if (mpPortalBrkAnm != NULL) { + mpPortalBrkAnm->remove(mpPortalModel->getModelData()); + } + } else { + if (mpBckAnm != NULL) { + mpBckAnm->entry(mpModel->getModelData()); + } + if (mpBrkAnm != NULL) { + mpBrkAnm->entry(mpModel->getModelData()); + } + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + if (mpBckAnm != NULL) { + mpBckAnm->remove(mpModel->getModelData()); + } + if (mpBrkAnm != NULL) { + mpBrkAnm->remove(mpModel->getModelData()); + } + } + return 1; } -#pragma pop /* 80C97968-80C97988 001348 0020+00 1/0 0/0 0/0 .text * daObjMirrorChain_Execute__FP18daObjMirrorChain_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorChain_Execute(daObjMirrorChain_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Execute__FP18daObjMirrorChain_c.s" +static int daObjMirrorChain_Execute(daObjMirrorChain_c* i_this) { + return i_this->execute(); } -#pragma pop + +// this should come automatically from the static data in draw() but it does not /* ############################################################################################## */ /* 80C98060-80C98064 000038 0004+00 0/0 0/0 0/0 .rodata @@ -572,94 +486,143 @@ COMPILER_STRIP_GATE(0x80C98070, &lit_4494); #pragma pop /* 80C97988-80C97BA4 001368 021C+00 1/1 0/0 0/0 .text execute__18daObjMirrorChain_cFv */ +#ifdef NONMATCHING +// matches with literals +int daObjMirrorChain_c::execute() { + if (mpBckAnm != NULL) { + mpBckAnm->play(); + } + if (mpBrkAnm != NULL) { + mpBrkAnm->play(); + } + if (mpPortalBrkAnm != NULL) { + mpPortalBrkAnm->play(); + } + + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) + && mpBckAnm != NULL && mpBckAnm->getPlaySpeed() > 0.0f) { + if (mpActiveBgW == &mBgW[0]) { + dComIfG_Bgsp().Release(&mBgW[0]); + dComIfG_Bgsp().Regist(&mBgW[1], this); + mpActiveBgW = &mBgW[1]; + mpActiveBgW->Move(); + } + + if (mpEmitter == NULL) { + mpEmitter = dComIfGp_particle_set(0x8acc, ¤t.pos, &shape_angle, NULL); + cXyz pos; + mDoMtx_stack_c::copy(mpModel->i_getAnmMtx(1)); + mDoMtx_stack_c::multVecZero(&pos); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_MR_CHIN, &pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } else { + cXyz pos; + mDoMtx_stack_c::copy(mpModel->i_getAnmMtx(26)); + mDoMtx_stack_c::multVecZero(&pos); + mpEmitter->setGlobalTranslation(pos.x, pos.y, pos.z); + } + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjMirrorChain_c::execute() { +asm int daObjMirrorChain_c::execute() { nofralloc #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/execute__18daObjMirrorChain_cFv.s" } #pragma pop +#endif /* 80C97BA4-80C97BAC 001584 0008+00 1/0 0/0 0/0 .text * daObjMirrorChain_IsDelete__FP18daObjMirrorChain_c */ -static bool daObjMirrorChain_IsDelete(daObjMirrorChain_c* param_0) { - return true; +static int daObjMirrorChain_IsDelete(daObjMirrorChain_c* i_this) { + return 1; } -/* ############################################################################################## */ -/* 80C98110-80C98124 000090 0014+00 3/3 0/0 0/0 .data __vt__20dScissorEnd_packet_c */ -SECTION_DATA extern void* __vt__20dScissorEnd_packet_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__20dScissorEnd_packet_cFv, - (void*)__dt__20dScissorEnd_packet_cFv, -}; - -/* 80C98124-80C98138 0000A4 0014+00 3/3 0/0 0/0 .data __vt__22dScissorBegin_packet_c */ -SECTION_DATA extern void* __vt__22dScissorBegin_packet_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__22dScissorBegin_packet_cFv, - (void*)__dt__22dScissorBegin_packet_cFv, -}; +daObjMirrorChain_c::~daObjMirrorChain_c() { + if (mBgW[0].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[0]); + } + if (mBgW[1].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[1]); + } + dComIfG_resDelete(&mPhaseReq, l_arcName); +} /* 80C97BAC-80C97CC4 00158C 0118+00 1/0 0/0 0/0 .text * daObjMirrorChain_Delete__FP18daObjMirrorChain_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorChain_Delete(daObjMirrorChain_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Delete__FP18daObjMirrorChain_c.s" +static int daObjMirrorChain_Delete(daObjMirrorChain_c* i_this) { + fopAcM_GetID(i_this); + i_this->~daObjMirrorChain_c(); + return 1; } -#pragma pop -/* 80C97CC4-80C97D24 0016A4 0060+00 2/2 0/0 0/0 .text __dt__4dBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgW::~dBgW() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4dBgWFv.s" +void daObjMirrorChain_c::create_init() { + if (mpBckAnm != NULL && !i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + mpBckAnm->setPlaySpeed(FLOAT_LABEL(lit_3917)); + } + mpEmitter = NULL; + mBgW[0].SetCrrFunc(NULL); + mBgW[0].SetRoomId(fopAcM_GetRoomNo(this)); + mBgW[1].SetCrrFunc(NULL); + mBgW[1].SetRoomId(fopAcM_GetRoomNo(this)); + bool b = i_fopAcM_isSwitch(this, getSwitchNo()) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]); + mpActiveBgW = b ? &mBgW[1] : &mBgW[0]; + dComIfG_Bgsp().Regist(mpActiveBgW, this); + initBaseMtx(); +} + +cPhs__Step daObjMirrorChain_c::create() { + fopAcM_SetupActor(this, daObjMirrorChain_c); + cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + if (step == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x71b0)) { + return cPhs_ERROR_e; + } + create_init(); + } + return step; } -#pragma pop /* 80C97D24-80C97F3C 001704 0218+00 1/0 0/0 0/0 .text daObjMirrorChain_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorChain_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Create__FP10fopAc_ac_c.s" -} -#pragma pop - -/* 80C97F3C-80C97F98 00191C 005C+00 1/0 0/0 0/0 .text __dt__20dScissorEnd_packet_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dScissorEnd_packet_c::~dScissorEnd_packet_c() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__20dScissorEnd_packet_cFv.s" -} -#pragma pop - -/* 80C97F98-80C9801C 001978 0084+00 1/0 0/0 0/0 .text __dt__22dScissorBegin_packet_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dScissorBegin_packet_c::~dScissorBegin_packet_c() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__22dScissorBegin_packet_cFv.s" -} -#pragma pop - -/* 80C9801C-80C98020 0019FC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { - /* empty function */ +static cPhs__Step daObjMirrorChain_Create(fopAc_ac_c* i_this) { + fopAcM_GetID(i_this); + return static_cast(i_this)->create(); } -/* 80C98074-80C98074 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80C980B4-80C980D4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorChain_Method */ +static actor_method_class l_daObjMirrorChain_Method = { + (process_method_func)daObjMirrorChain_Create, + (process_method_func)daObjMirrorChain_Delete, + (process_method_func)daObjMirrorChain_Execute, + (process_method_func)daObjMirrorChain_IsDelete, + (process_method_func)daObjMirrorChain_Draw, +}; + +/* 80C980D4-80C98104 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorChain */ +extern actor_process_profile_definition g_profile_Obj_MirrorChain = { + fpcLy_CURRENT_e, + 3, + fpcPi_CURRENT_e, + PROC_Obj_MirrorChain, + &g_fpcLf_Method.mBase, + sizeof(daObjMirrorChain_c), + 0, + 0, + &g_fopAc_Method.base, + 0x2A9, + &l_daObjMirrorChain_Method, + 0x44000, + fopAc_ACTOR_e, + fopAc_CULLBOX_CUSTOM_e, +}; + +/* 80C98104-80C98110 000084 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ +SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { + (void*)NULL /* RTTI */, + (void*)NULL, + (void*)__dt__12J3DFrameCtrlFv, +}; diff --git a/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.cpp b/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.cpp index 7f945d8d1d5..a728c37ae19 100644 --- a/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.cpp +++ b/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.cpp @@ -1,280 +1,22 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_mirror_screw -// +/** + * d_a_obj_mirror_screw.cpp + * Mirror Chamber Statue + */ #include "rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h" -#include "dol2asm.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct cXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c {}; - -struct daObjMirrorScrew_c { - /* 80C98AD8 */ void initWait(); - /* 80C98AE4 */ void executeWait(); - /* 80C98C00 */ void initDown(); - /* 80C98F04 */ void executeDown(); - /* 80C992F4 */ void CreateHeap(); - /* 80C99364 */ void Create(); - /* 80C99490 */ void Execute(f32 (**)[3][4]); - /* 80C99608 */ void Draw(); - /* 80C996AC */ void Delete(); - - static u8 const M_attr[24]; - static u8 ActionTable[48]; -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dBgW {}; - -struct cBgS_PolyInfo { - /* 80268074 */ cBgS_PolyInfo(); -}; - -struct dBgS_MoveBgActor { - /* 80078624 */ dBgS_MoveBgActor(); - /* 800786B0 */ bool IsDelete(); - /* 800786B8 */ bool ToFore(); - /* 800786C0 */ bool ToBack(); - /* 800787BC */ void MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, - csXyz*, csXyz*), - u32, f32 (*)[3][4]); - /* 800788DC */ void MoveBGDelete(); - /* 80078950 */ void MoveBGExecute(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -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 */]; -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" void initWait__18daObjMirrorScrew_cFv(); -extern "C" void executeWait__18daObjMirrorScrew_cFv(); -extern "C" void initDown__18daObjMirrorScrew_cFv(); -extern "C" void executeDown__18daObjMirrorScrew_cFv(); -extern "C" static void daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c(); -extern "C" static void daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c(); -extern "C" static bool daObjMirrorScrew_IsDelete__FP18daObjMirrorScrew_c(); -extern "C" static void daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c(); -extern "C" static void daObjMirrorScrew_Create__FP10fopAc_ac_c(); -extern "C" void CreateHeap__18daObjMirrorScrew_cFv(); -extern "C" void Create__18daObjMirrorScrew_cFv(); -extern "C" void Execute__18daObjMirrorScrew_cFPPA3_A4_f(); -extern "C" void Draw__18daObjMirrorScrew_cFv(); -extern "C" void Delete__18daObjMirrorScrew_cFv(); -extern "C" void __sinit_d_a_obj_mirror_screw_cpp(); -extern "C" u8 const M_attr__18daObjMirrorScrew_c[24]; -extern "C" extern char const* const d_a_obj_mirror_screw__stringBase0; -extern "C" u8 ActionTable__18daObjMirrorScrew_c[48]; - -// -// External References: -// - -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void StartQuake__12dVibration_cFii4cXyz(); -extern "C" void StopQuake__12dVibration_cFi(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void __ct__13cBgS_PolyInfoFv(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void PSMTXCopy(); -extern "C" void __ptmf_scall(); -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" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* 80C98AD8-80C98AE4 000078 000C+00 1/0 0/0 0/0 .text initWait__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::initWait() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initWait__18daObjMirrorScrew_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80C9975C-80C99774 000000 0018+00 3/3 0/0 0/0 .rodata M_attr__18daObjMirrorScrew_c */ -SECTION_RODATA u8 const daObjMirrorScrew_c::M_attr[24] = { - 0xC5, 0x29, 0x60, 0x00, 0x3F, 0x19, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x2D, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0xC0, 0x58, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C9975C, &daObjMirrorScrew_c::M_attr); - -/* 80C99774-80C99778 000018 0004+00 0/1 0/0 0/0 .rodata @3680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3680 = 4096.0f; -COMPILER_STRIP_GATE(0x80C99774, &lit_3680); -#pragma pop - -/* 80C99778-80C9977C 00001C 0004+00 0/3 0/0 0/0 .rodata @3681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3681[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80C99778, &lit_3681); -#pragma pop - -/* 80C9977C-80C99784 000020 0004+04 0/3 0/0 0/0 .rodata @3682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3682[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80C9977C, &lit_3682); -#pragma pop - -/* 80C99784-80C9978C 000028 0008+00 0/1 0/0 0/0 .rodata @3684 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3684[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C99784, &lit_3684); -#pragma pop - -/* 80C99794-80C99794 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C99794 = "MR-Screw"; -#pragma pop +#include "JSystem/JKernel/JKRHeap.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" +#include "d/a/d_a_player.h" +#include "d/d_procname.h" /* 80C997A0-80C997AC 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80C997AC-80C997C0 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -282,254 +24,274 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 80C997C0-80C997C4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_screw__stringBase0; +static char const* l_arcName = "MR-Screw"; -/* 80C997C4-80C997D0 -00001 000C+00 0/1 0/0 0/0 .data @3648 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3648[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initWait__18daObjMirrorScrew_cFv, +/* 80C9975C-80C99774 000000 0018+00 3/3 0/0 0/0 .rodata M_attr__18daObjMirrorScrew_c */ +daObjMirrorScrew_c::attr const daObjMirrorScrew_c::M_attr = { + -2710.0f, // mDownDist + 0.6f, // mRotSpeedThreshold + 45, // mSpinCount + 0, // mResetSpinCount + 5.0f, // mSpedStep + -3.375f, // mDownSpeed }; -#pragma pop - -/* 80C997D0-80C997DC -00001 000C+00 0/1 0/0 0/0 .data @3649 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3649[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeWait__18daObjMirrorScrew_cFv, -}; -#pragma pop - -/* 80C997DC-80C997E8 -00001 000C+00 0/1 0/0 0/0 .data @3650 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3650[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDown__18daObjMirrorScrew_cFv, -}; -#pragma pop - -/* 80C997E8-80C997F4 -00001 000C+00 0/1 0/0 0/0 .data @3651 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3651[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDown__18daObjMirrorScrew_cFv, -}; -#pragma pop /* 80C997F4-80C99824 000054 0030+00 2/3 0/0 0/0 .data ActionTable__18daObjMirrorScrew_c */ -SECTION_DATA u8 daObjMirrorScrew_c::ActionTable[48] = { - 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, +daObjMirrorScrew_actionFunc daObjMirrorScrew_c::ActionTable[2][2] = { + { + &initWait, + &executeWait, + }, + { + &initDown, + &executeDown, + }, }; +/* 80C98AD8-80C98AE4 000078 000C+00 1/0 0/0 0/0 .text initWait__18daObjMirrorScrew_cFv */ +void daObjMirrorScrew_c::initWait() { + mSpinCount = 0; +} + /* 80C98AE4-80C98C00 000084 011C+00 1/0 0/0 0/0 .text executeWait__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::executeWait() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeWait__18daObjMirrorScrew_cFv.s" +void daObjMirrorScrew_c::executeWait() { + if (mpSwSpinner != NULL) { + if (mpSwSpinner->GetRotSpeedY() / 4096.0f > M_attr.mRotSpeedThreshold) { + mSpinCount++; + dComIfGp_getVibration().StartQuake(4, 0xf, cXyz(0.0f, 1.0f, 0.0f)); + if (mSpinCount > M_attr.mSpinCount) { + setAction(ACT_DOWN); + } + } else { + mSpinCount = 0; + dComIfGp_getVibration().StopQuake(0x1f); + } + } } -#pragma pop - -/* ############################################################################################## */ -/* 80C9978C-80C99790 000030 0004+00 0/2 0/0 0/0 .rodata @3746 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3746 = -1.0f; -COMPILER_STRIP_GATE(0x80C9978C, &lit_3746); -#pragma pop /* 80C98C00-80C98F04 0001A0 0304+00 1/0 0/0 0/0 .text initDown__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::initDown() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initDown__18daObjMirrorScrew_cFv.s" +void daObjMirrorScrew_c::initDown() { + speedF = 0.0f; + mSpinCount = M_attr.mResetSpinCount; + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[361]); + dComIfGp_getVibration().StartShock(8, 0xf, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartQuake(6, 0xf, cXyz(0.0f, 1.0f, 0.0f)); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_MR_SCRW_ON, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + fopAcM_orderMapToolEvent(this, getEventID(), 0xff, 0xffff, 1, 0); + cXyz pos(0.0f, 0.0f, 0.0f); + csXyz angle(0, 0, 0); + dComIfGp_particle_set(0x8aca, &pos, &angle, NULL); + dComIfGp_particle_set(0x8acb, &pos, &angle, NULL); + dComIfGp_particle_set(0x8ace, &pos, &angle, NULL); + dComIfGp_particle_set(0x8acf, &pos, &angle, NULL); + dComIfGp_particle_set(0x8ad0, &pos, &angle, NULL); + dComIfGp_particle_set(0x8ad1, &pos, &angle, NULL); } -#pragma pop - -/* ############################################################################################## */ -/* 80C99790-80C99794 000034 0004+00 1/2 0/0 0/0 .rodata @3845 */ -SECTION_RODATA static u32 const lit_3845 = 0x4524C1F0; -COMPILER_STRIP_GATE(0x80C99790, &lit_3845); /* 80C98F04-80C99154 0004A4 0250+00 1/0 0/0 0/0 .text executeDown__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::executeDown() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeDown__18daObjMirrorScrew_cFv.s" +void daObjMirrorScrew_c::executeDown() { + dComIfG_inf_c* gameinfo = &g_dComIfG_gameInfo; + if (i_dComIfGp_event_runCheck()) { + daPy_py_c* player = daPy_getPlayerActorClass(); + player->i_changeOriginalDemo(); + player->i_changeDemoMode(0xe, 1, 0, 0); + } + + if (mSpinCount >= 0) { + mSpinCount--; + if (mSpinCount <= 0) { + if (mpChain != NULL) { + mpChain->setAnmSpeed(1.0f); + } + if (mpTable != NULL) { + mpTable->setAnmSpeed(1.0f); + } + if (mp6Pole != NULL) { + mp6Pole->setAnmSpeed(1.0f); + } + if (mpSand != NULL) { + mpSand->setAnmSpeed(1.0f); + } + } + } + + cLib_chaseF(&speedF, M_attr.mDownSpeed, M_attr.mSpeedStep); + current.pos.y += speedF; + mpSwSpinner->current.pos = cXyz(current.pos.x, current.pos.y + 2636.121f, current.pos.z); + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MR_SCRW_MV, ¤t.pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + + if (current.pos.y <= orig.pos.y + M_attr.mDownDist) { + current.pos.y = orig.pos.y + M_attr.mDownDist; + // fake match: these should be dComIfGp_getVibration() + gameinfo->play.getVibration().StartShock(8, 0xf, cXyz(0.0f, 1.0f, 0.0f)); + gameinfo->play.getVibration().StopQuake(0x1f); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_MR_SCRW_OFF, ¤t.pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + u8 sw = getSwitchNo(); + if (sw != 0xff) { + i_fopAcM_onSwitch(this, sw); + } + fopAcM_delete(this); + } } -#pragma pop /* 80C99154-80C99180 0006F4 002C+00 1/0 0/0 0/0 .text * daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorScrew_Draw(daObjMirrorScrew_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c.s" +static int daObjMirrorScrew_Draw(daObjMirrorScrew_c* i_this) { + return i_this->Draw(); } -#pragma pop /* 80C99180-80C991A0 000720 0020+00 1/0 0/0 0/0 .text * daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorScrew_Execute(daObjMirrorScrew_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c.s" +static int daObjMirrorScrew_Execute(daObjMirrorScrew_c* i_this) { + return i_this->MoveBGExecute(); } -#pragma pop /* 80C991A0-80C991A8 000740 0008+00 1/0 0/0 0/0 .text * daObjMirrorScrew_IsDelete__FP18daObjMirrorScrew_c */ -static bool daObjMirrorScrew_IsDelete(daObjMirrorScrew_c* param_0) { - return true; +static int daObjMirrorScrew_IsDelete(daObjMirrorScrew_c* i_this) { + return 1; } /* 80C991A8-80C991CC 000748 0024+00 1/0 0/0 0/0 .text * daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorScrew_Delete(daObjMirrorScrew_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c.s" +static int daObjMirrorScrew_Delete(daObjMirrorScrew_c* i_this) { + i_this->MoveBGDelete(); + return 1; } -#pragma pop -/* ############################################################################################## */ -/* 80C99824-80C99844 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorScrew_Method */ -SECTION_DATA static void* l_daObjMirrorScrew_Method[8] = { - (void*)daObjMirrorScrew_Create__FP10fopAc_ac_c, - (void*)daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c, - (void*)daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c, - (void*)daObjMirrorScrew_IsDelete__FP18daObjMirrorScrew_c, - (void*)daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80C99844-80C99874 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorScrew */ -SECTION_DATA extern void* g_profile_Obj_MirrorScrew[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00AE0000, (void*)&g_fpcLf_Method, - (void*)0x000005E8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02A60000, (void*)&l_daObjMirrorScrew_Method, - (void*)0x00040000, (void*)0x000E0000, -}; - -/* 80C99874-80C9989C 0000D4 0028+00 1/1 0/0 0/0 .data __vt__18daObjMirrorScrew_c */ -SECTION_DATA extern void* __vt__18daObjMirrorScrew_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__18daObjMirrorScrew_cFv, - (void*)Create__18daObjMirrorScrew_cFv, - (void*)Execute__18daObjMirrorScrew_cFPPA3_A4_f, - (void*)Draw__18daObjMirrorScrew_cFv, - (void*)Delete__18daObjMirrorScrew_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; +cPhs__Step daObjMirrorScrew_c::create() { + fopAcM_SetupActor(this, daObjMirrorScrew_c); + if (i_fopAcM_isSwitch(this, getSwitchNo()) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) + { + return cPhs_ERROR_e; + } + cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + if (step == cPhs_COMPLEATE_e) { + step = (cPhs__Step)MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0xc760, NULL); + if (step == cPhs_ERROR_e) { + return step; + } + } + return step; +} /* 80C991CC-80C992F4 00076C 0128+00 1/0 0/0 0/0 .text daObjMirrorScrew_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorScrew_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Create__FP10fopAc_ac_c.s" +static cPhs__Step daObjMirrorScrew_Create(fopAc_ac_c* i_this) { + fopAcM_GetID(i_this); + return static_cast(i_this)->create(); } -#pragma pop /* 80C992F4-80C99364 000894 0070+00 1/0 0/0 0/0 .text CreateHeap__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/CreateHeap__18daObjMirrorScrew_cFv.s" +int daObjMirrorScrew_c::CreateHeap() { + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4); + mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + return mpModel == NULL ? 0 : 1; +} + +void daObjMirrorScrew_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + MTXCopy(mDoMtx_stack_c::get(), mBgMtx); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); +} + +void daObjMirrorScrew_c::initBaseMtx() { + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + setBaseMtx(); } -#pragma pop /* 80C99364-80C99490 000904 012C+00 1/0 0/0 0/0 .text Create__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Create__18daObjMirrorScrew_cFv.s" +int daObjMirrorScrew_c::Create() { + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + initBaseMtx(); + cXyz pos(current.pos.x, current.pos.y + 2636.121f, current.pos.z); + fopAcM_createChild(PROC_Obj_SwSpinner, fopAcM_GetID(this), getSwitchNo() << 8, &pos, + fopAcM_GetRoomNo(this), NULL, NULL, -1, NULL); + mpSwSpinner = NULL; + mpSpPath = NULL; + mpChain = NULL; + mpTable = NULL; + mp6Pole = NULL; + mpSand = NULL; + setAction(ACT_WAIT); + return cPhs_COMPLEATE_e; } -#pragma pop /* 80C99490-80C99608 000A30 0178+00 1/0 0/0 0/0 .text Execute__18daObjMirrorScrew_cFPPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::Execute(f32 (**param_0)[3][4]) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Execute__18daObjMirrorScrew_cFPPA3_A4_f.s" +int daObjMirrorScrew_c::Execute(Mtx** i_mtxP) { + if (mpSwSpinner == NULL) { + mpSwSpinner = static_cast(i_fopAcM_SearchByName(PROC_Obj_SwSpinner)); + } + if (mpSpPath == NULL) { + mpSpPath = static_cast(i_fopAcM_SearchByName(PROC_Tag_Sppath)); + } + if (mpChain == NULL) { + mpChain = static_cast(i_fopAcM_SearchByName(PROC_Obj_MirrorChain)); + } + if (mpTable == NULL) { + mpTable = static_cast(i_fopAcM_SearchByName(PROC_Obj_MirrorTable)); + } + if (mp6Pole == NULL) { + mp6Pole = static_cast(i_fopAcM_SearchByName(PROC_Obj_Mirror6Pole)); + } + if (mpSand == NULL) { + mpSand = static_cast(i_fopAcM_SearchByName(PROC_Obj_MirrorSand)); + } + callExecute(); + setBaseMtx(); + *i_mtxP = &mBgMtx; + return 1; } -#pragma pop /* 80C99608-80C996AC 000BA8 00A4+00 1/0 0/0 0/0 .text Draw__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::Draw() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Draw__18daObjMirrorScrew_cFv.s" +int daObjMirrorScrew_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + return 1; } -#pragma pop /* 80C996AC-80C996E0 000C4C 0034+00 1/0 0/0 0/0 .text Delete__18daObjMirrorScrew_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorScrew_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Delete__18daObjMirrorScrew_cFv.s" +int daObjMirrorScrew_c::Delete() { + dComIfG_resDelete(&mPhaseReq, l_arcName); + return 1; } -#pragma pop -/* 80C996E0-80C99750 000C80 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_mirror_screw_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_obj_mirror_screw_cpp() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/__sinit_d_a_obj_mirror_screw_cpp.s" -} -#pragma pop +/* 80C99824-80C99844 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorScrew_Method */ +static actor_method_class l_daObjMirrorScrew_Method = { + (process_method_func)daObjMirrorScrew_Create, + (process_method_func)daObjMirrorScrew_Delete, + (process_method_func)daObjMirrorScrew_Execute, + (process_method_func)daObjMirrorScrew_IsDelete, + (process_method_func)daObjMirrorScrew_Draw, +}; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80C996E0, __sinit_d_a_obj_mirror_screw_cpp); -#pragma pop - -/* 80C99794-80C99794 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80C99844-80C99874 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorScrew */ +extern actor_process_profile_definition g_profile_Obj_MirrorScrew = { + fpcLy_CURRENT_e, + 3, + fpcPi_CURRENT_e, + PROC_Obj_MirrorScrew, + &g_fpcLf_Method.mBase, + sizeof(daObjMirrorScrew_c), + 0, + 0, + &g_fopAc_Method.base, + 0x2A6, + &l_daObjMirrorScrew_Method, + 0x40000, + fopAc_ACTOR_e, + fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.cpp b/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.cpp index b8c57a595a5..060a75f1723 100644 --- a/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.cpp +++ b/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.cpp @@ -1,165 +1,16 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_mirror_table -// +/** + * d_a_obj_mirror_table.cpp + * Mirror Chamber Pedestal & Mirror + */ #include "rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h" +#include "rel/d/a/d_a_mirror/d_a_mirror.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "d/com/d_com_inf_game.h" +#include "d/a/d_a_player.h" +#include "d/d_procname.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct cXyz {}; - -struct mDoMtx_stack_c { - /* 8000CCC8 */ void push(); - /* 8000CD14 */ void pop(); - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DAnmTextureSRTKey {}; - -struct J3DAnmTevRegKey {}; - -struct J3DMaterialTable { - /* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*); - /* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*); -}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DModelData {}; - -struct J3DAnmTransform {}; - -struct mDoExt_bckAnm { - /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool); - /* 8000D9CC */ void entry(J3DModelData*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daObjMirrorTable_c { - /* 80C99938 */ void createHeap(); - /* 80C99F7C */ void isSwitch(); - /* 80C9A298 */ void draw(); - /* 80C9A4D0 */ void execute(); - /* 80C9AB30 */ void create(); - /* 80C9ABFC */ void create_init(); - /* 80C9AFD0 */ void initBaseMtx(); -}; - -struct dSv_memBit_c { - /* 80034810 */ void onSwitch(int); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dBgW_Base {}; - -struct dBgW { - /* 8007B970 */ dBgW(); - /* 8007B9C0 */ void Move(); - /* 80C9AAB0 */ ~dBgW(); -}; - -struct dBgS { - /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); -}; - -struct cBgW_BgId { - /* 802681D4 */ void ChkUsed() const; -}; - -struct cBgD_t {}; - -struct cBgW { - /* 8007933C */ ~cBgW(); - /* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]); -}; - -struct cBgS { - /* 80074250 */ void Release(dBgW_Base*); -}; - -struct JAISoundID {}; - -struct Vec {}; - -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 */]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80C99F34 */ ~J3DFrameCtrl(); -}; - // // Forward References: // @@ -230,9 +81,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXMultVec(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_25(); @@ -241,43 +89,23 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); -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__4dBgW[65]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // // Declarations: // -/* 80C99918-80C99938 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void createSolidHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createSolidHeap__FP10fopAc_ac_c.s" -} -#pragma pop +/* 80C9B2A4-80C9B2A8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ +static char const* l_arcName = "MR-Table"; -/* ############################################################################################## */ /* 80C9B244-80C9B250 000000 000C+00 3/3 0/0 0/0 .rodata l_minPos */ -SECTION_RODATA static u8 const l_minPos[12] = { - 0x44, 0xD1, 0x05, 0xDB, 0x45, 0x90, 0x2D, 0x0A, 0xC6, 0xA4, 0x2B, 0x96, -}; -COMPILER_STRIP_GATE(0x80C9B244, &l_minPos); +static Vec const l_minPos = {1672.183f, 4613.6299f, -21013.793f}; /* 80C9B250-80C9B25C 00000C 000C+00 1/1 0/0 0/0 .rodata l_maxPos */ -SECTION_RODATA static u8 const l_maxPos[12] = { - 0x44, 0xF0, 0xC6, 0xF2, 0x45, 0x90, 0x2D, 0x0A, 0xC6, 0xA3, 0x05, 0xF0, -}; -COMPILER_STRIP_GATE(0x80C9B250, &l_maxPos); +static Vec const l_maxPos = {1926.217f, 4613.6299f, -20866.969f}; /* 80C9B25C-80C9B260 000018 0004+00 2/4 0/0 0/0 .rodata @3850 */ SECTION_RODATA static f32 const lit_3850 = 1.0f; @@ -298,128 +126,306 @@ SECTION_RODATA static u8 const lit_3853[8] = { }; COMPILER_STRIP_GATE(0x80C9B264, &lit_3853); -/* 80C9B290-80C9B290 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C9B290 = "MR-Table"; -#pragma pop +/* 80C99918-80C99938 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ +static int createSolidHeap(fopAc_ac_c* i_this) { + return static_cast(i_this)->createHeap(); +} -/* 80C9B2A4-80C9B2A8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_table__stringBase0; - -/* 80C9B2A8-80C9B2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorTable_Method */ -SECTION_DATA static void* l_daObjMirrorTable_Method[8] = { - (void*)daObjMirrorTable_Create__FP10fopAc_ac_c, - (void*)daObjMirrorTable_Delete__FP18daObjMirrorTable_c, - (void*)daObjMirrorTable_Execute__FP18daObjMirrorTable_c, - (void*)daObjMirrorTable_IsDelete__FP18daObjMirrorTable_c, - (void*)daObjMirrorTable_Draw__FP18daObjMirrorTable_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80C9B2C8-80C9B2F8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorTable */ -SECTION_DATA extern void* g_profile_Obj_MirrorTable[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00B00000, (void*)&g_fpcLf_Method, - (void*)0x00000878, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02A80000, (void*)&l_daObjMirrorTable_Method, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 80C9B2F8-80C9B304 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; +extern void* __vt__12J3DFrameCtrl[3]; /* 80C99938-80C99F34 000098 05FC+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorTable_cFv */ +#ifdef NONMATCHING +int daObjMirrorTable_c::createHeap() { + J3DModelData* table_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 21); + mpTableModel = mDoExt_J3DModel__create(table_model_data, 0x80000, 0x11000084); + if (mpTableModel == NULL) { + return 0; + } + + int mirror_res_id = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) ? 13 : 14; + J3DModelData* mirror_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, mirror_res_id); + mpMirrorModel = mDoExt_J3DModel__create(mirror_model_data, 0, 0x11000084); + if (mpMirrorModel == NULL) { + return 0; + } + + J3DAnmTransform* table_up_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 10); + mpTableUpBckAnm = new mDoExt_bckAnm(); + f32 rate = isSwitch() ? 1.0f : 0.0f; + if (mpTableUpBckAnm == NULL || !mpTableUpBckAnm->init(table_up_anm, 1, 0, rate, 0, -1, false)) { + return 0; + } + if (isSwitch()) { + mpTableUpBckAnm->setFrame(table_up_anm->getFrameMax()); + } + + cBgD_t* table_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 34); + if (mBgW[0].Set(table_dzb, 1, &mMtx[0])) { + return 0; + } + + int mirror_dzb_id = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) ? 31 : 32; + cBgD_t* mirror_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, mirror_dzb_id); + if (mBgW[1].Set(mirror_dzb, 1, &mMtx[1])) { + return 0; + } + + mpStairModel = NULL; + mpPanelModel = NULL; + mpLightModel = NULL; + mpMSquareModel = NULL; + mpStairBrkAnm = NULL; + mpMSquareBrkAnm = NULL; + mpMSquareBckAnm = NULL; + mpLightBtkAnm = NULL; + + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + J3DModelData* stair_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 20); + mpStairModel = mDoExt_J3DModel__create(stair_model_data, 0x80000, 0x11000084); + + J3DAnmTevRegKey* stair_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 25); + mpStairBrkAnm = new mDoExt_brkAnm(); + if (mpStairBrkAnm == NULL || + !mpStairBrkAnm->init(stair_model_data, stair_anm, 1, 0, 1.0f, 0, -1)) + { + return 0; + } + + cBgD_t* stair_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 33); + if (mBgW[2].Set(stair_dzb, 1, &mMtx[2])) { + return 0; + } + + J3DModelData* panel_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 19); + mpPanelModel = mDoExt_J3DModel__create(panel_model_data, 0x80000, 0x11000084); + + J3DModelData* light_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 17); + mpLightModel = mDoExt_J3DModel__create(light_model_data, 0x80000, 0x11000284); + + J3DAnmTextureSRTKey* light_anm = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 28); + mpLightBtkAnm = new mDoExt_btkAnm(); + if (mpLightBtkAnm == NULL || + !mpLightBtkAnm->init(light_model_data, light_anm, 1, 0, 1.0f, 0, -1)) + { + return 0; + } + + J3DModelData* msquare_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 18); + mpMSquareModel = mDoExt_J3DModel__create(msquare_model_data, 0x80000, 0x11000084); + + J3DAnmTevRegKey* msquare_tev_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 24); + mpMSquareBrkAnm = new mDoExt_brkAnm(); + if (mpMSquareBrkAnm == NULL || + !mpMSquareBrkAnm->init(msquare_model_data, msquare_tev_anm, 1, 0, 1.0f, 0, -1)) + { + return 0; + } + + J3DAnmTransform* msquare_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9); + mpMSquareBckAnm = new mDoExt_bckAnm(); + if (mpMSquareBckAnm == NULL || + !mpMSquareBckAnm->init(msquare_anm, 1, 0, 1.0f, 0, -1, false)) + { + return 0; + } + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjMirrorTable_c::createHeap() { +asm int daObjMirrorTable_c::createHeap() { nofralloc #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createHeap__18daObjMirrorTable_cFv.s" } #pragma pop +#endif /* 80C99F34-80C99F7C 000694 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__12J3DFrameCtrlFv.s" } #pragma pop /* 80C99F7C-80C9A040 0006DC 00C4+00 1/1 0/0 0/0 .text isSwitch__18daObjMirrorTable_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorTable_c::isSwitch() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/isSwitch__18daObjMirrorTable_cFv.s" +bool daObjMirrorTable_c::isSwitch() { + return i_fopAcM_isSwitch(this, getSwitchNo()) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) + || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) + ? 1 : 0; +} + +void daObjMirrorTable_c::checkOnPanel() { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz rel_pos; + mDoMtx_stack_c::copy(mpPanelModel->getBaseTRMtx()); + mDoMtx_stack_c::inverse(); + if (daPy_py_c::i_checkNowWolf()) { + for (int i = 0; i < 4; i++) { + cXyz* pos; + switch (i) { + case 0: + pos = player->getLeftHandPosP(); + break; + case 1: + pos = player->getRightHandPosP(); + break; + case 2: + pos = player->i_getLeftFootPosP(); + break; + case 3: + pos = player->i_getRightFootPosP(); + break; + } + mDoMtx_stack_c::push(); + mDoMtx_stack_c::multVec(pos, &rel_pos); + mDoMtx_stack_c::pop(); + if (rel_pos.x >= l_minPos.x && rel_pos.x <= l_maxPos.x + && rel_pos.z >= l_minPos.z && rel_pos.z <= l_maxPos.z) + { + field_0x875 = 15; + break; + } + } + } else { + for (int i = 0; i < 2; i++) { + cXyz* pos; + if (i == 0) { + pos = player->i_getLeftFootPosP(); + } else { + pos = player->i_getRightFootPosP(); + } + mDoMtx_stack_c::push(); + mDoMtx_stack_c::multVec(pos, &rel_pos); + mDoMtx_stack_c::pop(); + if (rel_pos.x >= l_minPos.x && rel_pos.x <= l_maxPos.x + && rel_pos.z >= l_minPos.z && rel_pos.z <= l_maxPos.z) + { + field_0x875 = 15; + break; + } + } + } } -#pragma pop /* 80C9A040-80C9A260 0007A0 0220+00 1/1 0/0 0/0 .text * rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rideCallBack1(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s" +static void rideCallBack1(dBgW* i_bgW, fopAc_ac_c* i_this, fopAc_ac_c* i_actor) { + if (fopAcM_GetName(i_actor) == PROC_ALINK) { + static_cast(i_this)->checkOnPanel(); + } } -#pragma pop /* 80C9A260-80C9A278 0009C0 0018+00 1/1 0/0 0/0 .text * rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rideCallBack2(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s" +static void rideCallBack2(dBgW* i_bgW, fopAc_ac_c* i_this, fopAc_ac_c* i_actor) { + if (fopAcM_GetName(i_actor) == PROC_ALINK) { + static_cast(i_this)->field_0x875 = 15; + } } -#pragma pop /* 80C9A278-80C9A298 0009D8 0020+00 1/0 0/0 0/0 .text * daObjMirrorTable_Draw__FP18daObjMirrorTable_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorTable_Draw(daObjMirrorTable_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Draw__FP18daObjMirrorTable_c.s" +static int daObjMirrorTable_Draw(daObjMirrorTable_c* i_this) { + return i_this->draw(); } -#pragma pop /* 80C9A298-80C9A4B0 0009F8 0218+00 1/1 0/0 0/0 .text draw__18daObjMirrorTable_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorTable_c::draw() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/draw__18daObjMirrorTable_cFv.s" +int daObjMirrorTable_c::draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpTableModel->mModelData, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpMirrorModel->mModelData, &mTevStr); + if (mpStairModel != NULL) { + g_env_light.setLightTevColorType_MAJI(mpStairModel->mModelData, &mTevStr); + } + mpTableUpBckAnm->entry(mpTableModel->getModelData()); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpTableModel); + mDoExt_modelUpdateDL(mpMirrorModel); + if (mpStairModel != NULL) { + mpStairBrkAnm->entry(mpStairModel->getModelData()); + mDoExt_modelUpdateDL(mpStairModel); + mpStairBrkAnm->remove(mpStairModel->getModelData()); + } + if (mpPanelModel != NULL) { + mDoExt_modelUpdateDL(mpPanelModel); + } + if (field_0x874) { + if (mpLightModel != NULL) { + mpLightBtkAnm->entry(mpLightModel->getModelData()); + mDoExt_modelUpdateDL(mpLightModel); + mpLightBtkAnm->remove(mpLightModel->getModelData()); + } + if (mpMSquareModel != NULL) { + mpMSquareBckAnm->entry(mpMSquareModel->getModelData()); + mpMSquareBrkAnm->entry(mpMSquareModel->getModelData()); + mDoExt_modelUpdateDL(mpMSquareModel); + mpMSquareBckAnm->remove(mpMSquareModel->getModelData()); + mpMSquareBrkAnm->remove(mpMSquareModel->getModelData()); + } + } + dComIfGd_setList(); + mpTableUpBckAnm->remove(mpTableModel->getModelData()); + return 1; +} + +void daObjMirrorTable_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mpTableModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + if (mpStairModel != NULL) { + mpStairModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } + if (mpPanelModel != NULL) { + mpPanelModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } + if (mpLightModel != NULL) { + mpLightModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } + if (mpMSquareModel != NULL) { + mpMSquareModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } + if (mBgW[0].ChkUsed()) { + MTXCopy(mDoMtx_stack_c::get(), mMtx[0]); + mBgW[0].Move(); + } + if (mBgW[2].ChkUsed()) { + MTXCopy(mDoMtx_stack_c::get(), mMtx[2]); + mBgW[2].Move(); + } + mDoMtx_stack_c::copy(mpTableModel->i_getAnmMtx(1)); + mpMirrorModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + if (mBgW[0].ChkUsed()) { + MTXCopy(mDoMtx_stack_c::get(), mMtx[1]); + mBgW[1].Move(); + } + if (mpEmitter1 != NULL) { + cXyz pos; + mDoMtx_stack_c::multVecZero(&pos); + mpEmitter1->setGlobalTranslation(pos.x, pos.y, pos.z); + if (field_0x874) { + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_LIGHT, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } else { + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_LIGHT_S, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + } } -#pragma pop /* 80C9A4B0-80C9A4D0 000C10 0020+00 1/0 0/0 0/0 .text * daObjMirrorTable_Execute__FP18daObjMirrorTable_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorTable_Execute(daObjMirrorTable_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Execute__FP18daObjMirrorTable_c.s" +static int daObjMirrorTable_Execute(daObjMirrorTable_c* i_this) { + return i_this->execute(); } -#pragma pop /* ############################################################################################## */ /* 80C9B26C-80C9B270 000028 0004+00 1/2 0/0 0/0 .rodata @4350 */ @@ -455,61 +461,112 @@ COMPILER_STRIP_GATE(0x80C9B27C, &lit_4354); #pragma pop /* 80C9A4D0-80C9A9D4 000C30 0504+00 1/1 0/0 0/0 .text execute__18daObjMirrorTable_cFv */ +#ifdef NONMATCHING +// isStop regalloc +int daObjMirrorTable_c::execute() { + mpTableUpBckAnm->play(); + if (!mpTableUpBckAnm->isStop()) { + cXyz pos; + mDoMtx_stack_c::copy(mpTableModel->i_getAnmMtx(0)); + mDoMtx_stack_c::multVecZero(&pos); + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MR_TBLE, &pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + if (!mBgW[0].ChkUsed() && mpTableUpBckAnm->getPlaySpeed() > 0.0f) { + dComIfG_Bgsp().Regist(&mBgW[0], this); + dComIfG_Bgsp().Regist(&mBgW[1], this); + } + } else { + dComIfGs_onSaveSwitch(0x79); + + cXyz pos(1800.0f, 4700.0f, -21320.0f); + if (field_0x875 > 0) { + mpStairBrkAnm->setPlaySpeed(1.0f); + if (!mBgW[2].ChkUsed()) { + dComIfG_Bgsp().Regist(&mBgW[2], this); + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_STAIR_ON, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + } else { + mpStairBrkAnm->setPlaySpeed(-1.0f); + if (mBgW[2].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[2]); + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_STAIR_OFF, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + } + + u8 alpha = (mpStairBrkAnm->getFrame() * 255.0f) / mpStairBrkAnm->getEndFrame(); + mpEmitter2->setGlobalAlpha(alpha); + + mpStairBrkAnm->play(); + if (field_0x874) { + mpMSquareBrkAnm->play(); + mpMSquareBckAnm->play(); + mpLightBtkAnm->play(); + } + + cLib_calcTimer(&field_0x875); + } + + setBaseMtx(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjMirrorTable_c::execute() { +asm int daObjMirrorTable_c::execute() { nofralloc #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/execute__18daObjMirrorTable_cFv.s" } #pragma pop +#endif /* 80C9A9D4-80C9A9DC 001134 0008+00 1/0 0/0 0/0 .text * daObjMirrorTable_IsDelete__FP18daObjMirrorTable_c */ -static bool daObjMirrorTable_IsDelete(daObjMirrorTable_c* param_0) { - return true; +static int daObjMirrorTable_IsDelete(daObjMirrorTable_c* i_this) { + return 1; +} + +daObjMirrorTable_c::~daObjMirrorTable_c() { + if (mBgW[0].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[0]); + } + if (mBgW[1].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[1]); + } + if (mBgW[2].ChkUsed()) { + dComIfG_Bgsp().Release(&mBgW[2]); + } + dComIfG_resDelete(&mPhaseReq, l_arcName); } /* 80C9A9DC-80C9AAB0 00113C 00D4+00 1/0 0/0 0/0 .text * daObjMirrorTable_Delete__FP18daObjMirrorTable_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorTable_Delete(daObjMirrorTable_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Delete__FP18daObjMirrorTable_c.s" +static int daObjMirrorTable_Delete(daObjMirrorTable_c* i_this) { + i_this->~daObjMirrorTable_c(); + return 1; } -#pragma pop - -/* 80C9AAB0-80C9AB10 001210 0060+00 2/2 0/0 0/0 .text __dt__4dBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgW::~dBgW() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__4dBgWFv.s" -} -#pragma pop /* 80C9AB10-80C9AB30 001270 0020+00 1/0 0/0 0/0 .text daObjMirrorTable_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjMirrorTable_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Create__FP10fopAc_ac_c.s" +static cPhs__Step daObjMirrorTable_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80C9AB30-80C9ABFC 001290 00CC+00 1/1 0/0 0/0 .text create__18daObjMirrorTable_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjMirrorTable_c::create() { - nofralloc -#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create__18daObjMirrorTable_cFv.s" +cPhs__Step daObjMirrorTable_c::create() { + fopAcM_SetupActor(this, daObjMirrorTable_c); + cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + if (step == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0xdb50)) { + return cPhs_ERROR_e; + } + create_init(); + } + return step; } -#pragma pop /* ############################################################################################## */ /* 80C9B280-80C9B284 00003C 0004+00 0/1 0/0 0/0 .rodata @4509 */ @@ -548,6 +605,60 @@ SECTION_DEAD static char const* const stringBase_80C9B299 = "F_SP125"; /* 80C9ABFC-80C9AFD0 00135C 03D4+00 1/1 0/0 0/0 .text create_init__18daObjMirrorTable_cFv */ +#ifdef NONMATCHING +// matches with literals once isSwitch is properly inlined +void daObjMirrorTable_c::create_init() { + bool mirror_complete_flag = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]); + mpTableUpBckAnm->setPlaySpeed(0.0f); + + mBgW[0].SetCrrFunc(NULL); + mBgW[0].SetRoomId(fopAcM_GetRoomNo(this)); + if (isSwitch()) { + dComIfG_Bgsp().Regist(&mBgW[0], this); + } + mBgW[1].SetCrrFunc(NULL); + mBgW[1].SetRoomId(fopAcM_GetRoomNo(this)); + if (isSwitch()) { + dComIfG_Bgsp().Regist(&mBgW[1], this); + } + + if (mirror_complete_flag) { + mBgW[2].SetCrrFunc(NULL); + mBgW[2].SetRoomId(fopAcM_GetRoomNo(this)); + mBgW[2].SetRideCallback(rideCallBack2); + mBgW[0].SetRideCallback(rideCallBack1); + if (!strcmp(dComIfGp_getStartStageName(), "F_SP125") + && dComIfGp_getStartStagePoint() == 4) { + field_0x875 = 100; + mpStairBrkAnm->setFrame(mpStairBrkAnm->getEndFrame()); + dComIfG_Bgsp().Regist(&mBgW[2], this); + } else { + field_0x875 = 0; + } + } + + initBaseMtx(); + + if (mirror_complete_flag) { + cXyz pos(0.0f, 0.0f, 0.0f); + csXyz angle(0, 0, 0); + mpEmitter1 = dComIfGp_particle_set(0x8aa1, &pos, &angle, NULL); + mpEmitter2 = dComIfGp_particle_set(0x8aa2, ¤t.pos, &shape_angle, NULL); + } + + field_0x874 = false; + + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) + && i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) + { + cXyz pos(1760.0f, 4714.3f, -20624.0f); + csXyz angle(0, 0x8000, 0); + cXyz scale(1.35f, 1.35f, 1.0f); + fopAcM_create(PROC_MIRROR, daMirror_c::getMirrorRoomPrm(), + &pos, current.roomNo, &angle, &scale, 0xff); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -556,9 +667,18 @@ asm void daObjMirrorTable_c::create_init() { #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create_init__18daObjMirrorTable_cFv.s" } #pragma pop +#endif /* 80C9AFD0-80C9B220 001730 0250+00 1/1 0/0 0/0 .text initBaseMtx__18daObjMirrorTable_cFv */ +#ifdef NONMATCHING +// matches with literals +void daObjMirrorTable_c::initBaseMtx() { + fopAcM_SetMtx(this, mpTableModel->getBaseTRMtx()); + mpTableUpBckAnm->play(); + setBaseMtx(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -567,6 +687,7 @@ asm void daObjMirrorTable_c::initBaseMtx() { #include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/initBaseMtx__18daObjMirrorTable_cFv.s" } #pragma pop +#endif /* 80C9B220-80C9B23C 001980 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPSc */ #pragma push @@ -578,4 +699,36 @@ extern "C" asm void func_80C9B220(void* _this, s8* param_0) { } #pragma pop -/* 80C9B290-80C9B290 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80C9B2A8-80C9B2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorTable_Method */ +static actor_method_class l_daObjMirrorTable_Method = { + (process_method_func)daObjMirrorTable_Create, + (process_method_func)daObjMirrorTable_Delete, + (process_method_func)daObjMirrorTable_Execute, + (process_method_func)daObjMirrorTable_IsDelete, + (process_method_func)daObjMirrorTable_Draw, +}; + +/* 80C9B2C8-80C9B2F8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorTable */ +extern actor_process_profile_definition g_profile_Obj_MirrorTable = { + fpcLy_CURRENT_e, + 3, + fpcPi_CURRENT_e, + PROC_Obj_MirrorTable, + &g_fpcLf_Method.mBase, + sizeof(daObjMirrorTable_c), + 0, + 0, + &g_fopAc_Method.base, + 0x2A8, + &l_daObjMirrorTable_Method, + 0x44000, + fopAc_ACTOR_e, + fopAc_CULLBOX_CUSTOM_e, +}; + +/* 80C9B2F8-80C9B304 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ +SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { + (void*)NULL /* RTTI */, + (void*)NULL, + (void*)__dt__12J3DFrameCtrlFv, +}; diff --git a/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp b/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp index 052da201da9..5772abba950 100644 --- a/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp +++ b/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp @@ -11,20 +11,6 @@ // Types: // -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct dPath {}; - -struct daTagSppath_c { - /* 80D61C18 */ void create(); - /* 80D61EC4 */ ~daTagSppath_c(); - /* 80D62024 */ void getNearPathPos(cXyz*, dPath*); - /* 80D629C0 */ void execute(); -}; - struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; @@ -81,8 +67,6 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_24(); 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__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25];