Merge branch 'zeldaret:master' into master

This commit is contained in:
Trueffel
2023-06-20 16:25:57 +02:00
committed by GitHub
93 changed files with 1522 additions and 4092 deletions
+7 -7
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 | 27.417543% | 986084 | 3596544
.text | 27.698035% | 996172 | 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 | 35.069262% | 1410020 | 4020672
Total | 35.320165% | 1420108 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 35.069262% | 1410020 | 4020672
RELs | 33.649382% | 3869788 | 11500324
Total | 34.017198% | 5279808 | 15520996
main.dol | 35.320165% | 1420108 | 4020672
RELs | 33.653313% | 3870240 | 11500324
Total | 34.085106% | 5290348 | 15520996
## RELs
@@ -707,7 +707,7 @@ d_a_tag_CstaSw | 100.000000% | 2560 | 2560
d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904
d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296
d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848
d_a_tag_TWgate | 53.384834% | 10504 | 19676
d_a_tag_TWgate | 55.682049% | 10956 | 19676
d_a_tag_ajnot | 100.000000% | 1232 | 1232
d_a_tag_allmato | 30.234070% | 3720 | 12304
d_a_tag_arena | 100.000000% | 712 | 712
@@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.649382% | 3869788 | 11500324
Total | 33.653313% | 3870240 | 11500324
@@ -1,25 +0,0 @@
lbl_8014DA64:
/* 8014DA64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8014DA68 7C 08 02 A6 */ mflr r0
/* 8014DA6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8014DA70 7C 68 1B 78 */ mr r8, r3
/* 8014DA74 C0 04 00 00 */ lfs f0, 0(r4)
/* 8014DA78 D0 01 00 08 */ stfs f0, 8(r1)
/* 8014DA7C C0 04 00 04 */ lfs f0, 4(r4)
/* 8014DA80 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8014DA84 C0 04 00 08 */ lfs f0, 8(r4)
/* 8014DA88 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8014DA8C 80 C3 00 04 */ lwz r6, 4(r3)
/* 8014DA90 88 06 00 05 */ lbz r0, 5(r6)
/* 8014DA94 54 07 07 FE */ clrlwi r7, r0, 0x1f
/* 8014DA98 38 61 00 08 */ addi r3, r1, 8
/* 8014DA9C 80 86 00 08 */ lwz r4, 8(r6)
/* 8014DAA0 A0 A8 0A 10 */ lhz r5, 0xa10(r8)
/* 8014DAA4 A0 C6 00 00 */ lhz r6, 0(r6)
/* 8014DAA8 89 08 0A 12 */ lbz r8, 0xa12(r8)
/* 8014DAAC 7D 08 07 74 */ extsb r8, r8
/* 8014DAB0 48 00 20 79 */ bl daBaseNpc_chkPnt__F4cXyzP4dPntUsUsii
/* 8014DAB4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8014DAB8 7C 08 03 A6 */ mtlr r0
/* 8014DABC 38 21 00 20 */ addi r1, r1, 0x20
/* 8014DAC0 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
lbl_801493B8:
/* 801493B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801493BC 7C 08 02 A6 */ mflr r0
/* 801493C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 801493C4 39 61 00 20 */ addi r11, r1, 0x20
/* 801493C8 48 21 8E 0D */ bl _savegpr_27
/* 801493CC 7C 7E 1B 78 */ mr r30, r3
/* 801493D0 7C 9B 23 78 */ mr r27, r4
/* 801493D4 7C BC 2B 78 */ mr r28, r5
/* 801493D8 7C DD 33 78 */ mr r29, r6
/* 801493DC 7C FF 3B 79 */ or. r31, r7, r7
/* 801493E0 38 00 FF FF */ li r0, -1
/* 801493E4 90 04 00 00 */ stw r0, 0(r4)
/* 801493E8 90 05 00 00 */ stw r0, 0(r5)
/* 801493EC 40 82 00 1C */ bne lbl_80149408
/* 801493F0 A0 1E 00 F8 */ lhz r0, 0xf8(r30)
/* 801493F4 28 00 00 01 */ cmplwi r0, 1
/* 801493F8 41 82 00 10 */ beq lbl_80149408
/* 801493FC 80 1E 0D AC */ lwz r0, 0xdac(r30)
/* 80149400 2C 00 FF FF */ cmpwi r0, -1
/* 80149404 41 82 00 EC */ beq lbl_801494F0
lbl_80149408:
/* 80149408 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8014940C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80149410 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 80149414 80 84 4F 94 */ lwz r4, 0x4f94(r4)
/* 80149418 4B EF 9E D5 */ bl convPId__14dEvt_control_cFUi
/* 8014941C 7C 03 E8 40 */ cmplw r3, r29
/* 80149420 40 82 00 B4 */ bne lbl_801494D4
/* 80149424 48 0E ED 79 */ bl getActor__12dMsgObject_cFv
/* 80149428 A0 03 00 F8 */ lhz r0, 0xf8(r3)
/* 8014942C 28 00 00 02 */ cmplwi r0, 2
/* 80149430 41 82 00 0C */ beq lbl_8014943C
/* 80149434 28 00 00 03 */ cmplwi r0, 3
/* 80149438 40 82 00 10 */ bne lbl_80149448
lbl_8014943C:
/* 8014943C 38 00 FF FF */ li r0, -1
/* 80149440 90 1E 0D 9C */ stw r0, 0xd9c(r30)
/* 80149444 48 00 00 AC */ b lbl_801494F0
lbl_80149448:
/* 80149448 28 00 00 06 */ cmplwi r0, 6
/* 8014944C 40 82 00 68 */ bne lbl_801494B4
/* 80149450 80 83 00 EC */ lwz r4, 0xec(r3)
/* 80149454 80 1E 0D 9C */ lwz r0, 0xd9c(r30)
/* 80149458 7C 04 00 40 */ cmplw r4, r0
/* 8014945C 41 82 00 24 */ beq lbl_80149480
/* 80149460 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80149464 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80149468 88 04 5E 7B */ lbz r0, 0x5e7b(r4)
/* 8014946C 90 1B 00 00 */ stw r0, 0(r27)
/* 80149470 88 04 5E 7A */ lbz r0, 0x5e7a(r4)
/* 80149474 90 1C 00 00 */ stw r0, 0(r28)
/* 80149478 80 03 00 EC */ lwz r0, 0xec(r3)
/* 8014947C 90 1E 0D 9C */ stw r0, 0xd9c(r30)
lbl_80149480:
/* 80149480 48 0E EF 25 */ bl isMouthCheck__12dMsgObject_cFv
/* 80149484 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80149488 41 82 00 14 */ beq lbl_8014949C
/* 8014948C 80 1E 0D 98 */ lwz r0, 0xd98(r30)
/* 80149490 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 80149494 90 1E 0D 98 */ stw r0, 0xd98(r30)
/* 80149498 48 00 00 10 */ b lbl_801494A8
lbl_8014949C:
/* 8014949C 80 1E 0D 98 */ lwz r0, 0xd98(r30)
/* 801494A0 60 00 40 00 */ ori r0, r0, 0x4000
/* 801494A4 90 1E 0D 98 */ stw r0, 0xd98(r30)
lbl_801494A8:
/* 801494A8 38 00 00 14 */ li r0, 0x14
/* 801494AC 90 1E 0D B4 */ stw r0, 0xdb4(r30)
/* 801494B0 48 00 00 40 */ b lbl_801494F0
lbl_801494B4:
/* 801494B4 80 7E 0D 98 */ lwz r3, 0xd98(r30)
/* 801494B8 54 60 04 63 */ rlwinm. r0, r3, 0, 0x11, 0x11
/* 801494BC 41 82 00 0C */ beq lbl_801494C8
/* 801494C0 54 60 04 A0 */ rlwinm r0, r3, 0, 0x12, 0x10
/* 801494C4 90 1E 0D 98 */ stw r0, 0xd98(r30)
lbl_801494C8:
/* 801494C8 38 00 FF FF */ li r0, -1
/* 801494CC 90 1E 0D 9C */ stw r0, 0xd9c(r30)
/* 801494D0 48 00 00 20 */ b lbl_801494F0
lbl_801494D4:
/* 801494D4 38 00 FF FF */ li r0, -1
/* 801494D8 90 1E 0D 9C */ stw r0, 0xd9c(r30)
/* 801494DC 80 1E 0D B4 */ lwz r0, 0xdb4(r30)
/* 801494E0 2C 00 00 00 */ cmpwi r0, 0
/* 801494E4 41 82 00 0C */ beq lbl_801494F0
/* 801494E8 38 00 00 01 */ li r0, 1
/* 801494EC 90 1E 0D B4 */ stw r0, 0xdb4(r30)
lbl_801494F0:
/* 801494F0 2C 1F 00 00 */ cmpwi r31, 0
/* 801494F4 40 82 00 0C */ bne lbl_80149500
/* 801494F8 38 7E 0D B4 */ addi r3, r30, 0xdb4
/* 801494FC 48 00 3E 4D */ bl func_8014D348
lbl_80149500:
/* 80149500 80 7E 0D B4 */ lwz r3, 0xdb4(r30)
/* 80149504 39 61 00 20 */ addi r11, r1, 0x20
/* 80149508 48 21 8D 19 */ bl _restgpr_27
/* 8014950C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80149510 7C 08 03 A6 */ mtlr r0
/* 80149514 38 21 00 20 */ addi r1, r1, 0x20
/* 80149518 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_8014D538:
/* 8014D538 A0 E5 00 00 */ lhz r7, 0(r5)
/* 8014D53C 39 00 00 00 */ li r8, 0
/* 8014D540 7C E7 1A 14 */ add r7, r7, r3
/* 8014D544 7C 04 38 00 */ cmpw r4, r7
/* 8014D548 41 81 00 30 */ bgt lbl_8014D578
/* 8014D54C 2C 06 00 00 */ cmpwi r6, 0
/* 8014D550 41 82 00 14 */ beq lbl_8014D564
/* 8014D554 7C 07 23 D6 */ divw r0, r7, r4
/* 8014D558 7C 04 01 D6 */ mullw r0, r4, r0
/* 8014D55C 7C E0 38 50 */ subf r7, r0, r7
/* 8014D560 48 00 00 18 */ b lbl_8014D578
lbl_8014D564:
/* 8014D564 20 04 00 00 */ subfic r0, r4, 0
/* 8014D568 7C 60 01 10 */ subfe r3, r0, r0
/* 8014D56C 38 04 FF FF */ addi r0, r4, -1
/* 8014D570 7C 07 18 38 */ and r7, r0, r3
/* 8014D574 39 00 00 01 */ li r8, 1
lbl_8014D578:
/* 8014D578 B0 E5 00 00 */ sth r7, 0(r5)
/* 8014D57C 7D 03 43 78 */ mr r3, r8
/* 8014D580 4E 80 00 20 */ blr
@@ -1,19 +0,0 @@
lbl_8014D584:
/* 8014D584 A0 E5 00 00 */ lhz r7, 0(r5)
/* 8014D588 39 00 00 00 */ li r8, 0
/* 8014D58C 7C E3 38 51 */ subf. r7, r3, r7
/* 8014D590 41 81 00 28 */ bgt lbl_8014D5B8
/* 8014D594 2C 06 00 00 */ cmpwi r6, 0
/* 8014D598 41 82 00 18 */ beq lbl_8014D5B0
/* 8014D59C 7C 67 23 D6 */ divw r3, r7, r4
/* 8014D5A0 38 03 00 01 */ addi r0, r3, 1
/* 8014D5A4 7C 04 01 D6 */ mullw r0, r4, r0
/* 8014D5A8 7C E7 02 14 */ add r7, r7, r0
/* 8014D5AC 48 00 00 0C */ b lbl_8014D5B8
lbl_8014D5B0:
/* 8014D5B0 38 E0 00 00 */ li r7, 0
/* 8014D5B4 39 00 00 01 */ li r8, 1
lbl_8014D5B8:
/* 8014D5B8 B0 E5 00 00 */ sth r7, 0(r5)
/* 8014D5BC 7D 03 43 78 */ mr r3, r8
/* 8014D5C0 4E 80 00 20 */ blr
@@ -1,55 +0,0 @@
lbl_8015556C:
/* 8015556C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80155570 7C 08 02 A6 */ mflr r0
/* 80155574 90 01 00 34 */ stw r0, 0x34(r1)
/* 80155578 39 61 00 30 */ addi r11, r1, 0x30
/* 8015557C 48 20 CC 61 */ bl _savegpr_29
/* 80155580 7C 7D 1B 78 */ mr r29, r3
/* 80155584 7C 9E 23 78 */ mr r30, r4
/* 80155588 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */
/* 8015558C 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */
/* 80155590 90 01 00 18 */ stw r0, 0x18(r1)
/* 80155594 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80155598 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8015559C 3B E3 0F 38 */ addi r31, r3, 0xf38
/* 801555A0 7F E3 FB 78 */ mr r3, r31
/* 801555A4 7F A4 EB 78 */ mr r4, r29
/* 801555A8 4B F1 F0 B9 */ bl ChkPolySafe__4cBgSFRC13cBgS_PolyInfo
/* 801555AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801555B0 41 82 00 5C */ beq lbl_8015560C
/* 801555B4 7F E3 FB 78 */ mr r3, r31
/* 801555B8 7F A4 EB 78 */ mr r4, r29
/* 801555BC 38 A1 00 08 */ addi r5, r1, 8
/* 801555C0 4B F1 F1 85 */ bl GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla
/* 801555C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801555C8 41 82 00 14 */ beq lbl_801555DC
/* 801555CC C0 21 00 0C */ lfs f1, 0xc(r1)
/* 801555D0 48 11 2C 15 */ bl cBgW_CheckBGround__Ff
/* 801555D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801555D8 40 82 00 18 */ bne lbl_801555F0
lbl_801555DC:
/* 801555DC 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */
/* 801555E0 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */
/* 801555E4 90 01 00 18 */ stw r0, 0x18(r1)
/* 801555E8 38 60 00 00 */ li r3, 0
/* 801555EC 48 00 00 30 */ b lbl_8015561C
lbl_801555F0:
/* 801555F0 38 61 00 08 */ addi r3, r1, 8
/* 801555F4 7F C4 F3 78 */ mr r4, r30
/* 801555F8 4B EC 85 E1 */ bl fopAcM_getPolygonAngle__FPC8cM3dGPlas
/* 801555FC 3C 80 80 3A */ lis r4, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */
/* 80155600 38 04 37 C0 */ addi r0, r4, __vt__8cM3dGPla@l /* 0x803A37C0@l */
/* 80155604 90 01 00 18 */ stw r0, 0x18(r1)
/* 80155608 48 00 00 14 */ b lbl_8015561C
lbl_8015560C:
/* 8015560C 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */
/* 80155610 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */
/* 80155614 90 01 00 18 */ stw r0, 0x18(r1)
/* 80155618 38 60 00 00 */ li r3, 0
lbl_8015561C:
/* 8015561C 39 61 00 30 */ addi r11, r1, 0x30
/* 80155620 48 20 CC 09 */ bl _restgpr_29
/* 80155624 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80155628 7C 08 03 A6 */ mtlr r0
/* 8015562C 38 21 00 30 */ addi r1, r1, 0x30
/* 80155630 4E 80 00 20 */ blr
@@ -1,61 +0,0 @@
lbl_80155774:
/* 80155774 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80155778 7C 08 02 A6 */ mflr r0
/* 8015577C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80155780 39 61 00 30 */ addi r11, r1, 0x30
/* 80155784 48 20 CA 49 */ bl _savegpr_25
/* 80155788 7C 79 1B 78 */ mr r25, r3
/* 8015578C 7C BA 2B 78 */ mr r26, r5
/* 80155790 7C DB 33 78 */ mr r27, r6
/* 80155794 3B C0 00 00 */ li r30, 0
/* 80155798 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8015579C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801557A0 38 63 4E C4 */ addi r3, r3, 0x4ec4
/* 801557A4 4B EC EB E1 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 801557A8 7C 7F 1B 78 */ mr r31, r3
/* 801557AC 81 83 00 00 */ lwz r12, 0(r3)
/* 801557B0 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 801557B4 7D 89 03 A6 */ mtctr r12
/* 801557B8 4E 80 04 21 */ bctrl
/* 801557BC 83 A3 00 04 */ lwz r29, 4(r3)
/* 801557C0 3B 80 00 00 */ li r28, 0
/* 801557C4 48 00 00 54 */ b lbl_80155818
lbl_801557C8:
/* 801557C8 A8 1D 00 1C */ lha r0, 0x1c(r29)
/* 801557CC 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801557D0 7C 19 00 00 */ cmpw r25, r0
/* 801557D4 40 82 00 3C */ bne lbl_80155810
/* 801557D8 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 801557DC D0 1A 00 00 */ stfs f0, 0(r26)
/* 801557E0 C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 801557E4 D0 1A 00 04 */ stfs f0, 4(r26)
/* 801557E8 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 801557EC D0 1A 00 08 */ stfs f0, 8(r26)
/* 801557F0 A8 1D 00 18 */ lha r0, 0x18(r29)
/* 801557F4 B0 1B 00 00 */ sth r0, 0(r27)
/* 801557F8 A8 1D 00 1A */ lha r0, 0x1a(r29)
/* 801557FC B0 1B 00 02 */ sth r0, 2(r27)
/* 80155800 A8 1D 00 1C */ lha r0, 0x1c(r29)
/* 80155804 B0 1B 00 04 */ sth r0, 4(r27)
/* 80155808 3B C0 00 01 */ li r30, 1
/* 8015580C 48 00 00 2C */ b lbl_80155838
lbl_80155810:
/* 80155810 3B BD 00 20 */ addi r29, r29, 0x20
/* 80155814 3B 9C 00 01 */ addi r28, r28, 1
lbl_80155818:
/* 80155818 7F E3 FB 78 */ mr r3, r31
/* 8015581C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80155820 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 80155824 7D 89 03 A6 */ mtctr r12
/* 80155828 4E 80 04 21 */ bctrl
/* 8015582C 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80155830 7C 1C 00 00 */ cmpw r28, r0
/* 80155834 41 80 FF 94 */ blt lbl_801557C8
lbl_80155838:
/* 80155838 7F C3 F3 78 */ mr r3, r30
/* 8015583C 39 61 00 30 */ addi r11, r1, 0x30
/* 80155840 48 20 C9 D9 */ bl _restgpr_25
/* 80155844 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80155848 7C 08 03 A6 */ mtlr r0
/* 8015584C 38 21 00 30 */ addi r1, r1, 0x30
/* 80155850 4E 80 00 20 */ blr
@@ -1,100 +0,0 @@
lbl_8014C384:
/* 8014C384 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8014C388 7C 08 02 A6 */ mflr r0
/* 8014C38C 90 01 00 84 */ stw r0, 0x84(r1)
/* 8014C390 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8014C394 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */
/* 8014C398 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8014C39C F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */
/* 8014C3A0 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8014C3A4 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */
/* 8014C3A8 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 8014C3AC F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */
/* 8014C3B0 39 61 00 40 */ addi r11, r1, 0x40
/* 8014C3B4 48 21 5E 25 */ bl _savegpr_28
/* 8014C3B8 7C 7C 1B 78 */ mr r28, r3
/* 8014C3BC 7C 9D 23 78 */ mr r29, r4
/* 8014C3C0 7C BE 2B 78 */ mr r30, r5
/* 8014C3C4 7C FF 3B 78 */ mr r31, r7
/* 8014C3C8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8014C3CC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8014C3D0 7C 06 00 D0 */ neg r0, r6
/* 8014C3D4 7C 04 07 34 */ extsh r4, r0
/* 8014C3D8 4B EC 00 05 */ bl mDoMtx_YrotS__FPA4_fs
/* 8014C3DC C0 1D 00 00 */ lfs f0, 0(r29)
/* 8014C3E0 FC 20 00 50 */ fneg f1, f0
/* 8014C3E4 C0 1D 00 04 */ lfs f0, 4(r29)
/* 8014C3E8 FC 40 00 50 */ fneg f2, f0
/* 8014C3EC C0 1D 00 08 */ lfs f0, 8(r29)
/* 8014C3F0 FC 60 00 50 */ fneg f3, f0
/* 8014C3F4 4B EC 09 A9 */ bl transM__14mDoMtx_stack_cFfff
/* 8014C3F8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8014C3FC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8014C400 7F 84 E3 78 */ mr r4, r28
/* 8014C404 38 A1 00 20 */ addi r5, r1, 0x20
/* 8014C408 48 1F A9 65 */ bl PSMTXMultVec
/* 8014C40C C0 1E 00 00 */ lfs f0, 0(r30)
/* 8014C410 FC 00 02 10 */ fabs f0, f0
/* 8014C414 FF E0 00 18 */ frsp f31, f0
/* 8014C418 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8014C41C FC 00 02 10 */ fabs f0, f0
/* 8014C420 FF C0 00 18 */ frsp f30, f0
/* 8014C424 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8014C428 FC 00 02 10 */ fabs f0, f0
/* 8014C42C FF A0 00 18 */ frsp f29, f0
/* 8014C430 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8014C434 FC 00 02 10 */ fabs f0, f0
/* 8014C438 FF 80 00 18 */ frsp f28, f0
/* 8014C43C 2C 1F 00 00 */ cmpwi r31, 0
/* 8014C440 41 82 00 50 */ beq lbl_8014C490
/* 8014C444 38 61 00 08 */ addi r3, r1, 8
/* 8014C448 7F 84 E3 78 */ mr r4, r28
/* 8014C44C 7F A5 EB 78 */ mr r5, r29
/* 8014C450 48 11 A6 E5 */ bl __mi__4cXyzCFRC3Vec
/* 8014C454 C0 01 00 08 */ lfs f0, 8(r1)
/* 8014C458 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8014C45C C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8014C460 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8014C464 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8014C468 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8014C46C C0 02 99 D8 */ lfs f0, lit_4116(r2)
/* 8014C470 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8014C474 4C 40 13 82 */ cror 2, 0, 2
/* 8014C478 40 82 00 10 */ bne lbl_8014C488
/* 8014C47C C0 1E 00 04 */ lfs f0, 4(r30)
/* 8014C480 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8014C484 41 80 00 0C */ blt lbl_8014C490
lbl_8014C488:
/* 8014C488 38 60 00 00 */ li r3, 0
/* 8014C48C 48 00 00 3C */ b lbl_8014C4C8
lbl_8014C490:
/* 8014C490 EC 3D 07 72 */ fmuls f1, f29, f29
/* 8014C494 EC 1F 07 F2 */ fmuls f0, f31, f31
/* 8014C498 EC 41 00 24 */ fdivs f2, f1, f0
/* 8014C49C EC 3C 07 32 */ fmuls f1, f28, f28
/* 8014C4A0 EC 1E 07 B2 */ fmuls f0, f30, f30
/* 8014C4A4 EC 01 00 24 */ fdivs f0, f1, f0
/* 8014C4A8 EC 22 00 2A */ fadds f1, f2, f0
/* 8014C4AC C0 02 99 DC */ lfs f0, lit_4140(r2)
/* 8014C4B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8014C4B4 4C 40 13 82 */ cror 2, 0, 2
/* 8014C4B8 40 82 00 0C */ bne lbl_8014C4C4
/* 8014C4BC 38 60 00 01 */ li r3, 1
/* 8014C4C0 48 00 00 08 */ b lbl_8014C4C8
lbl_8014C4C4:
/* 8014C4C4 38 60 00 00 */ li r3, 0
lbl_8014C4C8:
/* 8014C4C8 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */
/* 8014C4CC CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8014C4D0 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */
/* 8014C4D4 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8014C4D8 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */
/* 8014C4DC CB A1 00 50 */ lfd f29, 0x50(r1)
/* 8014C4E0 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */
/* 8014C4E4 CB 81 00 40 */ lfd f28, 0x40(r1)
/* 8014C4E8 39 61 00 40 */ addi r11, r1, 0x40
/* 8014C4EC 48 21 5D 39 */ bl _restgpr_28
/* 8014C4F0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8014C4F4 7C 08 03 A6 */ mtlr r0
/* 8014C4F8 38 21 00 80 */ addi r1, r1, 0x80
/* 8014C4FC 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_8014D81C:
/* 8014D81C 28 04 00 00 */ cmplwi r4, 0
/* 8014D820 41 82 00 0C */ beq lbl_8014D82C
/* 8014D824 80 04 00 04 */ lwz r0, 4(r4)
/* 8014D828 48 00 00 08 */ b lbl_8014D830
lbl_8014D82C:
/* 8014D82C 38 00 FF FF */ li r0, -1
lbl_8014D830:
/* 8014D830 90 03 00 04 */ stw r0, 4(r3)
/* 8014D834 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_8014D838:
/* 8014D838 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014D83C 7C 08 02 A6 */ mflr r0
/* 8014D840 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014D844 38 00 00 00 */ li r0, 0
/* 8014D848 90 01 00 08 */ stw r0, 8(r1)
/* 8014D84C 80 63 00 04 */ lwz r3, 4(r3)
/* 8014D850 38 81 00 08 */ addi r4, r1, 8
/* 8014D854 4B EC C1 69 */ bl fopAcM_SearchByID__FUiPP10fopAc_ac_c
/* 8014D858 2C 03 00 00 */ cmpwi r3, 0
/* 8014D85C 41 82 00 14 */ beq lbl_8014D870
/* 8014D860 80 61 00 08 */ lwz r3, 8(r1)
/* 8014D864 28 03 00 00 */ cmplwi r3, 0
/* 8014D868 41 82 00 08 */ beq lbl_8014D870
/* 8014D86C 48 00 00 08 */ b lbl_8014D874
lbl_8014D870:
/* 8014D870 38 60 00 00 */ li r3, 0
lbl_8014D874:
/* 8014D874 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014D878 7C 08 03 A6 */ mtlr r0
/* 8014D87C 38 21 00 10 */ addi r1, r1, 0x10
/* 8014D880 4E 80 00 20 */ blr
@@ -1,19 +0,0 @@
lbl_80150C60:
/* 80150C60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80150C64 7C 08 02 A6 */ mflr r0
/* 80150C68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80150C6C 7C 66 1B 78 */ mr r6, r3
/* 80150C70 A0 03 00 00 */ lhz r0, 0(r3)
/* 80150C74 B0 01 00 08 */ sth r0, 8(r1)
/* 80150C78 80 63 00 04 */ lwz r3, 4(r3)
/* 80150C7C 88 03 00 05 */ lbz r0, 5(r3)
/* 80150C80 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 80150C84 A0 63 00 00 */ lhz r3, 0(r3)
/* 80150C88 38 81 00 08 */ addi r4, r1, 8
/* 80150C8C 88 C6 00 02 */ lbz r6, 2(r6)
/* 80150C90 4B FF F9 C5 */ bl daNpcF_decIdx__FiRUsii
/* 80150C94 A0 61 00 08 */ lhz r3, 8(r1)
/* 80150C98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80150C9C 7C 08 03 A6 */ mtlr r0
/* 80150CA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80150CA4 4E 80 00 20 */ blr
@@ -1,40 +0,0 @@
lbl_80150CA8:
/* 80150CA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80150CAC 7C 08 02 A6 */ mflr r0
/* 80150CB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80150CB4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80150CB8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80150CBC 7C 7E 1B 78 */ mr r30, r3
/* 80150CC0 7C 9F 23 78 */ mr r31, r4
/* 80150CC4 A0 03 00 00 */ lhz r0, 0(r3)
/* 80150CC8 B0 01 00 08 */ sth r0, 8(r1)
/* 80150CCC 80 63 00 04 */ lwz r3, 4(r3)
/* 80150CD0 88 03 00 05 */ lbz r0, 5(r3)
/* 80150CD4 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 80150CD8 A0 63 00 00 */ lhz r3, 0(r3)
/* 80150CDC 38 81 00 08 */ addi r4, r1, 8
/* 80150CE0 88 DE 00 02 */ lbz r6, 2(r30)
/* 80150CE4 4B FF F9 71 */ bl daNpcF_decIdx__FiRUsii
/* 80150CE8 80 9E 00 04 */ lwz r4, 4(r30)
/* 80150CEC 80 84 00 08 */ lwz r4, 8(r4)
/* 80150CF0 A0 01 00 08 */ lhz r0, 8(r1)
/* 80150CF4 54 00 20 36 */ slwi r0, r0, 4
/* 80150CF8 7C A4 02 14 */ add r5, r4, r0
/* 80150CFC 80 85 00 04 */ lwz r4, 4(r5)
/* 80150D00 80 05 00 08 */ lwz r0, 8(r5)
/* 80150D04 90 81 00 0C */ stw r4, 0xc(r1)
/* 80150D08 90 01 00 10 */ stw r0, 0x10(r1)
/* 80150D0C 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80150D10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80150D14 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80150D18 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80150D1C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80150D20 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80150D24 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80150D28 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80150D2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80150D30 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80150D34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80150D38 7C 08 03 A6 */ mtlr r0
/* 80150D3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80150D40 4E 80 00 20 */ blr
@@ -1,124 +0,0 @@
lbl_80145FB4:
/* 80145FB4 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80145FB8 7C 08 02 A6 */ mflr r0
/* 80145FBC 90 01 00 64 */ stw r0, 0x64(r1)
/* 80145FC0 39 61 00 60 */ addi r11, r1, 0x60
/* 80145FC4 48 21 C2 0D */ bl _savegpr_26
/* 80145FC8 7C 7A 1B 78 */ mr r26, r3
/* 80145FCC 7C 9B 23 78 */ mr r27, r4
/* 80145FD0 7C BF 2B 78 */ mr r31, r5
/* 80145FD4 7C DC 33 78 */ mr r28, r6
/* 80145FD8 7C FD 3B 78 */ mr r29, r7
/* 80145FDC A0 83 00 1C */ lhz r4, 0x1c(r3)
/* 80145FE0 7C 1C 20 00 */ cmpw r28, r4
/* 80145FE4 40 82 00 50 */ bne lbl_80146034
/* 80145FE8 80 7A 00 00 */ lwz r3, 0(r26)
/* 80145FEC 80 63 00 08 */ lwz r3, 8(r3)
/* 80145FF0 38 04 FF FF */ addi r0, r4, -1
/* 80145FF4 54 00 20 36 */ slwi r0, r0, 4
/* 80145FF8 7C 83 02 14 */ add r4, r3, r0
/* 80145FFC 80 64 00 04 */ lwz r3, 4(r4)
/* 80146000 80 04 00 08 */ lwz r0, 8(r4)
/* 80146004 90 61 00 38 */ stw r3, 0x38(r1)
/* 80146008 90 01 00 3C */ stw r0, 0x3c(r1)
/* 8014600C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80146010 90 01 00 40 */ stw r0, 0x40(r1)
/* 80146014 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80146018 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8014601C C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80146020 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80146024 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 80146028 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8014602C 38 60 00 01 */ li r3, 1
/* 80146030 48 00 01 40 */ b lbl_80146170
lbl_80146034:
/* 80146034 3B C0 00 01 */ li r30, 1
lbl_80146038:
/* 80146038 C0 1B 00 00 */ lfs f0, 0(r27)
/* 8014603C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80146040 C0 1B 00 04 */ lfs f0, 4(r27)
/* 80146044 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80146048 C0 1B 00 08 */ lfs f0, 8(r27)
/* 8014604C D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80146050 7F 43 D3 78 */ mr r3, r26
/* 80146054 38 81 00 2C */ addi r4, r1, 0x2c
/* 80146058 7F 85 E3 78 */ mr r5, r28
/* 8014605C 48 00 01 2D */ bl chkPassed1__13daNpcT_Path_cF4cXyzi
/* 80146060 2C 03 00 00 */ cmpwi r3, 0
/* 80146064 41 82 00 70 */ beq lbl_801460D4
/* 80146068 B3 DA 00 1E */ sth r30, 0x1e(r26)
/* 8014606C 7F 43 D3 78 */ mr r3, r26
/* 80146070 7F 84 E3 78 */ mr r4, r28
/* 80146074 4B FF FD 5D */ bl setNextIdx__13daNpcT_Path_cFi
/* 80146078 2C 03 00 00 */ cmpwi r3, 0
/* 8014607C 41 82 FF BC */ beq lbl_80146038
/* 80146080 B3 9A 00 1C */ sth r28, 0x1c(r26)
/* 80146084 80 7A 00 00 */ lwz r3, 0(r26)
/* 80146088 80 83 00 08 */ lwz r4, 8(r3)
/* 8014608C A0 7A 00 1C */ lhz r3, 0x1c(r26)
/* 80146090 38 03 FF FF */ addi r0, r3, -1
/* 80146094 54 00 20 36 */ slwi r0, r0, 4
/* 80146098 7C 84 02 14 */ add r4, r4, r0
/* 8014609C 80 64 00 04 */ lwz r3, 4(r4)
/* 801460A0 80 04 00 08 */ lwz r0, 8(r4)
/* 801460A4 90 61 00 20 */ stw r3, 0x20(r1)
/* 801460A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801460AC 80 04 00 0C */ lwz r0, 0xc(r4)
/* 801460B0 90 01 00 28 */ stw r0, 0x28(r1)
/* 801460B4 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801460B8 D0 1F 00 00 */ stfs f0, 0(r31)
/* 801460BC C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801460C0 D0 1F 00 04 */ stfs f0, 4(r31)
/* 801460C4 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801460C8 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801460CC 38 60 00 01 */ li r3, 1
/* 801460D0 48 00 00 A0 */ b lbl_80146170
lbl_801460D4:
/* 801460D4 A0 1A 00 1E */ lhz r0, 0x1e(r26)
/* 801460D8 7C 00 E8 00 */ cmpw r0, r29
/* 801460DC 40 80 00 4C */ bge lbl_80146128
/* 801460E0 C0 1B 00 00 */ lfs f0, 0(r27)
/* 801460E4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801460E8 C0 1B 00 04 */ lfs f0, 4(r27)
/* 801460EC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801460F0 C0 1B 00 08 */ lfs f0, 8(r27)
/* 801460F4 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801460F8 7F 43 D3 78 */ mr r3, r26
/* 801460FC 38 81 00 14 */ addi r4, r1, 0x14
/* 80146100 7F E5 FB 78 */ mr r5, r31
/* 80146104 7F 86 E3 78 */ mr r6, r28
/* 80146108 7F A7 EB 78 */ mr r7, r29
/* 8014610C 48 00 03 CD */ bl chkPassed2__13daNpcT_Path_cF4cXyzP4cXyzii
/* 80146110 2C 03 00 00 */ cmpwi r3, 0
/* 80146114 41 82 00 58 */ beq lbl_8014616C
/* 80146118 A0 7A 00 1E */ lhz r3, 0x1e(r26)
/* 8014611C 38 03 00 01 */ addi r0, r3, 1
/* 80146120 B0 1A 00 1E */ sth r0, 0x1e(r26)
/* 80146124 4B FF FF B0 */ b lbl_801460D4
lbl_80146128:
/* 80146128 A0 1A 00 1C */ lhz r0, 0x1c(r26)
/* 8014612C 80 7A 00 00 */ lwz r3, 0(r26)
/* 80146130 80 63 00 08 */ lwz r3, 8(r3)
/* 80146134 54 00 20 36 */ slwi r0, r0, 4
/* 80146138 7C 83 02 14 */ add r4, r3, r0
/* 8014613C 80 64 00 04 */ lwz r3, 4(r4)
/* 80146140 80 04 00 08 */ lwz r0, 8(r4)
/* 80146144 90 61 00 08 */ stw r3, 8(r1)
/* 80146148 90 01 00 0C */ stw r0, 0xc(r1)
/* 8014614C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80146150 90 01 00 10 */ stw r0, 0x10(r1)
/* 80146154 C0 01 00 08 */ lfs f0, 8(r1)
/* 80146158 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8014615C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80146160 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80146164 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80146168 D0 1F 00 08 */ stfs f0, 8(r31)
lbl_8014616C:
/* 8014616C 38 60 00 00 */ li r3, 0
lbl_80146170:
/* 80146170 39 61 00 60 */ addi r11, r1, 0x60
/* 80146174 48 21 C0 A9 */ bl _restgpr_26
/* 80146178 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8014617C 7C 08 03 A6 */ mtlr r0
/* 80146180 38 21 00 60 */ addi r1, r1, 0x60
/* 80146184 4E 80 00 20 */ blr
@@ -1,57 +0,0 @@
lbl_80150DE0:
/* 80150DE0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80150DE4 7C 08 02 A6 */ mflr r0
/* 80150DE8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80150DEC 39 61 00 30 */ addi r11, r1, 0x30
/* 80150DF0 48 21 13 E9 */ bl _savegpr_28
/* 80150DF4 7C 7C 1B 78 */ mr r28, r3
/* 80150DF8 7C 9D 23 78 */ mr r29, r4
/* 80150DFC 7C BE 2B 78 */ mr r30, r5
/* 80150E00 3B E0 00 00 */ li r31, 0
/* 80150E04 48 00 00 8C */ b lbl_80150E90
lbl_80150E08:
/* 80150E08 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80150E0C 80 7C 00 04 */ lwz r3, 4(r28)
/* 80150E10 80 83 00 08 */ lwz r4, 8(r3)
/* 80150E14 54 03 20 36 */ slwi r3, r0, 4
/* 80150E18 38 03 00 04 */ addi r0, r3, 4
/* 80150E1C 7C 84 02 14 */ add r4, r4, r0
/* 80150E20 80 64 00 00 */ lwz r3, 0(r4)
/* 80150E24 80 04 00 04 */ lwz r0, 4(r4)
/* 80150E28 90 61 00 14 */ stw r3, 0x14(r1)
/* 80150E2C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80150E30 80 04 00 08 */ lwz r0, 8(r4)
/* 80150E34 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80150E38 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80150E3C D0 1E 00 00 */ stfs f0, 0(r30)
/* 80150E40 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80150E44 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80150E48 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80150E4C D0 1E 00 08 */ stfs f0, 8(r30)
/* 80150E50 C0 1D 00 00 */ lfs f0, 0(r29)
/* 80150E54 D0 01 00 08 */ stfs f0, 8(r1)
/* 80150E58 C0 1D 00 04 */ lfs f0, 4(r29)
/* 80150E5C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80150E60 C0 1D 00 08 */ lfs f0, 8(r29)
/* 80150E64 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80150E68 7F 83 E3 78 */ mr r3, r28
/* 80150E6C 38 81 00 08 */ addi r4, r1, 8
/* 80150E70 4B FF FB B5 */ bl chkPassed__13daNpcF_Path_cF4cXyz
/* 80150E74 2C 03 00 00 */ cmpwi r3, 0
/* 80150E78 41 82 00 20 */ beq lbl_80150E98
/* 80150E7C 7F 83 E3 78 */ mr r3, r28
/* 80150E80 4B FF FD 61 */ bl setNextIdx__13daNpcF_Path_cFv
/* 80150E84 2C 03 00 00 */ cmpwi r3, 0
/* 80150E88 41 82 00 08 */ beq lbl_80150E90
/* 80150E8C 3B E0 00 01 */ li r31, 1
lbl_80150E90:
/* 80150E90 2C 1F 00 00 */ cmpwi r31, 0
/* 80150E94 41 82 FF 74 */ beq lbl_80150E08
lbl_80150E98:
/* 80150E98 7F E3 FB 78 */ mr r3, r31
/* 80150E9C 39 61 00 30 */ addi r11, r1, 0x30
/* 80150EA0 48 21 13 85 */ bl _restgpr_28
/* 80150EA4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80150EA8 7C 08 03 A6 */ mtlr r0
/* 80150EAC 38 21 00 30 */ addi r1, r1, 0x30
/* 80150EB0 4E 80 00 20 */ blr
@@ -1,100 +0,0 @@
lbl_80145E38:
/* 80145E38 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80145E3C 7C 08 02 A6 */ mflr r0
/* 80145E40 90 01 00 54 */ stw r0, 0x54(r1)
/* 80145E44 39 61 00 50 */ addi r11, r1, 0x50
/* 80145E48 48 21 C3 8D */ bl _savegpr_27
/* 80145E4C 7C 7B 1B 78 */ mr r27, r3
/* 80145E50 7C 9C 23 78 */ mr r28, r4
/* 80145E54 7C BF 2B 78 */ mr r31, r5
/* 80145E58 7C DD 33 78 */ mr r29, r6
/* 80145E5C A0 83 00 1C */ lhz r4, 0x1c(r3)
/* 80145E60 7C 1D 20 00 */ cmpw r29, r4
/* 80145E64 40 82 00 50 */ bne lbl_80145EB4
/* 80145E68 80 7B 00 00 */ lwz r3, 0(r27)
/* 80145E6C 80 63 00 08 */ lwz r3, 8(r3)
/* 80145E70 38 04 FF FF */ addi r0, r4, -1
/* 80145E74 54 00 20 36 */ slwi r0, r0, 4
/* 80145E78 7C 83 02 14 */ add r4, r3, r0
/* 80145E7C 80 64 00 04 */ lwz r3, 4(r4)
/* 80145E80 80 04 00 08 */ lwz r0, 8(r4)
/* 80145E84 90 61 00 2C */ stw r3, 0x2c(r1)
/* 80145E88 90 01 00 30 */ stw r0, 0x30(r1)
/* 80145E8C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80145E90 90 01 00 34 */ stw r0, 0x34(r1)
/* 80145E94 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80145E98 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80145E9C C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80145EA0 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80145EA4 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80145EA8 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80145EAC 38 60 00 01 */ li r3, 1
/* 80145EB0 48 00 00 EC */ b lbl_80145F9C
lbl_80145EB4:
/* 80145EB4 3B C0 00 01 */ li r30, 1
lbl_80145EB8:
/* 80145EB8 C0 1C 00 00 */ lfs f0, 0(r28)
/* 80145EBC D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80145EC0 C0 1C 00 04 */ lfs f0, 4(r28)
/* 80145EC4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80145EC8 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80145ECC D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80145ED0 7F 63 DB 78 */ mr r3, r27
/* 80145ED4 38 81 00 20 */ addi r4, r1, 0x20
/* 80145ED8 7F A5 EB 78 */ mr r5, r29
/* 80145EDC 48 00 02 AD */ bl chkPassed1__13daNpcT_Path_cF4cXyzi
/* 80145EE0 2C 03 00 00 */ cmpwi r3, 0
/* 80145EE4 41 82 00 70 */ beq lbl_80145F54
/* 80145EE8 B3 DB 00 1E */ sth r30, 0x1e(r27)
/* 80145EEC 7F 63 DB 78 */ mr r3, r27
/* 80145EF0 7F A4 EB 78 */ mr r4, r29
/* 80145EF4 4B FF FE DD */ bl setNextIdx__13daNpcT_Path_cFi
/* 80145EF8 2C 03 00 00 */ cmpwi r3, 0
/* 80145EFC 41 82 FF BC */ beq lbl_80145EB8
/* 80145F00 B3 BB 00 1C */ sth r29, 0x1c(r27)
/* 80145F04 80 7B 00 00 */ lwz r3, 0(r27)
/* 80145F08 80 83 00 08 */ lwz r4, 8(r3)
/* 80145F0C A0 7B 00 1C */ lhz r3, 0x1c(r27)
/* 80145F10 38 03 FF FF */ addi r0, r3, -1
/* 80145F14 54 00 20 36 */ slwi r0, r0, 4
/* 80145F18 7C 84 02 14 */ add r4, r4, r0
/* 80145F1C 80 64 00 04 */ lwz r3, 4(r4)
/* 80145F20 80 04 00 08 */ lwz r0, 8(r4)
/* 80145F24 90 61 00 14 */ stw r3, 0x14(r1)
/* 80145F28 90 01 00 18 */ stw r0, 0x18(r1)
/* 80145F2C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80145F30 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80145F34 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80145F38 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80145F3C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80145F40 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80145F44 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80145F48 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80145F4C 38 60 00 01 */ li r3, 1
/* 80145F50 48 00 00 4C */ b lbl_80145F9C
lbl_80145F54:
/* 80145F54 A0 1B 00 1C */ lhz r0, 0x1c(r27)
/* 80145F58 80 7B 00 00 */ lwz r3, 0(r27)
/* 80145F5C 80 63 00 08 */ lwz r3, 8(r3)
/* 80145F60 54 00 20 36 */ slwi r0, r0, 4
/* 80145F64 7C 83 02 14 */ add r4, r3, r0
/* 80145F68 80 64 00 04 */ lwz r3, 4(r4)
/* 80145F6C 80 04 00 08 */ lwz r0, 8(r4)
/* 80145F70 90 61 00 08 */ stw r3, 8(r1)
/* 80145F74 90 01 00 0C */ stw r0, 0xc(r1)
/* 80145F78 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80145F7C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80145F80 C0 01 00 08 */ lfs f0, 8(r1)
/* 80145F84 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80145F88 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80145F8C D0 1F 00 04 */ stfs f0, 4(r31)
/* 80145F90 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80145F94 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80145F98 38 60 00 00 */ li r3, 0
lbl_80145F9C:
/* 80145F9C 39 61 00 50 */ addi r11, r1, 0x50
/* 80145FA0 48 21 C2 81 */ bl _restgpr_27
/* 80145FA4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80145FA8 7C 08 03 A6 */ mtlr r0
/* 80145FAC 38 21 00 50 */ addi r1, r1, 0x50
/* 80145FB0 4E 80 00 20 */ blr
@@ -1,19 +0,0 @@
lbl_80150C18:
/* 80150C18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80150C1C 7C 08 02 A6 */ mflr r0
/* 80150C20 90 01 00 14 */ stw r0, 0x14(r1)
/* 80150C24 7C 66 1B 78 */ mr r6, r3
/* 80150C28 A0 03 00 00 */ lhz r0, 0(r3)
/* 80150C2C B0 01 00 08 */ sth r0, 8(r1)
/* 80150C30 80 63 00 04 */ lwz r3, 4(r3)
/* 80150C34 88 03 00 05 */ lbz r0, 5(r3)
/* 80150C38 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 80150C3C A0 63 00 00 */ lhz r3, 0(r3)
/* 80150C40 38 81 00 08 */ addi r4, r1, 8
/* 80150C44 88 C6 00 02 */ lbz r6, 2(r6)
/* 80150C48 4B FF F9 B1 */ bl daNpcF_incIdx__FiRUsii
/* 80150C4C A0 61 00 08 */ lhz r3, 8(r1)
/* 80150C50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80150C54 7C 08 03 A6 */ mtlr r0
/* 80150C58 38 21 00 10 */ addi r1, r1, 0x10
/* 80150C5C 4E 80 00 20 */ blr
@@ -1,40 +0,0 @@
lbl_80150D44:
/* 80150D44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80150D48 7C 08 02 A6 */ mflr r0
/* 80150D4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80150D50 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80150D54 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80150D58 7C 7E 1B 78 */ mr r30, r3
/* 80150D5C 7C 9F 23 78 */ mr r31, r4
/* 80150D60 A0 03 00 00 */ lhz r0, 0(r3)
/* 80150D64 B0 01 00 08 */ sth r0, 8(r1)
/* 80150D68 80 63 00 04 */ lwz r3, 4(r3)
/* 80150D6C 88 03 00 05 */ lbz r0, 5(r3)
/* 80150D70 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 80150D74 A0 63 00 00 */ lhz r3, 0(r3)
/* 80150D78 38 81 00 08 */ addi r4, r1, 8
/* 80150D7C 88 DE 00 02 */ lbz r6, 2(r30)
/* 80150D80 4B FF F8 79 */ bl daNpcF_incIdx__FiRUsii
/* 80150D84 80 9E 00 04 */ lwz r4, 4(r30)
/* 80150D88 80 84 00 08 */ lwz r4, 8(r4)
/* 80150D8C A0 01 00 08 */ lhz r0, 8(r1)
/* 80150D90 54 00 20 36 */ slwi r0, r0, 4
/* 80150D94 7C A4 02 14 */ add r5, r4, r0
/* 80150D98 80 85 00 04 */ lwz r4, 4(r5)
/* 80150D9C 80 05 00 08 */ lwz r0, 8(r5)
/* 80150DA0 90 81 00 0C */ stw r4, 0xc(r1)
/* 80150DA4 90 01 00 10 */ stw r0, 0x10(r1)
/* 80150DA8 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80150DAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80150DB0 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80150DB4 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80150DB8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80150DBC D0 1F 00 04 */ stfs f0, 4(r31)
/* 80150DC0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80150DC4 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80150DC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80150DCC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80150DD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80150DD4 7C 08 03 A6 */ mtlr r0
/* 80150DD8 38 21 00 20 */ addi r1, r1, 0x20
/* 80150DDC 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_8014DB14:
/* 8014DB14 80 84 00 04 */ lwz r4, 4(r4)
/* 8014DB18 80 84 00 08 */ lwz r4, 8(r4)
/* 8014DB1C 54 A0 23 36 */ rlwinm r0, r5, 4, 0xc, 0x1b
/* 8014DB20 7C A4 02 14 */ add r5, r4, r0
/* 8014DB24 80 85 00 04 */ lwz r4, 4(r5)
/* 8014DB28 80 05 00 08 */ lwz r0, 8(r5)
/* 8014DB2C 90 83 00 00 */ stw r4, 0(r3)
/* 8014DB30 90 03 00 04 */ stw r0, 4(r3)
/* 8014DB34 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8014DB38 90 03 00 08 */ stw r0, 8(r3)
/* 8014DB3C 4E 80 00 20 */ blr
@@ -1,8 +0,0 @@
lbl_8014E6AC:
/* 8014E6AC 1C 05 00 06 */ mulli r0, r5, 6
/* 8014E6B0 7C 84 02 14 */ add r4, r4, r0
/* 8014E6B4 80 04 00 7C */ lwz r0, 0x7c(r4)
/* 8014E6B8 90 03 00 00 */ stw r0, 0(r3)
/* 8014E6BC A0 04 00 80 */ lhz r0, 0x80(r4)
/* 8014E6C0 B0 03 00 04 */ sth r0, 4(r3)
/* 8014E6C4 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_8014BFB0:
/* 8014BFB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014BFB4 7C 08 02 A6 */ mflr r0
/* 8014BFB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014BFBC 7C 64 1B 78 */ mr r4, r3
/* 8014BFC0 38 00 00 00 */ li r0, 0
/* 8014BFC4 90 0D 8A 5C */ stw r0, mFindCount__8daNpcT_c(r13)
/* 8014BFC8 38 00 01 27 */ li r0, 0x127
/* 8014BFCC B0 0D 8A 58 */ sth r0, mSrchName__8daNpcT_c(r13)
/* 8014BFD0 3C 60 80 14 */ lis r3, srchActor__8daNpcT_cFPvPv@ha /* 0x80147FD4@ha */
/* 8014BFD4 38 63 7F D4 */ addi r3, r3, srchActor__8daNpcT_cFPvPv@l /* 0x80147FD4@l */
/* 8014BFD8 4B ED 53 61 */ bl fpcEx_Search__FPFPvPv_PvPv
/* 8014BFDC 38 80 00 00 */ li r4, 0
/* 8014BFE0 80 0D 8A 5C */ lwz r0, mFindCount__8daNpcT_c(r13)
/* 8014BFE4 3C 60 80 42 */ lis r3, mFindActorPtrs__8daNpcT_c@ha /* 0x80425708@ha */
/* 8014BFE8 38 C3 57 08 */ addi r6, r3, mFindActorPtrs__8daNpcT_c@l /* 0x80425708@l */
/* 8014BFEC 7C 09 03 A6 */ mtctr r0
/* 8014BFF0 2C 00 00 00 */ cmpwi r0, 0
/* 8014BFF4 40 81 00 28 */ ble lbl_8014C01C
lbl_8014BFF8:
/* 8014BFF8 7C 66 20 2E */ lwzx r3, r6, r4
/* 8014BFFC 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8014C000 54 05 00 06 */ rlwinm r5, r0, 0, 0, 3
/* 8014C004 3C 05 10 00 */ addis r0, r5, 0x1000
/* 8014C008 28 00 00 00 */ cmplwi r0, 0
/* 8014C00C 40 82 00 08 */ bne lbl_8014C014
/* 8014C010 48 00 00 10 */ b lbl_8014C020
lbl_8014C014:
/* 8014C014 38 84 00 04 */ addi r4, r4, 4
/* 8014C018 42 00 FF E0 */ bdnz lbl_8014BFF8
lbl_8014C01C:
/* 8014C01C 38 60 00 00 */ li r3, 0
lbl_8014C020:
/* 8014C020 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014C024 7C 08 03 A6 */ mtlr r0
/* 8014C028 38 21 00 10 */ addi r1, r1, 0x10
/* 8014C02C 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80150BE0:
/* 80150BE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80150BE4 7C 08 02 A6 */ mflr r0
/* 80150BE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80150BEC 7C 64 1B 78 */ mr r4, r3
/* 80150BF0 80 63 00 04 */ lwz r3, 4(r3)
/* 80150BF4 88 03 00 05 */ lbz r0, 5(r3)
/* 80150BF8 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 80150BFC A0 63 00 00 */ lhz r3, 0(r3)
/* 80150C00 88 C4 00 02 */ lbz r6, 2(r4)
/* 80150C04 4B FF F9 F5 */ bl daNpcF_incIdx__FiRUsii
/* 80150C08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80150C0C 7C 08 03 A6 */ mtlr r0
/* 80150C10 38 21 00 10 */ addi r1, r1, 0x10
/* 80150C14 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_8014DAC4:
/* 8014DAC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014DAC8 7C 08 02 A6 */ mflr r0
/* 8014DACC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014DAD0 7C 66 1B 78 */ mr r6, r3
/* 8014DAD4 80 63 00 04 */ lwz r3, 4(r3)
/* 8014DAD8 88 03 00 05 */ lbz r0, 5(r3)
/* 8014DADC 54 05 07 FE */ clrlwi r5, r0, 0x1f
/* 8014DAE0 A0 63 00 00 */ lhz r3, 0(r3)
/* 8014DAE4 38 86 0A 10 */ addi r4, r6, 0xa10
/* 8014DAE8 88 C6 0A 12 */ lbz r6, 0xa12(r6)
/* 8014DAEC 7C C6 07 74 */ extsb r6, r6
/* 8014DAF0 4B FF FA D5 */ bl daBaseNpc_incIdx__FiPUsii
/* 8014DAF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014DAF8 7C 08 03 A6 */ mtlr r0
/* 8014DAFC 38 21 00 10 */ addi r1, r1, 0x10
/* 8014DB00 4E 80 00 20 */ blr
@@ -1,54 +0,0 @@
lbl_8015095C:
/* 8015095C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80150960 7C 08 02 A6 */ mflr r0
/* 80150964 90 01 00 24 */ stw r0, 0x24(r1)
/* 80150968 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8015096C 7C 7F 1B 78 */ mr r31, r3
/* 80150970 38 00 00 00 */ li r0, 0
/* 80150974 90 03 00 04 */ stw r0, 4(r3)
/* 80150978 B0 03 00 00 */ sth r0, 0(r3)
/* 8015097C 98 C3 00 02 */ stb r6, 2(r3)
/* 80150980 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80150984 28 03 00 FF */ cmplwi r3, 0xff
/* 80150988 41 82 00 84 */ beq lbl_80150A0C
/* 8015098C 7C A4 07 74 */ extsb r4, r5
/* 80150990 4B F0 0E 5D */ bl dPath_GetRoomPath__Fii
/* 80150994 90 7F 00 04 */ stw r3, 4(r31)
/* 80150998 80 9F 00 04 */ lwz r4, 4(r31)
/* 8015099C 28 04 00 00 */ cmplwi r4, 0
/* 801509A0 40 82 00 0C */ bne lbl_801509AC
/* 801509A4 38 60 00 00 */ li r3, 0
/* 801509A8 48 00 00 68 */ b lbl_80150A10
lbl_801509AC:
/* 801509AC 38 7F 00 20 */ addi r3, r31, 0x20
/* 801509B0 88 BF 00 02 */ lbz r5, 2(r31)
/* 801509B4 4B FF FE BD */ bl initialize__16daNpcF_SPCurve_cFP5dPathi
/* 801509B8 80 7F 00 04 */ lwz r3, 4(r31)
/* 801509BC 88 03 00 05 */ lbz r0, 5(r3)
/* 801509C0 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 801509C4 98 1F 00 03 */ stb r0, 3(r31)
/* 801509C8 A0 1F 00 00 */ lhz r0, 0(r31)
/* 801509CC 80 7F 00 04 */ lwz r3, 4(r31)
/* 801509D0 80 63 00 08 */ lwz r3, 8(r3)
/* 801509D4 54 00 20 36 */ slwi r0, r0, 4
/* 801509D8 7C 83 02 14 */ add r4, r3, r0
/* 801509DC 80 64 00 04 */ lwz r3, 4(r4)
/* 801509E0 80 04 00 08 */ lwz r0, 8(r4)
/* 801509E4 90 61 00 08 */ stw r3, 8(r1)
/* 801509E8 90 01 00 0C */ stw r0, 0xc(r1)
/* 801509EC 80 04 00 0C */ lwz r0, 0xc(r4)
/* 801509F0 90 01 00 10 */ stw r0, 0x10(r1)
/* 801509F4 C0 01 00 08 */ lfs f0, 8(r1)
/* 801509F8 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 801509FC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80150A00 D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 80150A04 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80150A08 D0 1F 00 1C */ stfs f0, 0x1c(r31)
lbl_80150A0C:
/* 80150A0C 38 60 00 01 */ li r3, 1
lbl_80150A10:
/* 80150A10 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80150A14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80150A18 7C 08 03 A6 */ mtlr r0
/* 80150A1C 38 21 00 20 */ addi r1, r1, 0x20
/* 80150A20 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
lbl_80145C74:
/* 80145C74 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80145C78 7C 08 02 A6 */ mflr r0
/* 80145C7C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80145C80 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80145C84 7C 7F 1B 78 */ mr r31, r3
/* 80145C88 38 00 00 00 */ li r0, 0
/* 80145C8C 90 03 00 00 */ stw r0, 0(r3)
/* 80145C90 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 80145C94 98 C3 00 20 */ stb r6, 0x20(r3)
/* 80145C98 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80145C9C 28 03 00 FF */ cmplwi r3, 0xff
/* 80145CA0 41 82 00 74 */ beq lbl_80145D14
/* 80145CA4 7C A4 07 74 */ extsb r4, r5
/* 80145CA8 4B F0 BB 45 */ bl dPath_GetRoomPath__Fii
/* 80145CAC 90 7F 00 00 */ stw r3, 0(r31)
/* 80145CB0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80145CB4 28 03 00 00 */ cmplwi r3, 0
/* 80145CB8 40 82 00 0C */ bne lbl_80145CC4
/* 80145CBC 38 60 00 00 */ li r3, 0
/* 80145CC0 48 00 00 58 */ b lbl_80145D18
lbl_80145CC4:
/* 80145CC4 88 03 00 05 */ lbz r0, 5(r3)
/* 80145CC8 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 80145CCC 98 1F 00 21 */ stb r0, 0x21(r31)
/* 80145CD0 A0 1F 00 1C */ lhz r0, 0x1c(r31)
/* 80145CD4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80145CD8 80 63 00 08 */ lwz r3, 8(r3)
/* 80145CDC 54 00 20 36 */ slwi r0, r0, 4
/* 80145CE0 7C 83 02 14 */ add r4, r3, r0
/* 80145CE4 80 64 00 04 */ lwz r3, 4(r4)
/* 80145CE8 80 04 00 08 */ lwz r0, 8(r4)
/* 80145CEC 90 61 00 08 */ stw r3, 8(r1)
/* 80145CF0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80145CF4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80145CF8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80145CFC C0 01 00 08 */ lfs f0, 8(r1)
/* 80145D00 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80145D04 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80145D08 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80145D0C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80145D10 D0 1F 00 0C */ stfs f0, 0xc(r31)
lbl_80145D14:
/* 80145D14 38 60 00 01 */ li r3, 1
lbl_80145D18:
/* 80145D18 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80145D1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80145D20 7C 08 03 A6 */ mtlr r0
/* 80145D24 38 21 00 20 */ addi r1, r1, 0x20
/* 80145D28 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_8014D9BC:
/* 8014D9BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014D9C0 7C 08 02 A6 */ mflr r0
/* 8014D9C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014D9C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8014D9CC 7C 7F 1B 78 */ mr r31, r3
/* 8014D9D0 38 00 00 00 */ li r0, 0
/* 8014D9D4 90 03 00 04 */ stw r0, 4(r3)
/* 8014D9D8 B0 03 0A 10 */ sth r0, 0xa10(r3)
/* 8014D9DC 98 C3 0A 12 */ stb r6, 0xa12(r3)
/* 8014D9E0 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 8014D9E4 28 03 00 FF */ cmplwi r3, 0xff
/* 8014D9E8 41 82 00 44 */ beq lbl_8014DA2C
/* 8014D9EC 7C A4 07 74 */ extsb r4, r5
/* 8014D9F0 4B F0 3D FD */ bl dPath_GetRoomPath__Fii
/* 8014D9F4 90 7F 00 04 */ stw r3, 4(r31)
/* 8014D9F8 80 9F 00 04 */ lwz r4, 4(r31)
/* 8014D9FC 28 04 00 00 */ cmplwi r4, 0
/* 8014DA00 40 82 00 0C */ bne lbl_8014DA0C
/* 8014DA04 38 60 00 00 */ li r3, 0
/* 8014DA08 48 00 00 2C */ b lbl_8014DA34
lbl_8014DA0C:
/* 8014DA0C 88 04 00 05 */ lbz r0, 5(r4)
/* 8014DA10 54 07 07 FE */ clrlwi r7, r0, 0x1f
/* 8014DA14 80 64 00 08 */ lwz r3, 8(r4)
/* 8014DA18 A0 84 00 00 */ lhz r4, 0(r4)
/* 8014DA1C 38 A0 00 A0 */ li r5, 0xa0
/* 8014DA20 38 DF 00 0C */ addi r6, r31, 0xc
/* 8014DA24 48 00 1E A1 */ bl daBaseNpc_putNurbs__FP4dPntiiP4dPnti
/* 8014DA28 B0 7F 0A 0E */ sth r3, 0xa0e(r31)
lbl_8014DA2C:
/* 8014DA2C 7F E3 FB 78 */ mr r3, r31
/* 8014DA30 4B FF FF 79 */ bl isPath__16daBaseNpc_path_cFv
lbl_8014DA34:
/* 8014DA34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8014DA38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014DA3C 7C 08 03 A6 */ mtlr r0
/* 8014DA40 38 21 00 10 */ addi r1, r1, 0x10
/* 8014DA44 4E 80 00 20 */ blr
@@ -1,54 +0,0 @@
lbl_8003BFB0:
/* 8003BFB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003BFB4 7C 08 02 A6 */ mflr r0
/* 8003BFB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003BFBC 39 61 00 20 */ addi r11, r1, 0x20
/* 8003BFC0 48 32 62 19 */ bl _savegpr_28
/* 8003BFC4 7C 7C 1B 79 */ or. r28, r3, r3
/* 8003BFC8 7C 9D 23 78 */ mr r29, r4
/* 8003BFCC 41 82 00 90 */ beq lbl_8003C05C
/* 8003BFD0 3B C0 00 00 */ li r30, 0
/* 8003BFD4 3B E0 00 00 */ li r31, 0
lbl_8003BFD8:
/* 8003BFD8 7C 7C FA 14 */ add r3, r28, r31
/* 8003BFDC 38 80 FF FF */ li r4, -1
/* 8003BFE0 4B FF E2 A1 */ bl __dt__11dRes_info_cFv
/* 8003BFE4 3B DE 00 01 */ addi r30, r30, 1
/* 8003BFE8 2C 1E 00 80 */ cmpwi r30, 0x80
/* 8003BFEC 3B FF 00 24 */ addi r31, r31, 0x24
/* 8003BFF0 41 80 FF E8 */ blt lbl_8003BFD8
/* 8003BFF4 3B C0 00 00 */ li r30, 0
/* 8003BFF8 3B E0 00 00 */ li r31, 0
lbl_8003BFFC:
/* 8003BFFC 38 7F 12 00 */ addi r3, r31, 0x1200
/* 8003C000 7C 7C 1A 14 */ add r3, r28, r3
/* 8003C004 38 80 FF FF */ li r4, -1
/* 8003C008 4B FF E2 79 */ bl __dt__11dRes_info_cFv
/* 8003C00C 3B DE 00 01 */ addi r30, r30, 1
/* 8003C010 2C 1E 00 40 */ cmpwi r30, 0x40
/* 8003C014 3B FF 00 24 */ addi r31, r31, 0x24
/* 8003C018 41 80 FF E4 */ blt lbl_8003BFFC
/* 8003C01C 38 7C 12 00 */ addi r3, r28, 0x1200
/* 8003C020 3C 80 80 04 */ lis r4, __dt__11dRes_info_cFv@ha /* 0x8003A280@ha */
/* 8003C024 38 84 A2 80 */ addi r4, r4, __dt__11dRes_info_cFv@l /* 0x8003A280@l */
/* 8003C028 38 A0 00 24 */ li r5, 0x24
/* 8003C02C 38 C0 00 40 */ li r6, 0x40
/* 8003C030 48 32 5C B9 */ bl __destroy_arr
/* 8003C034 7F 83 E3 78 */ mr r3, r28
/* 8003C038 3C 80 80 04 */ lis r4, __dt__11dRes_info_cFv@ha /* 0x8003A280@ha */
/* 8003C03C 38 84 A2 80 */ addi r4, r4, __dt__11dRes_info_cFv@l /* 0x8003A280@l */
/* 8003C040 38 A0 00 24 */ li r5, 0x24
/* 8003C044 38 C0 00 80 */ li r6, 0x80
/* 8003C048 48 32 5C A1 */ bl __destroy_arr
/* 8003C04C 7F A0 07 35 */ extsh. r0, r29
/* 8003C050 40 81 00 0C */ ble lbl_8003C05C
/* 8003C054 7F 83 E3 78 */ mr r3, r28
/* 8003C058 48 29 2C E5 */ bl __dl__FPv
lbl_8003C05C:
/* 8003C05C 7F 83 E3 78 */ mr r3, r28
/* 8003C060 39 61 00 20 */ addi r11, r1, 0x20
/* 8003C064 48 32 61 C1 */ bl _restgpr_28
/* 8003C068 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003C06C 7C 08 03 A6 */ mtlr r0
/* 8003C070 38 21 00 20 */ addi r1, r1, 0x20
/* 8003C074 4E 80 00 20 */ blr
@@ -1,167 +0,0 @@
lbl_8003A840:
/* 8003A840 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8003A844 7C 08 02 A6 */ mflr r0
/* 8003A848 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003A84C 39 61 00 50 */ addi r11, r1, 0x50
/* 8003A850 48 32 79 69 */ bl _savegpr_20
/* 8003A854 7C 77 1B 78 */ mr r23, r3
/* 8003A858 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003A85C 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003A860 38 63 00 23 */ addi r3, r3, 0x23
/* 8003A864 38 80 00 5D */ li r4, 0x5d
/* 8003A868 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8003A86C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8003A870 3C A5 00 02 */ addis r5, r5, 2
/* 8003A874 38 C0 00 80 */ li r6, 0x80
/* 8003A878 38 A5 C2 F8 */ addi r5, r5, -15624
/* 8003A87C 48 00 1A 71 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 8003A880 7C 65 1B 78 */ mr r5, r3
/* 8003A884 80 77 00 6C */ lwz r3, 0x6c(r23)
/* 8003A888 A3 C3 00 00 */ lhz r30, 0(r3)
/* 8003A88C 38 80 00 01 */ li r4, 1
/* 8003A890 57 C0 28 34 */ slwi r0, r30, 5
/* 8003A894 7C A0 28 50 */ subf r5, r0, r5
/* 8003A898 48 2D 79 85 */ bl addResTIMG__10J3DTextureFUsPC7ResTIMG
/* 8003A89C 38 60 00 94 */ li r3, 0x94
/* 8003A8A0 48 29 43 AD */ bl __nw__FUl
/* 8003A8A4 7C 7D 1B 79 */ or. r29, r3, r3
/* 8003A8A8 41 82 00 10 */ beq lbl_8003A8B8
/* 8003A8AC 3C 80 80 38 */ lis r4, l_texMtxInfo@ha /* 0x80379840@ha */
/* 8003A8B0 38 84 98 40 */ addi r4, r4, l_texMtxInfo@l /* 0x80379840@l */
/* 8003A8B4 48 2E AE 65 */ bl __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo
lbl_8003A8B8:
/* 8003A8B8 3B 20 00 00 */ li r25, 0
/* 8003A8BC 3B 6D 80 A8 */ la r27, l_texCoordInfo(r13) /* 80450628-_SDA_BASE_ */
/* 8003A8C0 3B 42 83 F0 */ la r26, l_alphaCompInfo(r2) /* 80451DF0-_SDA2_BASE_ */
/* 8003A8C4 3C 60 80 38 */ lis r3, l_tevStageInfo@ha /* 0x803798A4@ha */
/* 8003A8C8 3B E3 98 A4 */ addi r31, r3, l_tevStageInfo@l /* 0x803798A4@l */
/* 8003A8CC 48 00 01 D8 */ b lbl_8003AAA4
lbl_8003A8D0:
/* 8003A8D0 80 77 00 60 */ lwz r3, 0x60(r23)
/* 8003A8D4 57 20 13 BA */ rlwinm r0, r25, 2, 0xe, 0x1d
/* 8003A8D8 7F 83 00 2E */ lwzx r28, r3, r0
/* 8003A8DC 82 DC 00 28 */ lwz r22, 0x28(r28)
/* 8003A8E0 7E C3 B3 78 */ mr r3, r22
/* 8003A8E4 81 96 00 00 */ lwz r12, 0(r22)
/* 8003A8E8 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 8003A8EC 7D 89 03 A6 */ mtctr r12
/* 8003A8F0 4E 80 04 21 */ bctrl
/* 8003A8F4 7C 78 1B 78 */ mr r24, r3
/* 8003A8F8 7E C3 B3 78 */ mr r3, r22
/* 8003A8FC 7F 04 C3 78 */ mr r4, r24
/* 8003A900 81 96 00 00 */ lwz r12, 0(r22)
/* 8003A904 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 8003A908 7D 89 03 A6 */ mtctr r12
/* 8003A90C 4E 80 04 21 */ bctrl
/* 8003A910 1C 98 00 03 */ mulli r4, r24, 3
/* 8003A914 38 04 00 1E */ addi r0, r4, 0x1e
/* 8003A918 98 1B 00 02 */ stb r0, 2(r27)
/* 8003A91C 80 0D 80 A8 */ lwz r0, l_texCoordInfo(r13)
/* 8003A920 90 03 00 00 */ stw r0, 0(r3)
/* 8003A924 88 03 00 02 */ lbz r0, 2(r3)
/* 8003A928 B0 03 00 04 */ sth r0, 4(r3)
/* 8003A92C 7E C3 B3 78 */ mr r3, r22
/* 8003A930 38 98 00 01 */ addi r4, r24, 1
/* 8003A934 81 96 00 00 */ lwz r12, 0(r22)
/* 8003A938 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 8003A93C 7D 89 03 A6 */ mtctr r12
/* 8003A940 4E 80 04 21 */ bctrl
/* 8003A944 7E C3 B3 78 */ mr r3, r22
/* 8003A948 7F 04 C3 78 */ mr r4, r24
/* 8003A94C 7F A5 EB 78 */ mr r5, r29
/* 8003A950 81 96 00 00 */ lwz r12, 0(r22)
/* 8003A954 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 8003A958 7D 89 03 A6 */ mtctr r12
/* 8003A95C 4E 80 04 21 */ bctrl
/* 8003A960 82 BC 00 2C */ lwz r21, 0x2c(r28)
/* 8003A964 7E A3 AB 78 */ mr r3, r21
/* 8003A968 81 95 00 00 */ lwz r12, 0(r21)
/* 8003A96C 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 8003A970 7D 89 03 A6 */ mtctr r12
/* 8003A974 4E 80 04 21 */ bctrl
/* 8003A978 7C 76 1B 78 */ mr r22, r3
/* 8003A97C 9B 0D 80 AC */ stb r24, l_tevOrderInfo(r13)
/* 8003A980 7E A3 AB 78 */ mr r3, r21
/* 8003A984 38 80 00 03 */ li r4, 3
/* 8003A988 7F C5 F3 78 */ mr r5, r30
/* 8003A98C 81 95 00 00 */ lwz r12, 0(r21)
/* 8003A990 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 8003A994 7D 89 03 A6 */ mtctr r12
/* 8003A998 4E 80 04 21 */ bctrl
/* 8003A99C 80 0D 80 AC */ lwz r0, l_tevOrderInfo(r13)
/* 8003A9A0 90 01 00 08 */ stw r0, 8(r1)
/* 8003A9A4 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003A9A8 7E A3 AB 78 */ mr r3, r21
/* 8003A9AC 56 D4 06 3E */ clrlwi r20, r22, 0x18
/* 8003A9B0 7E 84 A3 78 */ mr r4, r20
/* 8003A9B4 38 A1 00 0C */ addi r5, r1, 0xc
/* 8003A9B8 81 95 00 00 */ lwz r12, 0(r21)
/* 8003A9BC 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8003A9C0 7D 89 03 A6 */ mtctr r12
/* 8003A9C4 4E 80 04 21 */ bctrl
/* 8003A9C8 38 61 00 10 */ addi r3, r1, 0x10
/* 8003A9CC 7F E4 FB 78 */ mr r4, r31
/* 8003A9D0 48 00 00 FD */ bl __ct__11J3DTevStageFRC15J3DTevStageInfo
/* 8003A9D4 80 83 00 00 */ lwz r4, 0(r3)
/* 8003A9D8 80 03 00 04 */ lwz r0, 4(r3)
/* 8003A9DC 90 81 00 18 */ stw r4, 0x18(r1)
/* 8003A9E0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003A9E4 7E A3 AB 78 */ mr r3, r21
/* 8003A9E8 7E 84 A3 78 */ mr r4, r20
/* 8003A9EC 38 A1 00 18 */ addi r5, r1, 0x18
/* 8003A9F0 81 95 00 00 */ lwz r12, 0(r21)
/* 8003A9F4 81 8C 00 A0 */ lwz r12, 0xa0(r12)
/* 8003A9F8 7D 89 03 A6 */ mtctr r12
/* 8003A9FC 4E 80 04 21 */ bctrl
/* 8003AA00 7E A3 AB 78 */ mr r3, r21
/* 8003AA04 38 16 00 01 */ addi r0, r22, 1
/* 8003AA08 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8003AA0C 81 95 00 00 */ lwz r12, 0(r21)
/* 8003AA10 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 8003AA14 7D 89 03 A6 */ mtctr r12
/* 8003AA18 4E 80 04 21 */ bctrl
/* 8003AA1C 82 BC 00 08 */ lwz r21, 8(r28)
/* 8003AA20 3A 98 00 01 */ addi r20, r24, 1
/* 8003AA24 7E A3 AB 78 */ mr r3, r21
/* 8003AA28 7E 84 A3 78 */ mr r4, r20
/* 8003AA2C 38 A0 00 00 */ li r5, 0
/* 8003AA30 48 2D A1 89 */ bl addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl
/* 8003AA34 7E A3 AB 78 */ mr r3, r21
/* 8003AA38 7E 84 A3 78 */ mr r4, r20
/* 8003AA3C 48 2D A2 81 */ bl addTexMtxIndexInVcd__8J3DShapeF7_GXAttr
/* 8003AA40 82 BC 00 34 */ lwz r21, 0x34(r28)
/* 8003AA44 7E A3 AB 78 */ mr r3, r21
/* 8003AA48 81 95 00 00 */ lwz r12, 0(r21)
/* 8003AA4C 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 8003AA50 7D 89 03 A6 */ mtctr r12
/* 8003AA54 4E 80 04 21 */ bctrl
/* 8003AA58 88 1A 00 01 */ lbz r0, 1(r26)
/* 8003AA5C 98 03 00 02 */ stb r0, 2(r3)
/* 8003AA60 88 1A 00 04 */ lbz r0, 4(r26)
/* 8003AA64 98 03 00 03 */ stb r0, 3(r3)
/* 8003AA68 88 BA 00 03 */ lbz r5, 3(r26)
/* 8003AA6C 88 02 83 F0 */ lbz r0, l_alphaCompInfo(r2)
/* 8003AA70 54 04 2C F4 */ rlwinm r4, r0, 5, 0x13, 0x1a
/* 8003AA74 88 1A 00 02 */ lbz r0, 2(r26)
/* 8003AA78 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c
/* 8003AA7C 7C 00 2A 14 */ add r0, r0, r5
/* 8003AA80 7C 04 02 14 */ add r0, r4, r0
/* 8003AA84 B0 03 00 00 */ sth r0, 0(r3)
/* 8003AA88 7E A3 AB 78 */ mr r3, r21
/* 8003AA8C 38 80 00 00 */ li r4, 0
/* 8003AA90 81 95 00 00 */ lwz r12, 0(r21)
/* 8003AA94 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8003AA98 7D 89 03 A6 */ mtctr r12
/* 8003AA9C 4E 80 04 21 */ bctrl
/* 8003AAA0 3B 39 00 01 */ addi r25, r25, 1
lbl_8003AAA4:
/* 8003AAA4 57 23 04 3E */ clrlwi r3, r25, 0x10
/* 8003AAA8 A0 17 00 5C */ lhz r0, 0x5c(r23)
/* 8003AAAC 7C 03 00 40 */ cmplw r3, r0
/* 8003AAB0 41 80 FE 20 */ blt lbl_8003A8D0
/* 8003AAB4 39 61 00 50 */ addi r11, r1, 0x50
/* 8003AAB8 48 32 77 4D */ bl _restgpr_20
/* 8003AABC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003AAC0 7C 08 03 A6 */ mtlr r0
/* 8003AAC4 38 21 00 50 */ addi r1, r1, 0x50
/* 8003AAC8 4E 80 00 20 */ blr
@@ -1,72 +0,0 @@
lbl_8003B998:
/* 8003B998 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8003B99C 7C 08 02 A6 */ mflr r0
/* 8003B9A0 90 01 00 44 */ stw r0, 0x44(r1)
/* 8003B9A4 39 61 00 40 */ addi r11, r1, 0x40
/* 8003B9A8 48 32 68 21 */ bl _savegpr_24
/* 8003B9AC 7C 7D 1B 78 */ mr r29, r3
/* 8003B9B0 80 63 00 14 */ lwz r3, 0x14(r3)
/* 8003B9B4 83 E3 00 48 */ lwz r31, 0x48(r3)
/* 8003B9B8 3B C0 00 00 */ li r30, 0
/* 8003B9BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8003B9C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8003B9C4 3F 83 00 02 */ addis r28, r3, 2
/* 8003B9C8 3B 9C C2 F8 */ addi r28, r28, -15624
/* 8003B9CC 48 00 00 A4 */ b lbl_8003BA70
lbl_8003B9D0:
/* 8003B9D0 80 7F 00 00 */ lwz r3, 0(r31)
/* 8003B9D4 3C 03 BE AE */ addis r0, r3, 0xbeae
/* 8003B9D8 28 00 43 20 */ cmplwi r0, 0x4320
/* 8003B9DC 40 82 00 8C */ bne lbl_8003BA68
/* 8003B9E0 83 7F 00 0C */ lwz r27, 0xc(r31)
/* 8003B9E4 3B 40 00 00 */ li r26, 0
/* 8003B9E8 48 00 00 74 */ b lbl_8003BA5C
lbl_8003B9EC:
/* 8003B9EC 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8003B9F0 7F 64 DB 78 */ mr r4, r27
/* 8003B9F4 48 29 A8 69 */ bl getFileAttribute__10JKRArchiveCFUl
/* 8003B9F8 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8003B9FC 41 82 00 58 */ beq lbl_8003BA54
/* 8003BA00 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8003BA04 7F 64 DB 78 */ mr r4, r27
/* 8003BA08 48 29 AC 7D */ bl findIdxResource__10JKRArchiveCFUl
/* 8003BA0C 80 03 00 04 */ lwz r0, 4(r3)
/* 8003BA10 54 04 02 3E */ clrlwi r4, r0, 8
/* 8003BA14 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8003BA18 80 03 00 54 */ lwz r0, 0x54(r3)
/* 8003BA1C 7F 20 22 14 */ add r25, r0, r4
/* 8003BA20 7F 23 CB 78 */ mr r3, r25
/* 8003BA24 48 32 D1 C1 */ bl strlen
/* 8003BA28 3B 03 FF FC */ addi r24, r3, -4
/* 8003BA2C 38 61 00 08 */ addi r3, r1, 8
/* 8003BA30 7F 24 CB 78 */ mr r4, r25
/* 8003BA34 7F 05 C3 78 */ mr r5, r24
/* 8003BA38 48 32 D0 B1 */ bl strncpy
/* 8003BA3C 38 00 00 00 */ li r0, 0
/* 8003BA40 38 61 00 08 */ addi r3, r1, 8
/* 8003BA44 7C 03 C1 AE */ stbx r0, r3, r24
/* 8003BA48 7F 84 E3 78 */ mr r4, r28
/* 8003BA4C 38 A0 00 80 */ li r5, 0x80
/* 8003BA50 48 00 07 45 */ bl deleteRes__14dRes_control_cFPCcP11dRes_info_ci
lbl_8003BA54:
/* 8003BA54 3B 7B 00 01 */ addi r27, r27, 1
/* 8003BA58 3B 5A 00 01 */ addi r26, r26, 1
lbl_8003BA5C:
/* 8003BA5C A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 8003BA60 7C 1A 00 00 */ cmpw r26, r0
/* 8003BA64 41 80 FF 88 */ blt lbl_8003B9EC
lbl_8003BA68:
/* 8003BA68 3B FF 00 10 */ addi r31, r31, 0x10
/* 8003BA6C 3B DE 00 01 */ addi r30, r30, 1
lbl_8003BA70:
/* 8003BA70 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8003BA74 80 63 00 44 */ lwz r3, 0x44(r3)
/* 8003BA78 80 03 00 00 */ lwz r0, 0(r3)
/* 8003BA7C 7C 1E 00 00 */ cmpw r30, r0
/* 8003BA80 41 80 FF 50 */ blt lbl_8003B9D0
/* 8003BA84 39 61 00 40 */ addi r11, r1, 0x40
/* 8003BA88 48 32 67 8D */ bl _restgpr_24
/* 8003BA8C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003BA90 7C 08 03 A6 */ mtlr r0
/* 8003BA94 38 21 00 40 */ addi r1, r1, 0x40
/* 8003BA98 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_8003C194:
/* 8003C194 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C198 7C 08 02 A6 */ mflr r0
/* 8003C19C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C1A0 48 00 00 45 */ bl getResInfo__14dRes_control_cFPCcP11dRes_info_ci
/* 8003C1A4 28 03 00 00 */ cmplwi r3, 0
/* 8003C1A8 40 82 00 0C */ bne lbl_8003C1B4
/* 8003C1AC 38 60 00 00 */ li r3, 0
/* 8003C1B0 48 00 00 24 */ b lbl_8003C1D4
lbl_8003C1B4:
/* 8003C1B4 A0 83 00 0C */ lhz r4, 0xc(r3)
/* 8003C1B8 38 04 FF FF */ addi r0, r4, -1
/* 8003C1BC B0 03 00 0C */ sth r0, 0xc(r3)
/* 8003C1C0 54 00 04 3F */ clrlwi. r0, r0, 0x10
/* 8003C1C4 40 82 00 0C */ bne lbl_8003C1D0
/* 8003C1C8 38 80 FF FF */ li r4, -1
/* 8003C1CC 4B FF E0 B5 */ bl __dt__11dRes_info_cFv
lbl_8003C1D0:
/* 8003C1D0 38 60 00 01 */ li r3, 1
lbl_8003C1D4:
/* 8003C1D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C1D8 7C 08 03 A6 */ mtlr r0
/* 8003C1DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C1E0 4E 80 00 20 */ blr
@@ -1,73 +0,0 @@
lbl_8003BD2C:
/* 8003BD2C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8003BD30 7C 08 02 A6 */ mflr r0
/* 8003BD34 90 01 00 44 */ stw r0, 0x44(r1)
/* 8003BD38 39 61 00 40 */ addi r11, r1, 0x40
/* 8003BD3C 48 32 64 91 */ bl _savegpr_25
/* 8003BD40 7C 7E 1B 78 */ mr r30, r3
/* 8003BD44 7C 9F 23 78 */ mr r31, r4
/* 8003BD48 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003BD4C 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003BD50 38 63 00 E3 */ addi r3, r3, 0xe3
/* 8003BD54 7F C4 F3 78 */ mr r4, r30
/* 8003BD58 7F E5 FB 78 */ mr r5, r31
/* 8003BD5C 4C C6 31 82 */ crclr 6
/* 8003BD60 48 2A C8 69 */ bl JUTReportConsole_f
/* 8003BD64 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003BD68 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003BD6C 38 63 01 03 */ addi r3, r3, 0x103
/* 8003BD70 4C C6 31 82 */ crclr 6
/* 8003BD74 48 2A C8 55 */ bl JUTReportConsole_f
/* 8003BD78 3B 80 00 00 */ li r28, 0
/* 8003BD7C 48 00 00 9C */ b lbl_8003BE18
lbl_8003BD80:
/* 8003BD80 A0 1E 00 0C */ lhz r0, 0xc(r30)
/* 8003BD84 2C 00 00 00 */ cmpwi r0, 0
/* 8003BD88 41 82 00 88 */ beq lbl_8003BE10
/* 8003BD8C 83 BE 00 14 */ lwz r29, 0x14(r30)
/* 8003BD90 3B 60 00 00 */ li r27, 0
/* 8003BD94 3B 40 00 00 */ li r26, 0
/* 8003BD98 28 1D 00 00 */ cmplwi r29, 0
/* 8003BD9C 41 82 00 18 */ beq lbl_8003BDB4
/* 8003BDA0 7F A3 EB 78 */ mr r3, r29
/* 8003BDA4 4B FF FC F9 */ bl getArcHeader__FP10JKRArchive
/* 8003BDA8 7C 7B 1B 78 */ mr r27, r3
/* 8003BDAC 4B FF FF 55 */ bl myGetMemBlockSize0__FPv
/* 8003BDB0 7C 7A 1B 78 */ mr r26, r3
lbl_8003BDB4:
/* 8003BDB4 83 3E 00 1C */ lwz r25, 0x1c(r30)
/* 8003BDB8 39 40 00 00 */ li r10, 0
/* 8003BDBC 28 19 00 00 */ cmplwi r25, 0
/* 8003BDC0 41 82 00 10 */ beq lbl_8003BDD0
/* 8003BDC4 7F 23 CB 78 */ mr r3, r25
/* 8003BDC8 4B FF FF 39 */ bl myGetMemBlockSize0__FPv
/* 8003BDCC 7C 6A 1B 78 */ mr r10, r3
lbl_8003BDD0:
/* 8003BDD0 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 8003BDD4 90 01 00 08 */ stw r0, 8(r1)
/* 8003BDD8 A0 1E 00 0C */ lhz r0, 0xc(r30)
/* 8003BDDC 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003BDE0 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8003BDE4 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003BDE8 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003BDEC 38 63 01 51 */ addi r3, r3, 0x151
/* 8003BDF0 7F 84 E3 78 */ mr r4, r28
/* 8003BDF4 80 BE 00 10 */ lwz r5, 0x10(r30)
/* 8003BDF8 7F A6 EB 78 */ mr r6, r29
/* 8003BDFC 7F 67 DB 78 */ mr r7, r27
/* 8003BE00 7F 48 D3 78 */ mr r8, r26
/* 8003BE04 7F 29 CB 78 */ mr r9, r25
/* 8003BE08 4C C6 31 82 */ crclr 6
/* 8003BE0C 48 2A C7 BD */ bl JUTReportConsole_f
lbl_8003BE10:
/* 8003BE10 3B DE 00 24 */ addi r30, r30, 0x24
/* 8003BE14 3B 9C 00 01 */ addi r28, r28, 1
lbl_8003BE18:
/* 8003BE18 7C 1C F8 00 */ cmpw r28, r31
/* 8003BE1C 41 80 FF 64 */ blt lbl_8003BD80
/* 8003BE20 39 61 00 40 */ addi r11, r1, 0x40
/* 8003BE24 48 32 63 F5 */ bl _restgpr_25
/* 8003BE28 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003BE2C 7C 08 03 A6 */ mtlr r0
/* 8003BE30 38 21 00 40 */ addi r1, r1, 0x40
/* 8003BE34 4E 80 00 20 */ blr
@@ -1,13 +0,0 @@
lbl_8003BA9C:
/* 8003BA9C 28 03 00 00 */ cmplwi r3, 0
/* 8003BAA0 41 82 00 1C */ beq lbl_8003BABC
/* 8003BAA4 88 03 00 3C */ lbz r0, 0x3c(r3)
/* 8003BAA8 2C 00 00 01 */ cmpwi r0, 1
/* 8003BAAC 41 82 00 08 */ beq lbl_8003BAB4
/* 8003BAB0 48 00 00 0C */ b lbl_8003BABC
lbl_8003BAB4:
/* 8003BAB4 80 63 00 64 */ lwz r3, 0x64(r3)
/* 8003BAB8 4E 80 00 20 */ blr
lbl_8003BABC:
/* 8003BABC 38 60 00 00 */ li r3, 0
/* 8003BAC0 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
lbl_8003C400:
/* 8003C400 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C404 7C 08 02 A6 */ mflr r0
/* 8003C408 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C40C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C410 93 C1 00 08 */ stw r30, 8(r1)
/* 8003C414 7C 9E 23 78 */ mr r30, r4
/* 8003C418 7C A4 2B 78 */ mr r4, r5
/* 8003C41C 7C C5 33 78 */ mr r5, r6
/* 8003C420 4B FF FE 69 */ bl getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci
/* 8003C424 7C 7F 1B 79 */ or. r31, r3, r3
/* 8003C428 40 82 00 08 */ bne lbl_8003C430
/* 8003C42C 48 00 00 2C */ b lbl_8003C458
lbl_8003C430:
/* 8003C430 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8003C434 7F C4 F3 78 */ mr r4, r30
/* 8003C438 4B FD 2D E9 */ bl mDoExt_resIDToIndex__FP10JKRArchiveUs
/* 8003C43C 2C 03 00 00 */ cmpwi r3, 0
/* 8003C440 40 80 00 0C */ bge lbl_8003C44C
/* 8003C444 38 60 00 00 */ li r3, 0
/* 8003C448 48 00 00 10 */ b lbl_8003C458
lbl_8003C44C:
/* 8003C44C 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 8003C450 54 60 10 3A */ slwi r0, r3, 2
/* 8003C454 7C 64 00 2E */ lwzx r3, r4, r0
lbl_8003C458:
/* 8003C458 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C45C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003C460 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C464 7C 08 03 A6 */ mtlr r0
/* 8003C468 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C46C 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_8003C37C:
/* 8003C37C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003C380 7C 08 02 A6 */ mflr r0
/* 8003C384 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C388 39 61 00 20 */ addi r11, r1, 0x20
/* 8003C38C 48 32 5E 51 */ bl _savegpr_29
/* 8003C390 7C 9D 23 78 */ mr r29, r4
/* 8003C394 7C A4 2B 78 */ mr r4, r5
/* 8003C398 7C C5 33 78 */ mr r5, r6
/* 8003C39C 4B FF FE ED */ bl getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci
/* 8003C3A0 7C 7F 1B 79 */ or. r31, r3, r3
/* 8003C3A4 40 82 00 08 */ bne lbl_8003C3AC
/* 8003C3A8 48 00 00 40 */ b lbl_8003C3E8
lbl_8003C3AC:
/* 8003C3AC 83 DF 00 14 */ lwz r30, 0x14(r31)
/* 8003C3B0 7F C3 F3 78 */ mr r3, r30
/* 8003C3B4 7F A4 EB 78 */ mr r4, r29
/* 8003C3B8 48 29 A2 F5 */ bl findNameResource__10JKRArchiveCFPCc
/* 8003C3BC 28 03 00 00 */ cmplwi r3, 0
/* 8003C3C0 41 82 00 24 */ beq lbl_8003C3E4
/* 8003C3C4 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 8003C3C8 80 1E 00 4C */ lwz r0, 0x4c(r30)
/* 8003C3CC 7C 60 18 50 */ subf r3, r0, r3
/* 8003C3D0 38 00 00 14 */ li r0, 0x14
/* 8003C3D4 7C 03 03 D6 */ divw r0, r3, r0
/* 8003C3D8 54 00 10 3A */ slwi r0, r0, 2
/* 8003C3DC 7C 64 00 2E */ lwzx r3, r4, r0
/* 8003C3E0 48 00 00 08 */ b lbl_8003C3E8
lbl_8003C3E4:
/* 8003C3E4 38 60 00 00 */ li r3, 0
lbl_8003C3E8:
/* 8003C3E8 39 61 00 20 */ addi r11, r1, 0x20
/* 8003C3EC 48 32 5E 3D */ bl _restgpr_29
/* 8003C3F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003C3F4 7C 08 03 A6 */ mtlr r0
/* 8003C3F8 38 21 00 20 */ addi r1, r1, 0x20
/* 8003C3FC 4E 80 00 20 */ blr
@@ -1,40 +0,0 @@
lbl_8003C2EC:
/* 8003C2EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C2F0 7C 08 02 A6 */ mflr r0
/* 8003C2F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C2F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C2FC 93 C1 00 08 */ stw r30, 8(r1)
/* 8003C300 7C 7E 1B 78 */ mr r30, r3
/* 8003C304 7C 9F 23 78 */ mr r31, r4
/* 8003C308 7C A4 2B 78 */ mr r4, r5
/* 8003C30C 7C C5 33 78 */ mr r5, r6
/* 8003C310 4B FF FF 79 */ bl getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci
/* 8003C314 28 03 00 00 */ cmplwi r3, 0
/* 8003C318 40 82 00 08 */ bne lbl_8003C320
/* 8003C31C 48 00 00 48 */ b lbl_8003C364
lbl_8003C320:
/* 8003C320 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8003C324 80 84 00 44 */ lwz r4, 0x44(r4)
/* 8003C328 80 C4 00 08 */ lwz r6, 8(r4)
/* 8003C32C 7C 1F 30 00 */ cmpw r31, r6
/* 8003C330 41 80 00 28 */ blt lbl_8003C358
/* 8003C334 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003C338 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003C33C 38 63 02 E8 */ addi r3, r3, 0x2e8
/* 8003C340 7F C4 F3 78 */ mr r4, r30
/* 8003C344 7F E5 FB 78 */ mr r5, r31
/* 8003C348 4C C6 31 82 */ crclr 6
/* 8003C34C 4B FC A8 C1 */ bl OSReport_Error
/* 8003C350 38 60 00 00 */ li r3, 0
/* 8003C354 48 00 00 10 */ b lbl_8003C364
lbl_8003C358:
/* 8003C358 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003C35C 57 E0 10 3A */ slwi r0, r31, 2
/* 8003C360 7C 63 00 2E */ lwzx r3, r3, r0
lbl_8003C364:
/* 8003C364 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C368 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003C36C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C370 7C 08 03 A6 */ mtlr r0
/* 8003C374 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C378 4E 80 00 20 */ blr
@@ -1,63 +0,0 @@
lbl_8003AC1C:
/* 8003AC1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003AC20 7C 08 02 A6 */ mflr r0
/* 8003AC24 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003AC28 39 61 00 20 */ addi r11, r1, 0x20
/* 8003AC2C 48 32 75 A9 */ bl _savegpr_27
/* 8003AC30 7C 7B 1B 78 */ mr r27, r3
/* 8003AC34 3B 80 00 00 */ li r28, 0
/* 8003AC38 48 00 00 A8 */ b lbl_8003ACE0
lbl_8003AC3C:
/* 8003AC3C 80 7B 00 60 */ lwz r3, 0x60(r27)
/* 8003AC40 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 8003AC44 7F E3 00 2E */ lwzx r31, r3, r0
/* 8003AC48 83 DF 00 2C */ lwz r30, 0x2c(r31)
/* 8003AC4C 7F C3 F3 78 */ mr r3, r30
/* 8003AC50 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003AC54 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 8003AC58 7D 89 03 A6 */ mtctr r12
/* 8003AC5C 4E 80 04 21 */ bctrl
/* 8003AC60 7C 60 1B 78 */ mr r0, r3
/* 8003AC64 7F C3 F3 78 */ mr r3, r30
/* 8003AC68 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8003AC6C 3B A4 FF FF */ addi r29, r4, -1
/* 8003AC70 7F A4 EB 78 */ mr r4, r29
/* 8003AC74 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003AC78 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8003AC7C 7D 89 03 A6 */ mtctr r12
/* 8003AC80 4E 80 04 21 */ bctrl
/* 8003AC84 88 03 00 01 */ lbz r0, 1(r3)
/* 8003AC88 28 00 00 03 */ cmplwi r0, 3
/* 8003AC8C 40 82 00 64 */ bne lbl_8003ACF0
/* 8003AC90 7F C3 F3 78 */ mr r3, r30
/* 8003AC94 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8003AC98 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003AC9C 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 8003ACA0 7D 89 03 A6 */ mtctr r12
/* 8003ACA4 4E 80 04 21 */ bctrl
/* 8003ACA8 83 DF 00 28 */ lwz r30, 0x28(r31)
/* 8003ACAC 7F C3 F3 78 */ mr r3, r30
/* 8003ACB0 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003ACB4 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 8003ACB8 7D 89 03 A6 */ mtctr r12
/* 8003ACBC 4E 80 04 21 */ bctrl
/* 8003ACC0 7C 64 1B 78 */ mr r4, r3
/* 8003ACC4 7F C3 F3 78 */ mr r3, r30
/* 8003ACC8 38 84 FF FF */ addi r4, r4, -1
/* 8003ACCC 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003ACD0 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 8003ACD4 7D 89 03 A6 */ mtctr r12
/* 8003ACD8 4E 80 04 21 */ bctrl
/* 8003ACDC 3B 9C 00 01 */ addi r28, r28, 1
lbl_8003ACE0:
/* 8003ACE0 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 8003ACE4 A0 1B 00 5C */ lhz r0, 0x5c(r27)
/* 8003ACE8 7C 03 00 40 */ cmplw r3, r0
/* 8003ACEC 41 80 FF 50 */ blt lbl_8003AC3C
lbl_8003ACF0:
/* 8003ACF0 39 61 00 20 */ addi r11, r1, 0x20
/* 8003ACF4 48 32 75 2D */ bl _restgpr_27
/* 8003ACF8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003ACFC 7C 08 03 A6 */ mtlr r0
/* 8003AD00 38 21 00 20 */ addi r1, r1, 0x20
/* 8003AD04 4E 80 00 20 */ blr
@@ -1,63 +0,0 @@
lbl_8003AB30:
/* 8003AB30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003AB34 7C 08 02 A6 */ mflr r0
/* 8003AB38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003AB3C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003AB40 48 32 76 95 */ bl _savegpr_27
/* 8003AB44 7C 7B 1B 78 */ mr r27, r3
/* 8003AB48 3B 80 00 00 */ li r28, 0
/* 8003AB4C 48 00 00 A8 */ b lbl_8003ABF4
lbl_8003AB50:
/* 8003AB50 80 7B 00 60 */ lwz r3, 0x60(r27)
/* 8003AB54 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 8003AB58 7F E3 00 2E */ lwzx r31, r3, r0
/* 8003AB5C 83 DF 00 2C */ lwz r30, 0x2c(r31)
/* 8003AB60 7F C3 F3 78 */ mr r3, r30
/* 8003AB64 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003AB68 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 8003AB6C 7D 89 03 A6 */ mtctr r12
/* 8003AB70 4E 80 04 21 */ bctrl
/* 8003AB74 7C 60 1B 78 */ mr r0, r3
/* 8003AB78 7F C3 F3 78 */ mr r3, r30
/* 8003AB7C 54 1D 06 3E */ clrlwi r29, r0, 0x18
/* 8003AB80 38 9D FF FF */ addi r4, r29, -1
/* 8003AB84 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003AB88 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8003AB8C 7D 89 03 A6 */ mtctr r12
/* 8003AB90 4E 80 04 21 */ bctrl
/* 8003AB94 88 03 00 01 */ lbz r0, 1(r3)
/* 8003AB98 28 00 00 03 */ cmplwi r0, 3
/* 8003AB9C 41 82 00 68 */ beq lbl_8003AC04
/* 8003ABA0 7F C3 F3 78 */ mr r3, r30
/* 8003ABA4 38 1D 00 01 */ addi r0, r29, 1
/* 8003ABA8 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8003ABAC 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003ABB0 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 8003ABB4 7D 89 03 A6 */ mtctr r12
/* 8003ABB8 4E 80 04 21 */ bctrl
/* 8003ABBC 83 DF 00 28 */ lwz r30, 0x28(r31)
/* 8003ABC0 7F C3 F3 78 */ mr r3, r30
/* 8003ABC4 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003ABC8 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 8003ABCC 7D 89 03 A6 */ mtctr r12
/* 8003ABD0 4E 80 04 21 */ bctrl
/* 8003ABD4 7C 64 1B 78 */ mr r4, r3
/* 8003ABD8 7F C3 F3 78 */ mr r3, r30
/* 8003ABDC 38 84 00 01 */ addi r4, r4, 1
/* 8003ABE0 81 9E 00 00 */ lwz r12, 0(r30)
/* 8003ABE4 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 8003ABE8 7D 89 03 A6 */ mtctr r12
/* 8003ABEC 4E 80 04 21 */ bctrl
/* 8003ABF0 3B 9C 00 01 */ addi r28, r28, 1
lbl_8003ABF4:
/* 8003ABF4 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 8003ABF8 A0 1B 00 5C */ lhz r0, 0x5c(r27)
/* 8003ABFC 7C 03 00 40 */ cmplw r3, r0
/* 8003AC00 41 80 FF 50 */ blt lbl_8003AB50
lbl_8003AC04:
/* 8003AC04 39 61 00 20 */ addi r11, r1, 0x20
/* 8003AC08 48 32 76 19 */ bl _restgpr_27
/* 8003AC0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003AC10 7C 08 03 A6 */ mtlr r0
/* 8003AC14 38 21 00 20 */ addi r1, r1, 0x20
/* 8003AC18 4E 80 00 20 */ blr
@@ -1,234 +0,0 @@
lbl_8003A490:
/* 8003A490 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A494 7C 08 02 A6 */ mflr r0
/* 8003A498 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A49C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003A4A0 48 32 7D 35 */ bl _savegpr_27
/* 8003A4A4 83 C3 00 6C */ lwz r30, 0x6c(r3)
/* 8003A4A8 28 1E 00 00 */ cmplwi r30, 0
/* 8003A4AC 41 82 03 58 */ beq lbl_8003A804
/* 8003A4B0 83 A3 00 70 */ lwz r29, 0x70(r3)
/* 8003A4B4 28 1D 00 00 */ cmplwi r29, 0
/* 8003A4B8 41 82 03 4C */ beq lbl_8003A804
/* 8003A4BC 3B 60 00 00 */ li r27, 0
/* 8003A4C0 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003A4C4 3B E3 98 B8 */ addi r31, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003A4C8 48 00 03 2C */ b lbl_8003A7F4
lbl_8003A4CC:
/* 8003A4CC 7F A3 EB 78 */ mr r3, r29
/* 8003A4D0 7F 64 DB 78 */ mr r4, r27
/* 8003A4D4 48 2A 46 25 */ bl getName__10JUTNameTabCFUs
/* 8003A4D8 7C 7C 1B 78 */ mr r28, r3
/* 8003A4DC 38 9F 00 09 */ addi r4, r31, 9
/* 8003A4E0 38 A0 00 0C */ li r5, 0xc
/* 8003A4E4 48 32 BB A9 */ bl memcmp
/* 8003A4E8 2C 03 00 00 */ cmpwi r3, 0
/* 8003A4EC 40 82 00 F4 */ bne lbl_8003A5E0
/* 8003A4F0 80 8D 86 4C */ lwz r4, mFrameBufferTimg__13mDoGph_gInf_c(r13)
/* 8003A4F4 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A4F8 57 60 2A F4 */ rlwinm r0, r27, 5, 0xb, 0x1a
/* 8003A4FC 7C 63 02 14 */ add r3, r3, r0
/* 8003A500 88 A4 00 00 */ lbz r5, 0(r4)
/* 8003A504 98 A3 00 00 */ stb r5, 0(r3)
/* 8003A508 88 A4 00 01 */ lbz r5, 1(r4)
/* 8003A50C 98 A3 00 01 */ stb r5, 1(r3)
/* 8003A510 A0 A4 00 02 */ lhz r5, 2(r4)
/* 8003A514 B0 A3 00 02 */ sth r5, 2(r3)
/* 8003A518 A0 A4 00 04 */ lhz r5, 4(r4)
/* 8003A51C B0 A3 00 04 */ sth r5, 4(r3)
/* 8003A520 88 A4 00 06 */ lbz r5, 6(r4)
/* 8003A524 98 A3 00 06 */ stb r5, 6(r3)
/* 8003A528 88 A4 00 07 */ lbz r5, 7(r4)
/* 8003A52C 98 A3 00 07 */ stb r5, 7(r3)
/* 8003A530 88 A4 00 08 */ lbz r5, 8(r4)
/* 8003A534 98 A3 00 08 */ stb r5, 8(r3)
/* 8003A538 88 A4 00 09 */ lbz r5, 9(r4)
/* 8003A53C 98 A3 00 09 */ stb r5, 9(r3)
/* 8003A540 A0 A4 00 0A */ lhz r5, 0xa(r4)
/* 8003A544 B0 A3 00 0A */ sth r5, 0xa(r3)
/* 8003A548 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 8003A54C 90 A3 00 0C */ stw r5, 0xc(r3)
/* 8003A550 88 A4 00 10 */ lbz r5, 0x10(r4)
/* 8003A554 98 A3 00 10 */ stb r5, 0x10(r3)
/* 8003A558 88 A4 00 11 */ lbz r5, 0x11(r4)
/* 8003A55C 98 A3 00 11 */ stb r5, 0x11(r3)
/* 8003A560 88 A4 00 12 */ lbz r5, 0x12(r4)
/* 8003A564 98 A3 00 12 */ stb r5, 0x12(r3)
/* 8003A568 88 A4 00 13 */ lbz r5, 0x13(r4)
/* 8003A56C 98 A3 00 13 */ stb r5, 0x13(r3)
/* 8003A570 88 A4 00 14 */ lbz r5, 0x14(r4)
/* 8003A574 98 A3 00 14 */ stb r5, 0x14(r3)
/* 8003A578 88 A4 00 15 */ lbz r5, 0x15(r4)
/* 8003A57C 98 A3 00 15 */ stb r5, 0x15(r3)
/* 8003A580 88 A4 00 16 */ lbz r5, 0x16(r4)
/* 8003A584 98 A3 00 16 */ stb r5, 0x16(r3)
/* 8003A588 88 A4 00 17 */ lbz r5, 0x17(r4)
/* 8003A58C 98 A3 00 17 */ stb r5, 0x17(r3)
/* 8003A590 88 A4 00 18 */ lbz r5, 0x18(r4)
/* 8003A594 98 A3 00 18 */ stb r5, 0x18(r3)
/* 8003A598 88 A4 00 19 */ lbz r5, 0x19(r4)
/* 8003A59C 98 A3 00 19 */ stb r5, 0x19(r3)
/* 8003A5A0 A8 A4 00 1A */ lha r5, 0x1a(r4)
/* 8003A5A4 B0 A3 00 1A */ sth r5, 0x1a(r3)
/* 8003A5A8 80 A4 00 1C */ lwz r5, 0x1c(r4)
/* 8003A5AC 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 8003A5B0 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A5B4 7C A3 02 14 */ add r5, r3, r0
/* 8003A5B8 80 65 00 1C */ lwz r3, 0x1c(r5)
/* 8003A5BC 7C 64 1A 14 */ add r3, r4, r3
/* 8003A5C0 7C 65 18 50 */ subf r3, r5, r3
/* 8003A5C4 90 65 00 1C */ stw r3, 0x1c(r5)
/* 8003A5C8 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A5CC 7C 63 02 14 */ add r3, r3, r0
/* 8003A5D0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8003A5D4 7C 04 02 14 */ add r0, r4, r0
/* 8003A5D8 7C 03 00 50 */ subf r0, r3, r0
/* 8003A5DC 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8003A5E0:
/* 8003A5E0 7F 83 E3 78 */ mr r3, r28
/* 8003A5E4 38 9F 00 15 */ addi r4, r31, 0x15
/* 8003A5E8 38 A0 00 06 */ li r5, 6
/* 8003A5EC 48 32 BA A1 */ bl memcmp
/* 8003A5F0 2C 03 00 00 */ cmpwi r3, 0
/* 8003A5F4 40 82 00 F4 */ bne lbl_8003A6E8
/* 8003A5F8 80 8D 86 4C */ lwz r4, mFrameBufferTimg__13mDoGph_gInf_c(r13)
/* 8003A5FC 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A600 57 60 2A F4 */ rlwinm r0, r27, 5, 0xb, 0x1a
/* 8003A604 7C 63 02 14 */ add r3, r3, r0
/* 8003A608 88 A4 00 00 */ lbz r5, 0(r4)
/* 8003A60C 98 A3 00 00 */ stb r5, 0(r3)
/* 8003A610 88 A4 00 01 */ lbz r5, 1(r4)
/* 8003A614 98 A3 00 01 */ stb r5, 1(r3)
/* 8003A618 A0 A4 00 02 */ lhz r5, 2(r4)
/* 8003A61C B0 A3 00 02 */ sth r5, 2(r3)
/* 8003A620 A0 A4 00 04 */ lhz r5, 4(r4)
/* 8003A624 B0 A3 00 04 */ sth r5, 4(r3)
/* 8003A628 88 A4 00 06 */ lbz r5, 6(r4)
/* 8003A62C 98 A3 00 06 */ stb r5, 6(r3)
/* 8003A630 88 A4 00 07 */ lbz r5, 7(r4)
/* 8003A634 98 A3 00 07 */ stb r5, 7(r3)
/* 8003A638 88 A4 00 08 */ lbz r5, 8(r4)
/* 8003A63C 98 A3 00 08 */ stb r5, 8(r3)
/* 8003A640 88 A4 00 09 */ lbz r5, 9(r4)
/* 8003A644 98 A3 00 09 */ stb r5, 9(r3)
/* 8003A648 A0 A4 00 0A */ lhz r5, 0xa(r4)
/* 8003A64C B0 A3 00 0A */ sth r5, 0xa(r3)
/* 8003A650 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 8003A654 90 A3 00 0C */ stw r5, 0xc(r3)
/* 8003A658 88 A4 00 10 */ lbz r5, 0x10(r4)
/* 8003A65C 98 A3 00 10 */ stb r5, 0x10(r3)
/* 8003A660 88 A4 00 11 */ lbz r5, 0x11(r4)
/* 8003A664 98 A3 00 11 */ stb r5, 0x11(r3)
/* 8003A668 88 A4 00 12 */ lbz r5, 0x12(r4)
/* 8003A66C 98 A3 00 12 */ stb r5, 0x12(r3)
/* 8003A670 88 A4 00 13 */ lbz r5, 0x13(r4)
/* 8003A674 98 A3 00 13 */ stb r5, 0x13(r3)
/* 8003A678 88 A4 00 14 */ lbz r5, 0x14(r4)
/* 8003A67C 98 A3 00 14 */ stb r5, 0x14(r3)
/* 8003A680 88 A4 00 15 */ lbz r5, 0x15(r4)
/* 8003A684 98 A3 00 15 */ stb r5, 0x15(r3)
/* 8003A688 88 A4 00 16 */ lbz r5, 0x16(r4)
/* 8003A68C 98 A3 00 16 */ stb r5, 0x16(r3)
/* 8003A690 88 A4 00 17 */ lbz r5, 0x17(r4)
/* 8003A694 98 A3 00 17 */ stb r5, 0x17(r3)
/* 8003A698 88 A4 00 18 */ lbz r5, 0x18(r4)
/* 8003A69C 98 A3 00 18 */ stb r5, 0x18(r3)
/* 8003A6A0 88 A4 00 19 */ lbz r5, 0x19(r4)
/* 8003A6A4 98 A3 00 19 */ stb r5, 0x19(r3)
/* 8003A6A8 A8 A4 00 1A */ lha r5, 0x1a(r4)
/* 8003A6AC B0 A3 00 1A */ sth r5, 0x1a(r3)
/* 8003A6B0 80 A4 00 1C */ lwz r5, 0x1c(r4)
/* 8003A6B4 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 8003A6B8 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A6BC 7C A3 02 14 */ add r5, r3, r0
/* 8003A6C0 80 65 00 1C */ lwz r3, 0x1c(r5)
/* 8003A6C4 7C 64 1A 14 */ add r3, r4, r3
/* 8003A6C8 7C 65 18 50 */ subf r3, r5, r3
/* 8003A6CC 90 65 00 1C */ stw r3, 0x1c(r5)
/* 8003A6D0 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A6D4 7C 63 02 14 */ add r3, r3, r0
/* 8003A6D8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8003A6DC 7C 04 02 14 */ add r0, r4, r0
/* 8003A6E0 7C 03 00 50 */ subf r0, r3, r0
/* 8003A6E4 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8003A6E8:
/* 8003A6E8 7F 83 E3 78 */ mr r3, r28
/* 8003A6EC 38 9F 00 1B */ addi r4, r31, 0x1b
/* 8003A6F0 38 A0 00 08 */ li r5, 8
/* 8003A6F4 48 32 B9 99 */ bl memcmp
/* 8003A6F8 2C 03 00 00 */ cmpwi r3, 0
/* 8003A6FC 40 82 00 F4 */ bne lbl_8003A7F0
/* 8003A700 80 8D 86 54 */ lwz r4, mZbufferTimg__13mDoGph_gInf_c(r13)
/* 8003A704 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A708 57 60 2A F4 */ rlwinm r0, r27, 5, 0xb, 0x1a
/* 8003A70C 7C 63 02 14 */ add r3, r3, r0
/* 8003A710 88 A4 00 00 */ lbz r5, 0(r4)
/* 8003A714 98 A3 00 00 */ stb r5, 0(r3)
/* 8003A718 88 A4 00 01 */ lbz r5, 1(r4)
/* 8003A71C 98 A3 00 01 */ stb r5, 1(r3)
/* 8003A720 A0 A4 00 02 */ lhz r5, 2(r4)
/* 8003A724 B0 A3 00 02 */ sth r5, 2(r3)
/* 8003A728 A0 A4 00 04 */ lhz r5, 4(r4)
/* 8003A72C B0 A3 00 04 */ sth r5, 4(r3)
/* 8003A730 88 A4 00 06 */ lbz r5, 6(r4)
/* 8003A734 98 A3 00 06 */ stb r5, 6(r3)
/* 8003A738 88 A4 00 07 */ lbz r5, 7(r4)
/* 8003A73C 98 A3 00 07 */ stb r5, 7(r3)
/* 8003A740 88 A4 00 08 */ lbz r5, 8(r4)
/* 8003A744 98 A3 00 08 */ stb r5, 8(r3)
/* 8003A748 88 A4 00 09 */ lbz r5, 9(r4)
/* 8003A74C 98 A3 00 09 */ stb r5, 9(r3)
/* 8003A750 A0 A4 00 0A */ lhz r5, 0xa(r4)
/* 8003A754 B0 A3 00 0A */ sth r5, 0xa(r3)
/* 8003A758 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 8003A75C 90 A3 00 0C */ stw r5, 0xc(r3)
/* 8003A760 88 A4 00 10 */ lbz r5, 0x10(r4)
/* 8003A764 98 A3 00 10 */ stb r5, 0x10(r3)
/* 8003A768 88 A4 00 11 */ lbz r5, 0x11(r4)
/* 8003A76C 98 A3 00 11 */ stb r5, 0x11(r3)
/* 8003A770 88 A4 00 12 */ lbz r5, 0x12(r4)
/* 8003A774 98 A3 00 12 */ stb r5, 0x12(r3)
/* 8003A778 88 A4 00 13 */ lbz r5, 0x13(r4)
/* 8003A77C 98 A3 00 13 */ stb r5, 0x13(r3)
/* 8003A780 88 A4 00 14 */ lbz r5, 0x14(r4)
/* 8003A784 98 A3 00 14 */ stb r5, 0x14(r3)
/* 8003A788 88 A4 00 15 */ lbz r5, 0x15(r4)
/* 8003A78C 98 A3 00 15 */ stb r5, 0x15(r3)
/* 8003A790 88 A4 00 16 */ lbz r5, 0x16(r4)
/* 8003A794 98 A3 00 16 */ stb r5, 0x16(r3)
/* 8003A798 88 A4 00 17 */ lbz r5, 0x17(r4)
/* 8003A79C 98 A3 00 17 */ stb r5, 0x17(r3)
/* 8003A7A0 88 A4 00 18 */ lbz r5, 0x18(r4)
/* 8003A7A4 98 A3 00 18 */ stb r5, 0x18(r3)
/* 8003A7A8 88 A4 00 19 */ lbz r5, 0x19(r4)
/* 8003A7AC 98 A3 00 19 */ stb r5, 0x19(r3)
/* 8003A7B0 A8 A4 00 1A */ lha r5, 0x1a(r4)
/* 8003A7B4 B0 A3 00 1A */ sth r5, 0x1a(r3)
/* 8003A7B8 80 A4 00 1C */ lwz r5, 0x1c(r4)
/* 8003A7BC 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 8003A7C0 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A7C4 7C A3 02 14 */ add r5, r3, r0
/* 8003A7C8 80 65 00 1C */ lwz r3, 0x1c(r5)
/* 8003A7CC 7C 64 1A 14 */ add r3, r4, r3
/* 8003A7D0 7C 65 18 50 */ subf r3, r5, r3
/* 8003A7D4 90 65 00 1C */ stw r3, 0x1c(r5)
/* 8003A7D8 80 7E 00 04 */ lwz r3, 4(r30)
/* 8003A7DC 7C 63 02 14 */ add r3, r3, r0
/* 8003A7E0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8003A7E4 7C 04 02 14 */ add r0, r4, r0
/* 8003A7E8 7C 03 00 50 */ subf r0, r3, r0
/* 8003A7EC 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8003A7F0:
/* 8003A7F0 3B 7B 00 01 */ addi r27, r27, 1
lbl_8003A7F4:
/* 8003A7F4 57 63 04 3E */ clrlwi r3, r27, 0x10
/* 8003A7F8 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8003A7FC 7C 03 00 40 */ cmplw r3, r0
/* 8003A800 41 80 FC CC */ blt lbl_8003A4CC
lbl_8003A804:
/* 8003A804 39 61 00 20 */ addi r11, r1, 0x20
/* 8003A808 48 32 7A 19 */ bl _restgpr_27
/* 8003A80C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A810 7C 08 03 A6 */ mtlr r0
/* 8003A814 38 21 00 20 */ addi r1, r1, 0x20
/* 8003A818 4E 80 00 20 */ blr
@@ -1,62 +0,0 @@
lbl_8003C078:
/* 8003C078 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003C07C 7C 08 02 A6 */ mflr r0
/* 8003C080 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003C084 39 61 00 30 */ addi r11, r1, 0x30
/* 8003C088 48 32 61 45 */ bl _savegpr_25
/* 8003C08C 7C 79 1B 78 */ mr r25, r3
/* 8003C090 7C 9A 23 78 */ mr r26, r4
/* 8003C094 7C BB 2B 78 */ mr r27, r5
/* 8003C098 7C DC 33 78 */ mr r28, r6
/* 8003C09C 7C FD 3B 78 */ mr r29, r7
/* 8003C0A0 7D 1E 43 78 */ mr r30, r8
/* 8003C0A4 48 00 01 41 */ bl getResInfo__14dRes_control_cFPCcP11dRes_info_ci
/* 8003C0A8 7C 7F 1B 79 */ or. r31, r3, r3
/* 8003C0AC 40 82 00 8C */ bne lbl_8003C138
/* 8003C0B0 7F 43 D3 78 */ mr r3, r26
/* 8003C0B4 7F 64 DB 78 */ mr r4, r27
/* 8003C0B8 48 00 01 A9 */ bl newResInfo__14dRes_control_cFP11dRes_info_ci
/* 8003C0BC 7C 7F 1B 79 */ or. r31, r3, r3
/* 8003C0C0 40 82 00 30 */ bne lbl_8003C0F0
/* 8003C0C4 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003C0C8 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003C0CC 38 63 02 41 */ addi r3, r3, 0x241
/* 8003C0D0 7F 24 CB 78 */ mr r4, r25
/* 8003C0D4 4C C6 31 82 */ crclr 6
/* 8003C0D8 4B FC AB 35 */ bl OSReport_Error
/* 8003C0DC 7F E3 FB 78 */ mr r3, r31
/* 8003C0E0 38 80 FF FF */ li r4, -1
/* 8003C0E4 4B FF E1 9D */ bl __dt__11dRes_info_cFv
/* 8003C0E8 38 60 00 00 */ li r3, 0
/* 8003C0EC 48 00 00 5C */ b lbl_8003C148
lbl_8003C0F0:
/* 8003C0F0 7F 24 CB 78 */ mr r4, r25
/* 8003C0F4 7F 85 E3 78 */ mr r5, r28
/* 8003C0F8 7F A6 EB 78 */ mr r6, r29
/* 8003C0FC 7F C7 F3 78 */ mr r7, r30
/* 8003C100 4B FF E2 49 */ bl set__11dRes_info_cFPCcPCcUcP7JKRHeap
/* 8003C104 2C 03 00 00 */ cmpwi r3, 0
/* 8003C108 40 82 00 30 */ bne lbl_8003C138
/* 8003C10C 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */
/* 8003C110 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */
/* 8003C114 38 63 02 88 */ addi r3, r3, 0x288
/* 8003C118 7F 24 CB 78 */ mr r4, r25
/* 8003C11C 4C C6 31 82 */ crclr 6
/* 8003C120 4B FC AA ED */ bl OSReport_Error
/* 8003C124 7F E3 FB 78 */ mr r3, r31
/* 8003C128 38 80 FF FF */ li r4, -1
/* 8003C12C 4B FF E1 55 */ bl __dt__11dRes_info_cFv
/* 8003C130 38 60 00 00 */ li r3, 0
/* 8003C134 48 00 00 14 */ b lbl_8003C148
lbl_8003C138:
/* 8003C138 A0 7F 00 0C */ lhz r3, 0xc(r31)
/* 8003C13C 38 03 00 01 */ addi r0, r3, 1
/* 8003C140 B0 1F 00 0C */ sth r0, 0xc(r31)
/* 8003C144 38 60 00 01 */ li r3, 1
lbl_8003C148:
/* 8003C148 39 61 00 30 */ addi r11, r1, 0x30
/* 8003C14C 48 32 60 CD */ bl _restgpr_25
/* 8003C150 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003C154 7C 08 03 A6 */ mtlr r0
/* 8003C158 38 21 00 30 */ addi r1, r1, 0x30
/* 8003C15C 4E 80 00 20 */ blr
@@ -1,68 +0,0 @@
lbl_8003AD08:
/* 8003AD08 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003AD0C 7C 08 02 A6 */ mflr r0
/* 8003AD10 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003AD14 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003AD18 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */
/* 8003AD1C DB C1 00 10 */ stfd f30, 0x10(r1)
/* 8003AD20 F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */
/* 8003AD24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003AD28 93 C1 00 08 */ stw r30, 8(r1)
/* 8003AD2C 7C 9E 23 78 */ mr r30, r4
/* 8003AD30 FF C0 08 90 */ fmr f30, f1
/* 8003AD34 FF E0 10 90 */ fmr f31, f2
/* 8003AD38 80 63 00 60 */ lwz r3, 0x60(r3)
/* 8003AD3C 80 63 00 00 */ lwz r3, 0(r3)
/* 8003AD40 83 E3 00 28 */ lwz r31, 0x28(r3)
/* 8003AD44 7F E3 FB 78 */ mr r3, r31
/* 8003AD48 81 9F 00 00 */ lwz r12, 0(r31)
/* 8003AD4C 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 8003AD50 7D 89 03 A6 */ mtctr r12
/* 8003AD54 4E 80 04 21 */ bctrl
/* 8003AD58 7C 64 1B 78 */ mr r4, r3
/* 8003AD5C 7F E3 FB 78 */ mr r3, r31
/* 8003AD60 38 84 FF FF */ addi r4, r4, -1
/* 8003AD64 81 9F 00 00 */ lwz r12, 0(r31)
/* 8003AD68 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8003AD6C 7D 89 03 A6 */ mtctr r12
/* 8003AD70 4E 80 04 21 */ bctrl
/* 8003AD74 7C 7F 1B 78 */ mr r31, r3
/* 8003AD78 D3 C3 00 1C */ stfs f30, 0x1c(r3)
/* 8003AD7C D3 E3 00 20 */ stfs f31, 0x20(r3)
/* 8003AD80 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8003AD84 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8003AD88 C0 1E 00 00 */ lfs f0, 0(r30)
/* 8003AD8C FC 20 00 50 */ fneg f1, f0
/* 8003AD90 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8003AD94 FC 40 00 50 */ fneg f2, f0
/* 8003AD98 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8003AD9C FC 60 00 50 */ fneg f3, f0
/* 8003ADA0 48 30 BB 49 */ bl PSMTXTrans
/* 8003ADA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8003ADA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8003ADAC 88 03 5D B0 */ lbz r0, 0x5db0(r3)
/* 8003ADB0 7C 00 07 74 */ extsb r0, r0
/* 8003ADB4 1C 00 00 38 */ mulli r0, r0, 0x38
/* 8003ADB8 7C 63 02 14 */ add r3, r3, r0
/* 8003ADBC 80 63 5D 74 */ lwz r3, 0x5d74(r3)
/* 8003ADC0 A8 83 02 32 */ lha r4, 0x232(r3)
/* 8003ADC4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8003ADC8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8003ADCC 4B FD 16 69 */ bl mDoMtx_YrotM__FPA4_fs
/* 8003ADD0 3C 60 80 38 */ lis r3, l_texMtxInfo@ha /* 0x80379840@ha */
/* 8003ADD4 38 63 98 40 */ addi r3, r3, l_texMtxInfo@l /* 0x80379840@l */
/* 8003ADD8 38 63 00 24 */ addi r3, r3, 0x24
/* 8003ADDC 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8003ADE0 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8003ADE4 38 BF 00 24 */ addi r5, r31, 0x24
/* 8003ADE8 48 30 B6 FD */ bl PSMTXConcat
/* 8003ADEC E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */
/* 8003ADF0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003ADF4 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */
/* 8003ADF8 CB C1 00 10 */ lfd f30, 0x10(r1)
/* 8003ADFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003AE00 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003AE04 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003AE08 7C 08 03 A6 */ mtlr r0
/* 8003AE0C 38 21 00 30 */ addi r1, r1, 0x30
/* 8003AE10 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
lbl_8009BCB4:
/* 8009BCB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009BCB8 7C 08 02 A6 */ mflr r0
/* 8009BCBC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009BCC0 39 61 00 20 */ addi r11, r1, 0x20
/* 8009BCC4 48 2C 65 0D */ bl _savegpr_26
/* 8009BCC8 7C 7B 1B 78 */ mr r27, r3
/* 8009BCCC 7C 9C 23 78 */ mr r28, r4
/* 8009BCD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8009BCD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8009BCD8 85 83 4E 20 */ lwzu r12, 0x4e20(r3)
/* 8009BCDC 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8009BCE0 7D 89 03 A6 */ mtctr r12
/* 8009BCE4 4E 80 04 21 */ bctrl
/* 8009BCE8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8009BCEC 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f
/* 8009BCF0 28 00 00 03 */ cmplwi r0, 3
/* 8009BCF4 41 82 01 1C */ beq lbl_8009BE10
/* 8009BCF8 4B FF FF 75 */ bl reset__7dTres_cFv
/* 8009BCFC 83 FB 00 04 */ lwz r31, 4(r27)
/* 8009BD00 80 6D 8A 18 */ lwz r3, mTypeGroupData__7dTres_c(r13)
/* 8009BD04 A0 0D 8A 1C */ lhz r0, mNum__7dTres_c(r13)
/* 8009BD08 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 8009BD0C 7F C3 02 14 */ add r30, r3, r0
/* 8009BD10 3B A0 00 00 */ li r29, 0
/* 8009BD14 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */
/* 8009BD18 3B 43 54 38 */ addi r26, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */
/* 8009BD1C 48 00 00 E8 */ b lbl_8009BE04
lbl_8009BD20:
/* 8009BD20 88 1F 00 00 */ lbz r0, 0(r31)
/* 8009BD24 98 1E 00 00 */ stb r0, 0(r30)
/* 8009BD28 88 1F 00 01 */ lbz r0, 1(r31)
/* 8009BD2C 98 1E 00 01 */ stb r0, 1(r30)
/* 8009BD30 88 1F 00 02 */ lbz r0, 2(r31)
/* 8009BD34 98 1E 00 02 */ stb r0, 2(r30)
/* 8009BD38 88 1F 00 03 */ lbz r0, 3(r31)
/* 8009BD3C 98 1E 00 03 */ stb r0, 3(r30)
/* 8009BD40 80 7F 00 04 */ lwz r3, 4(r31)
/* 8009BD44 80 1F 00 08 */ lwz r0, 8(r31)
/* 8009BD48 90 7E 00 04 */ stw r3, 4(r30)
/* 8009BD4C 90 1E 00 08 */ stw r0, 8(r30)
/* 8009BD50 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8009BD54 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8009BD58 88 1F 00 10 */ lbz r0, 0x10(r31)
/* 8009BD5C 98 1E 00 10 */ stb r0, 0x10(r30)
/* 8009BD60 88 1F 00 11 */ lbz r0, 0x11(r31)
/* 8009BD64 98 1E 00 11 */ stb r0, 0x11(r30)
/* 8009BD68 88 1F 00 12 */ lbz r0, 0x12(r31)
/* 8009BD6C 98 1E 00 12 */ stb r0, 0x12(r30)
/* 8009BD70 88 1F 00 13 */ lbz r0, 0x13(r31)
/* 8009BD74 98 1E 00 13 */ stb r0, 0x13(r30)
/* 8009BD78 9B 9E 00 01 */ stb r28, 1(r30)
/* 8009BD7C 38 00 00 00 */ li r0, 0
/* 8009BD80 98 1E 00 02 */ stb r0, 2(r30)
/* 8009BD84 88 7E 00 11 */ lbz r3, 0x11(r30)
/* 8009BD88 48 00 07 29 */ bl getTypeToTypeGroupNo__7dTres_cFUc
/* 8009BD8C 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 8009BD90 38 00 00 00 */ li r0, 0
/* 8009BD94 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8009BD98 98 7E 00 18 */ stb r3, 0x18(r30)
/* 8009BD9C 1C 04 00 0C */ mulli r0, r4, 0xc
/* 8009BDA0 7C 9A 02 14 */ add r4, r26, r0
/* 8009BDA4 80 04 00 00 */ lwz r0, 0(r4)
/* 8009BDA8 28 00 00 00 */ cmplwi r0, 0
/* 8009BDAC 40 82 00 08 */ bne lbl_8009BDB4
/* 8009BDB0 93 C4 00 00 */ stw r30, 0(r4)
lbl_8009BDB4:
/* 8009BDB4 80 64 00 04 */ lwz r3, 4(r4)
/* 8009BDB8 28 03 00 00 */ cmplwi r3, 0
/* 8009BDBC 41 82 00 08 */ beq lbl_8009BDC4
/* 8009BDC0 93 C3 00 14 */ stw r30, 0x14(r3)
lbl_8009BDC4:
/* 8009BDC4 93 C4 00 04 */ stw r30, 4(r4)
/* 8009BDC8 88 64 00 08 */ lbz r3, 8(r4)
/* 8009BDCC 38 03 00 01 */ addi r0, r3, 1
/* 8009BDD0 98 04 00 08 */ stb r0, 8(r4)
/* 8009BDD4 88 1E 00 11 */ lbz r0, 0x11(r30)
/* 8009BDD8 2C 00 00 FF */ cmpwi r0, 0xff
/* 8009BDDC 41 82 00 08 */ beq lbl_8009BDE4
/* 8009BDE0 48 00 00 0C */ b lbl_8009BDEC
lbl_8009BDE4:
/* 8009BDE4 7F C3 F3 78 */ mr r3, r30
/* 8009BDE8 48 00 00 41 */ bl checkTreasureBox__7dTres_cFPQ27dTres_c6data_s
lbl_8009BDEC:
/* 8009BDEC A0 6D 8A 1C */ lhz r3, mNum__7dTres_c(r13)
/* 8009BDF0 38 03 00 01 */ addi r0, r3, 1
/* 8009BDF4 B0 0D 8A 1C */ sth r0, mNum__7dTres_c(r13)
/* 8009BDF8 3B BD 00 01 */ addi r29, r29, 1
/* 8009BDFC 3B FF 00 14 */ addi r31, r31, 0x14
/* 8009BE00 3B DE 00 1C */ addi r30, r30, 0x1c
lbl_8009BE04:
/* 8009BE04 80 1B 00 00 */ lwz r0, 0(r27)
/* 8009BE08 7C 1D 00 00 */ cmpw r29, r0
/* 8009BE0C 41 80 FF 14 */ blt lbl_8009BD20
lbl_8009BE10:
/* 8009BE10 39 61 00 20 */ addi r11, r1, 0x20
/* 8009BE14 48 2C 64 09 */ bl _restgpr_26
/* 8009BE18 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009BE1C 7C 08 03 A6 */ mtlr r0
/* 8009BE20 38 21 00 20 */ addi r1, r1, 0x20
/* 8009BE24 4E 80 00 20 */ blr
@@ -1,225 +0,0 @@
lbl_8009BE28:
/* 8009BE28 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8009BE2C 7C 08 02 A6 */ mflr r0
/* 8009BE30 90 01 00 74 */ stw r0, 0x74(r1)
/* 8009BE34 39 61 00 70 */ addi r11, r1, 0x70
/* 8009BE38 48 2C 63 99 */ bl _savegpr_26
/* 8009BE3C 7C 7D 1B 78 */ mr r29, r3
/* 8009BE40 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8009BE44 28 00 00 FF */ cmplwi r0, 0xff
/* 8009BE48 41 82 03 08 */ beq lbl_8009C150
/* 8009BE4C 88 7D 00 03 */ lbz r3, 3(r29)
/* 8009BE50 28 03 00 FF */ cmplwi r3, 0xff
/* 8009BE54 41 82 02 FC */ beq lbl_8009C150
/* 8009BE58 38 80 FF FF */ li r4, -1
/* 8009BE5C 4B FB 59 91 */ bl dPath_GetRoomPath__Fii
/* 8009BE60 7C 7F 1B 79 */ or. r31, r3, r3
/* 8009BE64 41 82 02 EC */ beq lbl_8009C150
/* 8009BE68 88 1D 00 12 */ lbz r0, 0x12(r29)
/* 8009BE6C 28 00 00 00 */ cmplwi r0, 0
/* 8009BE70 40 82 02 80 */ bne lbl_8009C0F0
/* 8009BE74 3B 60 00 00 */ li r27, 0
/* 8009BE78 3B 40 00 00 */ li r26, 0
/* 8009BE7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8009BE80 3B 83 61 C0 */ addi r28, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8009BE84 3B C0 00 01 */ li r30, 1
lbl_8009BE88:
/* 8009BE88 7F 83 E3 78 */ mr r3, r28
/* 8009BE8C 88 1D 00 10 */ lbz r0, 0x10(r29)
/* 8009BE90 7C 80 D2 14 */ add r4, r0, r26
/* 8009BE94 88 BD 00 01 */ lbz r5, 1(r29)
/* 8009BE98 7C A5 07 74 */ extsb r5, r5
/* 8009BE9C 4B F9 94 C5 */ bl isSwitch__10dSv_info_cCFii
/* 8009BEA0 20 03 00 00 */ subfic r0, r3, 0
/* 8009BEA4 7C 60 01 10 */ subfe r3, r0, r0
/* 8009BEA8 7F C0 D0 30 */ slw r0, r30, r26
/* 8009BEAC 7C 00 18 38 */ and r0, r0, r3
/* 8009BEB0 7C 1B 02 14 */ add r0, r27, r0
/* 8009BEB4 7C 1B 07 34 */ extsh r27, r0
/* 8009BEB8 3B 5A 00 01 */ addi r26, r26, 1
/* 8009BEBC 2C 1A 00 04 */ cmpwi r26, 4
/* 8009BEC0 41 80 FF C8 */ blt lbl_8009BE88
/* 8009BEC4 7F 60 07 35 */ extsh. r0, r27
/* 8009BEC8 41 82 01 FC */ beq lbl_8009C0C4
/* 8009BECC C0 42 91 E8 */ lfs f2, lit_3839(r2)
/* 8009BED0 38 1B FF FF */ addi r0, r27, -1
/* 8009BED4 1C 60 00 18 */ mulli r3, r0, 0x18
/* 8009BED8 38 03 00 0C */ addi r0, r3, 0xc
/* 8009BEDC C8 22 92 08 */ lfd f1, lit_3845(r2)
/* 8009BEE0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8009BEE4 90 01 00 4C */ stw r0, 0x4c(r1)
/* 8009BEE8 3C 00 43 30 */ lis r0, 0x4330
/* 8009BEEC 90 01 00 48 */ stw r0, 0x48(r1)
/* 8009BEF0 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 8009BEF4 EC 00 08 28 */ fsubs f0, f0, f1
/* 8009BEF8 EC 02 00 32 */ fmuls f0, f2, f0
/* 8009BEFC FC 00 00 1E */ fctiwz f0, f0
/* 8009BF00 D8 01 00 50 */ stfd f0, 0x50(r1)
/* 8009BF04 83 C1 00 54 */ lwz r30, 0x54(r1)
/* 8009BF08 80 9F 00 08 */ lwz r4, 8(r31)
/* 8009BF0C C0 84 00 04 */ lfs f4, 4(r4)
/* 8009BF10 D0 81 00 3C */ stfs f4, 0x3c(r1)
/* 8009BF14 C0 04 00 08 */ lfs f0, 8(r4)
/* 8009BF18 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8009BF1C C0 64 00 0C */ lfs f3, 0xc(r4)
/* 8009BF20 D0 61 00 44 */ stfs f3, 0x44(r1)
/* 8009BF24 A0 7F 00 00 */ lhz r3, 0(r31)
/* 8009BF28 38 03 FF FF */ addi r0, r3, -1
/* 8009BF2C 54 03 20 36 */ slwi r3, r0, 4
/* 8009BF30 38 63 00 04 */ addi r3, r3, 4
/* 8009BF34 7C 64 1A 14 */ add r3, r4, r3
/* 8009BF38 C0 43 00 00 */ lfs f2, 0(r3)
/* 8009BF3C D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8009BF40 C0 03 00 04 */ lfs f0, 4(r3)
/* 8009BF44 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 8009BF48 C0 23 00 08 */ lfs f1, 8(r3)
/* 8009BF4C D0 21 00 38 */ stfs f1, 0x38(r1)
/* 8009BF50 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8009BF54 C0 02 91 EC */ lfs f0, lit_3840(r2)
/* 8009BF58 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8009BF5C D0 61 00 14 */ stfs f3, 0x14(r1)
/* 8009BF60 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8009BF64 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8009BF68 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8009BF6C 38 61 00 0C */ addi r3, r1, 0xc
/* 8009BF70 38 81 00 18 */ addi r4, r1, 0x18
/* 8009BF74 48 2A B4 29 */ bl PSVECSquareDistance
/* 8009BF78 C0 02 91 EC */ lfs f0, lit_3840(r2)
/* 8009BF7C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8009BF80 40 81 00 58 */ ble lbl_8009BFD8
/* 8009BF84 FC 00 08 34 */ frsqrte f0, f1
/* 8009BF88 C8 82 91 F0 */ lfd f4, lit_3841(r2)
/* 8009BF8C FC 44 00 32 */ fmul f2, f4, f0
/* 8009BF90 C8 62 91 F8 */ lfd f3, lit_3842(r2)
/* 8009BF94 FC 00 00 32 */ fmul f0, f0, f0
/* 8009BF98 FC 01 00 32 */ fmul f0, f1, f0
/* 8009BF9C FC 03 00 28 */ fsub f0, f3, f0
/* 8009BFA0 FC 02 00 32 */ fmul f0, f2, f0
/* 8009BFA4 FC 44 00 32 */ fmul f2, f4, f0
/* 8009BFA8 FC 00 00 32 */ fmul f0, f0, f0
/* 8009BFAC FC 01 00 32 */ fmul f0, f1, f0
/* 8009BFB0 FC 03 00 28 */ fsub f0, f3, f0
/* 8009BFB4 FC 02 00 32 */ fmul f0, f2, f0
/* 8009BFB8 FC 44 00 32 */ fmul f2, f4, f0
/* 8009BFBC FC 00 00 32 */ fmul f0, f0, f0
/* 8009BFC0 FC 01 00 32 */ fmul f0, f1, f0
/* 8009BFC4 FC 03 00 28 */ fsub f0, f3, f0
/* 8009BFC8 FC 02 00 32 */ fmul f0, f2, f0
/* 8009BFCC FC 21 00 32 */ fmul f1, f1, f0
/* 8009BFD0 FC 20 08 18 */ frsp f1, f1
/* 8009BFD4 48 00 00 88 */ b lbl_8009C05C
lbl_8009BFD8:
/* 8009BFD8 C8 02 92 00 */ lfd f0, lit_3843(r2)
/* 8009BFDC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8009BFE0 40 80 00 10 */ bge lbl_8009BFF0
/* 8009BFE4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8009BFE8 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8009BFEC 48 00 00 70 */ b lbl_8009C05C
lbl_8009BFF0:
/* 8009BFF0 D0 21 00 08 */ stfs f1, 8(r1)
/* 8009BFF4 80 81 00 08 */ lwz r4, 8(r1)
/* 8009BFF8 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8009BFFC 3C 00 7F 80 */ lis r0, 0x7f80
/* 8009C000 7C 03 00 00 */ cmpw r3, r0
/* 8009C004 41 82 00 14 */ beq lbl_8009C018
/* 8009C008 40 80 00 40 */ bge lbl_8009C048
/* 8009C00C 2C 03 00 00 */ cmpwi r3, 0
/* 8009C010 41 82 00 20 */ beq lbl_8009C030
/* 8009C014 48 00 00 34 */ b lbl_8009C048
lbl_8009C018:
/* 8009C018 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8009C01C 41 82 00 0C */ beq lbl_8009C028
/* 8009C020 38 00 00 01 */ li r0, 1
/* 8009C024 48 00 00 28 */ b lbl_8009C04C
lbl_8009C028:
/* 8009C028 38 00 00 02 */ li r0, 2
/* 8009C02C 48 00 00 20 */ b lbl_8009C04C
lbl_8009C030:
/* 8009C030 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8009C034 41 82 00 0C */ beq lbl_8009C040
/* 8009C038 38 00 00 05 */ li r0, 5
/* 8009C03C 48 00 00 10 */ b lbl_8009C04C
lbl_8009C040:
/* 8009C040 38 00 00 03 */ li r0, 3
/* 8009C044 48 00 00 08 */ b lbl_8009C04C
lbl_8009C048:
/* 8009C048 38 00 00 04 */ li r0, 4
lbl_8009C04C:
/* 8009C04C 2C 00 00 01 */ cmpwi r0, 1
/* 8009C050 40 82 00 0C */ bne lbl_8009C05C
/* 8009C054 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8009C058 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8009C05C:
/* 8009C05C C0 02 91 EC */ lfs f0, lit_3840(r2)
/* 8009C060 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8009C064 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8009C068 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8009C06C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8009C070 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8009C074 7F C4 F3 78 */ mr r4, r30
/* 8009C078 4B F7 03 65 */ bl mDoMtx_YrotS__FPA4_fs
/* 8009C07C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8009C080 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8009C084 38 81 00 24 */ addi r4, r1, 0x24
/* 8009C088 7C 85 23 78 */ mr r5, r4
/* 8009C08C 48 2A AC E1 */ bl PSMTXMultVec
/* 8009C090 38 61 00 24 */ addi r3, r1, 0x24
/* 8009C094 38 81 00 3C */ addi r4, r1, 0x3c
/* 8009C098 7C 65 1B 78 */ mr r5, r3
/* 8009C09C 48 2A AF F5 */ bl PSVECAdd
/* 8009C0A0 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8009C0A4 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8009C0A8 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8009C0AC D0 1D 00 04 */ stfs f0, 4(r29)
/* 8009C0B0 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8009C0B4 D0 1D 00 08 */ stfs f0, 8(r29)
/* 8009C0B8 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8009C0BC D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 8009C0C0 48 00 00 20 */ b lbl_8009C0E0
lbl_8009C0C4:
/* 8009C0C4 80 7F 00 08 */ lwz r3, 8(r31)
/* 8009C0C8 C0 03 00 04 */ lfs f0, 4(r3)
/* 8009C0CC D0 1D 00 04 */ stfs f0, 4(r29)
/* 8009C0D0 C0 03 00 08 */ lfs f0, 8(r3)
/* 8009C0D4 D0 1D 00 08 */ stfs f0, 8(r29)
/* 8009C0D8 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8009C0DC D0 1D 00 0C */ stfs f0, 0xc(r29)
lbl_8009C0E0:
/* 8009C0E0 88 7D 00 01 */ lbz r3, 1(r29)
/* 8009C0E4 38 9D 00 04 */ addi r4, r29, 4
/* 8009C0E8 4B FA 2C 79 */ bl correctionOriginPos__10dMapInfo_nFScP3Vec
/* 8009C0EC 48 00 00 64 */ b lbl_8009C150
lbl_8009C0F0:
/* 8009C0F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8009C0F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8009C0F8 88 9D 00 10 */ lbz r4, 0x10(r29)
/* 8009C0FC 88 BD 00 01 */ lbz r5, 1(r29)
/* 8009C100 7C A5 07 74 */ extsb r5, r5
/* 8009C104 4B F9 92 5D */ bl isSwitch__10dSv_info_cCFii
/* 8009C108 2C 03 00 00 */ cmpwi r3, 0
/* 8009C10C 41 82 00 1C */ beq lbl_8009C128
/* 8009C110 80 9F 00 08 */ lwz r4, 8(r31)
/* 8009C114 A0 7F 00 00 */ lhz r3, 0(r31)
/* 8009C118 38 03 FF FF */ addi r0, r3, -1
/* 8009C11C 54 00 20 36 */ slwi r0, r0, 4
/* 8009C120 7C 64 02 14 */ add r3, r4, r0
/* 8009C124 48 00 00 08 */ b lbl_8009C12C
lbl_8009C128:
/* 8009C128 80 7F 00 08 */ lwz r3, 8(r31)
lbl_8009C12C:
/* 8009C12C C0 03 00 04 */ lfs f0, 4(r3)
/* 8009C130 D0 1D 00 04 */ stfs f0, 4(r29)
/* 8009C134 C0 03 00 08 */ lfs f0, 8(r3)
/* 8009C138 D0 1D 00 08 */ stfs f0, 8(r29)
/* 8009C13C C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8009C140 D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 8009C144 88 7D 00 01 */ lbz r3, 1(r29)
/* 8009C148 38 9D 00 04 */ addi r4, r29, 4
/* 8009C14C 4B FA 2C 15 */ bl correctionOriginPos__10dMapInfo_nFScP3Vec
lbl_8009C150:
/* 8009C150 39 61 00 70 */ addi r11, r1, 0x70
/* 8009C154 48 2C 60 C9 */ bl _restgpr_26
/* 8009C158 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8009C15C 7C 08 03 A6 */ mtlr r0
/* 8009C160 38 21 00 70 */ addi r1, r1, 0x70
/* 8009C164 4E 80 00 20 */ blr
-17
View File
@@ -1,17 +0,0 @@
lbl_8009BBD8:
/* 8009BBD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009BBDC 7C 08 02 A6 */ mflr r0
/* 8009BBE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8009BBE4 38 60 07 10 */ li r3, 0x710
/* 8009BBE8 48 23 30 DD */ bl __nwa__FUl
/* 8009BBEC 38 80 00 00 */ li r4, 0
/* 8009BBF0 38 A0 00 00 */ li r5, 0
/* 8009BBF4 38 C0 00 1C */ li r6, 0x1c
/* 8009BBF8 38 E0 00 40 */ li r7, 0x40
/* 8009BBFC 48 2C 63 19 */ bl __construct_new_array
/* 8009BC00 90 6D 8A 18 */ stw r3, mTypeGroupData__7dTres_c(r13)
/* 8009BC04 38 60 00 01 */ li r3, 1
/* 8009BC08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009BC0C 7C 08 03 A6 */ mtlr r0
/* 8009BC10 38 21 00 10 */ addi r1, r1, 0x10
/* 8009BC14 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_8009C1F0:
/* 8009C1F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009C1F4 7C 08 02 A6 */ mflr r0
/* 8009C1F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009C1FC 39 61 00 20 */ addi r11, r1, 0x20
/* 8009C200 48 2C 5F D9 */ bl _savegpr_28
/* 8009C204 7C 7D 1B 78 */ mr r29, r3
/* 8009C208 7C 9C 23 78 */ mr r28, r4
/* 8009C20C 7C BF 2B 78 */ mr r31, r5
/* 8009C210 48 00 01 51 */ bl getFirstData__7dTres_cFUc
/* 8009C214 3C 80 80 42 */ lis r4, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */
/* 8009C218 38 84 54 38 */ addi r4, r4, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */
/* 8009C21C 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 8009C220 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8009C224 7C 84 02 14 */ add r4, r4, r0
/* 8009C228 8B C4 00 08 */ lbz r30, 8(r4)
/* 8009C22C 3B A0 00 00 */ li r29, 0
/* 8009C230 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 8009C234 7C 1F 00 F8 */ nor r31, r0, r0
/* 8009C238 48 00 00 24 */ b lbl_8009C25C
lbl_8009C23C:
/* 8009C23C 88 03 00 00 */ lbz r0, 0(r3)
/* 8009C240 7C 1C 00 00 */ cmpw r28, r0
/* 8009C244 40 82 00 10 */ bne lbl_8009C254
/* 8009C248 88 03 00 02 */ lbz r0, 2(r3)
/* 8009C24C 7C 00 F8 38 */ and r0, r0, r31
/* 8009C250 98 03 00 02 */ stb r0, 2(r3)
lbl_8009C254:
/* 8009C254 48 00 01 49 */ bl getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c
/* 8009C258 3B BD 00 01 */ addi r29, r29, 1
lbl_8009C25C:
/* 8009C25C 7C 1D F0 00 */ cmpw r29, r30
/* 8009C260 41 80 FF DC */ blt lbl_8009C23C
/* 8009C264 39 61 00 20 */ addi r11, r1, 0x20
/* 8009C268 48 2C 5F BD */ bl _restgpr_28
/* 8009C26C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009C270 7C 08 03 A6 */ mtlr r0
/* 8009C274 38 21 00 20 */ addi r1, r1, 0x20
/* 8009C278 4E 80 00 20 */ blr
+15 -15
View File
@@ -121,7 +121,7 @@ lbl_8006F404:
/* 8006F40C 90 01 00 08 */ stw r0, 8(r1)
/* 8006F410 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8006F414 7F A4 EB 78 */ mr r4, r29
/* 8006F418 4B FF FD C1 */ bl func_8006F1D8
/* 8006F418 4B FF FD C1 */ bl func_8006F1D8__Fll
/* 8006F41C 80 01 00 08 */ lwz r0, 8(r1)
/* 8006F420 7C 00 1B 78 */ or r0, r0, r3
/* 8006F424 90 01 00 08 */ stw r0, 8(r1)
@@ -154,11 +154,11 @@ lbl_8006F484:
/* 8006F488 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 8006F48C 7F C4 F3 78 */ mr r4, r30
/* 8006F490 80 BF 00 88 */ lwz r5, 0x88(r31)
/* 8006F494 4B FF FC F1 */ bl func_8006F184
/* 8006F494 4B FF FC F1 */ bl func_8006F184__FUlll
/* 8006F498 90 61 00 08 */ stw r3, 8(r1)
/* 8006F49C 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 8006F4A0 7F C4 F3 78 */ mr r4, r30
/* 8006F4A4 4B FF FD 35 */ bl func_8006F1D8
/* 8006F4A4 4B FF FD 35 */ bl func_8006F1D8__Fll
/* 8006F4A8 80 01 00 08 */ lwz r0, 8(r1)
/* 8006F4AC 7C 00 1B 78 */ or r0, r0, r3
/* 8006F4B0 90 01 00 08 */ stw r0, 8(r1)
@@ -197,10 +197,10 @@ lbl_8006F510:
/* 8006F52C 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 8006F530 80 9F 00 34 */ lwz r4, 0x34(r31)
/* 8006F534 7F C5 F3 78 */ mr r5, r30
/* 8006F538 4B FF FC 6D */ bl func_8006F1A4
/* 8006F538 4B FF FC 6D */ bl func_8006F1A4__FUlll
/* 8006F53C 7F C4 F3 78 */ mr r4, r30
/* 8006F540 80 BF 00 88 */ lwz r5, 0x88(r31)
/* 8006F544 4B FF FC 41 */ bl func_8006F184
/* 8006F544 4B FF FC 41 */ bl func_8006F184__FUlll
/* 8006F548 80 01 00 08 */ lwz r0, 8(r1)
/* 8006F54C 7C 00 1B 78 */ or r0, r0, r3
/* 8006F550 90 01 00 08 */ stw r0, 8(r1)
@@ -211,7 +211,7 @@ lbl_8006F510:
/* 8006F564 7C 03 03 78 */ mr r3, r0
lbl_8006F568:
/* 8006F568 7F C4 F3 78 */ mr r4, r30
/* 8006F56C 4B FF FC 6D */ bl func_8006F1D8
/* 8006F56C 4B FF FC 6D */ bl func_8006F1D8__Fll
/* 8006F570 80 01 00 08 */ lwz r0, 8(r1)
/* 8006F574 7C 00 1B 78 */ or r0, r0, r3
/* 8006F578 90 01 00 08 */ stw r0, 8(r1)
@@ -351,13 +351,13 @@ lbl_8006F750:
/* 8006F754 83 BF 00 58 */ lwz r29, 0x58(r31)
/* 8006F758 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 8006F75C 7F C4 F3 78 */ mr r4, r30
/* 8006F760 4B FF FA 79 */ bl func_8006F1D8
/* 8006F760 4B FF FA 79 */ bl func_8006F1D8__Fll
/* 8006F764 7F BD 1B 78 */ or r29, r29, r3
/* 8006F768 93 DF 00 68 */ stw r30, 0x68(r31)
/* 8006F76C 38 6D 89 D0 */ la r3, data(r13) /* 80450F50-_SDA_BASE_ */
/* 8006F770 7F A4 EB 78 */ mr r4, r29
/* 8006F774 7F C5 F3 78 */ mr r5, r30
/* 8006F778 4B FF F9 F1 */ bl func_8006F168
/* 8006F778 4B FF F9 F1 */ bl func_8006F168__FPUsUll
/* 8006F77C 7C 64 1B 78 */ mr r4, r3
/* 8006F780 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
/* 8006F784 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */
@@ -372,18 +372,18 @@ lbl_8006F7A0:
/* 8006F7A4 80 7F 00 74 */ lwz r3, 0x74(r31)
/* 8006F7A8 7F A4 EB 78 */ mr r4, r29
/* 8006F7AC 80 BF 00 88 */ lwz r5, 0x88(r31)
/* 8006F7B0 4B FF F9 D5 */ bl func_8006F184
/* 8006F7B0 4B FF F9 D5 */ bl func_8006F184__FUlll
/* 8006F7B4 7C 7E 1B 78 */ mr r30, r3
/* 8006F7B8 80 7F 00 7C */ lwz r3, 0x7c(r31)
/* 8006F7BC 7F A4 EB 78 */ mr r4, r29
/* 8006F7C0 4B FF FA 19 */ bl func_8006F1D8
/* 8006F7C0 4B FF FA 19 */ bl func_8006F1D8__Fll
/* 8006F7C4 7F C4 1B 78 */ or r4, r30, r3
/* 8006F7C8 3C 60 80 00 */ lis r3, 0x8000 /* 0x7FFFFFFF@ha */
/* 8006F7CC 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x7FFFFFFF@l */
/* 8006F7D0 90 1F 00 84 */ stw r0, 0x84(r31)
/* 8006F7D4 38 6D 89 D0 */ la r3, data(r13) /* 80450F50-_SDA_BASE_ */
/* 8006F7D8 7F A5 EB 78 */ mr r5, r29
/* 8006F7DC 4B FF F9 8D */ bl func_8006F168
/* 8006F7DC 4B FF F9 8D */ bl func_8006F168__FPUsUll
/* 8006F7E0 7C 64 1B 78 */ mr r4, r3
/* 8006F7E4 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
/* 8006F7E8 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */
@@ -402,10 +402,10 @@ lbl_8006F804:
/* 8006F818 80 7F 00 74 */ lwz r3, 0x74(r31)
/* 8006F81C 80 9F 00 78 */ lwz r4, 0x78(r31)
/* 8006F820 7F A5 EB 78 */ mr r5, r29
/* 8006F824 4B FF F9 81 */ bl func_8006F1A4
/* 8006F824 4B FF F9 81 */ bl func_8006F1A4__FUlll
/* 8006F828 7F A4 EB 78 */ mr r4, r29
/* 8006F82C 80 BF 00 88 */ lwz r5, 0x88(r31)
/* 8006F830 4B FF F9 55 */ bl func_8006F184
/* 8006F830 4B FF F9 55 */ bl func_8006F184__FUlll
/* 8006F834 7F DE 1B 78 */ or r30, r30, r3
/* 8006F838 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 8006F83C 80 7F 00 7C */ lwz r3, 0x7c(r31)
@@ -414,7 +414,7 @@ lbl_8006F804:
/* 8006F848 7C 03 03 78 */ mr r3, r0
lbl_8006F84C:
/* 8006F84C 7F A4 EB 78 */ mr r4, r29
/* 8006F850 4B FF F9 89 */ bl func_8006F1D8
/* 8006F850 4B FF F9 89 */ bl func_8006F1D8__Fll
/* 8006F854 7F DE 1B 78 */ or r30, r30, r3
/* 8006F858 93 BF 00 84 */ stw r29, 0x84(r31)
/* 8006F85C 93 BF 00 68 */ stw r29, 0x68(r31)
@@ -424,7 +424,7 @@ lbl_8006F84C:
/* 8006F86C 38 6D 89 D0 */ la r3, data(r13) /* 80450F50-_SDA_BASE_ */
/* 8006F870 7F C4 F3 78 */ mr r4, r30
/* 8006F874 7F A5 EB 78 */ mr r5, r29
/* 8006F878 4B FF F8 F1 */ bl func_8006F168
/* 8006F878 4B FF F8 F1 */ bl func_8006F168__FPUsUll
/* 8006F87C 7C 64 1B 78 */ mr r4, r3
/* 8006F880 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */
/* 8006F884 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */
@@ -1,101 +0,0 @@
lbl_8006FC0C:
/* 8006FC0C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8006FC10 7C 08 02 A6 */ mflr r0
/* 8006FC14 90 01 00 24 */ stw r0, 0x24(r1)
/* 8006FC18 39 61 00 20 */ addi r11, r1, 0x20
/* 8006FC1C 48 2F 25 B5 */ bl _savegpr_26
/* 8006FC20 7C 7B 1B 78 */ mr r27, r3
/* 8006FC24 7C 9C 23 78 */ mr r28, r4
/* 8006FC28 7C BD 2B 78 */ mr r29, r5
/* 8006FC2C 7C DE 33 78 */ mr r30, r6
/* 8006FC30 3B E0 00 00 */ li r31, 0
/* 8006FC34 88 04 00 00 */ lbz r0, 0(r4)
/* 8006FC38 88 84 00 01 */ lbz r4, 1(r4)
/* 8006FC3C 7C 83 23 78 */ mr r3, r4
/* 8006FC40 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
/* 8006FC44 38 00 00 09 */ li r0, 9
/* 8006FC48 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8006FC4C 38 03 FF F7 */ addi r0, r3, -9
/* 8006FC50 7C 00 28 14 */ addc r0, r0, r5
/* 8006FC54 7C A0 01 10 */ subfe r5, r0, r0
/* 8006FC58 38 00 00 03 */ li r0, 3
/* 8006FC5C 7C 00 28 38 */ and r0, r0, r5
/* 8006FC60 38 A0 00 01 */ li r5, 1
/* 8006FC64 6C A6 80 00 */ xoris r6, r5, 0x8000
/* 8006FC68 38 A3 FF FF */ addi r5, r3, -1
/* 8006FC6C 7C A5 30 14 */ addc r5, r5, r6
/* 8006FC70 7C C5 29 10 */ subfe r6, r5, r5
/* 8006FC74 38 A0 00 02 */ li r5, 2
/* 8006FC78 7C A8 30 38 */ and r8, r5, r6
/* 8006FC7C 38 A0 00 11 */ li r5, 0x11
/* 8006FC80 6C A6 80 00 */ xoris r6, r5, 0x8000
/* 8006FC84 38 A3 FF EF */ addi r5, r3, -17
/* 8006FC88 7C A5 30 14 */ addc r5, r5, r6
/* 8006FC8C 7C C5 29 10 */ subfe r6, r5, r5
/* 8006FC90 38 A0 00 04 */ li r5, 4
/* 8006FC94 7C A9 30 38 */ and r9, r5, r6
/* 8006FC98 38 A0 00 19 */ li r5, 0x19
/* 8006FC9C 6C A5 80 00 */ xoris r5, r5, 0x8000
/* 8006FCA0 38 63 FF E7 */ addi r3, r3, -25
/* 8006FCA4 7C 63 28 14 */ addc r3, r3, r5
/* 8006FCA8 7C A3 19 10 */ subfe r5, r3, r3
/* 8006FCAC 38 60 00 05 */ li r3, 5
/* 8006FCB0 7C 63 28 38 */ and r3, r3, r5
/* 8006FCB4 7C DC 18 AE */ lbzx r6, r28, r3
/* 8006FCB8 7C BC 48 AE */ lbzx r5, r28, r9
/* 8006FCBC 7C 7C 40 AE */ lbzx r3, r28, r8
/* 8006FCC0 7C 1C 00 AE */ lbzx r0, r28, r0
/* 8006FCC4 54 00 80 1E */ slwi r0, r0, 0x10
/* 8006FCC8 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 8006FCCC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
/* 8006FCD0 7C DA 03 78 */ or r26, r6, r0
/* 8006FCD4 57 C0 06 7D */ rlwinm. r0, r30, 0, 0x19, 0x1e
/* 8006FCD8 41 82 00 4C */ beq lbl_8006FD24
/* 8006FCDC 38 00 00 00 */ li r0, 0
/* 8006FCE0 90 1B 00 2C */ stw r0, 0x2c(r27)
/* 8006FCE4 90 1B 00 4C */ stw r0, 0x4c(r27)
/* 8006FCE8 93 DB 00 3C */ stw r30, 0x3c(r27)
/* 8006FCEC C0 07 00 00 */ lfs f0, 0(r7)
/* 8006FCF0 D0 1B 00 40 */ stfs f0, 0x40(r27)
/* 8006FCF4 C0 07 00 04 */ lfs f0, 4(r7)
/* 8006FCF8 D0 1B 00 44 */ stfs f0, 0x44(r27)
/* 8006FCFC C0 07 00 08 */ lfs f0, 8(r7)
/* 8006FD00 D0 1B 00 48 */ stfs f0, 0x48(r27)
/* 8006FD04 7F 43 D3 78 */ mr r3, r26
/* 8006FD08 38 A0 00 20 */ li r5, 0x20
/* 8006FD0C 4B FF F4 99 */ bl func_8006F1A4
/* 8006FD10 90 7B 00 30 */ stw r3, 0x30(r27)
/* 8006FD14 38 00 00 20 */ li r0, 0x20
/* 8006FD18 90 1B 00 34 */ stw r0, 0x34(r27)
/* 8006FD1C 93 BB 00 38 */ stw r29, 0x38(r27)
/* 8006FD20 3B E0 00 01 */ li r31, 1
lbl_8006FD24:
/* 8006FD24 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
/* 8006FD28 41 82 00 50 */ beq lbl_8006FD78
/* 8006FD2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8006FD30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8006FD34 38 63 01 E0 */ addi r3, r3, 0x1e0
/* 8006FD38 4B FC 49 0D */ bl checkVibration__19dSv_player_config_cCFv
/* 8006FD3C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8006FD40 28 00 00 01 */ cmplwi r0, 1
/* 8006FD44 40 82 00 34 */ bne lbl_8006FD78
/* 8006FD48 38 00 00 00 */ li r0, 0
/* 8006FD4C 90 1B 00 70 */ stw r0, 0x70(r27)
/* 8006FD50 90 1B 00 80 */ stw r0, 0x80(r27)
/* 8006FD54 7F 43 D3 78 */ mr r3, r26
/* 8006FD58 88 9C 00 01 */ lbz r4, 1(r28)
/* 8006FD5C 38 A0 00 20 */ li r5, 0x20
/* 8006FD60 4B FF F4 45 */ bl func_8006F1A4
/* 8006FD64 90 7B 00 74 */ stw r3, 0x74(r27)
/* 8006FD68 38 00 00 20 */ li r0, 0x20
/* 8006FD6C 90 1B 00 78 */ stw r0, 0x78(r27)
/* 8006FD70 93 BB 00 7C */ stw r29, 0x7c(r27)
/* 8006FD74 3B E0 00 01 */ li r31, 1
lbl_8006FD78:
/* 8006FD78 7F E3 FB 78 */ mr r3, r31
/* 8006FD7C 39 61 00 20 */ addi r11, r1, 0x20
/* 8006FD80 48 2F 24 9D */ bl _restgpr_26
/* 8006FD84 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8006FD88 7C 08 03 A6 */ mtlr r0
/* 8006FD8C 38 21 00 20 */ addi r1, r1, 0x20
/* 8006FD90 4E 80 00 20 */ blr
-8
View File
@@ -1,8 +0,0 @@
lbl_8006F168:
/* 8006F168 B0 A3 00 00 */ sth r5, 0(r3)
/* 8006F16C 54 80 84 3E */ srwi r0, r4, 0x10
/* 8006F170 B0 03 00 02 */ sth r0, 2(r3)
/* 8006F174 B0 83 00 04 */ sth r4, 4(r3)
/* 8006F178 38 00 00 00 */ li r0, 0
/* 8006F17C B0 03 00 06 */ sth r0, 6(r3)
/* 8006F180 4E 80 00 20 */ blr
-9
View File
@@ -1,9 +0,0 @@
lbl_8006F184:
/* 8006F184 7C 05 23 D6 */ divw r0, r5, r4
/* 8006F188 7C 00 21 D6 */ mullw r0, r0, r4
/* 8006F18C 7C 00 28 50 */ subf r0, r0, r5
/* 8006F190 7C 65 04 30 */ srw r5, r3, r0
/* 8006F194 7C 00 20 50 */ subf r0, r0, r4
/* 8006F198 7C 60 00 30 */ slw r0, r3, r0
/* 8006F19C 7C A3 03 78 */ or r3, r5, r0
/* 8006F1A0 4E 80 00 20 */ blr
-16
View File
@@ -1,16 +0,0 @@
lbl_8006F1A4:
/* 8006F1A4 38 C0 FF FF */ li r6, -1
/* 8006F1A8 20 04 00 20 */ subfic r0, r4, 0x20
/* 8006F1AC 7C C0 00 30 */ slw r0, r6, r0
/* 8006F1B0 7C 67 00 38 */ and r7, r3, r0
/* 8006F1B4 7C E3 3B 78 */ mr r3, r7
/* 8006F1B8 7C 86 23 78 */ mr r6, r4
/* 8006F1BC 48 00 00 10 */ b lbl_8006F1CC
lbl_8006F1C0:
/* 8006F1C0 7C 60 24 30 */ srw r0, r3, r4
/* 8006F1C4 7C E3 03 78 */ or r3, r7, r0
/* 8006F1C8 7C C6 22 14 */ add r6, r6, r4
lbl_8006F1CC:
/* 8006F1CC 7C 06 28 00 */ cmpw r6, r5
/* 8006F1D0 41 80 FF F0 */ blt lbl_8006F1C0
/* 8006F1D4 4E 80 00 20 */ blr
-39
View File
@@ -1,39 +0,0 @@
lbl_8006F1D8:
/* 8006F1D8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8006F1DC 7C 08 02 A6 */ mflr r0
/* 8006F1E0 90 01 00 44 */ stw r0, 0x44(r1)
/* 8006F1E4 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8006F1E8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */
/* 8006F1EC 39 61 00 30 */ addi r11, r1, 0x30
/* 8006F1F0 48 2F 2F E1 */ bl _savegpr_26
/* 8006F1F4 7C 7A 1B 78 */ mr r26, r3
/* 8006F1F8 3B 80 00 00 */ li r28, 0
/* 8006F1FC 3B 60 00 00 */ li r27, 0
/* 8006F200 CB E2 8C 20 */ lfd f31, lit_3756(r2)
/* 8006F204 6C 9D 80 00 */ xoris r29, r4, 0x8000
/* 8006F208 3F C0 43 30 */ lis r30, 0x4330
/* 8006F20C 3F E0 40 00 */ lis r31, 0x4000
/* 8006F210 48 00 00 2C */ b lbl_8006F23C
lbl_8006F214:
/* 8006F214 48 1F 86 59 */ bl cM_rnd__Fv
/* 8006F218 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8006F21C 93 C1 00 08 */ stw r30, 8(r1)
/* 8006F220 C8 01 00 08 */ lfd f0, 8(r1)
/* 8006F224 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8006F228 EC 20 00 72 */ fmuls f1, f0, f1
/* 8006F22C 48 2F 2E 81 */ bl __cvt_fp2unsigned
/* 8006F230 7F E0 1E 30 */ sraw r0, r31, r3
/* 8006F234 7F 9C 03 78 */ or r28, r28, r0
/* 8006F238 3B 7B 00 01 */ addi r27, r27, 1
lbl_8006F23C:
/* 8006F23C 7C 1B D0 00 */ cmpw r27, r26
/* 8006F240 41 80 FF D4 */ blt lbl_8006F214
/* 8006F244 7F 83 E3 78 */ mr r3, r28
/* 8006F248 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */
/* 8006F24C CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8006F250 39 61 00 30 */ addi r11, r1, 0x30
/* 8006F254 48 2F 2F C9 */ bl _restgpr_26
/* 8006F258 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8006F25C 7C 08 03 A6 */ mtlr r0
/* 8006F260 38 21 00 40 */ addi r1, r1, 0x40
/* 8006F264 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
lbl_8020E45C:
/* 8020E45C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8020E460 7C 08 02 A6 */ mflr r0
/* 8020E464 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020E468 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8020E46C 7C 7F 1B 78 */ mr r31, r3
/* 8020E470 80 63 00 14 */ lwz r3, 0x14(r3)
/* 8020E474 48 00 00 55 */ bl isShow__11dMeterMap_cFUl
/* 8020E478 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8020E47C 41 82 00 34 */ beq lbl_8020E4B0
/* 8020E480 4B FF F1 D1 */ bl isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv
/* 8020E484 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8020E488 41 82 00 20 */ beq lbl_8020E4A8
/* 8020E48C 88 1F 00 2D */ lbz r0, 0x2d(r31)
/* 8020E490 28 00 00 00 */ cmplwi r0, 0
/* 8020E494 41 82 00 0C */ beq lbl_8020E4A0
/* 8020E498 38 60 00 01 */ li r3, 1
/* 8020E49C 48 00 00 18 */ b lbl_8020E4B4
lbl_8020E4A0:
/* 8020E4A0 38 60 00 02 */ li r3, 2
/* 8020E4A4 48 00 00 10 */ b lbl_8020E4B4
lbl_8020E4A8:
/* 8020E4A8 38 60 00 03 */ li r3, 3
/* 8020E4AC 48 00 00 08 */ b lbl_8020E4B4
lbl_8020E4B0:
/* 8020E4B0 38 60 00 00 */ li r3, 0
lbl_8020E4B4:
/* 8020E4B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8020E4B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8020E4BC 7C 08 03 A6 */ mtlr r0
/* 8020E4C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8020E4C4 4E 80 00 20 */ blr
@@ -1,85 +0,0 @@
lbl_8020D528:
/* 8020D528 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020D52C 7C 08 02 A6 */ mflr r0
/* 8020D530 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020D534 39 61 00 20 */ addi r11, r1, 0x20
/* 8020D538 48 15 4C A5 */ bl _savegpr_29
/* 8020D53C 3B A0 00 07 */ li r29, 7
/* 8020D540 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8020D544 7C 84 07 74 */ extsb r4, r4
/* 8020D548 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8020D54C 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8020D550 38 7F 4E C4 */ addi r3, r31, 0x4ec4
/* 8020D554 4B E1 6E 31 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8020D558 81 83 00 00 */ lwz r12, 0(r3)
/* 8020D55C 81 8C 01 0C */ lwz r12, 0x10c(r12)
/* 8020D560 7D 89 03 A6 */ mtctr r12
/* 8020D564 4E 80 04 21 */ bctrl
/* 8020D568 28 03 00 00 */ cmplwi r3, 0
/* 8020D56C 41 82 00 0C */ beq lbl_8020D578
/* 8020D570 80 03 00 00 */ lwz r0, 0(r3)
/* 8020D574 54 1D EF 7E */ rlwinm r29, r0, 0x1d, 0x1d, 0x1f
lbl_8020D578:
/* 8020D578 3B DF 4E 20 */ addi r30, r31, 0x4e20
/* 8020D57C 7F C3 F3 78 */ mr r3, r30
/* 8020D580 81 9E 00 00 */ lwz r12, 0(r30)
/* 8020D584 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8020D588 7D 89 03 A6 */ mtctr r12
/* 8020D58C 4E 80 04 21 */ bctrl
/* 8020D590 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8020D594 54 1F 9F 7E */ rlwinm r31, r0, 0x13, 0x1d, 0x1f
/* 8020D598 7F C3 F3 78 */ mr r3, r30
/* 8020D59C 81 9E 00 00 */ lwz r12, 0(r30)
/* 8020D5A0 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8020D5A4 7D 89 03 A6 */ mtctr r12
/* 8020D5A8 4E 80 04 21 */ bctrl
/* 8020D5AC A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8020D5B0 54 00 07 7E */ clrlwi r0, r0, 0x1d
/* 8020D5B4 2C 00 00 01 */ cmpwi r0, 1
/* 8020D5B8 40 82 00 0C */ bne lbl_8020D5C4
/* 8020D5BC 3B A0 00 01 */ li r29, 1
/* 8020D5C0 48 00 00 10 */ b lbl_8020D5D0
lbl_8020D5C4:
/* 8020D5C4 2C 1D 00 07 */ cmpwi r29, 7
/* 8020D5C8 40 82 00 08 */ bne lbl_8020D5D0
/* 8020D5CC 7F FD FB 78 */ mr r29, r31
lbl_8020D5D0:
/* 8020D5D0 38 60 00 00 */ li r3, 0
/* 8020D5D4 2C 1D 00 02 */ cmpwi r29, 2
/* 8020D5D8 41 82 00 3C */ beq lbl_8020D614
/* 8020D5DC 40 80 00 14 */ bge lbl_8020D5F0
/* 8020D5E0 2C 1D 00 00 */ cmpwi r29, 0
/* 8020D5E4 41 82 00 54 */ beq lbl_8020D638
/* 8020D5E8 40 80 00 14 */ bge lbl_8020D5FC
/* 8020D5EC 48 00 00 4C */ b lbl_8020D638
lbl_8020D5F0:
/* 8020D5F0 2C 1D 00 04 */ cmpwi r29, 4
/* 8020D5F4 40 80 00 44 */ bge lbl_8020D638
/* 8020D5F8 48 00 00 2C */ b lbl_8020D624
lbl_8020D5FC:
/* 8020D5FC 2C 00 00 01 */ cmpwi r0, 1
/* 8020D600 40 82 00 0C */ bne lbl_8020D60C
/* 8020D604 38 60 00 04 */ li r3, 4
/* 8020D608 48 00 00 30 */ b lbl_8020D638
lbl_8020D60C:
/* 8020D60C 38 60 00 01 */ li r3, 1
/* 8020D610 48 00 00 28 */ b lbl_8020D638
lbl_8020D614:
/* 8020D614 2C 00 00 01 */ cmpwi r0, 1
/* 8020D618 41 82 00 20 */ beq lbl_8020D638
/* 8020D61C 38 60 00 02 */ li r3, 2
/* 8020D620 48 00 00 18 */ b lbl_8020D638
lbl_8020D624:
/* 8020D624 2C 00 00 01 */ cmpwi r0, 1
/* 8020D628 40 82 00 0C */ bne lbl_8020D634
/* 8020D62C 38 60 00 05 */ li r3, 5
/* 8020D630 48 00 00 08 */ b lbl_8020D638
lbl_8020D634:
/* 8020D634 38 60 00 03 */ li r3, 3
lbl_8020D638:
/* 8020D638 39 61 00 20 */ addi r11, r1, 0x20
/* 8020D63C 48 15 4B ED */ bl _restgpr_29
/* 8020D640 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020D644 7C 08 03 A6 */ mtlr r0
/* 8020D648 38 21 00 20 */ addi r1, r1, 0x20
/* 8020D64C 4E 80 00 20 */ blr
@@ -1,122 +0,0 @@
lbl_80D52BF0:
/* 80D52BF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80D52BF4 7C 08 02 A6 */ mflr r0
/* 80D52BF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80D52BFC 39 61 00 20 */ addi r11, r1, 0x20
/* 80D52C00 4B 60 F5 D5 */ bl _savegpr_27
/* 80D52C04 7C 7C 1B 78 */ mr r28, r3
/* 80D52C08 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D52C0C 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D52C10 3B DF 4F F8 */ addi r30, r31, 0x4ff8
/* 80D52C14 7F C3 F3 78 */ mr r3, r30
/* 80D52C18 3C 80 80 D5 */ lis r4, l_myName@ha /* 0x80D55994@ha */
/* 80D52C1C 38 84 59 94 */ addi r4, r4, l_myName@l /* 0x80D55994@l */
/* 80D52C20 80 84 00 00 */ lwz r4, 0(r4)
/* 80D52C24 38 A0 00 00 */ li r5, 0
/* 80D52C28 38 C0 00 00 */ li r6, 0
/* 80D52C2C 4B 2F 4E F1 */ bl getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci
/* 80D52C30 7C 7D 1B 78 */ mr r29, r3
/* 80D52C34 2C 1D FF FF */ cmpwi r29, -1
/* 80D52C38 41 82 01 64 */ beq lbl_80D52D9C
/* 80D52C3C 7F C3 F3 78 */ mr r3, r30
/* 80D52C40 7F A4 EB 78 */ mr r4, r29
/* 80D52C44 4B 2F 53 19 */ bl getMyNowCutName__16dEvent_manager_cFi
/* 80D52C48 7C 7B 1B 78 */ mr r27, r3
/* 80D52C4C 7F C3 F3 78 */ mr r3, r30
/* 80D52C50 7F A4 EB 78 */ mr r4, r29
/* 80D52C54 4B 2F 50 F9 */ bl getIsAddvance__16dEvent_manager_cFi
/* 80D52C58 2C 03 00 00 */ cmpwi r3, 0
/* 80D52C5C 41 82 00 34 */ beq lbl_80D52C90
/* 80D52C60 80 9B 00 00 */ lwz r4, 0(r27)
/* 80D52C64 3C 60 30 30 */ lis r3, 0x3030 /* 0x30303032@ha */
/* 80D52C68 38 03 30 32 */ addi r0, r3, 0x3032 /* 0x30303032@l */
/* 80D52C6C 7C 04 00 00 */ cmpw r4, r0
/* 80D52C70 41 82 00 10 */ beq lbl_80D52C80
/* 80D52C74 40 80 00 1C */ bge lbl_80D52C90
/* 80D52C78 48 00 00 18 */ b lbl_80D52C90
/* 80D52C7C 48 00 00 14 */ b lbl_80D52C90
lbl_80D52C80:
/* 80D52C80 7F 83 E3 78 */ mr r3, r28
/* 80D52C84 38 80 0B C1 */ li r4, 0xbc1
/* 80D52C88 38 A0 00 00 */ li r5, 0
/* 80D52C8C 48 00 23 A1 */ bl initTalk__13daTagTWGate_cFiPP10fopAc_ac_c
lbl_80D52C90:
/* 80D52C90 80 9B 00 00 */ lwz r4, 0(r27)
/* 80D52C94 3C 60 30 30 */ lis r3, 0x3030 /* 0x30303032@ha */
/* 80D52C98 38 03 30 32 */ addi r0, r3, 0x3032 /* 0x30303032@l */
/* 80D52C9C 7C 04 00 00 */ cmpw r4, r0
/* 80D52CA0 41 82 00 34 */ beq lbl_80D52CD4
/* 80D52CA4 40 80 00 14 */ bge lbl_80D52CB8
/* 80D52CA8 38 03 30 31 */ addi r0, r3, 0x3031
/* 80D52CAC 7C 04 00 00 */ cmpw r4, r0
/* 80D52CB0 40 80 00 14 */ bge lbl_80D52CC4
/* 80D52CB4 48 00 00 84 */ b lbl_80D52D38
lbl_80D52CB8:
/* 80D52CB8 38 03 30 34 */ addi r0, r3, 0x3034
/* 80D52CBC 7C 04 00 00 */ cmpw r4, r0
/* 80D52CC0 40 80 00 78 */ bge lbl_80D52D38
lbl_80D52CC4:
/* 80D52CC4 7F C3 F3 78 */ mr r3, r30
/* 80D52CC8 7F A4 EB 78 */ mr r4, r29
/* 80D52CCC 4B 2F 54 B1 */ bl cutEnd__16dEvent_manager_cFi
/* 80D52CD0 48 00 00 68 */ b lbl_80D52D38
lbl_80D52CD4:
/* 80D52CD4 7F 83 E3 78 */ mr r3, r28
/* 80D52CD8 38 80 00 00 */ li r4, 0
/* 80D52CDC 38 A0 00 01 */ li r5, 1
/* 80D52CE0 38 C0 00 00 */ li r6, 0
/* 80D52CE4 48 00 23 85 */ bl talkProc__13daTagTWGate_cFPiiPP10fopAc_ac_c
/* 80D52CE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D52CEC 41 82 00 4C */ beq lbl_80D52D38
/* 80D52CF0 A0 1C 05 C6 */ lhz r0, 0x5c6(r28)
/* 80D52CF4 7C 00 07 35 */ extsh. r0, r0
/* 80D52CF8 40 82 00 34 */ bne lbl_80D52D2C
/* 80D52CFC 38 00 00 03 */ li r0, 3
/* 80D52D00 90 1C 05 88 */ stw r0, 0x588(r28)
/* 80D52D04 80 1C 05 88 */ lwz r0, 0x588(r28)
/* 80D52D08 1C 80 00 18 */ mulli r4, r0, 0x18
/* 80D52D0C 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */
/* 80D52D10 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */
/* 80D52D14 7C 00 22 14 */ add r0, r0, r4
/* 80D52D18 90 1C 05 84 */ stw r0, 0x584(r28)
/* 80D52D1C 7F 83 E3 78 */ mr r3, r28
/* 80D52D20 81 9C 05 84 */ lwz r12, 0x584(r28)
/* 80D52D24 4B 60 F3 61 */ bl __ptmf_scall
/* 80D52D28 60 00 00 00 */ nop
lbl_80D52D2C:
/* 80D52D2C 7F C3 F3 78 */ mr r3, r30
/* 80D52D30 7F A4 EB 78 */ mr r4, r29
/* 80D52D34 4B 2F 54 49 */ bl cutEnd__16dEvent_manager_cFi
lbl_80D52D38:
/* 80D52D38 A0 1C 00 F8 */ lhz r0, 0xf8(r28)
/* 80D52D3C 28 00 00 02 */ cmplwi r0, 2
/* 80D52D40 40 82 00 5C */ bne lbl_80D52D9C
/* 80D52D44 A8 9C 05 DC */ lha r4, 0x5dc(r28)
/* 80D52D48 2C 04 FF FF */ cmpwi r4, -1
/* 80D52D4C 41 82 00 50 */ beq lbl_80D52D9C
/* 80D52D50 7F C3 F3 78 */ mr r3, r30
/* 80D52D54 4B 2F 4D 25 */ bl endCheck__16dEvent_manager_cFs
/* 80D52D58 2C 03 00 00 */ cmpwi r3, 0
/* 80D52D5C 41 82 00 40 */ beq lbl_80D52D9C
/* 80D52D60 38 7F 4E C8 */ addi r3, r31, 0x4ec8
/* 80D52D64 4B 2E F7 05 */ bl reset__14dEvt_control_cFv
/* 80D52D68 38 00 00 00 */ li r0, 0
/* 80D52D6C 98 1C 05 E0 */ stb r0, 0x5e0(r28)
/* 80D52D70 90 1C 05 88 */ stw r0, 0x588(r28)
/* 80D52D74 80 1C 05 88 */ lwz r0, 0x588(r28)
/* 80D52D78 1C 80 00 18 */ mulli r4, r0, 0x18
/* 80D52D7C 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */
/* 80D52D80 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */
/* 80D52D84 7C 00 22 14 */ add r0, r0, r4
/* 80D52D88 90 1C 05 84 */ stw r0, 0x584(r28)
/* 80D52D8C 7F 83 E3 78 */ mr r3, r28
/* 80D52D90 81 9C 05 84 */ lwz r12, 0x584(r28)
/* 80D52D94 4B 60 F2 F1 */ bl __ptmf_scall
/* 80D52D98 60 00 00 00 */ nop
lbl_80D52D9C:
/* 80D52D9C 39 61 00 20 */ addi r11, r1, 0x20
/* 80D52DA0 4B 60 F4 81 */ bl _restgpr_27
/* 80D52DA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80D52DA8 7C 08 03 A6 */ mtlr r0
/* 80D52DAC 38 21 00 20 */ addi r1, r1, 0x20
/* 80D52DB0 4E 80 00 20 */ blr
@@ -48,6 +48,7 @@ public:
GXColor* getVtxColorArray(u8 idx) const { return mVertexData.getVtxColorArray(idx); }
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
u32 getFlag() const { return mFlags; }
void* getRawData() const { return mpRawData; }
u16 checkBumpFlag() const { return mbHasBumpArray; }
void setBumpFlag(u32 flag) { mbHasBumpArray = flag; }
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
+35 -18
View File
@@ -7,6 +7,7 @@
#include "dolphin/gx/GXStruct.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_lib.h"
struct J3DGXColorS10 {
/* 8000E460 */ J3DGXColorS10();
@@ -45,9 +46,9 @@ public:
virtual u32 getType() = 0;
/* 8031741C */ virtual void setTexGenNum(u32 const*);
/* 8000E0D0 */ virtual void setTexGenNum(u32);
/* 8000DFE8 */ virtual bool getTexGenNum() const;
/* 8000DFE8 */ virtual u32 getTexGenNum() const;
/* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*);
/* 8000DFE0 */ virtual bool getTexCoord(u32);
/* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32);
/* 8003AB2C */ virtual void setTexMtx(u32, J3DTexMtx*);
/* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32);
/* 80317424 */ virtual void setNBTScale(J3DNBTScale const*);
@@ -76,9 +77,9 @@ public:
/* 80322E74 */ virtual u32 getType();
/* 80322D3C */ virtual void setTexGenNum(u32 const*);
/* 80322D34 */ virtual void setTexGenNum(u32);
/* 80322D48 */ virtual bool getTexGenNum() const;
/* 80322D48 */ virtual u32 getTexGenNum() const;
/* 80322D50 */ virtual void setTexCoord(u32, J3DTexCoord const*);
/* 80322D64 */ virtual bool getTexCoord(u32);
/* 80322D64 */ virtual J3DTexCoord* getTexCoord(u32);
/* 80322D78 */ virtual void setTexMtx(u32, J3DTexMtx*);
/* 80322D88 */ virtual J3DTexMtx* getTexMtx(u32);
/* 80322D98 */ virtual bool getTexMtxOffset() const;
@@ -151,7 +152,7 @@ public:
/* 8000DF94 */ virtual u32 getTexNo(u32) const;
/* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder);
/* 8000DFB8 */ virtual bool getTevOrder(u32);
/* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32);
/* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 8000DFC8 */ virtual _GXColorS10* getTevColor(u32);
@@ -214,7 +215,7 @@ public:
/* 803229E4 */ virtual u32 getTexNo(u32) const;
/* 80322A08 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 803229F4 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322A1C */ virtual bool getTevOrder(u32);
/* 80322A1C */ virtual J3DTevOrder* getTevOrder(u32);
/* 80322B24 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 80322AF8 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 80322B50 */ virtual GXColorS10* getTevColor(u32);
@@ -278,7 +279,7 @@ public:
/* 80322040 */ virtual u32 getTexNo(u32) const;
/* 80322064 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80322050 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322078 */ virtual bool getTevOrder(u32);
/* 80322078 */ virtual J3DTevOrder* getTevOrder(u32);
/* 803220B8 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 8032208C */ virtual void setTevColor(u32, J3DGXColorS10);
/* 803220E4 */ virtual GXColorS10* getTevColor(u32);
@@ -348,7 +349,7 @@ public:
/* 80322404 */ virtual u32 getTexNo(u32) const;
/* 80322428 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80322414 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 8032243C */ virtual bool getTevOrder(u32);
/* 8032243C */ virtual J3DTevOrder* getTevOrder(u32);
/* 8032247C */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 80322450 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 803224A8 */ virtual GXColorS10* getTevColor(u32);
@@ -418,7 +419,7 @@ public:
/* 80321C74 */ virtual u32 getTexNo(u32) const;
/* 80321C98 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80321C84 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80321CAC */ virtual bool getTevOrder(u32);
/* 80321CAC */ virtual J3DTevOrder* getTevOrder(u32);
/* 80321CEC */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 80321CC0 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 80321D18 */ virtual GXColorS10* getTevColor(u32);
@@ -488,7 +489,7 @@ public:
/* 803227C8 */ virtual u32 getTexNo(u32) const;
/* 803227EC */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 803227D8 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322800 */ virtual bool getTevOrder(u32);
/* 80322800 */ virtual J3DTevOrder* getTevOrder(u32);
/* 80322818 */ virtual void setTevStageNum(u8 const*);
/* 80322814 */ virtual void setTevStageNum(u8);
/* 8032281C */ virtual u8 getTevStageNum() const;
@@ -542,10 +543,21 @@ struct J3DFog : public J3DFogInfo {
J3DFogInfo* getFogInfo() { return (J3DFogInfo*)this; }
};
struct J3DAlphaComp {
/* 0x0 */ u16 field_0x0;
struct J3DAlphaCompInfo {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
/* 0x2 */ u8 mRef0;
/* 0x3 */ u8 mRef1;
/* 0x4 */ u8 field_0x4;
};
struct J3DAlphaComp: public J3DAlphaCompInfo {
void setAlphaCompInfo(J3DAlphaCompInfo *param_1) {
mRef0 = param_1->field_0x1;
mRef1 = param_1->field_0x4;
u32 p1_mref1 = param_1->mRef1;
*(u16*)&field_0x0 = calcAlphaCmpID(param_1->field_0x0, param_1->mRef0, p1_mref1);
}
}; // Size: 0x4
class J3DPEBlock {
@@ -563,7 +575,7 @@ public:
/* 8000DF5C */ virtual J3DFog* getFog();
/* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*);
/* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&);
/* 8000DF54 */ virtual bool getAlphaComp();
/* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp();
/* 80317370 */ virtual void setBlend(J3DBlend const*);
/* 8000E018 */ virtual void setBlend(J3DBlend const&);
/* 8000DF4C */ virtual bool getBlend();
@@ -622,7 +634,7 @@ public:
/* 803219A0 */ virtual J3DFog* getFog();
/* 803219C4 */ virtual void setAlphaComp(J3DAlphaComp const*);
/* 803219A8 */ virtual void setAlphaComp(J3DAlphaComp const&);
/* 803219E0 */ virtual bool getAlphaComp();
/* 803219E0 */ virtual J3DAlphaComp* getAlphaComp();
/* 803219F4 */ virtual void setBlend(J3DBlend const*);
/* 803219E8 */ virtual void setBlend(J3DBlend const&);
/* 80321A00 */ virtual bool getBlend();
@@ -661,7 +673,7 @@ public:
/* 80321B00 */ virtual u32 getType();
/* 80321B28 */ virtual void setAlphaComp(J3DAlphaComp const*);
/* 80321B0C */ virtual void setAlphaComp(J3DAlphaComp const&);
/* 80321B44 */ virtual bool getAlphaComp();
/* 80321B44 */ virtual J3DAlphaComp* getAlphaComp();
/* 80321B58 */ virtual void setBlend(J3DBlend const*);
/* 80321B4C */ virtual void setBlend(J3DBlend const&);
/* 80321B64 */ virtual bool getBlend();
@@ -777,6 +789,11 @@ struct J3DColorChanInfo {
struct J3DColorChan {
/* 8000E47C */ J3DColorChan();
u8 getLightMask() { return (((mColorChanID & 0x7800) >> 7) | (mColorChanID & 0x3c) >> 2); }
void setLightMask(u8 param_1) {
mColorChanID = (mColorChanID & ~0x3c) | ((param_1 & 0xf) << 2);
mColorChanID = (mColorChanID & ~0x7800) | ((param_1 & 0xf0) << 7);
}
/* 0x0 */ u16 mColorChanID;
};
@@ -806,7 +823,7 @@ public:
/* 8000E008 */ virtual bool getColorChanNum() const;
/* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&);
/* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*);
/* 8000DFF8 */ virtual bool getColorChan(u32);
/* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32);
/* 801A4C08 */ virtual void setLight(u32, J3DLightObj*);
/* 80317454 */ virtual bool getLight(u32);
/* 80317460 */ virtual void setCullMode(u8 const*);
@@ -846,7 +863,7 @@ public:
/* 80322F78 */ virtual bool getColorChanNum() const;
/* 80322F94 */ virtual void setColorChan(u32, J3DColorChan const&);
/* 80322F80 */ virtual void setColorChan(u32, J3DColorChan const*);
/* 80322FA8 */ virtual bool getColorChan(u32);
/* 80322FA8 */ virtual J3DColorChan* getColorChan(u32);
/* 80322FBC */ virtual void setLight(u32, J3DLightObj*);
/* 80322FCC */ virtual bool getLight(u32);
/* 80322FE4 */ virtual void setCullMode(u8 const*);
@@ -891,7 +908,7 @@ public:
/* 803231D8 */ virtual bool getColorChanNum() const;
/* 803231F4 */ virtual void setColorChan(u32, J3DColorChan const&);
/* 803231E0 */ virtual void setColorChan(u32, J3DColorChan const*);
/* 80323208 */ virtual bool getColorChan(u32);
/* 80323208 */ virtual J3DColorChan* getColorChan(u32);
/* 80323224 */ virtual void setCullMode(u8 const*);
/* 8032321C */ virtual void setCullMode(u8);
/* 80323230 */ virtual s32 getCullMode() const;
@@ -66,6 +66,8 @@ public:
J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); }
u16 getIndex() { return mIndex; }
bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; }
J3DPEBlock* getPEBlock() { return mPEBlock; }
void onInvalid() { mInvalid = 1; }
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); }
+17 -7
View File
@@ -3,13 +3,7 @@
#include "dolphin/types.h"
struct J3DTevStageInfo {};
struct J3DTevStage {
/* 8000E230 */ J3DTevStage();
/* 8000E298 */ void setTevStageInfo(J3DTevStageInfo const&);
/* 8003AACC */ J3DTevStage(J3DTevStageInfo const&);
struct J3DTevStageInfo {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 mTevColorOp;
/* 0x2 */ u8 mTevColorAB;
@@ -20,6 +14,12 @@ struct J3DTevStage {
/* 0x7 */ u8 mTevSwapModeInfo;
};
struct J3DTevStage : public J3DTevStageInfo {
/* 8000E230 */ J3DTevStage();
/* 8000E298 */ void setTevStageInfo(J3DTevStageInfo const&);
/* 8003AACC */ J3DTevStage(J3DTevStageInfo const&);
};
struct J3DIndTevStageInfo {
/* 0x0 */ u8 mIndStage;
/* 0x1 */ u8 mIndFormat;
@@ -39,13 +39,23 @@ struct J3DIndTevStage {
};
struct J3DTevOrderInfo {
void operator=(const J3DTevOrderInfo& other) {
*(u32*) this = *(u32*)&other;
}
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 mTexMap;
/* 0x2 */ u8 field_0x2;
/* 0x3 */ u8 field_0x3; // Maybe padding
};
struct J3DTevOrder : public J3DTevOrderInfo {
/* 8000E140 */ J3DTevOrder();
J3DTevOrder(const J3DTevOrderInfo& info) {
*(J3DTevOrderInfo*)this = info;
}
u8 getTexMap() { return mTexMap; }
};
struct J3DTevSwapModeTable {
+15 -2
View File
@@ -22,8 +22,8 @@ public:
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
void setResTIMG(u16 entry, const ResTIMG& timg) {
mpRes[entry] = timg;
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset - (u32)(mpRes + entry))) + (u32)&timg;
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset - (u32)(mpRes + entry))) + (u32)&timg;
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset + (u32)&timg - (u32)(mpRes + entry)));
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset + (u32)&timg - (u32)(mpRes + entry)));
}
};
@@ -48,6 +48,9 @@ struct J3DTexMtxInfo {
class J3DTexMtx {
public:
J3DTexMtx(const J3DTexMtxInfo& info) {
mTexMtxInfo = info;
}
/* 803238C4 */ void load(u32) const;
/* 80323900 */ void calc(f32 const (*)[4]);
/* 80323920 */ void calcTexMtx(f32 const (*)[4]);
@@ -68,10 +71,20 @@ struct J3DTexCoordInfo {
/* 0x0 */ u8 mTexGenType;
/* 0x1 */ u8 mTexGenSrc;
/* 0x2 */ u8 mTexGenMtx;
void operator=(J3DTexCoordInfo const& other) {
*(u32*) this = *(u32*)&other;
}
};
struct J3DTexCoord : public J3DTexCoordInfo {
/* 8000E464 */ J3DTexCoord();
void setTexCoordInfo(J3DTexCoordInfo *param_1) {
*(J3DTexCoordInfo*)this = *param_1;
}
void resetTexMtxReg() {
mTexMtxReg = mTexGenMtx;
}
/* 0x4 */ u16 mTexMtxReg;
}; // Size: 0x6
@@ -9,7 +9,7 @@ struct J3DAnmBase;
struct J3DAnmLoaderDataBase {
/* 80337B40 */ static void* load(void const*, J3DAnmLoaderDataBaseFlag);
/* 80338134 */ void setResource(J3DAnmBase*, void const*);
/* 80338134 */ static void setResource(J3DAnmBase*, void const*);
};
#endif /* J3DANMLOADER_H */
@@ -4,7 +4,7 @@
#include "dolphin/types.h"
struct J3DClusterLoaderDataBase {
/* 80334130 */ void load(void const*);
/* 80334130 */ static void* load(void const*);
};
#endif /* J3DCLUSTERLOADER_H */
@@ -5,7 +5,7 @@
class J3DModelLoaderDataBase {
public:
/* 803346BC */ void load(void const*, u32);
/* 803346BC */ static void* load(void const*, u32);
};
#endif /* J3DMODELLOADER_H */
+6 -3
View File
@@ -133,7 +133,6 @@ public:
u32 countResource(void) const;
u32 getFileAttribute(u32) const;
u32 getMountMode() const { return mMountMode; }
SDIFileEntry* findNameResource(const char*) const;
bool isSameName(CArcName&, u32, u16) const;
SDIDirEntry* findResType(u32) const;
@@ -164,6 +163,10 @@ public:
u32 countFile() const { return mArcInfoBlock->num_file_entries; }
s32 countDirectory() const { return mArcInfoBlock->num_nodes; }
u8 getMountMode() const { return mMountMode; }
bool isFileEntry(u32 param_0) {
return getFileAttribute(param_0) & 1;
}
public:
/* 0x00 */ // vtable
@@ -175,10 +178,10 @@ public:
/* 0x44 */ SArcDataInfo* mArcInfoBlock;
/* 0x48 */ SDIDirEntry* mNodes;
/* 0x4C */ SDIFileEntry* mFiles;
protected:
/* 0x50 */ s32* mExpandedSize;
/* 0x54 */ char* mStringTable;
protected:
/* 0x58 */ u32 field_0x58;
public:
+1
View File
@@ -27,6 +27,7 @@ public:
public:
static u32 fetchResource_subroutine(u8*, u32, u8*, u32, JKRCompression);
SArcHeader* getArcHeader() { return mArcHeader; }
private:
/* 0x00 */ // vtable
+2
View File
@@ -248,6 +248,8 @@ public:
void setRate(f32 rate) { mRate = rate; }
void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; }
void setGlobalRTMatrix(const Mtx m) { JPASetRMtxTVecfromMtx(m, mGlobalRot, &mGlobalTrs); }
void setGlobalTranslation(f32 x, f32 y, f32 z) { mGlobalTrs.set(x, y, z); }
void setGlobalAlpha(u8 alpha) { mGlobalPrmClr.a = alpha; }
// void setGlobalScale(const JGeometry::TVec3<f32>& scale) {
// mGlobalScl = scale;
// mGlobalPScl = scale;
+6
View File
@@ -128,6 +128,8 @@ public:
return isPushingReset;
}
inline void stopMotorWave() { mRumble.stopPatternedRumbleAtThePeriod(); }
void stopMotor() { mRumble.stopMotor(mPortNum, false); }
void stopMotorHard() { mRumble.stopMotorHard(mPortNum); }
static s8 getPortStatus(u32 port) { return mPadStatus[port].error; }
@@ -227,6 +229,10 @@ public:
/* 0x10 */ u8* field_0x10;
}; // Size: 0x14
void startMotorWave(void* param_2, CRumble::ERumble rumble, u32 param_4) {
mRumble.startPatternedRumble(param_2, rumble, param_4);
}
/* 0x18 */ CButton mButton;
/* 0x48 */ CStick mMainStick;
/* 0x58 */ CStick mSubStick;
+36 -27
View File
@@ -145,12 +145,16 @@ private:
struct daNpcT_evtData_c {};
struct daNpcT_faceMotionAnmData_c {};
struct daNpcT_faceMotionAnmData_c {
u32 field_0x0[6];
u32 field_0x18;
};
struct daNpcT_pntData_c {};
struct daNpcT_motionAnmData_c {
u8 data[8];
u32 field_0x0[6];
u32 field_0x18;
};
class daNpcT_Hermite_c {
@@ -186,7 +190,7 @@ public:
/* 80146188 */ int chkPassed1(cXyz, int);
/* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int);
inline cXyz& getPntPos(int i_idx) {
inline Vec getPntPos(int i_idx) {
return mpRoomPath->m_points[i_idx].m_position;
}
@@ -195,6 +199,8 @@ public:
return roomPath;
}
bool chkReverse() { return mDirection == 1; }
u16 getNumPnts() {
dPath* path = mpRoomPath;
return path->m_num;
@@ -328,7 +334,7 @@ public:
/* 80148C70 */ void setEnvTevColor();
/* 80148CCC */ void setRoomNo();
/* 80148D10 */ int checkEndAnm(f32);
/* 80148DD0 */ void checkEndAnm(J3DFrameCtrl*, f32);
/* 80148DD0 */ int checkEndAnm(J3DFrameCtrl*, f32);
/* 80148E4C */ void playAllAnm();
/* 80149190 */ void setMtx();
/* 8014924C */ void ctrlFaceMotion();
@@ -355,9 +361,9 @@ public:
/* 8014BB00 */ void getActorDistance(fopAc_ac_c*, int, int);
/* 8014BBF0 */ int initTalk(int, fopAc_ac_c**);
/* 8014BC78 */ void talkProc(int*, int, fopAc_ac_c**, int);
/* 8014BE2C */ void getNearestActorP(s16);
/* 8014BE2C */ fopAc_ac_c* getNearestActorP(s16);
/* 8014BEE4 */ void getEvtAreaTagP(int, int);
/* 8014BFB0 */ u32 getShopItemTagP();
/* 8014BFB0 */ fopAc_ac_c* getShopItemTagP();
/* 8014C030 */ void setHitodamaPrtcl();
/* 8014CD20 */ virtual ~daNpcT_c();
@@ -400,8 +406,8 @@ public:
/* 8014CC2C */ virtual void drawGhost();
/* 8014CCA0 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int);
/* 8014CCE0 */ virtual bool afterSetMotionAnm(int, int, f32, int);
/* 8014CCB0 */ virtual void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
/* 8014CCF0 */ virtual void getMotionAnm(daNpcT_motionAnmData_c);
/* 8014CCB0 */ virtual daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
/* 8014CCF0 */ virtual daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c);
/* 8014CCEC */ virtual void changeAnm(int*, int*);
/* 8014CCAC */ virtual void changeBck(int*, int*);
/* 8014CCA8 */ virtual void changeBtp(int*, int*);
@@ -501,14 +507,13 @@ protected:
/* 0x99C */ u32 mAnmFlags;
/* 0x9A0 */ u32 field_0x9a0;
/* 0x9A4 */ profile_method_class* field_0x9a4;
/* 0x9A8 */ int field_0x9a8;
/* 0x9AC */ int field_0x9ac;
/* 0x9A8 */ int field_0x9a8[2];
/* 0x9B0 */ u32 field_0x9b0;
/* 0x9B4 */ int mFlowNodeNo;
/* 0x9B8 */ cXyz field_0x9b8;
/* 0x9C4 */ cXyz field_0x9c4;
/* 0x9D0 */ u16 field_0x9d0;
/* 0x9D2 */ u16 field_0x9d2;
/* 0x9D0 */ s16 field_0x9d0;
/* 0x9D2 */ s16 field_0x9d2;
/* 0x9D4 */ s16 field_0x9d4;
/* 0x9D6 */ s16 mExpressionPhase;
/* 0x9D8 */ s16 mExpressionPrevPhase;
@@ -604,11 +609,11 @@ public:
/* 80154250 */ void setAngle(s16);
/* 80154278 */ u8 getDistTableIdx(int, int);
/* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int);
/* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int,
/* 8015436C */ fopAc_ac_c* getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int,
int);
/* 80154730 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16);
/* 80154834 */ bool chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 801548F4 */ bool chkPointInArea(cXyz, cXyz, cXyz, s16);
/* 80154834 */ BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 801548F4 */ BOOL chkPointInArea(cXyz, cXyz, cXyz, s16);
/* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*);
/* 801549E0 */ void chkFindPlayer2(int, s16);
/* 80154BD8 */ void setHitodamaPrtcl();
@@ -639,7 +644,7 @@ public:
static u8 const mCcDObjInfo[48];
static dCcD_SrcCyl mCcDCyl;
static u8 mCcDSph[64];
static u8 mFindActorPList[400];
static fopAc_ac_c* mFindActorPList[100];
static s32 mFindCount;
static s16 mSrchActorName;
};
@@ -651,7 +656,7 @@ BOOL daNpcF_chkTmpBit(u32 i_idx);
void daNpcF_offTmpBit(u32 i_idx);
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
csXyz& param_3);
int daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
s16 daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
struct daBaseNpc_matAnm_c {
/* 8014D884 */ void calc(J3DMaterial*) const;
@@ -674,8 +679,7 @@ private:
/* 0x000 */ f32 field_0x0;
/* 0x004 */ dPath* mpRoomPath;
/* 0x008 */ f32 field_0x8;
/* 0x00C */ dPath* field_0xc;
/* 0x010 */ u8 field_0x10[2558];
/* 0x010 */ u8 field_0xc[2562];
/* 0xA0E */ u16 field_0xa0e;
/* 0xA10 */ u16 mIdx;
/* 0xA12 */ s8 mDirection;
@@ -686,11 +690,11 @@ public:
/* 8014D9A8 */ BOOL isPath();
/* 8014D9BC */ int setPathInfo(u8, s8, s8);
/* 8014DA48 */ void reverseDir();
/* 8014DA64 */ void chkPnt(cXyz);
/* 8014DA64 */ s32 chkPnt(cXyz);
/* 8014DAC4 */ void setNextPnt();
/* 8014DB04 */ u16 getIdx();
/* 8014DB0C */ void setIdx(u16);
/* 8014DB14 */ void getPntPos(u16);
/* 8014DB14 */ Vec getPntPos(u16);
/* 801503FC */ ~daBaseNpc_path_c();
@@ -706,7 +710,7 @@ private:
/* 0x34 */ cXyz mJntPos[3];
/* 0x4C */ u8 field_0x4C[24];
/* 0x64 */ csXyz mUnk[2];
/* 0x70 */ u8 field_0x70[12];
/* 0x70 */ csXyz mRotation[2];
/* 0x7C */ csXyz mUnk2[2];
/* 0x88 */ u8 field_0x88[4];
/* 0x8C */ cXyz* mpAttnPos;
@@ -718,7 +722,7 @@ public:
/* 8014E658 */ void setMinJntLmt(csXyz, int);
/* 8014E67C */ void setJntPos(cXyz, int);
/* 8014E6A0 */ int setAttnPos(cXyz*);
/* 8014E6AC */ void getRot(int);
/* 8014E6AC */ csXyz getRot(int);
/* 801502EC */ ~daBaseNpc_lookat_c();
};
@@ -847,7 +851,7 @@ private:
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 field_0x04;
/* 0x05 */ bool mIsClosed;
// /* 0x08 */ dPnt mPoints[96];
/* 0x08 */ dStage_dPnt_c mPoints[96];
public:
@@ -875,13 +879,18 @@ public:
/* 80150BE0 */ int setNextIdx();
/* 80150C18 */ u16 getNextIdx();
/* 80150C60 */ u16 getBeforeIdx();
/* 80150CA8 */ void getBeforePos(cXyz&);
/* 80150D44 */ void getNextPos(cXyz&);
/* 80150CA8 */ int getBeforePos(cXyz&);
/* 80150D44 */ int getNextPos(cXyz&);
/* 80150DE0 */ int getDstPos(cXyz, cXyz&);
/* 80150EB4 */ void setNextIdxDst(cXyz);
u16& getIdx() { return mIdx; };
cXyz* getPntPos(); // finish
inline Vec getPntPos(int i_idx) {
return mpRoomPath->m_points[i_idx].m_position;
}
int chkClose() {
return dPath_ChkClose(mpRoomPath);
}
};
class daNpcF_Lookat_c {
+1 -1
View File
@@ -43,7 +43,7 @@ public:
int Release(dBgW_Base*);
bool LineCross(cBgS_LinChk*);
f32 GroundCross(cBgS_GndChk*);
static void ConvDzb(void*);
static void* ConvDzb(void*);
fopAc_ac_c* GetActorPointer(int) const;
dBgW_Base* GetBgWBasePointer(cBgS_PolyInfo const&) const;
bool ChkPolySafe(cBgS_PolyInfo const&);
+4
View File
@@ -827,6 +827,10 @@ inline int dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, heap);
}
inline int dComIfG_setObjectRes(const char* name, void* param_1, u32 param_2) {
return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, param_2, NULL);
}
inline int dComIfG_setStageRes(const char* name, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setStageRes(name, heap);
}
+2 -3
View File
@@ -18,7 +18,7 @@ public:
/* 8003A348 */ int set(char const*, char const*, u8, JKRHeap*);
/* 8003AB30 */ static void onWarpMaterial(J3DModelData*);
/* 8003AC1C */ static void offWarpMaterial(J3DModelData*);
/* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
/* 8003AD08 */ static void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
/* 8003AE14 */ static J3DModelData* loaderBasicBmd(u32, void*);
/* 8003B30C */ int loadResource();
/* 8003B998 */ void deleteArchiveRes();
@@ -34,8 +34,7 @@ public:
JKRArchive* getArchive() { return mArchive; }
void incCount() { mCount++; }
u16 decCount() {
mCount--;
return mCount;
return --mCount;
}
private:
+20 -15
View File
@@ -18,31 +18,36 @@ public:
/* 0x13 */ s8 mAngleY;
};
class typeGroupData_c {
class typeGroupData_c : public data_s {
public:
data_s* getDataPointer() { return &mData; }
const data_s* getConstDataPointer() const { return &mData; }
data_s* getDataPointer() { return (data_s*)this; }
const data_s* getConstDataPointer() const { return (data_s*)this; }
typeGroupData_c* getNextDataPointer() const { return mNextData; }
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
u8 getNo() const { return mData.mNo; }
u8 getStatus() const { return mData.mStatus; }
void setStatus(u8 status) { mData.mStatus = status; }
void setRoomNo(s8 roomNo) { mData.mRoomNo = roomNo; }
s8 getRoomNo() const { return mData.mRoomNo; }
void setPos(const Vec& pos) { mData.mPos = pos; }
u8 getSwBit() const { return mData.mSwBit; }
const Vec* getPos() const { return &mData.mPos; }
int getAngleY() const { return mData.mAngleY; }
u8 getNo() const { return mNo; }
u8 getStatus() const { return mStatus; }
void setStatus(u8 status) { mStatus = status; }
void setRoomNo(s8 roomNo) { mRoomNo = roomNo; }
s8 getRoomNo() const { return mRoomNo; }
void setPos(const Vec& pos) { mPos = pos; }
u8 getSwBit() const { return mSwBit; }
const Vec* getPos() const { return &mPos; }
int getAngleY() const { return mAngleY; }
/* 0x00 */ data_s mData;
/* 0x14 */ typeGroupData_c* mNextData;
/* 0x18 */ u8 mTypeGroupNo;
}; // Size: 0x1C
struct list_class {
/* 0x0 */ int field_0x0;
/* 0x4 */ data_s* field_0x4;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x8 */ u8 mNumber;
};
struct type_group_list {
/* 0x0 */ typeGroupData_c* field_0x0;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x8 */ u8 mNumber;
};
@@ -67,7 +72,7 @@ public:
}
static u8 const typeToTypeGroup[17][2];
static list_class mTypeGroupListAll[17];
static type_group_list mTypeGroupListAll[17];
static typeGroupData_c* mTypeGroupData;
static u16 mNum;
};
+6 -6
View File
@@ -7,9 +7,9 @@
class dVibration_c {
public:
/* 8006F268 */ void Run();
/* 8006F268 */ int Run();
/* 8006FA24 */ bool StartShock(int, int, cXyz);
/* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz);
/* 8006FC0C */ bool StartQuake(u8 const*, int, int, cXyz);
/* 8006FB10 */ bool StartQuake(int, int, cXyz);
/* 8006FD94 */ int StopQuake(int);
/* 8006FE00 */ void Kill();
@@ -43,16 +43,16 @@ private:
/* 0x54 */ int field_0x54;
/* 0x58 */ s32 field_0x58;
/* 0x5C */ s32 field_0x5c;
/* 0x60 */ u32 field_0x60;
/* 0x60 */ s32 field_0x60;
/* 0x64 */ s32 field_0x64;
/* 0x68 */ u32 field_0x68;
/* 0x68 */ s32 field_0x68;
/* 0x6C */ u32 field_0x6c;
/* 0x70 */ s32 field_0x70;
/* 0x74 */ u32 field_0x74;
/* 0x78 */ u32 field_0x78;
/* 0x7C */ u32 field_0x7c;
/* 0x7C */ s32 field_0x7c;
/* 0x80 */ s32 field_0x80;
/* 0x84 */ u32 field_0x84;
/* 0x84 */ s32 field_0x84;
/* 0x88 */ s32 field_0x88;
/* 0x8C */ s32 field_0x8c;
}; // Size: 0x90
+1 -1
View File
@@ -18,7 +18,7 @@ public:
/* 0x22C */ s8 mPrm1;
/* 0x22D */ s8 mPrm2;
/* 0x22E */ s8 mPrm3;
/* 0x22F */ u8 field_0x22f;
/* 0x22F */ s8 field_0x22f;
/* 0x230 */ csXyz mAngle;
/* 0x238 */ int field_0x238;
};
+5
View File
@@ -59,6 +59,11 @@ public:
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
static BOOL isConnect(u32 pad) { return JUTGamePad::getPortStatus(pad) == 0; }
static void startMotorWave(u32 pad, void* param_2, JUTGamePad::CRumble::ERumble param_3, u32 param_4) {
m_gamePad[pad]->startMotorWave(param_2, param_3, param_4);
}
static void stopMotor(u32 pad) { m_gamePad[pad]->stopMotor(); }
static void stopMotorWave(u32 pad) { m_gamePad[pad]->stopMotorWave(); }
static void stopMotorHard(u32 pad) { return m_gamePad[pad]->stopMotorHard(); }
static void stopMotorWaveHard(u32 pad) { return m_gamePad[pad]->stopMotorWaveHard(); }
+1
View File
@@ -78,6 +78,7 @@ public:
static int getMaxY() { return 448; }
static int getMaxX() { return 608; }
static ResTIMG* getFrameBufferTimg() { return mFrameBufferTimg; }
static ResTIMG* getZbufferTimg() { return mZbufferTimg; }
static void* getFrameBufferTex() { return mFrameBufferTex; }
static void setFadeRate(f32 rate) { mFadeRate = rate; }
static f32 getFadeRate() { return mFadeRate; }
+6
View File
@@ -32,6 +32,8 @@ struct mDoLib_clipper {
mClipper.calcViewFrustum();
}
static void setup(f32, f32, f32, f32);
static J3DUClipper mClipper;
static f32 mSystemFar;
static f32 mFovyRate;
@@ -42,4 +44,8 @@ u8 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
GXTlutObj* o_tlutObj);
void mDoLib_pos2camera(Vec* src, Vec* dst);
inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
}
#endif /* M_DO_M_DO_LIB_H */
+12
View File
@@ -31,10 +31,18 @@ inline void mDoMtx_multVecSR(Mtx m, const Vec* src, Vec* dst) {
PSMTXMultVecSR(m, src, dst);
}
inline void cMtx_concat(const Mtx a, const Mtx b, Mtx ab) {
PSMTXConcat(a, b, ab);
}
inline void mDoMtx_multVec(Mtx m, const Vec* src, Vec* dst) {
PSMTXMultVec(m, src, dst);
}
inline void mDoMtx_multVecArray(Mtx m, const Vec* src, Vec* dst, u32 count) {
PSMTXMultVecArray(m, src, dst, count);
}
inline void mDoMtx_copy(const Mtx src, Mtx dst) {
PSMTXCopy(src, dst);
}
@@ -63,6 +71,10 @@ inline void cMtx_copy(const Mtx src, Mtx dst) {
mDoMtx_copy(src, dst);
}
inline void cMtx_multVecArray(Mtx mtx, const Vec* src, Vec* dst, u32 count) {
mDoMtx_multVecArray(mtx, src, dst, count);
}
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
param_1->x = param_0[0][3];
param_1->y = param_0[1][3];
+11 -11
View File
@@ -2161,7 +2161,7 @@ asm void J3DPEBlockFull::setAlphaComp(J3DAlphaComp const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DPEBlockFull::getAlphaComp() {
asm J3DAlphaComp* J3DPEBlockFull::getAlphaComp() {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getAlphaComp__14J3DPEBlockFullFv.s"
}
@@ -2383,7 +2383,7 @@ asm void J3DPEBlockFogOff::setAlphaComp(J3DAlphaComp const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DPEBlockFogOff::getAlphaComp() {
asm J3DAlphaComp* J3DPEBlockFogOff::getAlphaComp() {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getAlphaComp__16J3DPEBlockFogOffFv.s"
}
@@ -2619,7 +2619,7 @@ asm void J3DTevBlock16::setTevOrder(u32 param_0, J3DTevOrder const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTevBlock16::getTevOrder(u32 param_0) {
asm J3DTevOrder* J3DTevBlock16::getTevOrder(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTevOrder__13J3DTevBlock16FUl.s"
}
@@ -3672,7 +3672,7 @@ asm void J3DTevBlock4::setTevOrder(u32 param_0, J3DTevOrder const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTevBlock4::getTevOrder(u32 param_0) {
asm J3DTevOrder* J3DTevBlock4::getTevOrder(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTevOrder__12J3DTevBlock4FUl.s"
}
@@ -4065,7 +4065,7 @@ asm void J3DTevBlock2::setTevOrder(u32 param_0, J3DTevOrder const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTevBlock2::getTevOrder(u32 param_0) {
asm J3DTevOrder* J3DTevBlock2::getTevOrder(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTevOrder__12J3DTevBlock2FUl.s"
}
@@ -4458,7 +4458,7 @@ asm void J3DTevBlock1::setTevOrder(u32 param_0, J3DTevOrder const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTevBlock1::getTevOrder(u32 param_0) {
asm J3DTevOrder* J3DTevBlock1::getTevOrder(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTevOrder__12J3DTevBlock1FUl.s"
}
@@ -4712,7 +4712,7 @@ asm void J3DTevBlockPatched::setTevOrder(u32 param_0, J3DTevOrder const* param_1
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTevBlockPatched::getTevOrder(u32 param_0) {
asm J3DTevOrder* J3DTevBlockPatched::getTevOrder(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTevOrder__18J3DTevBlockPatchedFUl.s"
}
@@ -4980,7 +4980,7 @@ asm void J3DTexGenBlockPatched::setTexGenNum(u32 const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTexGenBlockPatched::getTexGenNum() const {
asm u32 J3DTexGenBlockPatched::getTexGenNum() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexGenNum__21J3DTexGenBlockPatchedCFv.s"
}
@@ -5001,7 +5001,7 @@ asm void J3DTexGenBlockPatched::setTexCoord(u32 param_0, J3DTexCoord const* para
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DTexGenBlockPatched::getTexCoord(u32 param_0) {
asm J3DTexCoord* J3DTexGenBlockPatched::getTexCoord(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexCoord__21J3DTexGenBlockPatchedFUl.s"
}
@@ -5227,7 +5227,7 @@ asm void J3DColorBlockLightOn::setColorChan(u32 param_0, J3DColorChan const& par
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DColorBlockLightOn::getColorChan(u32 param_0) {
asm J3DColorChan* J3DColorBlockLightOn::getColorChan(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getColorChan__20J3DColorBlockLightOnFUl.s"
}
@@ -5501,7 +5501,7 @@ asm void J3DColorBlockLightOff::setColorChan(u32 param_0, J3DColorChan const& pa
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DColorBlockLightOff::getColorChan(u32 param_0) {
asm J3DColorChan* J3DColorBlockLightOff::getColorChan(u32 param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getColorChan__21J3DColorBlockLightOffFUl.s"
}
@@ -82,7 +82,7 @@ extern "C" void _restgpr_26();
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DClusterLoaderDataBase::load(void const* param_0) {
asm void* J3DClusterLoaderDataBase::load(void const* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DClusterLoader/load__24J3DClusterLoaderDataBaseFPCv.s"
}
@@ -460,7 +460,7 @@ asm J3DModelLoader::J3DModelLoader() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DModelLoaderDataBase::load(void const* param_0, u32 param_1) {
asm void* J3DModelLoaderDataBase::load(void const* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DModelLoader/load__22J3DModelLoaderDataBaseFPCvUl.s"
}
+9 -21
View File
@@ -603,31 +603,29 @@ asm void daTagTWGate_c::initDemoFilone2() {
#endif
/* 80D52BF0-80D52DB4 000670 01C4+00 1/0 0/0 0/0 .text executeDemoFilone2__13daTagTWGate_cFv */
// regswap
#ifdef NONMATCHING
void daTagTWGate_c::executeDemoFilone2() {
int staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0);
s32 staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0);
if (staffId != -1) {
int* cutName = (int*)i_dComIfGp_getEventManager().getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
switch (*cutName) {
case 0x30303032:
case '0002':
initTalk(0xBC1, NULL);
break;
case 0x30303031:
case 0x30303033:
case '0001':
case '0003':
break;
}
}
switch (*cutName) {
case 0x30303031:
case 0x30303033:
case '0001':
case '0003':
dComIfGp_evmng_cutEnd(staffId);
break;
case 0x30303032:
case '0002':
if (talkProc(NULL, 1, NULL)) {
if (mMsgFlow.getChoiceNo() == 0) {
mActionID = ACT_DEMO_FILONE_3;
@@ -649,16 +647,6 @@ void daTagTWGate_c::executeDemoFilone2() {
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagTWGate_c::executeDemoFilone2() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone2__13daTagTWGate_cFv.s"
}
#pragma pop
#endif
/* 80D52DB4-80D52E7C 000834 00C8+00 1/0 0/0 0/0 .text initDemoFilone3__13daTagTWGate_cFv
*/
@@ -706,10 +694,10 @@ SECTION_RODATA static f32 const lit_4083 = -1.0f;
COMPILER_STRIP_GATE(0x80D5583C, &lit_4083);
/* 80D52E7C-80D53250 0008FC 03D4+00 1/0 0/0 0/0 .text executeDemoFilone3__13daTagTWGate_cFv */
// regswap
// matches without literals
#ifdef NONMATCHING
void daTagTWGate_c::executeDemoFilone3() {
int staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0);
s32 staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0);
if (staffId != -1) {
int* cutName = (int*)i_dComIfGp_getEventManager().getMyNowCutName(staffId);
+429 -667
View File
File diff suppressed because it is too large Load Diff
+22 -18
View File
@@ -305,32 +305,36 @@ struct cBgS_dzb_strgroup {
/* 80074578-80074618 06EEB8 00A0+00 0/0 1/1 0/0 .text ConvDzb__4cBgSFPv */
#ifdef NONMATCHING
void cBgS::ConvDzb(void* p_dzb) {
void* cBgS::ConvDzb(void* p_dzb) {
cBgS_dzb_data* pbgd = (cBgS_dzb_data*)p_dzb;
if (!(pbgd->field_0x30 & 0x80000000)) {
pbgd->field_0x30 |= 0x80000000;
if (pbgd->m_v_tbl != 0) {
pbgd->m_v_tbl += (u32)p_dzb;
}
pbgd->m_t_tbl += (u32)p_dzb;
pbgd->m_b_tbl += (u32)p_dzb;
pbgd->m_tree_tbl += (u32)p_dzb;
pbgd->m_g_tbl += (u32)p_dzb;
pbgd->m_ti_tbl += (u32)p_dzb;
for (int i = 0; i < pbgd->m_g_num; i++) {
((cBgS_dzb_strgroup*)pbgd->m_g_tbl)[i].strOffset += (u32)p_dzb;
}
if ((pbgd->field_0x30 & 0x80000000)) {
return;
}
pbgd->field_0x30 |= 0x80000000;
if (pbgd->m_v_tbl != 0) {
pbgd->m_v_tbl += (u32)p_dzb;
}
pbgd->m_t_tbl += (u32)p_dzb;
pbgd->m_b_tbl += (u32)p_dzb;
pbgd->m_tree_tbl += (u32)p_dzb;
pbgd->m_g_tbl += (u32)p_dzb;
pbgd->m_ti_tbl += (u32)p_dzb;
for (int i = 0; i < pbgd->m_g_num; i++) {
((cBgS_dzb_strgroup*)pbgd->m_g_tbl)[i].strOffset = (u32)p_dzb + ((cBgS_dzb_strgroup*)pbgd->m_g_tbl)[i].strOffset;
}
return p_dzb;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS::ConvDzb(void* param_0) {
asm void* cBgS::ConvDzb(void* param_0) {
nofralloc
#include "asm/d/bg/d_bg_s/ConvDzb__4cBgSFPv.s"
}
+2 -2
View File
@@ -1270,7 +1270,7 @@ BOOL dComIfG_resetToOpening(scene_class* i_scene) {
}
static int phase_1(char* i_arcName) {
if (!dComIfG_setObjectRes(i_arcName, 0, NULL)) {
if (!dComIfG_setObjectRes(i_arcName, (u8)0, NULL)) {
OSReport_Error("%s.arc Read Error !!\n", i_arcName);
return cPhs_ERROR_e;
}
@@ -1310,7 +1310,7 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcNa
/* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */
static int phase_01(phaseParam_c* i_phasePrm) {
if (dComIfG_setObjectRes(i_phasePrm->mResName, 0, i_phasePrm->mpHeap) == 0) {
if (dComIfG_setObjectRes(i_phasePrm->mResName, (u8)0, i_phasePrm->mpHeap) == 0) {
return 5;
}
-4
View File
@@ -22,10 +22,6 @@ namespace std {
/* 80182D10 */ void fabs(f32);
}; // namespace std
struct mDoLib_clipper {
/* 8001528C */ void setup(f32, f32, f32, f32);
};
struct daTagMwait_c {
/* 80182D9C */ void checkEndMessage();
};
+429 -202
View File
@@ -13,6 +13,7 @@
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/JKernel/JKRMemArchive.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "m_Do/m_Do_graphic.h"
#include "MSL_C/stdio.h"
#include "MSL_C/string.h"
#include "d/com/d_com_inf_game.h"
@@ -27,7 +28,7 @@
//
struct dBgWKCol {
/* 8007E7D0 */ void initKCollision(void*);
/* 8007E7D0 */ static void* initKCollision(void*);
};
//
@@ -222,23 +223,31 @@ static void setAlpha(J3DMaterialTable* pMatTable) {
}
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803798C1 = "fbtex_dummy";
SECTION_DEAD static char const* const stringBase_803798CD = "dummy";
SECTION_DEAD static char const* const stringBase_803798D3 = "Zbuffer";
#pragma pop
/* 8003A490-8003A81C 034DD0 038C+00 1/1 0/0 0/0 .text setIndirectTex__FP12J3DModelData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void setIndirectTex(J3DModelData* param_0) {
nofralloc
#include "asm/d/d_resorce/setIndirectTex__FP12J3DModelData.s"
static void setIndirectTex(J3DModelData* param_0) {
const char* textureName;
J3DMaterialTable& materialTable = param_0->getMaterialTable();
J3DTexture* texture = materialTable.getTexture();
if (texture == NULL)
return;
JUTNameTab* nameTab = materialTable.getTextureName();
if (nameTab == NULL)
return;
for (u16 i = 0; i < texture->getNum(); i++) {
textureName = nameTab->getName(i);
if (memcmp(textureName, "fbtex_dummy", 0xc) == 0) {
texture->setResTIMG(i, *mDoGph_gInf_c::getFrameBufferTimg());
}
if (memcmp(textureName, "dummy", 6) == 0) {
texture->setResTIMG(i, *mDoGph_gInf_c::getFrameBufferTimg());
}
if (memcmp(textureName, "Zbuffer", 8) == 0) {
texture->setResTIMG(i, *mDoGph_gInf_c::getZbufferTimg());
}
}
}
#pragma pop
/* 8003A81C-8003A840 03515C 0024+00 1/1 0/0 0/0 .text setAlpha__FP12J3DModelData */
static void setAlpha(J3DModelData* pModelData) {
@@ -247,16 +256,18 @@ static void setAlpha(J3DModelData* pModelData) {
/* ############################################################################################## */
/* 80379840-803798A4 005EA0 0064+00 2/2 0/0 0/0 .rodata l_texMtxInfo */
SECTION_RODATA static u8 const l_texMtxInfo[100] = {
0x00, 0x08, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3D, 0xCC, 0xCC, 0xCD, 0x3D, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
SECTION_RODATA static const J3DTexMtxInfo l_texMtxInfo = {
0x00,
0x08,
{0.5f, 0.5f, 0.0f},
{ 0.1f, 0.1f, 0, 0.0f, 0.0f},
{
{ 0.5f, 0.0f, 0.0f, 0.5f },
{ 0.0f, 0.5f, 0.0f, 0.5f },
{ 0.0f, 0.0f, 0.0f, 1.0f },
{ 0.0f, 0.0f, 0.0f, 1.0f },
},
};
COMPILER_STRIP_GATE(0x80379840, &l_texMtxInfo);
/* 803798A4-803798B8 005F04 0014+00 1/1 0/0 0/0 .rodata l_tevStageInfo$3774 */
SECTION_RODATA static u8 const l_tevStageInfo[20] = {
@@ -265,22 +276,15 @@ SECTION_RODATA static u8 const l_tevStageInfo[20] = {
};
COMPILER_STRIP_GATE(0x803798A4, &l_tevStageInfo);
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803798DB = "Always";
#pragma pop
/* 80450628-8045062C 0000A8 0004+00 1/1 0/0 0/0 .sdata l_texCoordInfo$3772 */
SECTION_SDATA static u8 l_texCoordInfo[4] = {
SECTION_SDATA static J3DTexCoordInfo l_texCoordInfo = {
0x00,
0x00,
0x27,
0x00,
};
/* 8045062C-80450630 0000AC 0004+00 1/1 0/0 0/0 .sdata l_tevOrderInfo$3773 */
SECTION_SDATA static u8 l_tevOrderInfo[4] = {
SECTION_SDATA static J3DTevOrderInfo l_tevOrderInfo = {
0x00,
0x03,
0xFF,
@@ -288,20 +292,46 @@ SECTION_SDATA static u8 l_tevOrderInfo[4] = {
};
/* 80451DF0-80451DF8 0003F0 0008+00 1/1 0/0 0/0 .sdata2 l_alphaCompInfo$3775 */
SECTION_SDATA2 static u8 l_alphaCompInfo[8] = {
0x04, 0x80, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00,
SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo = {
0x04, 0x80, 0x00, 0x03, 0xFF,
};
/* 8003A840-8003AACC 035180 028C+00 1/1 0/0 0/0 .text addWarpMaterial__FP12J3DModelData
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void addWarpMaterial(J3DModelData* param_0) {
nofralloc
#include "asm/d/d_resorce/addWarpMaterial__FP12J3DModelData.s"
static void addWarpMaterial(J3DModelData* param_1) {
ResTIMG* objectRes = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5d);
J3DTexture* texture = param_1->getTexture();
u16 textureNum = texture->getNum();
texture->addResTIMG(1, objectRes - textureNum);
J3DTexMtx* texMtxInfo = new J3DTexMtx(l_texMtxInfo);
for (u16 i = 0; i < param_1->getMaterialNum(); i++) {
J3DMaterial* pMaterial = param_1->getMaterialNodePointer(i);
J3DTexGenBlock* texGenBlock = pMaterial->getTexGenBlock();
u32 texGenNum = texGenBlock->getTexGenNum();
J3DTexCoord* coord = texGenBlock->getTexCoord(texGenNum);
l_texCoordInfo.mTexGenMtx = texGenNum * 3 + 0x1e;
coord->setTexCoordInfo(&l_texCoordInfo);
coord->resetTexMtxReg();
texGenBlock->setTexGenNum(texGenNum + 1);
texGenBlock->setTexMtx(texGenNum, texMtxInfo);
J3DTevBlock* tevBlock = pMaterial->getTevBlock();
u8 tevStageNum = tevBlock->getTevStageNum();
l_tevOrderInfo.field_0x0 = texGenNum;
tevBlock->setTexNo(3, textureNum);
tevBlock->setTevOrder(tevStageNum, l_tevOrderInfo);
tevBlock->setTevStage(tevStageNum, J3DTevStage(*(J3DTevStageInfo*)l_tevStageInfo));
tevBlock->setTevStageNum(tevStageNum + 1);
J3DShape* pShape = pMaterial->getShape();
GXAttr attr = (GXAttr)(texGenNum + 1);
pShape->addTexMtxIndexInDL(attr, 0);
pShape->addTexMtxIndexInVcd(attr);
J3DPEBlock* peBlock = pMaterial->getPEBlock();
J3DAlphaComp* alphaComp = peBlock->getAlphaComp();
alphaComp->setAlphaCompInfo(&l_alphaCompInfo);
peBlock->setZCompLoc((u8)0);
}
}
#pragma pop
/* 8003AACC-8003AB2C 03540C 0060+00 1/1 2/2 0/0 .text __ct__11J3DTevStageFRC15J3DTevStageInfo */
#pragma push
@@ -320,37 +350,54 @@ void J3DTexGenBlock::setTexMtx(u32 param_0, J3DTexMtx* param_1) {
/* 8003AB30-8003AC1C 035470 00EC+00 0/0 2/1 0/0 .text
* onWarpMaterial__11dRes_info_cFP12J3DModelData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRes_info_c::onWarpMaterial(J3DModelData* param_0) {
nofralloc
#include "asm/d/d_resorce/onWarpMaterial__11dRes_info_cFP12J3DModelData.s"
void dRes_info_c::onWarpMaterial(J3DModelData* param_0) {
for (u16 i = 0; i < param_0->getMaterialNum(); i++) {
J3DMaterial* pMaterial = param_0->getMaterialNodePointer(i);
J3DTevBlock* tevBlock = pMaterial->getTevBlock();
u8 tevStageNum = tevBlock->getTevStageNum();
J3DTevOrder* tevorder = tevBlock->getTevOrder(tevStageNum - 1);
if (tevorder->getTexMap() == 3) {
break;
}
tevBlock->setTevStageNum(tevStageNum + 1);
J3DTexGenBlock* texGenBlock = pMaterial->getTexGenBlock();
texGenBlock->setTexGenNum(texGenBlock->getTexGenNum() + 1);
}
}
#pragma pop
/* 8003AC1C-8003AD08 03555C 00EC+00 0/0 2/1 0/0 .text
* offWarpMaterial__11dRes_info_cFP12J3DModelData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRes_info_c::offWarpMaterial(J3DModelData* param_0) {
nofralloc
#include "asm/d/d_resorce/offWarpMaterial__11dRes_info_cFP12J3DModelData.s"
void dRes_info_c::offWarpMaterial(J3DModelData* modelData) {
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
J3DMaterial* pMaterial = modelData->getMaterialNodePointer(i);
J3DTevBlock* tevBlock = pMaterial->getTevBlock();
u8 tevStageNum = tevBlock->getTevStageNum();
J3DTevOrder* tevorder = tevBlock->getTevOrder(tevStageNum - 1);
if (tevorder->getTexMap() != 3) {
break;
}
tevBlock->setTevStageNum(tevStageNum - 1);
J3DTexGenBlock* texGenBlock = pMaterial->getTexGenBlock();
texGenBlock->setTexGenNum(texGenBlock->getTexGenNum() - 1);
}
}
#pragma pop
/* 8003AD08-8003AE14 035648 010C+00 0/0 1/1 0/0 .text
* setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRes_info_c::setWarpSRT(J3DModelData* param_0, cXyz const& param_1, f32 param_2,
f32 param_3) {
nofralloc
#include "asm/d/d_resorce/setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff.s"
void dRes_info_c::setWarpSRT(J3DModelData* modelData, cXyz const& param_1, f32 translationX, f32 translationY) {
J3DMaterial* pMaterial = modelData->getMaterialNodePointer(0);
J3DTexGenBlock* texGenBlock = pMaterial->getTexGenBlock();
u32 texGenNum = texGenBlock->getTexGenNum();
J3DTexMtx* texMtx = texGenBlock->getTexMtx(texGenNum - 1);
J3DTexMtxInfo& texMtxInfo = texMtx->getTexMtxInfo();
texMtxInfo.mSRT.mTranslationX = translationX;
texMtxInfo.mSRT.mTranslationY = translationY;
mDoMtx_stack_c::transS(-param_1.x, -param_1.y, -param_1.z);
s16 angleY = fopCamM_GetAngleY(dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0)));
mDoMtx_stack_c::YrotM(angleY);
MtxP stackMtx = mDoMtx_stack_c::get();
cMtx_concat(l_texMtxInfo.mEffectMtx, stackMtx, texMtxInfo.mEffectMtx);
}
#pragma pop
/* ############################################################################################## */
/* 803A7C18-803A7C38 -00001 0020+00 1/1 0/0 0/0 .data @4017 */
@@ -367,6 +414,77 @@ SECTION_DATA static void* lit_4017[8] = {
/* 8003AE14-8003B150 035754 033C+00 2/1 1/1 0/0 .text loaderBasicBmd__11dRes_info_cFUlPv
*/
// regalloc
#ifdef NONMATCHING
J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_1, void* param_2) {
u32 pvVar5 = 0x59020010;
J3DMaterial* pMaterial;
J3DModelData* modelData;
u8 lightMask;
if (param_1 == 'BMDE' || param_1 == 'BMDV') {
pvVar5 |= 0x20;
} else if (param_1 == 'BMWR' || param_1 == 'BMWE') {
pvVar5 ^= 0x60020;
}
modelData = (J3DModelData*)J3DModelLoaderDataBase::load(param_2, pvVar5);
if (modelData == NULL) {
return NULL;
}
if ((param_1 == 'BMDE' || param_1 == 'BMDV') || param_1 == 'BMWE') {
for (u16 i = 0; i < modelData->getShapeNum(); i++) {
modelData->getShapeNodePointer(i)->setTexMtxLoadType(0x2000);
}
}
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
pMaterial = modelData->getMaterialNodePointer(i);
lightMask = pMaterial->getColorBlock()->getColorChan(0)->getLightMask();
switch (g_env_light.field_0x1308) {
case 1:
lightMask &= 4;
break;
case 2:
lightMask &= 0xc;
break;
case 3:
lightMask &= 0xd;
break;
case 4:
lightMask &= 0xf;
break;
case 5:
lightMask &= 0x1f;
break;
case 6:
lightMask &= 0x3f;
break;
case 7:
lightMask &= 0x7f;
}
pMaterial->getColorBlock()->getColorChan(0)->setLightMask(lightMask);
pMaterial->change();
J3DMaterialAnm* local_38 = new J3DMaterialAnm();
if (local_38 == NULL) {
return NULL;
}
pMaterial->setMaterialAnm(local_38);
}
setIndirectTex(modelData);
if ((param_1 == 'BMWR') || (param_1 == 'BMWE')) {
addWarpMaterial(modelData);
}
if ((param_1 == 'BMDR') || (param_1 == 'BMWR')) {
if (modelData->newSharedDisplayList(0x40000) == 0) {
modelData->simpleCalcMaterial(0, (float (*)[4])j3dDefaultMtx);
modelData->makeSharedDL();
} else {
modelData = NULL;
}
}
return modelData;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -375,6 +493,7 @@ asm J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) {
#include "asm/d/d_resorce/loaderBasicBmd__11dRes_info_cFUlPv.s"
}
#pragma pop
#endif
/* 8003B150-8003B18C 035A90 003C+00 2/2 8/8 0/0 .text __dt__15J3DTevKColorAnmFv */
#pragma push
@@ -539,6 +658,142 @@ SECTION_DEAD static char const* const stringBase_80379912 = "<%s> res == NULL !!
#pragma pop
/* 8003B30C-8003B8D0 035C4C 05C4+00 2/2 0/0 0/0 .text loadResource__11dRes_info_cFv */
// J3DXXX ctor/dtor inlines
#ifdef NONMATCHING
int dRes_info_c::loadResource() {
s32 pJVar4 = mArchive->countFile();
mRes = new void*[pJVar4];
if (mRes == NULL) {
OSReport_Error("<%s.arc> setRes: res pointer buffer nothing !!\n", this);
return -1;
}
for (int i = 0; i < pJVar4; i++) {
mRes[i] = NULL;
}
JKRArchive::SDIDirEntry* node = mArchive->mNodes;
for (int i = 0; i < mArchive->countDirectory(); i++) {
u32 nodeType = node->type;
u32 firstFileIndex = node->first_file_index;
J3DModelData* modelData;
void* result;
for (int j = 0; j < node->num_entries; j++) {
if (mArchive->isFileEntry(firstFileIndex)) {
result = mArchive->getIdxResource(firstFileIndex);
if (result == NULL) {
OSReport_Error("<%s> res == NULL !!\n", mArchive->mStringTable + (mArchive->findIdxResource(firstFileIndex)->type_flags_and_name_offset & 0xFFFFFF));
}
else if (nodeType == 'ARC ') {
JKRArchive::SDIFileEntry* fileEntry = mArchive->findIdxResource(firstFileIndex);
const char* __s = mArchive->mStringTable + fileEntry->getNameOffset();
size_t len = strlen(__s) - 4;
char aJStack_24[9];
strncpy(aJStack_24, __s, len);
aJStack_24[len] = '\0';
JKRHeap* local_58 = JKRHeap::findFromRoot(JKRHeap::getCurrentHeap());
JKRHeap* pJVar3 = local_58;
if (local_58 == (JKRHeap*)mDoExt_getGameHeap()) {
local_58 = NULL;
}
dComIfG_setObjectRes(aJStack_24, result, fileEntry->data_size);
} else if (nodeType == 'BMDP') {
result = (J3DModelData*) J3DModelLoaderDataBase::load(result, 0x59020030);
if (result == NULL) {
return -1;
}
modelData = (J3DModelData*)result;
for (u16 k = 0; k < modelData->getMaterialNum(); k++) {
J3DMaterial* pMaterial = modelData->getMaterialNodePointer(k);
pMaterial->change();
J3DMaterialAnm* materialAnm = new J3DMaterialAnm();
if (materialAnm == (J3DMaterialAnm*)0x0) {
return -1;
}
pMaterial->setMaterialAnm(materialAnm);
}
setAlpha(modelData);
if (modelData->newSharedDisplayList(0x40000) != 0) {
return -1;
}
modelData->simpleCalcMaterial(0, (float (*)[4])j3dDefaultMtx);
modelData->makeSharedDL();
} else if ((((nodeType == 'BMDR') ||
(nodeType == 'BMDV')) ||
(nodeType == 'BMDE')) ||
((nodeType == 'BMWR' ||
(nodeType == 'BMWE'))))
{
result = loaderBasicBmd(nodeType, result);
if (result == NULL) {
return -1;
}
} else if (nodeType == 'BMDG') {
result = (J3DModelData*)J3DModelLoaderDataBase::load(result, 0x59020010);
if (result == NULL) {
return -1;
}
modelData = (J3DModelData*)result;
if (modelData->newSharedDisplayList(0x40000) != 0) {
return -1;
}
modelData->simpleCalcMaterial(0, (float (*)[4])j3dDefaultMtx);
modelData->makeSharedDL();
} else if (nodeType == 'BMDA') {
result = (J3DModelData*)J3DModelLoaderDataBase::load(result, 0x59020010);
if (result == NULL) {
return -1;
}
modelData = (J3DModelData*)result;
if (modelData->newSharedDisplayList(0x40000) != 0) {
return -1;
}
modelData->simpleCalcMaterial(0, (float (*)[4])j3dDefaultMtx);
modelData->makeSharedDL();
} else if (nodeType == 'BLS ') {
result = J3DClusterLoaderDataBase::load(result);
if (result == NULL) {
return -1;
}
} else if ((nodeType == 'BCKS') ||
(nodeType == 'BCK '))
{
int sVar1 = *(int*)((int)result + 0x1c);
void* local_9c = sVar1 != 0xffffffff ? (void*)(sVar1 + (u32)result) : NULL;
mDoExt_transAnmBas* transAnmBas = new mDoExt_transAnmBas(local_9c);
if (transAnmBas == NULL) {
return -1;
}
J3DAnmLoaderDataBase::setResource(transAnmBas, result);
result = transAnmBas;
} else if ((((nodeType == 'BTP ') ||
(nodeType == 'BTK ')) ||
(nodeType == 'BPK ')) ||
(((nodeType == 'BRK ' ||
(nodeType == 'BLK ')) ||
((nodeType == 'BVA ' ||
(nodeType == 'BXA '))))))
{
result = J3DAnmLoaderDataBase::load(result, J3DLOADER_UNK_FLAG0);
if (result == NULL) {
return -1;
}
} else if (nodeType == 'DZB ') {
result = ((cBgS*)result)->ConvDzb(result);
} else if (nodeType == 'KCL ') {
result = dBgWKCol::initKCollision(result);
}
mRes[firstFileIndex] = result;
}
firstFileIndex++;
}
node++;
}
return 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -547,6 +802,7 @@ asm int dRes_info_c::loadResource() {
#include "asm/d/d_resorce/loadResource__11dRes_info_cFv.s"
}
#pragma pop
#endif
/* 8003B8D0-8003B93C 036210 006C+00 1/0 0/0 0/0 .text __dt__18J3DAnmTransformKeyFv */
#pragma push
@@ -572,24 +828,39 @@ extern "C" asm void __dt__15J3DAnmTransformFv() {
/* 8003B998-8003BA9C 0362D8 0104+00 1/1 0/0 0/0 .text deleteArchiveRes__11dRes_info_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRes_info_c::deleteArchiveRes() {
nofralloc
#include "asm/d/d_resorce/deleteArchiveRes__11dRes_info_cFv.s"
void dRes_info_c::deleteArchiveRes() {
JKRArchive::SDIDirEntry* nodes = mArchive->mNodes;
for (int i = 0; i < mArchive->countDirectory(); nodes++, i++) {
if (nodes->type == 0x41524320) {
u32 firstFileIndex = nodes->first_file_index;
for (int j = 0; j < nodes->num_entries; j++) {
if (mArchive->isFileEntry(firstFileIndex)) {
JKRArchive::SDIFileEntry* fileEntry = mArchive->findIdxResource(firstFileIndex);
u32 nameOffset = fileEntry->getNameOffset();
char* fileName = mArchive->mStringTable + nameOffset;
size_t nameLen = strlen(fileName) - 4;
char nameBuffer[12];
strncpy(nameBuffer, fileName, nameLen);
nameBuffer[nameLen] = '\0';
dComIfG_deleteObjectResMain(nameBuffer);
}
firstFileIndex++;
}
}
}
}
#pragma pop
/* 8003BA9C-8003BAC4 0363DC 0028+00 2/2 0/0 0/0 .text getArcHeader__FP10JKRArchive */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void* getArcHeader(JKRArchive* param_0) {
nofralloc
#include "asm/d/d_resorce/getArcHeader__FP10JKRArchive.s"
static SArcHeader* getArcHeader(JKRArchive* param_0) {
if (param_0 != NULL) {
switch(param_0->getMountMode()) {
case JKRArchive::MOUNT_MEM:
return ((JKRMemArchive*)param_0)->getArcHeader();
}
}
return NULL;
}
#pragma pop
/* 8003BAC4-8003BAF8 036404 0034+00 1/1 0/0 0/0 .text setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap
*/
@@ -679,28 +950,24 @@ static s32 myGetMemBlockSize0(void* param_0) {
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037997F = "%5.1f %5x %5.1f %5x %3d %s\n";
SECTION_DEAD static char const* const stringBase_8037999B = "dRes_info_c::dump_long %08x %d\n";
SECTION_DEAD static char const* const stringBase_803799BB =
"No Command Archive ArcHeader(size) SolidHeap(si"
"ze) Resource Cnt ArchiveName\n";
SECTION_DEAD static char const* const stringBase_80379A09 =
"%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n";
#pragma pop
/* 8003BD2C-8003BE38 03666C 010C+00 1/1 0/0 0/0 .text dump_long__11dRes_info_cFP11dRes_info_ci */
#ifdef NONMATCHING
void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
int i;
void* header;
int blockSize1;
int blockSize2;
JKRArchive* archive;
JKRSolidHeap* dataHeap;
JUTReportConsole_f("dRes_info_c::dump_long %08x %d\n", param_0, param_1);
JUTReportConsole_f(
"No Command Archive ArcHeader(size) SolidHeap(size) Resource Cnt ArchiveName\n");
for (int i = 0; i < param_1; i++) {
for (i = 0; i < param_1; i++) {
if (param_0->getCount() != 0) {
JKRArchive* archive = param_0->getArchive();
archive = param_0->getArchive();
header = NULL;
blockSize1 = 0;
@@ -709,7 +976,7 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
blockSize1 = myGetMemBlockSize0(header);
}
JKRSolidHeap* dataHeap = param_0->mDataHeap;
dataHeap = param_0->mDataHeap;
blockSize2 = 0;
if (dataHeap != NULL) {
blockSize2 = myGetMemBlockSize0((void*)dataHeap);
@@ -717,22 +984,12 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
JUTReportConsole_f("%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n", i,
param_0->getDMCommand(), archive, header, blockSize1,
&param_0->mDataHeap, blockSize2, param_0->mRes,
dataHeap, blockSize2, param_0->mRes, param_0->getCount(),
param_0->getArchiveName());
}
param_0++;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
nofralloc
#include "asm/d/d_resorce/dump_long__11dRes_info_cFP11dRes_info_ci.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -760,6 +1017,33 @@ SECTION_SDATA2 static f32 lit_4333[1 + 1 /* padding */] = {
/* 8003BE38-8003BFB0 036778 0178+00 1/1 0/0 0/0 .text dump__11dRes_info_cFP11dRes_info_ci
*/
// float literal order
#ifdef NONMATCHING
void dRes_info_c::dump(dRes_info_c* param_0, int param_1) {
int totalArcHeaderSize;
int totalHeapSize;
int arcHeaderSize;
int heapSize;
char* archiveName;
JUTReportConsole_f("dRes_info_c::dump %08x %d\n", param_0, param_1);
JUTReportConsole_f("No ArchiveSize(KB) SolidHeapSize(KB) Cnt ArchiveName\n");
totalArcHeaderSize = 0;
totalHeapSize = 0;
for (int i = 0; i < param_1; i++) {
if (param_0->getCount()) {
arcHeaderSize = JKRGetMemBlockSize(NULL, getArcHeader(param_0->getArchive()));
heapSize = JKRGetMemBlockSize(NULL, param_0->mDataHeap);
archiveName = param_0->getArchiveName();
JUTReportConsole_f("%2d %6.1f %6x %6.1f %6x %3d %s\n", i, arcHeaderSize / 1024.0f, arcHeaderSize, heapSize / 1024.0f, heapSize, param_0->getCount(), archiveName);
totalArcHeaderSize += arcHeaderSize;
totalHeapSize += heapSize;
}
param_0++;
}
JUTReportConsole_f(
"----------------------------------------------\n %6.1f %6x %6.1f %6x Total\n\n", totalArcHeaderSize / 1024.0f, totalArcHeaderSize, totalHeapSize / 1024.0f, totalHeapSize);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -768,37 +1052,23 @@ asm void dRes_info_c::dump(dRes_info_c* param_0, int param_1) {
#include "asm/d/d_resorce/dump__11dRes_info_cFP11dRes_info_ci.s"
}
#pragma pop
#endif
/* 8003BFB0-8003C078 0368F0 00C8+00 0/0 1/1 0/0 .text __dt__14dRes_control_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dRes_control_c::~dRes_control_c() {
nofralloc
#include "asm/d/d_resorce/__dt__14dRes_control_cFv.s"
dRes_control_c::~dRes_control_c() {
for (int i = 0; i < (int)ARRAY_SIZE(mObjectInfo); i++) {
mObjectInfo[i].~dRes_info_c();
}
for (int i = 0; i < (int)ARRAY_SIZE(mStageInfo); i++) {
mStageInfo[i].~dRes_info_c();
}
}
#pragma pop
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
// MWCC ignores mapping of some japanese characters using the
// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
SECTION_DEAD static char const* const stringBase_80379AF9 =
"\x3C\x25\x73\x2E\x61\x72\x63\x3E\x20\x64\x52\x65\x73\x5F\x63\x6F\x6E\x74\x72\x6F\x6C\x5F\x63"
"\x3A\x3A\x73\x65\x74\x52\x65\x73\x3A\x20\x8B\xF3\x82\xAB\x83\x8A\x83\x5C\x81\x5B\x83\x58\x8F"
"\xEE\x95"
"\xF1\x83\x7C\x83\x43\x83\x93\x83\x5E\x82\xAA\x82\xA0\x82\xE8\x82\xDC\x82\xB9\x82\xF1\x0A";
SECTION_DEAD static char const* const stringBase_80379B40 =
"<%s.arc> dRes_control_c::setRes: res info set er"
"ror !!\n";
#pragma pop
/* 8003C078-8003C160 0369B8 00E8+00 2/2 8/8 0/0 .text
* setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap */
// matches except resInfo destructor issues?
#ifdef NONMATCHING
int dRes_control_c::setRes(char const* arcName, dRes_info_c* pInfo, int infoSize,
char const* arcPath, u8 param_4, JKRHeap* pHeap) {
dRes_info_c* resInfo = getResInfo(arcName, pInfo, infoSize);
@@ -807,6 +1077,8 @@ int dRes_control_c::setRes(char const* arcName, dRes_info_c* pInfo, int infoSize
resInfo = newResInfo(pInfo, infoSize);
if (resInfo == NULL) {
// MWCC ignores mapping of some japanese characters using the
// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
// "<%s.arc> dRes_control_c::setRes: 空きリソース情報ポインタがありません\n"
// "<%s.arc> dRes_control_c::setRes: There isn't a free Resource Info pointer\n"
OSReport_Error(
@@ -815,31 +1087,20 @@ int dRes_control_c::setRes(char const* arcName, dRes_info_c* pInfo, int infoSize
"\x5C\x81\x5B\x83\x58\x8F\xEE\x95\xF1\x83\x7C\x83\x43\x83\x93\x83\x5E\x82\xAA\x82"
"\xA0\x82\xE8\x82\xDC\x82\xB9\x82\xF1\x0A",
arcName);
delete resInfo;
resInfo->~dRes_info_c();
return 0;
}
int resStatus = resInfo->set(arcName, arcPath, param_4, pHeap);
if (resStatus == 0) {
OSReport_Error("<%s.arc> dRes_control_c::setRes: res info set error !!\n", arcName);
delete resInfo;
resInfo->~dRes_info_c();
return 0;
}
}
resInfo->incCount();
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dRes_control_c::setRes(char const* param_0, dRes_info_c* param_1, int param_2,
char const* param_3, u8 param_4, JKRHeap* param_5) {
nofralloc
#include "asm/d/d_resorce/setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap.s"
}
#pragma pop
#endif
/* 8003C160-8003C194 036AA0 0034+00 0/0 10/10 1/1 .text
* syncRes__14dRes_control_cFPCcP11dRes_info_ci */
@@ -855,7 +1116,6 @@ int dRes_control_c::syncRes(char const* arcName, dRes_info_c* pInfo, int infoSiz
/* 8003C194-8003C1E4 036AD4 0050+00 1/1 7/7 0/0 .text
* deleteRes__14dRes_control_cFPCcP11dRes_info_ci */
#ifdef NONMATCHING
int dRes_control_c::deleteRes(char const* arcName, dRes_info_c* pInfo, int infoSize) {
dRes_info_c* resInfo = getResInfo(arcName, pInfo, infoSize);
@@ -863,21 +1123,11 @@ int dRes_control_c::deleteRes(char const* arcName, dRes_info_c* pInfo, int infoS
return 0;
} else {
if (resInfo->decCount() == 0) {
delete resInfo;
resInfo->~dRes_info_c();
}
return 1;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dRes_control_c::deleteRes(char const* param_0, dRes_info_c* param_1, int param_2) {
nofralloc
#include "asm/d/d_resorce/deleteRes__14dRes_control_cFPCcP11dRes_info_ci.s"
}
#pragma pop
#endif
/* 8003C1E4-8003C260 036B24 007C+00 5/5 5/5 3/3 .text
* getResInfo__14dRes_control_cFPCcP11dRes_info_ci */
@@ -921,87 +1171,64 @@ dRes_info_c* dRes_control_c::getResInfoLoaded(char const* arcName, dRes_info_c*
}
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379BA0 =
"<%s.arc> getRes: res index over !! index=%d coun"
"t=%d\n";
#pragma pop
/* 8003C2EC-8003C37C 036C2C 0090+00 1/1 54/54 894/894 .text
* getRes__14dRes_control_cFPCclP11dRes_info_ci */
// weird branching
#ifdef NONMATCHING
void* dRes_control_c::getRes(char const* arcName, s32 resIdx, dRes_info_c* pInfo, int infoSize) {
dRes_info_c* resInfo = getResInfoLoaded(arcName, pInfo, infoSize);
if (resInfo == NULL) {
JKRArchive* archive = resInfo->getArchive();
u32 fileCount = archive->countFile();
return resInfo;
}
JKRArchive* archive = resInfo->getArchive();
u32 fileCount = archive->countFile();
if (resIdx >= (int)fileCount) {
OSReport_Error("<%s.arc> getRes: res index over !! index=%d count=%d\n", arcName,
resIdx, fileCount);
return NULL;
}
if (resIdx >= (int)fileCount) {
OSReport_Error("<%s.arc> getRes: res index over !! index=%d count=%d\n", arcName,
resIdx, fileCount);
return NULL;
}
return resInfo->getRes(resIdx);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void* dRes_control_c::getRes(char const* param_0, s32 param_1, dRes_info_c* param_2,
int param_3) {
nofralloc
#include "asm/d/d_resorce/getRes__14dRes_control_cFPCclP11dRes_info_ci.s"
}
#pragma pop
#endif
/* 8003C37C-8003C400 036CBC 0084+00 0/0 18/18 109/109 .text
* getRes__14dRes_control_cFPCcPCcP11dRes_info_ci */
// same weird branch issue
#ifdef NONMATCHING
void* dRes_control_c::getRes(char const* arcName, char const* resName, dRes_info_c* pInfo,
int infoSize) {
dRes_info_c* resInfo = getResInfoLoaded(arcName, pInfo, infoSize);
if (resInfo == NULL) {
JKRArchive* archive = resInfo->getArchive();
JKRArchive::SDIFileEntry* entry = archive->findNameResource(resName);
return resInfo;
}
if (entry != NULL) {
return resInfo->getRes(entry - archive->mFiles);
} else {
return NULL;
}
JKRArchive* archive = resInfo->getArchive();
JKRArchive::SDIFileEntry* entry = archive->findNameResource(resName);
if (entry != NULL) {
return resInfo->getRes(entry - archive->mFiles);
} else {
return NULL;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void* dRes_control_c::getRes(char const* param_0, char const* param_1, dRes_info_c* param_2,
int param_3) {
nofralloc
#include "asm/d/d_resorce/getRes__14dRes_control_cFPCcPCcP11dRes_info_ci.s"
}
#pragma pop
#endif
/* 8003C400-8003C470 036D40 0070+00 0/0 7/7 4/4 .text
* getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void* dRes_control_c::getIDRes(char const* param_0, u16 param_1, dRes_info_c* param_2,
int param_3) {
nofralloc
#include "asm/d/d_resorce/getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci.s"
void* dRes_control_c::getIDRes(char const* arcName, u16 param_1, dRes_info_c* pInfo, int infoSize) {
dRes_info_c* resInfo = getResInfoLoaded(arcName, pInfo, infoSize);
if (resInfo == NULL) {
return resInfo;
}
JKRArchive* archive = resInfo->getArchive();
int index = mDoExt_resIDToIndex(archive, param_1);
if (index < 0) {
return 0;
}
return resInfo->getRes(index);
}
#pragma pop
/* 8003C470-8003C4E4 036DB0 0074+00 0/0 3/3 0/0 .text syncAllRes__14dRes_control_cFP11dRes_info_ci
*/
+69 -115
View File
@@ -8,65 +8,28 @@
#include "d/map/d_map_path_dmap.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/d_path.h"
#include "SSystem/SComponent/c_math.h"
//
// Forward References:
//
extern "C" void createWork__7dTres_cFv();
extern "C" void create__7dTres_cFv();
extern "C" void remove__7dTres_cFv();
extern "C" void reset__7dTres_cFv();
extern "C" void addData__7dTres_cFPQ27dTres_c10list_classSc();
extern "C" void checkTreasureBox__7dTres_cFPQ27dTres_c6data_s();
extern "C" void onStatus__7dTres_cFUcii();
extern "C" void offStatus__7dTres_cFUcii();
extern "C" void getBossIconFloorNo__7dTres_cFPi();
extern "C" void getFirstData__7dTres_cFUc();
extern "C" void getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c();
extern "C" void getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c();
extern "C" void setPosition__7dTres_cFiUcPC3Veci();
extern "C" void getTypeGroupNoToType__7dTres_cFUc();
extern "C" void getTypeToTypeGroupNo__7dTres_cFUc();
extern "C" u8 const typeToTypeGroup__7dTres_c[34 + 6 /* padding */];
extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */];
extern "C" u8 mTypeGroupData__7dTres_c[4];
extern "C" u8 mNum__7dTres_c[2 + 2 /* padding */];
//
// External References:
//
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void isDungeonItem__12dSv_memBit_cCFi();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void correctionOriginPos__10dMapInfo_nFScP3Vec();
extern "C" void calcFloorNo__10dMapInfo_cFfbi();
extern "C" void dPath_GetRoomPath__Fii();
extern "C" void* __nwa__FUl();
extern "C" void __construct_new_array();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern bool data_80450680;
extern bool data_80450680;
/* ############################################################################################## */
/* 80450F98-80450F9C 000498 0004+00 2/2 0/0 0/0 .sbss mTypeGroupData__7dTres_c */
dTres_c::typeGroupData_c* dTres_c::mTypeGroupData;
/* 8009BBD8-8009BC18 096518 0040+00 0/0 1/1 0/0 .text createWork__7dTres_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dTres_c::createWork() {
nofralloc
#include "asm/d/d_tresure/createWork__7dTres_cFv.s"
int dTres_c::createWork() {
mTypeGroupData = new dTres_c::typeGroupData_c[0x40];
return 1;
}
#pragma pop
/* 8009BC18-8009BC60 096558 0048+00 0/0 1/1 0/0 .text create__7dTres_cFv */
void dTres_c::create() {
@@ -82,7 +45,7 @@ void dTres_c::remove() {
/* ############################################################################################## */
/* 80425438-80425508 052158 00CC+04 6/6 3/3 0/0 .bss mTypeGroupListAll__7dTres_c */
dTres_c::list_class dTres_c::mTypeGroupListAll[17];
dTres_c::type_group_list dTres_c::mTypeGroupListAll[17];
/* 80450F9C-80450FA0 00049C 0002+02 2/2 0/0 0/0 .sbss mNum__7dTres_c */
u16 dTres_c::mNum;
@@ -103,88 +66,92 @@ void dTres_c::reset() {
/* 8009BCB4-8009BE28 0965F4 0174+00 0/0 1/1 0/0 .text addData__7dTres_cFPQ27dTres_c10list_classSc
*/
#ifdef NONMATCHING
void dTres_c::addData(dTres_c::list_class* p_list, s8 roomNo) {
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_BOSS_ROOM) {
reset();
typeGroupData_c* listData = p_list->field_0x4;
data_s* listData = p_list->field_0x4->getDataPointer();
typeGroupData_c* groupData = &mTypeGroupData[mNum];
for (int i = 0; i < (int)p_list->field_0x0; i++) {
groupData->mData = listData->mData;
groupData->mData.mRoomNo = roomNo;
groupData->mData.mStatus = 0;
for (int i = 0; i < p_list->field_0x0; i++, listData++, groupData++) {
*(data_s*)groupData = *listData;
groupData->mRoomNo = roomNo;
groupData->mStatus = 0;
u8 typeGroupNo = getTypeToTypeGroupNo(groupData->mData.mType);
u32 typeGroupNo = getTypeToTypeGroupNo(groupData->mType);
groupData->setNextDataPointer(NULL);
groupData->setTypeGroupNo(typeGroupNo);
list_class* typeGroupList = mTypeGroupListAll + typeGroupNo;
type_group_list* typeGroupList = mTypeGroupListAll + typeGroupNo;
if (typeGroupList->field_0x0 == NULL) {
typeGroupList->field_0x0 = groupData;
}
if (mTypeGroupListAll[i].field_0x4 != NULL) {
mTypeGroupListAll[i].field_0x4->setNextDataPointer(groupData);
if (typeGroupList->field_0x4 != NULL) {
typeGroupList->field_0x4->setNextDataPointer(groupData);
}
mTypeGroupListAll[i].field_0x4 = groupData;
mTypeGroupListAll[i].mNumber++;
typeGroupList->field_0x4 = groupData;
typeGroupList->mNumber++;
if ((s32)groupData->mData.mType == 0xFF) {
checkTreasureBox(&groupData->mData);
switch (groupData->mType) {
case 0xFF:
checkTreasureBox(groupData);
break;
}
mNum++;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dTres_c::addData(dTres_c::list_class* param_0, s8 param_1) {
nofralloc
#include "asm/d/d_tresure/addData__7dTres_cFPQ27dTres_c10list_classSc.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80452BE8-80452BEC 0011E8 0004+00 1/1 0/0 0/0 .sdata2 @3839 */
SECTION_SDATA2 static f32 lit_3839 = 182.04444885253906f;
/* 80452BEC-80452BF0 0011EC 0004+00 1/1 0/0 0/0 .sdata2 @3840 */
SECTION_SDATA2 static u8 lit_3840[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80452BF0-80452BF8 0011F0 0008+00 1/1 0/0 0/0 .sdata2 @3841 */
SECTION_SDATA2 static f64 lit_3841 = 0.5;
/* 80452BF8-80452C00 0011F8 0008+00 1/1 0/0 0/0 .sdata2 @3842 */
SECTION_SDATA2 static f64 lit_3842 = 3.0;
/* 80452C00-80452C08 001200 0008+00 1/1 0/0 0/0 .sdata2 @3843 */
SECTION_SDATA2 static u8 lit_3843[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80452C08-80452C10 001208 0008+00 1/1 0/0 0/0 .sdata2 @3845 */
SECTION_SDATA2 static f64 lit_3845 = 4503601774854144.0 /* cast s32 to float */;
/* 8009BE28-8009C168 096768 0340+00 1/1 0/0 0/0 .text
* checkTreasureBox__7dTres_cFPQ27dTres_c6data_s */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dTres_c::checkTreasureBox(dTres_c::data_s* param_0) {
nofralloc
#include "asm/d/d_tresure/checkTreasureBox__7dTres_cFPQ27dTres_c6data_s.s"
void dTres_c::checkTreasureBox(dTres_c::data_s* param_0) {
if (param_0->mSwBit != 0xff && param_0->mArg1 != 0xff){
dPath* path = dPath_GetRoomPath(param_0->mArg1, -1);
if (path == NULL) return;
if (param_0->mArg2 == 0) {
s16 sVar5 = 0;
for (int i = 0; i < 4; i++) {
int sStack_62;
if (dComIfGs_isSwitch(param_0->mSwBit + i, param_0->mRoomNo) != 0) {
sStack_62 = (1 << i);
} else {
sStack_62 = 0;
}
sVar5 += sStack_62;
}
if (sVar5 != 0) {
s16 uStack_34 = cM_deg2s((sVar5 - 1) * 0x18 + 12);
cXyz cStack_48(path->m_points[0].m_position);
cXyz cStack_54(path->m_points[path->m_num - 1].m_position);
f32 dVar7 = cStack_48.absXZ(cStack_54);
cXyz local_60(0.0f, 0.0f, dVar7);
mDoMtx_stack_c::YrotS(uStack_34);
mDoMtx_stack_c::multVec(&local_60, &local_60);
local_60 += cStack_48;
local_60.y = cStack_54.y;
param_0->mPos = local_60;
} else {
param_0->mPos = path->m_points[0].m_position;
}
dMapInfo_n::correctionOriginPos(param_0->mRoomNo, &param_0->mPos);
} else {
dStage_dPnt_c* point;
if (dComIfGs_isSwitch(param_0->mSwBit, param_0->mRoomNo)) {
point = &path->m_points[path->m_num - 1];
} else {
point = &path->m_points[0];
}
param_0->mPos = point->m_position;
dMapInfo_n::correctionOriginPos(param_0->mRoomNo, &param_0->mPos);
}
}
}
#pragma pop
/* 8009C168-8009C1F0 096AA8 0088+00 0/0 0/0 3/3 .text onStatus__7dTres_cFUcii */
void dTres_c::onStatus(u8 listIdx, int param_1, int flag) {
@@ -203,10 +170,9 @@ void dTres_c::onStatus(u8 listIdx, int param_1, int flag) {
}
/* 8009C1F0-8009C27C 096B30 008C+00 0/0 0/0 3/3 .text offStatus__7dTres_cFUcii */
#ifdef NONMATCHING
void dTres_c::offStatus(u8 listIdx, int param_1, int flag) {
typeGroupData_c* groupData = getFirstData(listIdx);
int typeGroupNo = getTypeGroupNumber(listIdx);
s32 typeGroupNo = getTypeGroupNumber(listIdx);
for (int i = 0; i < typeGroupNo; i++) {
if (param_1 == groupData->getNo()) {
@@ -218,16 +184,6 @@ void dTres_c::offStatus(u8 listIdx, int param_1, int flag) {
groupData = getNextData(groupData);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dTres_c::offStatus(u8 param_0, int param_1, int param_2) {
nofralloc
#include "asm/d/d_tresure/offStatus__7dTres_cFUcii.s"
}
#pragma pop
#endif
/* 8009C27C-8009C360 096BBC 00E4+00 0/0 1/1 0/0 .text getBossIconFloorNo__7dTres_cFPi */
int dTres_c::getBossIconFloorNo(int* o_floorNo) {
@@ -265,8 +221,7 @@ dTres_c::typeGroupData_c* dTres_c::getFirstData(u8 listIdx) {
return NULL;
}
// this is wrong, fix later
return (dTres_c::typeGroupData_c*)mTypeGroupListAll[listIdx].field_0x0;
return mTypeGroupListAll[listIdx].field_0x0;
}
/* 8009C39C-8009C3B4 096CDC 0018+00 2/2 3/3 0/0 .text
@@ -314,12 +269,11 @@ void dTres_c::setPosition(int dataNo, u8 listIdx, Vec const* i_pos, int i_roomNo
/* ############################################################################################## */
/* 8037B0D8-8037B100 007738 0022+06 2/2 0/0 0/0 .rodata typeToTypeGroup__7dTres_c */
SECTION_RODATA u8 const dTres_c::typeToTypeGroup[17][2] = {
u8 const dTres_c::typeToTypeGroup[17][2] = {
{0xFF, 0x00}, {0x00, 0x01}, {0x01, 0x02}, {0x02, 0x03}, {0x03, 0x04}, {0x04, 0x05},
{0x05, 0x06}, {0x06, 0x07}, {0x07, 0x08}, {0x80, 0x09}, {0x81, 0x0A}, {0x82, 0x0B},
{0x83, 0x0C}, {0x84, 0x0D}, {0x85, 0x0E}, {0x87, 0x0F}, {0x88, 0x10},
};
COMPILER_STRIP_GATE(0x8037B0D8, &dTres_c::typeToTypeGroup);
/* 8009C49C-8009C4B0 096DDC 0014+00 0/0 1/1 0/0 .text getTypeGroupNoToType__7dTres_cFUc
*/
+308 -43
View File
@@ -8,15 +8,16 @@
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_controller_pad.h"
#include "SSystem/SComponent/c_math.h"
//
// Forward References:
//
extern "C" static void func_8006F168();
extern "C" static void func_8006F184();
extern "C" static void func_8006F1A4();
extern "C" static void func_8006F1D8();
extern "C" static void func_8006F168__FPUsUll();
extern "C" static void func_8006F184__FUlll();
extern "C" static u32 func_8006F1A4__FUlll();
extern "C" static void func_8006F1D8__Fll();
extern "C" void Run__12dVibration_cFv();
extern "C" void StartShock__12dVibration_cFii4cXyz();
extern "C" void StartQuake__12dVibration_cFii4cXyz();
@@ -63,64 +64,284 @@ extern "C" u8 m_gamePad__8mDoCPd_c[16];
/* 8006F168-8006F184 069AA8 001C+00 1/1 0/0 0/0 .text makedata__25@unnamed@d_vibration_cpp@FPUsUll
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8006F168() {
nofralloc
#include "asm/d/d_vibration/func_8006F168.s"
static u16* func_8006F168(u16* param_0, u32 param_1, s32 param_2) {
param_0[0] = param_2;
param_0[1] = param_1 >> 16;
param_0[2] = param_1;
param_0[3] = 0;
return param_0;
}
#pragma pop
/* 8006F184-8006F1A4 069AC4 0020+00 1/1 0/0 0/0 .text rollshift__25@unnamed@d_vibration_cpp@FUlll
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8006F184() {
nofralloc
#include "asm/d/d_vibration/func_8006F184.s"
static s32 func_8006F184(u32 param_0, s32 param_1, s32 param_2) {
s32 temp = param_2 / param_1;
temp = temp * param_1;
temp = param_2 - temp;
param_2 = param_0 >> temp;
temp = param_1 - temp;
temp = param_0 << temp;
return param_2 | temp;
}
#pragma pop
/* 8006F1A4-8006F1D8 069AE4 0034+00 2/2 0/0 0/0 .text makebits__25@unnamed@d_vibration_cpp@FUlll
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8006F1A4() {
nofralloc
#include "asm/d/d_vibration/func_8006F1A4.s"
static u32 func_8006F1A4(u32 param_0, s32 param_1, s32 param_2) {
s32 uVar1 = -1;
u32 temp = param_0 & (uVar1 << (32 - param_1));
param_0 = temp;
uVar1 = param_1;
while (uVar1 < param_2) {
param_0 = temp | (param_0 >> param_1);
uVar1 += param_1;
}
return param_0;
}
#pragma pop
/* ############################################################################################## */
/* 80452620-80452628 000C20 0008+00 1/1 0/0 0/0 .sdata2 @3756 */
SECTION_SDATA2 static f64 lit_3756 = 4503601774854144.0 /* cast s32 to float */;
/* 8006F1D8-8006F268 069B18 0090+00 1/1 0/0 0/0 .text randombit__25@unnamed@d_vibration_cpp@Fll */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8006F1D8() {
nofralloc
#include "asm/d/d_vibration/func_8006F1D8.s"
static u32 func_8006F1D8(s32 param_0, s32 param_1) {
u32 uVar3 = 0;
for (s32 iVar2 = 0; iVar2 < param_0; iVar2++) {
u32 dVar4 = param_1 * cM_rnd();
uVar3 |= 0x40000000 >> dVar4;
}
return uVar3;
}
#pragma pop
/* ############################################################################################## */
/* 80450F50-80450F58 000450 0008+00 1/1 0/0 0/0 .sbss data$3831 */
static u8 data[8];
static u16 data[4];
/* 8006F268-8006FA24 069BA8 07BC+00 0/0 2/2 0/0 .text Run__12dVibration_cFv */
// Stack issues
#ifdef NONMATCHING
int dVibration_c::Run() {
field_0x8c = 1;
if (dComIfGs_checkOptVibration() != 1) {
if (field_0x54 != -1) {
field_0x54 = -1;
field_0x50 |= 1;
}
if (field_0x70 != -1) {
field_0x70 = -1;
field_0x6c |= 1;
}
field_0x80 = -99;
field_0x64 = 0xffffff9d;
}
if (((field_0x0.mShock.field_0x0 & 1) != 0) && (field_0x0.mShock.field_0x24 != -99)) {
field_0x0.mShock.field_0x24 = 0;
field_0x0.mShock.field_0x4 = -1;
}
if (((field_0x0.mQuake.field_0x0 & 1) != 0) && (field_0x0.mQuake.field_0x24 != -99)) {
field_0x0.mQuake.field_0x24 = 0;
field_0x0.mQuake.field_0x4 = -1;
}
if (field_0x0.mShock.field_0x24 == 0 || field_0x0.mQuake.field_0x24 == 0) {
s32 local_68 = 0;
if (field_0x0.mShock.field_0x4 == -1 || (field_0x0.mShock.field_0x0 & 1) != 0) {
field_0x0.mShock.field_0x24 = -99;
field_0x0.mShock.field_0x8 = 0;
field_0x0.mShock.field_0xc = 0;
field_0x0.mShock.field_0x10 = 0;
} else if (field_0x0.mShock.field_0x24 >= 0) {
local_68 |= 1;
}
if (field_0x0.mQuake.field_0x4 == -1 || (field_0x0.mQuake.field_0x0 & 1) != 0) {
field_0x0.mQuake.field_0x24 = -99;
field_0x0.mQuake.field_0x8 = 0;
field_0x0.mQuake.field_0xc = 0;
field_0x0.mQuake.field_0x10 = 0;
} else if (field_0x0.mQuake.field_0x24 >= 0) {
local_68 |= 2;
}
switch (local_68) {
case 1:
s32 x = field_0x0.mShock.field_0xc;
u32 local_60 = field_0x0.mShock.field_0x8;
local_60 |= func_8006F1D8(field_0x0.mShock.field_0x10, x);
s32 uVar3 = field_0x0.mShock.field_0x14;
if (dKy_darkworld_check()) {
uVar3 &= ~0x30;
}
camera_class* pCamera = dComIfGp_getCamera(0);
if (pCamera && pCamera->field_0x22f == 0x47) {
dCam_getBody()->StartShake(x, (u8*)&local_60, uVar3, field_0x0.mShock.field_0x18.norm());
}
break;
case 2:
x = field_0x0.mQuake.field_0xc;
local_60 = func_8006F184(field_0x0.mQuake.field_0x8, x, field_0x88);
local_60 |= func_8006F1D8(field_0x0.mQuake.field_0x10, x);
uVar3 = field_0x0.mQuake.field_0x14;
if (dKy_darkworld_check()) {
uVar3 &= ~0x30;
}
pCamera = dComIfGp_getCamera(0);
if (pCamera && pCamera->field_0x22f == 0x47) {
dCam_getBody()->StartShake(x, (u8*)&local_60, uVar3, field_0x0.mQuake.field_0x18.norm());
}
break;
case 3:
local_60 = field_0x0.mShock.field_0x8 << field_0x0.mShock.field_0x24;
x = field_0x0.mShock.field_0xc - field_0x0.mShock.field_0x24;
local_60 |= func_8006F184(func_8006F1A4(field_0x0.mQuake.field_0x8, field_0x0.mQuake.field_0xc, x), x, field_0x88);
local_60 |= func_8006F1D8(
field_0x0.mShock.field_0x10 > field_0x0.mQuake.field_0x10 ? field_0x0.mShock.field_0x10 : field_0x0.mQuake.field_0x10,
x
);
uVar3 = field_0x0.mShock.field_0x14 | field_0x0.mQuake.field_0x14;
if (dKy_darkworld_check()) {
uVar3 &= ~0x30;
}
pCamera = dComIfGp_getCamera(0);
if (pCamera && pCamera->field_0x22f == 0x47) {
cXyz tempSum = field_0x0.mShock.field_0x18 + field_0x0.mQuake.field_0x18;
dCam_getBody()->StartShake(x, (u8*)&local_60, uVar3, tempSum.norm());
}
field_0x0.mQuake.field_0x24 = 0;
field_0x0.mShock.field_0x24 = 0;
break;
default:
pCamera = dComIfGp_getCamera(0);
if (pCamera && pCamera->field_0x22f == 0x47) {
dCam_getBody()->StopShake();
}
break;
}
}
if (((field_0x50 & 1) != 0) && (field_0x64 != -99)) {
field_0x64 = 0;
field_0x54 = -1;
}
if (((field_0x6c & 1) != 0) && (field_0x80 != -99)) {
field_0x80 = 0;
field_0x70 = -1;
}
if (field_0x64 == 0 || field_0x80 == 0) {
s32 local_68 = 0;
if (field_0x54 == -1 || (field_0x50 & 1) != 0) {
field_0x64 = -99;
field_0x58 = 0;
field_0x5c = 0;
field_0x60 = 0;
} else if (field_0x64 >= 0) {
local_68 |= 1;
}
if (field_0x70 == -1 || (field_0x6c & 1) != 0) {
field_0x80 = -99;
field_0x74 = 0;
field_0x78 = 0;
field_0x7c = 0;
} else if (field_0x80 >= 0) {
local_68 |= 2;
}
switch (local_68) {
case 1:
u32 local_60;
s32 x = field_0x5c;
local_60 = field_0x58;
local_60 |= func_8006F1D8(field_0x60, x);
field_0x68 = x;
mDoCPd_c::startMotorWave(0, func_8006F168(data, local_60, x), JUTGamePad::CRumble::VAL_0, 0x3c);
break;
case 2:
x = field_0x78;
local_60 = func_8006F184(field_0x74, x, field_0x88);
local_60 |= func_8006F1D8(field_0x7c, x);
field_0x84 = 0x7fffffff;
mDoCPd_c::startMotorWave(0, func_8006F168(data, local_60, x), JUTGamePad::CRumble::VAL_1, 0x3c);
break;
case 3:
local_60 = field_0x58 << field_0x64;
x = field_0x5c - field_0x64;
local_60 |= func_8006F184(func_8006F1A4(field_0x74, field_0x78, x), x, field_0x88);
local_60 |= func_8006F1D8(
field_0x60 > field_0x7c ? field_0x60 : field_0x7c,
x
);
field_0x84 = x;
field_0x68 = x;
field_0x80 = 0;
field_0x64 = 0;
mDoCPd_c::startMotorWave(0, func_8006F168(data, local_60, x), JUTGamePad::CRumble::VAL_0, 0x3c);
break;
default:
mDoCPd_c::stopMotorWave(0);
mDoCPd_c::stopMotor(0);
field_0x84 = -99;
field_0x68 = -99;
break;
}
}
field_0x0.mQuake.field_0x0 = 0;
field_0x0.mShock.field_0x0 = 0;
field_0x6c = 0;
field_0x50 = 0;
if (field_0x0.mShock.field_0x24 >= 0) {
field_0x0.mShock.field_0x24++;
if (field_0x0.mShock.field_0x24 > field_0x0.mShock.field_0xc) {
field_0x0.mShock.field_0x0 |= 1;
}
}
if (field_0x64 >= 0) {
field_0x64++;
if (field_0x64 > field_0x68) {
field_0x50 |= 1;
}
}
if (field_0x0.mQuake.field_0x24 >= 0) {
field_0x0.mQuake.field_0x24++;
if (field_0x0.mQuake.field_0x24 > field_0x0.mQuake.field_0xc) {
field_0x0.mQuake.field_0x24 = 0;
}
}
if (field_0x80 >= 930) {
field_0x80 = 0;
} else if (field_0x80 >= 900) {
mDoCPd_c::stopMotorWave(0);
mDoCPd_c::stopMotor(0);
field_0x80++;
} else if (field_0x80 >= 0) {
field_0x80++;
if (field_0x80 > field_0x84) {
field_0x80 = 0;
}
}
field_0x88++;
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dVibration_c::Run() {
asm int dVibration_c::Run() {
nofralloc
#include "asm/d/d_vibration/Run__12dVibration_cFv.s"
}
#pragma pop
#endif
/* 8006FA24-8006FB10 06A364 00EC+00 0/0 62/62 298/298 .text StartShock__12dVibration_cFii4cXyz */
bool dVibration_c::StartShock(int param_0, int param_1, cXyz param_2) {
@@ -170,14 +391,58 @@ bool dVibration_c::StartQuake(int param_0, int param_1, cXyz param_2) {
}
/* 8006FC0C-8006FD94 06A54C 0188+00 0/0 2/2 2/2 .text StartQuake__12dVibration_cFPCUcii4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dVibration_c::StartQuake(u8 const* param_0, int param_1, int param_2, cXyz param_3) {
nofralloc
#include "asm/d/d_vibration/StartQuake__12dVibration_cFPCUcii4cXyz.s"
bool dVibration_c::StartQuake(u8 const* param_0, int param_1, int param_2, cXyz param_3) {
int iVar7;
int iVar6;
int iVar5;
int iVar4;
bool bVar8 = false;
int uVar1 = (param_0[0] << 8) | param_0[1];
if (uVar1 >= 9) {
iVar7 = 3;
} else {
iVar7 = 0;
}
if (uVar1 >= 1) {
iVar6 = 2;
} else {
iVar6 = 0;
}
if (uVar1 >= 0x11) {
iVar5 = 4;
} else {
iVar5 = 0;
}
if (uVar1 >= 0x19) {
iVar4 = 5;
} else {
iVar4 = 0;
}
u32 this_00 =
param_0[iVar6] << 24 | param_0[iVar7] << 16 | param_0[iVar5] << 8 | (param_0[iVar4]);
if ((param_2 & 0x7e) != 0) {
field_0x0.mQuake.field_0x4 = 0;
field_0x0.mQuake.field_0x24 = 0;
field_0x0.mQuake.field_0x14 = param_2;
field_0x0.mQuake.field_0x18 = param_3;
field_0x0.mQuake.field_0x8 = func_8006F1A4(this_00, param_0[1], 0x20);
field_0x0.mQuake.field_0xc = 0x20;
field_0x0.mQuake.field_0x10 = param_1;
bVar8 = true;
}
if (((param_2 & 1) != 0) &&
(dComIfGs_checkOptVibration() == 1))
{
field_0x70 = 0;
field_0x80 = 0;
field_0x74 = func_8006F1A4(this_00, param_0[1], 0x20);
field_0x78 = 0x20;
field_0x7c = param_1;
bVar8 = true;
}
return bVar8;
}
#pragma pop
/* 8006FD94-8006FE00 06A6D4 006C+00 0/0 6/6 82/82 .text StopQuake__12dVibration_cFi */
int dVibration_c::StopQuake(int param_0) {
+1 -1
View File
@@ -277,7 +277,7 @@ void dMenu_Fmap_room_data_c::buildTresTypeGroup(int param_0, int param_1, int pa
dTres_c::list_class* tresure_p = mp_fmapData->getTresure();
if (tresure_p != NULL) {
int num = tresure_p->field_0x0;
dTres_c::data_s* data_p = tresure_p->field_0x4;
dTres_c::data_s* data_p = tresure_p->field_0x4->getDataPointer();
if (mp_fmpTresTypeGroupDataListAll == NULL) {
mp_fmpTresTypeGroupDataListAll = new fmpTresTypeGroupDataListAll_c();
+18 -37
View File
@@ -107,11 +107,9 @@ bool dMeterMap_c::isEnableDispMap() {
}
/* 8020D528-8020D650 207E68 0128+00 3/3 0/0 0/0 .text getMapDispSizeTypeNo__11dMeterMap_cFv */
// stayNo load block in wrong order
#ifdef NONMATCHING
int dMeterMap_c::getMapDispSizeTypeNo() {
int uvar6 = 7;
int stayNo = dComIfGp_roomControl_getStayNo();
s32 stayNo = dComIfGp_roomControl_getStayNo();
dStage_FileList_dt_c* fList =
dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo();
@@ -155,16 +153,6 @@ int dMeterMap_c::getMapDispSizeTypeNo() {
return mapDispSizeType;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dMeterMap_c::getMapDispSizeTypeNo() {
nofralloc
#include "asm/d/meter/d_meter_map/getMapDispSizeTypeNo__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020D650-8020D690 207F90 0040+00 5/5 3/3 0/0 .text
* isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv */
@@ -277,17 +265,17 @@ SECTION_SDATA2 static f32 lit_4159 = -36.0f;
/* 8020D7EC-8020D874 20812C 0088+00 2/2 0/0 0/0 .text getDispPosOutSide_OffsetX__11dMeterMap_cFv
*/
// calculation order is wrong
// matches with literals
#ifdef NONMATCHING
s16 dMeterMap_c::getDispPosOutSide_OffsetX() {
f32 dvar3 = -36.0f - mSizeW;
f32 tmp = 0.0f;
f32 offset = 0.0f;
if (mMap != NULL) {
tmp = (mMap->getTexelPerCm() * mMap->getPackX()) +
(mMap->getRightEdgePlus() + (mMap->getTexelPerCm() * mMap->getPackPlusZ()));
tmp += dvar3;
offset = mMap->getTexelPerCm() * mMap->getPackX();
offset +=(mMap->getRightEdgePlus() + (mMap->getTexelPerCm() * mMap->getPackPlusZ()));
}
return tmp - getMapDispEdgeLeftX_Layout();
dvar3 += offset;
return dvar3 - getMapDispEdgeLeftX_Layout();
}
#else
#pragma push
@@ -474,7 +462,7 @@ SECTION_DEAD static char const* const stringBase_80398208 = "F_SP115";
#pragma pop
/* 8020DCE4-8020DF1C 208624 0238+00 0/0 1/1 0/0 .text _move__11dMeterMap_cFUl */
// just regalloc
// matches with literals
#ifdef NONMATCHING
void dMeterMap_c::_move(u32 param_0) {
if (!field_0x2b && i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118])) {
@@ -485,7 +473,7 @@ void dMeterMap_c::_move(u32 param_0) {
dMeter2Info_setPauseStatus(2);
}
}
int stayNo = dComIfGp_roomControl_getStayNo();
s32 stayNo = dComIfGp_roomControl_getStayNo();
field_0x14 = param_0;
field_0x2a = checkMoveStatus();
@@ -654,30 +642,23 @@ asm void dMeterMap_c::ctrlShowMap() {
#endif
/* 8020E45C-8020E4C8 208D9C 006C+00 1/1 0/0 0/0 .text checkMoveStatus__11dMeterMap_cFv */
// field_0x2d compare is weird
#ifdef NONMATCHING
u8 dMeterMap_c::checkMoveStatus() {
u8 rv;
if (isShow(field_0x14)) {
if (isEnableDispMapAndMapDispSizeTypeNo()) {
if (isDispPosInsideFlg()) {
return 1;
rv = 1;
} else {
rv = 2;
}
return 2;
} else {
rv = 3;
}
return 3;
} else {
rv = 0;
}
return 0;
return rv;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm u8 dMeterMap_c::checkMoveStatus() {
nofralloc
#include "asm/d/meter/d_meter_map/checkMoveStatus__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020E4C8-8020E620 208E08 0158+00 2/2 0/0 0/0 .text isShow__11dMeterMap_cFUl */
// extra gameinfo label load for dComIfGp_event_checkHind
+2 -3
View File
@@ -793,11 +793,10 @@ void COutFont_c::reset(J2DTextBox* p_textBox) {
/* 80228490-80228530 222DD0 00A0+00 1/1 0/0 0/0 .text setBlendAnime__10COutFont_cFP10J2DPictures
*/
// regalloc
// matches with literals
#ifdef NONMATCHING
void COutFont_c::setBlendAnime(J2DPicture* param_0, s16 param_1) {
s32 iVar5 = param_1;
iVar5 = 0x14 - iVar5 / 0x14 * 0x14;
int iVar5 = param_1 % 0x14;
if (iVar5 < 10) {
f32 dVar6 = fopMsgM_valueIncrease(10, iVar5, 0);
param_0->setBlendRatio(1.0f - dVar6, dVar6);
+3 -3
View File
@@ -543,7 +543,7 @@ static int phase_1(dScnLogo_c* logo) {
return 0;
}
dComIfG_setObjectRes("LogoUs", 0, logo->field_0x1d0);
dComIfG_setObjectRes("LogoUs", (u8)0, logo->field_0x1d0);
mDoRst::setLogoScnFlag(1);
archiveHeap->dump_sort();
return 2;
@@ -638,10 +638,10 @@ void dScnLogo_c::logoInitGC() {
/* 80257FEC-80258420 25292C 0434+00 1/1 0/0 0/0 .text dvdDataLoad__10dScnLogo_cFv */
void dScnLogo_c::dvdDataLoad() {
dComIfG_setObjectRes("Always", 0, NULL);
dComIfG_setObjectRes("Always", (u8)0, NULL);
archiveHeap->dump_sort();
dComIfG_setObjectRes("Alink", 0, NULL);
dComIfG_setObjectRes("Alink", (u8)0, NULL);
mpField0Command = mDoDvdThd_mountXArchive_c::create(
"/res/FieldMap/Field0.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+1 -1
View File
@@ -109,7 +109,7 @@ dSn_HIO_c::dSn_HIO_c() {
/* 802587A4-80258820 2530E4 007C+00 1/0 0/0 0/0 .text phase_1__FPc */
static s32 phase_1(char* resName) {
mDoAud_bgmStart(-1);
if (dComIfG_setObjectRes(resName, 0, NULL) == 0) {
if (dComIfG_setObjectRes(resName, (u8)0, NULL) == 0) {
return 5;
}
+2 -2
View File
@@ -771,9 +771,9 @@ static int phase_1_0(dScnPly_c* param_0) {
return cPhs_ZERO_e;
} else {
dStage_infoCreate();
dComIfG_setObjectRes("Event", 0, NULL);
dComIfG_setObjectRes("Event", (u8)0, NULL);
dComIfGp_setCameraParamFileName(0, camparamarc);
dComIfG_setObjectRes("CamParam", 0, NULL);
dComIfG_setObjectRes("CamParam", (u8)0, NULL);
return cPhs_TWO_e;
}
}
+10 -10
View File
@@ -1620,8 +1620,8 @@ bool J3DPEBlock::getBlend() {
}
/* 8000DF54-8000DF5C 008894 0008+00 0/0 5/0 0/0 .text getAlphaComp__10J3DPEBlockFv */
bool J3DPEBlock::getAlphaComp() {
return false;
J3DAlphaComp* J3DPEBlock::getAlphaComp() {
return NULL;
}
/* 8000DF5C-8000DF64 00889C 0008+00 0/0 6/0 0/0 .text getFog__10J3DPEBlockFv */
@@ -1688,8 +1688,8 @@ bool J3DTevBlock::getTevKColorSel(u32 param_0) {
}
/* 8000DFB8-8000DFC0 0088F8 0008+00 0/0 2/0 0/0 .text getTevOrder__11J3DTevBlockFUl */
bool J3DTevBlock::getTevOrder(u32 param_0) {
return false;
J3DTevOrder* J3DTevBlock::getTevOrder(u32 param_0) {
return NULL;
}
/* 8000DFC0-8000DFC8 008900 0008+00 0/0 3/0 0/0 .text getTevKColor__11J3DTevBlockFUl */
@@ -1713,14 +1713,14 @@ J3DTexMtx* J3DTexGenBlock::getTexMtx(u32 param_0) {
}
/* 8000DFE0-8000DFE8 008920 0008+00 0/0 2/0 0/0 .text getTexCoord__14J3DTexGenBlockFUl */
bool J3DTexGenBlock::getTexCoord(u32 param_0) {
return false;
J3DTexCoord* J3DTexGenBlock::getTexCoord(u32 param_0) {
return NULL;
}
/* 8000DFE8-8000DFF0 008928 0008+00 0/0 2/0 0/0 .text getTexGenNum__14J3DTexGenBlockCFv
*/
bool J3DTexGenBlock::getTexGenNum() const {
return false;
u32 J3DTexGenBlock::getTexGenNum() const {
return 0;
}
/* 8000DFF0-8000DFF8 008930 0008+00 0/0 3/0 0/0 .text getAmbColor__13J3DColorBlockFUl */
@@ -1729,8 +1729,8 @@ bool J3DColorBlock::getAmbColor(u32 param_0) {
}
/* 8000DFF8-8000E000 008938 0008+00 0/0 2/0 0/0 .text getColorChan__13J3DColorBlockFUl */
bool J3DColorBlock::getColorChan(u32 param_0) {
return false;
J3DColorChan* J3DColorBlock::getColorChan(u32 param_0) {
return NULL;
}
/* 8000E000-8000E008 008940 0008+00 0/0 2/0 0/0 .text getMatColor__13J3DColorBlockFUl */