diff --git a/Progress.md b/Progress.md index 5aa2daacd3a..182abff7d4f 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 52.660948% | 2117324 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 52.660948% | 2117324 | 4020672 -RELs | 36.096931% | 4151264 | 11500324 -Total | 40.387795% | 6268588 | 15520996 +RELs | 36.196719% | 4162740 | 11500324 +Total | 40.461733% | 6280064 | 15520996 ## RELs @@ -376,7 +376,7 @@ d_a_obj_cboard | 100.000000% | 2648 | 2648 d_a_obj_cdoor | 100.000000% | 6568 | 6568 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_cho | 100.000000% | 13220 | 13220 d_a_obj_cowdoor | 100.000000% | 2188 | 2188 d_a_obj_crope | 26.014689% | 2692 | 10348 d_a_obj_crvfence | 37.146893% | 3156 | 8496 @@ -733,7 +733,7 @@ d_a_tag_hjump | 100.000000% | 3232 | 3232 d_a_tag_howl | 100.000000% | 1892 | 1892 d_a_tag_hstop | 100.000000% | 3424 | 3424 d_a_tag_instruction | 100.000000% | 712 | 712 -d_a_tag_kago_fall | 34.469328% | 1416 | 4108 +d_a_tag_kago_fall | 100.000000% | 4108 | 4108 d_a_tag_kmsg | 32.037997% | 1484 | 4632 d_a_tag_lantern | 100.000000% | 2384 | 2384 d_a_tag_lightball | 100.000000% | 2112 | 2112 @@ -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 | 36.096931% | 4151264 | 11500324 +Total | 36.196719% | 4162740 | 11500324 diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitFall__15daTagKagoFall_cFv.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitFall__15daTagKagoFall_cFv.s deleted file mode 100644 index 16eded630ed..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitFall__15daTagKagoFall_cFv.s +++ /dev/null @@ -1,299 +0,0 @@ -lbl_80D5A218: -/* 80D5A218 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 80D5A21C 7C 08 02 A6 */ mflr r0 -/* 80D5A220 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80D5A224 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 80D5A228 4B 60 7F B1 */ bl _savegpr_28 -/* 80D5A22C 7C 7D 1B 78 */ mr r29, r3 -/* 80D5A230 3C 80 80 D6 */ lis r4, lit_3907@ha /* 0x80D5A6EC@ha */ -/* 80D5A234 3B E4 A6 EC */ addi r31, r4, lit_3907@l /* 0x80D5A6EC@l */ -/* 80D5A238 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5A23C 3B 84 61 C0 */ addi r28, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5A240 83 DC 5D AC */ lwz r30, 0x5dac(r28) -/* 80D5A244 88 03 05 F6 */ lbz r0, 0x5f6(r3) -/* 80D5A248 2C 00 00 03 */ cmpwi r0, 3 -/* 80D5A24C 41 82 03 54 */ beq lbl_80D5A5A0 -/* 80D5A250 40 80 00 1C */ bge lbl_80D5A26C -/* 80D5A254 2C 00 00 01 */ cmpwi r0, 1 -/* 80D5A258 41 82 00 FC */ beq lbl_80D5A354 -/* 80D5A25C 40 80 02 64 */ bge lbl_80D5A4C0 -/* 80D5A260 2C 00 00 00 */ cmpwi r0, 0 -/* 80D5A264 40 80 00 14 */ bge lbl_80D5A278 -/* 80D5A268 48 00 03 FC */ b lbl_80D5A664 -lbl_80D5A26C: -/* 80D5A26C 2C 00 00 0A */ cmpwi r0, 0xa -/* 80D5A270 41 82 03 F4 */ beq lbl_80D5A664 -/* 80D5A274 48 00 03 F0 */ b lbl_80D5A664 -lbl_80D5A278: -/* 80D5A278 38 7D 05 B4 */ addi r3, r29, 0x5b4 -/* 80D5A27C 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 80D5A280 38 A1 00 18 */ addi r5, r1, 0x18 -/* 80D5A284 4B 5E CA E9 */ bl PSMTXMultVec -/* 80D5A288 C0 21 00 1C */ lfs f1, 0x1c(r1) -/* 80D5A28C C0 1D 04 F0 */ lfs f0, 0x4f0(r29) -/* 80D5A290 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D5A294 4C 40 13 82 */ cror 2, 0, 2 -/* 80D5A298 40 82 00 54 */ bne lbl_80D5A2EC -/* 80D5A29C C0 1F 00 14 */ lfs f0, 0x14(r31) -/* 80D5A2A0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D5A2A4 4C 41 13 82 */ cror 2, 1, 2 -/* 80D5A2A8 40 82 00 44 */ bne lbl_80D5A2EC -/* 80D5A2AC C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80D5A2B0 FC 00 02 10 */ fabs f0, f0 -/* 80D5A2B4 FC 20 00 18 */ frsp f1, f0 -/* 80D5A2B8 C0 1D 04 EC */ lfs f0, 0x4ec(r29) -/* 80D5A2BC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D5A2C0 4C 40 13 82 */ cror 2, 0, 2 -/* 80D5A2C4 40 82 00 28 */ bne lbl_80D5A2EC -/* 80D5A2C8 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80D5A2CC FC 00 02 10 */ fabs f0, f0 -/* 80D5A2D0 FC 20 00 18 */ frsp f1, f0 -/* 80D5A2D4 C0 1D 04 F4 */ lfs f0, 0x4f4(r29) -/* 80D5A2D8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D5A2DC 4C 40 13 82 */ cror 2, 0, 2 -/* 80D5A2E0 40 82 00 0C */ bne lbl_80D5A2EC -/* 80D5A2E4 38 00 00 01 */ li r0, 1 -/* 80D5A2E8 98 1D 05 F6 */ stb r0, 0x5f6(r29) -lbl_80D5A2EC: -/* 80D5A2EC 3C 60 80 D6 */ lis r3, m_master_id@ha /* 0x80D5A710@ha */ -/* 80D5A2F0 38 63 A7 10 */ addi r3, r3, m_master_id@l /* 0x80D5A710@l */ -/* 80D5A2F4 80 63 00 00 */ lwz r3, 0(r3) -/* 80D5A2F8 28 1D 00 00 */ cmplwi r29, 0 -/* 80D5A2FC 41 82 00 0C */ beq lbl_80D5A308 -/* 80D5A300 80 1D 00 04 */ lwz r0, 4(r29) -/* 80D5A304 48 00 00 08 */ b lbl_80D5A30C -lbl_80D5A308: -/* 80D5A308 38 00 FF FF */ li r0, -1 -lbl_80D5A30C: -/* 80D5A30C 7C 03 00 40 */ cmplw r3, r0 -/* 80D5A310 40 82 03 54 */ bne lbl_80D5A664 -/* 80D5A314 80 7C 5D AC */ lwz r3, 0x5dac(r28) -/* 80D5A318 88 03 05 6A */ lbz r0, 0x56a(r3) -/* 80D5A31C 28 00 00 2C */ cmplwi r0, 0x2c -/* 80D5A320 41 82 00 28 */ beq lbl_80D5A348 -/* 80D5A324 A8 7D 05 F2 */ lha r3, 0x5f2(r29) -/* 80D5A328 38 03 FF FF */ addi r0, r3, -1 -/* 80D5A32C B0 1D 05 F2 */ sth r0, 0x5f2(r29) -/* 80D5A330 A8 1D 05 F2 */ lha r0, 0x5f2(r29) -/* 80D5A334 2C 00 00 00 */ cmpwi r0, 0 -/* 80D5A338 40 82 03 2C */ bne lbl_80D5A664 -/* 80D5A33C 38 00 00 01 */ li r0, 1 -/* 80D5A340 98 1D 05 F6 */ stb r0, 0x5f6(r29) -/* 80D5A344 48 00 03 20 */ b lbl_80D5A664 -lbl_80D5A348: -/* 80D5A348 38 00 00 96 */ li r0, 0x96 -/* 80D5A34C B0 1D 05 F2 */ sth r0, 0x5f2(r29) -/* 80D5A350 48 00 03 14 */ b lbl_80D5A664 -lbl_80D5A354: -/* 80D5A354 A0 1C 00 02 */ lhz r0, 2(r28) -/* 80D5A358 28 00 00 00 */ cmplwi r0, 0 -/* 80D5A35C 40 82 00 A0 */ bne lbl_80D5A3FC -/* 80D5A360 7F C3 F3 78 */ mr r3, r30 -/* 80D5A364 88 9D 05 F7 */ lbz r4, 0x5f7(r29) -/* 80D5A368 38 A0 00 FF */ li r5, 0xff -/* 80D5A36C 38 C0 00 00 */ li r6, 0 -/* 80D5A370 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80D5A374 81 8C 01 80 */ lwz r12, 0x180(r12) -/* 80D5A378 7D 89 03 A6 */ mtctr r12 -/* 80D5A37C 4E 80 04 21 */ bctrl -/* 80D5A380 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 80D5A384 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10 -/* 80D5A388 41 82 02 DC */ beq lbl_80D5A664 -/* 80D5A38C 88 1D 05 F9 */ lbz r0, 0x5f9(r29) -/* 80D5A390 28 00 00 00 */ cmplwi r0, 0 -/* 80D5A394 40 82 02 D0 */ bne lbl_80D5A664 -/* 80D5A398 38 00 00 33 */ li r0, 0x33 -/* 80D5A39C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5A3A0 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80D5A3A4 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80D5A3A8 80 63 00 00 */ lwz r3, 0(r3) -/* 80D5A3AC 38 81 00 14 */ addi r4, r1, 0x14 -/* 80D5A3B0 38 A0 00 00 */ li r5, 0 -/* 80D5A3B4 38 C0 00 00 */ li r6, 0 -/* 80D5A3B8 38 E0 00 00 */ li r7, 0 -/* 80D5A3BC C0 3F 00 08 */ lfs f1, 8(r31) -/* 80D5A3C0 FC 40 08 90 */ fmr f2, f1 -/* 80D5A3C4 C0 7F 00 0C */ lfs f3, 0xc(r31) -/* 80D5A3C8 FC 80 18 90 */ fmr f4, f3 -/* 80D5A3CC 39 00 00 00 */ li r8, 0 -/* 80D5A3D0 4B 55 15 B5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80D5A3D4 7F C3 F3 78 */ mr r3, r30 -/* 80D5A3D8 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010041@ha */ -/* 80D5A3DC 38 84 00 41 */ addi r4, r4, 0x0041 /* 0x00010041@l */ -/* 80D5A3E0 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80D5A3E4 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 80D5A3E8 7D 89 03 A6 */ mtctr r12 -/* 80D5A3EC 4E 80 04 21 */ bctrl -/* 80D5A3F0 38 00 00 01 */ li r0, 1 -/* 80D5A3F4 98 1D 05 F9 */ stb r0, 0x5f9(r29) -/* 80D5A3F8 48 00 02 6C */ b lbl_80D5A664 -lbl_80D5A3FC: -/* 80D5A3FC A0 1D 00 F8 */ lhz r0, 0xf8(r29) -/* 80D5A400 28 00 00 02 */ cmplwi r0, 2 -/* 80D5A404 41 82 00 40 */ beq lbl_80D5A444 -/* 80D5A408 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80D5A40C D0 1D 05 E4 */ stfs f0, 0x5e4(r29) -/* 80D5A410 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80D5A414 D0 1D 05 E8 */ stfs f0, 0x5e8(r29) -/* 80D5A418 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80D5A41C D0 1D 05 EC */ stfs f0, 0x5ec(r29) -/* 80D5A420 38 80 00 01 */ li r4, 1 -/* 80D5A424 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000FFFF@ha */ -/* 80D5A428 38 A5 FF FF */ addi r5, r5, 0xFFFF /* 0x0000FFFF@l */ -/* 80D5A42C 38 C0 00 00 */ li r6, 0 -/* 80D5A430 4B 2C 14 D9 */ bl fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs -/* 80D5A434 A0 1D 00 FA */ lhz r0, 0xfa(r29) -/* 80D5A438 60 00 00 02 */ ori r0, r0, 2 -/* 80D5A43C B0 1D 00 FA */ sth r0, 0xfa(r29) -/* 80D5A440 48 00 02 24 */ b lbl_80D5A664 -lbl_80D5A444: -/* 80D5A444 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80D5A448 3C 60 80 45 */ lis r3, g_blackColor@ha /* 0x80450604@ha */ -/* 80D5A44C 38 63 06 04 */ addi r3, r3, g_blackColor@l /* 0x80450604@l */ -/* 80D5A450 4B 2A DB 89 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor -/* 80D5A454 38 00 00 3C */ li r0, 0x3c -/* 80D5A458 B0 1D 05 F0 */ sth r0, 0x5f0(r29) -/* 80D5A45C 38 00 00 02 */ li r0, 2 -/* 80D5A460 98 1D 05 F6 */ stb r0, 0x5f6(r29) -/* 80D5A464 38 00 00 33 */ li r0, 0x33 -/* 80D5A468 90 01 00 10 */ stw r0, 0x10(r1) -/* 80D5A46C 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80D5A470 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80D5A474 80 63 00 00 */ lwz r3, 0(r3) -/* 80D5A478 38 81 00 10 */ addi r4, r1, 0x10 -/* 80D5A47C 38 A0 00 00 */ li r5, 0 -/* 80D5A480 38 C0 00 00 */ li r6, 0 -/* 80D5A484 38 E0 00 00 */ li r7, 0 -/* 80D5A488 C0 3F 00 08 */ lfs f1, 8(r31) -/* 80D5A48C FC 40 08 90 */ fmr f2, f1 -/* 80D5A490 C0 7F 00 0C */ lfs f3, 0xc(r31) -/* 80D5A494 FC 80 18 90 */ fmr f4, f3 -/* 80D5A498 39 00 00 00 */ li r8, 0 -/* 80D5A49C 4B 55 14 E9 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80D5A4A0 7F C3 F3 78 */ mr r3, r30 -/* 80D5A4A4 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010041@ha */ -/* 80D5A4A8 38 84 00 41 */ addi r4, r4, 0x0041 /* 0x00010041@l */ -/* 80D5A4AC 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80D5A4B0 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 80D5A4B4 7D 89 03 A6 */ mtctr r12 -/* 80D5A4B8 4E 80 04 21 */ bctrl -/* 80D5A4BC 48 00 01 A8 */ b lbl_80D5A664 -lbl_80D5A4C0: -/* 80D5A4C0 A8 7D 05 F0 */ lha r3, 0x5f0(r29) -/* 80D5A4C4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5A4C8 41 82 00 0C */ beq lbl_80D5A4D4 -/* 80D5A4CC 38 03 FF FF */ addi r0, r3, -1 -/* 80D5A4D0 B0 1D 05 F0 */ sth r0, 0x5f0(r29) -lbl_80D5A4D4: -/* 80D5A4D4 A8 1D 05 F0 */ lha r0, 0x5f0(r29) -/* 80D5A4D8 2C 00 00 2D */ cmpwi r0, 0x2d -/* 80D5A4DC 41 81 00 24 */ bgt lbl_80D5A500 -/* 80D5A4E0 7F C3 F3 78 */ mr r3, r30 -/* 80D5A4E4 38 9D 05 E4 */ addi r4, r29, 0x5e4 -/* 80D5A4E8 38 A0 00 00 */ li r5, 0 -/* 80D5A4EC 38 C0 00 00 */ li r6, 0 -/* 80D5A4F0 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80D5A4F4 81 8C 01 54 */ lwz r12, 0x154(r12) -/* 80D5A4F8 7D 89 03 A6 */ mtctr r12 -/* 80D5A4FC 4E 80 04 21 */ bctrl -lbl_80D5A500: -/* 80D5A500 A8 1D 05 F0 */ lha r0, 0x5f0(r29) -/* 80D5A504 2C 00 00 00 */ cmpwi r0, 0 -/* 80D5A508 40 82 01 5C */ bne lbl_80D5A664 -/* 80D5A50C 4B 42 71 35 */ bl dCam_getBody__Fv -/* 80D5A510 4B 40 6F C1 */ bl Stop__9dCamera_cFv -/* 80D5A514 4B 42 71 2D */ bl dCam_getBody__Fv -/* 80D5A518 38 80 00 03 */ li r4, 3 -/* 80D5A51C 4B 40 8A F1 */ bl SetTrimSize__9dCamera_cFl -/* 80D5A520 38 7D 05 68 */ addi r3, r29, 0x568 -/* 80D5A524 7F A4 EB 78 */ mr r4, r29 -/* 80D5A528 38 A0 07 D4 */ li r5, 0x7d4 -/* 80D5A52C 38 C0 00 00 */ li r6, 0 -/* 80D5A530 38 E0 00 00 */ li r7, 0 -/* 80D5A534 4B 4E FA 5D */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 80D5A538 38 00 00 03 */ li r0, 3 -/* 80D5A53C 98 1D 05 F6 */ stb r0, 0x5f6(r29) -/* 80D5A540 38 61 00 24 */ addi r3, r1, 0x24 -/* 80D5A544 4B 31 D7 25 */ bl __ct__11dBgS_LinChkFv -/* 80D5A548 C0 3D 05 E8 */ lfs f1, 0x5e8(r29) -/* 80D5A54C C0 1F 00 18 */ lfs f0, 0x18(r31) -/* 80D5A550 EC 01 00 2A */ fadds f0, f1, f0 -/* 80D5A554 D0 1D 05 E8 */ stfs f0, 0x5e8(r29) -/* 80D5A558 38 61 00 24 */ addi r3, r1, 0x24 -/* 80D5A55C 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 80D5A560 38 BD 05 E4 */ addi r5, r29, 0x5e4 -/* 80D5A564 38 C0 00 00 */ li r6, 0 -/* 80D5A568 4B 31 D7 FD */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 80D5A56C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5A570 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5A574 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80D5A578 38 81 00 24 */ addi r4, r1, 0x24 -/* 80D5A57C 4B 31 9E 39 */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 80D5A580 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D5A584 41 82 00 0C */ beq lbl_80D5A590 -/* 80D5A588 C0 01 00 58 */ lfs f0, 0x58(r1) -/* 80D5A58C D0 1D 05 E8 */ stfs f0, 0x5e8(r29) -lbl_80D5A590: -/* 80D5A590 38 61 00 24 */ addi r3, r1, 0x24 -/* 80D5A594 38 80 FF FF */ li r4, -1 -/* 80D5A598 4B 31 D7 45 */ bl __dt__11dBgS_LinChkFv -/* 80D5A59C 48 00 00 C8 */ b lbl_80D5A664 -lbl_80D5A5A0: -/* 80D5A5A0 7F C3 F3 78 */ mr r3, r30 -/* 80D5A5A4 38 9D 05 E4 */ addi r4, r29, 0x5e4 -/* 80D5A5A8 38 A0 00 00 */ li r5, 0 -/* 80D5A5AC 38 C0 00 00 */ li r6, 0 -/* 80D5A5B0 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80D5A5B4 81 8C 01 54 */ lwz r12, 0x154(r12) -/* 80D5A5B8 7D 89 03 A6 */ mtctr r12 -/* 80D5A5BC 4E 80 04 21 */ bctrl -/* 80D5A5C0 38 7D 05 68 */ addi r3, r29, 0x568 -/* 80D5A5C4 7F A4 EB 78 */ mr r4, r29 -/* 80D5A5C8 38 A0 00 00 */ li r5, 0 -/* 80D5A5CC 38 C0 00 00 */ li r6, 0 -/* 80D5A5D0 4B 4E FD 09 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80D5A5D4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5A5D8 41 82 00 8C */ beq lbl_80D5A664 -/* 80D5A5DC 4B 4D DE 65 */ bl getSelectCursorPos__12dMsgObject_cFv -/* 80D5A5E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D5A5E4 41 82 00 28 */ beq lbl_80D5A60C -/* 80D5A5E8 88 7D 05 F7 */ lbz r3, 0x5f7(r29) -/* 80D5A5EC C0 3F 00 14 */ lfs f1, 0x14(r31) -/* 80D5A5F0 38 80 00 00 */ li r4, 0 -/* 80D5A5F4 88 1D 04 E2 */ lbz r0, 0x4e2(r29) -/* 80D5A5F8 7C 05 07 74 */ extsb r5, r0 -/* 80D5A5FC 38 C0 00 00 */ li r6, 0 -/* 80D5A600 38 E0 FF FF */ li r7, -1 -/* 80D5A604 4B 2C CB 6D */ bl dStage_changeScene__FifUlScsi -/* 80D5A608 48 00 00 54 */ b lbl_80D5A65C -lbl_80D5A60C: -/* 80D5A60C 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80D5A610 8B 83 0D 64 */ lbz r28, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */ -/* 80D5A614 7F 9C 07 74 */ extsb r28, r28 -/* 80D5A618 38 60 00 00 */ li r3, 0 -/* 80D5A61C 4B 2D 23 61 */ bl getLayerNo__14dComIfG_play_cFi -/* 80D5A620 7C 66 07 74 */ extsb r6, r3 -/* 80D5A624 38 00 00 01 */ li r0, 1 -/* 80D5A628 90 01 00 08 */ stw r0, 8(r1) -/* 80D5A62C 38 00 00 00 */ li r0, 0 -/* 80D5A630 90 01 00 0C */ stw r0, 0xc(r1) -/* 80D5A634 3C 60 80 D6 */ lis r3, d_a_tag_kago_fall__stringBase0@ha /* 0x80D5A708@ha */ -/* 80D5A638 38 63 A7 08 */ addi r3, r3, d_a_tag_kago_fall__stringBase0@l /* 0x80D5A708@l */ -/* 80D5A63C 88 9D 05 F8 */ lbz r4, 0x5f8(r29) -/* 80D5A640 7F 85 E3 78 */ mr r5, r28 -/* 80D5A644 C0 3F 00 14 */ lfs f1, 0x14(r31) -/* 80D5A648 38 E0 00 0A */ li r7, 0xa -/* 80D5A64C 39 00 00 01 */ li r8, 1 -/* 80D5A650 39 20 00 00 */ li r9, 0 -/* 80D5A654 39 40 00 00 */ li r10, 0 -/* 80D5A658 4B 2D 2C A5 */ bl dComIfGp_setNextStage__FPCcsScScfUliScsii -lbl_80D5A65C: -/* 80D5A65C 38 00 00 0A */ li r0, 0xa -/* 80D5A660 98 1D 05 F6 */ stb r0, 0x5f6(r29) -lbl_80D5A664: -/* 80D5A664 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 80D5A668 4B 60 7B BD */ bl _restgpr_28 -/* 80D5A66C 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 80D5A670 7C 08 03 A6 */ mtlr r0 -/* 80D5A674 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 80D5A678 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitRiver__15daTagKagoFall_cFv.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitRiver__15daTagKagoFall_cFv.s deleted file mode 100644 index 6f1bba27c78..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitRiver__15daTagKagoFall_cFv.s +++ /dev/null @@ -1,273 +0,0 @@ -lbl_80D59E24: -/* 80D59E24 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 80D59E28 7C 08 02 A6 */ mflr r0 -/* 80D59E2C 90 01 00 74 */ stw r0, 0x74(r1) -/* 80D59E30 39 61 00 70 */ addi r11, r1, 0x70 -/* 80D59E34 4B 60 83 A1 */ bl _savegpr_27 -/* 80D59E38 7C 7C 1B 78 */ mr r28, r3 -/* 80D59E3C 3C 60 80 D6 */ lis r3, lit_3907@ha /* 0x80D5A6EC@ha */ -/* 80D59E40 3B E3 A6 EC */ addi r31, r3, lit_3907@l /* 0x80D5A6EC@l */ -/* 80D59E44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D59E48 3B 63 61 C0 */ addi r27, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D59E4C 83 DB 5D AC */ lwz r30, 0x5dac(r27) -/* 80D59E50 4B 42 77 F1 */ bl dCam_getBody__Fv -/* 80D59E54 7C 7D 1B 78 */ mr r29, r3 -/* 80D59E58 A8 7C 05 F0 */ lha r3, 0x5f0(r28) -/* 80D59E5C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D59E60 41 82 00 0C */ beq lbl_80D59E6C -/* 80D59E64 38 03 FF FF */ addi r0, r3, -1 -/* 80D59E68 B0 1C 05 F0 */ sth r0, 0x5f0(r28) -lbl_80D59E6C: -/* 80D59E6C 88 7C 05 F4 */ lbz r3, 0x5f4(r28) -/* 80D59E70 28 03 00 00 */ cmplwi r3, 0 -/* 80D59E74 41 82 00 0C */ beq lbl_80D59E80 -/* 80D59E78 38 03 FF FF */ addi r0, r3, -1 -/* 80D59E7C 98 1C 05 F4 */ stb r0, 0x5f4(r28) -lbl_80D59E80: -/* 80D59E80 88 1C 05 F6 */ lbz r0, 0x5f6(r28) -/* 80D59E84 2C 00 00 03 */ cmpwi r0, 3 -/* 80D59E88 41 82 02 94 */ beq lbl_80D5A11C -/* 80D59E8C 40 80 00 1C */ bge lbl_80D59EA8 -/* 80D59E90 2C 00 00 01 */ cmpwi r0, 1 -/* 80D59E94 41 82 01 44 */ beq lbl_80D59FD8 -/* 80D59E98 40 80 02 14 */ bge lbl_80D5A0AC -/* 80D59E9C 2C 00 00 00 */ cmpwi r0, 0 -/* 80D59EA0 40 80 00 18 */ bge lbl_80D59EB8 -/* 80D59EA4 48 00 03 5C */ b lbl_80D5A200 -lbl_80D59EA8: -/* 80D59EA8 2C 00 00 05 */ cmpwi r0, 5 -/* 80D59EAC 41 82 03 54 */ beq lbl_80D5A200 -/* 80D59EB0 40 80 03 50 */ bge lbl_80D5A200 -/* 80D59EB4 48 00 02 98 */ b lbl_80D5A14C -lbl_80D59EB8: -/* 80D59EB8 3C 60 80 D6 */ lis r3, m_master_id@ha /* 0x80D5A710@ha */ -/* 80D59EBC 38 63 A7 10 */ addi r3, r3, m_master_id@l /* 0x80D5A710@l */ -/* 80D59EC0 80 63 00 00 */ lwz r3, 0(r3) -/* 80D59EC4 28 1C 00 00 */ cmplwi r28, 0 -/* 80D59EC8 41 82 00 0C */ beq lbl_80D59ED4 -/* 80D59ECC 80 1C 00 04 */ lwz r0, 4(r28) -/* 80D59ED0 48 00 00 08 */ b lbl_80D59ED8 -lbl_80D59ED4: -/* 80D59ED4 38 00 FF FF */ li r0, -1 -lbl_80D59ED8: -/* 80D59ED8 7C 03 00 40 */ cmplw r3, r0 -/* 80D59EDC 40 82 00 44 */ bne lbl_80D59F20 -/* 80D59EE0 80 7B 5D AC */ lwz r3, 0x5dac(r27) -/* 80D59EE4 88 03 05 6A */ lbz r0, 0x56a(r3) -/* 80D59EE8 28 00 00 2C */ cmplwi r0, 0x2c -/* 80D59EEC 41 82 00 2C */ beq lbl_80D59F18 -/* 80D59EF0 A8 7C 05 F2 */ lha r3, 0x5f2(r28) -/* 80D59EF4 38 03 FF FF */ addi r0, r3, -1 -/* 80D59EF8 B0 1C 05 F2 */ sth r0, 0x5f2(r28) -/* 80D59EFC A8 1C 05 F2 */ lha r0, 0x5f2(r28) -/* 80D59F00 2C 00 00 00 */ cmpwi r0, 0 -/* 80D59F04 40 82 00 1C */ bne lbl_80D59F20 -/* 80D59F08 38 00 00 01 */ li r0, 1 -/* 80D59F0C 98 1C 05 F6 */ stb r0, 0x5f6(r28) -/* 80D59F10 98 1C 05 F5 */ stb r0, 0x5f5(r28) -/* 80D59F14 48 00 02 EC */ b lbl_80D5A200 -lbl_80D59F18: -/* 80D59F18 38 00 00 96 */ li r0, 0x96 -/* 80D59F1C B0 1C 05 F2 */ sth r0, 0x5f2(r28) -lbl_80D59F20: -/* 80D59F20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D59F24 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D59F28 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 80D59F2C 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 80D59F30 41 82 02 D0 */ beq lbl_80D5A200 -/* 80D59F34 A0 03 00 02 */ lhz r0, 2(r3) -/* 80D59F38 28 00 00 00 */ cmplwi r0, 0 -/* 80D59F3C 41 82 02 C4 */ beq lbl_80D5A200 -/* 80D59F40 A0 1C 00 F8 */ lhz r0, 0xf8(r28) -/* 80D59F44 28 00 00 02 */ cmplwi r0, 2 -/* 80D59F48 41 82 00 2C */ beq lbl_80D59F74 -/* 80D59F4C 7F 83 E3 78 */ mr r3, r28 -/* 80D59F50 38 80 00 01 */ li r4, 1 -/* 80D59F54 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000FFFF@ha */ -/* 80D59F58 38 A5 FF FF */ addi r5, r5, 0xFFFF /* 0x0000FFFF@l */ -/* 80D59F5C 38 C0 00 03 */ li r6, 3 -/* 80D59F60 4B 2C 19 A9 */ bl fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs -/* 80D59F64 A0 1C 00 FA */ lhz r0, 0xfa(r28) -/* 80D59F68 60 00 00 02 */ ori r0, r0, 2 -/* 80D59F6C B0 1C 00 FA */ sth r0, 0xfa(r28) -/* 80D59F70 48 00 02 90 */ b lbl_80D5A200 -lbl_80D59F74: -/* 80D59F74 7F A3 EB 78 */ mr r3, r29 -/* 80D59F78 4B 40 75 59 */ bl Stop__9dCamera_cFv -/* 80D59F7C 7F A3 EB 78 */ mr r3, r29 -/* 80D59F80 38 80 00 03 */ li r4, 3 -/* 80D59F84 4B 40 90 89 */ bl SetTrimSize__9dCamera_cFl -/* 80D59F88 4B 42 76 B9 */ bl dCam_getBody__Fv -/* 80D59F8C 7C 64 1B 78 */ mr r4, r3 -/* 80D59F90 38 61 00 44 */ addi r3, r1, 0x44 -/* 80D59F94 4B 42 7E D1 */ bl Eye__9dCamera_cFv -/* 80D59F98 C0 01 00 44 */ lfs f0, 0x44(r1) -/* 80D59F9C D0 1C 05 E4 */ stfs f0, 0x5e4(r28) -/* 80D59FA0 C0 01 00 48 */ lfs f0, 0x48(r1) -/* 80D59FA4 D0 1C 05 E8 */ stfs f0, 0x5e8(r28) -/* 80D59FA8 C0 01 00 4C */ lfs f0, 0x4c(r1) -/* 80D59FAC D0 1C 05 EC */ stfs f0, 0x5ec(r28) -/* 80D59FB0 38 00 00 01 */ li r0, 1 -/* 80D59FB4 98 1C 05 F6 */ stb r0, 0x5f6(r28) -/* 80D59FB8 38 00 00 1E */ li r0, 0x1e -/* 80D59FBC B0 1C 05 F0 */ sth r0, 0x5f0(r28) -/* 80D59FC0 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 80D59FC4 64 00 00 01 */ oris r0, r0, 1 -/* 80D59FC8 90 1E 05 70 */ stw r0, 0x570(r30) -/* 80D59FCC 38 00 00 3C */ li r0, 0x3c -/* 80D59FD0 98 1C 05 F4 */ stb r0, 0x5f4(r28) -/* 80D59FD4 48 00 02 2C */ b lbl_80D5A200 -lbl_80D59FD8: -/* 80D59FD8 A8 1C 05 F0 */ lha r0, 0x5f0(r28) -/* 80D59FDC 2C 00 00 01 */ cmpwi r0, 1 -/* 80D59FE0 40 82 00 20 */ bne lbl_80D5A000 -/* 80D59FE4 7F C3 F3 78 */ mr r3, r30 -/* 80D59FE8 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010041@ha */ -/* 80D59FEC 38 84 00 41 */ addi r4, r4, 0x0041 /* 0x00010041@l */ -/* 80D59FF0 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80D59FF4 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 80D59FF8 7D 89 03 A6 */ mtctr r12 -/* 80D59FFC 4E 80 04 21 */ bctrl -lbl_80D5A000: -/* 80D5A000 88 1C 05 F4 */ lbz r0, 0x5f4(r28) -/* 80D5A004 28 00 00 00 */ cmplwi r0, 0 -/* 80D5A008 40 82 00 60 */ bne lbl_80D5A068 -/* 80D5A00C 38 00 00 33 */ li r0, 0x33 -/* 80D5A010 90 01 00 10 */ stw r0, 0x10(r1) -/* 80D5A014 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 80D5A018 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 80D5A01C 80 63 00 00 */ lwz r3, 0(r3) -/* 80D5A020 38 81 00 10 */ addi r4, r1, 0x10 -/* 80D5A024 38 A0 00 00 */ li r5, 0 -/* 80D5A028 38 C0 00 00 */ li r6, 0 -/* 80D5A02C 38 E0 00 00 */ li r7, 0 -/* 80D5A030 C0 3F 00 08 */ lfs f1, 8(r31) -/* 80D5A034 FC 40 08 90 */ fmr f2, f1 -/* 80D5A038 C0 7F 00 0C */ lfs f3, 0xc(r31) -/* 80D5A03C FC 80 18 90 */ fmr f4, f3 -/* 80D5A040 39 00 00 00 */ li r8, 0 -/* 80D5A044 4B 55 19 41 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80D5A048 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80D5A04C 3C 60 80 45 */ lis r3, g_blackColor@ha /* 0x80450604@ha */ -/* 80D5A050 38 63 06 04 */ addi r3, r3, g_blackColor@l /* 0x80450604@l */ -/* 80D5A054 4B 2A DF 85 */ bl fadeOut__13mDoGph_gInf_cFfR8_GXColor -/* 80D5A058 38 00 00 14 */ li r0, 0x14 -/* 80D5A05C 98 1C 05 F4 */ stb r0, 0x5f4(r28) -/* 80D5A060 38 00 00 02 */ li r0, 2 -/* 80D5A064 98 1C 05 F6 */ stb r0, 0x5f6(r28) -lbl_80D5A068: -/* 80D5A068 C0 1E 05 38 */ lfs f0, 0x538(r30) -/* 80D5A06C D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80D5A070 C0 1E 05 3C */ lfs f0, 0x53c(r30) -/* 80D5A074 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80D5A078 C0 1E 05 40 */ lfs f0, 0x540(r30) -/* 80D5A07C D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80D5A080 C0 1C 05 E4 */ lfs f0, 0x5e4(r28) -/* 80D5A084 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80D5A088 C0 1C 05 E8 */ lfs f0, 0x5e8(r28) -/* 80D5A08C D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80D5A090 C0 1C 05 EC */ lfs f0, 0x5ec(r28) -/* 80D5A094 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80D5A098 4B 42 75 A9 */ bl dCam_getBody__Fv -/* 80D5A09C 38 81 00 38 */ addi r4, r1, 0x38 -/* 80D5A0A0 38 A1 00 2C */ addi r5, r1, 0x2c -/* 80D5A0A4 4B 42 6A 05 */ bl Set__9dCamera_cF4cXyz4cXyz -/* 80D5A0A8 48 00 01 58 */ b lbl_80D5A200 -lbl_80D5A0AC: -/* 80D5A0AC 88 1C 05 F4 */ lbz r0, 0x5f4(r28) -/* 80D5A0B0 28 00 00 00 */ cmplwi r0, 0 -/* 80D5A0B4 40 82 00 24 */ bne lbl_80D5A0D8 -/* 80D5A0B8 80 7B 5D AC */ lwz r3, 0x5dac(r27) -/* 80D5A0BC 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80D5A0C0 54 00 04 1C */ rlwinm r0, r0, 0, 0x10, 0xe -/* 80D5A0C4 90 03 05 70 */ stw r0, 0x570(r3) -/* 80D5A0C8 38 00 00 03 */ li r0, 3 -/* 80D5A0CC 98 1C 05 F6 */ stb r0, 0x5f6(r28) -/* 80D5A0D0 38 00 00 28 */ li r0, 0x28 -/* 80D5A0D4 B0 1C 05 F0 */ sth r0, 0x5f0(r28) -lbl_80D5A0D8: -/* 80D5A0D8 C0 1E 05 38 */ lfs f0, 0x538(r30) -/* 80D5A0DC D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80D5A0E0 C0 1E 05 3C */ lfs f0, 0x53c(r30) -/* 80D5A0E4 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80D5A0E8 C0 1E 05 40 */ lfs f0, 0x540(r30) -/* 80D5A0EC D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80D5A0F0 C0 1C 05 E4 */ lfs f0, 0x5e4(r28) -/* 80D5A0F4 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80D5A0F8 C0 1C 05 E8 */ lfs f0, 0x5e8(r28) -/* 80D5A0FC D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80D5A100 C0 1C 05 EC */ lfs f0, 0x5ec(r28) -/* 80D5A104 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80D5A108 4B 42 75 39 */ bl dCam_getBody__Fv -/* 80D5A10C 38 81 00 20 */ addi r4, r1, 0x20 -/* 80D5A110 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80D5A114 4B 42 69 95 */ bl Set__9dCamera_cF4cXyz4cXyz -/* 80D5A118 48 00 00 E8 */ b lbl_80D5A200 -lbl_80D5A11C: -/* 80D5A11C A8 1C 05 F0 */ lha r0, 0x5f0(r28) -/* 80D5A120 2C 00 00 00 */ cmpwi r0, 0 -/* 80D5A124 40 82 00 DC */ bne lbl_80D5A200 -/* 80D5A128 38 7C 05 68 */ addi r3, r28, 0x568 -/* 80D5A12C 7F 84 E3 78 */ mr r4, r28 -/* 80D5A130 38 A0 07 D4 */ li r5, 0x7d4 -/* 80D5A134 38 C0 00 00 */ li r6, 0 -/* 80D5A138 38 E0 00 00 */ li r7, 0 -/* 80D5A13C 4B 4E FE 55 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 80D5A140 38 00 00 04 */ li r0, 4 -/* 80D5A144 98 1C 05 F6 */ stb r0, 0x5f6(r28) -/* 80D5A148 48 00 00 B8 */ b lbl_80D5A200 -lbl_80D5A14C: -/* 80D5A14C 80 7B 5D AC */ lwz r3, 0x5dac(r27) -/* 80D5A150 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80D5A154 54 00 04 1C */ rlwinm r0, r0, 0, 0x10, 0xe -/* 80D5A158 90 03 05 70 */ stw r0, 0x570(r3) -/* 80D5A15C 38 7C 05 68 */ addi r3, r28, 0x568 -/* 80D5A160 7F 84 E3 78 */ mr r4, r28 -/* 80D5A164 38 A0 00 00 */ li r5, 0 -/* 80D5A168 38 C0 00 00 */ li r6, 0 -/* 80D5A16C 4B 4F 01 6D */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80D5A170 2C 03 00 00 */ cmpwi r3, 0 -/* 80D5A174 41 82 00 8C */ beq lbl_80D5A200 -/* 80D5A178 4B 4D E2 C9 */ bl getSelectCursorPos__12dMsgObject_cFv -/* 80D5A17C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D5A180 41 82 00 28 */ beq lbl_80D5A1A8 -/* 80D5A184 88 7C 05 F7 */ lbz r3, 0x5f7(r28) -/* 80D5A188 C0 3F 00 14 */ lfs f1, 0x14(r31) -/* 80D5A18C 38 80 00 00 */ li r4, 0 -/* 80D5A190 88 1C 04 E2 */ lbz r0, 0x4e2(r28) -/* 80D5A194 7C 05 07 74 */ extsb r5, r0 -/* 80D5A198 38 C0 00 00 */ li r6, 0 -/* 80D5A19C 38 E0 FF FF */ li r7, -1 -/* 80D5A1A0 4B 2C CF D1 */ bl dStage_changeScene__FifUlScsi -/* 80D5A1A4 48 00 00 54 */ b lbl_80D5A1F8 -lbl_80D5A1A8: -/* 80D5A1A8 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80D5A1AC 8B 63 0D 64 */ lbz r27, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */ -/* 80D5A1B0 7F 7B 07 74 */ extsb r27, r27 -/* 80D5A1B4 38 60 00 00 */ li r3, 0 -/* 80D5A1B8 4B 2D 27 C5 */ bl getLayerNo__14dComIfG_play_cFi -/* 80D5A1BC 7C 66 07 74 */ extsb r6, r3 -/* 80D5A1C0 38 00 00 01 */ li r0, 1 -/* 80D5A1C4 90 01 00 08 */ stw r0, 8(r1) -/* 80D5A1C8 38 00 00 00 */ li r0, 0 -/* 80D5A1CC 90 01 00 0C */ stw r0, 0xc(r1) -/* 80D5A1D0 3C 60 80 D6 */ lis r3, d_a_tag_kago_fall__stringBase0@ha /* 0x80D5A708@ha */ -/* 80D5A1D4 38 63 A7 08 */ addi r3, r3, d_a_tag_kago_fall__stringBase0@l /* 0x80D5A708@l */ -/* 80D5A1D8 88 9C 05 F8 */ lbz r4, 0x5f8(r28) -/* 80D5A1DC 7F 65 DB 78 */ mr r5, r27 -/* 80D5A1E0 C0 3F 00 14 */ lfs f1, 0x14(r31) -/* 80D5A1E4 38 E0 00 0A */ li r7, 0xa -/* 80D5A1E8 39 00 00 01 */ li r8, 1 -/* 80D5A1EC 39 20 00 00 */ li r9, 0 -/* 80D5A1F0 39 40 00 00 */ li r10, 0 -/* 80D5A1F4 4B 2D 31 09 */ bl dComIfGp_setNextStage__FPCcsScScfUliScsii -lbl_80D5A1F8: -/* 80D5A1F8 38 00 00 05 */ li r0, 5 -/* 80D5A1FC 98 1C 05 F6 */ stb r0, 0x5f6(r28) -lbl_80D5A200: -/* 80D5A200 39 61 00 70 */ addi r11, r1, 0x70 -/* 80D5A204 4B 60 80 1D */ bl _restgpr_27 -/* 80D5A208 80 01 00 74 */ lwz r0, 0x74(r1) -/* 80D5A20C 7C 08 03 A6 */ mtlr r0 -/* 80D5A210 38 21 00 70 */ addi r1, r1, 0x70 -/* 80D5A214 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/create__15daTagKagoFall_cFv.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/create__15daTagKagoFall_cFv.s deleted file mode 100644 index fa0ea202b0d..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/create__15daTagKagoFall_cFv.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_80D59C58: -/* 80D59C58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D59C5C 7C 08 02 A6 */ mflr r0 -/* 80D59C60 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D59C64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D59C68 93 C1 00 08 */ stw r30, 8(r1) -/* 80D59C6C 7C 7F 1B 78 */ mr r31, r3 -/* 80D59C70 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D59C74 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D59C78 40 82 00 28 */ bne lbl_80D59CA0 -/* 80D59C7C 7F E0 FB 79 */ or. r0, r31, r31 -/* 80D59C80 41 82 00 14 */ beq lbl_80D59C94 -/* 80D59C84 7C 1E 03 78 */ mr r30, r0 -/* 80D59C88 4B 2B EE DD */ bl __ct__10fopAc_ac_cFv -/* 80D59C8C 38 7E 05 68 */ addi r3, r30, 0x568 -/* 80D59C90 4B 4F 02 71 */ bl __ct__10dMsgFlow_cFv -lbl_80D59C94: -/* 80D59C94 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D59C98 60 00 00 08 */ ori r0, r0, 8 -/* 80D59C9C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D59CA0: -/* 80D59CA0 38 60 00 00 */ li r3, 0 -/* 80D59CA4 4B 2D 2C D9 */ bl getLayerNo__14dComIfG_play_cFi -/* 80D59CA8 2C 03 00 0D */ cmpwi r3, 0xd -/* 80D59CAC 40 82 00 48 */ bne lbl_80D59CF4 -/* 80D59CB0 38 00 00 04 */ li r0, 4 -/* 80D59CB4 98 1F 05 F7 */ stb r0, 0x5f7(r31) -/* 80D59CB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D59CBC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D59CC0 A8 03 4E 08 */ lha r0, 0x4e08(r3) -/* 80D59CC4 7C 00 07 35 */ extsh. r0, r0 -/* 80D59CC8 40 82 00 10 */ bne lbl_80D59CD8 -/* 80D59CCC 38 00 00 00 */ li r0, 0 -/* 80D59CD0 98 1F 05 F8 */ stb r0, 0x5f8(r31) -/* 80D59CD4 48 00 00 0C */ b lbl_80D59CE0 -lbl_80D59CD8: -/* 80D59CD8 38 00 00 0C */ li r0, 0xc -/* 80D59CDC 98 1F 05 F8 */ stb r0, 0x5f8(r31) -lbl_80D59CE0: -/* 80D59CE0 7F E3 FB 78 */ mr r3, r31 -/* 80D59CE4 38 80 00 00 */ li r4, 0 -/* 80D59CE8 38 A0 00 00 */ li r5, 0 -/* 80D59CEC 48 00 01 2D */ bl setActionMode__15daTagKagoFall_cFUcUc -/* 80D59CF0 48 00 00 A0 */ b lbl_80D59D90 -lbl_80D59CF4: -/* 80D59CF4 38 60 00 00 */ li r3, 0 -/* 80D59CF8 4B 2D 2C 85 */ bl getLayerNo__14dComIfG_play_cFi -/* 80D59CFC 2C 03 00 0E */ cmpwi r3, 0xe -/* 80D59D00 40 82 00 90 */ bne lbl_80D59D90 -/* 80D59D04 38 00 00 02 */ li r0, 2 -/* 80D59D08 98 1F 05 F7 */ stb r0, 0x5f7(r31) -/* 80D59D0C 38 00 00 00 */ li r0, 0 -/* 80D59D10 98 1F 05 F8 */ stb r0, 0x5f8(r31) -/* 80D59D14 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D59D18 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D59D1C C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80D59D20 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80D59D24 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80D59D28 4B 5E CB C1 */ bl PSMTXTrans -/* 80D59D2C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D59D30 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D59D34 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 80D59D38 4B 2B 26 FD */ bl mDoMtx_YrotM__FPA4_fs -/* 80D59D3C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D59D40 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D59D44 38 9F 05 B4 */ addi r4, r31, 0x5b4 -/* 80D59D48 4B 5E C8 69 */ bl PSMTXInverse -/* 80D59D4C C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 80D59D50 3C 60 80 D6 */ lis r3, lit_3907@ha /* 0x80D5A6EC@ha */ -/* 80D59D54 C0 23 A6 EC */ lfs f1, lit_3907@l(r3) /* 0x80D5A6EC@l */ -/* 80D59D58 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80D59D5C D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 80D59D60 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 80D59D64 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80D59D68 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 80D59D6C C0 3F 04 F0 */ lfs f1, 0x4f0(r31) -/* 80D59D70 3C 60 80 D6 */ lis r3, lit_3908@ha /* 0x80D5A6F0@ha */ -/* 80D59D74 C0 03 A6 F0 */ lfs f0, lit_3908@l(r3) /* 0x80D5A6F0@l */ -/* 80D59D78 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D59D7C D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 80D59D80 7F E3 FB 78 */ mr r3, r31 -/* 80D59D84 38 80 00 01 */ li r4, 1 -/* 80D59D88 38 A0 00 00 */ li r5, 0 -/* 80D59D8C 48 00 00 8D */ bl setActionMode__15daTagKagoFall_cFUcUc -lbl_80D59D90: -/* 80D59D90 3C 60 80 D6 */ lis r3, m_master_id@ha /* 0x80D5A710@ha */ -/* 80D59D94 38 63 A7 10 */ addi r3, r3, m_master_id@l /* 0x80D5A710@l */ -/* 80D59D98 80 63 00 00 */ lwz r3, 0(r3) -/* 80D59D9C 3C 03 00 01 */ addis r0, r3, 1 -/* 80D59DA0 28 00 FF FF */ cmplwi r0, 0xffff -/* 80D59DA4 40 82 00 20 */ bne lbl_80D59DC4 -/* 80D59DA8 28 1F 00 00 */ cmplwi r31, 0 -/* 80D59DAC 41 82 00 0C */ beq lbl_80D59DB8 -/* 80D59DB0 80 1F 00 04 */ lwz r0, 4(r31) -/* 80D59DB4 48 00 00 08 */ b lbl_80D59DBC -lbl_80D59DB8: -/* 80D59DB8 38 00 FF FF */ li r0, -1 -lbl_80D59DBC: -/* 80D59DBC 3C 60 80 D6 */ lis r3, m_master_id@ha /* 0x80D5A710@ha */ -/* 80D59DC0 90 03 A7 10 */ stw r0, m_master_id@l(r3) /* 0x80D5A710@l */ -lbl_80D59DC4: -/* 80D59DC4 38 60 00 04 */ li r3, 4 -/* 80D59DC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D59DCC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D59DD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D59DD4 7C 08 03 A6 */ mtlr r0 -/* 80D59DD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D59DDC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Create__FP15daTagKagoFall_c.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Create__FP15daTagKagoFall_c.s deleted file mode 100644 index e956c79b4ec..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Create__FP15daTagKagoFall_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5A6C4: -/* 80D5A6C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5A6C8 7C 08 02 A6 */ mflr r0 -/* 80D5A6CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5A6D0 4B FF F5 89 */ bl create__15daTagKagoFall_cFv -/* 80D5A6D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5A6D8 7C 08 03 A6 */ mtlr r0 -/* 80D5A6DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5A6E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Delete__FP15daTagKagoFall_c.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Delete__FP15daTagKagoFall_c.s deleted file mode 100644 index de559e0d2cd..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Delete__FP15daTagKagoFall_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5A6A4: -/* 80D5A6A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5A6A8 7C 08 02 A6 */ mflr r0 -/* 80D5A6AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5A6B0 4B FF FF CD */ bl _delete__15daTagKagoFall_cFv -/* 80D5A6B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5A6B8 7C 08 03 A6 */ mtlr r0 -/* 80D5A6BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5A6C0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Execute__FP15daTagKagoFall_c.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Execute__FP15daTagKagoFall_c.s deleted file mode 100644 index 3e4d964bad0..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Execute__FP15daTagKagoFall_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5A684: -/* 80D5A684 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5A688 7C 08 02 A6 */ mflr r0 -/* 80D5A68C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5A690 4B FF F7 51 */ bl execute__15daTagKagoFall_cFv -/* 80D5A694 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5A698 7C 08 03 A6 */ mtlr r0 -/* 80D5A69C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5A6A0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/execute__15daTagKagoFall_cFv.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/execute__15daTagKagoFall_cFv.s deleted file mode 100644 index 2e7b2150e60..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/execute__15daTagKagoFall_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80D59DE0: -/* 80D59DE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D59DE4 7C 08 02 A6 */ mflr r0 -/* 80D59DE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D59DEC 88 03 05 F5 */ lbz r0, 0x5f5(r3) -/* 80D59DF0 28 00 00 00 */ cmplwi r0, 0 -/* 80D59DF4 40 82 00 0C */ bne lbl_80D59E00 -/* 80D59DF8 48 00 00 2D */ bl actionWaitRiver__15daTagKagoFall_cFv -/* 80D59DFC 48 00 00 08 */ b lbl_80D59E04 -lbl_80D59E00: -/* 80D59E00 48 00 04 19 */ bl actionWaitFall__15daTagKagoFall_cFv -lbl_80D59E04: -/* 80D59E04 38 60 00 01 */ li r3, 1 -/* 80D59E08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D59E0C 7C 08 03 A6 */ mtlr r0 -/* 80D59E10 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D59E14 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/setActionMode__15daTagKagoFall_cFUcUc.s b/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/setActionMode__15daTagKagoFall_cFUcUc.s deleted file mode 100644 index e7bbdd67d47..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/setActionMode__15daTagKagoFall_cFUcUc.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D59E18: -/* 80D59E18 98 83 05 F5 */ stb r4, 0x5f5(r3) -/* 80D59E1C 98 A3 05 F6 */ stb r5, 0x5f6(r3) -/* 80D59E20 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 4e18a0a245d..c0dc55a6b03 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -400,6 +400,7 @@ public: RFLG0_UNK_4000000 = 0x4000000, RFLG0_GRAB_PUT_START = 0x400000, RFLG0_UNK_20000 = 0x20000, + RFLG0_UNK_10000 = 0x10000, RFLG0_UNK_8000 = 0x8000, RFLG0_UNK_4000 = 0x4000, RFLG0_FRONT_ROLL_CRASH = 0x2000, diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index cb352fbb5ca..e82fc591679 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -139,7 +139,7 @@ public: /* 802383D0 */ static u32 getMessageID(); /* 802383E4 */ u32 getSmellTypeMessageID(); /* 80238410 */ static void setSmellType(u8); - /* 80238440 */ void getSelectCursorPos(); + /* 80238440 */ static u8 getSelectCursorPos(); /* 8023846C */ static void setSelectCursorPos(u8); /* 8023849C */ void setPortalMessageID(u16); /* 802384B0 */ void setInsectItemNo(u8); @@ -363,6 +363,10 @@ inline void dMsgObject_setSmellType(u8 type) { dMsgObject_c::setSmellType(type); } +inline u8 dMsgObject_getSelectCursorPos() { + return dMsgObject_c::getSelectCursorPos(); +} + inline void dMsgObject_setTalkPartner(fopAc_ac_c* actor) { dMsgObject_getMsgObjectClass()->setTalkPartner(actor); } diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index a4ec75f2888..bde1fcc29e2 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -98,6 +98,7 @@ enum dEvt_Command_e { enum dEvt_Condition_e { dEvtCnd_NONE_e = 0x0000, dEvtCnd_CANTALK_e = 0x0001, + dEvtCnd_CANDEMO_e = 0x0002, dEvtCnd_CANDOOR_e = 0x0004, dEvtCnd_CANGETITEM_e = 0x0008, dEvtCnd_CANTALKITEM_e = 0x0020, diff --git a/include/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.h b/include/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.h index 44c459d1ef4..9a3056872c0 100644 --- a/include/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.h +++ b/include/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.h @@ -1,6 +1,38 @@ #ifndef D_A_TAG_KAGO_FALL_H #define D_A_TAG_KAGO_FALL_H +#include "d/msg/d_msg_flow.h" #include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class daTagKagoFall_c : public fopAc_ac_c { +public: + enum ActionMode { + /* 0 */ ACTION_MODE_RIVER, + /* 1 */ ACTION_MODE_FALL + }; + + /* 80D59C58 */ int create(); + /* 80D59DE0 */ int execute(); + /* 80D59E18 */ void setActionMode(ActionMode mode, u8 state); + /* 80D59E24 */ void actionWaitRiver(); + /* 80D5A218 */ void actionWaitFall(); + /* 80D5A67C */ int _delete(); + + /* 0x568 */ dMsgFlow_c mMsgFlow; + /* 0x5b4 */ Mtx mMtx; + /* 0x5e4 */ cXyz mRestartPos; + /* 0x5f0 */ s16 mTimer; + /* 0x5f2 */ s16 mNoCarryTimer; + /* 0x5f4 */ u8 mRiverTimer; + /* 0x5f5 */ u8 mActionMode; + /* 0x5f6 */ u8 mActionState; + /* 0x5f7 */ u8 mExitID; + /* 0x5f8 */ u8 mStartPoint; + /* 0x5f9 */ bool mPlayedSceneChangeSfx; + +}; // Size: 0x5fc + +STATIC_ASSERT(sizeof(daTagKagoFall_c) == 0x5fc); #endif /* D_A_TAG_KAGO_FALL_H */ diff --git a/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.cpp b/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.cpp index 3bc07f05fea..6f310ae11cf 100644 --- a/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.cpp +++ b/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.cpp @@ -4,310 +4,311 @@ // #include "rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall.h" -#include "dol2asm.h" -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct _GXColor {}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTagKagoFall_c { - /* 80D59C58 */ void create(); - /* 80D59DE0 */ void execute(); - /* 80D59E18 */ void setActionMode(u8, u8); - /* 80D59E24 */ void actionWaitRiver(); - /* 80D5A218 */ void actionWaitFall(); - /* 80D5A67C */ bool _delete(); -}; - -struct dMsgObject_c { - /* 80238440 */ void getSelectCursorPos(); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct cXyz {}; - -struct dCamera_c { - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AA8 */ void Set(cXyz, cXyz); - /* 80181E64 */ void Eye(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -// -// Forward References: -// - -extern "C" void create__15daTagKagoFall_cFv(); -extern "C" void execute__15daTagKagoFall_cFv(); -extern "C" void setActionMode__15daTagKagoFall_cFUcUc(); -extern "C" void actionWaitRiver__15daTagKagoFall_cFv(); -extern "C" void actionWaitFall__15daTagKagoFall_cFv(); -extern "C" bool _delete__15daTagKagoFall_cFv(); -extern "C" static void daTagKagoFall_Execute__FP15daTagKagoFall_c(); -extern "C" static void daTagKagoFall_Delete__FP15daTagKagoFall_c(); -extern "C" static void daTagKagoFall_Create__FP15daTagKagoFall_c(); -extern "C" extern char const* const d_a_tag_kago_fall__stringBase0; -extern "C" extern void* g_profile_Tag_KagoFall[12]; - -// -// External References: -// - -extern "C" void fadeOut__13mDoGph_gInf_cFfR8_GXColor(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void dComIfGp_setNextStage__FPCcsScScfUliScsii(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void Stop__9dCamera_cFv(); -extern "C" void SetTrimSize__9dCamera_cFl(); -extern "C" void Set__9dCamera_cF4cXyz4cXyz(); -extern "C" void dCam_getBody__Fv(); -extern "C" void Eye__9dCamera_cFv(); -extern "C" void getSelectCursorPos__12dMsgObject_cFv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 g_blackColor; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; +#include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "d/msg/d_msg_object.h" +#include "f_op/f_op_actor_mng.h" +#include "m_Do/m_Do_graphic.h" // // Declarations: // -/* ############################################################################################## */ -/* 80D5A6EC-80D5A6F0 000000 0004+00 3/3 0/0 0/0 .rodata @3907 */ -SECTION_RODATA static f32 const lit_3907 = 75.0f; -COMPILER_STRIP_GATE(0x80D5A6EC, &lit_3907); - -/* 80D5A6F0-80D5A6F4 000004 0004+00 1/1 0/0 0/0 .rodata @3908 */ -SECTION_RODATA static f32 const lit_3908 = 150.0f; -COMPILER_STRIP_GATE(0x80D5A6F0, &lit_3908); - -/* 80D5A710-80D5A714 000000 0004+00 3/3 0/0 0/0 .data m_master_id */ -SECTION_DATA static u32 m_master_id = 0xFFFFFFFF; +static u32 m_master_id = -1; /* 80D59C58-80D59DE0 000078 0188+00 1/1 0/0 0/0 .text create__15daTagKagoFall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagKagoFall_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/create__15daTagKagoFall_cFv.s" +int daTagKagoFall_c::create() { + fopAcM_SetupActor(this, daTagKagoFall_c); + + if (dComIfG_play_c::getLayerNo(0) == 13) { + mExitID = 4; + + if (dComIfGp_getStartStagePoint() == 0) { + mStartPoint = 0; + } else { + mStartPoint = 12; + } + setActionMode(ACTION_MODE_RIVER, 0); + } else if (dComIfG_play_c::getLayerNo(0) == 14) { + mExitID = 2; + mStartPoint = 0; + + mDoMtx_trans(mDoMtx_stack_c::get(), current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_inverse(mDoMtx_stack_c::get(), mMtx); + + mScale.x *= 75.0f; + mScale.z *= 75.0f; + mScale.y *= 150.0f; + + setActionMode(ACTION_MODE_FALL, 0); + } + + if (m_master_id == -1) { + m_master_id = fopAcM_GetID(this); + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D59DE0-80D59E18 000200 0038+00 1/1 0/0 0/0 .text execute__15daTagKagoFall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagKagoFall_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/execute__15daTagKagoFall_cFv.s" +int daTagKagoFall_c::execute() { + if (mActionMode == ACTION_MODE_RIVER) { + actionWaitRiver(); + } else { + actionWaitFall(); + } + + return TRUE; } -#pragma pop /* 80D59E18-80D59E24 000238 000C+00 1/1 0/0 0/0 .text setActionMode__15daTagKagoFall_cFUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagKagoFall_c::setActionMode(u8 param_0, u8 param_1) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/setActionMode__15daTagKagoFall_cFUcUc.s" +void daTagKagoFall_c::setActionMode(ActionMode mode, u8 state) { + mActionMode = mode; + mActionState = state; } -#pragma pop - -/* ############################################################################################## */ -/* 80D5A6F4-80D5A6F8 000008 0004+00 0/2 0/0 0/0 .rodata @4022 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4022 = 1.0f; -COMPILER_STRIP_GATE(0x80D5A6F4, &lit_4022); -#pragma pop - -/* 80D5A6F8-80D5A6FC 00000C 0004+00 0/2 0/0 0/0 .rodata @4023 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4023 = -1.0f; -COMPILER_STRIP_GATE(0x80D5A6F8, &lit_4023); -#pragma pop - -/* 80D5A6FC-80D5A700 000010 0004+00 0/2 0/0 0/0 .rodata @4024 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4024 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x80D5A6FC, &lit_4024); -#pragma pop - -/* 80D5A700-80D5A704 000014 0004+00 0/2 0/0 0/0 .rodata @4025 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4025[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D5A700, &lit_4025); -#pragma pop - -/* 80D5A708-80D5A708 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D5A708 = "F_SP112"; -#pragma pop /* 80D59E24-80D5A218 000244 03F4+00 1/1 0/0 0/0 .text actionWaitRiver__15daTagKagoFall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagKagoFall_c::actionWaitRiver() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitRiver__15daTagKagoFall_cFv.s" -} -#pragma pop +void daTagKagoFall_c::actionWaitRiver() { + daPy_py_c* player = daPy_getPlayerActorClass(); + dCamera_c* camera = dCam_getBody(); -/* ############################################################################################## */ -/* 80D5A704-80D5A708 000018 0004+00 0/1 0/0 0/0 .rodata @4118 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4118 = 3000.0f; -COMPILER_STRIP_GATE(0x80D5A704, &lit_4118); -#pragma pop + if (mTimer) { + mTimer--; + } + if (mRiverTimer) { + mRiverTimer--; + } + + switch (mActionState) { + case 0: + if (m_master_id == fopAcM_GetID(this)) { + if (!daPy_getPlayerActorClass()->checkCargoCarry()) { + mNoCarryTimer--; + + if (mNoCarryTimer == 0) { + mActionState = 1; + mActionMode = ACTION_MODE_FALL; + return; + } + } else { + mNoCarryTimer = 150; + } + } + + if (i_dComIfGp_checkPlayerStatus0(0, 0x100000) && i_dComIfGs_getLife()) { + if (!mEvtInfo.checkCommandDemoAccrpt()) { + fopAcM_orderPotentialEvent(this, 1, -1, 3); + mEvtInfo.i_onCondition(dEvtCnd_CANDEMO_e); + } else { + camera->Stop(); + camera->SetTrimSize(3); + + mRestartPos = dCam_getBody()->Eye(); + mActionState = 1; + mTimer = 30; + player->i_onNoResetFlg0(daPy_py_c::RFLG0_UNK_10000); + mRiverTimer = 60; + } + } + break; + + case 1: + if (mTimer == 1) { + player->voiceStart(Z2SE_WL_V_FALL_TO_RESTART); + } + + if (mRiverTimer == 0) { + Z2GetAudioMgr()->seStart(Z2SE_FORCE_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + mDoGph_gInf_c::fadeOut(0.05f, static_cast(g_blackColor)); + mRiverTimer = 20; + mActionState = 2; + } + + dCam_getBody()->Set(player->mEyePos, mRestartPos); + break; + + case 2: + if (mRiverTimer == 0) { + daPy_getPlayerActorClass()->i_offNoResetFlg0(daPy_py_c::RFLG0_UNK_10000); + mActionState = 3; + mTimer = 40; + } + dCam_getBody()->Set(player->mEyePos, mRestartPos); + break; + + case 3: + if (mTimer == 0) { + mMsgFlow.init(this, 0x7d4, 0, NULL); + mActionState = 4; + } + break; + + case 4: + daPy_getPlayerActorClass()->i_offNoResetFlg0(daPy_py_c::RFLG0_UNK_10000); + + int msg = mMsgFlow.doFlow(this, NULL, 0); + if (msg != 0) { + if (dMsgObject_getSelectCursorPos() != 0) { + dStage_changeScene(mExitID, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); + } else { + int room = dStage_roomControl_c::mStayNo; + dComIfGp_setNextStage("F_SP112", mStartPoint, room, dComIfG_play_c::getLayerNo(0), + 0.0f, 10, 1, 0, 0, 1, 0); + } + mActionState = 5; + } + break; + + case 5: + // Maybe contained some stripped out debug code? + break; + } +} /* 80D5A218-80D5A67C 000638 0464+00 1/1 0/0 0/0 .text actionWaitFall__15daTagKagoFall_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagKagoFall_c::actionWaitFall() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/actionWaitFall__15daTagKagoFall_cFv.s" +void daTagKagoFall_c::actionWaitFall() { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz v; + + switch (mActionState) { + case 0: + mDoMtx_multVec(mMtx, &player->current.pos, &v); + + if (v.y <= mScale.y && v.y >= 0.0f && fabsf(v.x) <= mScale.x && fabsf(v.z) <= mScale.z) { + mActionState = 1; + } + + if (m_master_id == fopAcM_GetID(this)) { + if (!daPy_getPlayerActorClass()->checkCargoCarry()) { + mNoCarryTimer--; + + if (mNoCarryTimer == 0) { + mActionState = 1; + } + } else { + mNoCarryTimer = 150; + } + } + break; + + case 1: + if (i_dComIfGs_getLife() == 0) { + player->onSceneChangeAreaJump(mExitID, -1, NULL); + + if (player->i_checkNoResetFlg2(daPy_py_c::FLG2_SCN_CHG_START) && !mPlayedSceneChangeSfx) + { + Z2GetAudioMgr()->seStart(Z2SE_FORCE_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + player->voiceStart(Z2SE_WL_V_FALL_TO_RESTART); + mPlayedSceneChangeSfx = true; + } + } else if (!mEvtInfo.checkCommandDemoAccrpt()) { + mRestartPos = player->current.pos; + fopAcM_orderPotentialEvent(this, 1, -1, 0); + mEvtInfo.i_onCondition(dEvtCnd_CANDEMO_e); + } else { + mDoGph_gInf_c::fadeOut(0.05f, static_cast(g_blackColor)); + mTimer = 60; + mActionState = 2; + Z2GetAudioMgr()->seStart(Z2SE_FORCE_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + player->voiceStart(Z2SE_WL_V_FALL_TO_RESTART); + } + break; + + case 2: + if (mTimer) { + mTimer--; + } + + if (mTimer <= 45) { + player->setPlayerPosAndAngle(&mRestartPos, 0, 0); + } + + if (mTimer == 0) { + dCam_getBody()->Stop(); + dCam_getBody()->SetTrimSize(3); + + mMsgFlow.init(this, 0x7d4, 0, NULL); + mActionState = 3; + + dBgS_LinChk lin_chk; + mRestartPos.y += 3000.0f; + lin_chk.Set(&player->current.pos, &mRestartPos, NULL); + + if (dComIfG_Bgsp().LineCross(&lin_chk)) { + mRestartPos.y = lin_chk.i_GetCross().y; + } + } + + break; + + case 3: + player->setPlayerPosAndAngle(&mRestartPos, 0, 0); + int msg = mMsgFlow.doFlow(this, NULL, 0); + if (msg != 0) { + if (dMsgObject_getSelectCursorPos() != 0) { + dStage_changeScene(mExitID, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); + } else { + int room = dStage_roomControl_c::mStayNo; + dComIfGp_setNextStage("F_SP112", mStartPoint, room, dComIfG_play_c::getLayerNo(0), + 0.0f, 10, 1, 0, 0, 1, 0); + } + mActionState = 10; + } + break; + + case 10: + // Maybe contained some stripped out debug code? + break; + } } -#pragma pop /* 80D5A67C-80D5A684 000A9C 0008+00 1/1 0/0 0/0 .text _delete__15daTagKagoFall_cFv */ -bool daTagKagoFall_c::_delete() { - return true; +int daTagKagoFall_c::_delete() { + return TRUE; } /* 80D5A684-80D5A6A4 000AA4 0020+00 1/0 0/0 0/0 .text daTagKagoFall_Execute__FP15daTagKagoFall_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagKagoFall_Execute(daTagKagoFall_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Execute__FP15daTagKagoFall_c.s" +static int daTagKagoFall_Execute(daTagKagoFall_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80D5A6A4-80D5A6C4 000AC4 0020+00 1/0 0/0 0/0 .text daTagKagoFall_Delete__FP15daTagKagoFall_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagKagoFall_Delete(daTagKagoFall_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Delete__FP15daTagKagoFall_c.s" +static int daTagKagoFall_Delete(daTagKagoFall_c* i_this) { + return i_this->_delete(); } -#pragma pop /* 80D5A6C4-80D5A6E4 000AE4 0020+00 1/0 0/0 0/0 .text daTagKagoFall_Create__FP15daTagKagoFall_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagKagoFall_Create(daTagKagoFall_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_kago_fall/d_a_tag_kago_fall/daTagKagoFall_Create__FP15daTagKagoFall_c.s" +static int daTagKagoFall_Create(daTagKagoFall_c* i_this) { + return i_this->create(); } -#pragma pop /* ############################################################################################## */ /* 80D5A714-80D5A734 -00001 0020+00 1/0 0/0 0/0 .data l_daTagKagoFall_Method */ -SECTION_DATA static void* l_daTagKagoFall_Method[8] = { - (void*)daTagKagoFall_Create__FP15daTagKagoFall_c, - (void*)daTagKagoFall_Delete__FP15daTagKagoFall_c, - (void*)daTagKagoFall_Execute__FP15daTagKagoFall_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagKagoFall_Method = { + (process_method_func)daTagKagoFall_Create, + (process_method_func)daTagKagoFall_Delete, + (process_method_func)daTagKagoFall_Execute, }; /* 80D5A734-80D5A764 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_KagoFall */ -SECTION_DATA extern void* g_profile_Tag_KagoFall[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01810000, (void*)&g_fpcLf_Method, - (void*)0x000005FC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x022D0000, (void*)&l_daTagKagoFall_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_KagoFall = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Tag_KagoFall, // mProcName + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagKagoFall_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 557, // mPriority + &l_daTagKagoFall_Method, // mSubMtd + 0x40000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // mCullType }; - -/* 80D5A708-80D5A708 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index 7f1d159dddc..57d0c57be2c 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -1876,7 +1876,7 @@ asm void dMsgObject_c::setSmellType(u8 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getSelectCursorPos() { +asm u8 dMsgObject_c::getSelectCursorPos() { nofralloc #include "asm/d/msg/d_msg_object/getSelectCursorPos__12dMsgObject_cFv.s" }