mirror of https://github.com/zeldaret/tp.git
d_s_room OK (#2033)
This commit is contained in:
parent
ead852383f
commit
b27b6b287c
|
|
@ -1,75 +0,0 @@
|
|||
lbl_8025B564:
|
||||
/* 8025B564 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8025B568 7C 08 02 A6 */ mflr r0
|
||||
/* 8025B56C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8025B570 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8025B574 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 8025B578 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8025B57C 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 8025B580 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
|
||||
/* 8025B584 38 84 60 94 */ addi r4, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
|
||||
/* 8025B588 1C 00 04 04 */ mulli r0, r0, 0x404
|
||||
/* 8025B58C 7F C4 02 14 */ add r30, r4, r0
|
||||
/* 8025B590 8C 9E 03 F4 */ lbzu r4, 0x3f4(r30)
|
||||
/* 8025B594 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
|
||||
/* 8025B598 41 82 00 1C */ beq lbl_8025B5B4
|
||||
/* 8025B59C 54 80 07 FA */ rlwinm r0, r4, 0, 0x1f, 0x1d
|
||||
/* 8025B5A0 98 1E 00 00 */ stb r0, 0(r30)
|
||||
/* 8025B5A4 88 1E 00 00 */ lbz r0, 0(r30)
|
||||
/* 8025B5A8 60 00 00 01 */ ori r0, r0, 1
|
||||
/* 8025B5AC 98 1E 00 00 */ stb r0, 0(r30)
|
||||
/* 8025B5B0 48 00 00 A8 */ b lbl_8025B658
|
||||
lbl_8025B5B4:
|
||||
/* 8025B5B4 4B FF FD 39 */ bl objectSetCheck__FP19room_of_scene_class
|
||||
/* 8025B5B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 8025B5BC 41 82 00 9C */ beq lbl_8025B658
|
||||
/* 8025B5C0 88 1E 00 00 */ lbz r0, 0(r30)
|
||||
/* 8025B5C4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
|
||||
/* 8025B5C8 41 82 00 10 */ beq lbl_8025B5D8
|
||||
/* 8025B5CC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8025B5D0 4B DC 37 6D */ bl fopScnM_DeleteReq__FP11scene_class
|
||||
/* 8025B5D4 48 00 00 84 */ b lbl_8025B658
|
||||
lbl_8025B5D8:
|
||||
/* 8025B5D8 88 1F 01 D4 */ lbz r0, 0x1d4(r31)
|
||||
/* 8025B5DC 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8025B5E0 40 80 00 78 */ bge lbl_8025B658
|
||||
/* 8025B5E4 88 1F 01 D5 */ lbz r0, 0x1d5(r31)
|
||||
/* 8025B5E8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8025B5EC 41 82 00 6C */ beq lbl_8025B658
|
||||
/* 8025B5F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8025B5F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8025B5F8 88 03 4F AD */ lbz r0, 0x4fad(r3)
|
||||
/* 8025B5FC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8025B600 40 82 00 58 */ bne lbl_8025B658
|
||||
/* 8025B604 80 7F 00 B0 */ lwz r3, 0xb0(r31)
|
||||
/* 8025B608 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13)
|
||||
/* 8025B60C 7C 00 07 74 */ extsb r0, r0
|
||||
/* 8025B610 7C 03 00 00 */ cmpw r3, r0
|
||||
/* 8025B614 40 82 00 44 */ bne lbl_8025B658
|
||||
/* 8025B618 80 6D 87 C0 */ lwz r3, g_fpcNd_type(r13)
|
||||
/* 8025B61C 80 9F 00 B4 */ lwz r4, 0xb4(r31)
|
||||
/* 8025B620 4B DC 50 2D */ bl fpcBs_Is_JustOfType__Fii
|
||||
/* 8025B624 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025B628 41 82 00 0C */ beq lbl_8025B634
|
||||
/* 8025B62C 80 7F 00 C8 */ lwz r3, 0xc8(r31)
|
||||
/* 8025B630 48 00 00 08 */ b lbl_8025B638
|
||||
lbl_8025B634:
|
||||
/* 8025B634 38 60 FF FF */ li r3, -1
|
||||
lbl_8025B638:
|
||||
/* 8025B638 4B FF FB 5D */ bl isCreating__FUi
|
||||
/* 8025B63C 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 8025B640 41 82 00 10 */ beq lbl_8025B650
|
||||
/* 8025B644 38 00 00 02 */ li r0, 2
|
||||
/* 8025B648 98 0D 8B A5 */ stb r0, pauseTimer__9dScnPly_c+0x1(r13)
|
||||
/* 8025B64C 48 00 00 0C */ b lbl_8025B658
|
||||
lbl_8025B650:
|
||||
/* 8025B650 38 00 00 00 */ li r0, 0
|
||||
/* 8025B654 98 1F 01 D5 */ stb r0, 0x1d5(r31)
|
||||
lbl_8025B658:
|
||||
/* 8025B658 38 60 00 01 */ li r3, 1
|
||||
/* 8025B65C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8025B660 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 8025B664 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8025B668 7C 08 03 A6 */ mtlr r0
|
||||
/* 8025B66C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8025B670 4E 80 00 20 */ blr
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
lbl_8025AE24:
|
||||
/* 8025AE24 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 8025AE28 7C 08 02 A6 */ mflr r0
|
||||
/* 8025AE2C 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 8025AE30 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 8025AE34 48 10 73 99 */ bl _savegpr_25
|
||||
/* 8025AE38 7C 79 1B 78 */ mr r25, r3
|
||||
/* 8025AE3C 7C 9A 23 78 */ mr r26, r4
|
||||
/* 8025AE40 83 CD 87 EC */ lwz r30, mArcBankName__20dStage_roomControl_c(r13)
|
||||
/* 8025AE44 3B A0 00 00 */ li r29, 0
|
||||
/* 8025AE48 38 00 00 00 */ li r0, 0
|
||||
/* 8025AE4C 90 04 00 00 */ stw r0, 0(r4)
|
||||
/* 8025AE50 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 8025AE54 41 82 00 58 */ beq lbl_8025AEAC
|
||||
/* 8025AE58 83 ED 87 F0 */ lwz r31, mArcBankData__20dStage_roomControl_c(r13)
|
||||
/* 8025AE5C 3B 9F 00 01 */ addi r28, r31, 1
|
||||
/* 8025AE60 3B 60 00 00 */ li r27, 0
|
||||
/* 8025AE64 48 00 00 3C */ b lbl_8025AEA0
|
||||
lbl_8025AE68:
|
||||
/* 8025AE68 88 1C 00 00 */ lbz r0, 0(r28)
|
||||
/* 8025AE6C 7C 00 C8 00 */ cmpw r0, r25
|
||||
/* 8025AE70 40 82 00 28 */ bne lbl_8025AE98
|
||||
/* 8025AE74 38 60 00 00 */ li r3, 0
|
||||
/* 8025AE78 4B DD 1B 05 */ bl getLayerNo__14dComIfG_play_cFi
|
||||
/* 8025AE7C 88 1C 00 01 */ lbz r0, 1(r28)
|
||||
/* 8025AE80 7C 00 18 00 */ cmpw r0, r3
|
||||
/* 8025AE84 40 82 00 14 */ bne lbl_8025AE98
|
||||
/* 8025AE88 3B A0 00 20 */ li r29, 0x20
|
||||
/* 8025AE8C 38 1C 00 02 */ addi r0, r28, 2
|
||||
/* 8025AE90 90 1A 00 00 */ stw r0, 0(r26)
|
||||
/* 8025AE94 48 00 00 18 */ b lbl_8025AEAC
|
||||
lbl_8025AE98:
|
||||
/* 8025AE98 3B 9C 00 22 */ addi r28, r28, 0x22
|
||||
/* 8025AE9C 3B 7B 00 01 */ addi r27, r27, 1
|
||||
lbl_8025AEA0:
|
||||
/* 8025AEA0 88 1F 00 00 */ lbz r0, 0(r31)
|
||||
/* 8025AEA4 7C 1B 00 00 */ cmpw r27, r0
|
||||
/* 8025AEA8 41 80 FF C0 */ blt lbl_8025AE68
|
||||
lbl_8025AEAC:
|
||||
/* 8025AEAC 83 7A 00 00 */ lwz r27, 0(r26)
|
||||
/* 8025AEB0 3B 80 00 00 */ li r28, 0
|
||||
/* 8025AEB4 3C 60 80 3A */ lis r3, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025AEB8 3B E3 A3 88 */ addi r31, r3, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025AEBC 48 00 00 44 */ b lbl_8025AF00
|
||||
lbl_8025AEC0:
|
||||
/* 8025AEC0 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8025AEC4 4B DC 9A 7D */ bl getArcBank__20dStage_roomControl_cFi
|
||||
/* 8025AEC8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8025AECC 88 1B 00 00 */ lbz r0, 0(r27)
|
||||
/* 8025AED0 2C 00 00 FF */ cmpwi r0, 0xff
|
||||
/* 8025AED4 41 82 00 10 */ beq lbl_8025AEE4
|
||||
/* 8025AED8 1C 80 00 0A */ mulli r4, r0, 0xa
|
||||
/* 8025AEDC 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 8025AEE0 7C 9E 22 14 */ add r4, r30, r4
|
||||
lbl_8025AEE4:
|
||||
/* 8025AEE4 48 10 DA B1 */ bl strcmp
|
||||
/* 8025AEE8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025AEEC 41 82 00 0C */ beq lbl_8025AEF8
|
||||
/* 8025AEF0 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8025AEF4 48 00 00 18 */ b lbl_8025AF0C
|
||||
lbl_8025AEF8:
|
||||
/* 8025AEF8 3B 7B 00 01 */ addi r27, r27, 1
|
||||
/* 8025AEFC 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_8025AF00:
|
||||
/* 8025AF00 7C 1C E8 00 */ cmpw r28, r29
|
||||
/* 8025AF04 41 80 FF BC */ blt lbl_8025AEC0
|
||||
/* 8025AF08 7F A3 EB 78 */ mr r3, r29
|
||||
lbl_8025AF0C:
|
||||
/* 8025AF0C 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 8025AF10 48 10 73 09 */ bl _restgpr_25
|
||||
/* 8025AF14 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 8025AF18 7C 08 03 A6 */ mtlr r0
|
||||
/* 8025AF1C 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 8025AF20 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_8025B174:
|
||||
/* 8025B174 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 8025B178 80 A3 00 44 */ lwz r5, 0x44(r3)
|
||||
/* 8025B17C 80 A5 00 0C */ lwz r5, 0xc(r5)
|
||||
/* 8025B180 80 04 00 00 */ lwz r0, 0(r4)
|
||||
/* 8025B184 7C 05 00 40 */ cmplw r5, r0
|
||||
/* 8025B188 4D 82 00 20 */ beqlr
|
||||
/* 8025B18C 38 60 00 00 */ li r3, 0
|
||||
/* 8025B190 4E 80 00 20 */ blr
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
lbl_8025B1D0:
|
||||
/* 8025B1D0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8025B1D4 7C 08 02 A6 */ mflr r0
|
||||
/* 8025B1D8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8025B1DC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8025B1E0 48 10 6F FD */ bl _savegpr_29
|
||||
/* 8025B1E4 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 8025B1E8 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */
|
||||
/* 8025B1EC 88 03 61 94 */ lbz r0, mDemoArcName__20dStage_roomControl_c@l(r3) /* 0x80406194@l */
|
||||
/* 8025B1F0 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8025B1F4 40 82 00 DC */ bne lbl_8025B2D0
|
||||
/* 8025B1F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8025B1FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8025B200 38 63 4E C4 */ addi r3, r3, 0x4ec4
|
||||
/* 8025B204 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8025B208 4B DC 91 7D */ bl getStatusRoomDt__20dStage_roomControl_cFi
|
||||
/* 8025B20C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 8025B210 81 8C 01 40 */ lwz r12, 0x140(r12)
|
||||
/* 8025B214 7D 89 03 A6 */ mtctr r12
|
||||
/* 8025B218 4E 80 04 21 */ bctrl
|
||||
/* 8025B21C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8025B220 41 82 00 B0 */ beq lbl_8025B2D0
|
||||
/* 8025B224 83 E3 00 04 */ lwz r31, 4(r3)
|
||||
/* 8025B228 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 8025B22C 41 82 00 A4 */ beq lbl_8025B2D0
|
||||
/* 8025B230 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8025B234 4B DD 17 49 */ bl getLayerNo__14dComIfG_play_cFi
|
||||
/* 8025B238 1C 03 00 03 */ mulli r0, r3, 3
|
||||
/* 8025B23C 7F DF 00 AE */ lbzx r30, r31, r0
|
||||
/* 8025B240 2C 1E 00 FF */ cmpwi r30, 0xff
|
||||
/* 8025B244 41 82 00 8C */ beq lbl_8025B2D0
|
||||
/* 8025B248 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8025B24C 4B DD 17 31 */ bl getLayerNo__14dComIfG_play_cFi
|
||||
/* 8025B250 1C 03 00 03 */ mulli r0, r3, 3
|
||||
/* 8025B254 7C 7F 02 14 */ add r3, r31, r0
|
||||
/* 8025B258 88 C3 00 01 */ lbz r6, 1(r3)
|
||||
/* 8025B25C 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */
|
||||
/* 8025B260 38 63 61 94 */ addi r3, r3, mDemoArcName__20dStage_roomControl_c@l /* 0x80406194@l */
|
||||
/* 8025B264 3C 80 80 3A */ lis r4, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025B268 38 84 A3 88 */ addi r4, r4, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025B26C 38 84 00 34 */ addi r4, r4, 0x34
|
||||
/* 8025B270 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8025B274 4C C6 31 82 */ crclr 6
|
||||
/* 8025B278 48 10 B2 65 */ bl sprintf
|
||||
/* 8025B27C 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */
|
||||
/* 8025B280 38 63 61 94 */ addi r3, r3, mDemoArcName__20dStage_roomControl_c@l /* 0x80406194@l */
|
||||
/* 8025B284 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8025B288 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8025B28C 3C 84 00 02 */ addis r4, r4, 2
|
||||
/* 8025B290 38 A0 00 80 */ li r5, 0x80
|
||||
/* 8025B294 3C C0 80 3A */ lis r6, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025B298 38 C6 A3 88 */ addi r6, r6, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025B29C 38 C6 00 06 */ addi r6, r6, 6
|
||||
/* 8025B2A0 38 E0 00 00 */ li r7, 0
|
||||
/* 8025B2A4 39 00 00 00 */ li r8, 0
|
||||
/* 8025B2A8 38 84 C2 F8 */ addi r4, r4, -15624
|
||||
/* 8025B2AC 4B DE 0D CD */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap
|
||||
/* 8025B2B0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025B2B4 40 82 00 14 */ bne lbl_8025B2C8
|
||||
/* 8025B2B8 38 00 00 00 */ li r0, 0
|
||||
/* 8025B2BC 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */
|
||||
/* 8025B2C0 98 03 61 94 */ stb r0, mDemoArcName__20dStage_roomControl_c@l(r3) /* 0x80406194@l */
|
||||
/* 8025B2C4 48 00 00 0C */ b lbl_8025B2D0
|
||||
lbl_8025B2C8:
|
||||
/* 8025B2C8 38 60 00 01 */ li r3, 1
|
||||
/* 8025B2CC 48 00 00 08 */ b lbl_8025B2D4
|
||||
lbl_8025B2D0:
|
||||
/* 8025B2D0 38 60 00 00 */ li r3, 0
|
||||
lbl_8025B2D4:
|
||||
/* 8025B2D4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8025B2D8 48 10 6F 51 */ bl _restgpr_29
|
||||
/* 8025B2DC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8025B2E0 7C 08 03 A6 */ mtlr r0
|
||||
/* 8025B2E4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8025B2E8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
lbl_8025AF4C:
|
||||
/* 8025AF4C 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 8025AF50 7C 08 02 A6 */ mflr r0
|
||||
/* 8025AF54 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 8025AF58 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 8025AF5C 48 10 72 79 */ bl _savegpr_27
|
||||
/* 8025AF60 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 8025AF64 4B FF FE C1 */ bl getResetArchiveBank__FiPPCUc
|
||||
/* 8025AF68 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 8025AF6C 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 8025AF70 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8025AF74 40 82 00 0C */ bne lbl_8025AF80
|
||||
/* 8025AF78 38 60 00 01 */ li r3, 1
|
||||
/* 8025AF7C 48 00 01 5C */ b lbl_8025B0D8
|
||||
lbl_8025AF80:
|
||||
/* 8025AF80 83 CD 87 EC */ lwz r30, mArcBankName__20dStage_roomControl_c(r13)
|
||||
/* 8025AF84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8025AF88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8025AF8C 3F A3 00 02 */ addis r29, r3, 2
|
||||
/* 8025AF90 3C 60 80 3A */ lis r3, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025AF94 3B E3 A3 88 */ addi r31, r3, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025AF98 3B BD C2 F8 */ addi r29, r29, -15624
|
||||
/* 8025AF9C 48 00 01 30 */ b lbl_8025B0CC
|
||||
lbl_8025AFA0:
|
||||
/* 8025AFA0 7F FB FB 78 */ mr r27, r31
|
||||
/* 8025AFA4 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 8025AFA8 7C 03 E0 AE */ lbzx r0, r3, r28
|
||||
/* 8025AFAC 2C 00 00 FF */ cmpwi r0, 0xff
|
||||
/* 8025AFB0 41 82 00 10 */ beq lbl_8025AFC0
|
||||
/* 8025AFB4 1C 60 00 0A */ mulli r3, r0, 0xa
|
||||
/* 8025AFB8 3B 63 00 01 */ addi r27, r3, 1
|
||||
/* 8025AFBC 7F 7E DA 14 */ add r27, r30, r27
|
||||
lbl_8025AFC0:
|
||||
/* 8025AFC0 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8025AFC4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8025AFC8 48 10 D9 CD */ bl strcmp
|
||||
/* 8025AFCC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025AFD0 41 82 00 EC */ beq lbl_8025B0BC
|
||||
/* 8025AFD4 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8025AFD8 3C 80 80 3A */ lis r4, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025AFDC 38 84 A3 88 */ addi r4, r4, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025AFE0 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 8025AFE4 38 A0 00 04 */ li r5, 4
|
||||
/* 8025AFE8 48 11 1A 8D */ bl strnicmp
|
||||
/* 8025AFEC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025AFF0 40 82 00 80 */ bne lbl_8025B070
|
||||
/* 8025AFF4 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8025AFF8 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8025AFFC 38 A0 00 80 */ li r5, 0x80
|
||||
/* 8025B000 4B DE 11 61 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci
|
||||
/* 8025B004 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025B008 40 80 00 5C */ bge lbl_8025B064
|
||||
/* 8025B00C 4B DB 3D E1 */ bl mDoExt_getArchiveHeap__Fv
|
||||
/* 8025B010 7C 68 1B 78 */ mr r8, r3
|
||||
/* 8025B014 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8025B018 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8025B01C 38 A0 00 80 */ li r5, 0x80
|
||||
/* 8025B020 3C C0 80 3A */ lis r6, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025B024 38 C6 A3 88 */ addi r6, r6, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025B028 38 C6 00 06 */ addi r6, r6, 6
|
||||
/* 8025B02C 38 E0 00 00 */ li r7, 0
|
||||
/* 8025B030 4B DE 10 49 */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap
|
||||
/* 8025B034 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025B038 40 82 00 24 */ bne lbl_8025B05C
|
||||
/* 8025B03C 3C 60 80 3A */ lis r3, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025B040 38 63 A3 88 */ addi r3, r3, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025B044 38 63 00 13 */ addi r3, r3, 0x13
|
||||
/* 8025B048 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8025B04C 7F 65 DB 78 */ mr r5, r27
|
||||
/* 8025B050 4C C6 31 82 */ crclr 6
|
||||
/* 8025B054 4B DA BB B9 */ bl OSReport_Error
|
||||
/* 8025B058 48 00 00 64 */ b lbl_8025B0BC
|
||||
lbl_8025B05C:
|
||||
/* 8025B05C 38 60 00 00 */ li r3, 0
|
||||
/* 8025B060 48 00 00 78 */ b lbl_8025B0D8
|
||||
lbl_8025B064:
|
||||
/* 8025B064 41 82 00 58 */ beq lbl_8025B0BC
|
||||
/* 8025B068 38 60 00 00 */ li r3, 0
|
||||
/* 8025B06C 48 00 00 6C */ b lbl_8025B0D8
|
||||
lbl_8025B070:
|
||||
/* 8025B070 4B DB 3D 7D */ bl mDoExt_getArchiveHeap__Fv
|
||||
/* 8025B074 7C 68 1B 78 */ mr r8, r3
|
||||
/* 8025B078 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8025B07C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8025B080 38 A0 00 80 */ li r5, 0x80
|
||||
/* 8025B084 3C C0 80 3A */ lis r6, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025B088 38 C6 A3 88 */ addi r6, r6, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025B08C 38 C6 00 06 */ addi r6, r6, 6
|
||||
/* 8025B090 38 E0 00 00 */ li r7, 0
|
||||
/* 8025B094 4B DE 0F E5 */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap
|
||||
/* 8025B098 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8025B09C 40 82 00 20 */ bne lbl_8025B0BC
|
||||
/* 8025B0A0 3C 60 80 3A */ lis r3, d_s_d_s_room__stringBase0@ha /* 0x8039A388@ha */
|
||||
/* 8025B0A4 38 63 A3 88 */ addi r3, r3, d_s_d_s_room__stringBase0@l /* 0x8039A388@l */
|
||||
/* 8025B0A8 38 63 00 13 */ addi r3, r3, 0x13
|
||||
/* 8025B0AC 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8025B0B0 7F 65 DB 78 */ mr r5, r27
|
||||
/* 8025B0B4 4C C6 31 82 */ crclr 6
|
||||
/* 8025B0B8 4B DA BB 55 */ bl OSReport_Error
|
||||
lbl_8025B0BC:
|
||||
/* 8025B0BC 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8025B0C0 7F 64 DB 78 */ mr r4, r27
|
||||
/* 8025B0C4 4B DC 98 49 */ bl setArcBank__20dStage_roomControl_cFiPCc
|
||||
/* 8025B0C8 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_8025B0CC:
|
||||
/* 8025B0CC 2C 1C 00 20 */ cmpwi r28, 0x20
|
||||
/* 8025B0D0 41 80 FE D0 */ blt lbl_8025AFA0
|
||||
/* 8025B0D4 38 60 00 01 */ li r3, 1
|
||||
lbl_8025B0D8:
|
||||
/* 8025B0D8 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 8025B0DC 48 10 71 45 */ bl _restgpr_27
|
||||
/* 8025B0E0 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 8025B0E4 7C 08 03 A6 */ mtlr r0
|
||||
/* 8025B0E8 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 8025B0EC 4E 80 00 20 */ blr
|
||||
|
|
@ -301,7 +301,8 @@ struct dStage_FloorInfo_c {
|
|||
|
||||
class dStage_Lbnk_dt_c {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x2 - 0x0];
|
||||
/* 0x0 */ u8 bank;
|
||||
/* 0x1 */ u8 bank2;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
};
|
||||
|
||||
|
|
@ -779,6 +780,17 @@ public:
|
|||
/* 0x1 */ char m_names[32][10]; // ?
|
||||
};
|
||||
|
||||
struct bankDataEntry {
|
||||
u8 field_0x0;
|
||||
u8 mLayerNo;
|
||||
u8 field_0x2[0x20];
|
||||
};
|
||||
|
||||
struct bankData {
|
||||
/* 0x0 */ u8 m_num;
|
||||
/* 0x1 */ bankDataEntry m_entries[32]; // ?
|
||||
};
|
||||
|
||||
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(); }
|
||||
|
|
@ -813,7 +825,8 @@ public:
|
|||
return mStatus[i_roomNo].mRoomDt.mFileList2Info;
|
||||
}
|
||||
static char* getDemoArcName() { return mDemoArcName; }
|
||||
static char* getArcBankName() { return mArcBankName; }
|
||||
static nameData* getArcBankName() { return mArcBankName; }
|
||||
static bankData* getArcBankData() { return mArcBankData; }
|
||||
static void setRoomReadId(s8 id) { data_804505F0 = id; }
|
||||
static s8 getRoomReadId() { return data_804505F0; }
|
||||
static void offNoChangeRoom() { mNoChangeRoom = false; }
|
||||
|
|
@ -851,8 +864,8 @@ public:
|
|||
static dStage_roomStatus_c mStatus[0x40];
|
||||
static char mDemoArcName[10];
|
||||
static u32 mProcID;
|
||||
static char* mArcBankName;
|
||||
static char* mArcBankData;
|
||||
static nameData* mArcBankName;
|
||||
static bankData* mArcBankData;
|
||||
static roomDzs_c m_roomDzs;
|
||||
static s8 mStayNo;
|
||||
static s8 mOldStayNo;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,19 @@
|
|||
#ifndef D_S_D_S_ROOM_H
|
||||
#define D_S_D_S_ROOM_H
|
||||
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
|
||||
class dStage_roomDt_c;
|
||||
|
||||
class room_of_scene_class : public scene_class {
|
||||
public:
|
||||
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
|
||||
/* 0x1CC */ void* mpDzrRes;
|
||||
/* 0x1D0 */ dStage_roomDt_c* mpRoomDt;
|
||||
/* 0x1D4 */ s8 field_0x1d4;
|
||||
/* 0x1D5 */ u8 field_0x1d5;
|
||||
/* 0x1D6 */ u8 field_0x1d6[2];
|
||||
/* 0x1D8 */ u8 field_0x1d8;
|
||||
};
|
||||
|
||||
#endif /* D_S_D_S_ROOM_H */
|
||||
|
|
|
|||
|
|
@ -538,8 +538,8 @@ void dStage_roomControl_c::init() {
|
|||
status++;
|
||||
}
|
||||
|
||||
mArcBankName = (char*)dComIfG_getStageRes("name.bin");
|
||||
mArcBankData = (char*)dComIfG_getStageRes("bank.bin");
|
||||
mArcBankName = (dStage_roomControl_c::nameData*)dComIfG_getStageRes("name.bin");
|
||||
mArcBankData = (dStage_roomControl_c::bankData*)dComIfG_getStageRes("bank.bin");
|
||||
|
||||
if (mArcBankName == NULL) {
|
||||
mArcBankData = NULL;
|
||||
|
|
@ -1867,10 +1867,10 @@ s8 dStage_roomControl_c::m_time_pass;
|
|||
u8 dStage_roomControl_c::mNoChangeRoom;
|
||||
|
||||
/* 80450D6C-80450D70 00026C 0004+00 1/1 2/2 0/0 .sbss mArcBankName__20dStage_roomControl_c */
|
||||
char* dStage_roomControl_c::mArcBankName;
|
||||
dStage_roomControl_c::nameData* dStage_roomControl_c::mArcBankName;
|
||||
|
||||
/* 80450D70-80450D74 000270 0004+00 1/1 1/1 0/0 .sbss mArcBankData__20dStage_roomControl_c */
|
||||
char* dStage_roomControl_c::mArcBankData;
|
||||
dStage_roomControl_c::bankData* dStage_roomControl_c::mArcBankData;
|
||||
|
||||
/* 80024EFC-80024F98 01F83C 009C+00 7/7 0/0 0/0 .text
|
||||
* dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/s/d_s_room
|
||||
// d_s_room
|
||||
//
|
||||
|
||||
#include "d/s/d_s_room.h"
|
||||
|
|
@ -9,138 +8,48 @@
|
|||
#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/os/OS.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
#include "m_Do/m_Do_Reset.h"
|
||||
|
||||
static bool resetArchiveBank(int param_0);
|
||||
static bool setArchiveBank(int param_0);
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
class room_of_scene_class : public scene_class {
|
||||
public:
|
||||
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
|
||||
/* 0x1CC */ void* mpDzrRes;
|
||||
/* 0x1D0 */ dStage_roomDt_c* mpRoomDt;
|
||||
/* 0x1D4 */ s8 field_0x1d4;
|
||||
/* 0x1D5 */ u8 field_0x1d5;
|
||||
/* 0x1D6 */ u8 field_0x1d6[2];
|
||||
/* 0x1D8 */ u8 field_0x1d8;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static bool dScnRoom_Draw__FP19room_of_scene_class();
|
||||
extern "C" static void getResetArchiveBank__FiPPCUc();
|
||||
extern "C" static void resetArchiveBank__Fi();
|
||||
extern "C" static void setArchiveBank__Fi();
|
||||
extern "C" static void objectDeleteJugge__FPvPv();
|
||||
extern "C" static void deleteJugge__FPvPv();
|
||||
extern "C" static void isCreatingCallback__FP10create_tagPUi();
|
||||
extern "C" static void isCreating__FUi();
|
||||
extern "C" static void loadDemoArchive__Fi();
|
||||
extern "C" static void objectSetCheck__FP19room_of_scene_class();
|
||||
extern "C" static void dScnRoom_Execute__FP19room_of_scene_class();
|
||||
extern "C" static bool dScnRoom_IsDelete__FP19room_of_scene_class();
|
||||
extern "C" static void isReadRoom__Fi();
|
||||
extern "C" static void dScnRoom_Delete__FP19room_of_scene_class();
|
||||
extern "C" static void phase_0__FP19room_of_scene_class();
|
||||
extern "C" static void phase_1__FP19room_of_scene_class();
|
||||
extern "C" static void phase_2__FP19room_of_scene_class();
|
||||
extern "C" void setZoneNo__20dStage_roomControl_cFii();
|
||||
extern "C" static void phase_3__FP19room_of_scene_class();
|
||||
extern "C" static void phase_4__FP19room_of_scene_class();
|
||||
extern "C" static void dScnRoom_Create__FP11scene_class();
|
||||
extern "C" extern char const* const d_s_d_s_room__stringBase0;
|
||||
extern "C" extern void* g_profile_ROOM_SCENE[10];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getArchiveHeap__Fv();
|
||||
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
|
||||
extern "C" void fopScnM_DeleteReq__FP11scene_class();
|
||||
extern "C" void fpcBs_Is_JustOfType__Fii();
|
||||
extern "C" void fpcCtIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void fpcLyIt_Judge__FP11layer_classPFPvPv_PvPv();
|
||||
extern "C" void fpcM_Delete__FPv();
|
||||
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
|
||||
extern "C" void getMemoryBlock__20dStage_roomControl_cFi();
|
||||
extern "C" void setArcBank__20dStage_roomControl_cFiPCc();
|
||||
extern "C" void getArcBank__20dStage_roomControl_cFi();
|
||||
extern "C" void resetArchiveBank__20dStage_roomControl_cFi();
|
||||
extern "C" void dStage_dt_c_roomLoader__FPvP11dStage_dt_ci();
|
||||
extern "C" void dStage_dt_c_roomReLoader__FPvP11dStage_dt_ci();
|
||||
extern "C" void getLayerNo__14dComIfG_play_cFi();
|
||||
extern "C" void getZoneNo__20dStage_roomControl_cFi();
|
||||
extern "C" void dComIfG_getRoomArcName__Fi();
|
||||
extern "C" void dComIfGp_ret_wp_set__FSc();
|
||||
extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
|
||||
extern "C" void clearRoomSwitch__13dSv_zoneBit_cFv();
|
||||
extern "C" void clearRoomItem__13dSv_zoneBit_cFv();
|
||||
extern "C" void createZone__10dSv_info_cFi();
|
||||
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
|
||||
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void setStageRes__14dRes_control_cFPCcP7JKRHeap();
|
||||
extern "C" void demoInit__16dEvent_manager_cFv();
|
||||
extern "C" void roomInit__16dEvent_manager_cFi();
|
||||
extern "C" void roomFinish__16dEvent_manager_cFi();
|
||||
extern "C" void allForceOnEventMove__Q213dPa_control_c7level_cFv();
|
||||
extern "C" void freeAll__7JKRHeapFv();
|
||||
extern "C" void getTotalUsedSize__10JKRExpHeapCFv();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
// extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */];
|
||||
// extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */];
|
||||
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
|
||||
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];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8025AE1C-8025AE24 25575C 0008+00 1/0 0/0 0/0 .text dScnRoom_Draw__FP19room_of_scene_class */
|
||||
static int dScnRoom_Draw(room_of_scene_class* i_this) {
|
||||
return 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_8039A388 = "";
|
||||
#pragma pop
|
||||
|
||||
/* 8025AE24-8025AF24 255764 0100+00 2/2 0/0 0/0 .text getResetArchiveBank__FiPPCUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int getResetArchiveBank(int param_0, u8 const** param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/s/d_s_room/getResetArchiveBank__FiPPCUc.s"
|
||||
static int getResetArchiveBank(int param_1, u8 const** param_2) {
|
||||
dStage_roomControl_c::nameData* arcBankName = dStage_roomControl_c::getArcBankName();
|
||||
int local_30 = 0;
|
||||
*param_2 = NULL;
|
||||
if (arcBankName != NULL) {
|
||||
dStage_roomControl_c::bankData* arcBankData = dStage_roomControl_c::getArcBankData();
|
||||
dStage_roomControl_c::bankDataEntry* entries = arcBankData->m_entries;
|
||||
for (int i = 0; i < arcBankData->m_num; entries++, i++) {
|
||||
if (entries->field_0x0 == param_1) {
|
||||
if (entries->mLayerNo == dComIfG_play_c::getLayerNo(0)) {
|
||||
local_30 = 0x20;
|
||||
*param_2 = entries->field_0x2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
u8 const* pbVar1 = *param_2;
|
||||
for (int i = 0; i < local_30; pbVar1++, i++) {
|
||||
char* arcBank = dStage_roomControl_c::getArcBank(i);
|
||||
char* name = "";
|
||||
int id = *pbVar1;
|
||||
if (id != 0xff) {
|
||||
JUT_ASSERT(160, 0 <= id && id < arcBankName->m_num);
|
||||
name = arcBankName->m_names[id];
|
||||
}
|
||||
if (strcmp(arcBank, name) != 0) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return local_30;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025AF24-8025AF4C 255864 0028+00 1/1 0/0 0/0 .text resetArchiveBank__Fi */
|
||||
static bool resetArchiveBank(int param_0) {
|
||||
|
|
@ -148,24 +57,43 @@ static bool resetArchiveBank(int param_0) {
|
|||
return dStage_roomControl_c::resetArchiveBank(getResetArchiveBank(param_0, &tmp));
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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_8039A389 = "pack";
|
||||
SECTION_DEAD static char const* const stringBase_8039A38E = "/res/Object/";
|
||||
SECTION_DEAD static char const* const stringBase_8039A39B = "Bank[%d] : %s.arc Read Error !!\n";
|
||||
#pragma pop
|
||||
|
||||
/* 8025AF4C-8025B0F0 25588C 01A4+00 1/1 0/0 0/0 .text setArchiveBank__Fi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm bool setArchiveBank(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/s/d_s_room/setArchiveBank__Fi.s"
|
||||
static bool setArchiveBank(int param_0) {
|
||||
u8* arr[4];
|
||||
int iVar1 = getResetArchiveBank(param_0, (u8 const**)&arr);
|
||||
if (arr[0] == NULL) {
|
||||
return true;
|
||||
}
|
||||
dStage_roomControl_c::nameData* arcBankName = dStage_roomControl_c::getArcBankName();
|
||||
for (; (int)iVar1 < 0x20; iVar1++) {
|
||||
const char* name = "";
|
||||
int id = arr[0][iVar1];
|
||||
if (id != 0xff) {
|
||||
JUT_ASSERT(216, 0 <= id && id < arcBankName->m_num);
|
||||
name = arcBankName->m_names[id];
|
||||
}
|
||||
if (strcmp(name, "") != 0) {
|
||||
if (strnicmp(name, "pack", 4) == 0) {
|
||||
int syncres = dComIfG_syncObjectRes(name);
|
||||
if (syncres < 0) {
|
||||
if (!dComIfG_setObjectRes(name, 0, mDoExt_getArchiveHeap())) {
|
||||
OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", iVar1, name);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else if (syncres != 0) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!dComIfG_setObjectRes(name, 0, mDoExt_getArchiveHeap())) {
|
||||
OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", iVar1, name);
|
||||
}
|
||||
}
|
||||
}
|
||||
dStage_roomControl_c::setArcBank(iVar1, name);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025B0F0-8025B150 255A30 0060+00 1/1 0/0 0/0 .text objectDeleteJugge__FPvPv */
|
||||
static int objectDeleteJugge(void* i_obj, void*) {
|
||||
|
|
@ -186,36 +114,43 @@ static int deleteJugge(void* i_obj, void*) {
|
|||
}
|
||||
|
||||
/* 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) {
|
||||
nofralloc
|
||||
#include "asm/d/s/d_s_room/isCreatingCallback__FP10create_tagPUi.s"
|
||||
static void* isCreatingCallback(create_tag* param_1, unsigned int* param_2) {
|
||||
void* tagData = param_1->mBase.mpTagData;
|
||||
if (*(*((int**)tagData + 0x11) + 3) == *param_2) {
|
||||
return tagData;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025B194-8025B1D0 255AD4 003C+00 2/2 0/0 0/0 .text isCreating__FUi */
|
||||
static bool isCreating(unsigned int param_0) {
|
||||
return fpcCtIt_Judge((fpcCtIt_JudgeFunc)isCreatingCallback, ¶m_0);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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_8039A3BC = "Demo%02d_%02d";
|
||||
#pragma pop
|
||||
|
||||
/* 8025B1D0-8025B2EC 255B10 011C+00 1/1 0/0 0/0 .text loadDemoArchive__Fi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void loadDemoArchive(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/s/d_s_room/loadDemoArchive__Fi.s"
|
||||
static int loadDemoArchive(int room_no) {
|
||||
if (*dStage_roomControl_c::getDemoArcName() == 0) {
|
||||
dStage_Lbnk_c* lbnk = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getLbnk();
|
||||
if (lbnk != NULL) {
|
||||
dStage_Lbnk_dt_c* entries = lbnk->entries;
|
||||
if (entries != NULL) {
|
||||
int bank = entries[dComIfG_play_c::getLayerNo(room_no)].bank;
|
||||
if (bank != 0xff) {
|
||||
JUT_ASSERT(350, 0 <= bank && bank < 100);
|
||||
u8 bank2 = entries[dComIfG_play_c::getLayerNo(room_no)].bank2;
|
||||
JUT_ASSERT(353, 0 <= bank2 && bank2 < 100);
|
||||
sprintf(dStage_roomControl_c::getDemoArcName(), "Demo%02d_%02d", bank, bank2);
|
||||
if (!dComIfG_setObjectRes(dStage_roomControl_c::getDemoArcName(), 0, (JKRHeap*)NULL)) {
|
||||
*dStage_roomControl_c::getDemoArcName() = 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025B2EC-8025B564 255C2C 0278+00 3/3 0/0 0/0 .text objectSetCheck__FP19room_of_scene_class */
|
||||
static bool objectSetCheck(room_of_scene_class* i_this) {
|
||||
|
|
@ -277,12 +212,12 @@ static bool objectSetCheck(room_of_scene_class* i_this) {
|
|||
}
|
||||
|
||||
/* 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);
|
||||
u32 flag = g_dComIfG_gameInfo.play.getRoomControl()->mStatus[roomNo].mFlag;
|
||||
if (flag & 2) {
|
||||
dComIfGp_roomControl_setStatusFlag(roomNo, flag & ~2);
|
||||
dComIfGp_roomControl_onStatusFlag(roomNo, 1);
|
||||
} else if (objectSetCheck(i_this)) {
|
||||
if (dComIfGp_roomControl_checkStatusFlag(roomNo, 4)) {
|
||||
|
|
@ -291,7 +226,7 @@ static int dScnRoom_Execute(room_of_scene_class* i_this) {
|
|||
!i_dComIfGp_event_runCheck() &&
|
||||
(int)fopScnM_GetParam(i_this) == dComIfGp_roomControl_getStayNo()) {
|
||||
if (isCreating(fpcM_LayerID(i_this))) {
|
||||
dScnPly_c::setPauseTimer(2);
|
||||
dScnPly_c::nextPauseTimer = 2;
|
||||
} else {
|
||||
i_this->field_0x1d5 = 0;
|
||||
}
|
||||
|
|
@ -300,16 +235,6 @@ static int dScnRoom_Execute(room_of_scene_class* i_this) {
|
|||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
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
|
||||
*/
|
||||
|
|
@ -478,16 +403,22 @@ static int dScnRoom_Create(scene_class* i_this) {
|
|||
|
||||
/* ############################################################################################## */
|
||||
/* 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, (void*)dScnRoom_Delete, (void*)dScnRoom_Execute,
|
||||
(void*)dScnRoom_IsDelete, (void*)dScnRoom_Draw,
|
||||
static leafdraw_method_class l_dScnRoom_Method = {
|
||||
(process_method_func)dScnRoom_Create, (process_method_func)dScnRoom_Delete, (process_method_func)dScnRoom_Execute,
|
||||
(process_method_func)dScnRoom_IsDelete, (process_method_func)dScnRoom_Draw,
|
||||
};
|
||||
|
||||
/* 803C3288-803C32B0 -00001 0028+00 0/0 0/0 1/0 .data g_profile_ROOM_SCENE */
|
||||
SECTION_DATA extern void* g_profile_ROOM_SCENE[10] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0000FFFD, (void*)0x00120000, (void*)&g_fpcNd_Method,
|
||||
(void*)0x000001DC, (void*)NULL, (void*)NULL, (void*)&g_fopScn_Method,
|
||||
(void*)&l_dScnRoom_Method, (void*)NULL,
|
||||
scene_process_profile_definition g_profile_ROOM_SCENE = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
0, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_ROOM_SCENE, // mProcName
|
||||
&g_fpcNd_Method.mBase, // mSubMtd
|
||||
sizeof(room_of_scene_class), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopScn_Method.mBase, // mSubMtd
|
||||
(process_method_class*)&l_dScnRoom_Method, // mpMtd
|
||||
};
|
||||
|
||||
/* 8039A388-8039A388 0269E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "SSystem/SComponent/c_malloc.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/meter/d_meter2.h"
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
|
|
|
|||
|
|
@ -9,7 +9,13 @@
|
|||
#include "JSystem/JUtility/JUTDbPrint.h"
|
||||
#include "JSystem/JUtility/JUTException.h"
|
||||
#include "JSystem/JUtility/JUTVideo.h"
|
||||
#include "JSystem/JKernel/JKRAramStream.h"
|
||||
#include "JSystem/JKernel/JKRDvdRipper.h"
|
||||
#include "JSystem/JKernel/JKRDvdAramRipper.h"
|
||||
#include "JSystem/JKernel/JKRAram.h"
|
||||
#include "SSystem/SComponent/c_API_controller_pad.h"
|
||||
#include "SSystem/SComponent/c_malloc.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/os/OS.h"
|
||||
#include "m_Do/m_Do_DVDError.h"
|
||||
|
|
|
|||
Loading…
Reference in New Issue