diff --git a/Progress.md b/Progress.md index 14d50e113a..6bbfb7982d 100644 --- a/Progress.md +++ b/Progress.md @@ -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 diff --git a/asm/d/a/d_a_npc/chkPnt__16daBaseNpc_path_cF4cXyz.s b/asm/d/a/d_a_npc/chkPnt__16daBaseNpc_path_cF4cXyz.s deleted file mode 100644 index 86851a5c6c..0000000000 --- a/asm/d/a/d_a_npc/chkPnt__16daBaseNpc_path_cF4cXyz.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci.s b/asm/d/a/d_a_npc/ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci.s deleted file mode 100644 index cb4e0ad137..0000000000 --- a/asm/d/a/d_a_npc/ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/daBaseNpc_addIdx__FiiPUsi.s b/asm/d/a/d_a_npc/daBaseNpc_addIdx__FiiPUsi.s deleted file mode 100644 index 7b0eabc21e..0000000000 --- a/asm/d/a/d_a_npc/daBaseNpc_addIdx__FiiPUsi.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/daBaseNpc_subIdx__FiiPUsi.s b/asm/d/a/d_a_npc/daBaseNpc_subIdx__FiiPUsi.s deleted file mode 100644 index f2afc697de..0000000000 --- a/asm/d/a/d_a_npc/daBaseNpc_subIdx__FiiPUsi.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/daNpcF_getGroundAngle__FP13cBgS_PolyInfos.s b/asm/d/a/d_a_npc/daNpcF_getGroundAngle__FP13cBgS_PolyInfos.s deleted file mode 100644 index 05c30fbc97..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_getGroundAngle__FP13cBgS_PolyInfos.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz.s b/asm/d/a/d_a_npc/daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz.s deleted file mode 100644 index bd7cc71c38..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi.s b/asm/d/a/d_a_npc/daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi.s deleted file mode 100644 index 952c31e81b..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c.s b/asm/d/a/d_a_npc/entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c.s deleted file mode 100644 index d18b579507..0000000000 --- a/asm/d/a/d_a_npc/entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getActor__18daBaseNpc_acMngr_cFv.s b/asm/d/a/d_a_npc/getActor__18daBaseNpc_acMngr_cFv.s deleted file mode 100644 index d521e29b39..0000000000 --- a/asm/d/a/d_a_npc/getActor__18daBaseNpc_acMngr_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getBeforeIdx__13daNpcF_Path_cFv.s b/asm/d/a/d_a_npc/getBeforeIdx__13daNpcF_Path_cFv.s deleted file mode 100644 index 3f32de4971..0000000000 --- a/asm/d/a/d_a_npc/getBeforeIdx__13daNpcF_Path_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getBeforePos__13daNpcF_Path_cFR4cXyz.s b/asm/d/a/d_a_npc/getBeforePos__13daNpcF_Path_cFR4cXyz.s deleted file mode 100644 index 00b61fadf7..0000000000 --- a/asm/d/a/d_a_npc/getBeforePos__13daNpcF_Path_cFR4cXyz.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii.s b/asm/d/a/d_a_npc/getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii.s deleted file mode 100644 index 4915c9e875..0000000000 --- a/asm/d/a/d_a_npc/getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getDstPos__13daNpcF_Path_cF4cXyzR4cXyz.s b/asm/d/a/d_a_npc/getDstPos__13daNpcF_Path_cF4cXyzR4cXyz.s deleted file mode 100644 index 6c235256ef..0000000000 --- a/asm/d/a/d_a_npc/getDstPos__13daNpcF_Path_cF4cXyzR4cXyz.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi.s b/asm/d/a/d_a_npc/getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi.s deleted file mode 100644 index 029bf07e9e..0000000000 --- a/asm/d/a/d_a_npc/getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getNextIdx__13daNpcF_Path_cFv.s b/asm/d/a/d_a_npc/getNextIdx__13daNpcF_Path_cFv.s deleted file mode 100644 index ed8b389dbf..0000000000 --- a/asm/d/a/d_a_npc/getNextIdx__13daNpcF_Path_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getNextPos__13daNpcF_Path_cFR4cXyz.s b/asm/d/a/d_a_npc/getNextPos__13daNpcF_Path_cFR4cXyz.s deleted file mode 100644 index a67c74a63d..0000000000 --- a/asm/d/a/d_a_npc/getNextPos__13daNpcF_Path_cFR4cXyz.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getPntPos__16daBaseNpc_path_cFUs.s b/asm/d/a/d_a_npc/getPntPos__16daBaseNpc_path_cFUs.s deleted file mode 100644 index ccc16c1c60..0000000000 --- a/asm/d/a/d_a_npc/getPntPos__16daBaseNpc_path_cFUs.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getRot__18daBaseNpc_lookat_cFi.s b/asm/d/a/d_a_npc/getRot__18daBaseNpc_lookat_cFi.s deleted file mode 100644 index eca687e4d9..0000000000 --- a/asm/d/a/d_a_npc/getRot__18daBaseNpc_lookat_cFi.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/getShopItemTagP__8daNpcT_cFv.s b/asm/d/a/d_a_npc/getShopItemTagP__8daNpcT_cFv.s deleted file mode 100644 index 0978c0be4b..0000000000 --- a/asm/d/a/d_a_npc/getShopItemTagP__8daNpcT_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/setNextIdx__13daNpcF_Path_cFv.s b/asm/d/a/d_a_npc/setNextIdx__13daNpcF_Path_cFv.s deleted file mode 100644 index 3284e924e6..0000000000 --- a/asm/d/a/d_a_npc/setNextIdx__13daNpcF_Path_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/setNextPnt__16daBaseNpc_path_cFv.s b/asm/d/a/d_a_npc/setNextPnt__16daBaseNpc_path_cFv.s deleted file mode 100644 index 3ef3f99914..0000000000 --- a/asm/d/a/d_a_npc/setNextPnt__16daBaseNpc_path_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/setPathInfo__13daNpcF_Path_cFUcScUc.s b/asm/d/a/d_a_npc/setPathInfo__13daNpcF_Path_cFUcScUc.s deleted file mode 100644 index ba088a88aa..0000000000 --- a/asm/d/a/d_a_npc/setPathInfo__13daNpcF_Path_cFUcScUc.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/setPathInfo__13daNpcT_Path_cFUcScUc.s b/asm/d/a/d_a_npc/setPathInfo__13daNpcT_Path_cFUcScUc.s deleted file mode 100644 index e59334b558..0000000000 --- a/asm/d/a/d_a_npc/setPathInfo__13daNpcT_Path_cFUcScUc.s +++ /dev/null @@ -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 diff --git a/asm/d/a/d_a_npc/setPathInfo__16daBaseNpc_path_cFUcScSc.s b/asm/d/a/d_a_npc/setPathInfo__16daBaseNpc_path_cFUcScSc.s deleted file mode 100644 index 793e02a253..0000000000 --- a/asm/d/a/d_a_npc/setPathInfo__16daBaseNpc_path_cFUcScSc.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/__dt__14dRes_control_cFv.s b/asm/d/d_resorce/__dt__14dRes_control_cFv.s deleted file mode 100644 index 0930e77a34..0000000000 --- a/asm/d/d_resorce/__dt__14dRes_control_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/addWarpMaterial__FP12J3DModelData.s b/asm/d/d_resorce/addWarpMaterial__FP12J3DModelData.s deleted file mode 100644 index b48813f6e4..0000000000 --- a/asm/d/d_resorce/addWarpMaterial__FP12J3DModelData.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/deleteArchiveRes__11dRes_info_cFv.s b/asm/d/d_resorce/deleteArchiveRes__11dRes_info_cFv.s deleted file mode 100644 index a719dc8680..0000000000 --- a/asm/d/d_resorce/deleteArchiveRes__11dRes_info_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/deleteRes__14dRes_control_cFPCcP11dRes_info_ci.s b/asm/d/d_resorce/deleteRes__14dRes_control_cFPCcP11dRes_info_ci.s deleted file mode 100644 index 647151cf60..0000000000 --- a/asm/d/d_resorce/deleteRes__14dRes_control_cFPCcP11dRes_info_ci.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/dump_long__11dRes_info_cFP11dRes_info_ci.s b/asm/d/d_resorce/dump_long__11dRes_info_cFP11dRes_info_ci.s deleted file mode 100644 index df2e78227b..0000000000 --- a/asm/d/d_resorce/dump_long__11dRes_info_cFP11dRes_info_ci.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/getArcHeader__FP10JKRArchive.s b/asm/d/d_resorce/getArcHeader__FP10JKRArchive.s deleted file mode 100644 index 068dbfdb7e..0000000000 --- a/asm/d/d_resorce/getArcHeader__FP10JKRArchive.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci.s b/asm/d/d_resorce/getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci.s deleted file mode 100644 index 127c59d9f6..0000000000 --- a/asm/d/d_resorce/getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/getRes__14dRes_control_cFPCcPCcP11dRes_info_ci.s b/asm/d/d_resorce/getRes__14dRes_control_cFPCcPCcP11dRes_info_ci.s deleted file mode 100644 index 3c6046de81..0000000000 --- a/asm/d/d_resorce/getRes__14dRes_control_cFPCcPCcP11dRes_info_ci.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/getRes__14dRes_control_cFPCclP11dRes_info_ci.s b/asm/d/d_resorce/getRes__14dRes_control_cFPCclP11dRes_info_ci.s deleted file mode 100644 index 39f02d4e7a..0000000000 --- a/asm/d/d_resorce/getRes__14dRes_control_cFPCclP11dRes_info_ci.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/offWarpMaterial__11dRes_info_cFP12J3DModelData.s b/asm/d/d_resorce/offWarpMaterial__11dRes_info_cFP12J3DModelData.s deleted file mode 100644 index 9c33221c5c..0000000000 --- a/asm/d/d_resorce/offWarpMaterial__11dRes_info_cFP12J3DModelData.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/onWarpMaterial__11dRes_info_cFP12J3DModelData.s b/asm/d/d_resorce/onWarpMaterial__11dRes_info_cFP12J3DModelData.s deleted file mode 100644 index 36a925719b..0000000000 --- a/asm/d/d_resorce/onWarpMaterial__11dRes_info_cFP12J3DModelData.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/setIndirectTex__FP12J3DModelData.s b/asm/d/d_resorce/setIndirectTex__FP12J3DModelData.s deleted file mode 100644 index 9a5fd38e97..0000000000 --- a/asm/d/d_resorce/setIndirectTex__FP12J3DModelData.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap.s b/asm/d/d_resorce/setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap.s deleted file mode 100644 index bce74b1658..0000000000 --- a/asm/d/d_resorce/setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap.s +++ /dev/null @@ -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 diff --git a/asm/d/d_resorce/setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff.s b/asm/d/d_resorce/setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff.s deleted file mode 100644 index 119207bbfd..0000000000 --- a/asm/d/d_resorce/setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff.s +++ /dev/null @@ -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 diff --git a/asm/d/d_tresure/addData__7dTres_cFPQ27dTres_c10list_classSc.s b/asm/d/d_tresure/addData__7dTres_cFPQ27dTres_c10list_classSc.s deleted file mode 100644 index d50b918bf6..0000000000 --- a/asm/d/d_tresure/addData__7dTres_cFPQ27dTres_c10list_classSc.s +++ /dev/null @@ -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 diff --git a/asm/d/d_tresure/checkTreasureBox__7dTres_cFPQ27dTres_c6data_s.s b/asm/d/d_tresure/checkTreasureBox__7dTres_cFPQ27dTres_c6data_s.s deleted file mode 100644 index 1778dcce5c..0000000000 --- a/asm/d/d_tresure/checkTreasureBox__7dTres_cFPQ27dTres_c6data_s.s +++ /dev/null @@ -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 diff --git a/asm/d/d_tresure/createWork__7dTres_cFv.s b/asm/d/d_tresure/createWork__7dTres_cFv.s deleted file mode 100644 index 1dfb0d1fed..0000000000 --- a/asm/d/d_tresure/createWork__7dTres_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/d_tresure/offStatus__7dTres_cFUcii.s b/asm/d/d_tresure/offStatus__7dTres_cFUcii.s deleted file mode 100644 index 358ebe5fbe..0000000000 --- a/asm/d/d_tresure/offStatus__7dTres_cFUcii.s +++ /dev/null @@ -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 diff --git a/asm/d/d_vibration/Run__12dVibration_cFv.s b/asm/d/d_vibration/Run__12dVibration_cFv.s index 4bfb117ea3..60bb70ce5a 100644 --- a/asm/d/d_vibration/Run__12dVibration_cFv.s +++ b/asm/d/d_vibration/Run__12dVibration_cFv.s @@ -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 */ diff --git a/asm/d/d_vibration/StartQuake__12dVibration_cFPCUcii4cXyz.s b/asm/d/d_vibration/StartQuake__12dVibration_cFPCUcii4cXyz.s deleted file mode 100644 index 63501dbb4e..0000000000 --- a/asm/d/d_vibration/StartQuake__12dVibration_cFPCUcii4cXyz.s +++ /dev/null @@ -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 diff --git a/asm/d/d_vibration/func_8006F168.s b/asm/d/d_vibration/func_8006F168.s deleted file mode 100644 index d1a5e09458..0000000000 --- a/asm/d/d_vibration/func_8006F168.s +++ /dev/null @@ -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 diff --git a/asm/d/d_vibration/func_8006F184.s b/asm/d/d_vibration/func_8006F184.s deleted file mode 100644 index 34de772696..0000000000 --- a/asm/d/d_vibration/func_8006F184.s +++ /dev/null @@ -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 diff --git a/asm/d/d_vibration/func_8006F1A4.s b/asm/d/d_vibration/func_8006F1A4.s deleted file mode 100644 index dccbf81e50..0000000000 --- a/asm/d/d_vibration/func_8006F1A4.s +++ /dev/null @@ -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 diff --git a/asm/d/d_vibration/func_8006F1D8.s b/asm/d/d_vibration/func_8006F1D8.s deleted file mode 100644 index 959117cf16..0000000000 --- a/asm/d/d_vibration/func_8006F1D8.s +++ /dev/null @@ -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 diff --git a/asm/d/meter/d_meter_map/checkMoveStatus__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/checkMoveStatus__11dMeterMap_cFv.s deleted file mode 100644 index ec3c843cbd..0000000000 --- a/asm/d/meter/d_meter_map/checkMoveStatus__11dMeterMap_cFv.s +++ /dev/null @@ -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 diff --git a/asm/d/meter/d_meter_map/getMapDispSizeTypeNo__11dMeterMap_cFv.s b/asm/d/meter/d_meter_map/getMapDispSizeTypeNo__11dMeterMap_cFv.s deleted file mode 100644 index fc8cab55b9..0000000000 --- a/asm/d/meter/d_meter_map/getMapDispSizeTypeNo__11dMeterMap_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone2__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone2__13daTagTWGate_cFv.s deleted file mode 100644 index f845318444..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone2__13daTagTWGate_cFv.s +++ /dev/null @@ -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 diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 125e7c9b3d..441b2fdebd 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -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; } diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 4e1ca4a6e3..73209b64a0 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -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; diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index dd973c96bd..b2f67574c5 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -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); } diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index 32f5e1277a..5462140ce8 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -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 { diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index b66c8b6c33..96ee30877a 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -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 diff --git a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h index c9ec70a8ab..21df0044fd 100644 --- a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h @@ -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 */ diff --git a/include/JSystem/J3DGraphLoader/J3DClusterLoader.h b/include/JSystem/J3DGraphLoader/J3DClusterLoader.h index 78e22688b1..4d8f748676 100644 --- a/include/JSystem/J3DGraphLoader/J3DClusterLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DClusterLoader.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 */ diff --git a/include/JSystem/J3DGraphLoader/J3DModelLoader.h b/include/JSystem/J3DGraphLoader/J3DModelLoader.h index c86393eb81..deff8ed978 100644 --- a/include/JSystem/J3DGraphLoader/J3DModelLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DModelLoader.h @@ -5,7 +5,7 @@ class J3DModelLoaderDataBase { public: - /* 803346BC */ void load(void const*, u32); + /* 803346BC */ static void* load(void const*, u32); }; #endif /* J3DMODELLOADER_H */ diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index e6e230d415..687dc1865f 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -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: diff --git a/include/JSystem/JKernel/JKRMemArchive.h b/include/JSystem/JKernel/JKRMemArchive.h index 883b747995..105cae54fe 100644 --- a/include/JSystem/JKernel/JKRMemArchive.h +++ b/include/JSystem/JKernel/JKRMemArchive.h @@ -27,6 +27,7 @@ public: public: static u32 fetchResource_subroutine(u8*, u32, u8*, u32, JKRCompression); + SArcHeader* getArcHeader() { return mArcHeader; } private: /* 0x00 */ // vtable diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 62c4a90a87..3448720ae0 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -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& scale) { // mGlobalScl = scale; // mGlobalPScl = scale; diff --git a/include/JSystem/JUtility/JUTGamePad.h b/include/JSystem/JUtility/JUTGamePad.h index 322fd52aa9..c2748a8996 100644 --- a/include/JSystem/JUtility/JUTGamePad.h +++ b/include/JSystem/JUtility/JUTGamePad.h @@ -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; diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index 878f344846..6737df5b27 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -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 { diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index befe2aed02..9bfb83b528 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -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&); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 97a9ed43f5..dce98cbf78 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -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); } diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index a8bd1b0dbb..95ad1ff045 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -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: diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index cd6232c2a9..eb977e7959 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -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; }; diff --git a/include/d/d_vibration.h b/include/d/d_vibration.h index 2bc721a34d..fe12038ec3 100644 --- a/include/d/d_vibration.h +++ b/include/d/d_vibration.h @@ -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 diff --git a/include/f_op/f_op_camera_mng.h b/include/f_op/f_op_camera_mng.h index ba595396cd..d022417bad 100644 --- a/include/f_op/f_op_camera_mng.h +++ b/include/f_op/f_op_camera_mng.h @@ -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; }; diff --git a/include/m_Do/m_Do_controller_pad.h b/include/m_Do/m_Do_controller_pad.h index c7b6fea361..a33525fa0a 100644 --- a/include/m_Do/m_Do_controller_pad.h +++ b/include/m_Do/m_Do_controller_pad.h @@ -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(); } diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index c91282e5d6..9fbb547ad7 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -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; } diff --git a/include/m_Do/m_Do_lib.h b/include/m_Do/m_Do_lib.h index 42b303bee3..33e6ae7f3f 100644 --- a/include/m_Do/m_Do_lib.h +++ b/include/m_Do/m_Do_lib.h @@ -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 */ diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 5a0da4fca9..510056d203 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -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]; diff --git a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp index d98e1baf0b..8230388584 100644 --- a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp +++ b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp @@ -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" } diff --git a/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp index c332c292d5..d8d01eddeb 100644 --- a/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp @@ -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" } diff --git a/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp index 78ad78ab7d..535ee61efc 100644 --- a/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp @@ -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" } diff --git a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp index 081ec1037b..9dbabb0256 100644 --- a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp +++ b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp @@ -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); diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 9ab7796e3c..64c3627cb1 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -169,7 +169,7 @@ extern "C" void __dt__18daNpcT_ActorMngr_cFv(); extern "C" void __dt__15daNpcT_JntAnm_cFv(); extern "C" void __dt__15daNpcT_MatAnm_cFv(); extern "C" void func_8014D32C(void* _this, s16*); -extern "C" void func_8014D348(void* _this, int*); +extern "C" void func_8014D348(void* _this); extern "C" void func_8014D364(void* _this, int, int); extern "C" void __sinit_d_a_npc_cpp(); extern "C" static void daBaseNpc_addIdx__FiiPUsi(); @@ -386,6 +386,9 @@ extern "C" u8 m_set_func__23daBaseNpc_moveBgActor_c[4]; extern "C" u8 mFindCount__8daNpcF_c[4]; extern "C" u8 mSrchActorName__8daNpcF_c[2 + 2 /* padding */]; extern "C" extern u8 data_80450FF8[8]; +static asm s32 daBaseNpc_chkPnt(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4, + int param_5); +static u16 daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4); // // External References: @@ -666,7 +669,7 @@ SECTION_SDATA2 static f64 lit_4142 = 4503601774854144.0 /* cast s32 to float */; /* 80145788-80145898 1400C8 0110+00 1/0 0/0 0/0 .text calc__15daNpcT_MatAnm_cCFP11J3DMaterial */ #ifdef NONMATCHING -// 1 instruction in wrong place + float literals +// float literals void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { J3DMaterialAnm::calc(param_0); @@ -681,10 +684,9 @@ void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { if (field_0x105 != 0) { f32 tmp8 = 1.0f / (field_0x105 + 1); - f32 tmp9 = (1.0f - tmp8); - curr_mtx_info->mSRT.mTranslationX = field_0xF4 * tmp9 + curr_mtx_info->mSRT.mTranslationX * tmp8; - curr_mtx_info->mSRT.mTranslationY = field_0xF8 * tmp9 + curr_mtx_info->mSRT.mTranslationY * tmp8; + curr_mtx_info->mSRT.mTranslationX = field_0xF4 * (1.0f - tmp8) + curr_mtx_info->mSRT.mTranslationX * tmp8; + curr_mtx_info->mSRT.mTranslationY = field_0xF8 * (1.0f - tmp8) + curr_mtx_info->mSRT.mTranslationY * tmp8; } @@ -866,8 +868,6 @@ void daNpcT_Path_c::initialize() { } /* 80145C74-80145D2C 1405B4 00B8+00 0/0 0/0 18/18 .text setPathInfo__13daNpcT_Path_cFUcScUc */ -#ifdef NONMATCHING -// something wrong with the getPntPos inline int daNpcT_Path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, u8 i_direction) { mpRoomPath = 0; mIdx = 0; @@ -879,22 +879,12 @@ int daNpcT_Path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, u8 i_direction) { return 0; } - mIsClosed = mpRoomPath->m_closed & 1; - int tmpidx = getIdx(); - mPosition = *getPntPos(tmpidx); + mIsClosed = dPath_ChkClose(mpRoomPath); + u16 idx; + mPosition = getPntPos(idx = getIdx()); } return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcT_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { - nofralloc -#include "asm/d/a/d_a_npc/setPathInfo__13daNpcT_Path_cFUcScUc.s" -} -#pragma pop -#endif /* 80145D2C-80145DA0 14066C 0074+00 0/0 0/0 1/1 .text setNextPathInfo__13daNpcT_Path_cFScUc */ int daNpcT_Path_c::setNextPathInfo(s8 param_0, u8 i_direction) { @@ -937,87 +927,63 @@ int daNpcT_Path_c::setNextIdx(int param_0) { } /* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */ -#ifdef NONMATCHING int daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int i_idx) { - cXyz* curr_room_pos = &mpRoomPath->m_points[mIdx].m_position; - if (i_idx == mIdx) { - mIdx--; + *param_1 = getPntPos(getIdx() - 1); + return 1; + } - param_1 = curr_room_pos; - - } else { - do { - int ret = chkPassed1(param_0,i_idx); - - if (ret == 0) { - param_1 = curr_room_pos; - break; - } - - field_0x1E = 1; - - } while (setNextIdx(i_idx) == 0); - - mIdx = i_idx; - mIdx--; - - param_1 = curr_room_pos; + while(true) { + if (!chkPassed1(param_0,i_idx)) { + break; + } + field_0x1E = 1; + if (setNextIdx(i_idx)) { + mIdx = i_idx; + *param_1 = getPntPos(getIdx() - 1); + return 1; + } } - return 1; + int i_idx2; + *param_1 = getPntPos(i_idx2 = getIdx()); + + return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int param_2) { - nofralloc -#include "asm/d/a/d_a_npc/getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi.s" -} -#pragma pop -#endif /* 80145FB4-80146188 1408F4 01D4+00 0/0 0/0 10/10 .text getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii */ -#ifdef NONMATCHING -int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int param_2, int param_3) { - cXyz* curr_room_pos = &mpRoomPath->m_points[mIdx].m_position; - +int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int i_idx, int param_3) { if (i_idx == mIdx) { - mIdx--; + *param_1 = getPntPos(getIdx() - 1); + return 1; + } - param_1 = curr_room_pos; - - } else { - do { - int ret = chkPassed1(param_0,i_idx); - - if (ret == 0) { - param_1 = curr_room_pos; - break; - } - - field_0x1E = 1; - - } while (setNextIdx(i_idx) == 0); - - mIdx = i_idx; - mIdx--; - - param_1 = curr_room_pos; + while(true) { + if (!chkPassed1(param_0,i_idx)) { + break; + } + field_0x1E = 1; + if (setNextIdx(i_idx)) { + mIdx = i_idx; + *param_1 = getPntPos(getIdx() - 1); + return 1; + } } - return 1; + + while(true) { + if (field_0x1E < param_3) { + if (chkPassed2(param_0, param_1, i_idx, param_3)) { + field_0x1E++; + continue; + } + } else { + int i_idx2; + *param_1 = getPntPos(i_idx2 = getIdx()); + } + return 0; + } + } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804533EC-804533F0 0019EC 0004+00 1/1 0/0 0/0 .sdata2 @4513 */ @@ -1052,24 +1018,20 @@ int daNpcT_Path_c::chkPassed1(cXyz param_0, int param_1) { if ((mpRoomPath->m_closed & 1) == 0 || param_1 == mpRoomPath->m_num) { - tmp = mDirection == 1; - daNpcT_decIdx(param_1,tmpIdx2,1,tmp); + daNpcT_decIdx(param_1,tmpIdx2,1, chkReverse()); - tmp = mDirection == 1; - daNpcT_incIdx(param_1,tmpIdx1,0,tmp); + daNpcT_incIdx(mpRoomPath->m_num,tmpIdx1,1,chkReverse()); } else { - tmp = mDirection == 1; - daNpcT_decIdx(tmp,tmpIdx1,0,tmp); + daNpcT_decIdx(param_1,tmpIdx1,0,chkReverse()); - tmp = mDirection == 1; - daNpcT_incIdx(mpRoomPath->m_num,tmpIdx2,1,tmp); + daNpcT_incIdx(param_1,tmpIdx2,0,chkReverse()); } tmp = tmpIdx2; - l_pos5 = mpRoomPath->m_points[idx].m_position; - l_pos6 = mpRoomPath->m_points[mIdx].m_position; - l_pos7 = mpRoomPath->m_points[mIdx].m_position; + l_pos5 = getPntPos(idx); + l_pos6 = getPntPos(mIdx); + l_pos7 = getPntPos(mIdx); l_pos1 = l_pos7; l_pos2 = l_pos6; @@ -1941,36 +1903,29 @@ void daNpcT_c::setRoomNo() { } /* 80148D10-80148DD0 143650 00C0+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFf */ +// weird mr assignments #ifdef NONMATCHING int daNpcT_c::checkEndAnm(f32 param_0) { - bool ret; - u8 play_mode = mMcaMorfAnm[0]->getPlayMode(); - int tmp = 2; - - if (play_mode == tmp || play_mode < tmp) { - tmp = 0; - if (play_mode < tmp) { - ret = 0; - } else { + switch(mMcaMorfAnm[0]->getPlayMode()) { + case 2: return mMcaMorfAnm[0]->isLoop(); - } + case 0: + case 1: + bool ret; + bool ret2; + ret2 = ret = 0; + if (mMcaMorfAnm[0]->isStop() && cM3d_IsZero(mMcaMorfAnm[0]->getPlaySpeed()) != false) { + ret2 = 1; + } + if (ret2 && cM3d_IsZero_inverted(param_0)) { + ret = 1; + } + return ret; + case 3: + break; } - if (ret == 0 && cM3d_IsZero_inverted(mMcaMorfAnm[0]->getPlaySpeed())) { - if (cM3d_IsZero_inverted(param_0)) { - play_mode = 1; - } - } - - if (!mMcaMorfAnm[0]->mFrameCtrl.checkState(1) && mMcaMorfAnm[0]->mFrameCtrl.getRate() != 0.0f) { - ret = 1; - } - - if (play_mode = 1 && cM3d_IsZero_inverted(param_0)) { - ret = 1; - } - - return ret; + return 0; } #else #pragma push @@ -1984,14 +1939,40 @@ asm int daNpcT_c::checkEndAnm(f32 param_0) { #endif /* 80148DD0-80148E4C 143710 007C+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFP12J3DFrameCtrlf */ +// weird mr +#ifdef NONMATCHING +int daNpcT_c::checkEndAnm(J3DFrameCtrl* param_0, f32 param_1) { + switch(param_0->getAttribute()) { + case 2: + return (param_0->getState() >> 1) & 1; + case 0: + case 1: + bool ret; + bool ret2; + ret2 = ret = 0; + if ((param_0->getState() & 1) && param_0->getRate() == 0.0f) { + ret2 = 1; + } + if (ret2 && param_1 != 0.0f) { + ret = 1; + } + return ret; + case 3: + break; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::checkEndAnm(J3DFrameCtrl* param_0, f32 param_1) { +asm int daNpcT_c::checkEndAnm(J3DFrameCtrl* param_0, f32 param_1) { nofralloc #include "asm/d/a/d_a_npc/checkEndAnm__8daNpcT_cFP12J3DFrameCtrlf.s" } #pragma pop +#endif /* 80148E4C-801490D4 14378C 0288+00 1/1 0/0 0/0 .text playAllAnm__8daNpcT_cFv */ #pragma push @@ -2065,7 +2046,7 @@ void daNpcT_c::ctrlFaceMotion() { /* 80149300-801493B8 143C40 00B8+00 1/1 0/0 0/0 .text ctrlMotion__8daNpcT_cFv */ #ifdef NONMATCHING -// 1 instruction in the wrong place + 1 register wrong +// matches with literals void daNpcT_c::ctrlMotion() { int l_int; int l_int2; @@ -2074,27 +2055,21 @@ void daNpcT_c::ctrlMotion() { if (field_0xb74.play(field_0xe1e,&l_int,&l_float)) { l_int2 = 0; - if (l_float < FLOAT_LABEL(lit_4148)) { + if (l_float < 0.5f) { l_int2 = 1; } - int l_int3 = l_int; + setMotionAnm(l_int,l_float < 0.0f ? field_0xa84 : l_float,l_int2); - if (l_float < FLOAT_LABEL(lit_4116)) { - setMotionAnm(l_int3,field_0xa84,l_int2); - } - - f32 tmp = FLOAT_LABEL(lit_4116); - field_0xdfc = tmp; + field_0xdfc = 0.0f; if (field_0xa88) { - mMcaMorfAnm[0]->setMorf(tmp); + mMcaMorfAnm[0]->setMorf(0.0f); - f32 tmp2 = FLOAT_LABEL(lit_4116); - field_0xdfc = tmp2; + field_0xdfc = 0.0f; if (mMcaMorfAnm[1]) { - mMcaMorfAnm[1]->setMorf(tmp2); + mMcaMorfAnm[1]->setMorf(0.0f); } } } @@ -2111,34 +2086,28 @@ asm void daNpcT_c::ctrlMotion() { #endif /* 801493B8-8014951C 143CF8 0164+00 1/1 0/0 2/2 .text ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci */ -#ifdef NONMATCHING -// few extra mr instructions + regalloc nightmare int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int param_3) { - int* tmp0 = param_0; - int* tmp1 = param_1; - fopAc_ac_c* tmp2 = param_2; - int tmp3 = param_3; - *param_0 = -1; *param_1 = -1; - if (tmp3 != 0 || mEvtInfo.checkCommandTalk() || field_0xdac != -1) { + if (param_3 != 0 || mEvtInfo.checkCommandTalk() || field_0xdac != -1) { fopAc_ac_c* talk_partner = dComIfGp_event_getTalkPartner(); dMsgObject_c* talk_partner_conv = (dMsgObject_c*)talk_partner; - if (tmp2 == talk_partner) { - u16 actor_command = talk_partner_conv->getActor()->mEvtInfo.mCommand; + if (talk_partner == param_2) { + fopAc_ac_c* conv_actor = talk_partner_conv->getActor(); + u16 actor_command = conv_actor->mEvtInfo.mCommand; if (actor_command == 2 || actor_command == 3) { mSubMtd = (profile_method_class*)-1; } else if (actor_command == 6) { - if (talk_partner->mSubMtd != mSubMtd) { - *tmp0 = dComIfGp_getMesgFaceAnimeAttrInfo(); - *tmp1 = dComIfGp_getMesgAnimeAttrInfo(); - mSubMtd = talk_partner->mSubMtd; + if (conv_actor->mSubMtd != mSubMtd) { + *param_0 = dComIfGp_getMesgFaceAnimeAttrInfo(); + *param_1 = dComIfGp_getMesgAnimeAttrInfo(); + mSubMtd = conv_actor->mSubMtd; } - if (talk_partner_conv->isMouthCheck()) { + if (dMsgObject_c::isMouthCheck()) { field_0xd98 &= ~0x4000; } else { field_0xd98 |= 0x4000; @@ -2157,24 +2126,15 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa field_0xdb4 = 1; } } - - if (tmp3 == 0) { - cLib_calcTimer(&field_0xdb4); - } - - return field_0xdb4; } + + if (param_3 == 0) { + // cLib_calcTimer + func_8014D348(&field_0xdb4); + } + + return field_0xdb4; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci.s" -} -#pragma pop -#endif /* 8014951C-8014997C 143E5C 0460+00 1/0 1/0 59/0 .text ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel */ @@ -2558,14 +2518,33 @@ asm void daNpcT_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2, int SECTION_SDATA2 static f32 lit_7337 = 1000000000.0f; /* 8014BE2C-8014BEE4 14676C 00B8+00 0/0 0/0 25/25 .text getNearestActorP__8daNpcT_cFs */ +// Matches with literals +#ifdef NONMATCHING +fopAc_ac_c* daNpcT_c::getNearestActorP(s16 param_0) { + fopAc_ac_c* actor = NULL; + f32 minDistance = 1000000000.0f; + mFindCount = 0; + mSrchName = param_0; + fpcEx_Search((fpcLyIt_JudgeFunc)srchActor, this); + for (s32 i = 0; i < mFindCount; i++) { + f32 dist = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + if (dist < minDistance) { + minDistance = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + actor = mFindActorPtrs[i]; + } + } + return actor; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::getNearestActorP(s16 param_0) { +asm fopAc_ac_c* daNpcT_c::getNearestActorP(s16 param_0) { nofralloc #include "asm/d/a/d_a_npc/getNearestActorP__8daNpcT_cFs.s" } #pragma pop +#endif /* 8014BEE4-8014BFB0 146824 00CC+00 0/0 0/0 12/12 .text getEvtAreaTagP__8daNpcT_cFii */ #pragma push @@ -2578,42 +2557,19 @@ asm void daNpcT_c::getEvtAreaTagP(int param_0, int param_1) { #pragma pop /* 8014BFB0-8014C030 1468F0 0080+00 0/0 0/0 5/5 .text getShopItemTagP__8daNpcT_cFv */ -#ifdef NONMATCHING -// few instructions off + regalloc -u32 daNpcT_c::getShopItemTagP() { +fopAc_ac_c* daNpcT_c::getShopItemTagP() { mFindCount = 0; mSrchName = 0x127; - fpcM_Search((fopAcIt_JudgeFunc)srchActor,(void*)this); - - int i = 0; + i_fpcM_Search((fopAcIt_JudgeFunc)srchActor,(void*)this); - for (;;) { - - if (0 >= mFindCount) { - break; - } - - u16 param = fopAcM_GetParam(mFindActorPtrs[i]); - - if (param == 0xf0000000) { - return param; + for (s32 i = 0; i < mFindCount; i++) { + if ((fopAcM_GetParam(mFindActorPtrs[i]) & 0xf0000000) == 0xf0000000) { + return mFindActorPtrs[i]; } - - i++; } - return 0; + return NULL; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 daNpcT_c::getShopItemTagP() { - nofralloc -#include "asm/d/a/d_a_npc/getShopItemTagP__8daNpcT_cFv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80453480-80453484 001A80 0004+00 1/1 0/0 0/0 .sdata2 id$7388 */ @@ -2646,47 +2602,43 @@ SECTION_SDATA2 static f32 lit_7551 = 448.0f; /* 8014C200-8014C384 146B40 0184+00 0/0 0/0 2/2 .text * daNpcT_chkActorInScreen__FP10fopAc_ac_cfffffffi */ +// matches with literals #ifdef NONMATCHING bool daNpcT_chkActorInScreen(fopAc_ac_c* i_ActorP, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, f32 param_6, f32 param_7, int param_8) { - bool ret = false; - cXyz pos_array[4]; - cXyz pos1; - cXyz pos2; - cXyz pos3; - cXyz pos4; + cXyz proj; + cXyz pos_array[8]; if (fopAcM_GetMtx(i_ActorP)) { - ret = false; - } else { - pos_array[0].set(param_1,param_4,param_2); - pos_array[1].set(param_3,param_4,param_2); - pos_array[2].set(param_1,param_4,param_6); - pos_array[3].set(param_3,param_4,param_5); + pos_array[0].set(param_1,param_5,param_3); + pos_array[1].set(param_4,param_5,param_3); + pos_array[2].set(param_1,param_5,param_6); + pos_array[3].set(param_4,param_5,param_6); + pos_array[4].set(param_1,param_2,param_3); + pos_array[5].set(param_4,param_2,param_3); + pos_array[6].set(param_1,param_2,param_6); + pos_array[7].set(param_4,param_2,param_6); - pos1.set(param_1,param_2,param_3); - pos2.set(param_3,param_1,param_2); - pos3.set(param_1,param_2,param_6); - pos4.set(param_3,param_1,param_6); mDoMtx_stack_c::copy(fopAcM_GetMtx(i_ActorP)); - mDoMtx_stack_c::transM(FLOAT_LABEL(lit_4116),param_6,FLOAT_LABEL(lit_4116)); - PSMTXMultVec((MtxP)&mDoMtx_stack_c::now,&pos_array[0],&pos_array[0]); + mDoMtx_stack_c::transM(0.0f, param_7, 0.0f); + cMtx_multVecArray((MtxP)&mDoMtx_stack_c::now, pos_array, pos_array, 8); if (param_8) { - for (int i = 0; i < 8; i++) { - mDoLib_project(&pos_array[i],&pos4); - if (true) { - ret = false; - } + return false; + } + for (int i = 0; i < 8; i++) { + mDoLib_project(&pos_array[i],&proj); + if (0.0f < proj.x && proj.x < 608.0f && 0.0f < proj.y && proj.y < 448.0f) { + continue; } - ret = true; - } else { - ret = false; + return false; } + + return true; } - return ret; + return false; } #else #pragma push @@ -2701,10 +2653,10 @@ asm void daNpcT_chkActorInScreen(fopAc_ac_c* param_0, f32 param_1, f32 param_2, #endif /* 8014C384-8014C500 146CC4 017C+00 1/1 0/0 3/3 .text daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi */ -#ifdef NONMATCHING -bool daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4) { - bool ret; +BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4) { + BOOL ret; cXyz l_pos; + cXyz diff; mDoMtx_stack_c::YrotS(-param_3); mDoMtx_stack_c::transM(-param_1.x,-param_1.y,-param_1.z); @@ -2715,28 +2667,16 @@ bool daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3 f32 l_float3 = fabsf(l_pos.x); f32 l_float4 = fabsf(l_pos.z); - - l_pos = param_0 - param_1; - if (param_4 != 0 || (FLOAT_LABEL(lit_4116) <= l_pos.y && l_pos.y > param_2.y)) { - ret = false; + if (param_4 != 0 && (!(FLOAT_LABEL(lit_4116) <= (diff = param_0 - param_1).y) || !(diff.y < param_2.y))) { + ret = FALSE; } else { f32 tmp1 = (l_float3 * l_float3) / (l_float1 * l_float1); f32 tmp2 = (l_float4 * l_float4) / (l_float2 * l_float2); - tmp1 + tmp2 <= FLOAT_LABEL(lit_4140) ? ret = true : ret = false; + tmp1 + tmp2 <= FLOAT_LABEL(lit_4140) ? ret = TRUE : ret = FALSE; } return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi.s" -} -#pragma pop -#endif /* 8014C500-8014C5E0 146E40 00E0+00 0/0 0/0 29/29 .text * daNpcT_getPlayerInfoFromPlayerList__FiiP4cXyzP5csXyz */ @@ -2980,7 +2920,7 @@ void daNpcT_c::changeBck(int* param_0, int* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) { +asm daNpcT_faceMotionAnmData_c daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) { nofralloc #include "asm/d/a/d_a_npc/getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c.s" } @@ -3004,14 +2944,21 @@ void daNpcT_c::changeAnm(int* param_0, int* param_1) { /* 8014CCF0-8014CD20 147630 0030+00 1/0 1/0 0/0 .text * getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c */ +// probably inline +#ifdef NONMATCHING +daNpcT_motionAnmData_c daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) { + return param_0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) { +asm daNpcT_motionAnmData_c daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) { nofralloc #include "asm/d/a/d_a_npc/getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c.s" } #pragma pop +#endif /* 8014CD20-8014D0A8 147660 0388+00 1/0 1/1 0/0 .text __dt__8daNpcT_cFv */ #pragma push @@ -3031,7 +2978,7 @@ bool daNpcT_c::getEyeballLMaterialNo() { } /* 8014D0B0-8014D0B8 1479F0 0008+00 1/0 1/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv - */ + */\ bool daNpcT_c::getEyeballRMaterialNo() { return false; } @@ -3110,7 +3057,7 @@ extern "C" asm void func_8014D32C(void* _this, s16* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_8014D348(void* _this, int* param_0) { +extern "C" asm void func_8014D348(void* _this) { nofralloc #include "asm/d/a/d_a_npc/func_8014D348.s" } @@ -3151,20 +3098,19 @@ REGISTER_CTORS(0x8014D3D8, __sinit_d_a_npc_cpp); #pragma pop /* 8014D538-8014D584 147E78 004C+00 2/2 0/0 0/0 .text daBaseNpc_addIdx__FiiPUsi */ -#ifdef NONMATCHING static int daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int param_3) { - int tmp; + int tmp = *param_2; int ret; ret = 0; - tmp = *param_2 - param_0; + tmp += param_0; - if (0 >= tmp) { + if (param_1 <= tmp) { if (param_3 != 0) { - tmp += param_1 * (tmp / param_1 + 1); + tmp -= param_1 * (tmp / param_1); } else { - tmp = 0; + tmp = param_1 != 0 ? param_1 - 1 : 0; ret = 1; } } @@ -3172,27 +3118,16 @@ static int daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int param_3) *param_2 = (u16)tmp; return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daBaseNpc_addIdx__FiiPUsi.s" -} -#pragma pop -#endif /* 8014D584-8014D5C4 147EC4 0040+00 2/2 0/0 0/0 .text daBaseNpc_subIdx__FiiPUsi */ -#ifdef NONMATCHING static int daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int param_3) { - int tmp; + int tmp = *param_2; int ret; ret = 0; - tmp = *param_2 - param_0; + tmp -= param_0; - if (0 >= tmp) { + if (tmp <= 0) { if (param_3 != 0) { tmp += param_1 * (tmp / param_1 + 1); } @@ -3205,16 +3140,6 @@ static int daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int param_3) *param_2 = (u16)tmp; return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daBaseNpc_subIdx__FiiPUsi.s" -} -#pragma pop -#endif /* 8014D5C4-8014D620 147F04 005C+00 2/2 0/0 0/0 .text daBaseNpc_incIdx__FiPUsii */ static void daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection) { @@ -3255,44 +3180,18 @@ asm daBaseNpc_acMngr_c::daBaseNpc_acMngr_c() { #pragma pop /* 8014D81C-8014D838 14815C 001C+00 0/0 0/0 9/9 .text entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c */ -#ifndef NONMATCHING void daBaseNpc_acMngr_c::entry(fopAc_ac_c* i_ActorP) { mActorId = fopAcM_GetID(i_ActorP); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_acMngr_c::entry(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c.s" -} -#pragma pop -#endif /* 8014D838-8014D884 148178 004C+00 0/0 0/0 6/6 .text getActor__18daBaseNpc_acMngr_cFv */ -#ifdef NONMATCHING -// finish fopAc_ac_c* daBaseNpc_acMngr_c::getActor() { - fopAc_ac_c* ret[4]; - ret[0] = 0; - u32 searched_actor_id = fopAcM_SearchByID(mActorId,ret); - if (!searched_actor_id || ret[0]) { - ret[0] = 0; - } - - return ret[0]; + fopAc_ac_c* ret = NULL; + if (fopAcM_SearchByID(mActorId, &ret) && ret != NULL) { + return ret; + } + return NULL; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm fopAc_ac_c* daBaseNpc_acMngr_c::getActor() { - nofralloc -#include "asm/d/a/d_a_npc/getActor__18daBaseNpc_acMngr_cFv.s" -} -#pragma pop -#endif /* 8014D884-8014D998 1481C4 0114+00 1/0 0/0 0/0 .text calc__18daBaseNpc_matAnm_cCFP11J3DMaterial */ @@ -3321,40 +3220,27 @@ BOOL daBaseNpc_path_c::isPath() { } /* 8014D9BC-8014DA48 1482FC 008C+00 0/0 0/0 1/1 .text setPathInfo__16daBaseNpc_path_cFUcScSc */ -#ifdef NONMATCHING - -typedef dStage_dPnt_c dPnt; static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4); int daBaseNpc_path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, s8 i_direction) { dPath* room_path; - mRoomPath = 0; + mpRoomPath = 0; mIdx = 0; mDirection = i_direction; if (i_pathIdx != 0xFF) { - mRoomPath = dPath_GetRoomPath(i_pathIdx,i_roomNo); - room_path = mRoomPath; + mpRoomPath = dPath_GetRoomPath(i_pathIdx,i_roomNo); + room_path = mpRoomPath; if (!room_path) { return 0; } - - field_0xa0e = daBaseNpc_putNurbs(room_path->m_points,room_path->m_num,0xA0,field_0xc,room_path->m_closed & 1); + int isClosed = dPath_ChkClose(room_path); + field_0xa0e = daBaseNpc_putNurbs((dPnt*)room_path->m_points,room_path->m_num,0xA0, (dPnt*)field_0xc, isClosed); } return isPath(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daBaseNpc_path_c::setPathInfo(u8 param_0, s8 param_1, s8 param_2) { - nofralloc -#include "asm/d/a/d_a_npc/setPathInfo__16daBaseNpc_path_cFUcScSc.s" -} -#pragma pop -#endif /* 8014DA48-8014DA64 148388 001C+00 0/0 0/0 1/1 .text reverseDir__16daBaseNpc_path_cFv */ void daBaseNpc_path_c::reverseDir() { @@ -3364,45 +3250,14 @@ void daBaseNpc_path_c::reverseDir() { } /* 8014DA64-8014DAC4 1483A4 0060+00 0/0 0/0 3/3 .text chkPnt__16daBaseNpc_path_cF4cXyz */ -#ifdef NONMATCHING -void daBaseNpc_path_c::chkPnt(cXyz i_pos) { - int curr_path = mRoomPath; - daBaseNpc_chkPnt(i_pos,(dPnt*)curr_path,mIdx,curr_path,(curr_path+5)&1,(int)mDirection); +s32 daBaseNpc_path_c::chkPnt(cXyz i_pos) { + return daBaseNpc_chkPnt(i_pos, (dPnt*)mpRoomPath->m_points, mIdx, mpRoomPath->m_num, dPath_ChkClose(mpRoomPath), mDirection); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_path_c::chkPnt(cXyz param_0) { - nofralloc -#include "asm/d/a/d_a_npc/chkPnt__16daBaseNpc_path_cF4cXyz.s" -} -#pragma pop -#endif /* 8014DAC4-8014DB04 148404 0040+00 0/0 0/0 3/3 .text setNextPnt__16daBaseNpc_path_cFv */ -#ifdef NONMATCHING -// some instructions switched around void daBaseNpc_path_c::setNextPnt() { - - u16 arg1 = mpRoomPath->m_num; - u16* arg2 = &mIdx; - u8 arg3 = mpRoomPath->m_closed & 1; - s8 arg4 = mDirection; - - - daBaseNpc_incIdx(arg1,arg2,arg3,arg4); + daBaseNpc_incIdx(mpRoomPath->m_num, &mIdx, dPath_ChkClose(mpRoomPath), mDirection); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_path_c::setNextPnt() { - nofralloc -#include "asm/d/a/d_a_npc/setNextPnt__16daBaseNpc_path_cFv.s" -} -#pragma pop -#endif /* 8014DB04-8014DB0C 148444 0008+00 0/0 0/0 3/3 .text getIdx__16daBaseNpc_path_cFv */ u16 daBaseNpc_path_c::getIdx() { @@ -3415,25 +3270,9 @@ void daBaseNpc_path_c::setIdx(u16 i_idx) { } /* 8014DB14-8014DB40 148454 002C+00 0/0 0/0 4/4 .text getPntPos__16daBaseNpc_path_cFUs */ -#ifdef NONMATCHING -void daBaseNpc_path_c::getPntPos(u16 param_0) { - dStage_dPnt_c* pnt = mpRoomPath->m_points; // get the points on the path - dStage_dPnt_c pnt2 = pnt[param_0*16]; // probably a cast (& 0xFFFF0); - - field_0x0 = pnt2.m_position.x; - mpRoomPath = 0; - field_0x8 = pnt2.m_position.z; +Vec daBaseNpc_path_c::getPntPos(u16 i_idx) { + return mpRoomPath->m_points[i_idx].m_position; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_path_c::getPntPos(u16 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/getPntPos__16daBaseNpc_path_cFUs.s" -} -#pragma pop -#endif /* 8014DB40-8014DBB4 148480 0074+00 1/1 0/0 0/0 .text limitter__18daBaseNpc_lookat_cFsPsss */ void daBaseNpc_lookat_c::limitter(s16 param_1, s16* param_2, s16 param_3, s16 param_4) { @@ -3512,33 +3351,9 @@ int daBaseNpc_lookat_c::setAttnPos(cXyz* i_pos) { } /* 8014E6AC-8014E6C8 148FEC 001C+00 0/0 0/0 1/1 .text getRot__18daBaseNpc_lookat_cFi */ -#ifdef NONMATCHING - -// 2 instructions off - -struct someType { - u8 unk[0x7c]; - int someMember; - u16 someMember2; -}; - -void daBaseNpc_lookat_c::getRot(int param_0) { - someType* tmp = (someType*)(this + param_0); - - field_0x00 = tmp->someMember; - mMaxJntLmt[0].x = tmp->someMember2; - +csXyz daBaseNpc_lookat_c::getRot(int param_0) { + return mRotation[param_0]; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_lookat_c::getRot(int param_0) { - nofralloc -#include "asm/d/a/d_a_npc/getRot__18daBaseNpc_lookat_cFi.s" -} -#pragma pop -#endif /* 8014E6C8-8014E89C 149008 01D4+00 1/1 0/0 0/0 .text __ct__11daBaseNpc_cFv */ #pragma push @@ -3682,25 +3497,25 @@ bool daBaseNpc_c::btkCtrl() { } /* 8014F148-8014F1C8 149A88 0080+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFf */ +// weird condition mr #ifdef NONMATCHING int daBaseNpc_c::checkEndAnm(f32 param_0) { - u32 state; - u8 play_mode = mpMorf->getPlayMode(); + switch(mMcaMorfAnm[0]->getPlayMode()) { + case 2: + return mMcaMorfAnm[0]->isLoop(); + case 0: + case 1: + bool state = false; - if (play_mode != 2) { - state = mpMorf->isLoop(); - } else if (play_mode < 2) { - state = 0; - - if (!mpMorf->isStop() && param_0 != mpMorf->getPlaySpeed()) { - state = 1; - } - - } else { - state = 0; + if (mMcaMorfAnm[0]->isStop() && param_0 != mMcaMorfAnm[0]->getPlaySpeed()) { + state = true; + } + return state; + case 3: + break; } - return state; + return 0; } #else #pragma push @@ -3715,23 +3530,25 @@ asm int daBaseNpc_c::checkEndAnm(f32 param_0) { /* 8014F1C8-8014F228 149B08 0060+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFP12J3DFrameCtrl */ +// matches with literals #ifdef NONMATCHING int daBaseNpc_c::checkEndAnm(J3DFrameCtrl* param_0) { - int tmp; - int tmp_attr = param_0->getAttribute(); - - if (tmp_attr == 2) { - tmp_attr = param_0->checkState(2); - } else if (2 > tmp_attr) { - tmp = 1; + switch (param_0->getAttribute()) { + case 2: + return param_0->checkState(2); + case 0: + case 1: + bool rv = true; if (((param_0->checkState(1) == 0) && (param_0->getRate() != 0.0f))) { - tmp = 0; + rv = false; } - } else { - tmp = 0; + return rv; + break; + case 3: + break; } - return tmp; + return 0; } #else @@ -3919,7 +3736,7 @@ static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daBaseNpc_chkPnt(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4, +static asm s32 daBaseNpc_chkPnt(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4, int param_5) { nofralloc #include "asm/d/a/d_a_npc/daBaseNpc_chkPnt__F4cXyzP4dPntUsUsii.s" @@ -4074,13 +3891,13 @@ static int daNpcF_subIdx(int param_0, int param_1, u16& param_2, int param_3) { } /* 801505F8-80150654 14AF38 005C+00 4/4 0/0 0/0 .text daNpcF_incIdx__FiRUsii */ -static void daNpcF_incIdx(int param_0, u16& param_1, int param_2, int param_3) { - param_3 ? daNpcF_subIdx(1,param_0,param_1,param_2) : daNpcF_addIdx(1,param_0,param_1,param_2); +static int daNpcF_incIdx(int param_0, u16& param_1, int param_2, int param_3) { + return param_3 ? daNpcF_subIdx(1,param_0,param_1,param_2) : daNpcF_addIdx(1,param_0,param_1,param_2); } /* 80150654-801506B0 14AF94 005C+00 3/3 0/0 0/0 .text daNpcF_decIdx__FiRUsii */ -static void daNpcF_decIdx(int param_0, u16& param_1, int param_2, int param_3) { - param_3 ? daNpcF_addIdx(1,param_0,param_1,param_2) : daNpcF_subIdx(1,param_0,param_1,param_2); +static int daNpcF_decIdx(int param_0, u16& param_1, int param_2, int param_3) { + return param_3 ? daNpcF_addIdx(1,param_0,param_1,param_2) : daNpcF_subIdx(1,param_0,param_1,param_2); } /* 801506B0-801506BC 14AFF0 000C+00 0/0 0/0 130/130 .text initialize__18daNpcF_ActorMngr_cFv */ @@ -4132,10 +3949,8 @@ void daNpcF_MatAnm_c::initialize() { } /* 8015075C-80150870 14B09C 0114+00 1/0 0/0 0/0 .text calc__15daNpcF_MatAnm_cCFP11J3DMaterial */ +// matches with literals #ifdef NONMATCHING -// matches if you make daNpcF_MatAnm_c inherit J3DMaterialAnm -// But doing so causes the dol overall to not match -// something obvious here i'm missing void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { J3DMaterialAnm::calc(param_0); @@ -4176,9 +3991,8 @@ asm void calc__15daNpcF_MatAnm_cCFP11J3DMaterial() { #endif /* 80150870-80150900 14B1B0 0090+00 2/2 0/0 8/8 .text initialize__16daNpcF_SPCurve_cFP5dPathi */ +// matches with literals #ifdef NONMATCHING -static u16 daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4); - void daNpcF_SPCurve_c::initialize(dPath* i_path, int param_1) { mNurbs = 0; field_0x02 = 0; @@ -4194,7 +4008,7 @@ void daNpcF_SPCurve_c::initialize(dPath* i_path, int param_1) { if (i_path) { mIsClosed = i_path->m_closed & 1; - mNurbs = daNpcF_putNurbs(i_path->m_points,i_path->m_num, 0x60, mPoints,mIsClosed); + mNurbs = daNpcF_putNurbs((dPnt*)i_path->m_points,i_path->m_num, 0x60, (dPnt*)mPoints,mIsClosed); } } #else @@ -4224,11 +4038,9 @@ void daNpcF_Path_c::initialize() { } /* 8015095C-80150A24 14B29C 00C8+00 0/0 0/0 12/12 .text setPathInfo__13daNpcF_Path_cFUcScUc */ -#ifdef NONMATCHING -// bunch of regalloc issues. There is an inline function at the end that needs to be defined int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { mpRoomPath = 0; - field_0x00 = 0; + mIdx = 0; field_0x02 = param_2; dStage_dPnt_c point; @@ -4239,30 +4051,11 @@ int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { } mSPCurve.initialize(mpRoomPath,field_0x02); mIsClosed = mpRoomPath->m_closed & 1; - - int idx = field_0x00; - point = mpRoomPath->m_points[idx]; - - f32 x = point.m_position.x; - f32 y = point.m_position.y; - f32 z = point.m_position.z; - - mPosition.x = x; - mPosition.y = y; - mPosition.z = z; + u16 idx; + mPosition = getPntPos(idx = mIdx); } return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { - nofralloc -#include "asm/d/a/d_a_npc/setPathInfo__13daNpcF_Path_cFUcScUc.s" -} -#pragma pop -#endif /* 80150A24-80150A7C 14B364 0058+00 1/1 0/0 1/1 .text chkPassed__13daNpcF_Path_cF4cXyz */ // forward decleration @@ -4295,170 +4088,63 @@ void daNpcF_Path_c::reverse() { } /* 80150BE0-80150C18 14B520 0038+00 2/2 0/0 6/6 .text setNextIdx__13daNpcF_Path_cFv */ -#ifdef NONMATCHING -// 1 instruction off, params being loaded out of order? -void daNpcF_Path_c::setNextIdx() { - int a = mpRoomPath->m_num; - int c = mpRoomPath->m_closed & 1; - u16& b = field_0x00; - u8 d = field_0x02; - - daNpcF_incIdx(a,b,c,d); +int daNpcF_Path_c::setNextIdx() { + return daNpcF_incIdx(mpRoomPath->m_num, mIdx, chkClose(), field_0x02); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcF_Path_c::setNextIdx() { - nofralloc -#include "asm/d/a/d_a_npc/setNextIdx__13daNpcF_Path_cFv.s" -} -#pragma pop -#endif /* 80150C18-80150C60 14B558 0048+00 0/0 0/0 9/9 .text getNextIdx__13daNpcF_Path_cFv */ -#ifdef NONMATCHING -// same problem as above u16 daNpcF_Path_c::getNextIdx() { u16 ret = mIdx; - daNpcF_incIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + daNpcF_incIdx(mpRoomPath->m_num, ret, chkClose(), field_0x02); return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u16 daNpcF_Path_c::getNextIdx() { - nofralloc -#include "asm/d/a/d_a_npc/getNextIdx__13daNpcF_Path_cFv.s" -} -#pragma pop -#endif /* 80150C60-80150CA8 14B5A0 0048+00 0/0 0/0 3/3 .text getBeforeIdx__13daNpcF_Path_cFv */ -#ifdef NONMATCHING -// same problem as above u16 daNpcF_Path_c::getBeforeIdx() { u16 ret = mIdx; - daNpcF_decIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + daNpcF_decIdx(mpRoomPath->m_num, ret, chkClose(), field_0x02); return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u16 daNpcF_Path_c::getBeforeIdx() { - nofralloc -#include "asm/d/a/d_a_npc/getBeforeIdx__13daNpcF_Path_cFv.s" -} -#pragma pop -#endif /* 80150CA8-80150D44 14B5E8 009C+00 0/0 0/0 1/1 .text getBeforePos__13daNpcF_Path_cFR4cXyz */ -#ifdef NONMATCHING -// many regalloc issues -void daNpcF_Path_c::getBeforePos(cXyz& param_0) { - u16 ret = mIdx; - dStage_dPnt_c* points; +int daNpcF_Path_c::getBeforePos(cXyz& param_0) { + u16 idx = mIdx; - daNpcF_decIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + int ret = daNpcF_decIdx(mpRoomPath->m_num, idx, chkClose(), field_0x02); - int idx = mIdx; - points = mpRoomPath->m_points; - - f32 x = points[mIdx].m_position.x; - f32 y = points[mIdx].m_position.y; - f32 z = points[mIdx].m_position.z; - - mPosition.x = x; - mPosition.y = y; - mPosition.z = z; + param_0 = getPntPos(idx); + return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_Path_c::getBeforePos(cXyz& param_0) { - nofralloc -#include "asm/d/a/d_a_npc/getBeforePos__13daNpcF_Path_cFR4cXyz.s" -} -#pragma pop -#endif /* 80150D44-80150DE0 14B684 009C+00 0/0 0/0 1/1 .text getNextPos__13daNpcF_Path_cFR4cXyz */ -// many regalloc issues -#ifdef NONMATCHING -void daNpcF_Path_c::getNextPos(cXyz& param_0) { - u16 ret = mIdx; - dStage_dPnt_c* points; +int daNpcF_Path_c::getNextPos(cXyz& param_0) { + u16 idx = mIdx; - daNpcF_incIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + int ret = daNpcF_incIdx(mpRoomPath->m_num, idx, chkClose(), field_0x02); - int idx = mIdx; - points = mpRoomPath->m_points; - - f32 x = points[mIdx].m_position.x; - f32 y = points[mIdx].m_position.y; - f32 z = points[mIdx].m_position.z; - - mPosition.x = x; - mPosition.y = y; - mPosition.z = z; + param_0 = getPntPos(idx); + return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_Path_c::getNextPos(cXyz& param_0) { - nofralloc -#include "asm/d/a/d_a_npc/getNextPos__13daNpcF_Path_cFR4cXyz.s" -} -#pragma pop -#endif /* 80150DE0-80150EB4 14B720 00D4+00 0/0 0/0 16/16 .text getDstPos__13daNpcF_Path_cF4cXyzR4cXyz */ -#ifdef NONMATCHING int daNpcF_Path_c::getDstPos(cXyz i_pos1, cXyz& i_pos2) { int ret = 0; - while (true) { - int curr_index = getIdx(); - cXyz* curr_room_pos = &mpRoomPath->m_points[curr_index].m_position; - - i_pos2.x = curr_room_pos->x; - i_pos2.y = curr_room_pos->y; - i_pos2.z = curr_room_pos->x; - - cXyz local_pos; - local_pos.x = i_pos1.x; - local_pos.y = i_pos1.y; - local_pos.z = i_pos1.z; + while (ret == 0) { + int curr_index; + i_pos2 = getPntPos(curr_index = getIdx()); - if (!chkPassed(local_pos)) { break; }; + if (!chkPassed(i_pos1)) { break; }; if (setNextIdx()) { ret = 1; } - - if (ret != 0) { - return ret; - } } - return 0; + return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcF_Path_c::getDstPos(cXyz param_0, cXyz& param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getDstPos__13daNpcF_Path_cF4cXyzR4cXyz.s" -} -#pragma pop -#endif /* 80150EB4-80151038 14B7F4 0184+00 0/0 0/0 2/2 .text setNextIdxDst__13daNpcF_Path_cF4cXyz */ #pragma push @@ -4919,7 +4605,7 @@ asm void daNpcF_c::tgHitCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fop /* ############################################################################################## */ /* 804257E8-80425978 052508 0190+00 4/4 0/0 0/0 .bss mFindActorPList__8daNpcF_c */ -u8 daNpcF_c::mFindActorPList[400]; +fopAc_ac_c* daNpcF_c::mFindActorPList[100]; /* 80450FF0-80450FF4 0004F0 0004+00 4/4 0/0 0/0 .sbss mFindCount__8daNpcF_c */ s32 daNpcF_c::mFindCount; @@ -5660,16 +5346,94 @@ SECTION_SDATA2 static f32 lit_11605 = 450.0f; /* 8015436C-80154730 14ECAC 03C4+00 0/0 0/0 12/12 .text getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii */ +#ifdef NONMATCHING +fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*), f32 param_2, + f32 param_3, f32 param_4, f32 param_5, s16 param_6, int param_7, + int param_8) { + fopAc_ac_c* actor = NULL; + int rnd = 450 + (int)((cM_rnd() - 0.5f) * 450.0f); + int rnd2 = param_7 + (int)((cM_rnd() - 0.5f) * param_7); + int r28 = 0; + f32 minDistance = 1000000000.0f; + if (field_0x938) { + daPy_py_c* player = daPy_getPlayerActorClass(); + fopAcM_SearchByID(player->getGrabActorID(), &actor); + if (field_0x82c[field_0x934].getActorP() != actor) { + func_8014D348(&field_0x938); + } + actor = field_0x82c[field_0x934].getActorP(); + } + if (actor == NULL) { + field_0x938 = 0; + if (param_0) { + param_2 = fopAcM_searchActorDistanceXZ(this, daPy_getPlayerActorClass()); + } + mFindCount = 0; + fpcEx_Search((fpcLyIt_JudgeFunc)param_1, this); + for (int i = 0; i < mFindCount; i++) { + if (chkPointInArea(getAttentionPos(mFindActorPList[i]), mAttentionInfo.mPosition, param_2, param_3, param_4, 0) && + chkActorInSight2(mFindActorPList[i], param_5, param_6)) { + int j; + for (j = 0; j < 5; j++) { + // !@Bug I think field_0x93c index should be j + if (mFindActorPList[i] == field_0x82c[j].getActorP() && field_0x93c[i] != 0) { + break; + } + } + + if (j == 5) { + f32 dist2 = fopAcM_searchActorDistanceXZ(this, mFindActorPList[i]); + if (dist2 < minDistance) { + actor = mFindActorPList[i]; + minDistance = dist2; + } + } + } + } + + if (actor == NULL && param_0) { + daPy_py_c* player = daPy_getPlayerActorClass(); + fopAcM_SearchByID(player->getGrabActorID(), &actor); + r28 = 1; + } + if (actor != NULL) { + int minInd, j;; + int dist3 = 900; + minInd = 0; + for (j = 0; j < 5; j++) { + if (field_0x93c[j] < dist3) { + dist3 = field_0x93c[j]; + minInd = j; + } + } + field_0x82c[minInd].entry(actor); + if (param_8) { + field_0x93c[minInd] = r28 != 1 ? 0 : rnd; + } else { + field_0x93c[minInd] = 0; + } + + field_0x938 = (r28 != 1) ? rnd2 : 30; + field_0x934 = minInd; + } + } + if (actor == NULL) { + field_0x938 = 0; + } + return actor; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*), f32 param_2, +asm fopAc_ac_c* daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*), f32 param_2, f32 param_3, f32 param_4, f32 param_5, s16 param_6, int param_7, int param_8) { nofralloc #include "asm/d/a/d_a_npc/getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii.s" } #pragma pop +#endif /* 80154730-80154834 14F070 0104+00 2/2 0/0 0/0 .text chkActorInSight2__8daNpcF_cFP10fopAc_ac_cfs */ @@ -5683,36 +5447,38 @@ asm BOOL daNpcF_c::chkActorInSight2(fopAc_ac_c* param_0, f32 param_1, s16 param_ #pragma pop /* 80154834-801548F4 14F174 00C0+00 2/2 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyzfffs */ +// literal load order #ifdef NONMATCHING -bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, +BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, s16 param_5) { cXyz tmp_pos1; cXyz tmp_pos2; - cXyz tmp_pos3; - f32 tmp_float1 = param_3; + f32 tmp_float1 = param_4; if (param_3 < param_4) { - tmp_float1 = param_4; - param_4 = param_3; + tmp_float1 = param_3; + param_3 = param_4; } - f32 result1 = fabsf(tmp_float1 - param_4); - f32 result = FLOAT_LABEL(lit_11253) * result1; - tmp_pos1.set(param_2,result,param_2); + f32 res = fabsf(param_3 - tmp_float1) * 0.5f; + tmp_pos1.x = param_2; + tmp_pos1.y = res; + tmp_pos1.z = param_2; - f32 result2 = param_1.y + param_4 + tmp_pos1.y; - tmp_pos2.set(param_1.x,result2,param_1.z); + tmp_pos2.x = param_1.x; + tmp_pos2.y = param_1.y; + tmp_pos2.z = param_1.z; + tmp_pos2.y += tmp_float1; + tmp_pos2.y += tmp_pos1.y; - tmp_pos3 = param_0; - - return chkPointInArea(tmp_pos3,tmp_pos2,tmp_pos1,param_5); + return chkPointInArea(param_0,tmp_pos2,tmp_pos1,param_5); } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, +asm BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, s16 param_5) { nofralloc #include "asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyzfffs.s" @@ -5722,9 +5488,9 @@ asm bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 p /* 801548F4-8015496C 14F234 0078+00 1/1 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs */ -bool daNpcF_chkPointInArea(cXyz,cXyz,cXyz,s16); // fwd reference +BOOL daNpcF_chkPointInArea(cXyz,cXyz,cXyz,s16); // fwd reference -bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { +BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { return daNpcF_chkPointInArea(param_0,param_1,param_2,param_3); } @@ -5751,14 +5517,44 @@ asm void daNpcF_c::chkFindPlayer2(int param_0, s16 param_1) { /* ############################################################################################## */ /* 804534B4-804534B8 001AB4 0004+00 1/1 0/0 0/0 .sdata2 id$11798 */ -SECTION_SDATA2 static u8 id_11798[4] = { - 0x84, - 0x97, - 0x84, - 0x98, +SECTION_SDATA2 static u16 id_11798[2] = { + 0x8497, + 0x8498, }; /* 80154BD8-80154DA8 14F518 01D0+00 1/1 0/0 0/0 .text setHitodamaPrtcl__8daNpcF_cFv */ +// field_0x9d2 is weird +#ifdef NONMATCHING +void daNpcF_c::setHitodamaPrtcl() { + u8 uVar3; + cXyz local_20; + + field_0x9d0 = (2 * ((u16)field_0x9d2)); + field_0x9b8.x = cM_ssin(((u16)field_0x9d2)) * 8.0f; + field_0x9b8.y = cM_ssin(field_0x9d0) * 4.0f; + field_0x9b8.z = field_0x9b8.x * -cM_ssin(shape_angle.y); + + field_0x9b8.x *= cM_scos(shape_angle.y); + field_0x9d2 += 0x400; + local_20.x = mEyePos.x + field_0x9b8.x + field_0x9c4.x; + local_20.y = mEyePos.y + field_0x9b8.y + field_0x9c4.y; + local_20.z = mEyePos.z + field_0x9b8.z + field_0x9c4.z; + + for (int i = 0; i < 2; i++) { + field_0x9a8[i] = dComIfGp_particle_set(field_0x9a8[i], id_11798[i], &local_20, &field_0x8f0, NULL); + JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x9a8[i]); + if (emitter != NULL) { + if (dComIfGs_wolfeye_effect_check() == 0) { + uVar3 = 0xff; + } else { + uVar3 = 0; + } + emitter->setGlobalTranslation(local_20.x, local_20.y, local_20.z); + emitter->setGlobalAlpha(uVar3); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -5767,6 +5563,7 @@ asm void daNpcF_c::setHitodamaPrtcl() { #include "asm/d/a/d_a_npc/setHitodamaPrtcl__8daNpcF_cFv.s" } #pragma pop +#endif /* 80154DA8-80154E54 14F6E8 00AC+00 1/1 0/0 1/1 .text * daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf */ @@ -5804,7 +5601,7 @@ int daNpcF_pntVsLineSegmentLengthSquare2D(f32 param_0, f32 param_1, f32 param_2, /* 80154E54-80154E5C 14F794 0008+00 1/1 0/0 0/0 .text daNpcF_putNurbs__FP4dPntiiP4dPnti */ -static bool daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4) { +static u16 daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4) { return false; } @@ -5820,34 +5617,19 @@ asm int daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, #pragma pop /* 8015556C-80155634 14FEAC 00C8+00 1/1 0/0 8/8 .text daNpcF_getGroundAngle__FP13cBgS_PolyInfos */ -#ifdef NONMATCHING -int daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { +s16 daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { cM3dGPla tmp; - f32 l_float; - int ret; if (dComIfG_Bgsp().ChkPolySafe(*param_0)) { - if (dComIfG_Bgsp().GetTriPla(*param_0,&tmp) && !cBgW_CheckBGround(l_float)) { - ret = fopAcM_getPolygonAngle(&tmp,(int)param_1); + if (!dComIfG_Bgsp().GetTriPla(*param_0, &tmp) || !cBgW_CheckBGround(tmp.mNormal.y)) { + return 0; } else { - ret = 0; + return fopAcM_getPolygonAngle(&tmp, param_1); } } else { - ret = 0; + return 0; } - - return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_getGroundAngle__FP13cBgS_PolyInfos.s" -} -#pragma pop -#endif /* 80155634-80155674 14FF74 0040+00 0/0 0/0 69/69 .text daNpcF_chkEvtBit__FUl */ BOOL daNpcF_chkEvtBit(u32 i_idx) { @@ -5876,41 +5658,23 @@ void daNpcF_offTmpBit(u32 i_idx) { /* 80155774-80155854 1500B4 00E0+00 0/0 2/2 5/5 .text * daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz */ -#ifdef NONMATCHING int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3) { - int i = 0; + int rv = 0; dStage_roomStatus_c* roomP = dComIfGp_roomControl_getStatusRoomDt(i_roomNo); stage_actor_data_class* entries = roomP->mRoomDt.getPlayer()->mEntries; - while (true) { - if (param_0 == entries->mEnemyNo) { + for (int i = 0; i < roomP->mRoomDt.getPlayerNum(); entries++, i++) { + if (param_0 == (u8)entries->mAngle.z) { + param_2 = entries->mSpawnPos; + param_3 = entries->mAngle; + rv = 1; break; } } - param_2 = entries->mSpawnPos; - param_3 = entries->mAngle; - - i++; - - if (roomP->mRoomDt.getPlayerNum() >= i) { - return 0; - } - - return 1; + return rv; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcF_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz& param_2, - csXyz& param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz.s" -} -#pragma pop -#endif /* 80155854-80155968 150194 0114+00 0/0 0/0 1/1 .text daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c */ bool daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_ActorP) { @@ -5937,8 +5701,8 @@ bool daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_ActorP) { } /* 80155968-80155AD4 1502A8 016C+00 1/1 0/0 2/2 .text daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs */ -bool daNpcF_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { - bool ret = 0; +BOOL daNpcF_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { + BOOL ret; Vec l_vec; f32 l_float1; f32 l_float2; @@ -5958,15 +5722,13 @@ bool daNpcF_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3 l_pos = param_1 - param_0; if (l_pos.y <= -param_2.y || param_2.y <= l_pos.y) { - ret = 0; + return FALSE; } else { f32 tmp_float1 = (l_float3 * l_float3) / (l_float1 * l_float1); f32 tmp_float2 = (l_float4 * l_float4) / (l_float2 * l_float2); f32 tmp_float3 = tmp_float1 + tmp_float2; - ret = tmp_float3 <= FLOAT_LABEL(lit_4140); + return tmp_float3 <= FLOAT_LABEL(lit_4140); } - - return ret; } /* 80155AD4-80155AE8 150414 0014+00 1/1 0/0 1/1 .text daNpcF_getDistTableIdx__Fii */ diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp index 4f110311d4..73543c51d2 100644 --- a/src/d/bg/d_bg_s.cpp +++ b/src/d/bg/d_bg_s.cpp @@ -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" } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index 9633b593ee..7c466e72e3 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -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; } diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index e3d6b9ba5b..de0acc72d7 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -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(); }; diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index dbec7bec15..1a63461f92 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -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, - ¶m_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 */ diff --git a/src/d/d_tresure.cpp b/src/d/d_tresure.cpp index 5c37337407..1f7217d2aa 100644 --- a/src/d/d_tresure.cpp +++ b/src/d/d_tresure.cpp @@ -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, ¶m_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, ¶m_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 */ diff --git a/src/d/d_vibration.cpp b/src/d/d_vibration.cpp index d6f44ddcd2..81546a355d 100644 --- a/src/d/d_vibration.cpp +++ b/src/d/d_vibration.cpp @@ -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) { diff --git a/src/d/map/d_map_path_fmap.cpp b/src/d/map/d_map_path_fmap.cpp index de419779ee..61c4e42e9b 100644 --- a/src/d/map/d_map_path_fmap.cpp +++ b/src/d/map/d_map_path_fmap.cpp @@ -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(); diff --git a/src/d/meter/d_meter_map.cpp b/src/d/meter/d_meter_map.cpp index d7cf9e1d95..adf7c9a190 100644 --- a/src/d/meter/d_meter_map.cpp +++ b/src/d/meter/d_meter_map.cpp @@ -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 diff --git a/src/d/msg/d_msg_out_font.cpp b/src/d/msg/d_msg_out_font.cpp index f32dc327fc..618593a0ed 100644 --- a/src/d/msg/d_msg_out_font.cpp +++ b/src/d/msg/d_msg_out_font.cpp @@ -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); diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp index 38c7a73545..9d37edf30d 100644 --- a/src/d/s/d_s_logo.cpp +++ b/src/d/s/d_s_logo.cpp @@ -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()); diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index dc42744c4f..6ea7e9f269 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -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; } diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index 631ab6c406..a42e87d226 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -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; } } diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 1ef6371143..1d803049d6 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -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 */