From f97fc769df40a69b12ca9b28be389b236400dcdb Mon Sep 17 00:00:00 2001 From: hatal175 Date: Thu, 18 Jan 2024 01:19:10 +0200 Subject: [PATCH] d_s_play OK, work on d_a_ykgr (#2035) --- ...newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s | 101 --- .../__ct__22dScnPly_env_debugHIO_cFv.s | 18 - .../s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s | 33 - .../s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s | 20 - .../__dt__21dScnPly_preLoad_HIO_cFv.s | 26 - .../__dt__22dScnPly_env_debugHIO_cFv.s | 20 - .../__dt__22dScnPly_env_otherHIO_cFv.s | 20 - asm/d/s/d_s_play/__sinit_d_s_play_cpp.s | 45 -- .../s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s | 141 ---- asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s | 59 -- asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s | 242 ------- asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s | 59 -- asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s | 59 -- .../d/a/d_a_ykgr/d_a_ykgr/daYkgrCreate__FPv.s | 24 +- .../d/a/d_a_ykgr/d_a_ykgr/daYkgrDraw__FPv.s | 12 +- .../a/d_a_ykgr/d_a_ykgr/daYkgrExecute__FPv.s | 12 +- include/d/com/d_com_inf_game.h | 17 + include/d/d_model.h | 2 +- include/d/d_stage.h | 5 +- include/d/s/d_s_play.h | 20 +- include/d/save/d_save.h | 1 + include/d/save/d_save_HIO.h | 2 + include/f_op/f_op_camera_mng.h | 4 + include/rel/d/a/d_a_suspend/d_a_suspend.h | 2 +- include/rel/d/a/d_a_ykgr/d_a_ykgr.h | 95 +++ rel/d/a/d_a_ykgr/d_a_ykgr.cpp | 319 +++++--- src/d/com/d_com_static.cpp | 45 +- src/d/d_eye_hl.cpp | 2 +- src/d/d_stage.cpp | 2 +- src/d/s/d_s_logo.cpp | 5 +- src/d/s/d_s_name.cpp | 1 - src/d/s/d_s_play.cpp | 679 +++++------------- 32 files changed, 580 insertions(+), 1512 deletions(-) delete mode 100644 asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s delete mode 100644 asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s delete mode 100644 asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s delete mode 100644 asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s delete mode 100644 asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s delete mode 100644 asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s delete mode 100644 asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s delete mode 100644 asm/d/s/d_s_play/__sinit_d_s_play_cpp.s delete mode 100644 asm/d/s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s delete mode 100644 asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s diff --git a/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s b/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s deleted file mode 100644 index 7b3e4cec22..0000000000 --- a/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_80031248: -/* 80031248 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003124C 7C 08 02 A6 */ mflr r0 -/* 80031250 90 01 00 24 */ stw r0, 0x24(r1) -/* 80031254 39 61 00 20 */ addi r11, r1, 0x20 -/* 80031258 48 33 0F 85 */ bl _savegpr_29 -/* 8003125C 7C 7F 1B 78 */ mr r31, r3 -/* 80031260 7C 8C 23 78 */ mr r12, r4 -/* 80031264 7C AB 2B 78 */ mr r11, r5 -/* 80031268 7C CA 33 78 */ mr r10, r6 -/* 8003126C 7C E0 3B 78 */ mr r0, r7 -/* 80031270 7D 09 43 78 */ mr r9, r8 -/* 80031274 A8 AD 88 0A */ lha r5, m_count__9daArrow_c+0x2(r13) -/* 80031278 1C 85 00 24 */ mulli r4, r5, 0x24 -/* 8003127C 3C 60 80 42 */ lis r3, mData__7daSus_c@ha /* 0x80423FFC@ha */ -/* 80031280 38 63 3F FC */ addi r3, r3, mData__7daSus_c@l /* 0x80423FFC@l */ -/* 80031284 7F C3 22 14 */ add r30, r3, r4 -/* 80031288 7C BD 2B 78 */ mr r29, r5 -/* 8003128C 48 00 00 78 */ b lbl_80031304 -lbl_80031290: -/* 80031290 88 7E 00 00 */ lbz r3, 0(r30) -/* 80031294 7C 63 07 75 */ extsb. r3, r3 -/* 80031298 40 80 00 64 */ bge lbl_800312FC -/* 8003129C 7F C3 F3 78 */ mr r3, r30 -/* 800312A0 7F E4 FB 78 */ mr r4, r31 -/* 800312A4 7D 85 63 78 */ mr r5, r12 -/* 800312A8 7D 66 5B 78 */ mr r6, r11 -/* 800312AC 7D 47 53 78 */ mr r7, r10 -/* 800312B0 7C 08 03 78 */ mr r8, r0 -/* 800312B4 4B FF FC 61 */ bl set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc -/* 800312B8 7F E0 07 74 */ extsb r0, r31 -/* 800312BC 54 04 10 3A */ slwi r4, r0, 2 -/* 800312C0 3C 60 80 42 */ lis r3, mRoom__7daSus_c@ha /* 0x8042447C@ha */ -/* 800312C4 38 03 44 7C */ addi r0, r3, mRoom__7daSus_c@l /* 0x8042447C@l */ -/* 800312C8 7C 60 22 14 */ add r3, r0, r4 -/* 800312CC 7F C4 F3 78 */ mr r4, r30 -/* 800312D0 4B FF FE C1 */ bl add__Q27daSus_c6room_cFPQ27daSus_c6data_c -/* 800312D4 7F A3 07 34 */ extsh r3, r29 -/* 800312D8 38 63 00 01 */ addi r3, r3, 1 -/* 800312DC 54 60 D8 08 */ slwi r0, r3, 0x1b -/* 800312E0 54 63 0F FE */ srwi r3, r3, 0x1f -/* 800312E4 7C 03 00 50 */ subf r0, r3, r0 -/* 800312E8 54 00 28 3E */ rotlwi r0, r0, 5 -/* 800312EC 7C 00 1A 14 */ add r0, r0, r3 -/* 800312F0 B0 0D 88 0A */ sth r0, m_count__9daArrow_c+0x2(r13) -/* 800312F4 38 60 00 01 */ li r3, 1 -/* 800312F8 48 00 00 AC */ b lbl_800313A4 -lbl_800312FC: -/* 800312FC 3B DE 00 24 */ addi r30, r30, 0x24 -/* 80031300 3B BD 00 01 */ addi r29, r29, 1 -lbl_80031304: -/* 80031304 7F A3 07 34 */ extsh r3, r29 -/* 80031308 2C 03 00 20 */ cmpwi r3, 0x20 -/* 8003130C 41 80 FF 84 */ blt lbl_80031290 -/* 80031310 3C 60 80 42 */ lis r3, mData__7daSus_c@ha /* 0x80423FFC@ha */ -/* 80031314 3B C3 3F FC */ addi r30, r3, mData__7daSus_c@l /* 0x80423FFC@l */ -/* 80031318 3B A0 00 00 */ li r29, 0 -/* 8003131C 48 00 00 78 */ b lbl_80031394 -lbl_80031320: -/* 80031320 88 7E 00 00 */ lbz r3, 0(r30) -/* 80031324 7C 63 07 75 */ extsb. r3, r3 -/* 80031328 40 80 00 64 */ bge lbl_8003138C -/* 8003132C 7F C3 F3 78 */ mr r3, r30 -/* 80031330 7F E4 FB 78 */ mr r4, r31 -/* 80031334 7D 85 63 78 */ mr r5, r12 -/* 80031338 7D 66 5B 78 */ mr r6, r11 -/* 8003133C 7D 47 53 78 */ mr r7, r10 -/* 80031340 7C 08 03 78 */ mr r8, r0 -/* 80031344 4B FF FB D1 */ bl set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc -/* 80031348 7F E0 07 74 */ extsb r0, r31 -/* 8003134C 54 04 10 3A */ slwi r4, r0, 2 -/* 80031350 3C 60 80 42 */ lis r3, mRoom__7daSus_c@ha /* 0x8042447C@ha */ -/* 80031354 38 03 44 7C */ addi r0, r3, mRoom__7daSus_c@l /* 0x8042447C@l */ -/* 80031358 7C 60 22 14 */ add r3, r0, r4 -/* 8003135C 7F C4 F3 78 */ mr r4, r30 -/* 80031360 4B FF FE 31 */ bl add__Q27daSus_c6room_cFPQ27daSus_c6data_c -/* 80031364 7F A3 07 34 */ extsh r3, r29 -/* 80031368 38 63 00 01 */ addi r3, r3, 1 -/* 8003136C 54 60 D8 08 */ slwi r0, r3, 0x1b -/* 80031370 54 63 0F FE */ srwi r3, r3, 0x1f -/* 80031374 7C 03 00 50 */ subf r0, r3, r0 -/* 80031378 54 00 28 3E */ rotlwi r0, r0, 5 -/* 8003137C 7C 00 1A 14 */ add r0, r0, r3 -/* 80031380 B0 0D 88 0A */ sth r0, m_count__9daArrow_c+0x2(r13) -/* 80031384 38 60 00 01 */ li r3, 1 -/* 80031388 48 00 00 1C */ b lbl_800313A4 -lbl_8003138C: -/* 8003138C 3B DE 00 24 */ addi r30, r30, 0x24 -/* 80031390 3B BD 00 01 */ addi r29, r29, 1 -lbl_80031394: -/* 80031394 7F A3 07 34 */ extsh r3, r29 -/* 80031398 7C 03 28 00 */ cmpw r3, r5 -/* 8003139C 41 80 FF 84 */ blt lbl_80031320 -/* 800313A0 38 60 00 00 */ li r3, 0 -lbl_800313A4: -/* 800313A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800313A8 48 33 0E 81 */ bl _restgpr_29 -/* 800313AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800313B0 7C 08 03 A6 */ mtlr r0 -/* 800313B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800313B8 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s b/asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s deleted file mode 100644 index 0ca805d4b5..0000000000 --- a/asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80259468: -/* 80259468 3C 80 80 3C */ lis r4, __vt__22dScnPly_env_debugHIO_c@ha /* 0x803C3224@ha */ -/* 8025946C 38 04 32 24 */ addi r0, r4, __vt__22dScnPly_env_debugHIO_c@l /* 0x803C3224@l */ -/* 80259470 90 03 00 00 */ stw r0, 0(r3) -/* 80259474 C0 02 B5 20 */ lfs f0, lit_4066(r2) -/* 80259478 D0 03 00 08 */ stfs f0, 8(r3) -/* 8025947C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80259480 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80259484 C0 22 B5 24 */ lfs f1, lit_4067(r2) -/* 80259488 D0 23 00 14 */ stfs f1, 0x14(r3) -/* 8025948C D0 23 00 18 */ stfs f1, 0x18(r3) -/* 80259490 D0 23 00 1C */ stfs f1, 0x1c(r3) -/* 80259494 C0 02 B5 28 */ lfs f0, lit_4068(r2) -/* 80259498 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 8025949C D0 03 00 24 */ stfs f0, 0x24(r3) -/* 802594A0 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 802594A4 D0 23 00 2C */ stfs f1, 0x2c(r3) -/* 802594A8 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s b/asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s deleted file mode 100644 index 48ad40e522..0000000000 --- a/asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8025AD04: -/* 8025AD04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025AD08 7C 08 02 A6 */ mflr r0 -/* 8025AD0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025AD10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025AD14 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025AD18 41 82 00 48 */ beq lbl_8025AD60 -/* 8025AD1C 3C 60 80 3C */ lis r3, __vt__17dScnPly_env_HIO_c@ha /* 0x803C323C@ha */ -/* 8025AD20 38 03 32 3C */ addi r0, r3, __vt__17dScnPly_env_HIO_c@l /* 0x803C323C@l */ -/* 8025AD24 90 1F 00 00 */ stw r0, 0(r31) -/* 8025AD28 34 1F 00 14 */ addic. r0, r31, 0x14 -/* 8025AD2C 41 82 00 10 */ beq lbl_8025AD3C -/* 8025AD30 3C 60 80 3C */ lis r3, __vt__22dScnPly_env_debugHIO_c@ha /* 0x803C3224@ha */ -/* 8025AD34 38 03 32 24 */ addi r0, r3, __vt__22dScnPly_env_debugHIO_c@l /* 0x803C3224@l */ -/* 8025AD38 90 1F 00 14 */ stw r0, 0x14(r31) -lbl_8025AD3C: -/* 8025AD3C 34 1F 00 08 */ addic. r0, r31, 8 -/* 8025AD40 41 82 00 10 */ beq lbl_8025AD50 -/* 8025AD44 3C 60 80 3C */ lis r3, __vt__22dScnPly_env_otherHIO_c@ha /* 0x803C3230@ha */ -/* 8025AD48 38 03 32 30 */ addi r0, r3, __vt__22dScnPly_env_otherHIO_c@l /* 0x803C3230@l */ -/* 8025AD4C 90 1F 00 08 */ stw r0, 8(r31) -lbl_8025AD50: -/* 8025AD50 7C 80 07 35 */ extsh. r0, r4 -/* 8025AD54 40 81 00 0C */ ble lbl_8025AD60 -/* 8025AD58 7F E3 FB 78 */ mr r3, r31 -/* 8025AD5C 48 07 3F E1 */ bl __dl__FPv -lbl_8025AD60: -/* 8025AD60 7F E3 FB 78 */ mr r3, r31 -/* 8025AD64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025AD68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025AD6C 7C 08 03 A6 */ mtlr r0 -/* 8025AD70 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025AD74 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s b/asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s deleted file mode 100644 index 74c4fc6d5b..0000000000 --- a/asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025AD78: -/* 8025AD78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025AD7C 7C 08 02 A6 */ mflr r0 -/* 8025AD80 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025AD84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025AD88 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025AD8C 41 82 00 1C */ beq lbl_8025ADA8 -/* 8025AD90 3C A0 80 3C */ lis r5, __vt__17dScnPly_reg_HIO_c@ha /* 0x803C3248@ha */ -/* 8025AD94 38 05 32 48 */ addi r0, r5, __vt__17dScnPly_reg_HIO_c@l /* 0x803C3248@l */ -/* 8025AD98 90 1F 00 00 */ stw r0, 0(r31) -/* 8025AD9C 7C 80 07 35 */ extsh. r0, r4 -/* 8025ADA0 40 81 00 08 */ ble lbl_8025ADA8 -/* 8025ADA4 48 07 3F 99 */ bl __dl__FPv -lbl_8025ADA8: -/* 8025ADA8 7F E3 FB 78 */ mr r3, r31 -/* 8025ADAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025ADB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025ADB4 7C 08 03 A6 */ mtlr r0 -/* 8025ADB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025ADBC 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s b/asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s deleted file mode 100644 index 4043511903..0000000000 --- a/asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8025ADC0: -/* 8025ADC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025ADC4 7C 08 02 A6 */ mflr r0 -/* 8025ADC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025ADCC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025ADD0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025ADD4 41 82 00 30 */ beq lbl_8025AE04 -/* 8025ADD8 3C 60 80 3C */ lis r3, __vt__21dScnPly_preLoad_HIO_c@ha /* 0x803C3254@ha */ -/* 8025ADDC 38 03 32 54 */ addi r0, r3, __vt__21dScnPly_preLoad_HIO_c@l /* 0x803C3254@l */ -/* 8025ADE0 90 1F 00 00 */ stw r0, 0(r31) -/* 8025ADE4 41 82 00 10 */ beq lbl_8025ADF4 -/* 8025ADE8 3C 60 80 3B */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x803B61B4@ha */ -/* 8025ADEC 38 03 61 B4 */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x803B61B4@l */ -/* 8025ADF0 90 1F 00 00 */ stw r0, 0(r31) -lbl_8025ADF4: -/* 8025ADF4 7C 80 07 35 */ extsh. r0, r4 -/* 8025ADF8 40 81 00 0C */ ble lbl_8025AE04 -/* 8025ADFC 7F E3 FB 78 */ mr r3, r31 -/* 8025AE00 48 07 3F 3D */ bl __dl__FPv -lbl_8025AE04: -/* 8025AE04 7F E3 FB 78 */ mr r3, r31 -/* 8025AE08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025AE0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025AE10 7C 08 03 A6 */ mtlr r0 -/* 8025AE14 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025AE18 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s b/asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s deleted file mode 100644 index c9816df6b5..0000000000 --- a/asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025ABC4: -/* 8025ABC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025ABC8 7C 08 02 A6 */ mflr r0 -/* 8025ABCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025ABD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025ABD4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025ABD8 41 82 00 1C */ beq lbl_8025ABF4 -/* 8025ABDC 3C A0 80 3C */ lis r5, __vt__22dScnPly_env_debugHIO_c@ha /* 0x803C3224@ha */ -/* 8025ABE0 38 05 32 24 */ addi r0, r5, __vt__22dScnPly_env_debugHIO_c@l /* 0x803C3224@l */ -/* 8025ABE4 90 1F 00 00 */ stw r0, 0(r31) -/* 8025ABE8 7C 80 07 35 */ extsh. r0, r4 -/* 8025ABEC 40 81 00 08 */ ble lbl_8025ABF4 -/* 8025ABF0 48 07 41 4D */ bl __dl__FPv -lbl_8025ABF4: -/* 8025ABF4 7F E3 FB 78 */ mr r3, r31 -/* 8025ABF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025ABFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025AC00 7C 08 03 A6 */ mtlr r0 -/* 8025AC04 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025AC08 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s b/asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s deleted file mode 100644 index abedb3bdc4..0000000000 --- a/asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025AC0C: -/* 8025AC0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025AC10 7C 08 02 A6 */ mflr r0 -/* 8025AC14 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025AC18 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025AC1C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025AC20 41 82 00 1C */ beq lbl_8025AC3C -/* 8025AC24 3C A0 80 3C */ lis r5, __vt__22dScnPly_env_otherHIO_c@ha /* 0x803C3230@ha */ -/* 8025AC28 38 05 32 30 */ addi r0, r5, __vt__22dScnPly_env_otherHIO_c@l /* 0x803C3230@l */ -/* 8025AC2C 90 1F 00 00 */ stw r0, 0(r31) -/* 8025AC30 7C 80 07 35 */ extsh. r0, r4 -/* 8025AC34 40 81 00 08 */ ble lbl_8025AC3C -/* 8025AC38 48 07 41 05 */ bl __dl__FPv -lbl_8025AC3C: -/* 8025AC3C 7F E3 FB 78 */ mr r3, r31 -/* 8025AC40 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025AC44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025AC48 7C 08 03 A6 */ mtlr r0 -/* 8025AC4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025AC50 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/__sinit_d_s_play_cpp.s b/asm/d/s/d_s_play/__sinit_d_s_play_cpp.s deleted file mode 100644 index 7e051a8eb0..0000000000 --- a/asm/d/s/d_s_play/__sinit_d_s_play_cpp.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8025AC54: -/* 8025AC54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025AC58 7C 08 02 A6 */ mflr r0 -/* 8025AC5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025AC60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025AC64 3C 60 80 43 */ lis r3, lit_4041@ha /* 0x80430778@ha */ -/* 8025AC68 3B E3 07 78 */ addi r31, r3, lit_4041@l /* 0x80430778@l */ -/* 8025AC6C 3C 60 80 3B */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x803B61B4@ha */ -/* 8025AC70 38 03 61 B4 */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x803B61B4@l */ -/* 8025AC74 90 0D 8B A0 */ stw r0, g_preLoadHIO(r13) -/* 8025AC78 3C 60 80 3C */ lis r3, __vt__21dScnPly_preLoad_HIO_c@ha /* 0x803C3254@ha */ -/* 8025AC7C 38 03 32 54 */ addi r0, r3, __vt__21dScnPly_preLoad_HIO_c@l /* 0x803C3254@l */ -/* 8025AC80 90 0D 8B A0 */ stw r0, g_preLoadHIO(r13) -/* 8025AC84 38 6D 8B A0 */ la r3, g_preLoadHIO(r13) /* 80451120-_SDA_BASE_ */ -/* 8025AC88 3C 80 80 26 */ lis r4, __dt__21dScnPly_preLoad_HIO_cFv@ha /* 0x8025ADC0@ha */ -/* 8025AC8C 38 84 AD C0 */ addi r4, r4, __dt__21dScnPly_preLoad_HIO_cFv@l /* 0x8025ADC0@l */ -/* 8025AC90 38 BF 00 00 */ addi r5, r31, 0 -/* 8025AC94 48 10 6F 91 */ bl __register_global_object -/* 8025AC98 3C 60 80 3C */ lis r3, __vt__17dScnPly_reg_HIO_c@ha /* 0x803C3248@ha */ -/* 8025AC9C 38 03 32 48 */ addi r0, r3, __vt__17dScnPly_reg_HIO_c@l /* 0x803C3248@l */ -/* 8025ACA0 90 0D 8B A8 */ stw r0, g_regHIO(r13) -/* 8025ACA4 38 6D 8B A8 */ la r3, g_regHIO(r13) /* 80451128-_SDA_BASE_ */ -/* 8025ACA8 3C 80 80 26 */ lis r4, __dt__17dScnPly_reg_HIO_cFv@ha /* 0x8025AD78@ha */ -/* 8025ACAC 38 84 AD 78 */ addi r4, r4, __dt__17dScnPly_reg_HIO_cFv@l /* 0x8025AD78@l */ -/* 8025ACB0 38 BF 00 0C */ addi r5, r31, 0xc -/* 8025ACB4 48 10 6F 71 */ bl __register_global_object -/* 8025ACB8 3C 60 80 3C */ lis r3, __vt__17dScnPly_env_HIO_c@ha /* 0x803C323C@ha */ -/* 8025ACBC 38 03 32 3C */ addi r0, r3, __vt__17dScnPly_env_HIO_c@l /* 0x803C323C@l */ -/* 8025ACC0 90 1F 00 24 */ stw r0, 0x24(r31) -/* 8025ACC4 38 7F 00 24 */ addi r3, r31, 0x24 -/* 8025ACC8 38 63 00 08 */ addi r3, r3, 8 -/* 8025ACCC 4B FF E7 75 */ bl __ct__22dScnPly_env_otherHIO_cFv -/* 8025ACD0 38 7F 00 24 */ addi r3, r31, 0x24 -/* 8025ACD4 38 63 00 14 */ addi r3, r3, 0x14 -/* 8025ACD8 4B FF E7 91 */ bl __ct__22dScnPly_env_debugHIO_cFv -/* 8025ACDC 38 7F 00 24 */ addi r3, r31, 0x24 -/* 8025ACE0 3C 80 80 26 */ lis r4, __dt__17dScnPly_env_HIO_cFv@ha /* 0x8025AD04@ha */ -/* 8025ACE4 38 84 AD 04 */ addi r4, r4, __dt__17dScnPly_env_HIO_cFv@l /* 0x8025AD04@l */ -/* 8025ACE8 38 BF 00 18 */ addi r5, r31, 0x18 -/* 8025ACEC 48 10 6F 39 */ bl __register_global_object -/* 8025ACF0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025ACF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025ACF8 7C 08 03 A6 */ mtlr r0 -/* 8025ACFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025AD00 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s b/asm/d/s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s deleted file mode 100644 index cc008ae073..0000000000 --- a/asm/d/s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s +++ /dev/null @@ -1,141 +0,0 @@ -lbl_802598AC: -/* 802598AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802598B0 7C 08 02 A6 */ mflr r0 -/* 802598B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802598B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802598BC 48 10 89 15 */ bl _savegpr_26 -/* 802598C0 4B DD 7A FD */ bl reset__7daSus_cFv -/* 802598C4 4B DE 63 AD */ bl remove__8dMpath_cFv -/* 802598C8 4B E4 23 99 */ bl remove__7dTres_cFv -/* 802598CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802598D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802598D4 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 802598D8 38 7F 47 80 */ addi r3, r31, 0x4780 -/* 802598DC 38 80 FF FF */ li r4, -1 -/* 802598E0 4B E1 6E 95 */ bl __dt__12dAttention_cFv -/* 802598E4 38 7F 4C 9C */ addi r3, r31, 0x4c9c -/* 802598E8 4B E1 67 11 */ bl Remove__12dVibration_cFv -/* 802598EC 7F E3 FB 78 */ mr r3, r31 -/* 802598F0 81 9F 14 00 */ lwz r12, 0x1400(r31) -/* 802598F4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802598F8 7D 89 03 A6 */ mtctr r12 -/* 802598FC 4E 80 04 21 */ bctrl -/* 80259900 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259904 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259908 38 63 23 3C */ addi r3, r3, 0x233c -/* 8025990C 4B E2 C5 FD */ bl Dt__4dCcSFv -/* 80259910 4B DC D4 E9 */ bl dStage_Delete__Fv -/* 80259914 38 7F 3F 90 */ addi r3, r31, 0x3f90 -/* 80259918 4B DE 98 D1 */ bl remove__14dEvt_control_cFv -/* 8025991C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259920 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259924 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 80259928 38 80 00 00 */ li r4, 0 -/* 8025992C 4B DF 26 A9 */ bl removeScene__13dPa_control_cFb -/* 80259930 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259934 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259938 80 7D 5C F8 */ lwz r3, 0x5cf8(r29) -/* 8025993C 81 83 00 00 */ lwz r12, 0(r3) -/* 80259940 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80259944 7D 89 03 A6 */ mtctr r12 -/* 80259948 4E 80 04 21 */ bctrl -/* 8025994C 80 7D 5C F8 */ lwz r3, 0x5cf8(r29) -/* 80259950 81 83 00 00 */ lwz r12, 0(r3) -/* 80259954 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80259958 7D 89 03 A6 */ mtctr r12 -/* 8025995C 4E 80 04 21 */ bctrl -/* 80259960 4B DD FF B1 */ bl remove__7dDemo_cFv -/* 80259964 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259968 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025996C 80 7D 5E BC */ lwz r3, 0x5ebc(r29) -/* 80259970 4B DC 6A 71 */ bl fopMsgM_destroyExpHeap__FP10JKRExpHeap -/* 80259974 38 00 00 00 */ li r0, 0 -/* 80259978 90 1D 5E BC */ stw r0, 0x5ebc(r29) -/* 8025997C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259980 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259984 80 7D 5E C8 */ lwz r3, 0x5ec8(r29) -/* 80259988 4B DC 6A 59 */ bl fopMsgM_destroyExpHeap__FP10JKRExpHeap -/* 8025998C 38 00 00 00 */ li r0, 0 -/* 80259990 90 1D 5E C8 */ stw r0, 0x5ec8(r29) -/* 80259994 7F E3 FB 78 */ mr r3, r31 -/* 80259998 4B DD 30 D9 */ bl deleteSimpleModel__14dComIfG_play_cFv -/* 8025999C 4B E4 2E C9 */ bl remove__10dMdl_mng_cFv -/* 802599A0 3C 60 80 3E */ lis r3, m_bloom__13mDoGph_gInf_c@ha /* 0x803DD428@ha */ -/* 802599A4 38 63 D4 28 */ addi r3, r3, m_bloom__13mDoGph_gInf_c@l /* 0x803DD428@l */ -/* 802599A8 4B DA FC 51 */ bl remove__Q213mDoGph_gInf_c7bloom_cFv -/* 802599AC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802599B0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802599B4 3B C0 00 00 */ li r30, 0 -/* 802599B8 9B C3 00 7C */ stb r30, 0x7c(r3) -/* 802599BC 9B C3 5D 44 */ stb r30, 0x5d44(r3) -/* 802599C0 93 C3 61 B0 */ stw r30, 0x61b0(r3) -/* 802599C4 88 8D 81 E4 */ lbz r4, preLoadNo+0x0(r13) -/* 802599C8 7C 80 07 75 */ extsb. r0, r4 -/* 802599CC 41 80 00 CC */ blt lbl_80259A98 -/* 802599D0 3C 60 80 3A */ lis r3, PreLoadInfoT@ha /* 0x8039A2C8@ha */ -/* 802599D4 38 63 A2 C8 */ addi r3, r3, PreLoadInfoT@l /* 0x8039A2C8@l */ -/* 802599D8 7C 80 07 74 */ extsb r0, r4 -/* 802599DC 54 00 20 36 */ slwi r0, r0, 4 -/* 802599E0 7C 63 02 14 */ add r3, r3, r0 -/* 802599E4 83 83 00 08 */ lwz r28, 8(r3) -/* 802599E8 8B 63 00 0D */ lbz r27, 0xd(r3) -/* 802599EC 28 1C 00 00 */ cmplwi r28, 0 -/* 802599F0 41 82 00 40 */ beq lbl_80259A30 -/* 802599F4 80 1C 00 00 */ lwz r0, 0(r28) -/* 802599F8 28 00 00 00 */ cmplwi r0, 0 -/* 802599FC 41 82 00 34 */ beq lbl_80259A30 -/* 80259A00 3B 40 00 00 */ li r26, 0 -/* 80259A04 3B A0 00 00 */ li r29, 0 -/* 80259A08 48 00 00 20 */ b lbl_80259A28 -lbl_80259A0C: -/* 80259A0C 38 6D 8B 78 */ la r3, resPhase(r13) /* 804510F8-_SDA_BASE_ */ -/* 80259A10 7C 63 F2 14 */ add r3, r3, r30 -/* 80259A14 7C 9C E8 2E */ lwzx r4, r28, r29 -/* 80259A18 4B DD 35 F1 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80259A1C 3B 5A 00 01 */ addi r26, r26, 1 -/* 80259A20 3B BD 00 04 */ addi r29, r29, 4 -/* 80259A24 3B DE 00 08 */ addi r30, r30, 8 -lbl_80259A28: -/* 80259A28 7C 1A D8 00 */ cmpw r26, r27 -/* 80259A2C 41 80 FF E0 */ blt lbl_80259A0C -lbl_80259A30: -/* 80259A30 3C 60 80 3A */ lis r3, PreLoadInfoT@ha /* 0x8039A2C8@ha */ -/* 80259A34 38 63 A2 C8 */ addi r3, r3, PreLoadInfoT@l /* 0x8039A2C8@l */ -/* 80259A38 88 0D 81 E4 */ lbz r0, preLoadNo+0x0(r13) -/* 80259A3C 7C 00 07 74 */ extsb r0, r0 -/* 80259A40 54 00 20 36 */ slwi r0, r0, 4 -/* 80259A44 7C 63 02 14 */ add r3, r3, r0 -/* 80259A48 83 43 00 04 */ lwz r26, 4(r3) -/* 80259A4C 8B 63 00 0C */ lbz r27, 0xc(r3) -/* 80259A50 28 1A 00 00 */ cmplwi r26, 0 -/* 80259A54 41 82 00 44 */ beq lbl_80259A98 -/* 80259A58 A8 1A 00 00 */ lha r0, 0(r26) -/* 80259A5C 2C 00 00 00 */ cmpwi r0, 0 -/* 80259A60 41 82 00 38 */ beq lbl_80259A98 -/* 80259A64 3B 80 00 00 */ li r28, 0 -/* 80259A68 3B C0 00 00 */ li r30, 0 -/* 80259A6C 3B A0 00 00 */ li r29, 0 -/* 80259A70 48 00 00 20 */ b lbl_80259A90 -lbl_80259A74: -/* 80259A74 38 6D 8B 80 */ la r3, dylPhase(r13) /* 80451100-_SDA_BASE_ */ -/* 80259A78 7C 63 EA 14 */ add r3, r3, r29 -/* 80259A7C 7C 9A F2 AE */ lhax r4, r26, r30 -/* 80259A80 4B DB EE 11 */ bl Unlink__7cDylPhsFP30request_of_phase_process_classs -/* 80259A84 3B 9C 00 01 */ addi r28, r28, 1 -/* 80259A88 3B DE 00 02 */ addi r30, r30, 2 -/* 80259A8C 3B BD 00 08 */ addi r29, r29, 8 -lbl_80259A90: -/* 80259A90 7C 1C D8 00 */ cmpw r28, r27 -/* 80259A94 41 80 FF E0 */ blt lbl_80259A74 -lbl_80259A98: -/* 80259A98 7F E3 FB 78 */ mr r3, r31 -/* 80259A9C 4B DD 17 91 */ bl init__14dComIfG_play_cFv -/* 80259AA0 38 60 00 00 */ li r3, 0 -/* 80259AA4 48 08 B1 99 */ bl setMessageCount__12JUTAssertionFi -/* 80259AA8 38 60 00 01 */ li r3, 1 -/* 80259AAC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80259AB0 48 10 87 6D */ bl _restgpr_26 -/* 80259AB4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80259AB8 7C 08 03 A6 */ mtlr r0 -/* 80259ABC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80259AC0 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s deleted file mode 100644 index 34a28fb7a2..0000000000 --- a/asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_8025A4F8: -/* 8025A4F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025A4FC 7C 08 02 A6 */ mflr r0 -/* 8025A500 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025A504 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025A508 48 10 7C D5 */ bl _savegpr_29 -/* 8025A50C 7C 7D 1B 78 */ mr r29, r3 -/* 8025A510 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A514 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A518 3C 63 00 02 */ addis r3, r3, 2 -/* 8025A51C 38 80 00 80 */ li r4, 0x80 -/* 8025A520 38 63 C2 F8 */ addi r3, r3, -15624 -/* 8025A524 4B DE 1F 4D */ bl syncAllRes__14dRes_control_cFP11dRes_info_ci -/* 8025A528 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A52C 41 80 00 10 */ blt lbl_8025A53C -/* 8025A530 41 82 00 0C */ beq lbl_8025A53C -/* 8025A534 38 60 00 00 */ li r3, 0 -/* 8025A538 48 00 00 84 */ b lbl_8025A5BC -lbl_8025A53C: -/* 8025A53C 38 60 00 00 */ li r3, 0 -/* 8025A540 4B DD 24 3D */ bl getLayerNo__14dComIfG_play_cFi -/* 8025A544 7C 7F 1B 78 */ mr r31, r3 -/* 8025A548 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A54C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A550 3B C3 4E 20 */ addi r30, r3, 0x4e20 -/* 8025A554 7F C3 F3 78 */ mr r3, r30 -/* 8025A558 81 9E 00 00 */ lwz r12, 0(r30) -/* 8025A55C 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8025A560 7D 89 03 A6 */ mtctr r12 -/* 8025A564 4E 80 04 21 */ bctrl -/* 8025A568 7F E4 FB 78 */ mr r4, r31 -/* 8025A56C 4B DC B1 CD */ bl dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi -/* 8025A570 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 8025A574 28 04 00 FF */ cmplwi r4, 0xff -/* 8025A578 40 82 00 24 */ bne lbl_8025A59C -/* 8025A57C 7F C3 F3 78 */ mr r3, r30 -/* 8025A580 81 9E 00 00 */ lwz r12, 0(r30) -/* 8025A584 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8025A588 7D 89 03 A6 */ mtctr r12 -/* 8025A58C 4E 80 04 21 */ bctrl -/* 8025A590 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 8025A594 54 00 EE 3E */ rlwinm r0, r0, 0x1d, 0x18, 0x1f -/* 8025A598 7C 04 03 78 */ mr r4, r0 -lbl_8025A59C: -/* 8025A59C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A5A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A5A4 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 8025A5A8 38 BD 01 CC */ addi r5, r29, 0x1cc -/* 8025A5AC 4B DF 18 51 */ bl readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c -/* 8025A5B0 38 7D 01 D0 */ addi r3, r29, 0x1d0 -/* 8025A5B4 4B FD DA 59 */ bl readMessageGroup__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c -/* 8025A5B8 38 60 00 02 */ li r3, 2 -lbl_8025A5BC: -/* 8025A5BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025A5C0 48 10 7C 69 */ bl _restgpr_29 -/* 8025A5C4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025A5C8 7C 08 03 A6 */ mtlr r0 -/* 8025A5CC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025A5D0 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s deleted file mode 100644 index 4729befee0..0000000000 --- a/asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s +++ /dev/null @@ -1,242 +0,0 @@ -lbl_8025A654: -/* 8025A654 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025A658 7C 08 02 A6 */ mflr r0 -/* 8025A65C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025A660 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025A664 48 10 7B 75 */ bl _savegpr_28 -/* 8025A668 7C 7D 1B 78 */ mr r29, r3 -/* 8025A66C 80 63 01 CC */ lwz r3, 0x1cc(r3) -/* 8025A670 28 03 00 00 */ cmplwi r3, 0 -/* 8025A674 41 82 00 3C */ beq lbl_8025A6B0 -/* 8025A678 80 83 00 1C */ lwz r4, 0x1c(r3) -/* 8025A67C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A680 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A684 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 8025A688 4B DF 18 29 */ bl createScene__13dPa_control_cFPCv -/* 8025A68C 80 7D 01 CC */ lwz r3, 0x1cc(r29) -/* 8025A690 28 03 00 00 */ cmplwi r3, 0 -/* 8025A694 41 82 00 30 */ beq lbl_8025A6C4 -/* 8025A698 38 80 00 01 */ li r4, 1 -/* 8025A69C 81 83 00 10 */ lwz r12, 0x10(r3) -/* 8025A6A0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8025A6A4 7D 89 03 A6 */ mtctr r12 -/* 8025A6A8 4E 80 04 21 */ bctrl -/* 8025A6AC 48 00 00 18 */ b lbl_8025A6C4 -lbl_8025A6B0: -/* 8025A6B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A6B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A6B8 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 8025A6BC 38 80 00 00 */ li r4, 0 -/* 8025A6C0 4B DF 17 F1 */ bl createScene__13dPa_control_cFPCv -lbl_8025A6C4: -/* 8025A6C4 80 7D 01 D0 */ lwz r3, 0x1d0(r29) -/* 8025A6C8 28 03 00 00 */ cmplwi r3, 0 -/* 8025A6CC 41 82 00 2C */ beq lbl_8025A6F8 -/* 8025A6D0 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 8025A6D4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A6D8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A6DC 90 04 5C F8 */ stw r0, 0x5cf8(r4) -/* 8025A6E0 41 82 00 18 */ beq lbl_8025A6F8 -/* 8025A6E4 38 80 00 01 */ li r4, 1 -/* 8025A6E8 81 83 00 10 */ lwz r12, 0x10(r3) -/* 8025A6EC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8025A6F0 7D 89 03 A6 */ mtctr r12 -/* 8025A6F4 4E 80 04 21 */ bctrl -lbl_8025A6F8: -/* 8025A6F8 4B DD 42 F9 */ bl dComIfGp_calcNowRegion__Fv -/* 8025A6FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A700 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A704 3B C3 0F 38 */ addi r30, r3, 0xf38 -/* 8025A708 7F C3 F3 78 */ mr r3, r30 -/* 8025A70C 81 9E 14 00 */ lwz r12, 0x1400(r30) -/* 8025A710 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8025A714 7D 89 03 A6 */ mtctr r12 -/* 8025A718 4E 80 04 21 */ bctrl -/* 8025A71C 3C 60 80 3F */ lis r3, mLineCheck__11fopAcM_lc_c@ha /* 0x803F1C48@ha */ -/* 8025A720 38 63 1C 48 */ addi r3, r3, mLineCheck__11fopAcM_lc_c@l /* 0x803F1C48@l */ -/* 8025A724 38 63 00 14 */ addi r3, r3, 0x14 -/* 8025A728 48 00 D9 F9 */ bl ClearPi__13cBgS_PolyInfoFv -/* 8025A72C 3C 60 80 3F */ lis r3, mGndCheck__11fopAcM_gc_c@ha /* 0x803F1CC4@ha */ -/* 8025A730 38 63 1C C4 */ addi r3, r3, mGndCheck__11fopAcM_gc_c@l /* 0x803F1CC4@l */ -/* 8025A734 38 63 00 14 */ addi r3, r3, 0x14 -/* 8025A738 48 00 D9 E9 */ bl ClearPi__13cBgS_PolyInfoFv -/* 8025A73C 3C 60 80 3F */ lis r3, mRoofCheck__11fopAcM_rc_c@ha /* 0x803F1D24@ha */ -/* 8025A740 38 63 1D 24 */ addi r3, r3, mRoofCheck__11fopAcM_rc_c@l /* 0x803F1D24@l */ -/* 8025A744 48 00 D9 DD */ bl ClearPi__13cBgS_PolyInfoFv -/* 8025A748 3C 60 80 3F */ lis r3, mWaterCheck__11fopAcM_wt_c@ha /* 0x803F1D80@ha */ -/* 8025A74C 38 63 1D 80 */ addi r3, r3, mWaterCheck__11fopAcM_wt_c@l /* 0x803F1D80@l */ -/* 8025A750 48 00 D9 D1 */ bl ClearPi__13cBgS_PolyInfoFv -/* 8025A754 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A758 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A75C 38 63 23 3C */ addi r3, r3, 0x233c -/* 8025A760 4B E2 B7 75 */ bl Ct__4dCcSFv -/* 8025A764 4B DD EF 15 */ bl create__7dDemo_cFv -/* 8025A768 38 A0 00 00 */ li r5, 0 -/* 8025A76C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A770 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A774 90 BF 5D AC */ stw r5, 0x5dac(r31) -/* 8025A778 98 BF 5D B0 */ stb r5, 0x5db0(r31) -/* 8025A77C 7C A3 2B 78 */ mr r3, r5 -/* 8025A780 38 00 00 02 */ li r0, 2 -/* 8025A784 7C 09 03 A6 */ mtctr r0 -lbl_8025A788: -/* 8025A788 7C 9F 1A 14 */ add r4, r31, r3 -/* 8025A78C 90 A4 5D B4 */ stw r5, 0x5db4(r4) -/* 8025A790 38 63 00 04 */ addi r3, r3, 4 -/* 8025A794 42 00 FF F4 */ bdnz lbl_8025A788 -/* 8025A798 3B 9E 4E 10 */ addi r28, r30, 0x4e10 -/* 8025A79C 7F 83 E3 78 */ mr r3, r28 -/* 8025A7A0 C0 22 B5 28 */ lfs f1, lit_4068(r2) -/* 8025A7A4 FC 40 08 90 */ fmr f2, f1 -/* 8025A7A8 C0 62 B5 30 */ lfs f3, lit_4804(r2) -/* 8025A7AC C0 82 B5 34 */ lfs f4, lit_4805(r2) -/* 8025A7B0 FC A0 08 90 */ fmr f5, f1 -/* 8025A7B4 C0 C2 B5 38 */ lfs f6, lit_4806(r2) -/* 8025A7B8 4B DF 73 09 */ bl setViewPort__14dDlst_window_cFffffff -/* 8025A7BC 7F 83 E3 78 */ mr r3, r28 -/* 8025A7C0 C0 22 B5 28 */ lfs f1, lit_4068(r2) -/* 8025A7C4 FC 40 08 90 */ fmr f2, f1 -/* 8025A7C8 C0 62 B5 30 */ lfs f3, lit_4804(r2) -/* 8025A7CC C0 82 B5 34 */ lfs f4, lit_4805(r2) -/* 8025A7D0 4B DF 73 0D */ bl setScissor__14dDlst_window_cFffff -/* 8025A7D4 38 80 00 00 */ li r4, 0 -/* 8025A7D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A7DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A7E0 98 83 5D 70 */ stb r4, 0x5d70(r3) -/* 8025A7E4 38 00 00 02 */ li r0, 2 -/* 8025A7E8 98 03 5D 71 */ stb r0, 0x5d71(r3) -/* 8025A7EC 90 83 5D 74 */ stw r4, 0x5d74(r3) -/* 8025A7F0 98 83 5D 78 */ stb r4, 0x5d78(r3) -/* 8025A7F4 98 83 5D 79 */ stb r4, 0x5d79(r3) -/* 8025A7F8 38 00 FF FF */ li r0, -1 -/* 8025A7FC 98 03 5D 7A */ stb r0, 0x5d7a(r3) -/* 8025A800 90 83 5D 7C */ stw r4, 0x5d7c(r3) -/* 8025A804 90 83 61 A8 */ stw r4, 0x61a8(r3) -/* 8025A808 90 83 61 AC */ stw r4, 0x61ac(r3) -/* 8025A80C 90 83 61 B0 */ stw r4, 0x61b0(r3) -/* 8025A810 3C 60 00 0C */ lis r3, 0x000C /* 0x000BB800@ha */ -/* 8025A814 38 63 B8 00 */ addi r3, r3, 0xB800 /* 0x000BB800@l */ -/* 8025A818 38 80 00 00 */ li r4, 0 -/* 8025A81C 4B DC 5B 81 */ bl fopMsgM_createExpHeap__FUlP7JKRHeap -/* 8025A820 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A824 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A828 90 64 5E BC */ stw r3, 0x5ebc(r4) -/* 8025A82C 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000A800@ha */ -/* 8025A830 38 63 A8 00 */ addi r3, r3, 0xA800 /* 0x0000A800@l */ -/* 8025A834 38 80 00 00 */ li r4, 0 -/* 8025A838 4B DC 5B 65 */ bl fopMsgM_createExpHeap__FUlP7JKRHeap -/* 8025A83C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A840 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A844 90 64 5E C8 */ stw r3, 0x5ec8(r4) -/* 8025A848 A8 1D 00 08 */ lha r0, 8(r29) -/* 8025A84C 2C 00 00 0C */ cmpwi r0, 0xc -/* 8025A850 40 82 00 80 */ bne lbl_8025A8D0 -/* 8025A854 38 60 02 E1 */ li r3, 0x2e1 -/* 8025A858 38 80 00 00 */ li r4, 0 -/* 8025A85C 38 A0 00 00 */ li r5, 0 -/* 8025A860 38 C0 FF FF */ li r6, -1 -/* 8025A864 38 E0 00 00 */ li r7, 0 -/* 8025A868 39 00 00 00 */ li r8, 0 -/* 8025A86C 39 20 FF FF */ li r9, -1 -/* 8025A870 4B DB F5 29 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8025A874 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A878 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A87C 4B DD A7 51 */ bl init__10dSv_info_cFv -/* 8025A880 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A884 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A888 38 00 00 00 */ li r0, 0 -/* 8025A88C 98 03 01 EB */ stb r0, 0x1eb(r3) -/* 8025A890 38 00 00 0C */ li r0, 0xc -/* 8025A894 B0 03 00 02 */ sth r0, 2(r3) -/* 8025A898 38 60 00 2F */ li r3, 0x2f -/* 8025A89C 38 80 00 00 */ li r4, 0 -/* 8025A8A0 4B FC 3C 11 */ bl dMeter2Info_setCloth__FUcb -/* 8025A8A4 38 60 00 28 */ li r3, 0x28 -/* 8025A8A8 38 80 00 00 */ li r4, 0 -/* 8025A8AC 4B FC 3C 85 */ bl dMeter2Info_setSword__FUcb -/* 8025A8B0 38 60 00 2C */ li r3, 0x2c -/* 8025A8B4 38 80 00 00 */ li r4, 0 -/* 8025A8B8 4B FC 3D 1D */ bl dMeter2Info_setShield__FUcb -/* 8025A8BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A8C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A8C4 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8025A8C8 38 80 06 01 */ li r4, 0x601 -/* 8025A8CC 4B DD A0 C1 */ bl onEventBit__11dSv_event_cFUs -lbl_8025A8D0: -/* 8025A8D0 4B DE 52 A1 */ bl create__8dMpath_cFv -/* 8025A8D4 4B E4 13 45 */ bl create__7dTres_cFv -/* 8025A8D8 4B DC C4 61 */ bl dStage_Create__Fv -/* 8025A8DC 7F C3 F3 78 */ mr r3, r30 -/* 8025A8E0 4B DD 21 3D */ bl createSimpleModel__14dComIfG_play_cFv -/* 8025A8E4 4B E4 1E C9 */ bl create__10dMdl_mng_cFv -/* 8025A8E8 80 8D 8C 40 */ lwz r4, sManager__10JFWDisplay(r13) -/* 8025A8EC 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 8025A8F0 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 8025A8F4 54 03 F0 BE */ srwi r3, r0, 2 -/* 8025A8F8 38 00 00 1E */ li r0, 0x1e -/* 8025A8FC 7C 03 03 96 */ divwu r0, r3, r0 -/* 8025A900 90 04 00 20 */ stw r0, 0x20(r4) -/* 8025A904 38 00 00 00 */ li r0, 0 -/* 8025A908 B0 04 00 1C */ sth r0, 0x1c(r4) -/* 8025A90C 38 00 FF FF */ li r0, -1 -/* 8025A910 3C 60 80 43 */ lis r3, g_envHIO@ha /* 0x8043079C@ha */ -/* 8025A914 38 63 07 9C */ addi r3, r3, g_envHIO@l /* 0x8043079C@l */ -/* 8025A918 98 03 00 04 */ stb r0, 4(r3) -/* 8025A91C 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025A920 38 63 07 EC */ addi r3, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025A924 98 03 00 04 */ stb r0, 4(r3) -/* 8025A928 34 7E 47 80 */ addic. r3, r30, 0x4780 -/* 8025A92C 41 82 00 10 */ beq lbl_8025A93C -/* 8025A930 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 8025A934 38 A0 00 00 */ li r5, 0 -/* 8025A938 4B E1 58 61 */ bl __ct__12dAttention_cFP10fopAc_ac_cUl -lbl_8025A93C: -/* 8025A93C 38 7E 4C 9C */ addi r3, r30, 0x4c9c -/* 8025A940 4B E1 55 C5 */ bl Init__12dVibration_cFv -/* 8025A944 38 A0 00 00 */ li r5, 0 -/* 8025A948 90 AD 88 18 */ stw r5, m_emitter__8daYkgr_c(r13) -/* 8025A94C 98 AD 88 0C */ stb r5, struct_80450D8C+0x0(r13) -/* 8025A950 38 80 00 01 */ li r4, 1 -/* 8025A954 98 8D 88 0D */ stb r4, struct_80450D8C+0x1(r13) -/* 8025A958 38 00 00 FF */ li r0, 0xff -/* 8025A95C 98 0D 88 0E */ stb r0, struct_80450D8C+0x2(r13) -/* 8025A960 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025A964 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025A968 3C 63 00 02 */ addis r3, r3, 2 -/* 8025A96C 98 03 DD F8 */ stb r0, -0x2208(r3) -/* 8025A970 98 AD 86 66 */ stb r5, mBlureFlag__13mDoGph_gInf_c+0x2(r13) -/* 8025A974 98 8D 86 3A */ stb r4, mBgmSet__17mDoAud_zelAudio_c(r13) -/* 8025A978 98 AD 8B A4 */ stb r5, pauseTimer__9dScnPly_c+0x0(r13) -/* 8025A97C 98 AD 8B A5 */ stb r5, pauseTimer__9dScnPly_c+0x1(r13) -/* 8025A980 38 00 FF FF */ li r0, -1 -/* 8025A984 98 0D 81 E4 */ stb r0, preLoadNo+0x0(r13) -/* 8025A988 88 0D 81 E5 */ lbz r0, preLoadNo+0x1(r13) -/* 8025A98C 28 00 00 00 */ cmplwi r0, 0 -/* 8025A990 41 82 00 28 */ beq lbl_8025A9B8 -/* 8025A994 38 7E 3E C8 */ addi r3, r30, 0x3ec8 -/* 8025A998 3B 80 00 00 */ li r28, 0 -/* 8025A99C 3C 80 80 3A */ lis r4, PreLoadInfoT@ha /* 0x8039A2C8@ha */ -/* 8025A9A0 38 84 A2 C8 */ addi r4, r4, PreLoadInfoT@l /* 0x8039A2C8@l */ -/* 8025A9A4 80 84 00 00 */ lwz r4, 0(r4) -/* 8025A9A8 48 10 DF ED */ bl strcmp -/* 8025A9AC 2C 03 00 00 */ cmpwi r3, 0 -/* 8025A9B0 40 82 00 08 */ bne lbl_8025A9B8 -/* 8025A9B4 9B 8D 81 E4 */ stb r28, preLoadNo+0x0(r13) -lbl_8025A9B8: -/* 8025A9B8 88 0D 81 E4 */ lbz r0, preLoadNo+0x0(r13) -/* 8025A9BC 7C 00 07 75 */ extsb. r0, r0 -/* 8025A9C0 40 80 00 0C */ bge lbl_8025A9CC -/* 8025A9C4 38 60 00 04 */ li r3, 4 -/* 8025A9C8 48 00 00 14 */ b lbl_8025A9DC -lbl_8025A9CC: -/* 8025A9CC 48 0E 7D 31 */ bl OSGetTime -/* 8025A9D0 90 8D 8B 94 */ stw r4, data_80451114(r13) -/* 8025A9D4 90 6D 8B 90 */ stw r3, resPreLoadTime0(r13) -/* 8025A9D8 38 60 00 02 */ li r3, 2 -lbl_8025A9DC: -/* 8025A9DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025A9E0 48 10 78 45 */ bl _restgpr_28 -/* 8025A9E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025A9E8 7C 08 03 A6 */ mtlr r0 -/* 8025A9EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025A9F0 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s deleted file mode 100644 index a2c824f5cb..0000000000 --- a/asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_8025A9F4: -/* 8025A9F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025A9F8 7C 08 02 A6 */ mflr r0 -/* 8025A9FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025AA00 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025AA04 48 10 77 CD */ bl _savegpr_26 -/* 8025AA08 88 8D 81 E4 */ lbz r4, preLoadNo+0x0(r13) -/* 8025AA0C 7C 80 07 75 */ extsb. r0, r4 -/* 8025AA10 41 80 00 94 */ blt lbl_8025AAA4 -/* 8025AA14 3B A0 00 02 */ li r29, 2 -/* 8025AA18 3C 60 80 3A */ lis r3, PreLoadInfoT@ha /* 0x8039A2C8@ha */ -/* 8025AA1C 38 63 A2 C8 */ addi r3, r3, PreLoadInfoT@l /* 0x8039A2C8@l */ -/* 8025AA20 7C 80 07 74 */ extsb r0, r4 -/* 8025AA24 54 00 20 36 */ slwi r0, r0, 4 -/* 8025AA28 7C 63 02 14 */ add r3, r3, r0 -/* 8025AA2C 83 83 00 08 */ lwz r28, 8(r3) -/* 8025AA30 8B 63 00 0D */ lbz r27, 0xd(r3) -/* 8025AA34 28 1C 00 00 */ cmplwi r28, 0 -/* 8025AA38 41 82 00 50 */ beq lbl_8025AA88 -/* 8025AA3C 80 1C 00 00 */ lwz r0, 0(r28) -/* 8025AA40 28 00 00 00 */ cmplwi r0, 0 -/* 8025AA44 41 82 00 44 */ beq lbl_8025AA88 -/* 8025AA48 3B 40 00 00 */ li r26, 0 -/* 8025AA4C 3B E0 00 00 */ li r31, 0 -/* 8025AA50 3B C0 00 00 */ li r30, 0 -/* 8025AA54 48 00 00 2C */ b lbl_8025AA80 -lbl_8025AA58: -/* 8025AA58 38 6D 8B 78 */ la r3, resPhase(r13) /* 804510F8-_SDA_BASE_ */ -/* 8025AA5C 7C 63 F2 14 */ add r3, r3, r30 -/* 8025AA60 7C 9C F8 2E */ lwzx r4, r28, r31 -/* 8025AA64 4B DD 24 59 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 8025AA68 2C 03 00 04 */ cmpwi r3, 4 -/* 8025AA6C 41 82 00 08 */ beq lbl_8025AA74 -/* 8025AA70 3B A0 00 00 */ li r29, 0 -lbl_8025AA74: -/* 8025AA74 3B 5A 00 01 */ addi r26, r26, 1 -/* 8025AA78 3B FF 00 04 */ addi r31, r31, 4 -/* 8025AA7C 3B DE 00 08 */ addi r30, r30, 8 -lbl_8025AA80: -/* 8025AA80 7C 1A D8 00 */ cmpw r26, r27 -/* 8025AA84 41 80 FF D4 */ blt lbl_8025AA58 -lbl_8025AA88: -/* 8025AA88 2C 1D 00 04 */ cmpwi r29, 4 -/* 8025AA8C 40 82 00 10 */ bne lbl_8025AA9C -/* 8025AA90 48 0E 7C 6D */ bl OSGetTime -/* 8025AA94 90 8D 8B 9C */ stw r4, data_8045111C(r13) -/* 8025AA98 90 6D 8B 98 */ stw r3, resPreLoadTime1(r13) -lbl_8025AA9C: -/* 8025AA9C 7F A3 EB 78 */ mr r3, r29 -/* 8025AAA0 48 00 00 08 */ b lbl_8025AAA8 -lbl_8025AAA4: -/* 8025AAA4 38 60 00 02 */ li r3, 2 -lbl_8025AAA8: -/* 8025AAA8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025AAAC 48 10 77 71 */ bl _restgpr_26 -/* 8025AAB0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025AAB4 7C 08 03 A6 */ mtlr r0 -/* 8025AAB8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025AABC 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s b/asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s deleted file mode 100644 index 792b1af9ac..0000000000 --- a/asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_8025AAC0: -/* 8025AAC0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025AAC4 7C 08 02 A6 */ mflr r0 -/* 8025AAC8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025AACC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025AAD0 48 10 77 01 */ bl _savegpr_26 -/* 8025AAD4 88 8D 81 E4 */ lbz r4, preLoadNo+0x0(r13) -/* 8025AAD8 7C 80 07 75 */ extsb. r0, r4 -/* 8025AADC 41 80 00 94 */ blt lbl_8025AB70 -/* 8025AAE0 3B A0 00 02 */ li r29, 2 -/* 8025AAE4 3C 60 80 3A */ lis r3, PreLoadInfoT@ha /* 0x8039A2C8@ha */ -/* 8025AAE8 38 63 A2 C8 */ addi r3, r3, PreLoadInfoT@l /* 0x8039A2C8@l */ -/* 8025AAEC 7C 80 07 74 */ extsb r0, r4 -/* 8025AAF0 54 00 20 36 */ slwi r0, r0, 4 -/* 8025AAF4 7C 63 02 14 */ add r3, r3, r0 -/* 8025AAF8 83 83 00 04 */ lwz r28, 4(r3) -/* 8025AAFC 8B 63 00 0C */ lbz r27, 0xc(r3) -/* 8025AB00 28 1C 00 00 */ cmplwi r28, 0 -/* 8025AB04 41 82 00 50 */ beq lbl_8025AB54 -/* 8025AB08 A8 1C 00 00 */ lha r0, 0(r28) -/* 8025AB0C 2C 00 00 00 */ cmpwi r0, 0 -/* 8025AB10 41 82 00 44 */ beq lbl_8025AB54 -/* 8025AB14 3B 40 00 00 */ li r26, 0 -/* 8025AB18 3B E0 00 00 */ li r31, 0 -/* 8025AB1C 3B C0 00 00 */ li r30, 0 -/* 8025AB20 48 00 00 2C */ b lbl_8025AB4C -lbl_8025AB24: -/* 8025AB24 38 6D 8B 80 */ la r3, dylPhase(r13) /* 80451100-_SDA_BASE_ */ -/* 8025AB28 7C 63 F2 14 */ add r3, r3, r30 -/* 8025AB2C 7C 9C FA AE */ lhax r4, r28, r31 -/* 8025AB30 4B DB DD 1D */ bl Link__7cDylPhsFP30request_of_phase_process_classs -/* 8025AB34 2C 03 00 04 */ cmpwi r3, 4 -/* 8025AB38 41 82 00 08 */ beq lbl_8025AB40 -/* 8025AB3C 3B A0 00 00 */ li r29, 0 -lbl_8025AB40: -/* 8025AB40 3B 5A 00 01 */ addi r26, r26, 1 -/* 8025AB44 3B FF 00 02 */ addi r31, r31, 2 -/* 8025AB48 3B DE 00 08 */ addi r30, r30, 8 -lbl_8025AB4C: -/* 8025AB4C 7C 1A D8 00 */ cmpw r26, r27 -/* 8025AB50 41 80 FF D4 */ blt lbl_8025AB24 -lbl_8025AB54: -/* 8025AB54 2C 1D 00 04 */ cmpwi r29, 4 -/* 8025AB58 40 82 00 10 */ bne lbl_8025AB68 -/* 8025AB5C 48 0E 7B A1 */ bl OSGetTime -/* 8025AB60 90 8D 8B 8C */ stw r4, data_8045110C(r13) -/* 8025AB64 90 6D 8B 88 */ stw r3, dylPreLoadTime1(r13) -lbl_8025AB68: -/* 8025AB68 7F A3 EB 78 */ mr r3, r29 -/* 8025AB6C 48 00 00 08 */ b lbl_8025AB74 -lbl_8025AB70: -/* 8025AB70 38 60 00 02 */ li r3, 2 -lbl_8025AB74: -/* 8025AB74 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025AB78 48 10 76 A5 */ bl _restgpr_26 -/* 8025AB7C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025AB80 7C 08 03 A6 */ mtlr r0 -/* 8025AB84 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025AB88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrCreate__FPv.s b/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrCreate__FPv.s index 29f3327d33..ad63e05461 100644 --- a/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrCreate__FPv.s +++ b/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrCreate__FPv.s @@ -84,8 +84,8 @@ lbl_805A8954: /* 805A895C 2C 1F 00 01 */ cmpwi r31, 1 /* 805A8960 40 82 00 4C */ bne lbl_805A89AC /* 805A8964 38 00 00 FF */ li r0, 0xff -/* 805A8968 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A896C 98 03 0D 8E */ stb r0, struct_80450D8C+0x2@l(r3) /* 0x80450D8E@l */ +/* 805A8968 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A896C 98 03 0D 8E */ stb r0, m_alpha__8daYkgr_c+0x0@l(r3) /* 0x80450D8E@l */ /* 805A8970 3C 60 80 45 */ lis r3, m_emitter__8daYkgr_c@ha /* 0x80450D98@ha */ /* 805A8974 38 83 0D 98 */ addi r4, r3, m_emitter__8daYkgr_c@l /* 0x80450D98@l */ /* 805A8978 80 64 00 00 */ lwz r3, 0(r4) @@ -98,13 +98,13 @@ lbl_805A8954: /* 805A8994 28 00 00 00 */ cmplwi r0, 0 /* 805A8998 41 82 00 94 */ beq lbl_805A8A2C /* 805A899C 38 00 00 01 */ li r0, 1 -/* 805A89A0 3C 60 80 45 */ lis r3, struct_80450D8C+0x1@ha /* 0x80450D8D@ha */ -/* 805A89A4 98 03 0D 8D */ stb r0, struct_80450D8C+0x1@l(r3) /* 0x80450D8D@l */ +/* 805A89A0 3C 60 80 45 */ lis r3, m_alpha_flag__8daYkgr_c+0x0@ha /* 0x80450D8D@ha */ +/* 805A89A4 98 03 0D 8D */ stb r0, m_alpha_flag__8daYkgr_c+0x0@l(r3) /* 0x80450D8D@l */ /* 805A89A8 48 00 00 84 */ b lbl_805A8A2C lbl_805A89AC: /* 805A89AC 38 A0 00 00 */ li r5, 0 -/* 805A89B0 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A89B4 98 A3 0D 8E */ stb r5, struct_80450D8C+0x2@l(r3) /* 0x80450D8E@l */ +/* 805A89B0 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A89B4 98 A3 0D 8E */ stb r5, m_alpha__8daYkgr_c+0x0@l(r3) /* 0x80450D8E@l */ /* 805A89B8 3C 60 80 45 */ lis r3, m_emitter__8daYkgr_c@ha /* 0x80450D98@ha */ /* 805A89BC 38 83 0D 98 */ addi r4, r3, m_emitter__8daYkgr_c@l /* 0x80450D98@l */ /* 805A89C0 80 64 00 00 */ lwz r3, 0(r4) @@ -116,8 +116,8 @@ lbl_805A89AC: /* 805A89D8 80 04 00 00 */ lwz r0, 0(r4) /* 805A89DC 28 00 00 00 */ cmplwi r0, 0 /* 805A89E0 41 82 00 4C */ beq lbl_805A8A2C -/* 805A89E4 3C 60 80 45 */ lis r3, struct_80450D8C+0x1@ha /* 0x80450D8D@ha */ -/* 805A89E8 98 A3 0D 8D */ stb r5, struct_80450D8C+0x1@l(r3) /* 0x80450D8D@l */ +/* 805A89E4 3C 60 80 45 */ lis r3, m_alpha_flag__8daYkgr_c+0x0@ha /* 0x80450D8D@ha */ +/* 805A89E8 98 A3 0D 8D */ stb r5, m_alpha_flag__8daYkgr_c+0x0@l(r3) /* 0x80450D8D@l */ /* 805A89EC 48 00 00 40 */ b lbl_805A8A2C lbl_805A89F0: /* 805A89F0 2C 1F 00 01 */ cmpwi r31, 1 @@ -125,15 +125,15 @@ lbl_805A89F0: /* 805A89F8 28 00 00 00 */ cmplwi r0, 0 /* 805A89FC 41 82 00 28 */ beq lbl_805A8A24 /* 805A8A00 38 00 00 01 */ li r0, 1 -/* 805A8A04 3C 60 80 45 */ lis r3, struct_80450D8C+0x1@ha /* 0x80450D8D@ha */ -/* 805A8A08 98 03 0D 8D */ stb r0, struct_80450D8C+0x1@l(r3) /* 0x80450D8D@l */ +/* 805A8A04 3C 60 80 45 */ lis r3, m_alpha_flag__8daYkgr_c+0x0@ha /* 0x80450D8D@ha */ +/* 805A8A08 98 03 0D 8D */ stb r0, m_alpha_flag__8daYkgr_c+0x0@l(r3) /* 0x80450D8D@l */ /* 805A8A0C 48 00 00 18 */ b lbl_805A8A24 lbl_805A8A10: /* 805A8A10 28 00 00 00 */ cmplwi r0, 0 /* 805A8A14 41 82 00 10 */ beq lbl_805A8A24 /* 805A8A18 38 00 00 00 */ li r0, 0 -/* 805A8A1C 3C 60 80 45 */ lis r3, struct_80450D8C+0x1@ha /* 0x80450D8D@ha */ -/* 805A8A20 98 03 0D 8D */ stb r0, struct_80450D8C+0x1@l(r3) /* 0x80450D8D@l */ +/* 805A8A1C 3C 60 80 45 */ lis r3, m_alpha_flag__8daYkgr_c+0x0@ha /* 0x80450D8D@ha */ +/* 805A8A20 98 03 0D 8D */ stb r0, m_alpha_flag__8daYkgr_c+0x0@l(r3) /* 0x80450D8D@l */ lbl_805A8A24: /* 805A8A24 38 60 00 03 */ li r3, 3 /* 805A8A28 48 00 00 08 */ b lbl_805A8A30 diff --git a/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrDraw__FPv.s b/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrDraw__FPv.s index 5e7d0856ee..a87cff00e0 100644 --- a/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrDraw__FPv.s +++ b/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrDraw__FPv.s @@ -31,16 +31,16 @@ lbl_805A8BBC: /* 805A8C30 FC 00 00 1E */ fctiwz f0, f0 /* 805A8C34 D8 01 00 20 */ stfd f0, 0x20(r1) /* 805A8C38 80 01 00 24 */ lwz r0, 0x24(r1) -/* 805A8C3C 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A8C40 38 83 0D 8E */ addi r4, r3, struct_80450D8C+0x2@l /* 0x80450D8E@l */ +/* 805A8C3C 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A8C40 38 83 0D 8E */ addi r4, r3, m_alpha__8daYkgr_c+0x0@l /* 0x80450D8E@l */ /* 805A8C44 98 04 00 00 */ stb r0, 0(r4) /* 805A8C48 54 03 06 3F */ clrlwi. r3, r0, 0x18 /* 805A8C4C 40 82 00 0C */ bne lbl_805A8C58 /* 805A8C50 38 03 00 01 */ addi r0, r3, 1 /* 805A8C54 98 04 00 00 */ stb r0, 0(r4) lbl_805A8C58: -/* 805A8C58 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A8C5C 88 03 0D 8E */ lbz r0, struct_80450D8C+0x2@l(r3) /* 0x80450D8E@l */ +/* 805A8C58 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A8C5C 88 03 0D 8E */ lbz r0, m_alpha__8daYkgr_c+0x0@l(r3) /* 0x80450D8E@l */ /* 805A8C60 28 00 00 00 */ cmplwi r0, 0 /* 805A8C64 40 82 00 0C */ bne lbl_805A8C70 /* 805A8C68 38 00 00 01 */ li r0, 1 @@ -105,8 +105,8 @@ lbl_805A8CDC: /* 805A8D4C 38 85 00 68 */ addi r4, r5, 0x68 /* 805A8D50 38 A5 00 A4 */ addi r5, r5, 0xa4 /* 805A8D54 4B CD 7A 8D */ bl func_802807E0 -/* 805A8D58 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A8D5C 88 03 0D 8E */ lbz r0, struct_80450D8C+0x2@l(r3) /* 0x80450D8E@l */ +/* 805A8D58 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A8D5C 88 03 0D 8E */ lbz r0, m_alpha__8daYkgr_c+0x0@l(r3) /* 0x80450D8E@l */ /* 805A8D60 3C 60 80 45 */ lis r3, m_emitter__8daYkgr_c@ha /* 0x80450D98@ha */ /* 805A8D64 38 63 0D 98 */ addi r3, r3, m_emitter__8daYkgr_c@l /* 0x80450D98@l */ /* 805A8D68 80 63 00 00 */ lwz r3, 0(r3) diff --git a/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrExecute__FPv.s b/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrExecute__FPv.s index 2acee7972a..de712adad1 100644 --- a/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrExecute__FPv.s +++ b/asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrExecute__FPv.s @@ -47,12 +47,12 @@ lbl_805A8A50: /* 805A8B04 EC 01 00 32 */ fmuls f0, f1, f0 /* 805A8B08 EC 22 00 2A */ fadds f1, f2, f0 /* 805A8B0C 4B FF F9 C9 */ bl setParam__17dPa_YkgrPcallBackFf -/* 805A8B10 3C 60 80 45 */ lis r3, struct_80450D8C+0x1@ha /* 0x80450D8D@ha */ -/* 805A8B14 88 03 0D 8D */ lbz r0, struct_80450D8C+0x1@l(r3) /* 0x80450D8D@l */ +/* 805A8B10 3C 60 80 45 */ lis r3, m_alpha_flag__8daYkgr_c+0x0@ha /* 0x80450D8D@ha */ +/* 805A8B14 88 03 0D 8D */ lbz r0, m_alpha_flag__8daYkgr_c+0x0@l(r3) /* 0x80450D8D@l */ /* 805A8B18 28 00 00 00 */ cmplwi r0, 0 /* 805A8B1C 40 82 00 44 */ bne lbl_805A8B60 -/* 805A8B20 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A8B24 38 83 0D 8E */ addi r4, r3, struct_80450D8C+0x2@l /* 0x80450D8E@l */ +/* 805A8B20 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A8B24 38 83 0D 8E */ addi r4, r3, m_alpha__8daYkgr_c+0x0@l /* 0x80450D8E@l */ /* 805A8B28 88 04 00 00 */ lbz r0, 0(r4) /* 805A8B2C 28 00 00 00 */ cmplwi r0, 0 /* 805A8B30 41 82 00 70 */ beq lbl_805A8BA0 @@ -69,8 +69,8 @@ lbl_805A8B54: /* 805A8B58 98 04 00 00 */ stb r0, 0(r4) /* 805A8B5C 48 00 00 44 */ b lbl_805A8BA0 lbl_805A8B60: -/* 805A8B60 3C 60 80 45 */ lis r3, struct_80450D8C+0x2@ha /* 0x80450D8E@ha */ -/* 805A8B64 38 83 0D 8E */ addi r4, r3, struct_80450D8C+0x2@l /* 0x80450D8E@l */ +/* 805A8B60 3C 60 80 45 */ lis r3, m_alpha__8daYkgr_c+0x0@ha /* 0x80450D8E@ha */ +/* 805A8B64 38 83 0D 8E */ addi r4, r3, m_alpha__8daYkgr_c+0x0@l /* 0x80450D8E@l */ /* 805A8B68 88 A4 00 00 */ lbz r5, 0(r4) /* 805A8B6C 28 05 00 FF */ cmplwi r5, 0xff /* 805A8B70 40 80 00 30 */ bge lbl_805A8BA0 diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 86f902daa0..64b06fdf3b 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -808,6 +808,7 @@ extern dComIfG_inf_c g_dComIfG_gameInfo; extern GXColor g_blackColor; extern GXColor g_clearColor; extern GXColor g_whiteColor; +extern GXColor g_saftyWhiteColor; int dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn*, void*); BOOL dComIfG_resetToOpening(scene_class* scene); @@ -1835,6 +1836,10 @@ inline void dComIfGs_setBButtonItemKey(u8 i_itemNo) { g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(4, i_itemNo); } +inline void dComIfGs_offPlayerFieldLastStayFieldDataExistFlag() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().offFieldDataExistFlag(); +} + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); @@ -1886,6 +1891,10 @@ inline void dComIfGp_itemDataInit() { g_dComIfG_gameInfo.play.itemInit(); } +inline void dComIfGp_init() { + g_dComIfG_gameInfo.play.init(); +} + inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) { return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag); } @@ -2966,6 +2975,10 @@ inline void dComIfGp_createSimpleModel() { g_dComIfG_gameInfo.play.createSimpleModel(); } +inline void dComIfGp_deleteSimpleModel() { + g_dComIfG_gameInfo.play.deleteSimpleModel(); +} + inline void i_dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz* param_2, const csXyz* param_3, const cXyz* param_4, u32 i_atType) { g_dComIfG_gameInfo.play.getParticle()->setHitMark(i_hitmark, param_1, param_2, param_3, param_4, @@ -3137,6 +3150,10 @@ inline void i_dComIfGp_event_reset() { g_dComIfG_gameInfo.play.getEvent().reset(); } +inline void i_dComIfGp_event_remove() { + g_dComIfG_gameInfo.play.getEvent().remove(); +} + inline void dComIfGp_event_onEventFlag(u16 i_flag) { g_dComIfG_gameInfo.play.getEvent().onEventFlag(i_flag); } diff --git a/include/d/d_model.h b/include/d/d_model.h index f42868549e..9dc33d0ef2 100644 --- a/include/d/d_model.h +++ b/include/d/d_model.h @@ -44,7 +44,7 @@ public: /* 8009C724 */ dMdl_c* entry(J3DModelData*, u16, dKy_tevstr_c*); /* 8009C8D8 */ static dMdl_c* entry(J3DModelData*, u16, int); /* 8009C7AC */ static void create(); - /* 8009C864 */ void remove(); + /* 8009C864 */ static void remove(); /* 8009C8C0 */ static void reset(); static dMdl_mng_c* m_myObj; diff --git a/include/d/d_stage.h b/include/d/d_stage.h index a7f0e7ee3d..128e6dcfdb 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -997,11 +997,12 @@ static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*); s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int); int dStage_changeScene(int i_exitId, f32 i_speed, u32 i_mode, s8 i_roomNo, s16 i_angle, int i_layerOverride); void dStage_infoCreate(); -u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer); +u32 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer); int dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roomNo, s16 angle); int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, f32 speed, u32 mode, s16 angle, int param_7); void dStage_Create(); +void dStage_Delete(); static s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0); void dStage_restartRoom(u32 roomParam, u32 mode, int param_2); class cBgS_GndChk; @@ -1043,7 +1044,7 @@ inline u32 dStage_stagInfo_GetMiniMap(stage_stag_info_class* pstag) { return (pstag->field_0x0a >> 0xD) & 7; } -inline u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info) { +inline u32 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info) { return (p_info->field_0x0a >> 0x3) & 0xFF; } diff --git a/include/d/s/d_s_play.h b/include/d/s/d_s_play.h index 6de31dc345..f81d367e50 100644 --- a/include/d/s/d_s_play.h +++ b/include/d/s/d_s_play.h @@ -16,29 +16,29 @@ public: class dScnPly_reg_HIO_c { public: - /* 8025AD78 */ virtual ~dScnPly_reg_HIO_c(); + /* 8025AD78 */ virtual ~dScnPly_reg_HIO_c() {} -#ifdef DEBUG /* 0x4 */ u8 field_0x4[0x8 - 0x4]; +#ifdef DEBUG /* 0x8 */ dScnPly_reg_childHIO_c mChildReg[26]; #endif }; class mDoHIO_entry_c { public: - virtual ~mDoHIO_entry_c(); + virtual ~mDoHIO_entry_c() {} }; class dScnPly_preLoad_HIO_c : public mDoHIO_entry_c { public: - /* 8025ADC0 */ virtual ~dScnPly_preLoad_HIO_c(); + /* 8025ADC0 */ virtual ~dScnPly_preLoad_HIO_c() {} }; class dScnPly_env_otherHIO_c { public: /* 80259440 */ dScnPly_env_otherHIO_c(); - /* 8025AC0C */ virtual ~dScnPly_env_otherHIO_c(); + /* 8025AC0C */ virtual ~dScnPly_env_otherHIO_c() {} /* 0x4 */ f32 mShadowDensity; /* 0x8 */ u8 mLODBias; @@ -50,7 +50,7 @@ class dScnPly_env_debugHIO_c { public: /* 80259468 */ dScnPly_env_debugHIO_c(); - /* 8025ABC4 */ virtual ~dScnPly_env_debugHIO_c(); + /* 8025ABC4 */ virtual ~dScnPly_env_debugHIO_c() {} private: /* 0x04 */ u8 field_0x4; @@ -62,9 +62,9 @@ private: class dScnPly_env_HIO_c { public: - /* 8025AD04 */ virtual ~dScnPly_env_HIO_c(); + /* 8025AD04 */ virtual ~dScnPly_env_HIO_c() {} - /* 0x04 */ u8 field_0x4; + /* 0x04 */ s8 field_0x4; /* 0x08 */ dScnPly_env_otherHIO_c mOther; /* 0x14 */ dScnPly_env_debugHIO_c mDebug; }; @@ -90,8 +90,8 @@ public: /* 0x1D4 */ u8 field_0x1d4; }; -extern u8 g_envHIO[68]; -extern u8 g_regHIO[4]; +extern dScnPly_env_HIO_c g_envHIO; +extern dScnPly_reg_HIO_c g_regHIO; /** * === Register Usage === diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index a81b6c93dd..31569a7e42 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -509,6 +509,7 @@ public: void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo); bool isFieldDataExistFlag() const { return mFieldDataExistFlag; } + void offFieldDataExistFlag() { mFieldDataExistFlag = false; } private: /* 0x00 */ cXyz mPos; diff --git a/include/d/save/d_save_HIO.h b/include/d/save/d_save_HIO.h index 032fed4d21..3239bb29d8 100644 --- a/include/d/save/d_save_HIO.h +++ b/include/d/save/d_save_HIO.h @@ -228,4 +228,6 @@ public: STATIC_ASSERT(sizeof(dSvBit_HIO_c) == 0x4A0); +extern dSvBit_HIO_c g_save_bit_HIO; + #endif /* D_SAVE_D_SAVE_HIO_H */ diff --git a/include/f_op/f_op_camera_mng.h b/include/f_op/f_op_camera_mng.h index b92d6a4e30..1d842e63cb 100644 --- a/include/f_op/f_op_camera_mng.h +++ b/include/f_op/f_op_camera_mng.h @@ -64,6 +64,10 @@ inline f32 fopCamM_GetFovy(camera_class* i_camera) { return i_camera->mFovy; } +inline cXyz* fopCamM_GetEye_p(camera_class* i_camera) { + return &i_camera->mLookat.mEye; +} + u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3); void fopCamM_Management(void); u32 fopCamM_GetParam(camera_class* pCamera); diff --git a/include/rel/d/a/d_a_suspend/d_a_suspend.h b/include/rel/d/a/d_a_suspend/d_a_suspend.h index 4449d0580a..858301e30a 100644 --- a/include/rel/d/a/d_a_suspend/d_a_suspend.h +++ b/include/rel/d/a/d_a_suspend/d_a_suspend.h @@ -43,7 +43,7 @@ public: }; // Size: 0x4 /* 80031248 */ static int newData(s8, cXyz const&, cXyz const&, u8, u8, u8); - /* 800313BC */ void reset(); + /* 800313BC */ static void reset(); /* 800314D4 */ static void check(fopAc_ac_c*); /* 80031434 */ static bool check(s8 i_roomNo, cXyz const& i_pos); /* 800315A4 */ static void execute(); diff --git a/include/rel/d/a/d_a_ykgr/d_a_ykgr.h b/include/rel/d/a/d_a_ykgr/d_a_ykgr.h index 740b9c19cc..a13b62e7d2 100644 --- a/include/rel/d/a/d_a_ykgr/d_a_ykgr.h +++ b/include/rel/d/a/d_a_ykgr/d_a_ykgr.h @@ -2,5 +2,100 @@ #define D_A_YKGR_H #include "dolphin/types.h" +#include "JSystem/JParticle/JPAParticle.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "SSystem/SComponent/c_math.h" +#include "f_op/f_op_actor.h" +#include "f_op/f_op_camera_mng.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_path.h" +#include "d/kankyo/d_kankyo_rain.h" +#include "d/com/d_com_inf_game.h" +#include "d/particle/d_particle.h" + +struct daYkgr_HIO_c { + /* 805A8D98 */ ~daYkgr_HIO_c(); + + u32 vtable; + u8 field_0x4[0x20 - 0x4]; + f32 field_0x20; + f32 field_0x24; +}; + +struct dPa_YkgrPcallBack /*: public JPAParticleCallBack */ { + /* 805A8E3C */ ~dPa_YkgrPcallBack(); + /* 805A848C */ void draw(JPABaseEmitter*, JPABaseParticle*); + /* 805A84D4 */ void setParam(f32); + + u32 vtable; + /* 0x04 */ f32 field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ s8 field_0x1c; +}; + +extern "C" u8 m_flag__8daYkgr_c; +extern "C" u8 m_alpha_flag__8daYkgr_c; +extern "C" u8 m_alpha__8daYkgr_c; + +class daYkgr_c : public fopAc_ac_c { +public: + static void init() { + m_emitter = 0; + m_flag = false; + m_alpha_flag = true; + m_alpha = 255; + } + + f32 getPosRate(); + static void setAlpha(u8 alpha) { + m_alpha = alpha; + } + static void start() { + if (m_emitter != NULL) { + m_alpha_flag = true; + } + } + static void stop() { + if (m_emitter != NULL) { + m_alpha_flag = false; + } + } + + void set_mtx() { + camera_class* iVar1 = dComIfGp_getCamera(0); + cXyz local_28; + current.pos = *fopCamM_GetEye_p(iVar1); + dKyr_get_vectle_calc(&iVar1->mLookat.mEye, &iVar1->mLookat.mCenter, &local_28); + current.angle.y = cM_atan2s(local_28.x, local_28.z); + current.angle.x = -cM_atan2s( + local_28.y, JMAFastSqrt((local_28.x * local_28.x + local_28.z * local_28.z))); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, + current.pos.z); + mDoMtx_stack_c::YrotM(current.angle.y); + mDoMtx_stack_c::XrotM(current.angle.x); + MTXCopy(mDoMtx_stack_c::get(), field_0x570); + } + + int _create(); + int _execute(); + int _draw(); + + static JPABaseEmitter* m_emitter; + static bool m_flag; + static bool m_alpha_flag; + static u8 m_alpha; + static f32 m_aim_rate; + static dPath* m_path; + + u8 field_0x568[0x570 - 0x568]; + Mtx field_0x570; + u32 field_0x5a0; + f32 field_0x5a4; + f32 field_0x5a8; +}; #endif /* D_A_YKGR_H */ diff --git a/rel/d/a/d_a_ykgr/d_a_ykgr.cpp b/rel/d/a/d_a_ykgr/d_a_ykgr.cpp index 07895bb623..5b0fd36e31 100644 --- a/rel/d/a/d_a_ykgr/d_a_ykgr.cpp +++ b/rel/d/a/d_a_ykgr/d_a_ykgr.cpp @@ -4,75 +4,20 @@ // #include "rel/d/a/d_a_ykgr/d_a_ykgr.h" +#include "m_Do/m_Do_mtx.h" +#include "m_Do/m_Do_hostIO.h" +#include "d/particle/d_particle.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" #include "dol2asm.h" +#include "JSystem/JKernel/JKRHeap.h" // // Types: // -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct mDoHIO_entry_c { - /* 805A8DF4 */ ~mDoHIO_entry_c(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daYkgr_c { - /* 805A85D4 */ void getPosRate(); - - static u8 m_aim_rate[4]; - static u8 m_path[4]; - static u8 m_emitter[4]; -}; - -struct daYkgr_HIO_c { - /* 805A8D98 */ ~daYkgr_HIO_c(); -}; - -struct dPa_levelEcallBack {}; - -struct dKy_tevstr_c {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct cXyz {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct JPABaseParticle {}; - -struct JPABaseEmitter {}; - -struct dPa_YkgrPcallBack { - /* 805A848C */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 805A84D4 */ void setParam(f32); - /* 805A8E3C */ ~dPa_YkgrPcallBack(); -}; - -struct JPAParticleCallBack { - /* 8027EFA4 */ ~JPAParticleCallBack(); - /* 805A8E9C */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 805A8FA4 */ void draw(JPABaseEmitter*, JPABaseParticle*); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - // // Forward References: // @@ -111,23 +56,11 @@ extern "C" void cLib_addCalc2__FPffff(); extern "C" void __dt__19JPAParticleCallBackFv(); extern "C" void func_802807E0(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareDistance(); -extern "C" void GXSetIndTexMtx(); -extern "C" void GXSetTevAlphaIn(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; -extern "C" extern u32 __float_max; -extern "C" extern u8 struct_80450D8C[4]; extern "C" u8 m_aim_rate__8daYkgr_c[4]; extern "C" u8 m_path__8daYkgr_c[4]; extern "C" u8 m_emitter__8daYkgr_c[4]; @@ -139,6 +72,13 @@ extern "C" void __register_global_object(); /* 805A848C-805A84D4 0000EC 0048+00 1/0 0/0 0/0 .text * draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle */ +// Needs inheritance +#ifdef NONMATCHING +void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { + GXSetIndTexMtx(GX_ITM_0, &field_0x4, field_0x1c); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -147,6 +87,7 @@ asm void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle.s" } #pragma pop +#endif /* ############################################################################################## */ /* 805A8FBC-805A8FC0 000000 0004+00 6/6 0/0 0/0 .rodata @3759 */ @@ -200,6 +141,29 @@ COMPILER_STRIP_GATE(0x805A8FD4, &lit_3766); #pragma pop /* 805A84D4-805A85D4 000134 0100+00 2/2 0/0 0/0 .text setParam__17dPa_YkgrPcallBackFf */ +// Matches with literals +#ifdef NONMATCHING +void dPa_YkgrPcallBack::setParam(f32 param_1) { + if (param_1 <= -17.0f || param_1 >= 47.0f) return; { + if (param_1 >= 0.0f) { + field_0x1c = param_1; + f32 fVar1 = (param_1 - field_0x1c) * 0.5f + 0.5f; + field_0x14 = fVar1; + field_0x4 = fVar1; + } else { + f32 x = param_1 - 1.0f; + field_0x1c = x; + f32 fVar1 = (x - field_0x1c) * 0.5f + 1.0f; + field_0x14 = fVar1; + field_0x4 = fVar1; + } + field_0x8 = 0.0f; + field_0xc = 0.0f; + field_0x10 = 0.0f; + field_0x18 = 0.0f; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -208,6 +172,7 @@ asm void dPa_YkgrPcallBack::setParam(f32 param_0) { #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/setParam__17dPa_YkgrPcallBackFf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 805A8FDC-805A8FE4 000020 0008+00 0/1 0/0 0/0 .rodata @3846 */ @@ -340,14 +305,42 @@ static u8 lit_3744[12]; static u8 l_HIO[40]; /* 805A85D4-805A882C 000234 0258+00 1/1 0/0 0/0 .text getPosRate__8daYkgr_cFv */ +// Matches with literals +#ifdef NONMATCHING +f32 daYkgr_c::getPosRate() { + if (m_path == NULL) { + return 0.0f; + } + f32 dVar11 = FLT_MAX; + cXyz cStack_5c(dComIfGp_getPlayer(0)->current.pos); + dStage_dPnt_c* iVar9 = m_path->m_points; + int uVar2 = m_path->m_num; + for (int iVar8 = 0; iVar8 < uVar2; iVar8++, iVar9++) { + cXyz cStack_68(iVar9->m_position.x, iVar9->m_position.y, iVar9->m_position.z); + f32 dVar10 = cStack_5c.absXZ(cStack_68); + if (dVar10 < dVar11) { + dVar11 = dVar10; + } + } + if (dVar11 > ((daYkgr_HIO_c*)&l_HIO)->field_0x20) { + dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x20; + } else if (dVar11 < ((daYkgr_HIO_c*)&l_HIO)->field_0x24) { + dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x24; + } + f32 y = (((daYkgr_HIO_c*)&l_HIO)->field_0x20); + y = (dVar11 - ((daYkgr_HIO_c*)&l_HIO)->field_0x24) / (y -((daYkgr_HIO_c*)&l_HIO)->field_0x24); + return 1.0f - y; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daYkgr_c::getPosRate() { +asm f32 daYkgr_c::getPosRate() { nofralloc #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/getPosRate__8daYkgr_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 805A8FF4-805A8FF8 000038 0004+00 0/2 0/0 0/0 .rodata @3951 */ @@ -367,18 +360,73 @@ static u8 lit_3851[12]; static u8 YkgrCB[32]; /* 805A882C-805A8A48 00048C 021C+00 1/0 0/0 0/0 .text daYkgrCreate__FPv */ +// regalloc +#ifdef NONMATCHING +inline int daYkgr_c::_create() { + dPath* path; + s32 uVar1 = fopAcM_GetParam(this) ; + uVar1 = (uVar1 >> 0x14) & 0xf; + fopAcM_SetupActor(this, daYkgr_c); + u32 uVar4 = (fopAcM_GetParam(this) >> 8) & 0xff; + if (uVar4 != 0xff) { + path = dPath_GetRoomPath(uVar4, fopAcM_GetRoomNo(this)); + } else { + path = NULL; + } + m_path = path; + + if (m_emitter == NULL) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + this->current.pos = player->current.pos; + m_emitter = dComIfGp_particle_set(0x80e2, &this->current.pos, NULL, NULL); + if (m_emitter != NULL) { + m_emitter->setParticleCallBackPtr((JPAParticleCallBack*)YkgrCB); + ((dPa_YkgrPcallBack*)YkgrCB)->setParam(-3.0f); + } else { + return cPhs_ERROR_e; + } + fopAcM_setStageLayer(this); + if (uVar1 == 1) { + setAlpha(0xff); + m_emitter->setGlobalAlpha(0xff); + field_0x5a4 = 0.5f; + field_0x5a8 = 0.0f; + start(); + } else { + setAlpha(0); + m_emitter->setGlobalAlpha(0); + field_0x5a4 = 0.5f; + field_0x5a8 = 0.0f; + stop(); + } + } else { + if (uVar1 == 1) { + start(); + } else { + stop(); + } + return cPhs_UNK3_e; + } + return cPhs_COMPLEATE_e; +} + +static int daYkgrCreate(void* i_this) { + return static_cast(i_this)->_create(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daYkgrCreate(void* param_0) { +static asm int daYkgrCreate(void* param_0) { nofralloc #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrCreate__FPv.s" } #pragma pop +#endif /* 805A8A48-805A8A50 0006A8 0008+00 1/0 0/0 0/0 .text daYkgrDelete__FPv */ -static bool daYkgrDelete(void* param_0) { - return true; +static int daYkgrDelete(void* param_0) { + return 1; } /* ############################################################################################## */ @@ -397,14 +445,45 @@ COMPILER_STRIP_GATE(0x805A8FFC, &lit_3977); #pragma pop /* 805A8A50-805A8BBC 0006B0 016C+00 1/0 0/0 0/0 .text daYkgrExecute__FPv */ +// Matches with literals +#ifdef NONMATCHING +inline int daYkgr_c::_execute() { + cLib_addCalc2(&field_0x5a4, m_aim_rate, 0.25f, 0.05f); + cLib_addCalc2(&m_aim_rate, ((f32*)l_HIO)[7], 0.25f, 0.05f); + cLib_addCalc2(&field_0x5a8, getPosRate(), 0.25f, 0.05f); + f32 fVar4 = field_0x5a8 * 0.5f + field_0x5a4 * 0.5f; + ((dPa_YkgrPcallBack*)YkgrCB)->setParam(fVar4 * ((f32*)l_HIO)[6] + (1.0f - fVar4) * ((f32*)l_HIO)[5]); + if (m_alpha_flag == 0) { + if (m_alpha != 0) { + if (m_alpha > ((s32*)l_HIO)[3]) { + m_alpha = m_alpha - ((s32*)l_HIO)[3]; + } else { + m_alpha = 0; + } + } + } else if (m_alpha < 0xff) { + if (m_alpha < 0xff - ((s32*)l_HIO)[3]) { + m_alpha = m_alpha + ((s32*)l_HIO)[3]; + } else { + m_alpha = 0xff; + } + } + return 1; +} + +static int daYkgrExecute(void* i_this) { + return static_cast(i_this)->_execute(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daYkgrExecute(void* param_0) { +static asm int daYkgrExecute(void* param_0) { nofralloc #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrExecute__FPv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 805A9000-805A9004 000044 0004+00 0/1 0/0 0/0 .rodata @4032 */ @@ -428,41 +507,73 @@ SECTION_DEAD static char const* const stringBase_805A9018 = "D_MN04A"; #pragma pop /* 805A8BBC-805A8D90 00081C 01D4+00 1/0 0/0 0/0 .text daYkgrDraw__FPv */ +// Matches with literals +#ifdef NONMATCHING +inline int daYkgr_c::_draw() { + bool rv; + if (strcmp(dComIfGp_getStartStageName(), "D_MN04A") == 0) { + m_alpha = (dComIfGs_BossLife_public_Get() / 100.0f) * 255.0f; + if (m_alpha == 0) { + m_alpha++; + } + } + if (m_alpha == 0) { + rv = true; + } else { + set_mtx(); + if (m_emitter != NULL) { + m_emitter->setGlobalRTMatrix(field_0x570); + m_emitter->setGlobalAlpha(m_alpha); + } + rv = true; + } + return rv; +} + +static int daYkgrDraw(void* i_this) { + return static_cast(i_this)->_draw(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daYkgrDraw(void* param_0) { +static asm int daYkgrDraw(void* param_0) { nofralloc #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/daYkgrDraw__FPv.s" } #pragma pop +#endif /* 805A8D90-805A8D98 0009F0 0008+00 1/0 0/0 0/0 .text daYkgrIsDelete__FPv */ -static bool daYkgrIsDelete(void* param_0) { - return true; +static int daYkgrIsDelete(void* param_0) { + return 1; } /* ############################################################################################## */ /* 805A9020-805A9040 -00001 0020+00 1/0 0/0 0/0 .data daYkgrMethodTable */ -SECTION_DATA static void* daYkgrMethodTable[8] = { - (void*)daYkgrCreate__FPv, - (void*)daYkgrDelete__FPv, - (void*)daYkgrExecute__FPv, - (void*)daYkgrIsDelete__FPv, - (void*)daYkgrDraw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daYkgrMethodTable = { + daYkgrCreate, + daYkgrDelete, + daYkgrExecute, + daYkgrIsDelete, + daYkgrDraw, }; -/* 805A9040-805A9070 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Ykgr */ -SECTION_DATA extern void* g_profile_Ykgr[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02BC0000, (void*)&g_fpcLf_Method, - (void*)0x000005AC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01AE0000, (void*)&daYkgrMethodTable, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_Ykgr = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_Ykgr, + &g_fpcLf_Method.mBase, + sizeof(daYkgr_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01AE, + &daYkgrMethodTable, + 0x00044000, + 0, + 0, }; /* 805A9070-805A9084 000050 0014+00 2/2 0/0 0/0 .data __vt__17dPa_YkgrPcallBack */ @@ -511,13 +622,18 @@ asm daYkgr_HIO_c::~daYkgr_HIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoHIO_entry_c::~mDoHIO_entry_c() { +asm void __dt__14mDoHIO_entry_cFv() { +//asm mDoHIO_entry_c::~mDoHIO_entry_c() { nofralloc #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/__dt__14mDoHIO_entry_cFv.s" } #pragma pop /* 805A8E3C-805A8E9C 000A9C 0060+00 2/1 0/0 0/0 .text __dt__17dPa_YkgrPcallBackFv */ +#ifdef NONMATCHING +dPa_YkgrPcallBack::~dPa_YkgrPcallBack() { +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -526,6 +642,7 @@ asm dPa_YkgrPcallBack::~dPa_YkgrPcallBack() { #include "asm/rel/d/a/d_a_ykgr/d_a_ykgr/__dt__17dPa_YkgrPcallBackFv.s" } #pragma pop +#endif /* 805A8E9C-805A8EA0 000AFC 0004+00 2/0 0/0 0/0 .text * execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp index 8d3f2add24..752b1cd130 100644 --- a/src/d/com/d_com_static.cpp +++ b/src/d/com/d_com_static.cpp @@ -16,17 +16,12 @@ #include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" #include "rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.h" #include "rel/d/a/tag/d_a_tag_stream/d_a_tag_stream.h" +#include "rel/d/a/d_a_ykgr/d_a_ykgr.h" // // Types: // -struct daYkgr_c { - static u8 m_aim_rate[4]; - static u8 m_path[4]; - static u8 m_emitter[4]; -}; - struct daObjMovebox { struct Act_c { static void* M_dir_base[2]; @@ -273,14 +268,15 @@ u8 daSus_c::mRoom[256]; /* 80450D88-80450D8C -00001 0004+00 1/1 0/0 2/2 .sbss None */ /* 80450D88 0002+00 data_80450D88 m_count__9daArrow_c */ extern s16 m_count__9daArrow_c; +#pragma push +#pragma force_active on s16 m_count__9daArrow_c; +#pragma pop /* 80450D8A 0002+00 data_80450D8A mSetTop__7daSus_c */ s16 daSus_c::mSetTop; /* 80031248-800313BC 02BB88 0174+00 0/0 0/0 1/1 .text newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc */ -// Issues with mSetTop and m_count__9daArrow_c relocation -#ifdef NONMATCHING int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3, u8 param_4, u8 i_type) { s16 setTop = mSetTop; @@ -307,17 +303,6 @@ int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 p return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daSus_c::newData(s8 param_0, cXyz const& param_1, cXyz const& param_2, u8 param_3, - u8 param_4, u8 param_5) { - nofralloc -#include "asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s" -} -#pragma pop -#endif /* 800313BC-80031434 02BCFC 0078+00 0/0 1/1 0/0 .text reset__7daSus_cFv */ void daSus_c::reset() { @@ -429,34 +414,24 @@ void daNpcKakashi_clrSuccessCount() { dComIfGs_setTmpReg(0xFEFF, 0); } -/* ############################################################################################## */ -/* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803790B8 = "@bg%04x"; -#pragma pop - /* 80450D8C-80450D90 -00001 0004+00 0/0 1/1 3/3 .sbss None */ /* 80450D8C 0001+00 data_80450D8C None */ -// u8 daYkgr_c::m_flag; +bool daYkgr_c::m_flag; /* 80450D8D 0001+00 data_80450D8D None */ -// u8 daYkgr_c::m_alpha_flag; +bool daYkgr_c::m_alpha_flag; /* 80450D8E 0002+00 data_80450D8E None */ -// u8 daYkgr_c::m_alpha; - -extern u8 struct_80450D8C[4]; -u8 struct_80450D8C[4]; +u8 daYkgr_c::m_alpha; /* 80450D90-80450D94 000290 0004+00 0/0 0/0 1/1 .sbss m_aim_rate__8daYkgr_c */ -u8 daYkgr_c::m_aim_rate[4]; +f32 daYkgr_c::m_aim_rate; /* 80450D94-80450D98 000294 0004+00 0/0 0/0 2/2 .sbss m_path__8daYkgr_c */ -u8 daYkgr_c::m_path[4]; +dPath* daYkgr_c::m_path; /* 80450D98-80450D9C 000298 0004+00 0/0 1/1 2/2 .sbss m_emitter__8daYkgr_c */ -u8 daYkgr_c::m_emitter[4]; +JPABaseEmitter* daYkgr_c::m_emitter; /* 80031870-800318B4 02C1B0 0044+00 0/0 0/0 19/19 .text getArcName__12daSetBgObj_cFP10fopAc_ac_c */ diff --git a/src/d/d_eye_hl.cpp b/src/d/d_eye_hl.cpp index 7b4b1d28e2..a4477e60e6 100644 --- a/src/d/d_eye_hl.cpp +++ b/src/d/d_eye_hl.cpp @@ -45,7 +45,7 @@ dEyeHL_c* dEyeHL_mng_c::m_obj; void dEyeHL_mng_c::update() { dEyeHL_c* obj = m_obj; - if (g_envHIO[0x10] == 0 || !i_dComIfGp_event_runCheck()) { + if (g_envHIO.mOther.mLODBias == 0 || !i_dComIfGp_event_runCheck()) { for (; obj != NULL; obj = obj->m_next) { obj->m_timg->LODBias = obj->m_lodBias; } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index bacb37b6b5..c77d6010a0 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -2172,7 +2172,7 @@ static int dStage_lgtvInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, /* 80025738-80025744 020078 000C+00 0/0 1/1 0/0 .text * dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi */ -u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer) { +u32 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer) { return p_info->mParticleNo[layer]; } diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp index 889c36b98e..aaf7db700a 100644 --- a/src/d/s/d_s_logo.cpp +++ b/src/d/s/d_s_logo.cpp @@ -1,5 +1,4 @@ // -// Generated By: dol2asm // Translation Unit: d/s/d_s_logo // @@ -10,7 +9,6 @@ #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" #include "d/map/d_map_path_dmap.h" -#include "dol2asm.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" @@ -79,11 +77,10 @@ void dScnLogo_c::preLoad_dyl_remove() { /* ############################################################################################## */ /* 80399FE0-80399FFC 026640 001C+00 1/1 0/0 0/0 .rodata l_preLoad_dylKeyTbl */ -SECTION_RODATA static s16 const l_preLoad_dylKeyTbl[14] = { +static s16 const l_preLoad_dylKeyTbl[14] = { 0x02DC, 0x02CE, 0x0221, 0x00F2, 0x021B, 0x02F4, 0x0139, 0x015A, 0x02E4, 0x00FE, 0x0308, 0x030F, 0x00FF, 0x013F, }; -COMPILER_STRIP_GATE(0x80399FE0, &l_preLoad_dylKeyTbl); /* 8025611C-80256198 250A5C 007C+00 2/2 0/0 0/0 .text preLoad_dyl__10dScnLogo_cFv */ bool dScnLogo_c::preLoad_dyl() { diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index 6be0805711..0d679b519d 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -1,5 +1,4 @@ // -// Generated By: dol2asm // Translation Unit: d/s/d_s_name // diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index 8779f3d938..024b0c46a1 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -1,6 +1,5 @@ // -// Generated By: dol2asm -// Translation Unit: d/s/d_s_play +// d/s/d_s_play // #include "d/s/d_s_play.h" @@ -18,7 +17,6 @@ #include "d/meter/d_meter2_info.h" #include "d/msg/d_msg_object.h" #include "d/save/d_save_HIO.h" -#include "dol2asm.h" #include "f_op/f_op_draw_iter.h" #include "f_op/f_op_msg_mng.h" #include "f_op/f_op_overlap_mng.h" @@ -28,206 +26,50 @@ #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_graphic.h" #include "rel/d/a/d_a_suspend/d_a_suspend.h" - -extern "C" void calcPauseTimer__9dScnPly_cFv(); -extern "C" void __ct__22dScnPly_env_otherHIO_cFv(); -extern "C" void __ct__22dScnPly_env_debugHIO_cFv(); -extern "C" static void dScnPly_Draw__FP9dScnPly_c(); -extern "C" static void dScnPly_Execute__FP9dScnPly_c(); -extern "C" static void dScnPly_IsDelete__F9dScnPly_c(); -extern "C" static void dScnPly_Delete__FP9dScnPly_c(); -extern "C" void resetGame__9dScnPly_cFv(); -extern "C" void offReset__9dScnPly_cFv(); -extern "C" static void phase_00__FP9dScnPly_c(); -extern "C" static void phase_01__FP9dScnPly_c(); -extern "C" static s32 phase_0__FP9dScnPly_c(); -extern "C" static void phase_1__FP9dScnPly_c(); -extern "C" static void phase_1_0__FP9dScnPly_c(); -extern "C" static void phase_2__FP9dScnPly_c(); -extern "C" static void phase_3__FP9dScnPly_c(); -extern "C" static void phase_4__FP9dScnPly_c(); -extern "C" static void phase_5__FP9dScnPly_c(); -extern "C" static void phase_6__FP9dScnPly_c(); -extern "C" static s32 phase_compleate__FPv(); -extern "C" static void dScnPly_Create__FP11scene_class(); -extern "C" void __dt__22dScnPly_env_debugHIO_cFv(); -extern "C" void __dt__22dScnPly_env_otherHIO_cFv(); -extern "C" void __sinit_d_s_play_cpp(); -extern "C" void __dt__17dScnPly_env_HIO_cFv(); -extern "C" void __dt__17dScnPly_reg_HIO_cFv(); -extern "C" void __dt__21dScnPly_preLoad_HIO_cFv(); -extern "C" extern char const* const d_s_d_s_play__stringBase0; - -// -// External References: -// - -extern "C" void mDoAud_setSceneName__FPCcll(); -extern "C" void mDoAud_load1stDynamicWave__Fv(); -extern "C" void mDoAud_resetRecover__Fv(); -extern "C" void remove__Q213mDoGph_gInf_c7bloom_cFv(); -extern "C" void mDoRst_resetCallBack__FiPv(); -extern "C" void Link__7cDylPhsFP30request_of_phase_process_classs(); -extern "C" void Unlink__7cDylPhsFP30request_of_phase_process_classs(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopOvlpM_IsPeek__Fv(); -extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); -extern "C" void fopMsgM_createExpHeap__FUlP7JKRHeap(); -extern "C" void fopMsgM_destroyExpHeap__FP10JKRExpHeap(); -extern "C" void fopDwIt_Begin__Fv(); -extern "C" void fopDwIt_Next__FP16create_tag_class(); -extern "C" void fpcM_Draw__FPv(); -extern "C" void resetArchiveBank__20dStage_roomControl_cFi(); -extern "C" void dStage_stagInfo_GetParticleNo__FP21stage_stag_info_classi(); -extern "C" void dStage_infoCreate__Fv(); -extern "C" void dStage_Create__Fv(); -extern "C" void dStage_Delete__Fv(); -extern "C" void init__14dComIfG_play_cFv(); -extern "C" void setStartStage__14dComIfG_play_cFP19dStage_startStage_c(); -extern "C" void getLayerNo_common_common__14dComIfG_play_cFPCcii(); -extern "C" void getLayerNo_common__14dComIfG_play_cFPCcii(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void createSimpleModel__14dComIfG_play_cFv(); -extern "C" void deleteSimpleModel__14dComIfG_play_cFv(); -extern "C" void dComIfG_resetToOpening__FP11scene_class(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGs_BossLife_public_Set__FSc(); -extern "C" void dComIfGp_calcNowRegion__Fv(); -extern "C" void dComIfGp_world_dark_set__FUc(); -extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv(); -extern "C" void reset__7daSus_cFv(); -extern "C" void execute__7daSus_cFv(); -extern "C" void onDarkClearLV__21dSv_player_status_b_cFi(); -extern "C" void onTransformLV__21dSv_player_status_b_cFi(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void onFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void onSwitch__12dSv_danBit_cFi(); -extern "C" void init__10dSv_info_cFv(); -extern "C" void create__7dDemo_cFv(); -extern "C" void remove__7dDemo_cFv(); -extern "C" void update__7dDemo_cFv(); -extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap(); -extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci(); -extern "C" void setStageRes__14dRes_control_cFPCcP7JKRHeap(); -extern "C" void create__8dMpath_cFv(); -extern "C" void remove__8dMpath_cFv(); -extern "C" void Step__14dEvt_control_cFv(); -extern "C" void remove__14dEvt_control_cFv(); -extern "C" void readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c(); -extern "C" void createScene__13dPa_control_cFPCv(); -extern "C" void removeScene__13dPa_control_cFb(); -extern "C" void cleanup__13dPa_control_cFv(); -extern "C" void calc3D__13dPa_control_cFv(); -extern "C" void calc2D__13dPa_control_cFv(); -extern "C" void setViewPort__14dDlst_window_cFffffff(); -extern "C" void setScissor__14dDlst_window_cFffff(); -extern "C" void Run__12dVibration_cFv(); -extern "C" void Init__12dVibration_cFv(); -extern "C" void Pause__12dVibration_cFv(); -extern "C" void Remove__12dVibration_cFv(); -extern "C" void __ct__12dAttention_cFP10fopAc_ac_cUl(); -extern "C" void __dt__12dAttention_cFv(); -extern "C" void Run__12dAttention_cFv(); -extern "C" void Draw__12dAttention_cFv(); -extern "C" void ClrMoveFlag__4dBgSFv(); -extern "C" void Move__4dBgSFv(); -extern "C" void Ct__4dCcSFv(); -extern "C" void Dt__4dCcSFv(); -extern "C" void Move__4dCcSFv(); -extern "C" void Draw__4dCcSFv(); -extern "C" void execItemGet__FUc(); -extern "C" void create__7dTres_cFv(); -extern "C" void remove__7dTres_cFv(); -extern "C" void create__10dMdl_mng_cFv(); -extern "C" void remove__10dMdl_mng_cFv(); -extern "C" void reset__10dMdl_mng_cFv(); -extern "C" void update__12dEyeHL_mng_cFv(); -extern "C" void checkRoomRestartStart__9daPy_py_cFv(); -extern "C" void dKy_getdaytime_hour__Fv(); -extern "C" void dKy_getdaytime_minute__Fv(); -extern "C" void dKy_itudemo_se__Fv(); -extern "C" void dKy_get_dayofweek__Fv(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void dKy_darkworld_stage_check__FPCci(); -extern "C" void dKy_darkworld_spot_check__FPCci(); -extern "C" void dKy_darkworld_Area_set__FPCci(); -extern "C" void dMeter2Info_setCloth__FUcb(); -extern "C" void dMeter2Info_setSword__FUcb(); -extern "C" void dMeter2Info_setShield__FUcb(); -extern "C" void readMessageGroup__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c(); -extern "C" s8 func_80252E70(s8*); -extern "C" void ClearPi__13cBgS_PolyInfoFv(); -extern "C" void setInDarkness__10Z2SceneMgrFb(); -extern "C" void check1stDynamicWave__10Z2SceneMgrFv(); -extern "C" void load2ndDynamicWave__10Z2SceneMgrFv(); -extern "C" void sceneBgmStart__10Z2SceneMgrFv(); -extern "C" void __dl__FPv(); -extern "C" void setMessageCount__12JUTAssertionFi(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -// extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */]; -// extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */]; -extern "C" extern void* __vt__14mDoHIO_entry_c[3]; -extern "C" u8 m_bloom__13mDoGph_gInf_c[20]; -extern "C" u8 mLineCheck__11fopAcM_lc_c[112]; -extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; -extern "C" u8 mRoofCheck__11fopAcM_rc_c[80]; -extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; -extern "C" extern dScnKy_env_light_c g_env_light; -extern "C" extern dSvBit_HIO_c g_save_bit_HIO; -extern "C" extern GXColor g_saftyWhiteColor; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 mProcID__20dStage_roomControl_c[4]; -extern "C" extern u8 struct_80450D8C[4]; -extern "C" extern u8 mBgmSet__17mDoAud_zelAudio_c; -extern "C" u8 m_emitter__8daYkgr_c[4]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; -extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; -extern "C" u8 mStatus__13dPa_control_c; +#include "rel/d/a/d_a_ykgr/d_a_ykgr.h" // // Declarations: // +static void dScnPly_Create(scene_class*); +static int dScnPly_Delete(dScnPly_c*); +static int dScnPly_IsDelete(dScnPly_c); +static int dScnPly_Execute(dScnPly_c*); +static int dScnPly_Draw(dScnPly_c*); +static int phase_00(dScnPly_c*); +static int phase_00(dScnPly_c*); +static int phase_1(dScnPly_c*); +static int phase_1_0(dScnPly_c*); +static int phase_01(dScnPly_c*); +static int phase_0(dScnPly_c*); +static int phase_2(dScnPly_c*); +static int phase_3(dScnPly_c*); +static int phase_4(dScnPly_c*); +static int phase_5(dScnPly_c*); +static int phase_6(dScnPly_c*); +static int phase_compleate(void*); + +extern "C" s8 func_80252E70(s8*); + /* ############################################################################################## */ /* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */ -static request_of_phase_process_class resPhase; +static request_of_phase_process_class resPhase[1]; /* 80451100-80451108 000600 0008+00 2/2 0/0 0/0 .sbss dylPhase */ -static request_of_phase_process_class dylPhase; +static request_of_phase_process_class dylPhase[1]; /* 80451108-8045110C 000608 0004+00 1/1 0/0 0/0 .sbss dylPreLoadTime1 */ -static u8 dylPreLoadTime1[4]; - -/* 8045110C-80451110 00060C 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_8045110C[4]; +static OSTime dylPreLoadTime1; /* 80451110-80451114 000610 0004+00 1/1 0/0 0/0 .sbss resPreLoadTime0 */ -//static OSTime resPreLoadTime0; -static u8 resPreLoadTime0[4]; - -/* 80451114-80451118 000614 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80451114[4]; +static OSTime resPreLoadTime0; /* 80451118-8045111C 000618 0004+00 1/1 0/0 0/0 .sbss resPreLoadTime1 */ -static u8 resPreLoadTime1[4]; - -/* 8045111C-80451120 00061C 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_8045111C[4]; +static OSTime resPreLoadTime1; /* 80451120-80451124 000620 0004+00 1/1 0/0 0/0 .sbss g_preLoadHIO */ -static u8 g_preLoadHIO[4]; +static dScnPly_preLoad_HIO_c g_preLoadHIO; /* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */ /* 80451124 0001+00 data_80451124 None */ @@ -249,80 +91,66 @@ s8 dScnPly_c::calcPauseTimer() { /* ############################################################################################## */ /* 803C3158-803C3188 020278 002E+02 1/1 0/0 0/0 .data l_wipeType$4081 */ -SECTION_DATA static s16 l_wipeType[23] = { +static s16 l_wipeType[23] = { 0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005, 0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008, }; /* 803C3188-803C3194 0202A8 000A+02 1/1 0/0 0/0 .data camparamarc$4608 */ -SECTION_DATA static char camparamarc[10] = "CamParam"; +static char camparamarc[10] = "CamParam"; /* 803C3194-803C31C0 -00001 002C+00 1/1 0/0 0/0 .data l_method$4860 */ -SECTION_DATA static request_of_phase_process_fn l_method[11] = { - (request_of_phase_process_fn)phase_00__FP9dScnPly_c, - (request_of_phase_process_fn)phase_1__FP9dScnPly_c, - (request_of_phase_process_fn)phase_1_0__FP9dScnPly_c, - (request_of_phase_process_fn)phase_01__FP9dScnPly_c, - (request_of_phase_process_fn)phase_0__FP9dScnPly_c, - (request_of_phase_process_fn)phase_2__FP9dScnPly_c, - (request_of_phase_process_fn)phase_3__FP9dScnPly_c, - (request_of_phase_process_fn)phase_4__FP9dScnPly_c, - (request_of_phase_process_fn)phase_5__FP9dScnPly_c, - (request_of_phase_process_fn)phase_6__FP9dScnPly_c, - (request_of_phase_process_fn)phase_compleate__FPv, +static request_of_phase_process_fn l_method[11] = { + (request_of_phase_process_fn)phase_00, + (request_of_phase_process_fn)phase_1, + (request_of_phase_process_fn)phase_1_0, + (request_of_phase_process_fn)phase_01, + (request_of_phase_process_fn)phase_0, + (request_of_phase_process_fn)phase_2, + (request_of_phase_process_fn)phase_3, + (request_of_phase_process_fn)phase_4, + (request_of_phase_process_fn)phase_5, + (request_of_phase_process_fn)phase_6, + (request_of_phase_process_fn)phase_compleate, }; /* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */ -SECTION_DATA static void* l_dScnPly_Method[5] = { - (void*)dScnPly_Create__FP11scene_class, (void*)dScnPly_Delete__FP9dScnPly_c, - (void*)dScnPly_Execute__FP9dScnPly_c, (void*)dScnPly_IsDelete__F9dScnPly_c, - (void*)dScnPly_Draw__FP9dScnPly_c, +static leafdraw_method_class l_dScnPly_Method = { + (process_method_func)dScnPly_Create, (process_method_func)dScnPly_Delete, + (process_method_func)dScnPly_Execute, (process_method_func)dScnPly_IsDelete, + (process_method_func)dScnPly_Draw, }; /* 803C31D4-803C31FC -00001 0028+00 0/0 0/0 1/0 .data g_profile_PLAY_SCENE */ -SECTION_DATA extern void* g_profile_PLAY_SCENE[10] = { - (void*)NULL, - (void*)0x0001FFFD, - (void*)0x000B0000, - (void*)&g_fpcNd_Method, - (void*)0x000001D8, - (void*)NULL, - (void*)NULL, - (void*)&g_fopScn_Method, - (void*)&l_dScnPly_Method, - (void*)NULL, +scene_process_profile_definition g_profile_PLAY_SCENE = { + fpcLy_ROOT_e, // mLayerID + 1, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_PLAY_SCENE, // mProcName + &g_fpcNd_Method.mBase, // mSubMtd + sizeof(dScnPly_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopScn_Method.mBase, // mSubMtd + (process_method_class*)&l_dScnPly_Method, // mpMtd }; /* 803C31FC-803C3224 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OPENING_SCENE */ -SECTION_DATA extern void* g_profile_OPENING_SCENE[10] = { - (void*)NULL, - (void*)0x0001FFFD, - (void*)0x000C0000, - (void*)&g_fpcNd_Method, - (void*)0x000001D8, - (void*)NULL, - (void*)NULL, - (void*)&g_fopScn_Method, - (void*)&l_dScnPly_Method, - (void*)NULL, -}; - -/* 803C3224-803C3230 020344 000C+00 3/3 0/0 0/0 .data __vt__22dScnPly_env_debugHIO_c */ -SECTION_DATA extern void* __vt__22dScnPly_env_debugHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22dScnPly_env_debugHIO_cFv, -}; - -/* 803C3230-803C323C 020350 000C+00 3/3 0/0 0/0 .data __vt__22dScnPly_env_otherHIO_c */ -SECTION_DATA extern void* __vt__22dScnPly_env_otherHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22dScnPly_env_otherHIO_cFv, +scene_process_profile_definition g_profile_OPENING_SCENE = { + fpcLy_ROOT_e, // mLayerID + 1, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_OPENING_SCENE, // mProcName + &g_fpcNd_Method.mBase, // mSubMtd + sizeof(dScnPly_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopScn_Method.mBase, // mSubMtd + (process_method_class*)&l_dScnPly_Method, // mpMtd }; /* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */ -SECTION_SDATA2 static u16 T_JOINT_dylKeyTbl = { +static const s16 T_JOINT_dylKeyTbl[1] = { 0x0106, }; @@ -333,40 +161,13 @@ dScnPly_env_otherHIO_c::dScnPly_env_otherHIO_c() { mDispTransCylinder = false; } -/* ############################################################################################## */ -/* 80454F20-80454F24 003520 0004+00 1/1 0/0 0/0 .sdata2 @4066 */ -SECTION_SDATA2 static f32 lit_4066 = -100.0f; - -/* 80454F24-80454F28 003524 0004+00 1/1 0/0 0/0 .sdata2 @4067 */ -SECTION_SDATA2 static f32 lit_4067 = 100.0f; - -/* 80454F28-80454F2C 003528 0004+00 2/2 0/0 0/0 .sdata2 @4068 */ -SECTION_SDATA2 static u8 lit_4068[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80259468-802594AC 253DA8 0044+00 1/1 0/0 0/0 .text __ct__22dScnPly_env_debugHIO_cFv */ -// matches with literals -#ifdef NONMATCHING dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { mBoxCullMinSize.set(-100.0f, -100.0f, -100.0f); mBoxCullMaxSize.set(100.0f, 100.0f, 100.0f); mSphereCullCenter.set(0.0f, 0.0f, 0.0f); mSphereCullRadius = 100.0f; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { - nofralloc -#include "asm/d/s/d_s_play/__ct__22dScnPly_env_debugHIO_cFv.s" -} -#pragma pop -#endif /* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */ static int dScnPly_Draw(dScnPly_c* scn) { @@ -467,52 +268,78 @@ static int dScnPly_IsDelete(dScnPly_c scnPly) { return 1; } -/* ############################################################################################## */ -/* 8039A2DF-8039A2E7 02693F 0008+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_8039A2DF; +struct ProLoadInfoStruct { + const char* field_0x0; + const s16* field_0x4; + const char** field_0x8; + u8 field_0xc; + u8 field_0xd; +}; /* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */ -extern "C" const char* T_JOINT_resName; - -/* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */ -extern "C" u16 T_JOINT_dylKeyTbl; +static const char* T_JOINT_resName[1] = {"Always"}; /* 8039A2C8-8039A2D8 -00001 0010+00 4/4 0/0 0/0 .rodata PreLoadInfoT */ -SECTION_RODATA static void* const PreLoadInfoT[4] = { - (void*)(((char*)&d_s_d_s_play__stringBase0) + 0x7), - &T_JOINT_dylKeyTbl, - &T_JOINT_resName, - (void*)0x01010000, +static ProLoadInfoStruct const PreLoadInfoT[1] = { + { + "T_JOINT", + T_JOINT_dylKeyTbl, + T_JOINT_resName, + 1, + 1, + }, }; -COMPILER_STRIP_GATE(0x8039A2C8, &PreLoadInfoT); - -/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A2D8 = "Always"; -SECTION_DEAD static char const* const stringBase_8039A2DF = "T_JOINT"; -#pragma pop - -/* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */ -SECTION_SDATA static const char* T_JOINT_resName = "Always"; /* 80450764-80450768 -00001 0004+00 4/4 0/0 0/0 .sdata None */ -SECTION_SDATA static s8 preLoadNo = 0xFF; +static s8 preLoadNo = -1; -#pragma push -#pragma force_active on -SECTION_SDATA static u8 doPreLoad = 1; -#pragma pop +static u8 doPreLoad = 1; /* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dScnPly_Delete(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/dScnPly_Delete__FP9dScnPly_c.s" +static int dScnPly_Delete(dScnPly_c* param_0) { + daSus_c::reset(); + dMpath_c::remove(); + dTres_c::remove(); + dComIfGp_getAttention().~dAttention_c(); + dComIfGp_getVibration().Remove(); + dComIfG_Bgsp().Dt(); + dComIfG_Ccsp()->Dt(); + dStage_Delete(); + i_dComIfGp_event_remove(); + dComIfGp_particle_removeScene(0); + dComIfGp_getMsgDtArchive(1)->removeResourceAll(); + JKRUnmountArchive(dComIfGp_getMsgDtArchive(1)); + dDemo_c::remove(); + fopMsgM_destroyExpHeap(dComIfGp_getExpHeap2D()); + dComIfGp_setExpHeap2D(NULL); + fopMsgM_destroyExpHeap(dComIfGp_getMsgExpHeap()); + dComIfGp_setMsgExpHeap(NULL); + dComIfGp_deleteSimpleModel(); + dMdl_mng_c::remove(); + mDoGph_gInf_c::getBloom()->remove(); + dComIfGs_offPlayerFieldLastStayFieldDataExistFlag(); + dComIfGp_setWindowNum(0); + dComIfGd_setView(NULL); + if (preLoadNo >= 0) { + const char** piVar4 = PreLoadInfoT[preLoadNo].field_0x8; + int bVar1 = PreLoadInfoT[preLoadNo].field_0xd; + if (piVar4 != NULL && (*piVar4 != NULL)) { + for (int iVar3 = 0; iVar3 < bVar1; iVar3++) { + dComIfG_resDelete(&resPhase[iVar3], piVar4[iVar3]); + } + } + const s16* psVar5 = PreLoadInfoT[preLoadNo].field_0x4; + int bVar2 = PreLoadInfoT[preLoadNo].field_0xc; + if (psVar5 != NULL && *psVar5 != 0) { + for (int iVar3 = 0; iVar3 < bVar2; iVar3++) { + cDylPhs::Unlink(&dylPhase[iVar3], psVar5[iVar3]); + } + } + } + dComIfGp_init(); + JUTAssertion::setMessageCount(0); + return 1; } -#pragma pop /* 80259AC4-80259BFC 254404 0138+00 1/1 0/0 0/0 .text resetGame__9dScnPly_cFv */ bool dScnPly_c::resetGame() { @@ -745,17 +572,12 @@ static int phase_1_0(dScnPly_c* param_0) { } /* 8025A4F8-8025A5D4 254E38 00DC+00 1/0 0/0 0/0 .text phase_2__FP9dScnPly_c */ -// extra mr -#ifdef NONMATCHING static int phase_2(dScnPly_c* scn) { int tmp = dComIfG_syncAllObjectRes(); if (tmp >= 0 && tmp != 0) { return cPhs_INIT_e; } - int layer = dComIfG_play_c::getLayerNo(0); - stage_stag_info_class* stag_info = i_dComIfGp_getStage()->getStagInfo(); - - u8 particle_no = dStage_stagInfo_GetParticleNo(stag_info, layer); + u8 particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo(), dComIfG_play_c::getLayerNo(0)); if (particle_no == 255) { particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo()); } @@ -764,16 +586,6 @@ static int phase_2(dScnPly_c* scn) { dMsgObject_readMessageGroup(&scn->field_0x1d0); return cPhs_NEXT_e; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int phase_2(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_2__FP9dScnPly_c.s" -} -#pragma pop -#endif /* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */ static int phase_3(dScnPly_c* scn) { @@ -786,55 +598,13 @@ static int phase_3(dScnPly_c* scn) { return cPhs_NEXT_e; } -/* ############################################################################################## */ -/* 80430778-80430784 05D498 000C+00 1/1 0/0 0/0 .bss @4041 */ -static u8 lit_4041[12]; - -/* 80430784-80430790 05D4A4 000C+00 0/1 0/0 0/0 .bss @4049 */ -#pragma push -#pragma force_active on -static u8 lit_4049[12]; -#pragma pop - -/* 80430790-8043079C 05D4B0 000C+00 0/1 0/0 0/0 .bss @4050 */ -#pragma push -#pragma force_active on -static u8 lit_4050[12]; -#pragma pop +/* 80451128-80451130 000628 0004+04 1/1 0/0 0/0 .sbss g_regHIO */ +dScnPly_reg_HIO_c g_regHIO; /* 8043079C-804307E0 05D4BC 0044+00 1/2 3/3 0/0 .bss g_envHIO */ -u8 g_envHIO[68]; - -/* 80454F30-80454F34 003530 0004+00 1/1 0/0 0/0 .sdata2 @4804 */ -SECTION_SDATA2 static f32 lit_4804 = 608.0f; - -/* 80454F34-80454F38 003534 0004+00 1/1 0/0 0/0 .sdata2 @4805 */ -SECTION_SDATA2 static f32 lit_4805 = 448.0f; - -/* 80454F38-80454F40 003538 0004+04 1/1 0/0 0/0 .sdata2 @4806 */ -SECTION_SDATA2 static f32 lit_4806[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; - -class daYkgr_c { -public: - static void init() { - m_emitter = 0; - m_flag = false; - m_alpha_flag = true; - m_alpha = 255; - } - - static u32 m_emitter; - static bool m_flag; - static bool m_alpha_flag; - static u8 m_alpha; -}; +dScnPly_env_HIO_c g_envHIO; /* 8025A654-8025A9F4 254F94 03A0+00 1/0 0/0 0/0 .text phase_4__FP9dScnPly_c */ -#ifdef NONMATCHING static int phase_4(dScnPly_c* i_this) { if (i_this->sceneCommand) { dComIfGp_particle_createScene(i_this->sceneCommand->getMemAddress()); @@ -889,7 +659,7 @@ static int phase_4(dScnPly_c* i_this) { dMdl_mng_c::create(); mDoGph_gInf_c::setTickRate((OS_BUS_CLOCK / 4) / 30); - g_envHIO[4] = -1; + g_envHIO.field_0x4 = -1; g_save_bit_HIO.field_0x4 = -1; new (&dComIfGp_getAttention()) dAttention_c(dComIfGp_getPlayer(0), 0); dComIfGp_getVibration().Init(); @@ -902,8 +672,14 @@ static int phase_4(dScnPly_c* i_this) { dScnPly_c::nextPauseTimer = 0; preLoadNo = -1; - if (doPreLoad != 0 && !strcmp(dComIfGp_getStartStageName(), (char*)PreLoadInfoT[0])) { - preLoadNo = 0; + if (doPreLoad != 0) { + const char* stageName = dComIfGp_getStartStageName(); + OS_REPORT("stageName=%s\n", stageName); + for (u32 i = 0; i < 1; i++) { + if (strcmp(stageName, PreLoadInfoT[i].field_0x0) == 0) { + preLoadNo = i; + } + } } if (preLoadNo < 0) { @@ -913,36 +689,60 @@ static int phase_4(dScnPly_c* i_this) { resPreLoadTime0 = OSGetTime(); return cPhs_NEXT_e; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_4(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_4__FP9dScnPly_c.s" -} -#pragma pop -#endif /* 8025A9F4-8025AAC0 255334 00CC+00 1/0 0/0 0/0 .text phase_5__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_5(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_5__FP9dScnPly_c.s" +static int phase_5(dScnPly_c* param_0) { + if (preLoadNo >= 0) { + int rv = 2; + const char** resNames = PreLoadInfoT[preLoadNo].field_0x8; + s32 resNameNum = PreLoadInfoT[preLoadNo].field_0xd; + if (resNames != NULL && *resNames != NULL) { + JUT_ASSERT(2830, resNameNum <= (sizeof(resPhase) / sizeof(resPhase[0]))); + int goodLoads = 0; + int loadNum = 0; + for (int i = 0; i < resNameNum; i++) { + if (dComIfG_resLoad(&resPhase[i], resNames[i]) == 4) { + goodLoads++; + } else { + rv = 0; + } + loadNum++; + } + } + if (rv == 4) { + resPreLoadTime1 = OSGetTime(); + } + return rv; + } + return cPhs_NEXT_e; } -#pragma pop /* 8025AAC0-8025AB8C 255400 00CC+00 1/0 0/0 0/0 .text phase_6__FP9dScnPly_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_6(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/phase_6__FP9dScnPly_c.s" +static int phase_6(dScnPly_c* param_0) { + if (preLoadNo >= 0) { + int rv = 2; + const s16* dylKeyTbl = PreLoadInfoT[preLoadNo].field_0x4; + s32 dylKeyTblNum = PreLoadInfoT[preLoadNo].field_0xc; + if (dylKeyTbl != NULL && *dylKeyTbl != 0) { + JUT_ASSERT(2864, dylKeyTblNum <= (sizeof(dylPhase) / sizeof(dylPhase[0]))); + int goodLoads = 0; + int loadNum = 0; + for (int i = 0; i < dylKeyTblNum; i++) { + if (cDylPhs::Link(&dylPhase[i], dylKeyTbl[i]) == 4) { + goodLoads++; + } else { + rv = 0; + } + loadNum++; + } + } + if (rv == 4) { + dylPreLoadTime1 = OSGetTime(); + } + return rv; + } + return cPhs_NEXT_e; } -#pragma pop /* 8025AB8C-8025AB94 2554CC 0008+00 1/0 0/0 0/0 .text phase_compleate__FPv */ static int phase_compleate(void* param_0) { @@ -953,100 +753,3 @@ static int phase_compleate(void* param_0) { static void dScnPly_Create(scene_class* i_this) { dComLbG_PhaseHandler(&static_cast(i_this)->field_0x1c4, l_method, i_this); } - -/* 8025ABC4-8025AC0C 255504 0048+00 1/0 0/0 0/0 .text __dt__22dScnPly_env_debugHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dScnPly_env_debugHIO_c::~dScnPly_env_debugHIO_c() { -extern "C" asm void __dt__22dScnPly_env_debugHIO_cFv() { - nofralloc -#include "asm/d/s/d_s_play/__dt__22dScnPly_env_debugHIO_cFv.s" -} -#pragma pop - -/* 8025AC0C-8025AC54 25554C 0048+00 1/0 0/0 0/0 .text __dt__22dScnPly_env_otherHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dScnPly_env_otherHIO_c::~dScnPly_env_otherHIO_c() { -extern "C" asm void __dt__22dScnPly_env_otherHIO_cFv() { - nofralloc -#include "asm/d/s/d_s_play/__dt__22dScnPly_env_otherHIO_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803C323C-803C3248 02035C 000C+00 2/2 0/0 0/0 .data __vt__17dScnPly_env_HIO_c */ -SECTION_DATA extern void* __vt__17dScnPly_env_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dScnPly_env_HIO_cFv, -}; - -/* 803C3248-803C3254 020368 000C+00 2/2 0/0 0/0 .data __vt__17dScnPly_reg_HIO_c */ -SECTION_DATA extern void* __vt__17dScnPly_reg_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dScnPly_reg_HIO_cFv, -}; - -/* 803C3254-803C3260 020374 000C+00 2/2 0/0 0/0 .data __vt__21dScnPly_preLoad_HIO_c */ -SECTION_DATA extern void* __vt__21dScnPly_preLoad_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__21dScnPly_preLoad_HIO_cFv, -}; - -/* 80451128-80451130 000628 0004+04 1/1 0/0 0/0 .sbss g_regHIO */ -u8 g_regHIO[4]; - -/* 8025AC54-8025AD04 255594 00B0+00 0/0 1/0 0/0 .text __sinit_d_s_play_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_s_play_cpp() { - nofralloc -#include "asm/d/s/d_s_play/__sinit_d_s_play_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8025AC54, __sinit_d_s_play_cpp); -#pragma pop - -/* 8025AD04-8025AD78 255644 0074+00 2/1 0/0 0/0 .text __dt__17dScnPly_env_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dScnPly_env_HIO_c::~dScnPly_env_HIO_c() { -extern "C" asm void __dt__17dScnPly_env_HIO_cFv() { - nofralloc -#include "asm/d/s/d_s_play/__dt__17dScnPly_env_HIO_cFv.s" -} -#pragma pop - -/* 8025AD78-8025ADC0 2556B8 0048+00 2/1 0/0 0/0 .text __dt__17dScnPly_reg_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dScnPly_reg_HIO_c::~dScnPly_reg_HIO_c() { -extern "C" asm void __dt__17dScnPly_reg_HIO_cFv() { - nofralloc -#include "asm/d/s/d_s_play/__dt__17dScnPly_reg_HIO_cFv.s" -} -#pragma pop - -/* 8025ADC0-8025AE1C 255700 005C+00 2/1 0/0 0/0 .text __dt__21dScnPly_preLoad_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dScnPly_preLoad_HIO_c::~dScnPly_preLoad_HIO_c() { -extern "C" asm void __dt__21dScnPly_preLoad_HIO_cFv() { - nofralloc -#include "asm/d/s/d_s_play/__dt__21dScnPly_preLoad_HIO_cFv.s" -} -#pragma pop - -/* 8039A2D8-8039A2D8 026938 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */