diff --git a/Progress.md b/Progress.md index c482bbef67..dbecbc98b1 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 42.776630% | 1719908 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 42.776630% | 1719908 | 4020672 -RELs | 35.155357% | 4042980 | 11500324 -Total | 37.129628% | 5762888 | 15520996 +RELs | 35.185617% | 4046460 | 11500324 +Total | 37.152049% | 5766368 | 15520996 ## RELs @@ -374,7 +374,7 @@ d_a_obj_cb | 43.008475% | 2436 | 5664 d_a_obj_cblock | 42.294713% | 3008 | 7112 d_a_obj_cboard | 100.000000% | 2648 | 2648 d_a_obj_cdoor | 40.255786% | 2644 | 6568 -d_a_obj_chandelier | 36.773256% | 2024 | 5504 +d_a_obj_chandelier | 100.000000% | 5504 | 5504 d_a_obj_chest | 39.833795% | 2876 | 7220 d_a_obj_cho | 33.555219% | 4436 | 13220 d_a_obj_cowdoor | 100.000000% | 2188 | 2188 @@ -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.155357% | 4042980 | 11500324 +Total | 35.185617% | 4046460 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/CreateHeap__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/CreateHeap__17daObjChandelier_cFv.s deleted file mode 100644 index 28b09b29e5..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/CreateHeap__17daObjChandelier_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80BC8008: -/* 80BC8008 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC800C 7C 08 02 A6 */ mflr r0 -/* 80BC8010 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8014 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC8018 7C 7F 1B 78 */ mr r31, r3 -/* 80BC801C 3C 60 80 BD */ lis r3, l_arcName@ha /* 0x80BC8D64@ha */ -/* 80BC8020 38 63 8D 64 */ addi r3, r3, l_arcName@l /* 0x80BC8D64@l */ -/* 80BC8024 80 63 00 00 */ lwz r3, 0(r3) -/* 80BC8028 38 80 00 04 */ li r4, 4 -/* 80BC802C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BC8030 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BC8034 3C A5 00 02 */ addis r5, r5, 2 -/* 80BC8038 38 C0 00 80 */ li r6, 0x80 -/* 80BC803C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80BC8040 4B 47 42 AD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80BC8044 3C 80 00 08 */ lis r4, 8 -/* 80BC8048 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80BC804C 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80BC8050 4B 44 CC 05 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80BC8054 90 7F 05 E8 */ stw r3, 0x5e8(r31) -/* 80BC8058 80 7F 05 E8 */ lwz r3, 0x5e8(r31) -/* 80BC805C 30 03 FF FF */ addic r0, r3, -1 -/* 80BC8060 7C 60 19 10 */ subfe r3, r0, r3 -/* 80BC8064 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC8068 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC806C 7C 08 03 A6 */ mtlr r0 -/* 80BC8070 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8074 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Delete__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Delete__17daObjChandelier_cFv.s deleted file mode 100644 index be3b91a023..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Delete__17daObjChandelier_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80BC8160: -/* 80BC8160 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8164 7C 08 02 A6 */ mflr r0 -/* 80BC8168 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC816C 38 80 FF FF */ li r4, -1 -/* 80BC8170 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 80BC8174 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80BC8178 7D 89 03 A6 */ mtctr r12 -/* 80BC817C 4E 80 04 21 */ bctrl -/* 80BC8180 38 60 00 01 */ li r3, 1 -/* 80BC8184 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8188 7C 08 03 A6 */ mtlr r0 -/* 80BC818C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8190 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Draw__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Draw__17daObjChandelier_cFv.s deleted file mode 100644 index 4bab861d6a..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Draw__17daObjChandelier_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80BC8194: -/* 80BC8194 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8198 7C 08 02 A6 */ mflr r0 -/* 80BC819C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC81A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC81A4 93 C1 00 08 */ stw r30, 8(r1) -/* 80BC81A8 7C 7E 1B 78 */ mr r30, r3 -/* 80BC81AC 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80BC81B0 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80BC81B4 38 80 00 10 */ li r4, 0x10 -/* 80BC81B8 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80BC81BC 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80BC81C0 4B 5D B6 05 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80BC81C4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80BC81C8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80BC81CC 80 9E 05 E8 */ lwz r4, 0x5e8(r30) -/* 80BC81D0 80 84 00 04 */ lwz r4, 4(r4) -/* 80BC81D4 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80BC81D8 4B 5D CB C9 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80BC81DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BC81E0 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BC81E4 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80BC81E8 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80BC81EC 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80BC81F0 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80BC81F4 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80BC81F8 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80BC81FC 80 7E 05 E8 */ lwz r3, 0x5e8(r30) -/* 80BC8200 4B 44 5A C5 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80BC8204 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BC8208 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BC820C 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80BC8210 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80BC8214 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80BC8218 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80BC821C 38 60 00 01 */ li r3, 1 -/* 80BC8220 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC8224 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BC8228 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC822C 7C 08 03 A6 */ mtlr r0 -/* 80BC8230 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8234 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Execute__17daObjChandelier_cFPPA3_A4_f.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Execute__17daObjChandelier_cFPPA3_A4_f.s deleted file mode 100644 index 09160bbd2f..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Execute__17daObjChandelier_cFPPA3_A4_f.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80BC8238: -/* 80BC8238 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC823C 7C 08 02 A6 */ mflr r0 -/* 80BC8240 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8244 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC8248 93 C1 00 08 */ stw r30, 8(r1) -/* 80BC824C 7C 7E 1B 78 */ mr r30, r3 -/* 80BC8250 7C 9F 23 78 */ mr r31, r4 -/* 80BC8254 88 03 06 09 */ lbz r0, 0x609(r3) -/* 80BC8258 1C 80 00 0C */ mulli r4, r0, 0xc -/* 80BC825C 3C 60 80 BD */ lis r3, s_exeProc__17daObjChandelier_c@ha /* 0x80BC8DA4@ha */ -/* 80BC8260 38 03 8D A4 */ addi r0, r3, s_exeProc__17daObjChandelier_c@l /* 0x80BC8DA4@l */ -/* 80BC8264 7C 60 22 14 */ add r3, r0, r4 -/* 80BC8268 4B 79 9D B1 */ bl __ptmf_test -/* 80BC826C 2C 03 00 00 */ cmpwi r3, 0 -/* 80BC8270 41 82 00 24 */ beq lbl_80BC8294 -/* 80BC8274 7F C3 F3 78 */ mr r3, r30 -/* 80BC8278 88 1E 06 09 */ lbz r0, 0x609(r30) -/* 80BC827C 1C A0 00 0C */ mulli r5, r0, 0xc -/* 80BC8280 3C 80 80 BD */ lis r4, s_exeProc__17daObjChandelier_c@ha /* 0x80BC8DA4@ha */ -/* 80BC8284 38 04 8D A4 */ addi r0, r4, s_exeProc__17daObjChandelier_c@l /* 0x80BC8DA4@l */ -/* 80BC8288 7D 80 2A 14 */ add r12, r0, r5 -/* 80BC828C 4B 79 9D F9 */ bl __ptmf_scall -/* 80BC8290 60 00 00 00 */ nop -lbl_80BC8294: -/* 80BC8294 7F C3 F3 78 */ mr r3, r30 -/* 80BC8298 48 00 04 65 */ bl setModelMtx__17daObjChandelier_cFv -/* 80BC829C 38 1E 05 B4 */ addi r0, r30, 0x5b4 -/* 80BC82A0 90 1F 00 00 */ stw r0, 0(r31) -/* 80BC82A4 38 60 00 01 */ li r3, 1 -/* 80BC82A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC82AC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BC82B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC82B4 7C 08 03 A6 */ mtlr r0 -/* 80BC82B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC82BC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__ct__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__ct__17daObjChandelier_cFv.s deleted file mode 100644 index 1400e198fa..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__ct__17daObjChandelier_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80BC7F38: -/* 80BC7F38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC7F3C 7C 08 02 A6 */ mflr r0 -/* 80BC7F40 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC7F44 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC7F48 7C 7F 1B 78 */ mr r31, r3 -/* 80BC7F4C 4B 4B 06 D9 */ bl __ct__16dBgS_MoveBgActorFv -/* 80BC7F50 3C 60 80 BD */ lis r3, __vt__17daObjChandelier_c@ha /* 0x80BC8E3C@ha */ -/* 80BC7F54 38 03 8E 3C */ addi r0, r3, __vt__17daObjChandelier_c@l /* 0x80BC8E3C@l */ -/* 80BC7F58 90 1F 05 9C */ stw r0, 0x59c(r31) -/* 80BC7F5C 7F E3 FB 78 */ mr r3, r31 -/* 80BC7F60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC7F64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC7F68 7C 08 03 A6 */ mtlr r0 -/* 80BC7F6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC7F70 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__dt__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__dt__17daObjChandelier_cFv.s deleted file mode 100644 index 1131529969..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__dt__17daObjChandelier_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80BC7F74: -/* 80BC7F74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC7F78 7C 08 02 A6 */ mflr r0 -/* 80BC7F7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC7F80 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC7F84 93 C1 00 08 */ stw r30, 8(r1) -/* 80BC7F88 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80BC7F8C 7C 9F 23 78 */ mr r31, r4 -/* 80BC7F90 41 82 00 5C */ beq lbl_80BC7FEC -/* 80BC7F94 3C 60 80 BD */ lis r3, __vt__17daObjChandelier_c@ha /* 0x80BC8E3C@ha */ -/* 80BC7F98 38 03 8E 3C */ addi r0, r3, __vt__17daObjChandelier_c@l /* 0x80BC8E3C@l */ -/* 80BC7F9C 90 1E 05 9C */ stw r0, 0x59c(r30) -/* 80BC7FA0 7F C3 F3 78 */ mr r3, r30 -/* 80BC7FA4 41 82 00 08 */ beq lbl_80BC7FAC -/* 80BC7FA8 38 63 05 A0 */ addi r3, r3, 0x5a0 -lbl_80BC7FAC: -/* 80BC7FAC 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BC8D64@ha */ -/* 80BC7FB0 38 84 8D 64 */ addi r4, r4, l_arcName@l /* 0x80BC8D64@l */ -/* 80BC7FB4 80 84 00 00 */ lwz r4, 0(r4) -/* 80BC7FB8 4B 46 50 51 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80BC7FBC 28 1E 00 00 */ cmplwi r30, 0 -/* 80BC7FC0 41 82 00 1C */ beq lbl_80BC7FDC -/* 80BC7FC4 3C 60 80 3B */ lis r3, __vt__16dBgS_MoveBgActor@ha /* 0x803AB9A0@ha */ -/* 80BC7FC8 38 03 B9 A0 */ addi r0, r3, __vt__16dBgS_MoveBgActor@l /* 0x803AB9A0@l */ -/* 80BC7FCC 90 1E 05 9C */ stw r0, 0x59c(r30) -/* 80BC7FD0 7F C3 F3 78 */ mr r3, r30 -/* 80BC7FD4 38 80 00 00 */ li r4, 0 -/* 80BC7FD8 4B 45 0C B5 */ bl __dt__10fopAc_ac_cFv -lbl_80BC7FDC: -/* 80BC7FDC 7F E0 07 35 */ extsh. r0, r31 -/* 80BC7FE0 40 81 00 0C */ ble lbl_80BC7FEC -/* 80BC7FE4 7F C3 F3 78 */ mr r3, r30 -/* 80BC7FE8 4B 70 6D 55 */ bl __dl__FPv -lbl_80BC7FEC: -/* 80BC7FEC 7F C3 F3 78 */ mr r3, r30 -/* 80BC7FF0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC7FF4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BC7FF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC7FFC 7C 08 03 A6 */ mtlr r0 -/* 80BC8000 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8004 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__sinit_d_a_obj_chandelier_cpp.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__sinit_d_a_obj_chandelier_cpp.s deleted file mode 100644 index 13ac930e96..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__sinit_d_a_obj_chandelier_cpp.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80BC8C48: -/* 80BC8C48 3C 60 80 BD */ lis r3, cNullVec__6Z2Calc@ha /* 0x80BC8D44@ha */ -/* 80BC8C4C 38 A3 8D 44 */ addi r5, r3, cNullVec__6Z2Calc@l /* 0x80BC8D44@l */ -/* 80BC8C50 80 65 00 24 */ lwz r3, 0x24(r5) -/* 80BC8C54 80 05 00 28 */ lwz r0, 0x28(r5) -/* 80BC8C58 90 65 00 60 */ stw r3, 0x60(r5) -/* 80BC8C5C 90 05 00 64 */ stw r0, 0x64(r5) -/* 80BC8C60 80 05 00 2C */ lwz r0, 0x2c(r5) -/* 80BC8C64 90 05 00 68 */ stw r0, 0x68(r5) -/* 80BC8C68 38 85 00 60 */ addi r4, r5, 0x60 -/* 80BC8C6C 80 65 00 30 */ lwz r3, 0x30(r5) -/* 80BC8C70 80 05 00 34 */ lwz r0, 0x34(r5) -/* 80BC8C74 90 64 00 0C */ stw r3, 0xc(r4) -/* 80BC8C78 90 04 00 10 */ stw r0, 0x10(r4) -/* 80BC8C7C 80 05 00 38 */ lwz r0, 0x38(r5) -/* 80BC8C80 90 04 00 14 */ stw r0, 0x14(r4) -/* 80BC8C84 80 65 00 3C */ lwz r3, 0x3c(r5) -/* 80BC8C88 80 05 00 40 */ lwz r0, 0x40(r5) -/* 80BC8C8C 90 64 00 18 */ stw r3, 0x18(r4) -/* 80BC8C90 90 04 00 1C */ stw r0, 0x1c(r4) -/* 80BC8C94 80 05 00 44 */ lwz r0, 0x44(r5) -/* 80BC8C98 90 04 00 20 */ stw r0, 0x20(r4) -/* 80BC8C9C 80 65 00 48 */ lwz r3, 0x48(r5) -/* 80BC8CA0 80 05 00 4C */ lwz r0, 0x4c(r5) -/* 80BC8CA4 90 64 00 24 */ stw r3, 0x24(r4) -/* 80BC8CA8 90 04 00 28 */ stw r0, 0x28(r4) -/* 80BC8CAC 80 05 00 50 */ lwz r0, 0x50(r5) -/* 80BC8CB0 90 04 00 2C */ stw r0, 0x2c(r4) -/* 80BC8CB4 80 65 00 54 */ lwz r3, 0x54(r5) -/* 80BC8CB8 80 05 00 58 */ lwz r0, 0x58(r5) -/* 80BC8CBC 90 64 00 30 */ stw r3, 0x30(r4) -/* 80BC8CC0 90 04 00 34 */ stw r0, 0x34(r4) -/* 80BC8CC4 80 05 00 5C */ lwz r0, 0x5c(r5) -/* 80BC8CC8 90 04 00 38 */ stw r0, 0x38(r4) -/* 80BC8CCC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/create1st__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/create1st__17daObjChandelier_cFv.s deleted file mode 100644 index 509ba2cfa7..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/create1st__17daObjChandelier_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_80BC8078: -/* 80BC8078 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC807C 7C 08 02 A6 */ mflr r0 -/* 80BC8080 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8084 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC8088 93 C1 00 08 */ stw r30, 8(r1) -/* 80BC808C 7C 7F 1B 78 */ mr r31, r3 -/* 80BC8090 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80BC8094 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80BC8098 40 82 00 1C */ bne lbl_80BC80B4 -/* 80BC809C 28 1F 00 00 */ cmplwi r31, 0 -/* 80BC80A0 41 82 00 08 */ beq lbl_80BC80A8 -/* 80BC80A4 4B FF FE 95 */ bl __ct__17daObjChandelier_cFv -lbl_80BC80A8: -/* 80BC80A8 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80BC80AC 60 00 00 08 */ ori r0, r0, 8 -/* 80BC80B0 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80BC80B4: -/* 80BC80B4 7F E3 FB 78 */ mr r3, r31 -/* 80BC80B8 28 1F 00 00 */ cmplwi r31, 0 -/* 80BC80BC 41 82 00 08 */ beq lbl_80BC80C4 -/* 80BC80C0 38 7F 05 A0 */ addi r3, r31, 0x5a0 -lbl_80BC80C4: -/* 80BC80C4 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BC8D64@ha */ -/* 80BC80C8 38 84 8D 64 */ addi r4, r4, l_arcName@l /* 0x80BC8D64@l */ -/* 80BC80CC 80 84 00 00 */ lwz r4, 0(r4) -/* 80BC80D0 4B 46 4D ED */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80BC80D4 7C 7E 1B 78 */ mr r30, r3 -/* 80BC80D8 2C 1E 00 04 */ cmpwi r30, 4 -/* 80BC80DC 40 82 00 68 */ bne lbl_80BC8144 -/* 80BC80E0 7F E3 FB 78 */ mr r3, r31 -/* 80BC80E4 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BC8D64@ha */ -/* 80BC80E8 38 84 8D 64 */ addi r4, r4, l_arcName@l /* 0x80BC8D64@l */ -/* 80BC80EC 80 84 00 00 */ lwz r4, 0(r4) -/* 80BC80F0 38 A0 00 07 */ li r5, 7 -/* 80BC80F4 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */ -/* 80BC80F8 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */ -/* 80BC80FC 38 E0 45 00 */ li r7, 0x4500 -/* 80BC8100 39 1F 05 B4 */ addi r8, r31, 0x5b4 -/* 80BC8104 4B 4B 06 B9 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f -/* 80BC8108 7C 7E 1B 78 */ mr r30, r3 -/* 80BC810C 2C 1E 00 05 */ cmpwi r30, 5 -/* 80BC8110 40 82 00 08 */ bne lbl_80BC8118 -/* 80BC8114 48 00 00 34 */ b lbl_80BC8148 -lbl_80BC8118: -/* 80BC8118 7F E3 FB 78 */ mr r3, r31 -/* 80BC811C 48 00 04 C9 */ bl init__17daObjChandelier_cFv -/* 80BC8120 7F E3 FB 78 */ mr r3, r31 -/* 80BC8124 48 00 05 D9 */ bl setModelMtx__17daObjChandelier_cFv -/* 80BC8128 80 7F 05 E8 */ lwz r3, 0x5e8(r31) -/* 80BC812C 38 03 00 24 */ addi r0, r3, 0x24 -/* 80BC8130 90 1F 05 04 */ stw r0, 0x504(r31) -/* 80BC8134 80 7F 05 E8 */ lwz r3, 0x5e8(r31) -/* 80BC8138 80 83 00 04 */ lwz r4, 4(r3) -/* 80BC813C 7F E3 FB 78 */ mr r3, r31 -/* 80BC8140 4B 45 24 39 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData -lbl_80BC8144: -/* 80BC8144 7F C3 F3 78 */ mr r3, r30 -lbl_80BC8148: -/* 80BC8148 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC814C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BC8150 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8154 7C 08 03 A6 */ mtlr r0 -/* 80BC8158 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC815C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDelete__FP17daObjChandelier_c.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDelete__FP17daObjChandelier_c.s deleted file mode 100644 index 8b871cfb80..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDelete__FP17daObjChandelier_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BC8BDC: -/* 80BC8BDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8BE0 7C 08 02 A6 */ mflr r0 -/* 80BC8BE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8BE8 4B 4A FC F5 */ bl MoveBGDelete__16dBgS_MoveBgActorFv -/* 80BC8BEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8BF0 7C 08 03 A6 */ mtlr r0 -/* 80BC8BF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8BF8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDraw__FP17daObjChandelier_c.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDraw__FP17daObjChandelier_c.s deleted file mode 100644 index 38d6bcac06..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDraw__FP17daObjChandelier_c.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80BC8C1C: -/* 80BC8C1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8C20 7C 08 02 A6 */ mflr r0 -/* 80BC8C24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8C28 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 80BC8C2C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80BC8C30 7D 89 03 A6 */ mtctr r12 -/* 80BC8C34 4E 80 04 21 */ bctrl -/* 80BC8C38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8C3C 7C 08 03 A6 */ mtlr r0 -/* 80BC8C40 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8C44 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGExecute__FP17daObjChandelier_c.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGExecute__FP17daObjChandelier_c.s deleted file mode 100644 index 1e3d09a6f1..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGExecute__FP17daObjChandelier_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BC8BFC: -/* 80BC8BFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8C00 7C 08 02 A6 */ mflr r0 -/* 80BC8C04 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8C08 4B 4A FD 49 */ bl MoveBGExecute__16dBgS_MoveBgActorFv -/* 80BC8C0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8C10 7C 08 03 A6 */ mtlr r0 -/* 80BC8C14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8C18 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_create1st__FP17daObjChandelier_c.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_create1st__FP17daObjChandelier_c.s deleted file mode 100644 index 790f0af70f..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_create1st__FP17daObjChandelier_c.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80BC8B7C: -/* 80BC8B7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8B80 7C 08 02 A6 */ mflr r0 -/* 80BC8B84 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8B88 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC8B8C 7C 7F 1B 78 */ mr r31, r3 -/* 80BC8B90 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80BC8B94 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80BC8B98 40 82 00 1C */ bne lbl_80BC8BB4 -/* 80BC8B9C 28 1F 00 00 */ cmplwi r31, 0 -/* 80BC8BA0 41 82 00 08 */ beq lbl_80BC8BA8 -/* 80BC8BA4 4B FF F3 95 */ bl __ct__17daObjChandelier_cFv -lbl_80BC8BA8: -/* 80BC8BA8 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80BC8BAC 60 00 00 08 */ ori r0, r0, 8 -/* 80BC8BB0 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80BC8BB4: -/* 80BC8BB4 7F E3 FB 78 */ mr r3, r31 -/* 80BC8BB8 81 9F 05 9C */ lwz r12, 0x59c(r31) -/* 80BC8BBC 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 80BC8BC0 7D 89 03 A6 */ mtctr r12 -/* 80BC8BC4 4E 80 04 21 */ bctrl -/* 80BC8BC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC8BCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8BD0 7C 08 03 A6 */ mtlr r0 -/* 80BC8BD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8BD8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeDown__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeDown__17daObjChandelier_cFv.s deleted file mode 100644 index fa246199ca..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeDown__17daObjChandelier_cFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80BC83E4: -/* 80BC83E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80BC83E8 7C 08 02 A6 */ mflr r0 -/* 80BC83EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80BC83F0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80BC83F4 7C 7F 1B 78 */ mr r31, r3 -/* 80BC83F8 C0 23 04 D4 */ lfs f1, 0x4d4(r3) -/* 80BC83FC C0 03 04 FC */ lfs f0, 0x4fc(r3) -/* 80BC8400 EC 01 00 2A */ fadds f0, f1, f0 -/* 80BC8404 D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 80BC8408 C0 23 04 FC */ lfs f1, 0x4fc(r3) -/* 80BC840C C0 03 05 30 */ lfs f0, 0x530(r3) -/* 80BC8410 EC 01 00 2A */ fadds f0, f1, f0 -/* 80BC8414 D0 03 04 FC */ stfs f0, 0x4fc(r3) -/* 80BC8418 C0 23 04 D4 */ lfs f1, 0x4d4(r3) -/* 80BC841C C0 03 05 F4 */ lfs f0, 0x5f4(r3) -/* 80BC8420 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BC8424 4C 40 13 82 */ cror 2, 0, 2 -/* 80BC8428 40 82 00 84 */ bne lbl_80BC84AC -/* 80BC842C 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80BC8430 7C 03 07 74 */ extsb r3, r0 -/* 80BC8434 4B 46 4C 39 */ bl dComIfGp_getReverb__Fi -/* 80BC8438 7C 67 1B 78 */ mr r7, r3 -/* 80BC843C 3C 60 00 08 */ lis r3, 0x0008 /* 0x000802BD@ha */ -/* 80BC8440 38 03 02 BD */ addi r0, r3, 0x02BD /* 0x000802BD@l */ -/* 80BC8444 90 01 00 08 */ stw r0, 8(r1) -/* 80BC8448 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80BC844C 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80BC8450 80 63 00 00 */ lwz r3, 0(r3) -/* 80BC8454 38 81 00 08 */ addi r4, r1, 8 -/* 80BC8458 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80BC845C 38 C0 00 00 */ li r6, 0 -/* 80BC8460 3D 00 80 BD */ lis r8, lit_3760@ha /* 0x80BC8CF4@ha */ -/* 80BC8464 C0 28 8C F4 */ lfs f1, lit_3760@l(r8) /* 0x80BC8CF4@l */ -/* 80BC8468 FC 40 08 90 */ fmr f2, f1 -/* 80BC846C 3D 00 80 BD */ lis r8, lit_3761@ha /* 0x80BC8CF8@ha */ -/* 80BC8470 C0 68 8C F8 */ lfs f3, lit_3761@l(r8) /* 0x80BC8CF8@l */ -/* 80BC8474 FC 80 18 90 */ fmr f4, f3 -/* 80BC8478 39 00 00 00 */ li r8, 0 -/* 80BC847C 4B 6E 35 09 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80BC8480 38 00 00 03 */ li r0, 3 -/* 80BC8484 98 1F 06 09 */ stb r0, 0x609(r31) -/* 80BC8488 3C 60 80 BD */ lis r3, lit_3760@ha /* 0x80BC8CF4@ha */ -/* 80BC848C C0 03 8C F4 */ lfs f0, lit_3760@l(r3) /* 0x80BC8CF4@l */ -/* 80BC8490 D0 1F 05 EC */ stfs f0, 0x5ec(r31) -/* 80BC8494 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 80BC8498 D0 1F 05 A8 */ stfs f0, 0x5a8(r31) -/* 80BC849C C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 80BC84A0 D0 1F 05 AC */ stfs f0, 0x5ac(r31) -/* 80BC84A4 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 80BC84A8 D0 1F 05 B0 */ stfs f0, 0x5b0(r31) -lbl_80BC84AC: -/* 80BC84AC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80BC84B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80BC84B4 7C 08 03 A6 */ mtlr r0 -/* 80BC84B8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80BC84BC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeEndSwg__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeEndSwg__17daObjChandelier_cFv.s deleted file mode 100644 index 68fe62abe3..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeEndSwg__17daObjChandelier_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80BC84C0: -/* 80BC84C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC84C4 7C 08 02 A6 */ mflr r0 -/* 80BC84C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC84CC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC84D0 7C 7F 1B 78 */ mr r31, r3 -/* 80BC84D4 48 00 04 DD */ bl moveSwingFall__17daObjChandelier_cFv -/* 80BC84D8 80 7F 06 00 */ lwz r3, 0x600(r31) -/* 80BC84DC 2C 03 00 3C */ cmpwi r3, 0x3c -/* 80BC84E0 41 80 00 20 */ blt lbl_80BC8500 -/* 80BC84E4 38 00 00 04 */ li r0, 4 -/* 80BC84E8 98 1F 06 09 */ stb r0, 0x609(r31) -/* 80BC84EC 38 00 00 00 */ li r0, 0 -/* 80BC84F0 90 1F 06 00 */ stw r0, 0x600(r31) -/* 80BC84F4 7F E3 FB 78 */ mr r3, r31 -/* 80BC84F8 48 00 06 29 */ bl hookSwingInitParm__17daObjChandelier_cFv -/* 80BC84FC 48 00 00 0C */ b lbl_80BC8508 -lbl_80BC8500: -/* 80BC8500 38 03 00 01 */ addi r0, r3, 1 -/* 80BC8504 90 1F 06 00 */ stw r0, 0x600(r31) -lbl_80BC8508: -/* 80BC8508 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC850C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8510 7C 08 03 A6 */ mtlr r0 -/* 80BC8514 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8518 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeHookSwg__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeHookSwg__17daObjChandelier_cFv.s deleted file mode 100644 index 52677a1233..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeHookSwg__17daObjChandelier_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80BC851C: -/* 80BC851C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8520 7C 08 02 A6 */ mflr r0 -/* 80BC8524 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8528 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC852C 7C 7F 1B 78 */ mr r31, r3 -/* 80BC8530 3C 80 80 BD */ lis r4, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC8534 38 84 8C DC */ addi r4, r4, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC8538 88 A3 06 0A */ lbz r5, 0x60a(r3) -/* 80BC853C 28 05 00 00 */ cmplwi r5, 0 -/* 80BC8540 40 82 00 10 */ bne lbl_80BC8550 -/* 80BC8544 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80BC8548 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 80BC854C 41 82 00 5C */ beq lbl_80BC85A8 -lbl_80BC8550: -/* 80BC8550 C0 44 00 20 */ lfs f2, 0x20(r4) -/* 80BC8554 C0 24 00 00 */ lfs f1, 0(r4) -/* 80BC8558 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BC855C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BC8560 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 80BC8564 28 03 00 00 */ cmplwi r3, 0 -/* 80BC8568 41 82 00 2C */ beq lbl_80BC8594 -/* 80BC856C C0 7F 04 D4 */ lfs f3, 0x4d4(r31) -/* 80BC8570 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80BC8574 EC 63 00 28 */ fsubs f3, f3, f0 -/* 80BC8578 C0 04 00 04 */ lfs f0, 4(r4) -/* 80BC857C FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80BC8580 40 81 00 14 */ ble lbl_80BC8594 -/* 80BC8584 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 80BC8588 EC 20 18 24 */ fdivs f1, f0, f3 -/* 80BC858C C0 04 00 28 */ lfs f0, 0x28(r4) -/* 80BC8590 EC 40 18 24 */ fdivs f2, f0, f3 -lbl_80BC8594: -/* 80BC8594 7F E3 FB 78 */ mr r3, r31 -/* 80BC8598 C0 64 00 2C */ lfs f3, 0x2c(r4) -/* 80BC859C C0 84 00 30 */ lfs f4, 0x30(r4) -/* 80BC85A0 48 00 01 E1 */ bl moveSwing__17daObjChandelier_cFffff -/* 80BC85A4 48 00 00 1C */ b lbl_80BC85C0 -lbl_80BC85A8: -/* 80BC85A8 88 1F 06 0B */ lbz r0, 0x60b(r31) -/* 80BC85AC 28 00 00 00 */ cmplwi r0, 0 -/* 80BC85B0 41 82 00 10 */ beq lbl_80BC85C0 -/* 80BC85B4 28 05 00 00 */ cmplwi r5, 0 -/* 80BC85B8 40 82 00 08 */ bne lbl_80BC85C0 -/* 80BC85BC 48 00 05 65 */ bl hookSwingInitParm__17daObjChandelier_cFv -lbl_80BC85C0: -/* 80BC85C0 88 1F 06 0A */ lbz r0, 0x60a(r31) -/* 80BC85C4 98 1F 06 0B */ stb r0, 0x60b(r31) -/* 80BC85C8 38 00 00 00 */ li r0, 0 -/* 80BC85CC 98 1F 06 0A */ stb r0, 0x60a(r31) -/* 80BC85D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC85D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC85D8 7C 08 03 A6 */ mtlr r0 -/* 80BC85DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC85E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeStartSwg__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeStartSwg__17daObjChandelier_cFv.s deleted file mode 100644 index 78d578641d..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeStartSwg__17daObjChandelier_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80BC834C: -/* 80BC834C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8350 7C 08 02 A6 */ mflr r0 -/* 80BC8354 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8358 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC835C 7C 7F 1B 78 */ mr r31, r3 -/* 80BC8360 3C 80 80 BD */ lis r4, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC8364 38 84 8C DC */ addi r4, r4, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC8368 C0 24 00 08 */ lfs f1, 8(r4) -/* 80BC836C C0 44 00 0C */ lfs f2, 0xc(r4) -/* 80BC8370 C0 64 00 10 */ lfs f3, 0x10(r4) -/* 80BC8374 C0 84 00 14 */ lfs f4, 0x14(r4) -/* 80BC8378 48 00 04 09 */ bl moveSwing__17daObjChandelier_cFffff -/* 80BC837C 80 7F 06 00 */ lwz r3, 0x600(r31) -/* 80BC8380 2C 03 00 5A */ cmpwi r3, 0x5a -/* 80BC8384 41 80 00 44 */ blt lbl_80BC83C8 -/* 80BC8388 38 00 00 02 */ li r0, 2 -/* 80BC838C 98 1F 06 09 */ stb r0, 0x609(r31) -/* 80BC8390 38 00 00 00 */ li r0, 0 -/* 80BC8394 90 1F 05 FC */ stw r0, 0x5fc(r31) -/* 80BC8398 90 1F 06 00 */ stw r0, 0x600(r31) -/* 80BC839C A8 1F 04 B6 */ lha r0, 0x4b6(r31) -/* 80BC83A0 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 80BC83A4 A8 1F 04 B8 */ lha r0, 0x4b8(r31) -/* 80BC83A8 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 80BC83AC C0 1F 05 A8 */ lfs f0, 0x5a8(r31) -/* 80BC83B0 D0 1F 04 D0 */ stfs f0, 0x4d0(r31) -/* 80BC83B4 C0 1F 05 AC */ lfs f0, 0x5ac(r31) -/* 80BC83B8 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 80BC83BC C0 1F 05 B0 */ lfs f0, 0x5b0(r31) -/* 80BC83C0 D0 1F 04 D8 */ stfs f0, 0x4d8(r31) -/* 80BC83C4 48 00 00 0C */ b lbl_80BC83D0 -lbl_80BC83C8: -/* 80BC83C8 38 03 00 01 */ addi r0, r3, 1 -/* 80BC83CC 90 1F 06 00 */ stw r0, 0x600(r31) -lbl_80BC83D0: -/* 80BC83D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC83D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC83D8 7C 08 03 A6 */ mtlr r0 -/* 80BC83DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC83E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeWait__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeWait__17daObjChandelier_cFv.s deleted file mode 100644 index 982f2054c4..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeWait__17daObjChandelier_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80BC82C0: -/* 80BC82C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC82C4 7C 08 02 A6 */ mflr r0 -/* 80BC82C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC82CC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC82D0 93 C1 00 08 */ stw r30, 8(r1) -/* 80BC82D4 7C 7E 1B 78 */ mr r30, r3 -/* 80BC82D8 3C 80 80 BD */ lis r4, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC82DC 3B E4 8C DC */ addi r31, r4, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC82E0 48 00 02 3D */ bl exeModeHookSwg__17daObjChandelier_cFv -/* 80BC82E4 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80BC82E8 54 04 E6 3E */ rlwinm r4, r0, 0x1c, 0x18, 0x1f -/* 80BC82EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BC82F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BC82F4 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80BC82F8 7C 05 07 74 */ extsb r5, r0 -/* 80BC82FC 4B 46 D0 65 */ bl isSwitch__10dSv_info_cCFii -/* 80BC8300 2C 03 00 00 */ cmpwi r3, 0 -/* 80BC8304 41 82 00 30 */ beq lbl_80BC8334 -/* 80BC8308 38 00 00 01 */ li r0, 1 -/* 80BC830C 98 1E 06 09 */ stb r0, 0x609(r30) -/* 80BC8310 C0 1F 00 00 */ lfs f0, 0(r31) -/* 80BC8314 D0 1E 05 EC */ stfs f0, 0x5ec(r30) -/* 80BC8318 C0 1F 00 04 */ lfs f0, 4(r31) -/* 80BC831C D0 1E 05 F0 */ stfs f0, 0x5f0(r30) -/* 80BC8320 38 00 00 00 */ li r0, 0 -/* 80BC8324 90 1E 05 FC */ stw r0, 0x5fc(r30) -/* 80BC8328 90 1E 06 00 */ stw r0, 0x600(r30) -/* 80BC832C C0 1F 00 08 */ lfs f0, 8(r31) -/* 80BC8330 D0 1E 05 F8 */ stfs f0, 0x5f8(r30) -lbl_80BC8334: -/* 80BC8334 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC8338 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BC833C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8340 7C 08 03 A6 */ mtlr r0 -/* 80BC8344 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC8348 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/hookSwingInitParm__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/hookSwingInitParm__17daObjChandelier_cFv.s deleted file mode 100644 index b92f07d855..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/hookSwingInitParm__17daObjChandelier_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80BC8B20: -/* 80BC8B20 3C 80 80 BD */ lis r4, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC8B24 38 84 8C DC */ addi r4, r4, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC8B28 C0 04 00 54 */ lfs f0, 0x54(r4) -/* 80BC8B2C D0 03 05 EC */ stfs f0, 0x5ec(r3) -/* 80BC8B30 C0 04 00 58 */ lfs f0, 0x58(r4) -/* 80BC8B34 D0 03 05 F0 */ stfs f0, 0x5f0(r3) -/* 80BC8B38 A8 03 04 B6 */ lha r0, 0x4b6(r3) -/* 80BC8B3C B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 80BC8B40 A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 80BC8B44 B0 03 04 E8 */ sth r0, 0x4e8(r3) -/* 80BC8B48 C0 03 05 A8 */ lfs f0, 0x5a8(r3) -/* 80BC8B4C D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 80BC8B50 C0 03 05 AC */ lfs f0, 0x5ac(r3) -/* 80BC8B54 D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 80BC8B58 C0 03 05 B0 */ lfs f0, 0x5b0(r3) -/* 80BC8B5C D0 03 04 D8 */ stfs f0, 0x4d8(r3) -/* 80BC8B60 38 00 00 1E */ li r0, 0x1e -/* 80BC8B64 B0 03 06 04 */ sth r0, 0x604(r3) -/* 80BC8B68 38 00 00 00 */ li r0, 0 -/* 80BC8B6C 90 03 05 FC */ stw r0, 0x5fc(r3) -/* 80BC8B70 C0 04 00 5C */ lfs f0, 0x5c(r4) -/* 80BC8B74 D0 03 05 F8 */ stfs f0, 0x5f8(r3) -/* 80BC8B78 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/init__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/init__17daObjChandelier_cFv.s deleted file mode 100644 index 9b14aac888..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/init__17daObjChandelier_cFv.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_80BC85E4: -/* 80BC85E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC85E8 7C 08 02 A6 */ mflr r0 -/* 80BC85EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC85F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC85F4 93 C1 00 08 */ stw r30, 8(r1) -/* 80BC85F8 7C 7E 1B 78 */ mr r30, r3 -/* 80BC85FC 3C 60 80 BD */ lis r3, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC8600 3B E3 8C DC */ addi r31, r3, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC8604 38 00 00 00 */ li r0, 0 -/* 80BC8608 98 1E 06 09 */ stb r0, 0x609(r30) -/* 80BC860C 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80BC8610 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 80BC8614 2C 00 00 01 */ cmpwi r0, 1 -/* 80BC8618 40 82 00 0C */ bne lbl_80BC8624 -/* 80BC861C 38 00 00 04 */ li r0, 4 -/* 80BC8620 98 1E 06 09 */ stb r0, 0x609(r30) -lbl_80BC8624: -/* 80BC8624 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80BC8628 D0 1E 05 A8 */ stfs f0, 0x5a8(r30) -/* 80BC862C C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80BC8630 D0 1E 05 AC */ stfs f0, 0x5ac(r30) -/* 80BC8634 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80BC8638 D0 1E 05 B0 */ stfs f0, 0x5b0(r30) -/* 80BC863C 38 60 00 00 */ li r3, 0 -/* 80BC8640 98 7E 06 0A */ stb r3, 0x60a(r30) -/* 80BC8644 88 1E 06 0A */ lbz r0, 0x60a(r30) -/* 80BC8648 98 1E 06 0B */ stb r0, 0x60b(r30) -/* 80BC864C C0 1F 00 34 */ lfs f0, 0x34(r31) -/* 80BC8650 D0 1E 05 30 */ stfs f0, 0x530(r30) -/* 80BC8654 C0 3F 00 04 */ lfs f1, 4(r31) -/* 80BC8658 D0 3E 04 F8 */ stfs f1, 0x4f8(r30) -/* 80BC865C C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 80BC8660 D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 80BC8664 D0 3E 05 00 */ stfs f1, 0x500(r30) -/* 80BC8668 90 7E 05 FC */ stw r3, 0x5fc(r30) -/* 80BC866C 38 00 00 01 */ li r0, 1 -/* 80BC8670 98 1E 06 08 */ stb r0, 0x608(r30) -/* 80BC8674 B0 7E 06 06 */ sth r3, 0x606(r30) -/* 80BC8678 7F C3 F3 78 */ mr r3, r30 -/* 80BC867C 48 00 04 A5 */ bl hookSwingInitParm__17daObjChandelier_cFv -/* 80BC8680 C0 3E 04 D4 */ lfs f1, 0x4d4(r30) -/* 80BC8684 C0 1F 00 38 */ lfs f0, 0x38(r31) -/* 80BC8688 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80BC868C D0 1E 05 F4 */ stfs f0, 0x5f4(r30) -/* 80BC8690 80 7E 00 B0 */ lwz r3, 0xb0(r30) -/* 80BC8694 54 60 07 3F */ clrlwi. r0, r3, 0x1c -/* 80BC8698 40 82 00 4C */ bne lbl_80BC86E4 -/* 80BC869C 54 64 E6 3E */ rlwinm r4, r3, 0x1c, 0x18, 0x1f -/* 80BC86A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BC86A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BC86A8 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80BC86AC 7C 05 07 74 */ extsb r5, r0 -/* 80BC86B0 4B 46 CC B1 */ bl isSwitch__10dSv_info_cCFii -/* 80BC86B4 2C 03 00 00 */ cmpwi r3, 0 -/* 80BC86B8 41 82 00 2C */ beq lbl_80BC86E4 -/* 80BC86BC 38 00 00 04 */ li r0, 4 -/* 80BC86C0 98 1E 06 09 */ stb r0, 0x609(r30) -/* 80BC86C4 C0 1E 05 F4 */ lfs f0, 0x5f4(r30) -/* 80BC86C8 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 80BC86CC C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80BC86D0 D0 1E 05 A8 */ stfs f0, 0x5a8(r30) -/* 80BC86D4 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80BC86D8 D0 1E 05 AC */ stfs f0, 0x5ac(r30) -/* 80BC86DC C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80BC86E0 D0 1E 05 B0 */ stfs f0, 0x5b0(r30) -lbl_80BC86E4: -/* 80BC86E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC86E8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BC86EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC86F0 7C 08 03 A6 */ mtlr r0 -/* 80BC86F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC86F8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwingFall__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwingFall__17daObjChandelier_cFv.s deleted file mode 100644 index 594370cc59..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwingFall__17daObjChandelier_cFv.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_80BC89B0: -/* 80BC89B0 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80BC89B4 7C 08 02 A6 */ mflr r0 -/* 80BC89B8 90 01 00 84 */ stw r0, 0x84(r1) -/* 80BC89BC 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80BC89C0 93 C1 00 78 */ stw r30, 0x78(r1) -/* 80BC89C4 7C 7F 1B 78 */ mr r31, r3 -/* 80BC89C8 3C 60 80 BD */ lis r3, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC89CC 3B C3 8C DC */ addi r30, r3, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC89D0 38 7F 05 EC */ addi r3, r31, 0x5ec -/* 80BC89D4 C0 3E 00 04 */ lfs f1, 4(r30) -/* 80BC89D8 C0 5E 00 50 */ lfs f2, 0x50(r30) -/* 80BC89DC 4B 6A 7D 65 */ bl cLib_chaseF__FPfff -/* 80BC89E0 88 1F 06 08 */ lbz r0, 0x608(r31) -/* 80BC89E4 1C 00 FF FF */ mulli r0, r0, -1 -/* 80BC89E8 98 1F 06 08 */ stb r0, 0x608(r31) -/* 80BC89EC C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80BC89F0 88 1F 06 08 */ lbz r0, 0x608(r31) -/* 80BC89F4 7C 00 07 74 */ extsb r0, r0 -/* 80BC89F8 C8 5E 00 48 */ lfd f2, 0x48(r30) -/* 80BC89FC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80BC8A00 90 01 00 64 */ stw r0, 0x64(r1) -/* 80BC8A04 3C 00 43 30 */ lis r0, 0x4330 -/* 80BC8A08 90 01 00 60 */ stw r0, 0x60(r1) -/* 80BC8A0C C8 01 00 60 */ lfd f0, 0x60(r1) -/* 80BC8A10 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80BC8A14 EC 41 00 32 */ fmuls f2, f1, f0 -/* 80BC8A18 C0 1F 05 EC */ lfs f0, 0x5ec(r31) -/* 80BC8A1C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80BC8A20 FC 00 00 1E */ fctiwz f0, f0 -/* 80BC8A24 D8 01 00 68 */ stfd f0, 0x68(r1) -/* 80BC8A28 80 01 00 6C */ lwz r0, 0x6c(r1) -/* 80BC8A2C B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 80BC8A30 4B 69 EF 5D */ bl cM_rndFX__Ff -/* 80BC8A34 FC 00 08 1E */ fctiwz f0, f1 -/* 80BC8A38 D8 01 00 70 */ stfd f0, 0x70(r1) -/* 80BC8A3C 80 61 00 74 */ lwz r3, 0x74(r1) -/* 80BC8A40 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80BC8A44 7C 00 1A 14 */ add r0, r0, r3 -/* 80BC8A48 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 80BC8A4C C0 1F 05 A8 */ lfs f0, 0x5a8(r31) -/* 80BC8A50 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 80BC8A54 C0 1F 05 AC */ lfs f0, 0x5ac(r31) -/* 80BC8A58 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 80BC8A5C C0 1F 05 B0 */ lfs f0, 0x5b0(r31) -/* 80BC8A60 D0 01 00 58 */ stfs f0, 0x58(r1) -/* 80BC8A64 38 61 00 50 */ addi r3, r1, 0x50 -/* 80BC8A68 4B 44 42 FD */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 80BC8A6C 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 80BC8A70 4B 44 44 D5 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 80BC8A74 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BC8A78 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BC8A7C 3C 80 80 BD */ lis r4, TOP_POS_Y_OFFSET@ha /* 0x80BC8DE0@ha */ -/* 80BC8A80 38 84 8D E0 */ addi r4, r4, TOP_POS_Y_OFFSET@l /* 0x80BC8DE0@l */ -/* 80BC8A84 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80BC8A88 4B 77 E2 E5 */ bl PSMTXMultVec -/* 80BC8A8C 38 61 00 20 */ addi r3, r1, 0x20 -/* 80BC8A90 38 81 00 50 */ addi r4, r1, 0x50 -/* 80BC8A94 3C A0 80 BD */ lis r5, TOP_POS_Y_OFFSET@ha /* 0x80BC8DE0@ha */ -/* 80BC8A98 38 A5 8D E0 */ addi r5, r5, TOP_POS_Y_OFFSET@l /* 0x80BC8DE0@l */ -/* 80BC8A9C 4B 69 E0 49 */ bl __pl__4cXyzCFRC3Vec -/* 80BC8AA0 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80BC8AA4 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80BC8AA8 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 80BC8AAC D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80BC8AB0 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 80BC8AB4 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80BC8AB8 38 61 00 14 */ addi r3, r1, 0x14 -/* 80BC8ABC 38 81 00 38 */ addi r4, r1, 0x38 -/* 80BC8AC0 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80BC8AC4 4B 69 E0 71 */ bl __mi__4cXyzCFRC3Vec -/* 80BC8AC8 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80BC8ACC D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80BC8AD0 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80BC8AD4 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80BC8AD8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80BC8ADC D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80BC8AE0 38 61 00 08 */ addi r3, r1, 8 -/* 80BC8AE4 38 81 00 50 */ addi r4, r1, 0x50 -/* 80BC8AE8 38 A1 00 2C */ addi r5, r1, 0x2c -/* 80BC8AEC 4B 69 DF F9 */ bl __pl__4cXyzCFRC3Vec -/* 80BC8AF0 C0 01 00 08 */ lfs f0, 8(r1) -/* 80BC8AF4 D0 1F 04 D0 */ stfs f0, 0x4d0(r31) -/* 80BC8AF8 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80BC8AFC D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 80BC8B00 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80BC8B04 D0 1F 04 D8 */ stfs f0, 0x4d8(r31) -/* 80BC8B08 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 80BC8B0C 83 C1 00 78 */ lwz r30, 0x78(r1) -/* 80BC8B10 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80BC8B14 7C 08 03 A6 */ mtlr r0 -/* 80BC8B18 38 21 00 80 */ addi r1, r1, 0x80 -/* 80BC8B1C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwing__17daObjChandelier_cFffff.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwing__17daObjChandelier_cFffff.s deleted file mode 100644 index 5e9de1f084..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwing__17daObjChandelier_cFffff.s +++ /dev/null @@ -1,143 +0,0 @@ -lbl_80BC8780: -/* 80BC8780 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80BC8784 7C 08 02 A6 */ mflr r0 -/* 80BC8788 90 01 00 54 */ stw r0, 0x54(r1) -/* 80BC878C DB E1 00 40 */ stfd f31, 0x40(r1) -/* 80BC8790 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80BC8794 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 80BC8798 93 C1 00 38 */ stw r30, 0x38(r1) -/* 80BC879C 7C 7E 1B 78 */ mr r30, r3 -/* 80BC87A0 FF E0 20 90 */ fmr f31, f4 -/* 80BC87A4 3C 60 80 BD */ lis r3, lit_3731@ha /* 0x80BC8CDC@ha */ -/* 80BC87A8 3B E3 8C DC */ addi r31, r3, lit_3731@l /* 0x80BC8CDC@l */ -/* 80BC87AC FC A0 10 50 */ fneg f5, f2 -/* 80BC87B0 80 1E 05 FC */ lwz r0, 0x5fc(r30) -/* 80BC87B4 C8 9F 00 48 */ lfd f4, 0x48(r31) -/* 80BC87B8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80BC87BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC87C0 3C A0 43 30 */ lis r5, 0x4330 -/* 80BC87C4 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80BC87C8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80BC87CC EC 00 20 28 */ fsubs f0, f0, f4 -/* 80BC87D0 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80BC87D4 EC A5 00 2A */ fadds f5, f5, f0 -/* 80BC87D8 A8 7E 04 E8 */ lha r3, 0x4e8(r30) -/* 80BC87DC 88 1E 06 08 */ lbz r0, 0x608(r30) -/* 80BC87E0 7C 00 07 74 */ extsb r0, r0 -/* 80BC87E4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80BC87E8 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80BC87EC 90 A1 00 18 */ stw r5, 0x18(r1) -/* 80BC87F0 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 80BC87F4 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80BC87F8 C0 1E 05 EC */ lfs f0, 0x5ec(r30) -/* 80BC87FC EC 05 00 32 */ fmuls f0, f5, f0 -/* 80BC8800 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80BC8804 FC 00 00 1E */ fctiwz f0, f0 -/* 80BC8808 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 80BC880C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80BC8810 7C 03 02 14 */ add r0, r3, r0 -/* 80BC8814 B0 1E 04 E8 */ sth r0, 0x4e8(r30) -/* 80BC8818 A8 9E 04 E6 */ lha r4, 0x4e6(r30) -/* 80BC881C C0 3E 05 EC */ lfs f1, 0x5ec(r30) -/* 80BC8820 88 1E 06 08 */ lbz r0, 0x608(r30) -/* 80BC8824 7C 03 07 74 */ extsb r3, r0 -/* 80BC8828 A8 1E 06 04 */ lha r0, 0x604(r30) -/* 80BC882C 7C 03 01 D6 */ mullw r0, r3, r0 -/* 80BC8830 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80BC8834 90 01 00 2C */ stw r0, 0x2c(r1) -/* 80BC8838 90 A1 00 28 */ stw r5, 0x28(r1) -/* 80BC883C C8 01 00 28 */ lfd f0, 0x28(r1) -/* 80BC8840 EC 00 20 28 */ fsubs f0, f0, f4 -/* 80BC8844 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80BC8848 FC 00 00 1E */ fctiwz f0, f0 -/* 80BC884C D8 01 00 30 */ stfd f0, 0x30(r1) -/* 80BC8850 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80BC8854 7C 04 02 14 */ add r0, r4, r0 -/* 80BC8858 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 80BC885C FC 05 10 40 */ fcmpo cr0, f5, f2 -/* 80BC8860 40 81 00 58 */ ble lbl_80BC88B8 -/* 80BC8864 38 00 00 00 */ li r0, 0 -/* 80BC8868 90 1E 05 FC */ stw r0, 0x5fc(r30) -/* 80BC886C 88 1E 06 08 */ lbz r0, 0x608(r30) -/* 80BC8870 1C 00 FF FF */ mulli r0, r0, -1 -/* 80BC8874 98 1E 06 08 */ stb r0, 0x608(r30) -/* 80BC8878 FC 20 18 90 */ fmr f1, f3 -/* 80BC887C 4B 69 F1 11 */ bl cM_rndFX__Ff -/* 80BC8880 FC 00 08 1E */ fctiwz f0, f1 -/* 80BC8884 D8 01 00 30 */ stfd f0, 0x30(r1) -/* 80BC8888 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80BC888C B0 1E 06 04 */ sth r0, 0x604(r30) -/* 80BC8890 38 7E 05 EC */ addi r3, r30, 0x5ec -/* 80BC8894 C0 3E 05 F0 */ lfs f1, 0x5f0(r30) -/* 80BC8898 C0 5F 00 3C */ lfs f2, 0x3c(r31) -/* 80BC889C 4B 6A 7E A5 */ bl cLib_chaseF__FPfff -/* 80BC88A0 2C 03 00 00 */ cmpwi r3, 0 -/* 80BC88A4 41 82 00 14 */ beq lbl_80BC88B8 -/* 80BC88A8 FC 20 F8 90 */ fmr f1, f31 -/* 80BC88AC 4B 69 F0 A9 */ bl cM_rndF__Ff -/* 80BC88B0 EC 1F 08 2A */ fadds f0, f31, f1 -/* 80BC88B4 D0 1E 05 F0 */ stfs f0, 0x5f0(r30) -lbl_80BC88B8: -/* 80BC88B8 A8 7E 06 06 */ lha r3, 0x606(r30) -/* 80BC88BC 88 1E 06 08 */ lbz r0, 0x608(r30) -/* 80BC88C0 7C 00 07 74 */ extsb r0, r0 -/* 80BC88C4 54 00 48 2C */ slwi r0, r0, 9 -/* 80BC88C8 7C 03 02 14 */ add r0, r3, r0 -/* 80BC88CC B0 1E 06 06 */ sth r0, 0x606(r30) -/* 80BC88D0 A8 1E 06 06 */ lha r0, 0x606(r30) -/* 80BC88D4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80BC88D8 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80BC88DC 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80BC88E0 7C 03 04 2E */ lfsx f0, r3, r0 -/* 80BC88E4 C0 3E 04 A8 */ lfs f1, 0x4a8(r30) -/* 80BC88E8 C0 5F 00 40 */ lfs f2, 0x40(r31) -/* 80BC88EC EC 02 00 32 */ fmuls f0, f2, f0 -/* 80BC88F0 EC 01 00 2A */ fadds f0, f1, f0 -/* 80BC88F4 D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 80BC88F8 A8 1E 06 06 */ lha r0, 0x606(r30) -/* 80BC88FC 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80BC8900 7C 63 02 14 */ add r3, r3, r0 -/* 80BC8904 C0 03 00 04 */ lfs f0, 4(r3) -/* 80BC8908 C0 3E 04 B0 */ lfs f1, 0x4b0(r30) -/* 80BC890C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80BC8910 EC 01 00 2A */ fadds f0, f1, f0 -/* 80BC8914 D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 80BC8918 C0 7F 00 3C */ lfs f3, 0x3c(r31) -/* 80BC891C C0 5F 00 44 */ lfs f2, 0x44(r31) -/* 80BC8920 C0 3E 05 F8 */ lfs f1, 0x5f8(r30) -/* 80BC8924 C0 1E 05 EC */ lfs f0, 0x5ec(r30) -/* 80BC8928 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80BC892C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80BC8930 EC 23 00 32 */ fmuls f1, f3, f0 -/* 80BC8934 4B 79 97 79 */ bl __cvt_fp2unsigned -/* 80BC8938 7C 66 1B 78 */ mr r6, r3 -/* 80BC893C 28 06 00 7F */ cmplwi r6, 0x7f -/* 80BC8940 40 81 00 08 */ ble lbl_80BC8948 -/* 80BC8944 38 C0 00 7F */ li r6, 0x7f -lbl_80BC8948: -/* 80BC8948 3C 60 00 08 */ lis r3, 0x0008 /* 0x000802BC@ha */ -/* 80BC894C 38 03 02 BC */ addi r0, r3, 0x02BC /* 0x000802BC@l */ -/* 80BC8950 90 01 00 08 */ stw r0, 8(r1) -/* 80BC8954 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80BC8958 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80BC895C 80 63 00 00 */ lwz r3, 0(r3) -/* 80BC8960 38 81 00 08 */ addi r4, r1, 8 -/* 80BC8964 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80BC8968 38 E0 00 00 */ li r7, 0 -/* 80BC896C C0 3F 00 18 */ lfs f1, 0x18(r31) -/* 80BC8970 FC 40 08 90 */ fmr f2, f1 -/* 80BC8974 C0 7F 00 1C */ lfs f3, 0x1c(r31) -/* 80BC8978 FC 80 18 90 */ fmr f4, f3 -/* 80BC897C 39 00 00 00 */ li r8, 0 -/* 80BC8980 4B 6E 3B 8D */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80BC8984 80 7E 05 FC */ lwz r3, 0x5fc(r30) -/* 80BC8988 38 03 00 01 */ addi r0, r3, 1 -/* 80BC898C 90 1E 05 FC */ stw r0, 0x5fc(r30) -/* 80BC8990 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 80BC8994 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 80BC8998 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 80BC899C 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 80BC89A0 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80BC89A4 7C 08 03 A6 */ mtlr r0 -/* 80BC89A8 38 21 00 50 */ addi r1, r1, 0x50 -/* 80BC89AC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/setModelMtx__17daObjChandelier_cFv.s b/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/setModelMtx__17daObjChandelier_cFv.s deleted file mode 100644 index 381d3c4467..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/setModelMtx__17daObjChandelier_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80BC86FC: -/* 80BC86FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BC8700 7C 08 02 A6 */ mflr r0 -/* 80BC8704 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BC8708 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BC870C 7C 7F 1B 78 */ mr r31, r3 -/* 80BC8710 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BC8714 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BC8718 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80BC871C C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80BC8720 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80BC8724 4B 77 E1 C5 */ bl PSMTXTrans -/* 80BC8728 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BC872C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BC8730 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 80BC8734 4B 44 3D 01 */ bl mDoMtx_YrotM__FPA4_fs -/* 80BC8738 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BC873C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BC8740 A8 9F 04 E8 */ lha r4, 0x4e8(r31) -/* 80BC8744 4B 44 3D 89 */ bl mDoMtx_ZrotM__FPA4_fs -/* 80BC8748 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BC874C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BC8750 38 9F 05 B4 */ addi r4, r31, 0x5b4 -/* 80BC8754 4B 77 DD 5D */ bl PSMTXCopy -/* 80BC8758 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BC875C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BC8760 80 9F 05 E8 */ lwz r4, 0x5e8(r31) -/* 80BC8764 38 84 00 24 */ addi r4, r4, 0x24 -/* 80BC8768 4B 77 DD 49 */ bl PSMTXCopy -/* 80BC876C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BC8770 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BC8774 7C 08 03 A6 */ mtlr r0 -/* 80BC8778 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BC877C 4E 80 00 20 */ blr diff --git a/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h b/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h index f586e9a932..3c69dde826 100644 --- a/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h +++ b/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h @@ -1,6 +1,65 @@ #ifndef D_A_OBJ_CHANDELIER_H #define D_A_OBJ_CHANDELIER_H -#include "dolphin/types.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "f_op/f_op_actor_mng.h" +#include "SSystem/SComponent/c_phase.h" + +class daObjChandelier_c; +typedef void (daObjChandelier_c::*daObjChandelier_proc)(); + +class daObjChandelier_c : public dBgS_MoveBgActor, public request_of_phase_process_class { +public: + enum Mode { + MODE_WAIT = 0, + MODE_START_SWG = 1, + MODE_DOWN = 2, + MODE_END_SWG = 3, + MODE_HOOK_SWG = 4, + }; + + /* 80BC7F38 */ daObjChandelier_c(); + /* 80BC8008 */ int CreateHeap(); + /* 80BC8160 */ int Delete(); + /* 80BC8194 */ int Draw(); + /* 80BC8238 */ int Execute(f32 (**)[3][4]); + /* 80BC82C0 */ void exeModeWait(); + /* 80BC834C */ void exeModeStartSwg(); + /* 80BC83E4 */ void exeModeDown(); + /* 80BC84C0 */ void exeModeEndSwg(); + /* 80BC851C */ void exeModeHookSwg(); + /* 80BC85E4 */ void init(); + /* 80BC86FC */ void setModelMtx(); + /* 80BC8780 */ void moveSwing(f32, f32, f32, f32); + /* 80BC89B0 */ void moveSwingFall(); + /* 80BC8B20 */ void hookSwingInitParm(); + + /* 80BC8078 */ virtual cPhs__Step create1st(); + /* 80BC7F74 */ virtual ~daObjChandelier_c(); + + u8 getSW_0() { return fopAcM_GetParamBit(this, 4, 8); } + s32 getArg_0() { return fopAcM_GetParamBit(this, 0, 4); } + + /* 0x5A8 */ cXyz field_0x5a8; + /* 0x5B4 */ Mtx mMtx; + /* 0x5E4 */ u8 field_0x5e4[4]; + /* 0x5E8 */ J3DModel* mpModel; + /* 0x5EC */ f32 field_0x5ec; + /* 0x5F0 */ f32 field_0x5f0; + /* 0x5F4 */ f32 field_0x5f4; + /* 0x5F8 */ f32 field_0x5f8; + /* 0x5FC */ s32 field_0x5fc; + /* 0x600 */ s32 mTimer; + /* 0x604 */ s16 field_0x604; + /* 0x606 */ s16 field_0x606; + /* 0x608 */ s8 field_0x608; + /* 0x609 */ u8 mMode; + /* 0x60A */ u8 field_0x60a; + /* 0x60B */ u8 field_0x60b; + + static daObjChandelier_proc s_exeProc[5]; +}; + +STATIC_ASSERT(sizeof(daObjChandelier_c) == 0x60C); #endif /* D_A_OBJ_CHANDELIER_H */ diff --git a/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.cpp b/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.cpp index ca2a4b79e9..d479b4b8bf 100644 --- a/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.cpp +++ b/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.cpp @@ -1,215 +1,21 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_chandelier -// +/** + * d_a_obj_chandelier.cpp + * Object - Chandelier (Hyrule Castle) + */ #include "rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.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; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daObjChandelier_c { - /* 80BC7F38 */ daObjChandelier_c(); - /* 80BC7F74 */ ~daObjChandelier_c(); - /* 80BC8008 */ void CreateHeap(); - /* 80BC8078 */ void create1st(); - /* 80BC8160 */ void Delete(); - /* 80BC8194 */ void Draw(); - /* 80BC8238 */ void Execute(f32 (**)[3][4]); - /* 80BC82C0 */ void exeModeWait(); - /* 80BC834C */ void exeModeStartSwg(); - /* 80BC83E4 */ void exeModeDown(); - /* 80BC84C0 */ void exeModeEndSwg(); - /* 80BC851C */ void exeModeHookSwg(); - /* 80BC85E4 */ void init(); - /* 80BC86FC */ void setModelMtx(); - /* 80BC8780 */ void moveSwing(f32, f32, f32, f32); - /* 80BC89B0 */ void moveSwingFall(); - /* 80BC8B20 */ void hookSwingInitParm(); - - static u8 s_exeProc[60]; -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) 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 dBgW {}; - -struct cBgS_PolyInfo {}; - -struct dBgS_MoveBgActor { - /* 80078624 */ dBgS_MoveBgActor(); - /* 80078690 */ bool Create(); - /* 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 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 JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" void __ct__17daObjChandelier_cFv(); -extern "C" void __dt__17daObjChandelier_cFv(); -extern "C" void CreateHeap__17daObjChandelier_cFv(); -extern "C" void create1st__17daObjChandelier_cFv(); -extern "C" void Delete__17daObjChandelier_cFv(); -extern "C" void Draw__17daObjChandelier_cFv(); -extern "C" void Execute__17daObjChandelier_cFPPA3_A4_f(); -extern "C" void exeModeWait__17daObjChandelier_cFv(); -extern "C" void exeModeStartSwg__17daObjChandelier_cFv(); -extern "C" void exeModeDown__17daObjChandelier_cFv(); -extern "C" void exeModeEndSwg__17daObjChandelier_cFv(); -extern "C" void exeModeHookSwg__17daObjChandelier_cFv(); -extern "C" void init__17daObjChandelier_cFv(); -extern "C" void setModelMtx__17daObjChandelier_cFv(); -extern "C" void moveSwing__17daObjChandelier_cFffff(); -extern "C" void moveSwingFall__17daObjChandelier_cFv(); -extern "C" void hookSwingInitParm__17daObjChandelier_cFv(); -extern "C" static void daObjChandelier_create1st__FP17daObjChandelier_c(); -extern "C" static void daObjChandelier_MoveBGDelete__FP17daObjChandelier_c(); -extern "C" static void daObjChandelier_MoveBGExecute__FP17daObjChandelier_c(); -extern "C" static void daObjChandelier_MoveBGDraw__FP17daObjChandelier_c(); -extern "C" void __sinit_d_a_obj_chandelier_cpp(); -extern "C" extern char const* const d_a_obj_chandelier__stringBase0; -extern "C" u8 s_exeProc__17daObjChandelier_c[60]; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -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 __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool Create__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 __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern void* __vt__16dBgS_MoveBgActor[10]; -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 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80BC8D3C-80BC8D3C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80BC8D3C = "L9Chand"; -#pragma pop +#include "JSystem/JKernel/JKRHeap.h" +#include "SSystem/SComponent/c_math.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" /* 80BC8D44-80BC8D50 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, }; /* 80BC8D50-80BC8D64 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, @@ -217,511 +23,299 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop -/* 80BC8D64-80BC8D68 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_chandelier__stringBase0; - -/* 80BC8D68-80BC8D74 -00001 000C+00 0/1 0/0 0/0 .data @3715 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3715[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)exeModeWait__17daObjChandelier_cFv, -}; -#pragma pop - -/* 80BC8D74-80BC8D80 -00001 000C+00 0/1 0/0 0/0 .data @3716 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3716[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)exeModeStartSwg__17daObjChandelier_cFv, -}; -#pragma pop - -/* 80BC8D80-80BC8D8C -00001 000C+00 0/1 0/0 0/0 .data @3717 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3717[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)exeModeDown__17daObjChandelier_cFv, -}; -#pragma pop - -/* 80BC8D8C-80BC8D98 -00001 000C+00 0/1 0/0 0/0 .data @3718 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3718[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)exeModeEndSwg__17daObjChandelier_cFv, -}; -#pragma pop - -/* 80BC8D98-80BC8DA4 -00001 000C+00 0/1 0/0 0/0 .data @3719 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3719[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)exeModeHookSwg__17daObjChandelier_cFv, -}; -#pragma pop +static char* l_arcName = "L9Chand"; /* 80BC8DA4-80BC8DE0 000060 003C+00 1/2 0/0 0/0 .data s_exeProc__17daObjChandelier_c */ -SECTION_DATA u8 daObjChandelier_c::s_exeProc[60] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80BC8DE0-80BC8DEC 00009C 000C+00 1/1 0/0 0/0 .data TOP_POS_Y_OFFSET$3869 */ -SECTION_DATA static u8 TOP_POS_Y_OFFSET[12] = { - 0x00, 0x00, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80BC8DEC-80BC8E0C -00001 0020+00 1/0 0/0 0/0 .data daObjChandelier_METHODS */ -SECTION_DATA static void* daObjChandelier_METHODS[8] = { - (void*)daObjChandelier_create1st__FP17daObjChandelier_c, - (void*)daObjChandelier_MoveBGDelete__FP17daObjChandelier_c, - (void*)daObjChandelier_MoveBGExecute__FP17daObjChandelier_c, - (void*)NULL, - (void*)daObjChandelier_MoveBGDraw__FP17daObjChandelier_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80BC8E0C-80BC8E3C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Chandelier */ -SECTION_DATA extern void* g_profile_Obj_Chandelier[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00E60000, (void*)&g_fpcLf_Method, - (void*)0x0000060C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02E50000, (void*)&daObjChandelier_METHODS, - (void*)0x00040080, (void*)0x000E0000, -}; - -/* 80BC8E3C-80BC8E6C 0000F8 0030+00 2/2 0/0 0/0 .data __vt__17daObjChandelier_c */ -SECTION_DATA extern void* __vt__17daObjChandelier_c[12] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__17daObjChandelier_cFv, - (void*)Create__16dBgS_MoveBgActorFv, - (void*)Execute__17daObjChandelier_cFPPA3_A4_f, - (void*)Draw__17daObjChandelier_cFv, - (void*)Delete__17daObjChandelier_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, - (void*)create1st__17daObjChandelier_cFv, - (void*)__dt__17daObjChandelier_cFv, +daObjChandelier_proc daObjChandelier_c::s_exeProc[5] = { + &exeModeWait, + &exeModeStartSwg, + &exeModeDown, + &exeModeEndSwg, + &exeModeHookSwg, }; /* 80BC7F38-80BC7F74 000078 003C+00 2/2 0/0 0/0 .text __ct__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObjChandelier_c::daObjChandelier_c() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__ct__17daObjChandelier_cFv.s" +daObjChandelier_c::daObjChandelier_c() { + /* empty function */ } -#pragma pop /* 80BC7F74-80BC8008 0000B4 0094+00 1/0 0/0 0/0 .text __dt__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObjChandelier_c::~daObjChandelier_c() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__dt__17daObjChandelier_cFv.s" +daObjChandelier_c::~daObjChandelier_c() { + dComIfG_resDelete(this, l_arcName); } -#pragma pop /* 80BC8008-80BC8078 000148 0070+00 1/0 0/0 0/0 .text CreateHeap__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/CreateHeap__17daObjChandelier_cFv.s" +int daObjChandelier_c::CreateHeap() { + J3DModelData* bmd = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4); + mpModel = mDoExt_J3DModel__create(bmd, 0x80000, 0x11000084); + if (mpModel == NULL) { + return 0; + } + return 1; } -#pragma pop /* 80BC8078-80BC8160 0001B8 00E8+00 1/0 0/0 0/0 .text create1st__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::create1st() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/create1st__17daObjChandelier_cFv.s" +cPhs__Step daObjChandelier_c::create1st() { + fopAcM_SetupActor(this, daObjChandelier_c); + cPhs__Step step = (cPhs__Step)dComIfG_resLoad(this, l_arcName); + if (step == cPhs_COMPLEATE_e) { + step = (cPhs__Step)MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0x4500, &mMtx); + if (step == cPhs_ERROR_e) { + return step; + } + init(); + setModelMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + } + return step; } -#pragma pop /* 80BC8160-80BC8194 0002A0 0034+00 1/0 0/0 0/0 .text Delete__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Delete__17daObjChandelier_cFv.s" +int daObjChandelier_c::Delete() { + this->~daObjChandelier_c(); + return 1; } -#pragma pop /* 80BC8194-80BC8238 0002D4 00A4+00 1/0 0/0 0/0 .text Draw__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::Draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Draw__17daObjChandelier_cFv.s" +int daObjChandelier_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 /* 80BC8238-80BC82C0 000378 0088+00 1/0 0/0 0/0 .text Execute__17daObjChandelier_cFPPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::Execute(f32 (**param_0)[3][4]) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/Execute__17daObjChandelier_cFPPA3_A4_f.s" +int daObjChandelier_c::Execute(f32 (**param_0)[3][4]) { + if (s_exeProc[mMode] != NULL) { + (this->*s_exeProc[mMode])(); + } + setModelMtx(); + *param_0 = &mMtx; + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8CDC-80BC8CE0 000000 0004+00 7/7 0/0 0/0 .rodata @3731 */ -SECTION_RODATA static f32 const lit_3731 = 0.5f; -COMPILER_STRIP_GATE(0x80BC8CDC, &lit_3731); - -/* 80BC8CE0-80BC8CE4 000004 0004+00 0/4 0/0 0/0 .rodata @3732 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3732[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80BC8CE0, &lit_3732); -#pragma pop - -/* 80BC8CE4-80BC8CE8 000008 0004+00 0/2 0/0 0/0 .rodata @3733 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3733 = 20.0f; -COMPILER_STRIP_GATE(0x80BC8CE4, &lit_3733); -#pragma pop /* 80BC82C0-80BC834C 000400 008C+00 1/0 0/0 0/0 .text exeModeWait__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::exeModeWait() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeWait__17daObjChandelier_cFv.s" +void daObjChandelier_c::exeModeWait() { + exeModeHookSwg(); + u8 sw = getSW_0(); + if (i_fopAcM_isSwitch(this, sw)) { + mMode = MODE_START_SWG; + field_0x5ec = 0.5f; + field_0x5f0 = 0.0f; + field_0x5fc = 0; + mTimer = 0; + field_0x5f8 = 20.0f; + } } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8CE8-80BC8CEC 00000C 0004+00 0/1 0/0 0/0 .rodata @3742 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3742 = 300.0f; -COMPILER_STRIP_GATE(0x80BC8CE8, &lit_3742); -#pragma pop - -/* 80BC8CEC-80BC8CF0 000010 0004+00 0/2 0/0 0/0 .rodata @3743 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3743 = 50.0f; -COMPILER_STRIP_GATE(0x80BC8CEC, &lit_3743); -#pragma pop - -/* 80BC8CF0-80BC8CF4 000014 0004+00 0/1 0/0 0/0 .rodata @3744 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3744 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80BC8CF0, &lit_3744); -#pragma pop /* 80BC834C-80BC83E4 00048C 0098+00 1/0 0/0 0/0 .text exeModeStartSwg__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::exeModeStartSwg() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeStartSwg__17daObjChandelier_cFv.s" +void daObjChandelier_c::exeModeStartSwg() { + moveSwing(20.0f, 300.0f, 50.0f, 0.3f); + if (mTimer >= 90) { + mMode = MODE_DOWN; + field_0x5fc = 0; + mTimer = 0; + shape_angle.y = orig.angle.y; + shape_angle.z = orig.angle.z; + current.pos = field_0x5a8; + } else { + mTimer++; + } } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8CF4-80BC8CF8 000018 0004+00 1/2 0/0 0/0 .rodata @3760 */ -SECTION_RODATA static f32 const lit_3760 = 1.0f; -COMPILER_STRIP_GATE(0x80BC8CF4, &lit_3760); - -/* 80BC8CF8-80BC8CFC 00001C 0004+00 1/3 0/0 0/0 .rodata @3761 */ -SECTION_RODATA static f32 const lit_3761 = -1.0f; -COMPILER_STRIP_GATE(0x80BC8CF8, &lit_3761); /* 80BC83E4-80BC84C0 000524 00DC+00 1/0 0/0 0/0 .text exeModeDown__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::exeModeDown() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeDown__17daObjChandelier_cFv.s" +void daObjChandelier_c::exeModeDown() { + current.pos.y += speed.y; + speed.y += mGravity; + if (current.pos.y <= field_0x5f4) { + fopAcM_seStartCurrent(this, Z2SE_OBJ_CHANDLV9_DOWN, 0); + mMode = MODE_END_SWG; + field_0x5ec = 1.0f; + field_0x5a8 = current.pos; + } } -#pragma pop /* 80BC84C0-80BC851C 000600 005C+00 1/0 0/0 0/0 .text exeModeEndSwg__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::exeModeEndSwg() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeEndSwg__17daObjChandelier_cFv.s" +void daObjChandelier_c::exeModeEndSwg() { + moveSwingFall(); + if (mTimer >= 60) { + mMode = MODE_HOOK_SWG; + mTimer = 0; + hookSwingInitParm(); + } else { + mTimer++; + } } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8CFC-80BC8D00 000020 0004+00 0/1 0/0 0/0 .rodata @3785 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3785 = 10.0f; -COMPILER_STRIP_GATE(0x80BC8CFC, &lit_3785); -#pragma pop - -/* 80BC8D00-80BC8D04 000024 0004+00 0/1 0/0 0/0 .rodata @3786 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3786 = 250.0f; -COMPILER_STRIP_GATE(0x80BC8D00, &lit_3786); -#pragma pop - -/* 80BC8D04-80BC8D08 000028 0004+00 0/1 0/0 0/0 .rodata @3787 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3787 = 5000.0f; -COMPILER_STRIP_GATE(0x80BC8D04, &lit_3787); -#pragma pop - -/* 80BC8D08-80BC8D0C 00002C 0004+00 0/1 0/0 0/0 .rodata @3788 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3788 = 15.0f; -COMPILER_STRIP_GATE(0x80BC8D08, &lit_3788); -#pragma pop - -/* 80BC8D0C-80BC8D10 000030 0004+00 0/1 0/0 0/0 .rodata @3789 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3789 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80BC8D0C, &lit_3789); -#pragma pop /* 80BC851C-80BC85E4 00065C 00C8+00 2/1 0/0 0/0 .text exeModeHookSwg__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::exeModeHookSwg() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/exeModeHookSwg__17daObjChandelier_cFv.s" +void daObjChandelier_c::exeModeHookSwg() { + if (field_0x60a != 0 || fopAcM_checkHookCarryNow(this)) { + f32 f1 = 10.0f; + f32 f2 = 0.5f; + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (player != NULL) { + f32 delta_y = current.pos.y - player->current.pos.y; + if (delta_y > 0.0f) { + f2 = 250.0f / delta_y; + f1 = 5000.0f / delta_y; + } + } + moveSwing(f2, f1, 15.0f, 0.2f); + } else if (field_0x60b != 0 && field_0x60a == 0) { + hookSwingInitParm(); + } + field_0x60b = field_0x60a; + field_0x60a = 0; } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8D10-80BC8D14 000034 0004+00 0/1 0/0 0/0 .rodata @3815 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3815 = -3.0f; -COMPILER_STRIP_GATE(0x80BC8D10, &lit_3815); -#pragma pop - -/* 80BC8D14-80BC8D18 000038 0004+00 0/1 0/0 0/0 .rodata @3816 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3816 = 800.0f; -COMPILER_STRIP_GATE(0x80BC8D14, &lit_3816); -#pragma pop /* 80BC85E4-80BC86FC 000724 0118+00 1/1 0/0 0/0 .text init__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::init() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/init__17daObjChandelier_cFv.s" +void daObjChandelier_c::init() { + mMode = MODE_WAIT; + if (getArg_0() == 1) { + mMode = MODE_HOOK_SWG; + } + field_0x5a8 = current.pos; + field_0x60a = 0; + field_0x60b = field_0x60a; + mGravity = -3.0f; + speed.x = 0.0f; + speed.y = -1.0f; + speed.z = 0.0f; + field_0x5fc = 0; + field_0x608 = 1; + field_0x606 = 0; + hookSwingInitParm(); + field_0x5f4 = current.pos.y - 800.0f; + if (getArg_0() == 0) { + u8 sw = getSW_0(); + if (i_fopAcM_isSwitch(this, sw)) { + mMode = MODE_HOOK_SWG; + current.pos.y = field_0x5f4; + field_0x5a8 = current.pos; + } + } } -#pragma pop /* 80BC86FC-80BC8780 00083C 0084+00 2/2 0/0 0/0 .text setModelMtx__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::setModelMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/setModelMtx__17daObjChandelier_cFv.s" +void daObjChandelier_c::setModelMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::ZrotM(shape_angle.z); + PSMTXCopy(mDoMtx_stack_c::get(), mMtx); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8D18-80BC8D1C 00003C 0004+00 0/1 0/0 0/0 .rodata @3857 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3857 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80BC8D18, &lit_3857); -#pragma pop - -/* 80BC8D1C-80BC8D20 000040 0004+00 0/1 0/0 0/0 .rodata @3858 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3858 = 3.0f; -COMPILER_STRIP_GATE(0x80BC8D1C, &lit_3858); -#pragma pop - -/* 80BC8D20-80BC8D24 000044 0004+00 0/1 0/0 0/0 .rodata @3859 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3859 = 127.0f; -COMPILER_STRIP_GATE(0x80BC8D20, &lit_3859); -#pragma pop - -/* 80BC8D24-80BC8D2C 000048 0008+00 0/2 0/0 0/0 .rodata @3861 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3861[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BC8D24, &lit_3861); -#pragma pop /* 80BC8780-80BC89B0 0008C0 0230+00 2/2 0/0 0/0 .text moveSwing__17daObjChandelier_cFffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::moveSwing(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwing__17daObjChandelier_cFffff.s" +void daObjChandelier_c::moveSwing(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { + f32 f1 = -param_1 + param_0 * field_0x5fc; + shape_angle.z += (s16)(field_0x608 * (f1 * field_0x5ec)); + shape_angle.y += (s16)(field_0x608 * field_0x604 * field_0x5ec); + if (f1 > param_1) { + field_0x5fc = 0; + field_0x608 *= -1; + field_0x604 = cM_rndFX(param_2); + if (cLib_chaseF(&field_0x5ec, field_0x5f0, 0.1f)) { + field_0x5f0 = param_3 + cM_rndF(param_3); + } + } + field_0x606 += field_0x608 * 0x200; + current.pos.x = orig.pos.x + cM_ssin(field_0x606) * 3.0f; + current.pos.z = orig.pos.z + cM_scos(field_0x606) * 3.0f; + u32 u1 = field_0x5f8 * field_0x5ec * 127.0f * 0.1f; + if (u1 > 0x7f) { + u1 = 0x7f; + } + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_CHANDLV9_SWING, ¤t.pos, u1, + 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + field_0x5fc++; } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8D2C-80BC8D30 000050 0004+00 0/1 0/0 0/0 .rodata @3895 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3895 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x80BC8D2C, &lit_3895); -#pragma pop /* 80BC89B0-80BC8B20 000AF0 0170+00 1/1 0/0 0/0 .text moveSwingFall__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::moveSwingFall() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/moveSwingFall__17daObjChandelier_cFv.s" +void daObjChandelier_c::moveSwingFall() { + static Vec TOP_POS_Y_OFFSET = { 0.0f, 3000.0f, 0.0f }; + cLib_chaseF(&field_0x5ec, 0.0f, 0.04f); + field_0x608 *= -1; + shape_angle.z = field_0x608 * 50.0f * field_0x5ec; + shape_angle.y += (s16)cM_rndFX(50.0f); + cXyz vec1 = field_0x5a8; + mDoMtx_stack_c::transS(vec1); + mDoMtx_stack_c::ZXYrotM(shape_angle); + cXyz vec2; + mDoMtx_stack_c::multVec(&TOP_POS_Y_OFFSET, &vec2); + cXyz vec3 = vec1 + TOP_POS_Y_OFFSET; + cXyz vec4 = vec3 - vec2; + current.pos = vec1 + vec4; } -#pragma pop - -/* ############################################################################################## */ -/* 80BC8D30-80BC8D34 000054 0004+00 0/1 0/0 0/0 .rodata @3905 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3905 = 6.0f / 5.0f; -COMPILER_STRIP_GATE(0x80BC8D30, &lit_3905); -#pragma pop - -/* 80BC8D34-80BC8D38 000058 0004+00 0/1 0/0 0/0 .rodata @3906 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3906 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80BC8D34, &lit_3906); -#pragma pop - -/* 80BC8D38-80BC8D3C 00005C 0004+00 0/1 0/0 0/0 .rodata @3907 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3907 = 5.0f; -COMPILER_STRIP_GATE(0x80BC8D38, &lit_3907); -#pragma pop /* 80BC8B20-80BC8B7C 000C60 005C+00 3/3 0/0 0/0 .text hookSwingInitParm__17daObjChandelier_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjChandelier_c::hookSwingInitParm() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/hookSwingInitParm__17daObjChandelier_cFv.s" +void daObjChandelier_c::hookSwingInitParm() { + field_0x5ec = 1.2f; + field_0x5f0 = 0.7f; + shape_angle.y = orig.angle.y; + shape_angle.z = orig.angle.z; + current.pos = field_0x5a8; + field_0x604 = 30; + field_0x5fc = 0; + field_0x5f8 = 5.0f; } -#pragma pop /* 80BC8B7C-80BC8BDC 000CBC 0060+00 1/0 0/0 0/0 .text * daObjChandelier_create1st__FP17daObjChandelier_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjChandelier_create1st(daObjChandelier_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_create1st__FP17daObjChandelier_c.s" +static cPhs__Step daObjChandelier_create1st(daObjChandelier_c* i_this) { + fopAcM_SetupActor(i_this, daObjChandelier_c); + return i_this->create1st(); } -#pragma pop /* 80BC8BDC-80BC8BFC 000D1C 0020+00 1/0 0/0 0/0 .text * daObjChandelier_MoveBGDelete__FP17daObjChandelier_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjChandelier_MoveBGDelete(daObjChandelier_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDelete__FP17daObjChandelier_c.s" +static int daObjChandelier_MoveBGDelete(daObjChandelier_c* i_this) { + return i_this->MoveBGDelete(); } -#pragma pop /* 80BC8BFC-80BC8C1C 000D3C 0020+00 1/0 0/0 0/0 .text * daObjChandelier_MoveBGExecute__FP17daObjChandelier_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjChandelier_MoveBGExecute(daObjChandelier_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGExecute__FP17daObjChandelier_c.s" +static int daObjChandelier_MoveBGExecute(daObjChandelier_c* i_this) { + return i_this->MoveBGExecute(); } -#pragma pop /* 80BC8C1C-80BC8C48 000D5C 002C+00 1/0 0/0 0/0 .text * daObjChandelier_MoveBGDraw__FP17daObjChandelier_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjChandelier_MoveBGDraw(daObjChandelier_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/daObjChandelier_MoveBGDraw__FP17daObjChandelier_c.s" +static int daObjChandelier_MoveBGDraw(daObjChandelier_c* i_this) { + return i_this->MoveBGDraw(); } -#pragma pop -/* 80BC8C48-80BC8CD0 000D88 0088+00 0/0 1/0 0/0 .text __sinit_d_a_obj_chandelier_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_obj_chandelier_cpp() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier/__sinit_d_a_obj_chandelier_cpp.s" -} -#pragma pop +/* 80BC8DEC-80BC8E0C -00001 0020+00 1/0 0/0 0/0 .data daObjChandelier_METHODS */ +static actor_method_class daObjChandelier_METHODS = { + (process_method_func)daObjChandelier_create1st, + (process_method_func)daObjChandelier_MoveBGDelete, + (process_method_func)daObjChandelier_MoveBGExecute, + (process_method_func)NULL, + (process_method_func)daObjChandelier_MoveBGDraw, +}; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80BC8C48, __sinit_d_a_obj_chandelier_cpp); -#pragma pop - -/* 80BC8D3C-80BC8D3C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80BC8E0C-80BC8E3C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Chandelier */ +extern actor_process_profile_definition g_profile_Obj_Chandelier = { + fpcLy_CURRENT_e, + 3, + fpcPi_CURRENT_e, + PROC_Obj_Chandelier, + &g_fpcLf_Method.mBase, + sizeof(daObjChandelier_c), + 0, + 0, + &g_fopAc_Method.base, + 0x2E5, + &daObjChandelier_METHODS, + 0x40080, + fopAc_ACTOR_e, + fopAc_CULLBOX_CUSTOM_e, +};