Merge pull request #240 from TakaRikka/room

d_s_room / d_a_bg first pass
This commit is contained in:
TakaRikka
2023-01-05 00:45:37 -08:00
committed by GitHub
62 changed files with 1321 additions and 2208 deletions
+8 -8
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 21.473726% | 772312 | 3596544
.text | 21.920933% | 788396 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 29.752439% | 1196248 | 4020672
Total | 30.152472% | 1212332 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 29.752439% | 1196248 | 4020672
RELs | 33.301114% | 3829736 | 11500324
Total | 32.381839% | 5025984 | 15520996
main.dol | 30.152472% | 1212332 | 4020672
RELs | 33.321461% | 3832076 | 11500324
Total | 32.500543% | 5044408 | 15520996
## RELs
@@ -38,7 +38,7 @@ d_a_sq | 35.488722% | 3776 | 10640
d_a_ppolamp | 42.341463% | 1736 | 4100
d_a_demo_item | 33.863165% | 3920 | 11576
d_a_cstaf | 100.000000% | 11860 | 11860
d_a_bg | 35.526882% | 3304 | 9300
d_a_bg | 41.505376% | 3860 | 9300
d_a_tboxSw | 100.000000% | 1016 | 1016
d_a_title | 39.558574% | 2796 | 7068
d_a_L7low_dr | 38.905775% | 1536 | 3948
@@ -235,7 +235,7 @@ d_a_obj_batta | 31.886560% | 5172 | 16220
d_a_obj_udoor | 49.156627% | 1632 | 3320
d_a_obj_damCps | 100.000000% | 504 | 504
d_a_obj_tobyhouse | 34.586466% | 3864 | 11172
d_a_obj_enemy_create | 36.916549% | 1044 | 2828
d_a_obj_enemy_create | 100.000000% | 2828 | 2828
d_a_obj_magne_arm | 34.395028% | 7084 | 20596
d_a_obj_TvCdlst | 43.547170% | 2308 | 5300
d_a_obj_lv8OptiLift | 35.768374% | 3212 | 8980
@@ -785,4 +785,4 @@ d_a_b_oh2 | 37.960954% | 2100 | 5532
d_a_b_bq | 28.033347% | 11164 | 39824
d_a_b_zant_sima | 40.995025% | 1648 | 4020
d_a_b_gm | 30.376176% | 11628 | 38280
Total | 33.301114% | 3829736 | 11500324
Total | 33.321461% | 3832076 | 11500324
@@ -1,13 +0,0 @@
lbl_8025BB48:
/* 8025BB48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025BB4C 7C 08 02 A6 */ mflr r0
/* 8025BB50 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025BB54 7C 65 1B 78 */ mr r5, r3
/* 8025BB58 38 65 01 C4 */ addi r3, r5, 0x1c4
/* 8025BB5C 3C 80 80 3C */ lis r4, l_method@ha /* 0x803C3260@ha */
/* 8025BB60 38 84 32 60 */ addi r4, r4, l_method@l /* 0x803C3260@l */
/* 8025BB64 4B DD 3F BD */ bl dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv
/* 8025BB68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025BB6C 7C 08 03 A6 */ mtlr r0
/* 8025BB70 38 21 00 10 */ addi r1, r1, 0x10
/* 8025BB74 4E 80 00 20 */ blr
@@ -1,80 +0,0 @@
lbl_8025B73C:
/* 8025B73C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025B740 7C 08 02 A6 */ mflr r0
/* 8025B744 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025B748 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B74C 48 10 6A 8D */ bl _savegpr_28
/* 8025B750 7C 7E 1B 78 */ mr r30, r3
/* 8025B754 83 E3 00 B0 */ lwz r31, 0xb0(r3)
/* 8025B758 38 80 00 00 */ li r4, 0
/* 8025B75C 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 8025B760 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 8025B764 1C 1F 04 04 */ mulli r0, r31, 0x404
/* 8025B768 7C 63 02 14 */ add r3, r3, r0
/* 8025B76C 98 83 03 F4 */ stb r4, 0x3f4(r3)
/* 8025B770 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B774 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B778 3B 9D 4E C4 */ addi r28, r29, 0x4ec4
/* 8025B77C 7F 83 E3 78 */ mr r3, r28
/* 8025B780 7F E4 FB 78 */ mr r4, r31
/* 8025B784 4B DC 8C 01 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8025B788 81 83 00 00 */ lwz r12, 0(r3)
/* 8025B78C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8025B790 7D 89 03 A6 */ mtctr r12
/* 8025B794 4E 80 04 21 */ bctrl
/* 8025B798 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13)
/* 8025B79C 80 03 00 00 */ lwz r0, 0(r3)
/* 8025B7A0 2C 00 00 00 */ cmpwi r0, 0
/* 8025B7A4 40 82 00 54 */ bne lbl_8025B7F8
/* 8025B7A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B7AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B7B0 88 03 4E 1C */ lbz r0, 0x4e1c(r3)
/* 8025B7B4 7C 00 07 75 */ extsb. r0, r0
/* 8025B7B8 41 82 00 40 */ beq lbl_8025B7F8
/* 8025B7BC 38 7D 4E 0E */ addi r3, r29, 0x4e0e
/* 8025B7C0 38 9D 4E 00 */ addi r4, r29, 0x4e00
/* 8025B7C4 48 10 D1 D1 */ bl strcmp
/* 8025B7C8 2C 03 00 00 */ cmpwi r3, 0
/* 8025B7CC 40 82 00 2C */ bne lbl_8025B7F8
/* 8025B7D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B7D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B7D8 88 03 4E 18 */ lbz r0, 0x4e18(r3)
/* 8025B7DC 7C 00 07 74 */ extsb r0, r0
/* 8025B7E0 7C 1F 00 00 */ cmpw r31, r0
/* 8025B7E4 41 82 00 48 */ beq lbl_8025B82C
/* 8025B7E8 7F E3 FB 78 */ mr r3, r31
/* 8025B7EC 4B FF FE 91 */ bl isReadRoom__Fi
/* 8025B7F0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8025B7F4 40 82 00 38 */ bne lbl_8025B82C
lbl_8025B7F8:
/* 8025B7F8 80 7E 00 B0 */ lwz r3, 0xb0(r30)
/* 8025B7FC 4B DD 3C C1 */ bl dComIfG_getRoomArcName__Fi
/* 8025B800 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B804 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B808 3C 84 00 02 */ addis r4, r4, 2
/* 8025B80C 38 84 D4 F8 */ addi r4, r4, -11016
/* 8025B810 38 A0 00 40 */ li r5, 0x40
/* 8025B814 4B DE 09 81 */ bl deleteRes__14dRes_control_cFPCcP11dRes_info_ci
/* 8025B818 7F E3 FB 78 */ mr r3, r31
/* 8025B81C 4B DC 8B 95 */ bl getMemoryBlock__20dStage_roomControl_cFi
/* 8025B820 28 03 00 00 */ cmplwi r3, 0
/* 8025B824 41 82 00 08 */ beq lbl_8025B82C
/* 8025B828 48 07 2D A5 */ bl freeAll__7JKRHeapFv
lbl_8025B82C:
/* 8025B82C 7F 83 E3 78 */ mr r3, r28
/* 8025B830 7F E4 FB 78 */ mr r4, r31
/* 8025B834 4B DC 8B 51 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8025B838 81 83 00 00 */ lwz r12, 0(r3)
/* 8025B83C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8025B840 7D 89 03 A6 */ mtctr r12
/* 8025B844 4E 80 04 21 */ bctrl
/* 8025B848 38 7D 4F F8 */ addi r3, r29, 0x4ff8
/* 8025B84C 7F E4 FB 78 */ mr r4, r31
/* 8025B850 4B DE B1 9D */ bl roomFinish__16dEvent_manager_cFi
/* 8025B854 38 60 00 01 */ li r3, 1
/* 8025B858 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B85C 48 10 69 C9 */ bl _restgpr_28
/* 8025B860 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025B864 7C 08 03 A6 */ mtlr r0
/* 8025B868 38 21 00 20 */ addi r1, r1, 0x20
/* 8025B86C 4E 80 00 20 */ blr
-10
View File
@@ -1,10 +0,0 @@
lbl_8025B150:
/* 8025B150 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B154 7C 08 02 A6 */ mflr r0
/* 8025B158 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B15C 4B DC 6F BD */ bl fpcM_Delete__FPv
/* 8025B160 38 60 00 00 */ li r3, 0
/* 8025B164 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B168 7C 08 03 A6 */ mtlr r0
/* 8025B16C 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B170 4E 80 00 20 */ blr
-16
View File
@@ -1,16 +0,0 @@
lbl_8025B194:
/* 8025B194 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B198 7C 08 02 A6 */ mflr r0
/* 8025B19C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B1A0 90 61 00 08 */ stw r3, 8(r1)
/* 8025B1A4 3C 60 80 26 */ lis r3, isCreatingCallback__FP10create_tagPUi@ha /* 0x8025B174@ha */
/* 8025B1A8 38 63 B1 74 */ addi r3, r3, isCreatingCallback__FP10create_tagPUi@l /* 0x8025B174@l */
/* 8025B1AC 38 81 00 08 */ addi r4, r1, 8
/* 8025B1B0 4B DC 58 55 */ bl fpcCtIt_Judge__FPFPvPv_PvPv
/* 8025B1B4 30 03 FF FF */ addic r0, r3, -1
/* 8025B1B8 7C 00 19 10 */ subfe r0, r0, r3
/* 8025B1BC 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8025B1C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B1C4 7C 08 03 A6 */ mtlr r0
/* 8025B1C8 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B1CC 4E 80 00 20 */ blr
-55
View File
@@ -1,55 +0,0 @@
lbl_8025B67C:
/* 8025B67C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B680 7C 08 02 A6 */ mflr r0
/* 8025B684 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B688 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025B68C 7C 7F 1B 78 */ mr r31, r3
/* 8025B690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B694 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B698 85 83 4E 20 */ lwzu r12, 0x4e20(r3)
/* 8025B69C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8025B6A0 7D 89 03 A6 */ mtctr r12
/* 8025B6A4 4E 80 04 21 */ bctrl
/* 8025B6A8 28 03 00 00 */ cmplwi r3, 0
/* 8025B6AC 40 82 00 0C */ bne lbl_8025B6B8
/* 8025B6B0 38 60 00 00 */ li r3, 0
/* 8025B6B4 48 00 00 74 */ b lbl_8025B728
lbl_8025B6B8:
/* 8025B6B8 80 03 00 00 */ lwz r0, 0(r3)
/* 8025B6BC 7C 00 F8 00 */ cmpw r0, r31
/* 8025B6C0 41 81 00 0C */ bgt lbl_8025B6CC
/* 8025B6C4 38 60 00 00 */ li r3, 0
/* 8025B6C8 48 00 00 60 */ b lbl_8025B728
lbl_8025B6CC:
/* 8025B6CC 80 83 00 04 */ lwz r4, 4(r3)
/* 8025B6D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B6D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B6D8 88 03 4E 18 */ lbz r0, 0x4e18(r3)
/* 8025B6DC 7C 00 07 74 */ extsb r0, r0
/* 8025B6E0 54 00 10 3A */ slwi r0, r0, 2
/* 8025B6E4 7C 64 00 2E */ lwzx r3, r4, r0
/* 8025B6E8 80 83 00 04 */ lwz r4, 4(r3)
/* 8025B6EC 88 03 00 00 */ lbz r0, 0(r3)
/* 8025B6F0 7C 09 03 A6 */ mtctr r0
/* 8025B6F4 2C 00 00 00 */ cmpwi r0, 0
/* 8025B6F8 40 81 00 2C */ ble lbl_8025B724
lbl_8025B6FC:
/* 8025B6FC 88 64 00 00 */ lbz r3, 0(r4)
/* 8025B700 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 8025B704 41 82 00 18 */ beq lbl_8025B71C
/* 8025B708 54 60 06 BE */ clrlwi r0, r3, 0x1a
/* 8025B70C 7C 1F 00 00 */ cmpw r31, r0
/* 8025B710 40 82 00 0C */ bne lbl_8025B71C
/* 8025B714 38 60 00 01 */ li r3, 1
/* 8025B718 48 00 00 10 */ b lbl_8025B728
lbl_8025B71C:
/* 8025B71C 38 84 00 01 */ addi r4, r4, 1
/* 8025B720 42 00 FF DC */ bdnz lbl_8025B6FC
lbl_8025B724:
/* 8025B724 38 60 00 00 */ li r3, 0
lbl_8025B728:
/* 8025B728 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8025B72C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B730 7C 08 03 A6 */ mtlr r0
/* 8025B734 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B738 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_8025B0F0:
/* 8025B0F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B0F4 7C 08 02 A6 */ mflr r0
/* 8025B0F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B0FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025B100 7C 7F 1B 78 */ mr r31, r3
/* 8025B104 A8 03 00 0E */ lha r0, 0xe(r3)
/* 8025B108 2C 00 02 DC */ cmpwi r0, 0x2dc
/* 8025B10C 41 82 00 2C */ beq lbl_8025B138
/* 8025B110 4B DB DB D1 */ bl fopAc_IsActor__FPv
/* 8025B114 2C 03 00 00 */ cmpwi r3, 0
/* 8025B118 41 82 00 18 */ beq lbl_8025B130
/* 8025B11C 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 8025B120 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8025B124 40 82 00 0C */ bne lbl_8025B130
/* 8025B128 38 60 00 00 */ li r3, 0
/* 8025B12C 48 00 00 10 */ b lbl_8025B13C
lbl_8025B130:
/* 8025B130 7F E3 FB 78 */ mr r3, r31
/* 8025B134 4B DC 6F E5 */ bl fpcM_Delete__FPv
lbl_8025B138:
/* 8025B138 38 60 00 00 */ li r3, 0
lbl_8025B13C:
/* 8025B13C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8025B140 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B144 7C 08 03 A6 */ mtlr r0
/* 8025B148 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B14C 4E 80 00 20 */ blr
@@ -1,173 +0,0 @@
lbl_8025B2EC:
/* 8025B2EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025B2F0 7C 08 02 A6 */ mflr r0
/* 8025B2F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025B2F8 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B2FC 48 10 6E E1 */ bl _savegpr_29
/* 8025B300 7C 7D 1B 78 */ mr r29, r3
/* 8025B304 83 C3 00 B0 */ lwz r30, 0xb0(r3)
/* 8025B308 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 8025B30C 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 8025B310 1C 1E 04 04 */ mulli r0, r30, 0x404
/* 8025B314 7F E3 02 14 */ add r31, r3, r0
/* 8025B318 8C 1F 03 F4 */ lbzu r0, 0x3f4(r31)
/* 8025B31C 54 04 07 38 */ rlwinm r4, r0, 0, 0x1c, 0x1c
/* 8025B320 54 03 06 B4 */ rlwinm r3, r0, 0, 0x1a, 0x1a
/* 8025B324 88 BD 01 D4 */ lbz r5, 0x1d4(r29)
/* 8025B328 7C A0 07 75 */ extsb. r0, r5
/* 8025B32C 41 82 00 14 */ beq lbl_8025B340
/* 8025B330 7C A0 07 75 */ extsb. r0, r5
/* 8025B334 40 81 01 28 */ ble lbl_8025B45C
/* 8025B338 2C 04 00 00 */ cmpwi r4, 0
/* 8025B33C 40 82 01 20 */ bne lbl_8025B45C
lbl_8025B340:
/* 8025B340 2C 04 00 00 */ cmpwi r4, 0
/* 8025B344 40 82 02 04 */ bne lbl_8025B548
/* 8025B348 7C A0 07 74 */ extsb r0, r5
/* 8025B34C 2C 00 00 01 */ cmpwi r0, 1
/* 8025B350 41 82 00 38 */ beq lbl_8025B388
/* 8025B354 40 80 00 60 */ bge lbl_8025B3B4
/* 8025B358 2C 00 00 00 */ cmpwi r0, 0
/* 8025B35C 40 80 00 08 */ bge lbl_8025B364
/* 8025B360 48 00 00 54 */ b lbl_8025B3B4
lbl_8025B364:
/* 8025B364 7F C3 F3 78 */ mr r3, r30
/* 8025B368 4B FF FB BD */ bl resetArchiveBank__Fi
/* 8025B36C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8025B370 40 82 00 0C */ bne lbl_8025B37C
/* 8025B374 38 60 00 00 */ li r3, 0
/* 8025B378 48 00 01 D4 */ b lbl_8025B54C
lbl_8025B37C:
/* 8025B37C 88 7D 01 D4 */ lbz r3, 0x1d4(r29)
/* 8025B380 38 03 00 01 */ addi r0, r3, 1
/* 8025B384 98 1D 01 D4 */ stb r0, 0x1d4(r29)
lbl_8025B388:
/* 8025B388 7F C3 F3 78 */ mr r3, r30
/* 8025B38C 4B FF FB C1 */ bl setArchiveBank__Fi
/* 8025B390 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8025B394 40 82 00 0C */ bne lbl_8025B3A0
/* 8025B398 38 60 00 00 */ li r3, 0
/* 8025B39C 48 00 01 B0 */ b lbl_8025B54C
lbl_8025B3A0:
/* 8025B3A0 80 1D 01 CC */ lwz r0, 0x1cc(r29)
/* 8025B3A4 28 00 00 00 */ cmplwi r0, 0
/* 8025B3A8 41 82 00 0C */ beq lbl_8025B3B4
/* 8025B3AC 7F C3 F3 78 */ mr r3, r30
/* 8025B3B0 4B FF FE 21 */ bl loadDemoArchive__Fi
lbl_8025B3B4:
/* 8025B3B4 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */
/* 8025B3B8 8C 03 61 94 */ lbzu r0, mDemoArcName__20dStage_roomControl_c@l(r3) /* 0x80406194@l */
/* 8025B3BC 7C 00 07 75 */ extsb. r0, r0
/* 8025B3C0 41 82 00 30 */ beq lbl_8025B3F0
/* 8025B3C4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B3C8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B3CC 3C 84 00 02 */ addis r4, r4, 2
/* 8025B3D0 38 A0 00 80 */ li r5, 0x80
/* 8025B3D4 38 84 C2 F8 */ addi r4, r4, -15624
/* 8025B3D8 4B DE 0D 89 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci
/* 8025B3DC 2C 03 00 00 */ cmpwi r3, 0
/* 8025B3E0 41 80 00 10 */ blt lbl_8025B3F0
/* 8025B3E4 40 81 00 0C */ ble lbl_8025B3F0
/* 8025B3E8 38 60 00 00 */ li r3, 0
/* 8025B3EC 48 00 01 60 */ b lbl_8025B54C
lbl_8025B3F0:
/* 8025B3F0 38 60 02 DC */ li r3, 0x2dc
/* 8025B3F4 7F C4 F3 78 */ mr r4, r30
/* 8025B3F8 38 A0 00 00 */ li r5, 0
/* 8025B3FC 38 C0 FF FF */ li r6, -1
/* 8025B400 38 E0 00 00 */ li r7, 0
/* 8025B404 39 00 00 00 */ li r8, 0
/* 8025B408 39 20 FF FF */ li r9, -1
/* 8025B40C 4B DB E9 8D */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc
/* 8025B410 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B414 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B418 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 8025B41C 7F E3 FB 78 */ mr r3, r31
/* 8025B420 4B DE B4 69 */ bl demoInit__16dEvent_manager_cFv
/* 8025B424 7F E3 FB 78 */ mr r3, r31
/* 8025B428 7F C4 F3 78 */ mr r4, r30
/* 8025B42C 4B DE B4 D9 */ bl roomInit__16dEvent_manager_cFi
/* 8025B430 80 7D 01 CC */ lwz r3, 0x1cc(r29)
/* 8025B434 80 9D 01 D0 */ lwz r4, 0x1d0(r29)
/* 8025B438 7F C5 F3 78 */ mr r5, r30
/* 8025B43C 4B DC B7 F9 */ bl dStage_dt_c_roomReLoader__FPvP11dStage_dt_ci
/* 8025B440 7F C3 07 74 */ extsb r3, r30
/* 8025B444 4B DD 40 BD */ bl dComIfGp_ret_wp_set__FSc
/* 8025B448 38 00 FF FF */ li r0, -1
/* 8025B44C 98 1D 01 D4 */ stb r0, 0x1d4(r29)
/* 8025B450 38 00 00 01 */ li r0, 1
/* 8025B454 98 1D 01 D5 */ stb r0, 0x1d5(r29)
/* 8025B458 48 00 00 F0 */ b lbl_8025B548
lbl_8025B45C:
/* 8025B45C 2C 04 00 00 */ cmpwi r4, 0
/* 8025B460 41 82 00 B8 */ beq lbl_8025B518
/* 8025B464 80 6D 87 C0 */ lwz r3, g_fpcNd_type(r13)
/* 8025B468 80 9D 00 B4 */ lwz r4, 0xb4(r29)
/* 8025B46C 4B DC 51 E1 */ bl fpcBs_Is_JustOfType__Fii
/* 8025B470 2C 03 00 00 */ cmpwi r3, 0
/* 8025B474 41 82 00 0C */ beq lbl_8025B480
/* 8025B478 80 7D 00 C8 */ lwz r3, 0xc8(r29)
/* 8025B47C 48 00 00 08 */ b lbl_8025B484
lbl_8025B480:
/* 8025B480 38 60 FF FF */ li r3, -1
lbl_8025B484:
/* 8025B484 4B FF FD 11 */ bl isCreating__FUi
/* 8025B488 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8025B48C 41 82 00 0C */ beq lbl_8025B498
/* 8025B490 38 60 00 00 */ li r3, 0
/* 8025B494 48 00 00 B8 */ b lbl_8025B54C
lbl_8025B498:
/* 8025B498 38 7D 00 BC */ addi r3, r29, 0xbc
/* 8025B49C 3C 80 80 26 */ lis r4, deleteJugge__FPvPv@ha /* 0x8025B150@ha */
/* 8025B4A0 38 84 B1 50 */ addi r4, r4, deleteJugge__FPvPv@l /* 0x8025B150@l */
/* 8025B4A4 38 A0 00 00 */ li r5, 0
/* 8025B4A8 4B DC 67 81 */ bl fpcLyIt_Judge__FP11layer_classPFPvPv_PvPv
/* 8025B4AC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B4B0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B4B4 80 63 5D 3C */ lwz r3, 0x5d3c(r3)
/* 8025B4B8 38 63 02 10 */ addi r3, r3, 0x210
/* 8025B4BC 4B DF 04 2D */ bl allForceOnEventMove__Q213dPa_control_c7level_cFv
/* 8025B4C0 7F C3 F3 78 */ mr r3, r30
/* 8025B4C4 4B DD 24 ED */ bl getZoneNo__20dStage_roomControl_cFi
/* 8025B4C8 54 64 28 34 */ slwi r4, r3, 5
/* 8025B4CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B4D0 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B4D4 7C 60 22 14 */ add r3, r0, r4
/* 8025B4D8 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8025B4DC 4B DD 98 11 */ bl clearRoomSwitch__13dSv_zoneBit_cFv
/* 8025B4E0 7F C3 F3 78 */ mr r3, r30
/* 8025B4E4 4B DD 24 CD */ bl getZoneNo__20dStage_roomControl_cFi
/* 8025B4E8 54 64 28 34 */ slwi r4, r3, 5
/* 8025B4EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B4F0 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B4F4 7C 60 22 14 */ add r3, r0, r4
/* 8025B4F8 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8025B4FC 4B DD 97 FD */ bl clearRoomItem__13dSv_zoneBit_cFv
/* 8025B500 88 1F 00 00 */ lbz r0, 0(r31)
/* 8025B504 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 8025B508 98 1F 00 00 */ stb r0, 0(r31)
/* 8025B50C 38 00 00 00 */ li r0, 0
/* 8025B510 98 1D 01 D4 */ stb r0, 0x1d4(r29)
/* 8025B514 48 00 00 34 */ b lbl_8025B548
lbl_8025B518:
/* 8025B518 2C 03 00 00 */ cmpwi r3, 0
/* 8025B51C 41 82 00 2C */ beq lbl_8025B548
/* 8025B520 38 7D 00 BC */ addi r3, r29, 0xbc
/* 8025B524 3C 80 80 26 */ lis r4, objectDeleteJugge__FPvPv@ha /* 0x8025B0F0@ha */
/* 8025B528 38 84 B0 F0 */ addi r4, r4, objectDeleteJugge__FPvPv@l /* 0x8025B0F0@l */
/* 8025B52C 38 A0 00 00 */ li r5, 0
/* 8025B530 4B DC 66 F9 */ bl fpcLyIt_Judge__FP11layer_classPFPvPv_PvPv
/* 8025B534 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B538 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B53C 80 63 5D 3C */ lwz r3, 0x5d3c(r3)
/* 8025B540 38 63 02 10 */ addi r3, r3, 0x210
/* 8025B544 4B DF 03 A5 */ bl allForceOnEventMove__Q213dPa_control_c7level_cFv
lbl_8025B548:
/* 8025B548 38 60 00 01 */ li r3, 1
lbl_8025B54C:
/* 8025B54C 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B550 48 10 6C D9 */ bl _restgpr_29
/* 8025B554 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025B558 7C 08 03 A6 */ mtlr r0
/* 8025B55C 38 21 00 20 */ addi r1, r1, 0x20
/* 8025B560 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_8025B870:
/* 8025B870 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8025B874 28 03 00 00 */ cmplwi r3, 0
/* 8025B878 41 82 00 0C */ beq lbl_8025B884
/* 8025B87C 80 83 00 04 */ lwz r4, 4(r3)
/* 8025B880 48 00 00 08 */ b lbl_8025B888
lbl_8025B884:
/* 8025B884 38 80 FF FF */ li r4, -1
lbl_8025B888:
/* 8025B888 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 8025B88C 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 8025B890 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8025B894 7C 63 02 14 */ add r3, r3, r0
/* 8025B898 90 83 03 FC */ stw r4, 0x3fc(r3)
/* 8025B89C 38 60 00 02 */ li r3, 2
/* 8025B8A0 4E 80 00 20 */ blr
@@ -1,60 +0,0 @@
lbl_8025B8A4:
/* 8025B8A4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025B8A8 7C 08 02 A6 */ mflr r0
/* 8025B8AC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025B8B0 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B8B4 48 10 69 29 */ bl _savegpr_29
/* 8025B8B8 38 00 00 01 */ li r0, 1
/* 8025B8BC 98 03 01 D8 */ stb r0, 0x1d8(r3)
/* 8025B8C0 83 A3 00 B0 */ lwz r29, 0xb0(r3)
/* 8025B8C4 7F A3 EB 78 */ mr r3, r29
/* 8025B8C8 4B DD 3B F5 */ bl dComIfG_getRoomArcName__Fi
/* 8025B8CC 7C 7F 1B 78 */ mr r31, r3
/* 8025B8D0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B8D4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B8D8 3F C4 00 02 */ addis r30, r4, 2
/* 8025B8DC 38 9E D4 F8 */ addi r4, r30, -11016
/* 8025B8E0 38 A0 00 40 */ li r5, 0x40
/* 8025B8E4 3B DE C2 F8 */ addi r30, r30, -15624
/* 8025B8E8 4B DE 08 79 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci
/* 8025B8EC 2C 03 00 00 */ cmpwi r3, 0
/* 8025B8F0 40 80 00 74 */ bge lbl_8025B964
/* 8025B8F4 7F A3 EB 78 */ mr r3, r29
/* 8025B8F8 4B DC 8A B9 */ bl getMemoryBlock__20dStage_roomControl_cFi
/* 8025B8FC 7C 7D 1B 79 */ or. r29, r3, r3
/* 8025B900 41 82 00 18 */ beq lbl_8025B918
/* 8025B904 48 07 44 61 */ bl getTotalUsedSize__10JKRExpHeapCFv
/* 8025B908 2C 03 00 00 */ cmpwi r3, 0
/* 8025B90C 41 82 00 38 */ beq lbl_8025B944
/* 8025B910 38 60 00 00 */ li r3, 0
/* 8025B914 48 00 00 54 */ b lbl_8025B968
lbl_8025B918:
/* 8025B918 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B91C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B920 85 83 4E 20 */ lwzu r12, 0x4e20(r3)
/* 8025B924 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8025B928 7D 89 03 A6 */ mtctr r12
/* 8025B92C 4E 80 04 21 */ bctrl
/* 8025B930 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8025B934 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 8025B938 41 82 00 0C */ beq lbl_8025B944
/* 8025B93C 4B DB 34 B1 */ bl mDoExt_getArchiveHeap__Fv
/* 8025B940 7C 7D 1B 78 */ mr r29, r3
lbl_8025B944:
/* 8025B944 7F C3 F3 78 */ mr r3, r30
/* 8025B948 7F E4 FB 78 */ mr r4, r31
/* 8025B94C 7F A5 EB 78 */ mr r5, r29
/* 8025B950 4B DE 0C 6D */ bl setStageRes__14dRes_control_cFPCcP7JKRHeap
/* 8025B954 2C 03 00 00 */ cmpwi r3, 0
/* 8025B958 40 82 00 0C */ bne lbl_8025B964
/* 8025B95C 38 60 00 05 */ li r3, 5
/* 8025B960 48 00 00 08 */ b lbl_8025B968
lbl_8025B964:
/* 8025B964 38 60 00 02 */ li r3, 2
lbl_8025B968:
/* 8025B968 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B96C 48 10 68 BD */ bl _restgpr_29
/* 8025B970 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025B974 7C 08 03 A6 */ mtlr r0
/* 8025B978 38 21 00 20 */ addi r1, r1, 0x20
/* 8025B97C 4E 80 00 20 */ blr
@@ -1,83 +0,0 @@
lbl_8025B980:
/* 8025B980 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025B984 7C 08 02 A6 */ mflr r0
/* 8025B988 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025B98C 39 61 00 20 */ addi r11, r1, 0x20
/* 8025B990 48 10 68 49 */ bl _savegpr_28
/* 8025B994 7C 7C 1B 78 */ mr r28, r3
/* 8025B998 80 63 00 B0 */ lwz r3, 0xb0(r3)
/* 8025B99C 4B DD 3B 21 */ bl dComIfG_getRoomArcName__Fi
/* 8025B9A0 7C 7F 1B 78 */ mr r31, r3
/* 8025B9A4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B9A8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B9AC 3C 84 00 02 */ addis r4, r4, 2
/* 8025B9B0 3B C4 D4 F8 */ addi r30, r4, -11016
/* 8025B9B4 7F C4 F3 78 */ mr r4, r30
/* 8025B9B8 38 A0 00 40 */ li r5, 0x40
/* 8025B9BC 4B DE 07 A5 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci
/* 8025B9C0 2C 03 00 00 */ cmpwi r3, 0
/* 8025B9C4 40 80 00 0C */ bge lbl_8025B9D0
/* 8025B9C8 38 60 00 05 */ li r3, 5
/* 8025B9CC 48 00 00 C8 */ b lbl_8025BA94
lbl_8025B9D0:
/* 8025B9D0 41 82 00 0C */ beq lbl_8025B9DC
/* 8025B9D4 38 60 00 00 */ li r3, 0
/* 8025B9D8 48 00 00 BC */ b lbl_8025BA94
lbl_8025B9DC:
/* 8025B9DC 83 BC 00 B0 */ lwz r29, 0xb0(r28)
/* 8025B9E0 7F A3 EB 78 */ mr r3, r29
/* 8025B9E4 4B DD 1F CD */ bl getZoneNo__20dStage_roomControl_cFi
/* 8025B9E8 2C 03 00 00 */ cmpwi r3, 0
/* 8025B9EC 40 80 00 20 */ bge lbl_8025BA0C
/* 8025B9F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025B9F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025B9F8 7F A4 EB 78 */ mr r4, r29
/* 8025B9FC 4B DD 97 A9 */ bl createZone__10dSv_info_cFi
/* 8025BA00 7C 64 1B 78 */ mr r4, r3
/* 8025BA04 7F A3 EB 78 */ mr r3, r29
/* 8025BA08 48 00 00 A5 */ bl setZoneNo__20dStage_roomControl_cFii
lbl_8025BA0C:
/* 8025BA0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025BA10 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025BA14 38 63 4E C4 */ addi r3, r3, 0x4ec4
/* 8025BA18 7F A4 EB 78 */ mr r4, r29
/* 8025BA1C 4B DC 89 69 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8025BA20 90 7C 01 D0 */ stw r3, 0x1d0(r28)
/* 8025BA24 80 7C 01 D0 */ lwz r3, 0x1d0(r28)
/* 8025BA28 9B A3 00 04 */ stb r29, 4(r3)
/* 8025BA2C 7F E3 FB 78 */ mr r3, r31
/* 8025BA30 3C 80 80 3A */ lis r4, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
/* 8025BA34 38 84 A3 88 */ addi r4, r4, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
/* 8025BA38 38 84 00 42 */ addi r4, r4, 0x42
/* 8025BA3C 7F C5 F3 78 */ mr r5, r30
/* 8025BA40 38 C0 00 40 */ li r6, 0x40
/* 8025BA44 4B DE 09 39 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci
/* 8025BA48 90 7C 01 CC */ stw r3, 0x1cc(r28)
/* 8025BA4C 80 7C 01 CC */ lwz r3, 0x1cc(r28)
/* 8025BA50 28 03 00 00 */ cmplwi r3, 0
/* 8025BA54 41 82 00 10 */ beq lbl_8025BA64
/* 8025BA58 80 9C 01 D0 */ lwz r4, 0x1d0(r28)
/* 8025BA5C 7F A5 EB 78 */ mr r5, r29
/* 8025BA60 4B DC B1 5D */ bl dStage_dt_c_roomLoader__FPvP11dStage_dt_ci
lbl_8025BA64:
/* 8025BA64 3B C0 00 00 */ li r30, 0
/* 8025BA68 7F A3 EB 78 */ mr r3, r29
/* 8025BA6C 4B DC 89 45 */ bl getMemoryBlock__20dStage_roomControl_cFi
/* 8025BA70 28 03 00 00 */ cmplwi r3, 0
/* 8025BA74 41 82 00 0C */ beq lbl_8025BA80
/* 8025BA78 4B DB 37 55 */ bl mDoExt_setCurrentHeap__FP7JKRHeap
/* 8025BA7C 7C 7E 1B 78 */ mr r30, r3
lbl_8025BA80:
/* 8025BA80 28 1E 00 00 */ cmplwi r30, 0
/* 8025BA84 41 82 00 0C */ beq lbl_8025BA90
/* 8025BA88 7F C3 F3 78 */ mr r3, r30
/* 8025BA8C 4B DB 37 41 */ bl mDoExt_setCurrentHeap__FP7JKRHeap
lbl_8025BA90:
/* 8025BA90 38 60 00 02 */ li r3, 2
lbl_8025BA94:
/* 8025BA94 39 61 00 20 */ addi r11, r1, 0x20
/* 8025BA98 48 10 67 8D */ bl _restgpr_28
/* 8025BA9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025BAA0 7C 08 03 A6 */ mtlr r0
/* 8025BAA4 38 21 00 20 */ addi r1, r1, 0x20
/* 8025BAA8 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_8025BAC4:
/* 8025BAC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025BAC8 7C 08 02 A6 */ mflr r0
/* 8025BACC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025BAD0 4B FF F8 1D */ bl objectSetCheck__FP19room_of_scene_class
/* 8025BAD4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8025BAD8 20 00 00 00 */ subfic r0, r0, 0
/* 8025BADC 7C 60 01 10 */ subfe r3, r0, r0
/* 8025BAE0 38 00 00 02 */ li r0, 2
/* 8025BAE4 7C 03 18 38 */ and r3, r0, r3
/* 8025BAE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025BAEC 7C 08 03 A6 */ mtlr r0
/* 8025BAF0 38 21 00 10 */ addi r1, r1, 0x10
/* 8025BAF4 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_8025BAF8:
/* 8025BAF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025BAFC 7C 08 02 A6 */ mflr r0
/* 8025BB00 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025BB04 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8025BB08 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8025BB0C 80 04 5D AC */ lwz r0, 0x5dac(r4)
/* 8025BB10 28 00 00 00 */ cmplwi r0, 0
/* 8025BB14 40 82 00 0C */ bne lbl_8025BB20
/* 8025BB18 38 60 00 00 */ li r3, 0
/* 8025BB1C 48 00 00 1C */ b lbl_8025BB38
lbl_8025BB20:
/* 8025BB20 4B FF F7 CD */ bl objectSetCheck__FP19room_of_scene_class
/* 8025BB24 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8025BB28 20 00 00 00 */ subfic r0, r0, 0
/* 8025BB2C 7C 60 01 10 */ subfe r3, r0, r0
/* 8025BB30 38 00 00 04 */ li r0, 4
/* 8025BB34 7C 03 18 38 */ and r3, r0, r3
lbl_8025BB38:
/* 8025BB38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025BB3C 7C 08 03 A6 */ mtlr r0
/* 8025BB40 38 21 00 10 */ addi r1, r1, 0x10
/* 8025BB44 4E 80 00 20 */ blr
-11
View File
@@ -1,11 +0,0 @@
lbl_8025AF24:
/* 8025AF24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025AF28 7C 08 02 A6 */ mflr r0
/* 8025AF2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025AF30 38 81 00 08 */ addi r4, r1, 8
/* 8025AF34 4B FF FE F1 */ bl getResetArchiveBank__FiPPCUc
/* 8025AF38 4B DC 9A 1D */ bl resetArchiveBank__20dStage_roomControl_cFi
/* 8025AF3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025AF40 7C 08 03 A6 */ mtlr r0
/* 8025AF44 38 21 00 10 */ addi r1, r1, 0x10
/* 8025AF48 4E 80 00 20 */ blr
@@ -1,7 +0,0 @@
lbl_8025BAAC:
/* 8025BAAC 3C A0 80 3F */ lis r5, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 8025BAB0 38 A5 60 94 */ addi r5, r5, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 8025BAB4 1C 03 04 04 */ mulli r0, r3, 0x404
/* 8025BAB8 7C 65 02 14 */ add r3, r5, r0
/* 8025BABC 98 83 03 F7 */ stb r4, 0x3f7(r3)
/* 8025BAC0 4E 80 00 20 */ blr
@@ -1,75 +0,0 @@
lbl_80458788:
/* 80458788 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8045878C 7C 08 02 A6 */ mflr r0
/* 80458790 90 01 00 24 */ stw r0, 0x24(r1)
/* 80458794 39 61 00 20 */ addi r11, r1, 0x20
/* 80458798 4B F0 9A 45 */ bl _savegpr_29
/* 8045879C 7C 7D 1B 79 */ or. r29, r3, r3
/* 804587A0 7C 9E 23 78 */ mr r30, r4
/* 804587A4 41 82 00 E4 */ beq lbl_80458888
/* 804587A8 83 FD 00 B0 */ lwz r31, 0xb0(r29)
/* 804587AC 80 1D 00 F0 */ lwz r0, 0xf0(r29)
/* 804587B0 28 00 00 00 */ cmplwi r0, 0
/* 804587B4 41 82 00 38 */ beq lbl_804587EC
/* 804587B8 80 9D 05 E8 */ lwz r4, 0x5e8(r29)
/* 804587BC 28 04 00 00 */ cmplwi r4, 0
/* 804587C0 41 82 00 2C */ beq lbl_804587EC
/* 804587C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804587C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804587CC 38 63 0F 38 */ addi r3, r3, 0xf38
/* 804587D0 4B C1 BA 81 */ bl Release__4cBgSFP9dBgW_Base
/* 804587D4 38 80 00 00 */ li r4, 0
/* 804587D8 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 804587DC 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 804587E0 1C 1F 04 04 */ mulli r0, r31, 0x404
/* 804587E4 7C 63 02 14 */ add r3, r3, r0
/* 804587E8 90 83 04 00 */ stw r4, 0x400(r3)
lbl_804587EC:
/* 804587EC 80 1D 00 F0 */ lwz r0, 0xf0(r29)
/* 804587F0 28 00 00 00 */ cmplwi r0, 0
/* 804587F4 41 82 00 38 */ beq lbl_8045882C
/* 804587F8 80 9D 05 EC */ lwz r4, 0x5ec(r29)
/* 804587FC 28 04 00 00 */ cmplwi r4, 0
/* 80458800 41 82 00 2C */ beq lbl_8045882C
/* 80458804 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80458808 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8045880C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80458810 4B C1 BA 41 */ bl Release__4cBgSFP9dBgW_Base
/* 80458814 38 80 00 00 */ li r4, 0
/* 80458818 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 8045881C 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 80458820 1C 1F 04 04 */ mulli r0, r31, 0x404
/* 80458824 7C 63 02 14 */ add r3, r3, r0
/* 80458828 90 83 04 00 */ stw r4, 0x400(r3)
lbl_8045882C:
/* 8045882C 7F E3 FB 78 */ mr r3, r31
/* 80458830 4B BD 91 99 */ bl deleteRoomGrass__9daGrass_cFi
/* 80458834 7F E3 FB 78 */ mr r3, r31
/* 80458838 4B BD 91 E9 */ bl deleteRoomFlower__9daGrass_cFi
/* 8045883C 57 E4 10 3A */ slwi r4, r31, 2
/* 80458840 3C 60 80 42 */ lis r3, mRoom__7daSus_c@ha /* 0x8042447C@ha */
/* 80458844 38 03 44 7C */ addi r0, r3, mRoom__7daSus_c@l /* 0x8042447C@l */
/* 80458848 7C 60 22 14 */ add r3, r0, r4
/* 8045884C 4B BD 89 B1 */ bl reset__Q27daSus_c6room_cFv
/* 80458850 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 80458854 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 80458858 1C 1F 04 04 */ mulli r0, r31, 0x404
/* 8045885C 7C 63 02 14 */ add r3, r3, r0
/* 80458860 88 03 03 F4 */ lbz r0, 0x3f4(r3)
/* 80458864 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80458868 98 03 03 F4 */ stb r0, 0x3f4(r3)
/* 8045886C 7F A3 EB 78 */ mr r3, r29
/* 80458870 38 80 00 00 */ li r4, 0
/* 80458874 4B BC 04 19 */ bl __dt__10fopAc_ac_cFv
/* 80458878 7F C0 07 35 */ extsh. r0, r30
/* 8045887C 40 81 00 0C */ ble lbl_80458888
/* 80458880 7F A3 EB 78 */ mr r3, r29
/* 80458884 4B E7 64 B9 */ bl __dl__FPv
lbl_80458888:
/* 80458888 7F A3 EB 78 */ mr r3, r29
/* 8045888C 39 61 00 20 */ addi r11, r1, 0x20
/* 80458890 4B F0 99 99 */ bl _restgpr_29
/* 80458894 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80458898 7C 08 03 A6 */ mtlr r0
/* 8045889C 38 21 00 20 */ addi r1, r1, 0x20
/* 804588A0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80458298:
/* 80458298 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045829C 7C 08 02 A6 */ mflr r0
/* 804582A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 804582A4 48 00 00 15 */ bl createHeap__6daBg_cFv
/* 804582A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804582AC 7C 08 03 A6 */ mtlr r0
/* 804582B0 38 21 00 10 */ addi r1, r1, 0x10
/* 804582B4 4E 80 00 20 */ blr
@@ -15,8 +15,8 @@ lbl_804582B8:
/* 804582EC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804582F0 3C 63 00 02 */ addis r3, r3, 2
/* 804582F4 3B A3 D4 F8 */ addi r29, r3, -11016
/* 804582F8 3C 60 80 46 */ lis r3, data_80459424@ha /* 0x80459424@ha */
/* 804582FC 3A C3 94 24 */ addi r22, r3, data_80459424@l /* 0x80459424@l */
/* 804582F8 3C 60 80 46 */ lis r3, l_modelName@ha /* 0x80459424@ha */
/* 804582FC 3A C3 94 24 */ addi r22, r3, l_modelName@l /* 0x80459424@l */
lbl_80458300:
/* 80458300 7F 83 E3 78 */ mr r3, r28
/* 80458304 7C 96 DA 14 */ add r4, r22, r27
@@ -26,8 +26,8 @@ lbl_80458300:
/* 80458314 7C 78 1B 79 */ or. r24, r3, r3
/* 80458318 40 82 00 24 */ bne lbl_8045833C
/* 8045831C 7F 83 E3 78 */ mr r3, r28
/* 80458320 3C 80 80 46 */ lis r4, data_80459468@ha /* 0x80459468@ha */
/* 80458324 38 04 94 68 */ addi r0, r4, data_80459468@l /* 0x80459468@l */
/* 80458320 3C 80 80 46 */ lis r4, l_modelName2@ha /* 0x80459468@ha */
/* 80458324 38 04 94 68 */ addi r0, r4, l_modelName2@l /* 0x80459468@l */
/* 80458328 7C 80 DA 14 */ add r4, r0, r27
/* 8045832C 7F A5 EB 78 */ mr r5, r29
/* 80458330 38 C0 00 40 */ li r6, 0x40
@@ -55,8 +55,8 @@ lbl_80458374:
/* 8045837C 7C 03 00 40 */ cmplw r3, r0
/* 80458380 41 80 FF E0 */ blt lbl_80458360
/* 80458384 7F 83 E3 78 */ mr r3, r28
/* 80458388 3C 80 80 46 */ lis r4, data_804594AC@ha /* 0x804594AC@ha */
/* 8045838C 38 04 94 AC */ addi r0, r4, data_804594AC@l /* 0x804594AC@l */
/* 80458388 3C 80 80 46 */ lis r4, l_btkName@ha /* 0x804594AC@ha */
/* 8045838C 38 04 94 AC */ addi r0, r4, l_btkName@l /* 0x804594AC@l */
/* 80458390 7C 80 DA 14 */ add r4, r0, r27
/* 80458394 7F A5 EB 78 */ mr r5, r29
/* 80458398 38 C0 00 40 */ li r6, 0x40
@@ -91,8 +91,8 @@ lbl_804583F8:
/* 804583FC C0 03 93 88 */ lfs f0, lit_4125@l(r3) /* 0x80459388@l */
/* 80458400 D0 1E 00 10 */ stfs f0, 0x10(r30)
/* 80458404 7F 83 E3 78 */ mr r3, r28
/* 80458408 3C 80 80 46 */ lis r4, data_804594F0@ha /* 0x804594F0@ha */
/* 8045840C 38 04 94 F0 */ addi r0, r4, data_804594F0@l /* 0x804594F0@l */
/* 80458408 3C 80 80 46 */ lis r4, l_brkName@ha /* 0x804594F0@ha */
/* 8045840C 38 04 94 F0 */ addi r0, r4, l_brkName@l /* 0x804594F0@l */
/* 80458410 7C 80 DA 14 */ add r4, r0, r27
/* 80458414 7F A5 EB 78 */ mr r5, r29
/* 80458418 38 C0 00 40 */ li r6, 0x40
@@ -1,9 +0,0 @@
lbl_8045904C:
/* 8045904C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80459050 7C 08 02 A6 */ mflr r0
/* 80459054 90 01 00 14 */ stw r0, 0x14(r1)
/* 80459058 48 00 00 15 */ bl create__6daBg_cFv
/* 8045905C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80459060 7C 08 03 A6 */ mtlr r0
/* 80459064 38 21 00 10 */ addi r1, r1, 0x10
/* 80459068 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_80459024:
/* 80459024 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80459028 7C 08 02 A6 */ mflr r0
/* 8045902C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80459030 38 80 FF FF */ li r4, -1
/* 80459034 4B FF F7 55 */ bl __dt__6daBg_cFv
/* 80459038 38 60 00 01 */ li r3, 1
/* 8045903C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80459040 7C 08 03 A6 */ mtlr r0
/* 80459044 38 21 00 10 */ addi r1, r1, 0x10
/* 80459048 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804588A4:
/* 804588A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804588A8 7C 08 02 A6 */ mflr r0
/* 804588AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 804588B0 48 00 00 15 */ bl draw__6daBg_cFv
/* 804588B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804588B8 7C 08 03 A6 */ mtlr r0
/* 804588BC 38 21 00 10 */ addi r1, r1, 0x10
/* 804588C0 4E 80 00 20 */ blr
+2 -2
View File
@@ -106,8 +106,8 @@ lbl_80458A38:
/* 80458A44 41 80 FF AC */ blt lbl_804589F0
/* 80458A48 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80458A4C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80458A50 3C 80 80 46 */ lis r4, data_80459534@ha /* 0x80459534@ha */
/* 80458A54 38 84 95 34 */ addi r4, r4, data_80459534@l /* 0x80459534@l */
/* 80458A50 3C 80 80 46 */ lis r4, l_tevStrType@ha /* 0x80459534@ha */
/* 80458A54 38 84 95 34 */ addi r4, r4, l_tevStrType@l /* 0x80459534@l */
/* 80458A58 7C 84 F0 2E */ lwzx r4, r4, r30
/* 80458A5C 38 A0 00 00 */ li r5, 0
/* 80458A60 80 D6 00 0C */ lwz r6, 0xc(r22)
@@ -1,10 +0,0 @@
lbl_80458274:
/* 80458274 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80458278 7C 08 02 A6 */ mflr r0
/* 8045827C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80458280 80 63 00 00 */ lwz r3, 0(r3)
/* 80458284 4B BB 51 A5 */ bl play__14mDoExt_baseAnmFv
/* 80458288 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045828C 7C 08 03 A6 */ mtlr r0
/* 80458290 38 21 00 10 */ addi r1, r1, 0x10
/* 80458294 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_804580CC:
/* 804580CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804580D0 7C 08 02 A6 */ mflr r0
/* 804580D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 804580D8 80 63 00 00 */ lwz r3, 0(r3)
/* 804580DC 4B BB 53 4D */ bl play__14mDoExt_baseAnmFv
/* 804580E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804580E4 7C 08 03 A6 */ mtlr r0
/* 804580E8 38 21 00 10 */ addi r1, r1, 0x10
/* 804580EC 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80457BF8:
/* 80457BF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80457BFC 7C 08 02 A6 */ mflr r0
/* 80457C00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80457C04 80 63 00 B0 */ lwz r3, 0xb0(r3)
/* 80457C08 4B BD 78 B5 */ bl dComIfG_getRoomArcName__Fi
/* 80457C0C 7C 64 1B 78 */ mr r4, r3
/* 80457C10 3C 60 80 46 */ lis r3, arcName@ha /* 0x804595B8@ha */
/* 80457C14 38 63 95 B8 */ addi r3, r3, arcName@l /* 0x804595B8@l */
/* 80457C18 38 A0 00 20 */ li r5, 0x20
/* 80457C1C 4B F1 0E CD */ bl strncpy
/* 80457C20 3C 60 80 46 */ lis r3, arcName@ha /* 0x804595B8@ha */
/* 80457C24 38 63 95 B8 */ addi r3, r3, arcName@l /* 0x804595B8@l */
/* 80457C28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80457C2C 7C 08 03 A6 */ mtlr r0
/* 80457C30 38 21 00 10 */ addi r1, r1, 0x10
/* 80457C34 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_80BE3544:
/* 80BE3544 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE3548 7C 08 02 A6 */ mflr r0
/* 80BE354C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE3550 88 03 05 84 */ lbz r0, 0x584(r3)
/* 80BE3554 2C 00 00 01 */ cmpwi r0, 1
/* 80BE3558 41 82 00 28 */ beq lbl_80BE3580
/* 80BE355C 40 80 00 10 */ bge lbl_80BE356C
/* 80BE3560 2C 00 00 00 */ cmpwi r0, 0
/* 80BE3564 40 80 00 14 */ bge lbl_80BE3578
/* 80BE3568 48 00 00 24 */ b lbl_80BE358C
lbl_80BE356C:
/* 80BE356C 2C 00 00 03 */ cmpwi r0, 3
/* 80BE3570 40 80 00 1C */ bge lbl_80BE358C
/* 80BE3574 48 00 00 14 */ b lbl_80BE3588
lbl_80BE3578:
/* 80BE3578 4B FF FC 45 */ bl NormalAction__15daObjE_CREATE_cFv
/* 80BE357C 48 00 00 10 */ b lbl_80BE358C
lbl_80BE3580:
/* 80BE3580 4B FF FE DD */ bl SearchAction__15daObjE_CREATE_cFv
/* 80BE3584 48 00 00 08 */ b lbl_80BE358C
lbl_80BE3588:
/* 80BE3588 4B FF FF 19 */ bl LoopAction__15daObjE_CREATE_cFv
lbl_80BE358C:
/* 80BE358C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE3590 7C 08 03 A6 */ mtlr r0
/* 80BE3594 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE3598 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_80BE35C0:
/* 80BE35C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE35C4 7C 08 02 A6 */ mflr r0
/* 80BE35C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE35CC 80 63 05 7C */ lwz r3, 0x57c(r3)
/* 80BE35D0 28 03 00 00 */ cmplwi r3, 0
/* 80BE35D4 41 82 00 08 */ beq lbl_80BE35DC
/* 80BE35D8 4B 6E B7 89 */ bl __dla__FPv
lbl_80BE35DC:
/* 80BE35DC 38 60 00 01 */ li r3, 1
/* 80BE35E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE35E4 7C 08 03 A6 */ mtlr r0
/* 80BE35E8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE35EC 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_80BE359C:
/* 80BE359C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE35A0 7C 08 02 A6 */ mflr r0
/* 80BE35A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE35A8 4B FF FF 9D */ bl Action__15daObjE_CREATE_cFv
/* 80BE35AC 38 60 00 01 */ li r3, 1
/* 80BE35B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE35B4 7C 08 03 A6 */ mtlr r0
/* 80BE35B8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE35BC 4E 80 00 20 */ blr
@@ -1,45 +0,0 @@
lbl_80BE34A0:
/* 80BE34A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE34A4 7C 08 02 A6 */ mflr r0
/* 80BE34A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE34AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE34B0 7C 7F 1B 78 */ mr r31, r3
/* 80BE34B4 4B FF FD 09 */ bl NormalAction__15daObjE_CREATE_cFv
/* 80BE34B8 88 1F 05 80 */ lbz r0, 0x580(r31)
/* 80BE34BC 28 00 00 03 */ cmplwi r0, 3
/* 80BE34C0 40 82 00 38 */ bne lbl_80BE34F8
/* 80BE34C4 A8 7F 05 82 */ lha r3, 0x582(r31)
/* 80BE34C8 38 03 FF FF */ addi r0, r3, -1
/* 80BE34CC B0 1F 05 82 */ sth r0, 0x582(r31)
/* 80BE34D0 A8 1F 05 82 */ lha r0, 0x582(r31)
/* 80BE34D4 2C 00 00 00 */ cmpwi r0, 0
/* 80BE34D8 41 81 00 0C */ bgt lbl_80BE34E4
/* 80BE34DC 38 00 00 00 */ li r0, 0
/* 80BE34E0 B0 1F 05 82 */ sth r0, 0x582(r31)
lbl_80BE34E4:
/* 80BE34E4 A8 1F 05 82 */ lha r0, 0x582(r31)
/* 80BE34E8 2C 00 00 00 */ cmpwi r0, 0
/* 80BE34EC 40 82 00 0C */ bne lbl_80BE34F8
/* 80BE34F0 38 00 00 00 */ li r0, 0
/* 80BE34F4 98 1F 05 80 */ stb r0, 0x580(r31)
lbl_80BE34F8:
/* 80BE34F8 88 9F 05 6C */ lbz r4, 0x56c(r31)
/* 80BE34FC 28 04 00 FF */ cmplwi r4, 0xff
/* 80BE3500 41 82 00 30 */ beq lbl_80BE3530
/* 80BE3504 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE3508 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE350C 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE3510 7C 05 07 74 */ extsb r5, r0
/* 80BE3514 4B 45 1E 4D */ bl isSwitch__10dSv_info_cCFii
/* 80BE3518 2C 03 00 00 */ cmpwi r3, 0
/* 80BE351C 41 82 00 14 */ beq lbl_80BE3530
/* 80BE3520 38 00 00 00 */ li r0, 0
/* 80BE3524 98 1F 05 84 */ stb r0, 0x584(r31)
/* 80BE3528 38 00 00 02 */ li r0, 2
/* 80BE352C 98 1F 05 80 */ stb r0, 0x580(r31)
lbl_80BE3530:
/* 80BE3530 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE3534 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE3538 7C 08 03 A6 */ mtlr r0
/* 80BE353C 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE3540 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
lbl_80BE3618:
/* 80BE3618 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80BE361C 54 05 07 3E */ clrlwi r5, r0, 0x1c
/* 80BE3620 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 80BE3624 98 03 05 69 */ stb r0, 0x569(r3)
/* 80BE3628 38 00 FF FF */ li r0, -1
/* 80BE362C 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE3630 A8 03 04 E4 */ lha r0, 0x4e4(r3)
/* 80BE3634 B0 03 05 6E */ sth r0, 0x56e(r3)
/* 80BE3638 A8 03 04 E6 */ lha r0, 0x4e6(r3)
/* 80BE363C B0 03 05 70 */ sth r0, 0x570(r3)
/* 80BE3640 A8 03 04 E8 */ lha r0, 0x4e8(r3)
/* 80BE3644 B0 03 05 72 */ sth r0, 0x572(r3)
/* 80BE3648 28 05 00 0C */ cmplwi r5, 0xc
/* 80BE364C 4D 81 00 20 */ bgtlr
/* 80BE3650 3C 80 80 BE */ lis r4, lit_3838@ha /* 0x80BE38A0@ha */
/* 80BE3654 38 84 38 A0 */ addi r4, r4, lit_3838@l /* 0x80BE38A0@l */
/* 80BE3658 54 A0 10 3A */ slwi r0, r5, 2
/* 80BE365C 7C 04 00 2E */ lwzx r0, r4, r0
/* 80BE3660 7C 09 03 A6 */ mtctr r0
/* 80BE3664 4E 80 04 20 */ bctr
lbl_80BE3668:
/* 80BE3668 38 00 01 EA */ li r0, 0x1ea
/* 80BE366C B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE3670 4E 80 00 20 */ blr
lbl_80BE3674:
/* 80BE3674 38 00 01 E7 */ li r0, 0x1e7
/* 80BE3678 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE367C 4E 80 00 20 */ blr
lbl_80BE3680:
/* 80BE3680 38 00 01 BE */ li r0, 0x1be
/* 80BE3684 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE3688 38 00 FF 1F */ li r0, -225
/* 80BE368C 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE3690 4E 80 00 20 */ blr
lbl_80BE3694:
/* 80BE3694 38 00 01 BE */ li r0, 0x1be
/* 80BE3698 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE369C 38 00 FF 3F */ li r0, -193
/* 80BE36A0 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE36A4 4E 80 00 20 */ blr
lbl_80BE36A8:
/* 80BE36A8 38 00 01 BB */ li r0, 0x1bb
/* 80BE36AC B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE36B0 3C 80 00 0B */ lis r4, 0x000B /* 0x000AFF02@ha */
/* 80BE36B4 38 04 FF 02 */ addi r0, r4, 0xFF02 /* 0x000AFF02@l */
/* 80BE36B8 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE36BC 4E 80 00 20 */ blr
lbl_80BE36C0:
/* 80BE36C0 38 00 01 EB */ li r0, 0x1eb
/* 80BE36C4 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE36C8 4E 80 00 20 */ blr
lbl_80BE36CC:
/* 80BE36CC 38 00 01 FE */ li r0, 0x1fe
/* 80BE36D0 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE36D4 4E 80 00 20 */ blr
lbl_80BE36D8:
/* 80BE36D8 38 00 01 B3 */ li r0, 0x1b3
/* 80BE36DC B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE36E0 4E 80 00 20 */ blr
lbl_80BE36E4:
/* 80BE36E4 38 00 01 B4 */ li r0, 0x1b4
/* 80BE36E8 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE36EC 88 03 05 69 */ lbz r0, 0x569(r3)
/* 80BE36F0 28 00 00 01 */ cmplwi r0, 1
/* 80BE36F4 40 82 00 10 */ bne lbl_80BE3704
/* 80BE36F8 38 00 FE F0 */ li r0, -272
/* 80BE36FC 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE3700 4E 80 00 20 */ blr
lbl_80BE3704:
/* 80BE3704 54 04 25 36 */ rlwinm r4, r0, 4, 0x14, 0x1b
/* 80BE3708 38 00 FE 00 */ li r0, -512
/* 80BE370C 7C 80 03 78 */ or r0, r4, r0
/* 80BE3710 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE3714 4E 80 00 20 */ blr
lbl_80BE3718:
/* 80BE3718 38 00 01 FB */ li r0, 0x1fb
/* 80BE371C B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE3720 38 00 FF 00 */ li r0, -256
/* 80BE3724 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE3728 4E 80 00 20 */ blr
lbl_80BE372C:
/* 80BE372C 38 00 01 F9 */ li r0, 0x1f9
/* 80BE3730 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE3734 38 00 FF 01 */ li r0, -255
/* 80BE3738 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE373C 4E 80 00 20 */ blr
lbl_80BE3740:
/* 80BE3740 38 00 01 FE */ li r0, 0x1fe
/* 80BE3744 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80BE3748 3C 80 FF FF */ lis r4, 0xFFFF /* 0xFFFF01FF@ha */
/* 80BE374C 38 04 01 FF */ addi r0, r4, 0x01FF /* 0xFFFF01FF@l */
/* 80BE3750 90 03 05 78 */ stw r0, 0x578(r3)
/* 80BE3754 A8 A3 04 E8 */ lha r5, 0x4e8(r3)
/* 80BE3758 A8 83 04 E6 */ lha r4, 0x4e6(r3)
/* 80BE375C 38 00 01 00 */ li r0, 0x100
/* 80BE3760 B0 03 05 6E */ sth r0, 0x56e(r3)
/* 80BE3764 B0 83 05 70 */ sth r4, 0x570(r3)
/* 80BE3768 B0 A3 05 72 */ sth r5, 0x572(r3)
lbl_80BE376C:
/* 80BE376C 4E 80 00 20 */ blr
@@ -1,182 +0,0 @@
lbl_80BE31BC:
/* 80BE31BC 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80BE31C0 7C 08 02 A6 */ mflr r0
/* 80BE31C4 90 01 00 84 */ stw r0, 0x84(r1)
/* 80BE31C8 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 80BE31CC F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */
/* 80BE31D0 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 80BE31D4 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */
/* 80BE31D8 39 61 00 60 */ addi r11, r1, 0x60
/* 80BE31DC 4B 77 EF F1 */ bl _savegpr_25
/* 80BE31E0 7C 7F 1B 78 */ mr r31, r3
/* 80BE31E4 3C 60 80 BE */ lis r3, lit_3720@ha /* 0x80BE3888@ha */
/* 80BE31E8 3B 83 38 88 */ addi r28, r3, lit_3720@l /* 0x80BE3888@l */
/* 80BE31EC C0 1C 00 00 */ lfs f0, 0(r28)
/* 80BE31F0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80BE31F4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80BE31F8 C0 1C 00 04 */ lfs f0, 4(r28)
/* 80BE31FC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80BE3200 88 1F 05 80 */ lbz r0, 0x580(r31)
/* 80BE3204 2C 00 00 02 */ cmpwi r0, 2
/* 80BE3208 41 82 01 74 */ beq lbl_80BE337C
/* 80BE320C 40 80 02 28 */ bge lbl_80BE3434
/* 80BE3210 2C 00 00 00 */ cmpwi r0, 0
/* 80BE3214 41 82 00 10 */ beq lbl_80BE3224
/* 80BE3218 40 80 01 28 */ bge lbl_80BE3340
/* 80BE321C 48 00 02 18 */ b lbl_80BE3434
/* 80BE3220 48 00 02 14 */ b lbl_80BE3434
lbl_80BE3224:
/* 80BE3224 88 9F 05 6A */ lbz r4, 0x56a(r31)
/* 80BE3228 28 04 00 FF */ cmplwi r4, 0xff
/* 80BE322C 41 82 02 08 */ beq lbl_80BE3434
/* 80BE3230 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE3234 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE3238 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE323C 7C 05 07 74 */ extsb r5, r0
/* 80BE3240 4B 45 21 21 */ bl isSwitch__10dSv_info_cCFii
/* 80BE3244 2C 03 00 00 */ cmpwi r3, 0
/* 80BE3248 41 82 01 EC */ beq lbl_80BE3434
/* 80BE324C 8B 7F 05 69 */ lbz r27, 0x569(r31)
/* 80BE3250 3B 40 00 00 */ li r26, 0
/* 80BE3254 3B C0 00 00 */ li r30, 0
/* 80BE3258 CB DC 00 10 */ lfd f30, 0x10(r28)
/* 80BE325C 3F A0 43 30 */ lis r29, 0x4330
/* 80BE3260 C3 FC 00 08 */ lfs f31, 8(r28)
/* 80BE3264 6F 7C 80 00 */ xoris r28, r27, 0x8000
/* 80BE3268 48 00 00 B8 */ b lbl_80BE3320
lbl_80BE326C:
/* 80BE326C 38 61 00 14 */ addi r3, r1, 0x14
/* 80BE3270 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 80BE3274 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
/* 80BE3278 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80BE327C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80BE3280 93 A1 00 20 */ stw r29, 0x20(r1)
/* 80BE3284 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80BE3288 EC 40 F0 28 */ fsubs f2, f0, f30
/* 80BE328C 93 81 00 2C */ stw r28, 0x2c(r1)
/* 80BE3290 93 A1 00 28 */ stw r29, 0x28(r1)
/* 80BE3294 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 80BE3298 EC 00 F0 28 */ fsubs f0, f0, f30
/* 80BE329C EC 3F 00 24 */ fdivs f1, f31, f0
/* 80BE32A0 6F 40 80 00 */ xoris r0, r26, 0x8000
/* 80BE32A4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80BE32A8 93 A1 00 30 */ stw r29, 0x30(r1)
/* 80BE32AC C8 01 00 30 */ lfd f0, 0x30(r1)
/* 80BE32B0 EC 00 F0 28 */ fsubs f0, f0, f30
/* 80BE32B4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80BE32B8 EC 02 00 2A */ fadds f0, f2, f0
/* 80BE32BC FC 00 00 1E */ fctiwz f0, f0
/* 80BE32C0 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 80BE32C4 80 A1 00 3C */ lwz r5, 0x3c(r1)
/* 80BE32C8 7C 66 1B 78 */ mr r6, r3
/* 80BE32CC 4B 68 DA F5 */ bl cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz
/* 80BE32D0 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE32D4 7C 07 07 74 */ extsb r7, r0
/* 80BE32D8 38 00 00 00 */ li r0, 0
/* 80BE32DC 90 01 00 08 */ stw r0, 8(r1)
/* 80BE32E0 A8 7F 05 74 */ lha r3, 0x574(r31)
/* 80BE32E4 28 1F 00 00 */ cmplwi r31, 0
/* 80BE32E8 41 82 00 0C */ beq lbl_80BE32F4
/* 80BE32EC 80 9F 00 04 */ lwz r4, 4(r31)
/* 80BE32F0 48 00 00 08 */ b lbl_80BE32F8
lbl_80BE32F4:
/* 80BE32F4 38 80 FF FF */ li r4, -1
lbl_80BE32F8:
/* 80BE32F8 80 BF 05 78 */ lwz r5, 0x578(r31)
/* 80BE32FC 38 DF 04 D0 */ addi r6, r31, 0x4d0
/* 80BE3300 39 1F 05 6E */ addi r8, r31, 0x56e
/* 80BE3304 39 20 00 00 */ li r9, 0
/* 80BE3308 39 40 FF FF */ li r10, -1
/* 80BE330C 4B 43 6B E5 */ bl fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i
/* 80BE3310 80 9F 05 7C */ lwz r4, 0x57c(r31)
/* 80BE3314 7C 64 F1 2E */ stwx r3, r4, r30
/* 80BE3318 3B 5A 00 01 */ addi r26, r26, 1
/* 80BE331C 3B DE 00 04 */ addi r30, r30, 4
lbl_80BE3320:
/* 80BE3320 7C 1A D8 00 */ cmpw r26, r27
/* 80BE3324 41 80 FF 48 */ blt lbl_80BE326C
/* 80BE3328 88 7F 05 80 */ lbz r3, 0x580(r31)
/* 80BE332C 38 03 00 01 */ addi r0, r3, 1
/* 80BE3330 98 1F 05 80 */ stb r0, 0x580(r31)
/* 80BE3334 38 00 00 32 */ li r0, 0x32
/* 80BE3338 B0 1F 05 82 */ sth r0, 0x582(r31)
/* 80BE333C 48 00 00 F8 */ b lbl_80BE3434
lbl_80BE3340:
/* 80BE3340 A8 7F 05 82 */ lha r3, 0x582(r31)
/* 80BE3344 38 03 FF FF */ addi r0, r3, -1
/* 80BE3348 B0 1F 05 82 */ sth r0, 0x582(r31)
/* 80BE334C A8 1F 05 82 */ lha r0, 0x582(r31)
/* 80BE3350 2C 00 00 00 */ cmpwi r0, 0
/* 80BE3354 41 81 00 0C */ bgt lbl_80BE3360
/* 80BE3358 38 00 00 00 */ li r0, 0
/* 80BE335C B0 1F 05 82 */ sth r0, 0x582(r31)
lbl_80BE3360:
/* 80BE3360 A8 1F 05 82 */ lha r0, 0x582(r31)
/* 80BE3364 2C 00 00 00 */ cmpwi r0, 0
/* 80BE3368 40 82 00 CC */ bne lbl_80BE3434
/* 80BE336C 88 7F 05 80 */ lbz r3, 0x580(r31)
/* 80BE3370 38 03 00 01 */ addi r0, r3, 1
/* 80BE3374 98 1F 05 80 */ stb r0, 0x580(r31)
/* 80BE3378 48 00 00 BC */ b lbl_80BE3434
lbl_80BE337C:
/* 80BE337C 8B 7F 05 69 */ lbz r27, 0x569(r31)
/* 80BE3380 3B 40 00 00 */ li r26, 0
/* 80BE3384 3B 20 00 00 */ li r25, 0
/* 80BE3388 3B C0 00 00 */ li r30, 0
/* 80BE338C 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */
/* 80BE3390 3B 83 35 90 */ addi r28, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */
/* 80BE3394 3B A0 FF FF */ li r29, -1
/* 80BE3398 48 00 00 38 */ b lbl_80BE33D0
lbl_80BE339C:
/* 80BE339C 80 7F 05 7C */ lwz r3, 0x57c(r31)
/* 80BE33A0 7C 03 F0 2E */ lwzx r0, r3, r30
/* 80BE33A4 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE33A8 7F 83 E3 78 */ mr r3, r28
/* 80BE33AC 38 81 00 10 */ addi r4, r1, 0x10
/* 80BE33B0 4B 43 64 49 */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80BE33B4 28 03 00 00 */ cmplwi r3, 0
/* 80BE33B8 40 82 00 10 */ bne lbl_80BE33C8
/* 80BE33BC 80 7F 05 7C */ lwz r3, 0x57c(r31)
/* 80BE33C0 7F A3 F1 2E */ stwx r29, r3, r30
/* 80BE33C4 3B 5A 00 01 */ addi r26, r26, 1
lbl_80BE33C8:
/* 80BE33C8 3B 39 00 01 */ addi r25, r25, 1
/* 80BE33CC 3B DE 00 04 */ addi r30, r30, 4
lbl_80BE33D0:
/* 80BE33D0 7C 19 D8 00 */ cmpw r25, r27
/* 80BE33D4 41 80 FF C8 */ blt lbl_80BE339C
/* 80BE33D8 7C 1A D8 00 */ cmpw r26, r27
/* 80BE33DC 40 82 00 58 */ bne lbl_80BE3434
/* 80BE33E0 88 7F 05 80 */ lbz r3, 0x580(r31)
/* 80BE33E4 38 03 00 01 */ addi r0, r3, 1
/* 80BE33E8 98 1F 05 80 */ stb r0, 0x580(r31)
/* 80BE33EC 88 9F 05 6B */ lbz r4, 0x56b(r31)
/* 80BE33F0 28 04 00 FF */ cmplwi r4, 0xff
/* 80BE33F4 41 82 00 38 */ beq lbl_80BE342C
/* 80BE33F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE33FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE3400 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE3404 7C 05 07 74 */ extsb r5, r0
/* 80BE3408 4B 45 1F 59 */ bl isSwitch__10dSv_info_cCFii
/* 80BE340C 2C 03 00 00 */ cmpwi r3, 0
/* 80BE3410 40 82 00 1C */ bne lbl_80BE342C
/* 80BE3414 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE3418 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE341C 88 9F 05 6B */ lbz r4, 0x56b(r31)
/* 80BE3420 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE3424 7C 05 07 74 */ extsb r5, r0
/* 80BE3428 4B 45 1D D9 */ bl onSwitch__10dSv_info_cFii
lbl_80BE342C:
/* 80BE342C 38 00 00 64 */ li r0, 0x64
/* 80BE3430 B0 1F 05 82 */ sth r0, 0x582(r31)
lbl_80BE3434:
/* 80BE3434 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */
/* 80BE3438 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80BE343C E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */
/* 80BE3440 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 80BE3444 39 61 00 60 */ addi r11, r1, 0x60
/* 80BE3448 4B 77 ED D1 */ bl _restgpr_25
/* 80BE344C 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80BE3450 7C 08 03 A6 */ mtlr r0
/* 80BE3454 38 21 00 80 */ addi r1, r1, 0x80
/* 80BE3458 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
lbl_80BE345C:
/* 80BE345C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE3460 7C 08 02 A6 */ mflr r0
/* 80BE3464 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE3468 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE346C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE3470 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 80BE3474 C0 04 04 D0 */ lfs f0, 0x4d0(r4)
/* 80BE3478 D0 03 04 D0 */ stfs f0, 0x4d0(r3)
/* 80BE347C C0 04 04 D4 */ lfs f0, 0x4d4(r4)
/* 80BE3480 D0 03 04 D4 */ stfs f0, 0x4d4(r3)
/* 80BE3484 C0 04 04 D8 */ lfs f0, 0x4d8(r4)
/* 80BE3488 D0 03 04 D8 */ stfs f0, 0x4d8(r3)
/* 80BE348C 4B FF FD 31 */ bl NormalAction__15daObjE_CREATE_cFv
/* 80BE3490 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE3494 7C 08 03 A6 */ mtlr r0
/* 80BE3498 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE349C 4E 80 00 20 */ blr
@@ -1,74 +0,0 @@
lbl_80BE3770:
/* 80BE3770 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE3774 7C 08 02 A6 */ mflr r0
/* 80BE3778 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE377C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE3780 7C 7F 1B 78 */ mr r31, r3
/* 80BE3784 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80BE3788 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80BE378C 40 82 00 1C */ bne lbl_80BE37A8
/* 80BE3790 28 1F 00 00 */ cmplwi r31, 0
/* 80BE3794 41 82 00 08 */ beq lbl_80BE379C
/* 80BE3798 4B 43 53 CD */ bl __ct__10fopAc_ac_cFv
lbl_80BE379C:
/* 80BE379C 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80BE37A0 60 00 00 08 */ ori r0, r0, 8
/* 80BE37A4 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80BE37A8:
/* 80BE37A8 7F E3 FB 78 */ mr r3, r31
/* 80BE37AC 4B FF FE 6D */ bl NameChk__15daObjE_CREATE_cFv
/* 80BE37B0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE37B4 54 03 07 3E */ clrlwi r3, r0, 0x1c
/* 80BE37B8 A8 1F 04 DC */ lha r0, 0x4dc(r31)
/* 80BE37BC 54 00 07 3E */ clrlwi r0, r0, 0x1c
/* 80BE37C0 98 1F 05 84 */ stb r0, 0x584(r31)
/* 80BE37C4 88 1F 05 84 */ lbz r0, 0x584(r31)
/* 80BE37C8 28 00 00 0F */ cmplwi r0, 0xf
/* 80BE37CC 40 82 00 0C */ bne lbl_80BE37D8
/* 80BE37D0 38 00 00 00 */ li r0, 0
/* 80BE37D4 98 1F 05 84 */ stb r0, 0x584(r31)
lbl_80BE37D8:
/* 80BE37D8 38 00 00 00 */ li r0, 0
/* 80BE37DC B0 1F 04 DC */ sth r0, 0x4dc(r31)
/* 80BE37E0 28 03 00 00 */ cmplwi r3, 0
/* 80BE37E4 41 82 00 0C */ beq lbl_80BE37F0
/* 80BE37E8 28 03 00 FF */ cmplwi r3, 0xff
/* 80BE37EC 40 82 00 0C */ bne lbl_80BE37F8
lbl_80BE37F0:
/* 80BE37F0 38 60 00 05 */ li r3, 5
/* 80BE37F4 48 00 00 70 */ b lbl_80BE3864
lbl_80BE37F8:
/* 80BE37F8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE37FC 54 00 46 3E */ srwi r0, r0, 0x18
/* 80BE3800 98 1F 05 6C */ stb r0, 0x56c(r31)
/* 80BE3804 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE3808 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE380C 88 9F 05 6C */ lbz r4, 0x56c(r31)
/* 80BE3810 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE3814 7C 05 07 74 */ extsb r5, r0
/* 80BE3818 4B 45 1B 49 */ bl isSwitch__10dSv_info_cCFii
/* 80BE381C 2C 03 00 00 */ cmpwi r3, 0
/* 80BE3820 41 82 00 0C */ beq lbl_80BE382C
/* 80BE3824 38 60 00 05 */ li r3, 5
/* 80BE3828 48 00 00 3C */ b lbl_80BE3864
lbl_80BE382C:
/* 80BE382C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE3830 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80BE3834 98 1F 05 6A */ stb r0, 0x56a(r31)
/* 80BE3838 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE383C 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
/* 80BE3840 98 1F 05 6B */ stb r0, 0x56b(r31)
/* 80BE3844 88 1F 05 69 */ lbz r0, 0x569(r31)
/* 80BE3848 54 03 10 3A */ slwi r3, r0, 2
/* 80BE384C 4B 6E B4 79 */ bl __nwa__FUl
/* 80BE3850 90 7F 05 7C */ stw r3, 0x57c(r31)
/* 80BE3854 80 1F 05 7C */ lwz r0, 0x57c(r31)
/* 80BE3858 7C 00 00 34 */ cntlzw r0, r0
/* 80BE385C 54 03 D9 7E */ srwi r3, r0, 5
/* 80BE3860 38 63 00 04 */ addi r3, r3, 4
lbl_80BE3864:
/* 80BE3864 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE3868 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE386C 7C 08 03 A6 */ mtlr r0
/* 80BE3870 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE3874 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE3178:
/* 80BE3178 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE317C 7C 08 02 A6 */ mflr r0
/* 80BE3180 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE3184 48 00 05 ED */ bl create__15daObjE_CREATE_cFv
/* 80BE3188 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE318C 7C 08 03 A6 */ mtlr r0
/* 80BE3190 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE3194 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_80BE3198:
/* 80BE3198 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE319C 7C 08 02 A6 */ mflr r0
/* 80BE31A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE31A4 48 00 04 1D */ bl Delete__15daObjE_CREATE_cFv
/* 80BE31A8 38 60 00 01 */ li r3, 1
/* 80BE31AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE31B0 7C 08 03 A6 */ mtlr r0
/* 80BE31B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE31B8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE35F8:
/* 80BE35F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE35FC 7C 08 02 A6 */ mflr r0
/* 80BE3600 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE3604 4B FF FF 99 */ bl Execute__15daObjE_CREATE_cFv
/* 80BE3608 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE360C 7C 08 03 A6 */ mtlr r0
/* 80BE3610 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE3614 4E 80 00 20 */ blr
@@ -368,6 +368,9 @@ public:
calcTransform(getFrame(), param_0, pSRTInfo);
}
u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
u16 getUpdateMaterialNum() const { return field_0x14 / 3; }
private:
/* 0x0C */ int field_0xc;
/* 0x10 */ int field_0x10;
@@ -379,7 +382,7 @@ private:
/* 0x20 */ int field_0x20;
/* 0x24 */ int field_0x24;
/* 0x28 */ u8 mUpdateTexMtxID[4];
/* 0x2C */ u16 mUpdateMaterialID[2];
/* 0x2C */ u16* mUpdateMaterialID;
/* 0x30 */ JUTNameTab field_0x30;
/* 0x40 */ int field_0x40;
/* 0x44 */ u16 field_0x44;
@@ -427,6 +430,12 @@ public:
/* 8032BD9C */ virtual ~J3DAnmTevRegKey();
/* 8032BE24 */ virtual s32 getKind() const;
u16 getCRegUpdateMaterialNum() const { return mCRegUpdateMaterialNum; }
u16 getKRegUpdateMaterialNum() const { return mKRegUpdateMaterialNum; }
u16 getCRegUpdateMaterialID(u16 idx) const { return mCRegUpdateMaterialID[idx]; }
u16 getKRegUpdateMaterialID(u16 idx) const { return mKRegUpdateMaterialID[idx]; }
private:
/* 0x0C */ u16 mCRegUpdateMaterialNum;
/* 0x0E */ u16 mKRegUpdateMaterialNum;
@@ -438,8 +447,10 @@ private:
/* 0x1A */ u16 field_0x1a;
/* 0x1C */ u16 field_0x1c;
/* 0x1E */ u16 field_0x1e;
/* 0x20 */ u16 mCRegUpdateMaterialID[20];
/* 0x34 */ u16 mKRegUpdateMaterialID[20];
/* 0x20 */ u16* mCRegUpdateMaterialID;
/* 0x24 */ u8 field_0x24[0x34 - 0x24];
/* 0x34 */ u16* mKRegUpdateMaterialID;
/* 0x38 */ u8 field_0x38[0x48 - 0x38];
/* 0x48 */ void* field_0x48;
/* 0x4C */ void* field_0x4c;
/* 0x50 */ int field_0x50;
@@ -32,6 +32,8 @@ public:
J3DTexture* getTexture() const { return mTexture; }
JUTNameTab* getTextureName() const { return mTextureName; }
JUTNameTab* getMaterialName() const { return mMaterialName; }
u16 getMaterialNum() const { return mMaterialNum; }
bool isLocked() const { return field_0x1c == 1; }
@@ -22,6 +22,7 @@ public:
/* 8032617C */ virtual ~J3DModelData();
J3DMaterialTable& getMaterialTable() { return mMaterialTable; }
JUTNameTab* getMaterialName() const { return mMaterialTable.getMaterialName(); }
J3DVertexData& getVertexData() { return mVertexData; }
u16 getShapeNum() const { return mShapeTable.getShapeNum(); }
u16 getMaterialNum() const { return mMaterialTable.getMaterialNum(); }
@@ -63,6 +63,8 @@ public:
u32 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); }
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; }
public:
/* 0x04 */ J3DMaterial* mNext;
+10 -7
View File
@@ -97,16 +97,19 @@ public:
void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; }
void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; }
void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; }
void setTexMtxLoadType(u32 type) { mFlags = (mFlags & 0xFFFF0FFF) | type; }
bool getNBTFlag() const { return mHasNBT; }
u32 getBumpMtxOffset() const { return mBumpMtxOffset; }
inline J3DMaterial* getMaterial() const { return mMaterial; }
inline u32 getIndex() const { return mIndex; }
inline u32 getPipeline() const { return (mFlags >> 2) & 0x07; }
inline u32 getTexMtxLoadType() const { return mFlags & 0xF000; }
inline u32 getMtxGroupNum() const { return mMtxGroupNum; }
inline J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; }
inline J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; }
J3DMaterial* getMaterial() const { return mMaterial; }
u32 getIndex() const { return mIndex; }
u32 getPipeline() const { return (mFlags >> 2) & 0x07; }
u32 getTexMtxLoadType() const { return mFlags & 0xF000; }
u32 getMtxGroupNum() const { return mMtxGroupNum; }
J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; }
J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; }
Vec* getMin() { return &mMin; }
Vec* getMax() { return &mMax; }
static void resetVcdVatCache() { sOldVcdVatCmd = NULL; }
+5
View File
@@ -17,6 +17,10 @@ class dBgW_Base : public cBgW_BgId {
public:
enum PushPullLabel {};
enum PRIORITY {
PRIORITY_0,
};
typedef s32 (*PushPull_CallBack)(cBgS_PolyInfo const&, fopAc_ac_c*, s16,
dBgW_Base::PushPullLabel);
@@ -91,6 +95,7 @@ public:
bool ChkPushPullOk() const { return m_pushPull_Ok; }
void SetRoomId(int id) { m_roomId = id; }
bool ChkPriority(int prio) { return m_priority == prio; }
void SetPriority(PRIORITY priority) { m_priority = priority; }
private:
/* 0x08 */ u8 m_priority;
+29 -2
View File
@@ -825,6 +825,7 @@ BOOL dComIfGs_isEventBit(u16 i_flag);
int dComIfGs_isItemFirstBit(u8 i_no);
u16 dComIfGs_getRupee();
static u16 dComIfGs_getLife();
s8 dComIfGs_BossLife_public_Get();
inline void dComIfGs_init() {
g_dComIfG_gameInfo.info.init();
@@ -1523,6 +1524,10 @@ inline void dComIfGs_setMemoryToCard(u8* i_saveData, int i_dataNum) {
g_dComIfG_gameInfo.info.memory_to_card((char*)i_saveData, i_dataNum);
}
inline int dComIfGs_createZone(int roomNo) {
return g_dComIfG_gameInfo.info.createZone(roomNo);
}
void dComIfGp_setSelectItem(int index);
s32 dComIfGp_offHeapLockFlag(int flag);
@@ -1544,6 +1549,7 @@ int dComIfGp_getSelectItemMaxNum(int index);
void dComIfGp_mapShow();
void dComIfGp_mapHide();
bool dComIfGp_checkMapShow();
void dComIfGp_ret_wp_set(s8);
s32 dComIfGp_setHeapLockFlag(u8 flag);
u8 dComIfGp_world_dark_get();
JKRExpHeap* dComIfGp_getSubHeap2D(int flag);
@@ -1567,6 +1573,7 @@ static u8 dComIfGp_getDoStatus();
static u8 dComIfGp_getRStatus();
static dAttCatch_c* dComIfGp_att_getCatghTarget();
static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1);
bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle);
inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) {
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag);
@@ -2347,6 +2354,10 @@ inline s32 dComIfGp_roomControl_getStayNo() {
return dStage_roomControl_c::getStayNo();
}
inline s32 dComIfGp_roomControl_getZoneNo(int i_roomNo) {
return dStage_roomControl_c::getZoneNo(i_roomNo);
}
inline void dComIfGp_roomControl_initZone() {
g_dComIfG_gameInfo.play.getRoomControl()->initZone();
}
@@ -2375,12 +2386,28 @@ inline void dComIfGp_roomControl_setStayNo(int stayNo) {
g_dComIfG_gameInfo.play.getRoomControl()->setStayNo(stayNo);
}
inline void dComIfGp_roomControl_setZoneNo(int roomNo, int zoneNo) {
g_dComIfG_gameInfo.play.getRoomControl()->setZoneNo(roomNo, zoneNo);
}
inline dKy_tevstr_c* dComIfGp_roomControl_getTevStr(int i_roomNo) {
return g_dComIfG_gameInfo.play.getRoomControl()->getTevStr(i_roomNo);
}
inline bool dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) {
return g_dComIfG_gameInfo.play.mRoomControl.checkStatusFlag(i_roomNo, flag);
inline BOOL dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) {
return g_dComIfG_gameInfo.play.getRoomControl()->checkStatusFlag(i_roomNo, flag);
}
inline void dComIfGp_roomControl_offStatusFlag(int i_roomNo, u8 flag) {
return g_dComIfG_gameInfo.play.getRoomControl()->offStatusFlag(i_roomNo, flag);
}
inline void dComIfGp_roomControl_onStatusFlag(int i_roomNo, u8 flag) {
return g_dComIfG_gameInfo.play.getRoomControl()->onStatusFlag(i_roomNo, flag);
}
inline void dComIfGp_roomControl_setStatusFlag(int i_roomNo, u8 flag) {
return g_dComIfG_gameInfo.play.getRoomControl()->setStatusFlag(i_roomNo, flag);
}
inline void dComIfGp_roomControl_zoneCountCheck(int i_roomNo) {
+5
View File
@@ -48,6 +48,11 @@ public:
/* 80031434 */ static bool check(s8 i_roomNo, cXyz const& i_pos);
/* 800315A4 */ static void execute();
static void reset(int roomNo) {
room_c* room = (room_c*)mRoom; // tmp
room[roomNo].reset();
}
static u8 mData[1152];
static u8 mRoom[256];
static s16 mSetTop;
+1
View File
@@ -273,6 +273,7 @@ public:
static dDemo_actor_c* getActor(u8 param_0) { return m_object->getActor(param_0); }
static u32 getFrameNoMsg() { return m_frameNoMsg; }
static s32 getMode() { return m_mode; }
static int getFrame() { return m_frame; }
static JStudio::stb::TControl* getControl() { return m_control; }
static bool isStatus(u32 status) { return m_status & status; }
static void onStatus(u32 status) { m_status |= status; }
+33 -3
View File
@@ -684,6 +684,7 @@ public:
/* 0x68 */ int mVrboxcolNumInfo;
}; // Size: 0x6C
class dBgW_base;
class dStage_roomStatus_c {
public:
/* 0x000 */ dStage_roomDt_c mRoomDt;
@@ -695,7 +696,7 @@ public:
/* 0x3F8 */ s8 mMemBlockID;
/* 0x3F9 */ u8 mRegionNo;
/* 0x3FC */ int mProcID;
/* 0x400 */ int field_0x400;
/* 0x400 */ dBgW_base* mpBgW;
int getZoneNo() const { return mZoneNo; }
~dStage_roomStatus_c() {}
@@ -723,6 +724,11 @@ public:
/* 0x04 */ void** m_dzs;
};
struct nameData {
/* 0x0 */ s8 m_num;
/* 0x1 */ char m_names[32][10]; // ?
};
static void createRoomDzs(u8 i_num) { m_roomDzs.create(i_num); }
static void* addRoomDzs(u8 i_num, u8 roomNo) { return m_roomDzs.add(i_num, roomNo); }
static void removeRoomDzs() { m_roomDzs.remove(); }
@@ -744,7 +750,7 @@ public:
/* 80024940 */ static char* getArcBank(int);
/* 80024954 */ static bool resetArchiveBank(int);
/* 80024DB0 */ static void SetTimePass(int);
/* 8025BAAC */ void setZoneNo(int, int);
/* 8025BAAC */ static void setZoneNo(int, int);
static s32 GetTimePass();
static s8 getStayNo() { return mStayNo; }
@@ -763,14 +769,28 @@ public:
static void offNoChangeRoom() { mNoChangeRoom = false; }
static void setProcID(u32 id) { mProcID = id; }
static u32 getProcID() { return mProcID; }
static void setStatusProcID(int i_roomNo, unsigned int i_id) { mStatus[i_roomNo].mProcID = i_id; }
static int getStatusProcID(int i_roomNo) { return mStatus[i_roomNo].mProcID; }
static void setFileList2(int i_roomNo, dStage_FileList2_dt_c* list) {
mStatus[i_roomNo].mRoomDt.mFileList2Info = list;
}
bool checkStatusFlag(int i_roomNo, u8 flag) const {
static void setBgW(int param_0, dBgW_base* i_bgw) {
mStatus[param_0].mpBgW = i_bgw;
}
BOOL checkStatusFlag(int i_roomNo, u8 flag) const {
return cLib_checkBit(mStatus[i_roomNo].mFlag, flag);
}
void offStatusFlag(int i_roomNo, u8 flag) {
return cLib_offBit(mStatus[i_roomNo].mFlag, flag);
}
void onStatusFlag(int i_roomNo, u8 flag) {
return cLib_onBit(mStatus[i_roomNo].mFlag, flag);
}
static JKRExpHeap* mMemoryBlock[19];
static char mArcBank[32][10];
static dStage_roomStatus_c mStatus[0x40];
@@ -917,6 +937,12 @@ static s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0);
void dStage_restartRoom(u32 roomParam, u32 mode, int param_2);
struct cBgS_GndChk;
int dStage_RoomCheck(cBgS_GndChk* gndChk);
void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2);
void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2);
inline bool dStage_roomRead_dt_c_ChkBg(u8 param_0) {
return param_0 & 0x80;
}
inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) {
return data.field_0x2 & 8;
@@ -970,6 +996,10 @@ inline s8 dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) {
return p_info->field_0x0c >> 8;
}
inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) {
return p_info->field_0x0a & 0x1000;
}
inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
return p_info->field_0xb & 0xF;
}
+1 -1
View File
@@ -37,7 +37,7 @@ static void GxFog_set();
static void GxXFog_set();
u8 dKy_pol_argument_get(cBgS_PolyInfo const* i_poly);
void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int param_3);
void dKy_bg_MAxx_proc(void* param_0);
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE() {}
+2
View File
@@ -344,6 +344,8 @@ public:
JKRExpHeap* getResHeap() { return m_resHeap; }
void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); }
static void onStatus(u8 status) { mStatus |= status; }
static void offStatus(u8 status) { mStatus &= ~status; }
static bool isStatus(u8 status) { return mStatus & status; }
+7 -1
View File
@@ -7,9 +7,15 @@
#include "dolphin/mtx/mtx.h"
#include "f_pc/f_pc_leaf.h"
struct actor_method_class {
/* 0x00 */ process_method_class mBase;
/* 0x10 */ process_method_func mpDrawFunc;
/* 0x14 */ u8 field_0x14[0xC]; // Likely padding
};
struct actor_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ leafdraw_method_class* mSubMtd;
/* 0x24 */ actor_method_class* mSubMtd;
/* 0x28 */ int field_0x28; // mStatus
/* 0x2C */ u8 field_0x2c; // mActorType
/* 0x2D */ u8 field_0x2d; // mCullType
+4
View File
@@ -186,6 +186,10 @@ inline cXyz& fopAcM_GetPosition_p(fopAc_ac_c* pActor) {
return pActor->current.pos;
}
inline cXyz& fopAcM_GetPosition(fopAc_ac_c* pActor) {
return pActor->current.pos;
}
inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) {
return pActor->next.pos;
}
+4
View File
@@ -26,4 +26,8 @@ inline int fopScnM_LayerID(void* proc) {
return fpcM_LayerID(proc);
}
inline u32 fopScnM_GetParam(void* proc) {
return fpcM_GetParam(proc);
}
#endif
+5
View File
@@ -10,6 +10,7 @@
#include "f_pc/f_pc_stdcreate_req.h"
#include "f_pc/f_pc_executor.h"
#include "f_pc/f_pc_leaf.h"
#include "f_pc/f_pc_layer_iter.h"
typedef int (*FastCreateReqFunc)(void*);
typedef void (*fpcM_ManagementFunc)(void);
@@ -66,6 +67,10 @@ inline BOOL fpcM_IsExecuting(unsigned int id) {
return fpcEx_IsExist(id);
}
inline void* fpcM_LyJudge(process_node_class* i_node, fpcLyIt_JudgeFunc i_func, void* i_data) {
return fpcLyIt_Judge(&i_node->mLayer, i_func, i_data);
}
void fpcM_Draw(void* pProc);
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
s32 fpcM_Execute(void* pProc);
+9
View File
@@ -61,6 +61,10 @@ public:
}
int remove(J3DModelData* i_modelData) { return i_modelData->removeTexMtxAnimator(mpAnm); }
void entryFrame() { entryFrame(getFrame()); }
void entryFrame(f32 frame) { setFrame(frame); }
J3DAnmTextureSRTKey* getBtkAnm() const { return mpAnm; }
private:
/* 0x14 */ J3DAnmTextureSRTKey* mpAnm;
@@ -87,6 +91,10 @@ public:
}
int remove(J3DModelData* i_modelData) { return i_modelData->removeTevRegAnimator(mpAnm); }
void entryFrame() { entryFrame(getFrame()); }
void entryFrame(f32 frame) { setFrame(frame); }
J3DAnmTevRegKey* getBrkAnm() const { return mpAnm; }
private:
/* 0x14 */ J3DAnmTevRegKey* mpAnm;
@@ -508,6 +516,7 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 pa
void mDoExt_setAraCacheSize(u32 size);
int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id);
void mDoExt_modelEntryDL(J3DModel* i_model);
void mDoExt_setupStageTexture(J3DModelData* i_modelData);
struct JUTFont;
JUTFont* mDoExt_getMesgFont();
+9
View File
@@ -8,6 +8,15 @@
struct mDoLib_clipper {
/* 8001528C */ void setup(f32, f32, f32, f32);
static void changeFar(f32 far) {
mClipper.setFar(far);
mClipper.calcViewFrustum();
}
static u32 clip(const Mtx m, const Vec* param_1, const Vec* param_2) {
return mClipper.clip(m, (Vec*)param_1, (Vec*)param_2);
}
static J3DUClipper mClipper;
static f32 mSystemFar;
static f32 mFovyRate;
@@ -1,6 +1,63 @@
#ifndef D_A_OBJ_ENEMY_CREATE_H
#define D_A_OBJ_ENEMY_CREATE_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
class daObjE_CREATE_c : public fopAc_ac_c {
public:
/* 80BE31BC */ void NormalAction();
/* 80BE345C */ void SearchAction();
/* 80BE34A0 */ void LoopAction();
/* 80BE3544 */ void Action();
/* 80BE359C */ int Execute();
/* 80BE35C0 */ int Delete();
/* 80BE3618 */ void NameChk();
/* 80BE3770 */ int create();
private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 mEnemyNum;
/* 0x56A */ u8 mActivateSw;
/* 0x56B */ u8 mDeactivateSw;
/* 0x56C */ u8 mEndLoopSw;
/* 0x56E */ csXyz mEnemyAngle;
/* 0x574 */ s16 mEnemyProcName;
/* 0x578 */ u32 mEnemyParams;
/* 0x57C */ u32* mActorList;
/* 0x580 */ u8 mActionMode;
/* 0x582 */ s16 mKillCheckDelayTimer;
/* 0x584 */ u8 mAction;
/* 0x588 */ u8 unused[12];
}; // Size: 0x594
enum daObjE_EnemyType {
ENEMY_NONE,
ENEMY_KEESE,
ENEMY_RAT,
ENEMY_CHU,
ENEMY_CHU2,
ENEMY_BABY_GOHMA,
ENEMY_BUBBLE,
ENEMY_BOKOBLIN,
ENEMY_LIZALFOS,
ENEMY_SHADOW_BEAST,
ENEMY_SHADOW_VERMIN,
ENEMY_SHADOW_KEESE,
ENEMY_BOKOBLIN2,
};
enum daObjE_Action {
ACT_NORMAL,
ACT_SEARCH,
ACT_LOOP,
ACT_DEFAULT = 0xF,
};
enum daObjE_Mode {
MODE_CREATE,
MODE_WAIT,
MODE_KILL_CHECK,
MODE_END,
};
#endif /* D_A_OBJ_ENEMY_CREATE_H */
+1
View File
@@ -17,6 +17,7 @@ M3_O_FILES := \
M3_LIBS := \
M3_CFLAGS := \
-pool off \
-sdata 0 \
-sdata2 0 \
+576 -539
View File
File diff suppressed because it is too large Load Diff
@@ -1,280 +1,297 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_enemy_create
//
/*
* d_a_obj_enemy_create.cpp
* Enemy spawner
*/
#include "rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/d_procname.h"
//
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjE_CREATE_c {
/* 80BE31BC */ void NormalAction();
/* 80BE345C */ void SearchAction();
/* 80BE34A0 */ void LoopAction();
/* 80BE3544 */ void Action();
/* 80BE359C */ void Execute();
/* 80BE35C0 */ void Delete();
/* 80BE3618 */ void NameChk();
/* 80BE3770 */ void create();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct csXyz {};
struct cXyz {};
//
// Forward References:
//
extern "C" static void daObjE_CREATE_Create__FP10fopAc_ac_c();
extern "C" static void daObjE_CREATE_Delete__FP15daObjE_CREATE_c();
extern "C" void NormalAction__15daObjE_CREATE_cFv();
extern "C" void SearchAction__15daObjE_CREATE_cFv();
extern "C" void LoopAction__15daObjE_CREATE_cFv();
extern "C" void Action__15daObjE_CREATE_cFv();
extern "C" void Execute__15daObjE_CREATE_cFv();
extern "C" void Delete__15daObjE_CREATE_cFv();
extern "C" static bool daObjE_CREATE_Draw__FP15daObjE_CREATE_c();
extern "C" static void daObjE_CREATE_Execute__FP15daObjE_CREATE_c();
extern "C" void NameChk__15daObjE_CREATE_cFv();
extern "C" void create__15daObjE_CREATE_cFv();
extern "C" static bool daObjE_CREATE_IsDelete__FP15daObjE_CREATE_c();
extern "C" extern void* g_profile_Obj_E_CREATE[12];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
extern "C" void fpcSch_JudgeByID__FPvPv();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz();
extern "C" void* __nwa__FUl();
extern "C" void __dla__FPv();
extern "C" void _savegpr_25();
extern "C" void _restgpr_25();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* 80BE3178-80BE3198 000078 0020+00 1/0 0/0 0/0 .text daObjE_CREATE_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjE_CREATE_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/daObjE_CREATE_Create__FP10fopAc_ac_c.s"
static int daObjE_CREATE_Create(fopAc_ac_c* i_this) {
return static_cast<daObjE_CREATE_c*>(i_this)->create();
}
#pragma pop
/* 80BE3198-80BE31BC 000098 0024+00 1/0 0/0 0/0 .text daObjE_CREATE_Delete__FP15daObjE_CREATE_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjE_CREATE_Delete(daObjE_CREATE_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/daObjE_CREATE_Delete__FP15daObjE_CREATE_c.s"
static int daObjE_CREATE_Delete(daObjE_CREATE_c* i_this) {
i_this->Delete();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80BE3888-80BE388C 000000 0004+00 1/1 0/0 0/0 .rodata @3720 */
SECTION_RODATA static u8 const lit_3720[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80BE3888, &lit_3720);
/* 80BE388C-80BE3890 000004 0004+00 0/1 0/0 0/0 .rodata @3721 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3721 = 100.0f;
COMPILER_STRIP_GATE(0x80BE388C, &lit_3721);
#pragma pop
/* 80BE3890-80BE3898 000008 0004+04 0/1 0/0 0/0 .rodata @3722 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3722[1 + 1 /* padding */] = {
62000.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x80BE3890, &lit_3722);
#pragma pop
/* 80BE3898-80BE38A0 000010 0008+00 0/1 0/0 0/0 .rodata @3724 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3724[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80BE3898, &lit_3724);
#pragma pop
/* 80BE31BC-80BE345C 0000BC 02A0+00 3/3 0/0 0/0 .text NormalAction__15daObjE_CREATE_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::NormalAction() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/NormalAction__15daObjE_CREATE_cFv.s"
void daObjE_CREATE_c::NormalAction() {
cXyz offsetPos(0.0f, 0.0f, 100.0f);
switch (mActionMode) {
case MODE_CREATE:
if (mActivateSw != 0xFF && dComIfGs_isSwitch(mActivateSw, fopAcM_GetRoomNo(this))) {
int enemyNum = mEnemyNum;
for (int i = 0; i < enemyNum; i++) {
s16 angle = shape_angle.y + (62000.0f / enemyNum) * i;
// this cLib_offsetPos call is useless since the result is stored in `offsetPos`
// and `offsetPos` is never used afterward.
// this was probably supposed to be:
// "cLib_offsetPos(&current.pos, &current.pos, angle, &offsetPos)"
cLib_offsetPos(&offsetPos, &current.pos, angle, &offsetPos);
s8 roomNo = fopAcM_GetRoomNo(this);
mActorList[i] =
fopAcM_createChild(mEnemyProcName, fopAcM_GetID(this), mEnemyParams,
&current.pos, roomNo, &mEnemyAngle, NULL, -1, NULL);
}
mActionMode++;
mKillCheckDelayTimer = 50;
}
break;
case MODE_WAIT:
mKillCheckDelayTimer--;
if (mKillCheckDelayTimer <= 0) {
mKillCheckDelayTimer = 0;
}
if (mKillCheckDelayTimer == 0) {
mActionMode++;
}
break;
case MODE_KILL_CHECK:
int killed_num;
int enemyNum = mEnemyNum;
killed_num = 0;
for (int i = 0; i < enemyNum; i++) {
if (fopAcM_SearchByID(mActorList[i]) == NULL) {
mActorList[i] = 0xFFFFFFFF;
killed_num++;
}
}
if (killed_num == enemyNum) {
mActionMode++;
if (mDeactivateSw != 0xFF &&
!dComIfGs_isSwitch(mDeactivateSw, fopAcM_GetRoomNo(this))) {
dComIfGs_onSwitch(mDeactivateSw, fopAcM_GetRoomNo(this));
}
mKillCheckDelayTimer = 100;
}
break;
case MODE_END:
break;
}
}
#pragma pop
/* 80BE345C-80BE34A0 00035C 0044+00 1/1 0/0 0/0 .text SearchAction__15daObjE_CREATE_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::SearchAction() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/SearchAction__15daObjE_CREATE_cFv.s"
/**
* Moves the enemy spawner position to player position
*/
void daObjE_CREATE_c::SearchAction() {
current.pos = fopAcM_GetPosition(daPy_getPlayerActorClass());
NormalAction();
}
#pragma pop
/* 80BE34A0-80BE3544 0003A0 00A4+00 1/1 0/0 0/0 .text LoopAction__15daObjE_CREATE_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::LoopAction() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/LoopAction__15daObjE_CREATE_cFv.s"
/**
* Starts the enemy spawn loop over again when all enemies are killed.
* If a loop end switch is specified and activated, the loop will end
*/
void daObjE_CREATE_c::LoopAction() {
NormalAction();
if (mActionMode == MODE_END) {
mKillCheckDelayTimer--;
if (mKillCheckDelayTimer <= 0) {
mKillCheckDelayTimer = 0;
}
if (mKillCheckDelayTimer == 0) {
mActionMode = MODE_CREATE;
}
}
if (mEndLoopSw != 0xFF && dComIfGs_isSwitch(mEndLoopSw, fopAcM_GetRoomNo(this))) {
mAction = ACT_NORMAL;
mActionMode = MODE_KILL_CHECK;
}
}
#pragma pop
/* 80BE3544-80BE359C 000444 0058+00 1/1 0/0 0/0 .text Action__15daObjE_CREATE_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::Action() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/Action__15daObjE_CREATE_cFv.s"
void daObjE_CREATE_c::Action() {
switch (mAction) {
case ACT_NORMAL:
NormalAction();
break;
case ACT_SEARCH:
SearchAction();
break;
case ACT_LOOP:
LoopAction();
break;
}
}
#pragma pop
/* 80BE359C-80BE35C0 00049C 0024+00 1/1 0/0 0/0 .text Execute__15daObjE_CREATE_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::Execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/Execute__15daObjE_CREATE_cFv.s"
int daObjE_CREATE_c::Execute() {
Action();
return 1;
}
#pragma pop
/* 80BE35C0-80BE35F0 0004C0 0030+00 1/1 0/0 0/0 .text Delete__15daObjE_CREATE_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/Delete__15daObjE_CREATE_cFv.s"
int daObjE_CREATE_c::Delete() {
if (mActorList != NULL) {
delete[] mActorList;
}
return 1;
}
#pragma pop
/* 80BE35F0-80BE35F8 0004F0 0008+00 1/0 0/0 0/0 .text daObjE_CREATE_Draw__FP15daObjE_CREATE_c */
static bool daObjE_CREATE_Draw(daObjE_CREATE_c* param_0) {
return true;
static int daObjE_CREATE_Draw(daObjE_CREATE_c* i_this) {
return 1;
}
/* 80BE35F8-80BE3618 0004F8 0020+00 1/0 0/0 0/0 .text daObjE_CREATE_Execute__FP15daObjE_CREATE_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjE_CREATE_Execute(daObjE_CREATE_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/daObjE_CREATE_Execute__FP15daObjE_CREATE_c.s"
static int daObjE_CREATE_Execute(daObjE_CREATE_c* i_this) {
return i_this->Execute();
}
#pragma pop
/* ############################################################################################## */
/* 80BE38A0-80BE38D4 -00001 0034+00 1/1 0/0 0/0 .data @3838 */
SECTION_DATA static void* lit_3838[13] = {
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x154),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x50),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x5C),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x68),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x7C),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x90),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0xA8),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0xB4),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0xC0),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0xCC),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x100),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x114),
(void*)(((char*)NameChk__15daObjE_CREATE_cFv) + 0x128),
};
/* 80BE3618-80BE3770 000518 0158+00 2/1 0/0 0/0 .text NameChk__15daObjE_CREATE_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::NameChk() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/NameChk__15daObjE_CREATE_cFv.s"
void daObjE_CREATE_c::NameChk() {
int enemyType = fopAcM_GetParam(this) & 0xF;
mEnemyNum = (fopAcM_GetParam(this) >> 4) & 0xF;
mEnemyParams = 0xFFFFFFFF;
mEnemyAngle = shape_angle;
switch (enemyType) {
case ENEMY_NONE:
break;
case ENEMY_KEESE:
mEnemyProcName = PROC_E_BA;
break;
case ENEMY_RAT:
mEnemyProcName = PROC_E_MS;
break;
case ENEMY_CHU:
mEnemyProcName = PROC_E_SM2;
mEnemyParams = 0xFFFFFF1F;
break;
case ENEMY_CHU2:
mEnemyProcName = PROC_E_SM2;
mEnemyParams = 0xFFFFFF3F;
break;
case ENEMY_BABY_GOHMA:
mEnemyProcName = PROC_E_GM;
mEnemyParams = 0x000AFF02;
break;
case ENEMY_BUBBLE:
mEnemyProcName = PROC_E_BU;
break;
case ENEMY_BOKOBLIN:
mEnemyProcName = PROC_E_OC;
break;
case ENEMY_LIZALFOS:
mEnemyProcName = PROC_E_DN;
break;
case ENEMY_SHADOW_BEAST:
mEnemyProcName = PROC_E_S1;
if (mEnemyNum == 1) {
mEnemyParams = 0xFFFFFEF0;
} else {
mEnemyParams = (mEnemyNum << 4) | 0xFFFFFE00;
}
break;
case ENEMY_SHADOW_VERMIN:
mEnemyProcName = PROC_E_YG;
mEnemyParams = 0xFFFFFF00;
break;
case ENEMY_SHADOW_KEESE:
mEnemyProcName = PROC_E_YK;
mEnemyParams = 0xFFFFFF01;
break;
case ENEMY_BOKOBLIN2:
mEnemyProcName = PROC_E_OC;
mEnemyParams = 0xFFFF01FF;
mEnemyAngle.set(0x100, shape_angle.y, shape_angle.z);
break;
}
}
#pragma pop
/* 80BE3770-80BE3878 000670 0108+00 1/1 0/0 0/0 .text create__15daObjE_CREATE_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjE_CREATE_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create/create__15daObjE_CREATE_cFv.s"
int daObjE_CREATE_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjE_CREATE_c();
fopAcM_OnCondition(this, 8);
}
NameChk();
u32 enemyType = fopAcM_GetParam(this) & 0xF;
mAction = current.angle.x & 0xF;
if (mAction == ACT_DEFAULT) {
mAction = ACT_NORMAL;
}
current.angle.x = 0;
if (enemyType == 0 || enemyType == 0xFF) {
return cPhs_ERROR_e;
}
mEndLoopSw = fopAcM_GetParam(this) >> 0x18;
if (dComIfGs_isSwitch(mEndLoopSw, fopAcM_GetRoomNo(this))) {
return cPhs_ERROR_e;
}
mActivateSw = fopAcM_GetParam(this) >> 8;
mDeactivateSw = fopAcM_GetParam(this) >> 0x10;
mActorList = new u32[mEnemyNum];
if (mActorList == NULL) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 80BE3878-80BE3880 000778 0008+00 1/0 0/0 0/0 .text daObjE_CREATE_IsDelete__FP15daObjE_CREATE_c
*/
static bool daObjE_CREATE_IsDelete(daObjE_CREATE_c* param_0) {
return true;
static int daObjE_CREATE_IsDelete(daObjE_CREATE_c* i_this) {
return 1;
}
/* ############################################################################################## */
/* 80BE38D4-80BE38F4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjE_CREATE_Method */
SECTION_DATA static void* l_daObjE_CREATE_Method[8] = {
(void*)daObjE_CREATE_Create__FP10fopAc_ac_c,
(void*)daObjE_CREATE_Delete__FP15daObjE_CREATE_c,
(void*)daObjE_CREATE_Execute__FP15daObjE_CREATE_c,
(void*)daObjE_CREATE_IsDelete__FP15daObjE_CREATE_c,
(void*)daObjE_CREATE_Draw__FP15daObjE_CREATE_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daObjE_CREATE_Method = {
(process_method_func)daObjE_CREATE_Create, (process_method_func)daObjE_CREATE_Delete,
(process_method_func)daObjE_CREATE_Execute, (process_method_func)daObjE_CREATE_IsDelete,
(process_method_func)daObjE_CREATE_Draw,
};
/* 80BE38F4-80BE3924 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_E_CREATE */
SECTION_DATA extern void* g_profile_Obj_E_CREATE[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00680000, (void*)&g_fpcLf_Method,
(void*)0x00000594, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01CA0000, (void*)&l_daObjE_CREATE_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Obj_E_CREATE = {
-3,
3,
0xFFFD,
PROC_Obj_E_CREATE,
0,
&g_fpcLf_Method.mBase,
sizeof(daObjE_CREATE_c),
0,
0,
&g_fopAc_Method,
0x01CA,
0,
0,
&l_daObjE_CREATE_Method,
0x00040000,
0x0,
0xE,
0,
0,
};
+27 -25
View File
@@ -108,37 +108,39 @@ static int daTagMmsg_Execute(daTagMmsg_c* tag) {
}
/* 80D5BD28-80D5BD30 000488 0008+00 1/0 0/0 0/0 .text daTagMmsg_Draw__FP11daTagMmsg_c */
static bool daTagMmsg_Draw(daTagMmsg_c* tag) {
return true;
static int daTagMmsg_Draw(daTagMmsg_c* tag) {
return 1;
}
/* ############################################################################################## */
/* 80D5BD44-80D5BD64 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMmsg_Method */
// This is probably of type leafdraw_method_class, but I can't get the data to have the right
// padding without these extra NULLs.
static void* l_daTagMmsg_Method[8] = {
daTagMmsg_Create, daTagMmsg_Delete, daTagMmsg_Execute, NULL, daTagMmsg_Draw, NULL, NULL, NULL,
static actor_method_class l_daTagMmsg_Method = {
(process_method_func)daTagMmsg_Create,
(process_method_func)daTagMmsg_Delete,
(process_method_func)daTagMmsg_Execute,
(process_method_func)NULL,
(process_method_func)daTagMmsg_Draw,
};
/* 80D5BD64-80D5BD94 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Mmsg */
extern actor_process_profile_definition g_profile_Tag_Mmsg = {
-3, // mLayerID
7, // mListID
0xFFFD, // mListPrio
PROC_Tag_Mmsg, // mProcName
0, // unkA
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daTagMmsg_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method, // mSubMtd
0x00FF, // mPriority
0, // unk22[0]
0, // unk22[1]
(leafdraw_method_class*)&l_daTagMmsg_Method, // mSubMtd
0x00044000, // mStatus
0x03, // mActorType
0x0E, // mCullType
0, // field_0x2e[0]
0 // field_0x2e[1]
-3, // mLayerID
7, // mListID
0xFFFD, // mListPrio
PROC_Tag_Mmsg, // mProcName
0, // unkA
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daTagMmsg_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method, // mSubMtd
0x00FF, // mPriority
0, // unk22[0]
0, // unk22[1]
&l_daTagMmsg_Method, // mSubMtd
0x00044000, // mStatus
0x03, // mActorType
0x0E, // mCullType
0, // field_0x2e[0]
0 // field_0x2e[1]
};
+4 -4
View File
@@ -1365,10 +1365,10 @@ int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInf
}
/* 8002D1AC-8002D25C 027AEC 00B0+00 0/0 0/0 1/1 .text dComIfGp_getMapTrans__FiPfPfPs */
int dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle) {
bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle) {
dStage_Multi_c* multi = dComIfGp_getMulti();
if (multi == NULL) {
return 0;
return false;
}
dStage_Mult_info* info = multi->mInfo;
@@ -1377,12 +1377,12 @@ int dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angl
*o_transX = info->mTransX;
*o_transY = info->mTransY;
*o_angle = info->mAngle;
return 1;
return true;
}
info++;
}
return 0;
return false;
}
/* 8002D25C-8002D2AC 027B9C 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomCamera__Fi */
+1 -1
View File
@@ -528,7 +528,7 @@ void dStage_roomControl_c::init() {
}
status->mMemBlockID = -1;
status->field_0x400 = 0;
status->mpBgW = NULL;
status++;
}
+249 -137
View File
@@ -5,24 +5,25 @@
#include "d/s/d_s_room.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene.h"
static bool resetArchiveBank(int param_0);
static bool setArchiveBank(int param_0);
//
// Types:
//
class room_of_scene_class : public process_node_class {
class room_of_scene_class : public scene_class {
public:
/* 0x1AC */ process_method_class* mpProcessMtd;
/* 0x1B0 */ scene_tag_class* field_0x1b0;
/* 0x1B4 */ u8 field_0x1b4[0x10];
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x1CC */ void* field_0x1cc;
/* 0x1D0 */ dStage_roomDt_c* field_0x1d0;
/* 0x1CC */ void* mpDzrRes;
/* 0x1D0 */ dStage_roomDt_c* mpRoomDt;
/* 0x1D4 */ s8 field_0x1d4;
/* 0x1D5 */ s8 field_0x1d5;
/* 0x1D5 */ u8 field_0x1d5;
/* 0x1D6 */ u8 field_0x1d6[2];
/* 0x1D8 */ u8 field_0x1d8;
};
@@ -110,15 +111,14 @@ extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 mArcBankName__20dStage_roomControl_c[4];
extern "C" u8 mArcBankData__20dStage_roomControl_c[4];
extern "C" extern u8 pauseTimer__9dScnPly_c[4];
//
// Declarations:
//
/* 8025AE1C-8025AE24 25575C 0008+00 1/0 0/0 0/0 .text dScnRoom_Draw__FP19room_of_scene_class */
static bool dScnRoom_Draw(room_of_scene_class* param_0) {
return true;
static int dScnRoom_Draw(room_of_scene_class* i_this) {
return 1;
}
/* ############################################################################################## */
@@ -132,21 +132,17 @@ SECTION_DEAD static char const* const stringBase_8039A388 = "";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void getResetArchiveBank(int param_0, u8 const** param_1) {
static asm int getResetArchiveBank(int param_0, u8 const** param_1) {
nofralloc
#include "asm/d/s/d_s_room/getResetArchiveBank__FiPPCUc.s"
}
#pragma pop
/* 8025AF24-8025AF4C 255864 0028+00 1/1 0/0 0/0 .text resetArchiveBank__Fi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void resetArchiveBank(int param_0) {
nofralloc
#include "asm/d/s/d_s_room/resetArchiveBank__Fi.s"
static bool resetArchiveBank(int param_0) {
const u8* tmp;
return dStage_roomControl_c::resetArchiveBank(getResetArchiveBank(param_0, &tmp));
}
#pragma pop
/* ############################################################################################## */
/* 8039A388-8039A388 0269E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -161,51 +157,44 @@ SECTION_DEAD static char const* const stringBase_8039A39B = "Bank[%d] : %s.arc R
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void setArchiveBank(int param_0) {
static asm bool setArchiveBank(int param_0) {
nofralloc
#include "asm/d/s/d_s_room/setArchiveBank__Fi.s"
}
#pragma pop
/* 8025B0F0-8025B150 255A30 0060+00 1/1 0/0 0/0 .text objectDeleteJugge__FPvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void objectDeleteJugge(void* param_0, void* param_1) {
nofralloc
#include "asm/d/s/d_s_room/objectDeleteJugge__FPvPv.s"
static int objectDeleteJugge(void* i_obj, void*) {
if (fpcM_GetProfName(i_obj) != PROC_BG) {
if (fopAcM_IsActor(i_obj) && !fopAcM_CheckCondition((fopAc_ac_c*)i_obj, 4)) {
return 0;
}
fpcM_Delete(i_obj);
}
return 0;
}
#pragma pop
/* 8025B150-8025B174 255A90 0024+00 1/1 0/0 0/0 .text deleteJugge__FPvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void deleteJugge(void* param_0, void* param_1) {
nofralloc
#include "asm/d/s/d_s_room/deleteJugge__FPvPv.s"
static int deleteJugge(void* i_obj, void*) {
fpcM_Delete(i_obj);
return 0;
}
#pragma pop
/* 8025B174-8025B194 255AB4 0020+00 1/1 0/0 0/0 .text isCreatingCallback__FP10create_tagPUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void isCreatingCallback(create_tag* param_0, unsigned int* param_1) {
static asm void* isCreatingCallback(create_tag* param_0, unsigned int* param_1) {
nofralloc
#include "asm/d/s/d_s_room/isCreatingCallback__FP10create_tagPUi.s"
}
#pragma pop
/* 8025B194-8025B1D0 255AD4 003C+00 2/2 0/0 0/0 .text isCreating__FUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void isCreating(unsigned int param_0) {
nofralloc
#include "asm/d/s/d_s_room/isCreating__FUi.s"
static bool isCreating(unsigned int param_0) {
return fpcCtIt_Judge((fpcCtIt_JudgeFunc)isCreatingCallback, &param_0);
}
#pragma pop
/* ############################################################################################## */
/* 8039A388-8039A388 0269E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -225,146 +214,269 @@ static asm void loadDemoArchive(int param_0) {
#pragma pop
/* 8025B2EC-8025B564 255C2C 0278+00 3/3 0/0 0/0 .text objectSetCheck__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void objectSetCheck(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/objectSetCheck__FP19room_of_scene_class.s"
static bool objectSetCheck(room_of_scene_class* i_this) {
int roomNo = fopScnM_GetParam(i_this);
BOOL status_flag_8 = dComIfGp_roomControl_checkStatusFlag(roomNo, 8);
BOOL status_flag_20 = dComIfGp_roomControl_checkStatusFlag(roomNo, 0x20);
if (i_this->field_0x1d4 == 0 || (i_this->field_0x1d4 > 0 && !status_flag_8)) {
if (!status_flag_8) {
switch (i_this->field_0x1d4) {
case 0:
if (!resetArchiveBank(roomNo)) {
return 0;
}
i_this->field_0x1d4++;
case 1:
if (!setArchiveBank(roomNo)) {
return 0;
}
if (i_this->mpDzrRes != NULL) {
loadDemoArchive(roomNo);
}
default:
if (*dStage_roomControl_c::getDemoArcName() != '\0') {
int phase = dComIfG_syncObjectRes(dStage_roomControl_c::getDemoArcName());
if (phase >= 0 && phase > 0) {
return 0;
}
}
fopAcM_create(PROC_BG, roomNo, NULL, -1, NULL, NULL, -1);
dComIfGp_getPEvtManager()->demoInit();
dComIfGp_getPEvtManager()->roomInit(roomNo);
dStage_dt_c_roomReLoader(i_this->mpDzrRes, i_this->mpRoomDt, roomNo);
dComIfGp_ret_wp_set(roomNo);
i_this->field_0x1d4 = -1;
i_this->field_0x1d5 = 1;
}
}
} else if (status_flag_8) {
if (isCreating(fpcM_LayerID(i_this))) {
return 0;
}
fpcM_LyJudge(&i_this->mBase, (fpcLyIt_JudgeFunc)deleteJugge, NULL);
g_dComIfG_gameInfo.play.getParticle()->levelAllForceOnEventMove();
dComIfGs_clearRoomSwitch(dComIfGp_roomControl_getZoneNo(roomNo));
dComIfGs_clearRoomItem(dComIfGp_roomControl_getZoneNo(roomNo));
dComIfGp_roomControl_offStatusFlag(roomNo, 0x20);
i_this->field_0x1d4 = 0;
} else if (status_flag_20) {
fpcM_LyJudge(&i_this->mBase, (fpcLyIt_JudgeFunc)objectDeleteJugge, NULL);
g_dComIfG_gameInfo.play.getParticle()->levelAllForceOnEventMove();
}
return 1;
}
#pragma pop
/* 8025B564-8025B674 255EA4 0110+00 1/0 0/0 0/0 .text dScnRoom_Execute__FP19room_of_scene_class */
#ifdef NONMATCHING
static int dScnRoom_Execute(room_of_scene_class* i_this) {
int roomNo = fopScnM_GetParam(i_this);
if (dComIfGp_roomControl_checkStatusFlag(roomNo, 2)) {
dComIfGp_roomControl_offStatusFlag(roomNo, 2);
dComIfGp_roomControl_onStatusFlag(roomNo, 1);
} else if (objectSetCheck(i_this)) {
if (dComIfGp_roomControl_checkStatusFlag(roomNo, 4)) {
fopScnM_DeleteReq(i_this);
} else if (i_this->field_0x1d4 < 0 && i_this->field_0x1d5 != 0 &&
!i_dComIfGp_event_runCheck() &&
(int)fopScnM_GetParam(i_this) == dComIfGp_roomControl_getStayNo()) {
if (isCreating(fpcM_LayerID(i_this))) {
dScnPly_c::setPauseTimer(2);
} else {
i_this->field_0x1d5 = 0;
}
}
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnRoom_Execute(room_of_scene_class* param_0) {
static asm int dScnRoom_Execute(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/dScnRoom_Execute__FP19room_of_scene_class.s"
}
#pragma pop
#endif
/* 8025B674-8025B67C 255FB4 0008+00 1/0 0/0 0/0 .text dScnRoom_IsDelete__FP19room_of_scene_class
*/
static bool dScnRoom_IsDelete(room_of_scene_class* param_0) {
return true;
static int dScnRoom_IsDelete(room_of_scene_class*) {
return 1;
}
/* 8025B67C-8025B73C 255FBC 00C0+00 1/1 0/0 0/0 .text isReadRoom__Fi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void isReadRoom(int param_0) {
nofralloc
#include "asm/d/s/d_s_room/isReadRoom__Fi.s"
static bool isReadRoom(int param_0) {
roomRead_class* room = dComIfGp_getStageRoom();
if (room == NULL) {
return false;
}
if (room->field_0x0 <= param_0) {
return false;
}
roomRead_data_class* roomData = room->field_0x4[dComIfGp_getNextStageRoomNo()];
u8* tmp = roomData->field_0x4;
for (int i = 0; i < roomData->field_0x0; i++) {
if (dStage_roomRead_dt_c_ChkBg(*tmp) &&
param_0 == dStage_roomRead_dt_c_GetLoadRoomIndex(*tmp)) {
return true;
}
tmp++;
}
return false;
}
inline const char* setArcName(room_of_scene_class* i_room) {
return dComIfG_getRoomArcName(fopAcM_GetParam(i_room));
}
#pragma pop
/* 8025B73C-8025B870 25607C 0134+00 1/0 0/0 0/0 .text dScnRoom_Delete__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnRoom_Delete(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/dScnRoom_Delete__FP19room_of_scene_class.s"
static int dScnRoom_Delete(room_of_scene_class* i_this) {
int roomNo = fopScnM_GetParam(i_this);
dComIfGp_roomControl_setStatusFlag(roomNo, 0);
dComIfGp_roomControl_getStatusRoomDt(roomNo)->mRoomDt.init();
if (mDoRst::isReset() || !dComIfGp_isEnableNextStage() ||
strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName()) ||
(roomNo != dComIfGp_getNextStageRoomNo() && !isReadRoom(roomNo))) {
dComIfG_deleteStageRes(setArcName(i_this));
JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo);
if (heap != NULL) {
heap->freeAll();
}
}
dComIfGp_roomControl_getStatusRoomDt(roomNo)->mRoomDt.init();
dComIfGp_getPEvtManager()->roomFinish(roomNo);
return 1;
}
#pragma pop
/* 8025B870-8025B8A4 2561B0 0034+00 1/0 0/0 0/0 .text phase_0__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_0(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/phase_0__FP19room_of_scene_class.s"
static int phase_0(room_of_scene_class* i_this) {
int roomNo = fopScnM_GetParam(i_this);
dStage_roomControl_c::setStatusProcID(roomNo, fopScnM_GetID(i_this));
return 2;
}
#pragma pop
/* 8025B8A4-8025B980 2561E4 00DC+00 1/0 0/0 0/0 .text phase_1__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_1(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/phase_1__FP19room_of_scene_class.s"
}
#pragma pop
static int phase_1(room_of_scene_class* i_this) {
i_this->field_0x1d8 = 1;
/* ############################################################################################## */
/* 8039A388-8039A388 0269E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8039A3CA = "room.dzr";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8039A3D3 = "\0\0\0\0";
#pragma pop
int roomNo = fopScnM_GetParam(i_this);
const char* arcName = setArcName(i_this);
if (dComIfG_syncStageRes(arcName) < 0) {
JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo);
if (heap != NULL) {
if (heap->getTotalUsedSize() != 0) {
return 0;
}
} else {
stage_stag_info_class* stagInfo = i_dComIfGp_getStage()->getStagInfo();
if (dStage_staginfo_GetArchiveHeap(stagInfo) != NULL) {
heap = mDoExt_getArchiveHeap();
}
}
if (!dComIfG_setStageRes(arcName, heap)) {
return cPhs_ERROR_e;
}
}
return 2;
}
/* 8025B980-8025BAAC 2562C0 012C+00 1/0 0/0 0/0 .text phase_2__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_2(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/phase_2__FP19room_of_scene_class.s"
static int phase_2(room_of_scene_class* i_this) {
const char* arcName = setArcName(i_this);
int phase = dComIfG_syncStageRes(arcName);
if (phase < 0) {
return cPhs_ERROR_e;
}
if (phase != 0) {
return 0;
}
int roomNo = fopScnM_GetParam(i_this);
if (dComIfGp_roomControl_getZoneNo(roomNo) < 0) {
dComIfGp_roomControl_setZoneNo(roomNo, dComIfGs_createZone(roomNo));
}
i_this->mpRoomDt = &dComIfGp_roomControl_getStatusRoomDt(roomNo)->mRoomDt;
i_this->mpRoomDt->setRoomNo(roomNo);
i_this->mpDzrRes = dComIfG_getStageRes(arcName, "room.dzr");
if (i_this->mpDzrRes != NULL) {
dStage_dt_c_roomLoader(i_this->mpDzrRes, i_this->mpRoomDt, roomNo);
}
JKRHeap* old_heap = NULL;
JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo);
if (heap != NULL) {
old_heap = mDoExt_setCurrentHeap(heap);
}
if (old_heap != NULL) {
mDoExt_setCurrentHeap(old_heap);
}
return 2;
}
#pragma pop
/* 8025BAAC-8025BAC4 2563EC 0018+00 1/1 0/0 0/0 .text setZoneNo__20dStage_roomControl_cFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dStage_roomControl_c::setZoneNo(int param_0, int param_1) {
nofralloc
#include "asm/d/s/d_s_room/setZoneNo__20dStage_roomControl_cFii.s"
void dStage_roomControl_c::setZoneNo(int i_roomNo, int i_zoneNo) {
mStatus[i_roomNo].mZoneNo = i_zoneNo;
}
#pragma pop
/* 8025BAC4-8025BAF8 256404 0034+00 1/0 0/0 0/0 .text phase_3__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_3(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/phase_3__FP19room_of_scene_class.s"
static int phase_3(room_of_scene_class* i_this) {
return objectSetCheck(i_this) ? 2 : 0;
}
#pragma pop
/* 8025BAF8-8025BB48 256438 0050+00 1/0 0/0 0/0 .text phase_4__FP19room_of_scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void phase_4(room_of_scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/phase_4__FP19room_of_scene_class.s"
}
#pragma pop
static int phase_4(room_of_scene_class* i_this) {
if (dComIfGp_getPlayer(0) == NULL) {
return 0;
}
/* ############################################################################################## */
/* 803C3260-803C3274 -00001 0014+00 1/1 0/0 0/0 .data l_method$4056 */
SECTION_DATA static void* l_method[5] = {
(void*)phase_0__FP19room_of_scene_class, (void*)phase_1__FP19room_of_scene_class,
(void*)phase_2__FP19room_of_scene_class, (void*)phase_3__FP19room_of_scene_class,
(void*)phase_4__FP19room_of_scene_class,
};
return objectSetCheck(i_this) ? cPhs_COMPLEATE_e : 0;
}
/* 8025BB48-8025BB78 256488 0030+00 1/0 0/0 0/0 .text dScnRoom_Create__FP11scene_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dScnRoom_Create(scene_class* param_0) {
nofralloc
#include "asm/d/s/d_s_room/dScnRoom_Create__FP11scene_class.s"
static int dScnRoom_Create(scene_class* i_this) {
static int (*l_method[5])(void*) = {
(int (*)(void*))phase_0, (int (*)(void*))phase_1, (int (*)(void*))phase_2,
(int (*)(void*))phase_3, (int (*)(void*))phase_4,
};
room_of_scene_class* room = static_cast<room_of_scene_class*>(i_this);
return dComLbG_PhaseHandler(&room->field_0x1c4, l_method, i_this);
}
#pragma pop
/* ############################################################################################## */
/* 803C3274-803C3288 -00001 0014+00 1/0 0/0 0/0 .data l_dScnRoom_Method */
SECTION_DATA static void* l_dScnRoom_Method[5] = {
(void*)dScnRoom_Create__FP11scene_class,
(void*)dScnRoom_Delete__FP19room_of_scene_class,
(void*)dScnRoom_Execute__FP19room_of_scene_class,
(void*)dScnRoom_IsDelete__FP19room_of_scene_class,
(void*)dScnRoom_Draw__FP19room_of_scene_class,
(void*)dScnRoom_Create, (void*)dScnRoom_Delete, (void*)dScnRoom_Execute,
(void*)dScnRoom_IsDelete, (void*)dScnRoom_Draw,
};
/* 803C3288-803C32B0 -00001 0028+00 0/0 0/0 1/0 .data g_profile_ROOM_SCENE */