From 2a1c35efad845ba6f36d9bc065c44b29e047929d Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Fri, 14 Jul 2023 11:30:07 +0300 Subject: [PATCH 1/7] Work on J3DSkinDeform --- Progress.md | 8 +- ...DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec.s | 41 - ...J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec.s | 47 -- .../J3DSkinDeform/__ct__12J3DSkinNListFv.s | 9 - .../J3DSkinDeform/__ct__13J3DSkinDeformFv.s | 18 - .../J3DSkinDeform/__dt__13J3DSkinDeformFv.s | 20 - ...ointMtx__13J3DSkinDeformFP12J3DMtxBuffer.s | 34 - ...cNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer.s | 100 --- ...Skin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv.s | 37 - ...Skin_VtxPosF32__12J3DSkinNListFPA4_fPvPv.s | 37 - .../calc__15J3DVtxColorCalcFP8J3DModel.s | 13 - ...eformCFP15J3DVertexBufferP12J3DMtxBuffer.s | 86 --- ...eformCFP15J3DVertexBufferP12J3DMtxBuffer.s | 82 -- ...DeformFP15J3DVertexBufferP12J3DMtxBuffer.s | 79 -- .../deform__13J3DSkinDeformFP8J3DModel.s | 39 - ...kinInfo__13J3DSkinDeformFP12J3DModelData.s | 385 ---------- ...xPosNrm__13J3DSkinDeformFP12J3DModelData.s | 89 --- .../JSystem/J3DGraphAnimator/J3DJointTree.h | 3 +- include/JSystem/J3DGraphAnimator/J3DModel.h | 1 + .../JSystem/J3DGraphAnimator/J3DModelData.h | 7 + .../JSystem/J3DGraphAnimator/J3DMtxBuffer.h | 5 +- .../JSystem/J3DGraphAnimator/J3DSkinDeform.h | 45 +- include/JSystem/J3DGraphBase/J3DShape.h | 1 + include/JSystem/J3DGraphBase/J3DShapeDraw.h | 1 + include/JSystem/J3DGraphBase/J3DTransform.h | 193 +++++ include/JSystem/J3DGraphBase/J3DVertex.h | 24 + include/dolphin/mtx/mtx.h | 1 + .../J3DGraphAnimator/J3DSkinDeform.cpp | 711 ++++++++++++++---- libs/JSystem/J3DGraphBase/J3DTransform.cpp | 6 +- 29 files changed, 840 insertions(+), 1282 deletions(-) delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__12J3DSkinNListFv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__13J3DSkinDeformFv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__dt__13J3DSkinDeformFv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calc__15J3DVtxColorCalcFP8J3DModel.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP8J3DModel.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initSkinInfo__13J3DSkinDeformFP12J3DModelData.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DSkinDeform/transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData.s diff --git a/Progress.md b/Progress.md index d0cf12cfce..bbb782c917 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 | 28.373683% | 1020472 | 3596544 +.text | 28.487793% | 1024576 | 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.924542% | 1444408 | 4020672 +Total | 36.026614% | 1448512 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 35.924542% | 1444408 | 4020672 +main.dol | 36.026614% | 1448512 | 4020672 RELs | 33.847533% | 3892576 | 11500324 -Total | 34.385577% | 5336984 | 15520996 +Total | 34.412018% | 5341088 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec.s deleted file mode 100644 index ff23845410..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_8032C7BC: -/* 8032C7BC C0 03 00 00 */ lfs f0, 0(r3) -/* 8032C7C0 C0 44 00 00 */ lfs f2, 0(r4) -/* 8032C7C4 EC 60 00 B2 */ fmuls f3, f0, f2 -/* 8032C7C8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8032C7CC EC 80 00 B2 */ fmuls f4, f0, f2 -/* 8032C7D0 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 8032C7D4 EC A0 00 B2 */ fmuls f5, f0, f2 -/* 8032C7D8 C0 03 00 04 */ lfs f0, 4(r3) -/* 8032C7DC C0 44 00 04 */ lfs f2, 4(r4) -/* 8032C7E0 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C7E4 EC 63 00 2A */ fadds f3, f3, f0 -/* 8032C7E8 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8032C7EC EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C7F0 EC 84 00 2A */ fadds f4, f4, f0 -/* 8032C7F4 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8032C7F8 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C7FC EC A5 00 2A */ fadds f5, f5, f0 -/* 8032C800 C0 03 00 08 */ lfs f0, 8(r3) -/* 8032C804 C0 44 00 08 */ lfs f2, 8(r4) -/* 8032C808 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C80C EC 63 00 2A */ fadds f3, f3, f0 -/* 8032C810 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 8032C814 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C818 EC 84 00 2A */ fadds f4, f4, f0 -/* 8032C81C C0 03 00 28 */ lfs f0, 0x28(r3) -/* 8032C820 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C824 EC A5 00 2A */ fadds f5, f5, f0 -/* 8032C828 C0 45 00 00 */ lfs f2, 0(r5) -/* 8032C82C EC 03 00 72 */ fmuls f0, f3, f1 -/* 8032C830 EC 02 00 2A */ fadds f0, f2, f0 -/* 8032C834 D0 05 00 00 */ stfs f0, 0(r5) -/* 8032C838 C0 45 00 04 */ lfs f2, 4(r5) -/* 8032C83C EC 04 00 72 */ fmuls f0, f4, f1 -/* 8032C840 EC 02 00 2A */ fadds f0, f2, f0 -/* 8032C844 D0 05 00 04 */ stfs f0, 4(r5) -/* 8032C848 C0 45 00 08 */ lfs f2, 8(r5) -/* 8032C84C EC 05 00 72 */ fmuls f0, f5, f1 -/* 8032C850 EC 02 00 2A */ fadds f0, f2, f0 -/* 8032C854 D0 05 00 08 */ stfs f0, 8(r5) -/* 8032C858 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec.s deleted file mode 100644 index 55cd983d83..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_8032C704: -/* 8032C704 C0 43 00 0C */ lfs f2, 0xc(r3) -/* 8032C708 C0 03 00 00 */ lfs f0, 0(r3) -/* 8032C70C C0 64 00 00 */ lfs f3, 0(r4) -/* 8032C710 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8032C714 EC 82 00 2A */ fadds f4, f2, f0 -/* 8032C718 C0 43 00 1C */ lfs f2, 0x1c(r3) -/* 8032C71C C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8032C720 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8032C724 EC A2 00 2A */ fadds f5, f2, f0 -/* 8032C728 C0 43 00 2C */ lfs f2, 0x2c(r3) -/* 8032C72C C0 03 00 20 */ lfs f0, 0x20(r3) -/* 8032C730 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8032C734 EC 62 00 2A */ fadds f3, f2, f0 -/* 8032C738 C0 03 00 04 */ lfs f0, 4(r3) -/* 8032C73C C0 44 00 04 */ lfs f2, 4(r4) -/* 8032C740 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C744 EC 84 00 2A */ fadds f4, f4, f0 -/* 8032C748 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8032C74C EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C750 EC A5 00 2A */ fadds f5, f5, f0 -/* 8032C754 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8032C758 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C75C EC 63 00 2A */ fadds f3, f3, f0 -/* 8032C760 C0 03 00 08 */ lfs f0, 8(r3) -/* 8032C764 C0 44 00 08 */ lfs f2, 8(r4) -/* 8032C768 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C76C EC 84 00 2A */ fadds f4, f4, f0 -/* 8032C770 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 8032C774 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C778 EC A5 00 2A */ fadds f5, f5, f0 -/* 8032C77C C0 03 00 28 */ lfs f0, 0x28(r3) -/* 8032C780 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8032C784 EC 63 00 2A */ fadds f3, f3, f0 -/* 8032C788 C0 45 00 00 */ lfs f2, 0(r5) -/* 8032C78C EC 04 00 72 */ fmuls f0, f4, f1 -/* 8032C790 EC 02 00 2A */ fadds f0, f2, f0 -/* 8032C794 D0 05 00 00 */ stfs f0, 0(r5) -/* 8032C798 C0 45 00 04 */ lfs f2, 4(r5) -/* 8032C79C EC 05 00 72 */ fmuls f0, f5, f1 -/* 8032C7A0 EC 02 00 2A */ fadds f0, f2, f0 -/* 8032C7A4 D0 05 00 04 */ stfs f0, 4(r5) -/* 8032C7A8 C0 45 00 08 */ lfs f2, 8(r5) -/* 8032C7AC EC 03 00 72 */ fmuls f0, f3, f1 -/* 8032C7B0 EC 02 00 2A */ fadds f0, f2, f0 -/* 8032C7B4 D0 05 00 08 */ stfs f0, 8(r5) -/* 8032C7B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__12J3DSkinNListFv.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__12J3DSkinNListFv.s deleted file mode 100644 index b8b3a94b60..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__12J3DSkinNListFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8032C6E4: -/* 8032C6E4 38 00 00 00 */ li r0, 0 -/* 8032C6E8 90 03 00 00 */ stw r0, 0(r3) -/* 8032C6EC 90 03 00 04 */ stw r0, 4(r3) -/* 8032C6F0 90 03 00 08 */ stw r0, 8(r3) -/* 8032C6F4 90 03 00 0C */ stw r0, 0xc(r3) -/* 8032C6F8 B0 03 00 10 */ sth r0, 0x10(r3) -/* 8032C6FC B0 03 00 12 */ sth r0, 0x12(r3) -/* 8032C700 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__13J3DSkinDeformFv.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__13J3DSkinDeformFv.s deleted file mode 100644 index 9c93a11c5f..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__13J3DSkinDeformFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8032C96C: -/* 8032C96C 3C 80 80 3D */ lis r4, __vt__13J3DSkinDeform@ha /* 0x803CEE70@ha */ -/* 8032C970 38 04 EE 70 */ addi r0, r4, __vt__13J3DSkinDeform@l /* 0x803CEE70@l */ -/* 8032C974 90 03 00 00 */ stw r0, 0(r3) -/* 8032C978 38 80 00 00 */ li r4, 0 -/* 8032C97C 90 83 00 04 */ stw r4, 4(r3) -/* 8032C980 90 83 00 08 */ stw r4, 8(r3) -/* 8032C984 90 83 00 0C */ stw r4, 0xc(r3) -/* 8032C988 90 83 00 10 */ stw r4, 0x10(r3) -/* 8032C98C 38 00 00 03 */ li r0, 3 -/* 8032C990 90 03 00 14 */ stw r0, 0x14(r3) -/* 8032C994 38 00 00 01 */ li r0, 1 -/* 8032C998 98 03 00 18 */ stb r0, 0x18(r3) -/* 8032C99C 98 83 00 19 */ stb r4, 0x19(r3) -/* 8032C9A0 90 83 00 1C */ stw r4, 0x1c(r3) -/* 8032C9A4 90 83 00 20 */ stw r4, 0x20(r3) -/* 8032C9A8 90 83 00 24 */ stw r4, 0x24(r3) -/* 8032C9AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__dt__13J3DSkinDeformFv.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__dt__13J3DSkinDeformFv.s deleted file mode 100644 index 731036022b..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__dt__13J3DSkinDeformFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8032E1B0: -/* 8032E1B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8032E1B4 7C 08 02 A6 */ mflr r0 -/* 8032E1B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8032E1BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8032E1C0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8032E1C4 41 82 00 1C */ beq lbl_8032E1E0 -/* 8032E1C8 3C A0 80 3D */ lis r5, __vt__13J3DSkinDeform@ha /* 0x803CEE70@ha */ -/* 8032E1CC 38 05 EE 70 */ addi r0, r5, __vt__13J3DSkinDeform@l /* 0x803CEE70@l */ -/* 8032E1D0 90 1F 00 00 */ stw r0, 0(r31) -/* 8032E1D4 7C 80 07 35 */ extsh. r0, r4 -/* 8032E1D8 40 81 00 08 */ ble lbl_8032E1E0 -/* 8032E1DC 4B FA 0B 61 */ bl __dl__FPv -lbl_8032E1E0: -/* 8032E1E0 7F E3 FB 78 */ mr r3, r31 -/* 8032E1E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8032E1E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8032E1EC 7C 08 03 A6 */ mtlr r0 -/* 8032E1F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8032E1F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer.s deleted file mode 100644 index 3da4c45000..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8032D87C: -/* 8032D87C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8032D880 7C 08 02 A6 */ mflr r0 -/* 8032D884 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032D888 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032D88C 48 03 49 45 */ bl _savegpr_26 -/* 8032D890 80 A4 00 00 */ lwz r5, 0(r4) -/* 8032D894 A0 05 00 1E */ lhz r0, 0x1e(r5) -/* 8032D898 28 00 00 00 */ cmplwi r0, 0 -/* 8032D89C 41 82 00 40 */ beq lbl_8032D8DC -/* 8032D8A0 A3 C5 00 1C */ lhz r30, 0x1c(r5) -/* 8032D8A4 83 84 00 0C */ lwz r28, 0xc(r4) -/* 8032D8A8 83 A5 00 2C */ lwz r29, 0x2c(r5) -/* 8032D8AC 83 63 00 0C */ lwz r27, 0xc(r3) -/* 8032D8B0 3B 40 00 00 */ li r26, 0 -/* 8032D8B4 3B E0 00 00 */ li r31, 0 -/* 8032D8B8 48 00 00 1C */ b lbl_8032D8D4 -lbl_8032D8BC: -/* 8032D8BC 7C 7C FA 14 */ add r3, r28, r31 -/* 8032D8C0 7C 9D FA 14 */ add r4, r29, r31 -/* 8032D8C4 7C BB FA 14 */ add r5, r27, r31 -/* 8032D8C8 48 01 8C 1D */ bl PSMTXConcat -/* 8032D8CC 3B 5A 00 01 */ addi r26, r26, 1 -/* 8032D8D0 3B FF 00 30 */ addi r31, r31, 0x30 -lbl_8032D8D4: -/* 8032D8D4 7C 1A F0 00 */ cmpw r26, r30 -/* 8032D8D8 41 80 FF E4 */ blt lbl_8032D8BC -lbl_8032D8DC: -/* 8032D8DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032D8E0 48 03 49 3D */ bl _restgpr_26 -/* 8032D8E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032D8E8 7C 08 03 A6 */ mtlr r0 -/* 8032D8EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8032D8F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer.s deleted file mode 100644 index 9020766340..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer.s +++ /dev/null @@ -1,100 +0,0 @@ -lbl_8032D5C4: -/* 8032D5C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8032D5C8 7C 08 02 A6 */ mflr r0 -/* 8032D5CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032D5D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032D5D4 48 03 4C 01 */ bl _savegpr_27 -/* 8032D5D8 7C 7C 1B 78 */ mr r28, r3 -/* 8032D5DC 7C 9D 23 78 */ mr r29, r4 -/* 8032D5E0 83 E4 00 00 */ lwz r31, 0(r4) -/* 8032D5E4 A3 7F 00 34 */ lhz r27, 0x34(r31) -/* 8032D5E8 3B C0 00 00 */ li r30, 0 -/* 8032D5EC 48 00 01 28 */ b lbl_8032D714 -lbl_8032D5F0: -/* 8032D5F0 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8032D5F4 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 8032D5F8 7C 63 00 AE */ lbzx r3, r3, r0 -/* 8032D5FC 28 03 00 00 */ cmplwi r3, 0 -/* 8032D600 40 82 00 8C */ bne lbl_8032D68C -/* 8032D604 80 BD 00 04 */ lwz r5, 4(r29) -/* 8032D608 80 9F 00 3C */ lwz r4, 0x3c(r31) -/* 8032D60C 54 03 08 3C */ slwi r3, r0, 1 -/* 8032D610 7C C4 1A 2E */ lhzx r6, r4, r3 -/* 8032D614 7C 65 30 AE */ lbzx r3, r5, r6 -/* 8032D618 28 03 00 01 */ cmplwi r3, 1 -/* 8032D61C 40 82 00 50 */ bne lbl_8032D66C -/* 8032D620 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 8032D624 1C 66 00 30 */ mulli r3, r6, 0x30 -/* 8032D628 7C 84 1A 14 */ add r4, r4, r3 -/* 8032D62C 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8032D630 1C 00 00 24 */ mulli r0, r0, 0x24 -/* 8032D634 7C 63 02 14 */ add r3, r3, r0 -/* 8032D638 E0 A4 00 00 */ psq_l f5, 0(r4), 0, 0 /* qr0 */ -/* 8032D63C C0 84 00 08 */ lfs f4, 8(r4) -/* 8032D640 E0 64 00 10 */ psq_l f3, 16(r4), 0, 0 /* qr0 */ -/* 8032D644 C0 44 00 18 */ lfs f2, 0x18(r4) -/* 8032D648 E0 24 00 20 */ psq_l f1, 32(r4), 0, 0 /* qr0 */ -/* 8032D64C C0 04 00 28 */ lfs f0, 0x28(r4) -/* 8032D650 F0 A3 00 00 */ psq_st f5, 0(r3), 0, 0 /* qr0 */ -/* 8032D654 D0 83 00 08 */ stfs f4, 8(r3) -/* 8032D658 F0 63 00 0C */ psq_st f3, 12(r3), 0, 0 /* qr0 */ -/* 8032D65C D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8032D660 F0 23 00 18 */ psq_st f1, 24(r3), 0, 0 /* qr0 */ -/* 8032D664 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 8032D668 48 00 00 A8 */ b lbl_8032D710 -lbl_8032D66C: -/* 8032D66C 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 8032D670 1C 66 00 30 */ mulli r3, r6, 0x30 -/* 8032D674 7C 64 1A 14 */ add r3, r4, r3 -/* 8032D678 80 9C 00 10 */ lwz r4, 0x10(r28) -/* 8032D67C 1C 00 00 24 */ mulli r0, r0, 0x24 -/* 8032D680 7C 84 02 14 */ add r4, r4, r0 -/* 8032D684 4B FE 42 19 */ bl J3DPSCalcInverseTranspose__FPA4_fPA3_f -/* 8032D688 48 00 00 88 */ b lbl_8032D710 -lbl_8032D68C: -/* 8032D68C 80 BD 00 08 */ lwz r5, 8(r29) -/* 8032D690 80 9F 00 3C */ lwz r4, 0x3c(r31) -/* 8032D694 54 03 08 3C */ slwi r3, r0, 1 -/* 8032D698 7C C4 1A 2E */ lhzx r6, r4, r3 -/* 8032D69C 7C 65 30 AE */ lbzx r3, r5, r6 -/* 8032D6A0 28 03 00 01 */ cmplwi r3, 1 -/* 8032D6A4 40 82 00 50 */ bne lbl_8032D6F4 -/* 8032D6A8 80 9D 00 10 */ lwz r4, 0x10(r29) -/* 8032D6AC 1C 66 00 30 */ mulli r3, r6, 0x30 -/* 8032D6B0 7C 84 1A 14 */ add r4, r4, r3 -/* 8032D6B4 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8032D6B8 1C 00 00 24 */ mulli r0, r0, 0x24 -/* 8032D6BC 7C 63 02 14 */ add r3, r3, r0 -/* 8032D6C0 E0 A4 00 00 */ psq_l f5, 0(r4), 0, 0 /* qr0 */ -/* 8032D6C4 C0 84 00 08 */ lfs f4, 8(r4) -/* 8032D6C8 E0 64 00 10 */ psq_l f3, 16(r4), 0, 0 /* qr0 */ -/* 8032D6CC C0 44 00 18 */ lfs f2, 0x18(r4) -/* 8032D6D0 E0 24 00 20 */ psq_l f1, 32(r4), 0, 0 /* qr0 */ -/* 8032D6D4 C0 04 00 28 */ lfs f0, 0x28(r4) -/* 8032D6D8 F0 A3 00 00 */ psq_st f5, 0(r3), 0, 0 /* qr0 */ -/* 8032D6DC D0 83 00 08 */ stfs f4, 8(r3) -/* 8032D6E0 F0 63 00 0C */ psq_st f3, 12(r3), 0, 0 /* qr0 */ -/* 8032D6E4 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8032D6E8 F0 23 00 18 */ psq_st f1, 24(r3), 0, 0 /* qr0 */ -/* 8032D6EC D0 03 00 20 */ stfs f0, 0x20(r3) -/* 8032D6F0 48 00 00 20 */ b lbl_8032D710 -lbl_8032D6F4: -/* 8032D6F4 80 9D 00 10 */ lwz r4, 0x10(r29) -/* 8032D6F8 1C 66 00 30 */ mulli r3, r6, 0x30 -/* 8032D6FC 7C 64 1A 14 */ add r3, r4, r3 -/* 8032D700 80 9C 00 10 */ lwz r4, 0x10(r28) -/* 8032D704 1C 00 00 24 */ mulli r0, r0, 0x24 -/* 8032D708 7C 84 02 14 */ add r4, r4, r0 -/* 8032D70C 4B FE 41 91 */ bl J3DPSCalcInverseTranspose__FPA4_fPA3_f -lbl_8032D710: -/* 8032D710 3B DE 00 01 */ addi r30, r30, 1 -lbl_8032D714: -/* 8032D714 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 8032D718 7C 00 D8 40 */ cmplw r0, r27 -/* 8032D71C 41 80 FE D4 */ blt lbl_8032D5F0 -/* 8032D720 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032D724 48 03 4A FD */ bl _restgpr_27 -/* 8032D728 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032D72C 7C 08 03 A6 */ mtlr r0 -/* 8032D730 38 21 00 20 */ addi r1, r1, 0x20 -/* 8032D734 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv.s deleted file mode 100644 index ad65cc2abf..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8032C8E4: -/* 8032C8E4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8032C8E8 7C 08 02 A6 */ mflr r0 -/* 8032C8EC 90 01 00 34 */ stw r0, 0x34(r1) -/* 8032C8F0 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032C8F4 48 03 58 D5 */ bl _savegpr_24 -/* 8032C8F8 7C 78 1B 78 */ mr r24, r3 -/* 8032C8FC 7C 99 23 78 */ mr r25, r4 -/* 8032C900 7C BA 2B 78 */ mr r26, r5 -/* 8032C904 7C DB 33 78 */ mr r27, r6 -/* 8032C908 A3 A3 00 12 */ lhz r29, 0x12(r3) -/* 8032C90C 3B 80 00 00 */ li r28, 0 -/* 8032C910 3B E0 00 00 */ li r31, 0 -/* 8032C914 3B C0 00 00 */ li r30, 0 -/* 8032C918 48 00 00 34 */ b lbl_8032C94C -lbl_8032C91C: -/* 8032C91C 80 78 00 04 */ lwz r3, 4(r24) -/* 8032C920 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 8032C924 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8032C928 7F 23 CB 78 */ mr r3, r25 -/* 8032C92C 80 98 00 0C */ lwz r4, 0xc(r24) -/* 8032C930 7C 24 FC 2E */ lfsx f1, r4, r31 -/* 8032C934 7C 9A 02 14 */ add r4, r26, r0 -/* 8032C938 7C BB 02 14 */ add r5, r27, r0 -/* 8032C93C 4B FF FE 81 */ bl J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec -/* 8032C940 3B 9C 00 01 */ addi r28, r28, 1 -/* 8032C944 3B FF 00 04 */ addi r31, r31, 4 -/* 8032C948 3B DE 00 02 */ addi r30, r30, 2 -lbl_8032C94C: -/* 8032C94C 7C 1C E8 00 */ cmpw r28, r29 -/* 8032C950 41 80 FF CC */ blt lbl_8032C91C -/* 8032C954 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032C958 48 03 58 BD */ bl _restgpr_24 -/* 8032C95C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8032C960 7C 08 03 A6 */ mtlr r0 -/* 8032C964 38 21 00 30 */ addi r1, r1, 0x30 -/* 8032C968 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv.s deleted file mode 100644 index 9438854c2f..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8032C85C: -/* 8032C85C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8032C860 7C 08 02 A6 */ mflr r0 -/* 8032C864 90 01 00 34 */ stw r0, 0x34(r1) -/* 8032C868 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032C86C 48 03 59 5D */ bl _savegpr_24 -/* 8032C870 7C 78 1B 78 */ mr r24, r3 -/* 8032C874 7C 99 23 78 */ mr r25, r4 -/* 8032C878 7C BA 2B 78 */ mr r26, r5 -/* 8032C87C 7C DB 33 78 */ mr r27, r6 -/* 8032C880 A3 A3 00 10 */ lhz r29, 0x10(r3) -/* 8032C884 3B 80 00 00 */ li r28, 0 -/* 8032C888 3B E0 00 00 */ li r31, 0 -/* 8032C88C 3B C0 00 00 */ li r30, 0 -/* 8032C890 48 00 00 34 */ b lbl_8032C8C4 -lbl_8032C894: -/* 8032C894 80 78 00 00 */ lwz r3, 0(r24) -/* 8032C898 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 8032C89C 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8032C8A0 7F 23 CB 78 */ mr r3, r25 -/* 8032C8A4 80 98 00 08 */ lwz r4, 8(r24) -/* 8032C8A8 7C 24 FC 2E */ lfsx f1, r4, r31 -/* 8032C8AC 7C 9A 02 14 */ add r4, r26, r0 -/* 8032C8B0 7C BB 02 14 */ add r5, r27, r0 -/* 8032C8B4 4B FF FE 51 */ bl J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec -/* 8032C8B8 3B 9C 00 01 */ addi r28, r28, 1 -/* 8032C8BC 3B FF 00 04 */ addi r31, r31, 4 -/* 8032C8C0 3B DE 00 02 */ addi r30, r30, 2 -lbl_8032C8C4: -/* 8032C8C4 7C 1C E8 00 */ cmpw r28, r29 -/* 8032C8C8 41 80 FF CC */ blt lbl_8032C894 -/* 8032C8CC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032C8D0 48 03 59 45 */ bl _restgpr_24 -/* 8032C8D4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8032C8D8 7C 08 03 A6 */ mtlr r0 -/* 8032C8DC 38 21 00 30 */ addi r1, r1, 0x30 -/* 8032C8E0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calc__15J3DVtxColorCalcFP8J3DModel.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calc__15J3DVtxColorCalcFP8J3DModel.s deleted file mode 100644 index 8a9cc77828..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calc__15J3DVtxColorCalcFP8J3DModel.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8032E180: -/* 8032E180 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8032E184 7C 08 02 A6 */ mflr r0 -/* 8032E188 90 01 00 14 */ stw r0, 0x14(r1) -/* 8032E18C 81 83 00 00 */ lwz r12, 0(r3) -/* 8032E190 81 8C 00 08 */ lwz r12, 8(r12) -/* 8032E194 7D 89 03 A6 */ mtctr r12 -/* 8032E198 38 84 00 88 */ addi r4, r4, 0x88 -/* 8032E19C 4E 80 04 21 */ bctrl -/* 8032E1A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8032E1A4 7C 08 03 A6 */ mtlr r0 -/* 8032E1A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8032E1AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s deleted file mode 100644 index e1f44e5573..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s +++ /dev/null @@ -1,86 +0,0 @@ -lbl_8032DA1C: -/* 8032DA1C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8032DA20 7C 08 02 A6 */ mflr r0 -/* 8032DA24 90 01 00 34 */ stw r0, 0x34(r1) -/* 8032DA28 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032DA2C 48 03 47 A1 */ bl _savegpr_25 -/* 8032DA30 7C 9C 23 78 */ mr r28, r4 -/* 8032DA34 7C BD 2B 78 */ mr r29, r5 -/* 8032DA38 80 84 00 24 */ lwz r4, 0x24(r4) -/* 8032DA3C 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 8032DA40 90 1C 00 24 */ stw r0, 0x24(r28) -/* 8032DA44 90 9C 00 28 */ stw r4, 0x28(r28) -/* 8032DA48 80 A5 00 00 */ lwz r5, 0(r5) -/* 8032DA4C 80 9C 00 00 */ lwz r4, 0(r28) -/* 8032DA50 80 04 00 04 */ lwz r0, 4(r4) -/* 8032DA54 83 FC 00 30 */ lwz r31, 0x30(r28) -/* 8032DA58 83 DC 00 24 */ lwz r30, 0x24(r28) -/* 8032DA5C 38 80 00 00 */ li r4, 0 -/* 8032DA60 C0 02 CA 6C */ lfs f0, lit_1578(r2) -/* 8032DA64 7C 09 03 A6 */ mtctr r0 -/* 8032DA68 2C 00 00 00 */ cmpwi r0, 0 -/* 8032DA6C 40 81 00 1C */ ble lbl_8032DA88 -lbl_8032DA70: -/* 8032DA70 7C DE 22 14 */ add r6, r30, r4 -/* 8032DA74 D0 06 00 00 */ stfs f0, 0(r6) -/* 8032DA78 D0 06 00 04 */ stfs f0, 4(r6) -/* 8032DA7C D0 06 00 08 */ stfs f0, 8(r6) -/* 8032DA80 38 84 00 0C */ addi r4, r4, 0xc -/* 8032DA84 42 00 FF EC */ bdnz lbl_8032DA70 -lbl_8032DA88: -/* 8032DA88 A0 05 00 1E */ lhz r0, 0x1e(r5) -/* 8032DA8C 28 00 00 00 */ cmplwi r0, 0 -/* 8032DA90 41 82 00 4C */ beq lbl_8032DADC -/* 8032DA94 A3 45 00 1C */ lhz r26, 0x1c(r5) -/* 8032DA98 3B 20 00 00 */ li r25, 0 -/* 8032DA9C 83 A3 00 24 */ lwz r29, 0x24(r3) -/* 8032DAA0 83 63 00 0C */ lwz r27, 0xc(r3) -/* 8032DAA4 48 00 00 28 */ b lbl_8032DACC -lbl_8032DAA8: -/* 8032DAA8 57 24 04 3E */ clrlwi r4, r25, 0x10 -/* 8032DAAC 1C 04 00 14 */ mulli r0, r4, 0x14 -/* 8032DAB0 7C 7D 02 14 */ add r3, r29, r0 -/* 8032DAB4 1C 04 00 30 */ mulli r0, r4, 0x30 -/* 8032DAB8 7C 9B 02 14 */ add r4, r27, r0 -/* 8032DABC 7F E5 FB 78 */ mr r5, r31 -/* 8032DAC0 7F C6 F3 78 */ mr r6, r30 -/* 8032DAC4 4B FF EE 21 */ bl calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv -/* 8032DAC8 3B 39 00 01 */ addi r25, r25, 1 -lbl_8032DACC: -/* 8032DACC 57 20 04 3E */ clrlwi r0, r25, 0x10 -/* 8032DAD0 7C 00 D0 40 */ cmplw r0, r26 -/* 8032DAD4 41 80 FF D4 */ blt lbl_8032DAA8 -/* 8032DAD8 48 00 00 48 */ b lbl_8032DB20 -lbl_8032DADC: -/* 8032DADC A3 65 00 1C */ lhz r27, 0x1c(r5) -/* 8032DAE0 3B 20 00 00 */ li r25, 0 -/* 8032DAE4 83 43 00 24 */ lwz r26, 0x24(r3) -/* 8032DAE8 48 00 00 2C */ b lbl_8032DB14 -lbl_8032DAEC: -/* 8032DAEC 57 25 04 3E */ clrlwi r5, r25, 0x10 -/* 8032DAF0 1C 05 00 14 */ mulli r0, r5, 0x14 -/* 8032DAF4 7C 7A 02 14 */ add r3, r26, r0 -/* 8032DAF8 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 8032DAFC 1C 05 00 30 */ mulli r0, r5, 0x30 -/* 8032DB00 7C 84 02 14 */ add r4, r4, r0 -/* 8032DB04 7F E5 FB 78 */ mr r5, r31 -/* 8032DB08 7F C6 F3 78 */ mr r6, r30 -/* 8032DB0C 4B FF ED D9 */ bl calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv -/* 8032DB10 3B 39 00 01 */ addi r25, r25, 1 -lbl_8032DB14: -/* 8032DB14 57 20 04 3E */ clrlwi r0, r25, 0x10 -/* 8032DB18 7C 00 D8 40 */ cmplw r0, r27 -/* 8032DB1C 41 80 FF D0 */ blt lbl_8032DAEC -lbl_8032DB20: -/* 8032DB20 80 7C 00 00 */ lwz r3, 0(r28) -/* 8032DB24 80 03 00 04 */ lwz r0, 4(r3) -/* 8032DB28 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032DB2C 1C 80 00 0C */ mulli r4, r0, 0xc -/* 8032DB30 48 00 DA AD */ bl DCStoreRange -/* 8032DB34 93 DC 00 30 */ stw r30, 0x30(r28) -/* 8032DB38 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032DB3C 48 03 46 DD */ bl _restgpr_25 -/* 8032DB40 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8032DB44 7C 08 03 A6 */ mtlr r0 -/* 8032DB48 38 21 00 30 */ addi r1, r1, 0x30 -/* 8032DB4C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s deleted file mode 100644 index 3bc822299b..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_8032D8F4: -/* 8032D8F4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8032D8F8 7C 08 02 A6 */ mflr r0 -/* 8032D8FC 90 01 00 34 */ stw r0, 0x34(r1) -/* 8032D900 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032D904 48 03 48 C9 */ bl _savegpr_25 -/* 8032D908 7C 9C 23 78 */ mr r28, r4 -/* 8032D90C 7C BD 2B 78 */ mr r29, r5 -/* 8032D910 80 84 00 1C */ lwz r4, 0x1c(r4) -/* 8032D914 80 1C 00 20 */ lwz r0, 0x20(r28) -/* 8032D918 90 1C 00 1C */ stw r0, 0x1c(r28) -/* 8032D91C 90 9C 00 20 */ stw r4, 0x20(r28) -/* 8032D920 80 A5 00 00 */ lwz r5, 0(r5) -/* 8032D924 80 9C 00 00 */ lwz r4, 0(r28) -/* 8032D928 80 04 00 00 */ lwz r0, 0(r4) -/* 8032D92C 83 FC 00 2C */ lwz r31, 0x2c(r28) -/* 8032D930 80 DC 00 1C */ lwz r6, 0x1c(r28) -/* 8032D934 7C DE 33 78 */ mr r30, r6 -/* 8032D938 1C 80 00 0C */ mulli r4, r0, 0xc -/* 8032D93C 38 04 00 1F */ addi r0, r4, 0x1f -/* 8032D940 54 00 D9 7E */ srwi r0, r0, 5 -/* 8032D944 7C 09 03 A6 */ mtctr r0 -lbl_8032D948: -/* 8032D948 7C 00 37 EC */ dcbz 0, r6 -/* 8032D94C 38 C6 00 20 */ addi r6, r6, 0x20 -/* 8032D950 42 00 FF F8 */ bdnz lbl_8032D948 -/* 8032D954 A0 05 00 1E */ lhz r0, 0x1e(r5) -/* 8032D958 28 00 00 00 */ cmplwi r0, 0 -/* 8032D95C 41 82 00 4C */ beq lbl_8032D9A8 -/* 8032D960 A3 45 00 1C */ lhz r26, 0x1c(r5) -/* 8032D964 3B 20 00 00 */ li r25, 0 -/* 8032D968 83 A3 00 24 */ lwz r29, 0x24(r3) -/* 8032D96C 83 63 00 0C */ lwz r27, 0xc(r3) -/* 8032D970 48 00 00 28 */ b lbl_8032D998 -lbl_8032D974: -/* 8032D974 57 24 04 3E */ clrlwi r4, r25, 0x10 -/* 8032D978 1C 04 00 14 */ mulli r0, r4, 0x14 -/* 8032D97C 7C 7D 02 14 */ add r3, r29, r0 -/* 8032D980 1C 04 00 30 */ mulli r0, r4, 0x30 -/* 8032D984 7C 9B 02 14 */ add r4, r27, r0 -/* 8032D988 7F E5 FB 78 */ mr r5, r31 -/* 8032D98C 7F C6 F3 78 */ mr r6, r30 -/* 8032D990 4B FF EE CD */ bl calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv -/* 8032D994 3B 39 00 01 */ addi r25, r25, 1 -lbl_8032D998: -/* 8032D998 57 20 04 3E */ clrlwi r0, r25, 0x10 -/* 8032D99C 7C 00 D0 40 */ cmplw r0, r26 -/* 8032D9A0 41 80 FF D4 */ blt lbl_8032D974 -/* 8032D9A4 48 00 00 48 */ b lbl_8032D9EC -lbl_8032D9A8: -/* 8032D9A8 A3 65 00 1C */ lhz r27, 0x1c(r5) -/* 8032D9AC 3B 20 00 00 */ li r25, 0 -/* 8032D9B0 83 43 00 24 */ lwz r26, 0x24(r3) -/* 8032D9B4 48 00 00 2C */ b lbl_8032D9E0 -lbl_8032D9B8: -/* 8032D9B8 57 25 04 3E */ clrlwi r5, r25, 0x10 -/* 8032D9BC 1C 05 00 14 */ mulli r0, r5, 0x14 -/* 8032D9C0 7C 7A 02 14 */ add r3, r26, r0 -/* 8032D9C4 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 8032D9C8 1C 05 00 30 */ mulli r0, r5, 0x30 -/* 8032D9CC 7C 84 02 14 */ add r4, r4, r0 -/* 8032D9D0 7F E5 FB 78 */ mr r5, r31 -/* 8032D9D4 7F C6 F3 78 */ mr r6, r30 -/* 8032D9D8 4B FF EE 85 */ bl calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv -/* 8032D9DC 3B 39 00 01 */ addi r25, r25, 1 -lbl_8032D9E0: -/* 8032D9E0 57 20 04 3E */ clrlwi r0, r25, 0x10 -/* 8032D9E4 7C 00 D8 40 */ cmplw r0, r27 -/* 8032D9E8 41 80 FF D0 */ blt lbl_8032D9B8 -lbl_8032D9EC: -/* 8032D9EC 80 7C 00 00 */ lwz r3, 0(r28) -/* 8032D9F0 80 03 00 00 */ lwz r0, 0(r3) -/* 8032D9F4 80 7C 00 1C */ lwz r3, 0x1c(r28) -/* 8032D9F8 1C 80 00 0C */ mulli r4, r0, 0xc -/* 8032D9FC 48 00 DB E1 */ bl DCStoreRange -/* 8032DA00 93 DC 00 2C */ stw r30, 0x2c(r28) -/* 8032DA04 39 61 00 30 */ addi r11, r1, 0x30 -/* 8032DA08 48 03 48 11 */ bl _restgpr_25 -/* 8032DA0C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8032DA10 7C 08 03 A6 */ mtlr r0 -/* 8032DA14 38 21 00 30 */ addi r1, r1, 0x30 -/* 8032DA18 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer.s deleted file mode 100644 index d66f52b515..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_8032E064: -/* 8032E064 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8032E068 7C 08 02 A6 */ mflr r0 -/* 8032E06C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032E070 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032E074 48 03 41 69 */ bl _savegpr_29 -/* 8032E078 7C 7E 1B 78 */ mr r30, r3 -/* 8032E07C 7C 9F 23 78 */ mr r31, r4 -/* 8032E080 7C BD 2B 78 */ mr r29, r5 -/* 8032E084 80 85 00 00 */ lwz r4, 0(r5) -/* 8032E088 80 04 00 08 */ lwz r0, 8(r4) -/* 8032E08C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 8032E090 41 82 00 0C */ beq lbl_8032E09C -/* 8032E094 7F A4 EB 78 */ mr r4, r29 -/* 8032E098 4B FF F7 E5 */ bl calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer -lbl_8032E09C: -/* 8032E09C 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8032E0A0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8032E0A4 41 82 00 5C */ beq lbl_8032E100 -/* 8032E0A8 80 7D 00 00 */ lwz r3, 0(r29) -/* 8032E0AC 80 03 00 08 */ lwz r0, 8(r3) -/* 8032E0B0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 8032E0B4 41 82 00 18 */ beq lbl_8032E0CC -/* 8032E0B8 7F C3 F3 78 */ mr r3, r30 -/* 8032E0BC 7F E4 FB 78 */ mr r4, r31 -/* 8032E0C0 7F A5 EB 78 */ mr r5, r29 -/* 8032E0C4 4B FF F8 31 */ bl deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer -/* 8032E0C8 48 00 00 38 */ b lbl_8032E100 -lbl_8032E0CC: -/* 8032E0CC 80 7F 00 00 */ lwz r3, 0(r31) -/* 8032E0D0 80 03 00 50 */ lwz r0, 0x50(r3) -/* 8032E0D4 2C 00 00 04 */ cmpwi r0, 4 -/* 8032E0D8 40 82 00 18 */ bne lbl_8032E0F0 -/* 8032E0DC 7F C3 F3 78 */ mr r3, r30 -/* 8032E0E0 7F E4 FB 78 */ mr r4, r31 -/* 8032E0E4 7F A5 EB 78 */ mr r5, r29 -/* 8032E0E8 4B FF FA 69 */ bl deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer -/* 8032E0EC 48 00 00 14 */ b lbl_8032E100 -lbl_8032E0F0: -/* 8032E0F0 7F C3 F3 78 */ mr r3, r30 -/* 8032E0F4 7F E4 FB 78 */ mr r4, r31 -/* 8032E0F8 7F A5 EB 78 */ mr r5, r29 -/* 8032E0FC 4B FF FB 79 */ bl deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer -lbl_8032E100: -/* 8032E100 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8032E104 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8032E108 41 82 00 60 */ beq lbl_8032E168 -/* 8032E10C 80 7D 00 00 */ lwz r3, 0(r29) -/* 8032E110 80 03 00 08 */ lwz r0, 8(r3) -/* 8032E114 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 8032E118 41 82 00 18 */ beq lbl_8032E130 -/* 8032E11C 7F C3 F3 78 */ mr r3, r30 -/* 8032E120 7F E4 FB 78 */ mr r4, r31 -/* 8032E124 7F A5 EB 78 */ mr r5, r29 -/* 8032E128 4B FF F8 F5 */ bl deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer -/* 8032E12C 48 00 00 3C */ b lbl_8032E168 -lbl_8032E130: -/* 8032E130 7F C3 F3 78 */ mr r3, r30 -/* 8032E134 7F A4 EB 78 */ mr r4, r29 -/* 8032E138 4B FF F4 8D */ bl calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer -/* 8032E13C 80 7F 00 00 */ lwz r3, 0(r31) -/* 8032E140 80 03 00 58 */ lwz r0, 0x58(r3) -/* 8032E144 2C 00 00 04 */ cmpwi r0, 4 -/* 8032E148 40 82 00 14 */ bne lbl_8032E15C -/* 8032E14C 7F C3 F3 78 */ mr r3, r30 -/* 8032E150 7F E4 FB 78 */ mr r4, r31 -/* 8032E154 4B FF FC 65 */ bl deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer -/* 8032E158 48 00 00 10 */ b lbl_8032E168 -lbl_8032E15C: -/* 8032E15C 7F C3 F3 78 */ mr r3, r30 -/* 8032E160 7F E4 FB 78 */ mr r4, r31 -/* 8032E164 4B FF FD 59 */ bl deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer -lbl_8032E168: -/* 8032E168 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032E16C 48 03 40 BD */ bl _restgpr_29 -/* 8032E170 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032E174 7C 08 03 A6 */ mtlr r0 -/* 8032E178 38 21 00 20 */ addi r1, r1, 0x20 -/* 8032E17C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP8J3DModel.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP8J3DModel.s deleted file mode 100644 index 24773a183e..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP8J3DModel.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8032DFDC: -/* 8032DFDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8032DFE0 7C 08 02 A6 */ mflr r0 -/* 8032DFE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8032DFE8 7C 85 23 78 */ mr r5, r4 -/* 8032DFEC 80 04 00 08 */ lwz r0, 8(r4) -/* 8032DFF0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 8032DFF4 41 82 00 14 */ beq lbl_8032E008 -/* 8032DFF8 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8032DFFC 60 00 00 02 */ ori r0, r0, 2 -/* 8032E000 90 03 00 14 */ stw r0, 0x14(r3) -/* 8032E004 48 00 00 10 */ b lbl_8032E014 -lbl_8032E008: -/* 8032E008 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8032E00C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8032E010 90 03 00 14 */ stw r0, 0x14(r3) -lbl_8032E014: -/* 8032E014 80 05 00 08 */ lwz r0, 8(r5) -/* 8032E018 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8032E01C 41 82 00 14 */ beq lbl_8032E030 -/* 8032E020 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8032E024 60 00 00 01 */ ori r0, r0, 1 -/* 8032E028 90 03 00 14 */ stw r0, 0x14(r3) -/* 8032E02C 48 00 00 10 */ b lbl_8032E03C -lbl_8032E030: -/* 8032E030 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8032E034 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 8032E038 90 03 00 14 */ stw r0, 0x14(r3) -lbl_8032E03C: -/* 8032E03C 38 85 00 88 */ addi r4, r5, 0x88 -/* 8032E040 80 A5 00 84 */ lwz r5, 0x84(r5) -/* 8032E044 81 83 00 00 */ lwz r12, 0(r3) -/* 8032E048 81 8C 00 08 */ lwz r12, 8(r12) -/* 8032E04C 7D 89 03 A6 */ mtctr r12 -/* 8032E050 4E 80 04 21 */ bctrl -/* 8032E054 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8032E058 7C 08 03 A6 */ mtlr r0 -/* 8032E05C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8032E060 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initSkinInfo__13J3DSkinDeformFP12J3DModelData.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initSkinInfo__13J3DSkinDeformFP12J3DModelData.s deleted file mode 100644 index a32aa58a62..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initSkinInfo__13J3DSkinDeformFP12J3DModelData.s +++ /dev/null @@ -1,385 +0,0 @@ -lbl_8032C9B0: -/* 8032C9B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8032C9B4 7C 08 02 A6 */ mflr r0 -/* 8032C9B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032C9BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032C9C0 48 03 58 19 */ bl _savegpr_28 -/* 8032C9C4 7C 7C 1B 78 */ mr r28, r3 -/* 8032C9C8 7C 9D 23 78 */ mr r29, r4 -/* 8032C9CC A0 04 00 2E */ lhz r0, 0x2e(r4) -/* 8032C9D0 80 E4 00 34 */ lwz r7, 0x34(r4) -/* 8032C9D4 81 04 00 38 */ lwz r8, 0x38(r4) -/* 8032C9D8 39 20 00 00 */ li r9, 0 -/* 8032C9DC 39 40 00 00 */ li r10, 0 -/* 8032C9E0 38 60 00 00 */ li r3, 0 -/* 8032C9E4 3C 80 80 43 */ lis r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */ -/* 8032C9E8 38 C4 72 18 */ addi r6, r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */ -/* 8032C9EC 3C 80 80 44 */ lis r4, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@ha /* 0x80438218@ha */ -/* 8032C9F0 38 A4 82 18 */ addi r5, r4, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@l /* 0x80438218@l */ -/* 8032C9F4 7C 09 03 A6 */ mtctr r0 -/* 8032C9F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8032C9FC 40 81 00 38 */ ble lbl_8032CA34 -lbl_8032CA00: -/* 8032CA00 55 20 08 3C */ slwi r0, r9, 1 -/* 8032CA04 7C 07 02 14 */ add r0, r7, r0 -/* 8032CA08 7C 06 19 2E */ stwx r0, r6, r3 -/* 8032CA0C 55 20 10 3A */ slwi r0, r9, 2 -/* 8032CA10 7C 08 02 14 */ add r0, r8, r0 -/* 8032CA14 7C 05 19 2E */ stwx r0, r5, r3 -/* 8032CA18 80 9D 00 30 */ lwz r4, 0x30(r29) -/* 8032CA1C 55 40 04 3E */ clrlwi r0, r10, 0x10 -/* 8032CA20 7C 04 00 AE */ lbzx r0, r4, r0 -/* 8032CA24 7D 29 02 14 */ add r9, r9, r0 -/* 8032CA28 39 4A 00 01 */ addi r10, r10, 1 -/* 8032CA2C 38 63 00 04 */ addi r3, r3, 4 -/* 8032CA30 42 00 FF D0 */ bdnz lbl_8032CA00 -lbl_8032CA34: -/* 8032CA34 A0 1D 00 2C */ lhz r0, 0x2c(r29) -/* 8032CA38 28 00 00 00 */ cmplwi r0, 0 -/* 8032CA3C 41 82 00 30 */ beq lbl_8032CA6C -/* 8032CA40 54 1E 04 3E */ clrlwi r30, r0, 0x10 -/* 8032CA44 1C 7E 00 14 */ mulli r3, r30, 0x14 -/* 8032CA48 38 63 00 10 */ addi r3, r3, 0x10 -/* 8032CA4C 4B FA 22 79 */ bl __nwa__FUl -/* 8032CA50 3C 80 80 33 */ lis r4, __ct__12J3DSkinNListFv@ha /* 0x8032C6E4@ha */ -/* 8032CA54 38 84 C6 E4 */ addi r4, r4, __ct__12J3DSkinNListFv@l /* 0x8032C6E4@l */ -/* 8032CA58 38 A0 00 00 */ li r5, 0 -/* 8032CA5C 38 C0 00 14 */ li r6, 0x14 -/* 8032CA60 7F C7 F3 78 */ mr r7, r30 -/* 8032CA64 48 03 54 B1 */ bl __construct_new_array -/* 8032CA68 90 7C 00 24 */ stw r3, 0x24(r28) -lbl_8032CA6C: -/* 8032CA6C 38 60 00 00 */ li r3, 0 -/* 8032CA70 38 80 00 00 */ li r4, 0 -/* 8032CA74 48 00 00 AC */ b lbl_8032CB20 -lbl_8032CA78: -/* 8032CA78 80 BC 00 04 */ lwz r5, 4(r28) -/* 8032CA7C 7C C5 22 2E */ lhzx r6, r5, r4 -/* 8032CA80 28 06 FF FF */ cmplwi r6, 0xffff -/* 8032CA84 41 82 00 94 */ beq lbl_8032CB18 -/* 8032CA88 80 BD 00 48 */ lwz r5, 0x48(r29) -/* 8032CA8C 7C 05 30 AE */ lbzx r0, r5, r6 -/* 8032CA90 28 00 00 00 */ cmplwi r0, 0 -/* 8032CA94 40 82 00 2C */ bne lbl_8032CAC0 -/* 8032CA98 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 8032CA9C 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CAA0 7C 05 02 2E */ lhzx r0, r5, r0 -/* 8032CAA4 80 FC 00 24 */ lwz r7, 0x24(r28) -/* 8032CAA8 1C A0 00 14 */ mulli r5, r0, 0x14 -/* 8032CAAC 38 C5 00 10 */ addi r6, r5, 0x10 -/* 8032CAB0 7C A7 32 2E */ lhzx r5, r7, r6 -/* 8032CAB4 38 05 00 01 */ addi r0, r5, 1 -/* 8032CAB8 7C 07 33 2E */ sthx r0, r7, r6 -/* 8032CABC 48 00 00 5C */ b lbl_8032CB18 -lbl_8032CAC0: -/* 8032CAC0 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 8032CAC4 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CAC8 7C 05 02 2E */ lhzx r0, r5, r0 -/* 8032CACC 80 BD 00 30 */ lwz r5, 0x30(r29) -/* 8032CAD0 7C C5 00 AE */ lbzx r6, r5, r0 -/* 8032CAD4 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8032CAD8 3C A0 80 43 */ lis r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */ -/* 8032CADC 38 A5 72 18 */ addi r5, r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */ -/* 8032CAE0 7D 25 00 2E */ lwzx r9, r5, r0 -/* 8032CAE4 38 A0 00 00 */ li r5, 0 -/* 8032CAE8 7C C9 03 A6 */ mtctr r6 -/* 8032CAEC 2C 06 00 00 */ cmpwi r6, 0 -/* 8032CAF0 40 81 00 28 */ ble lbl_8032CB18 -lbl_8032CAF4: -/* 8032CAF4 81 1C 00 24 */ lwz r8, 0x24(r28) -/* 8032CAF8 7C 09 2A 2E */ lhzx r0, r9, r5 -/* 8032CAFC 1C C0 00 14 */ mulli r6, r0, 0x14 -/* 8032CB00 38 E6 00 10 */ addi r7, r6, 0x10 -/* 8032CB04 7C C8 3A 2E */ lhzx r6, r8, r7 -/* 8032CB08 38 06 00 01 */ addi r0, r6, 1 -/* 8032CB0C 7C 08 3B 2E */ sthx r0, r8, r7 -/* 8032CB10 38 A5 00 02 */ addi r5, r5, 2 -/* 8032CB14 42 00 FF E0 */ bdnz lbl_8032CAF4 -lbl_8032CB18: -/* 8032CB18 38 63 00 01 */ addi r3, r3, 1 -/* 8032CB1C 38 84 00 02 */ addi r4, r4, 2 -lbl_8032CB20: -/* 8032CB20 80 1D 00 88 */ lwz r0, 0x88(r29) -/* 8032CB24 7C 03 00 40 */ cmplw r3, r0 -/* 8032CB28 41 80 FF 50 */ blt lbl_8032CA78 -/* 8032CB2C 38 60 00 00 */ li r3, 0 -/* 8032CB30 38 80 00 00 */ li r4, 0 -/* 8032CB34 48 00 00 AC */ b lbl_8032CBE0 -lbl_8032CB38: -/* 8032CB38 80 BC 00 08 */ lwz r5, 8(r28) -/* 8032CB3C 7C C5 22 2E */ lhzx r6, r5, r4 -/* 8032CB40 28 06 FF FF */ cmplwi r6, 0xffff -/* 8032CB44 41 82 00 94 */ beq lbl_8032CBD8 -/* 8032CB48 80 BD 00 48 */ lwz r5, 0x48(r29) -/* 8032CB4C 7C 05 30 AE */ lbzx r0, r5, r6 -/* 8032CB50 28 00 00 00 */ cmplwi r0, 0 -/* 8032CB54 40 82 00 2C */ bne lbl_8032CB80 -/* 8032CB58 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 8032CB5C 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CB60 7C 05 02 2E */ lhzx r0, r5, r0 -/* 8032CB64 80 FC 00 24 */ lwz r7, 0x24(r28) -/* 8032CB68 1C A0 00 14 */ mulli r5, r0, 0x14 -/* 8032CB6C 38 C5 00 12 */ addi r6, r5, 0x12 -/* 8032CB70 7C A7 32 2E */ lhzx r5, r7, r6 -/* 8032CB74 38 05 00 01 */ addi r0, r5, 1 -/* 8032CB78 7C 07 33 2E */ sthx r0, r7, r6 -/* 8032CB7C 48 00 00 5C */ b lbl_8032CBD8 -lbl_8032CB80: -/* 8032CB80 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 8032CB84 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CB88 7C 05 02 2E */ lhzx r0, r5, r0 -/* 8032CB8C 80 BD 00 30 */ lwz r5, 0x30(r29) -/* 8032CB90 7C C5 00 AE */ lbzx r6, r5, r0 -/* 8032CB94 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8032CB98 3C A0 80 43 */ lis r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */ -/* 8032CB9C 38 A5 72 18 */ addi r5, r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */ -/* 8032CBA0 7D 25 00 2E */ lwzx r9, r5, r0 -/* 8032CBA4 38 A0 00 00 */ li r5, 0 -/* 8032CBA8 7C C9 03 A6 */ mtctr r6 -/* 8032CBAC 2C 06 00 00 */ cmpwi r6, 0 -/* 8032CBB0 40 81 00 28 */ ble lbl_8032CBD8 -lbl_8032CBB4: -/* 8032CBB4 81 1C 00 24 */ lwz r8, 0x24(r28) -/* 8032CBB8 7C 09 2A 2E */ lhzx r0, r9, r5 -/* 8032CBBC 1C C0 00 14 */ mulli r6, r0, 0x14 -/* 8032CBC0 38 E6 00 12 */ addi r7, r6, 0x12 -/* 8032CBC4 7C C8 3A 2E */ lhzx r6, r8, r7 -/* 8032CBC8 38 06 00 01 */ addi r0, r6, 1 -/* 8032CBCC 7C 08 3B 2E */ sthx r0, r8, r7 -/* 8032CBD0 38 A5 00 02 */ addi r5, r5, 2 -/* 8032CBD4 42 00 FF E0 */ bdnz lbl_8032CBB4 -lbl_8032CBD8: -/* 8032CBD8 38 63 00 01 */ addi r3, r3, 1 -/* 8032CBDC 38 84 00 02 */ addi r4, r4, 2 -lbl_8032CBE0: -/* 8032CBE0 80 1D 00 8C */ lwz r0, 0x8c(r29) -/* 8032CBE4 7C 03 00 40 */ cmplw r3, r0 -/* 8032CBE8 41 80 FF 50 */ blt lbl_8032CB38 -/* 8032CBEC 3B C0 00 00 */ li r30, 0 -/* 8032CBF0 48 00 00 BC */ b lbl_8032CCAC -lbl_8032CBF4: -/* 8032CBF4 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032CBF8 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 8032CBFC 1F E0 00 14 */ mulli r31, r0, 0x14 -/* 8032CC00 38 1F 00 10 */ addi r0, r31, 0x10 -/* 8032CC04 7C 03 02 2E */ lhzx r0, r3, r0 -/* 8032CC08 28 00 00 00 */ cmplwi r0, 0 -/* 8032CC0C 41 82 00 44 */ beq lbl_8032CC50 -/* 8032CC10 54 03 0B FC */ rlwinm r3, r0, 1, 0xf, 0x1e -/* 8032CC14 4B FA 20 B1 */ bl __nwa__FUl -/* 8032CC18 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 8032CC1C 7C 64 F9 2E */ stwx r3, r4, r31 -/* 8032CC20 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032CC24 38 1F 00 10 */ addi r0, r31, 0x10 -/* 8032CC28 7C 03 02 2E */ lhzx r0, r3, r0 -/* 8032CC2C 54 03 10 3A */ slwi r3, r0, 2 -/* 8032CC30 4B FA 20 95 */ bl __nwa__FUl -/* 8032CC34 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 8032CC38 38 1F 00 08 */ addi r0, r31, 8 -/* 8032CC3C 7C 64 01 2E */ stwx r3, r4, r0 -/* 8032CC40 38 80 00 00 */ li r4, 0 -/* 8032CC44 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032CC48 38 1F 00 10 */ addi r0, r31, 0x10 -/* 8032CC4C 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8032CC50: -/* 8032CC50 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032CC54 38 1F 00 12 */ addi r0, r31, 0x12 -/* 8032CC58 7C 03 02 2E */ lhzx r0, r3, r0 -/* 8032CC5C 28 00 00 00 */ cmplwi r0, 0 -/* 8032CC60 41 82 00 48 */ beq lbl_8032CCA8 -/* 8032CC64 54 03 0B FC */ rlwinm r3, r0, 1, 0xf, 0x1e -/* 8032CC68 4B FA 20 5D */ bl __nwa__FUl -/* 8032CC6C 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 8032CC70 38 1F 00 04 */ addi r0, r31, 4 -/* 8032CC74 7C 64 01 2E */ stwx r3, r4, r0 -/* 8032CC78 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032CC7C 38 1F 00 12 */ addi r0, r31, 0x12 -/* 8032CC80 7C 03 02 2E */ lhzx r0, r3, r0 -/* 8032CC84 54 03 10 3A */ slwi r3, r0, 2 -/* 8032CC88 4B FA 20 3D */ bl __nwa__FUl -/* 8032CC8C 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 8032CC90 38 1F 00 0C */ addi r0, r31, 0xc -/* 8032CC94 7C 64 01 2E */ stwx r3, r4, r0 -/* 8032CC98 38 80 00 00 */ li r4, 0 -/* 8032CC9C 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 8032CCA0 38 1F 00 12 */ addi r0, r31, 0x12 -/* 8032CCA4 7C 83 03 2E */ sthx r4, r3, r0 -lbl_8032CCA8: -/* 8032CCA8 3B DE 00 01 */ addi r30, r30, 1 -lbl_8032CCAC: -/* 8032CCAC 57 C3 04 3E */ clrlwi r3, r30, 0x10 -/* 8032CCB0 A0 1D 00 2C */ lhz r0, 0x2c(r29) -/* 8032CCB4 7C 03 00 40 */ cmplw r3, r0 -/* 8032CCB8 41 80 FF 3C */ blt lbl_8032CBF4 -/* 8032CCBC 38 60 00 00 */ li r3, 0 -/* 8032CCC0 38 80 00 00 */ li r4, 0 -/* 8032CCC4 48 00 01 20 */ b lbl_8032CDE4 -lbl_8032CCC8: -/* 8032CCC8 80 BC 00 04 */ lwz r5, 4(r28) -/* 8032CCCC 7C C5 22 2E */ lhzx r6, r5, r4 -/* 8032CCD0 28 06 FF FF */ cmplwi r6, 0xffff -/* 8032CCD4 41 82 01 08 */ beq lbl_8032CDDC -/* 8032CCD8 80 BD 00 48 */ lwz r5, 0x48(r29) -/* 8032CCDC 7C 05 30 AE */ lbzx r0, r5, r6 -/* 8032CCE0 28 00 00 00 */ cmplwi r0, 0 -/* 8032CCE4 40 82 00 54 */ bne lbl_8032CD38 -/* 8032CCE8 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 8032CCEC 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CCF0 7C 05 02 2E */ lhzx r0, r5, r0 -/* 8032CCF4 80 FC 00 24 */ lwz r7, 0x24(r28) -/* 8032CCF8 1D 00 00 14 */ mulli r8, r0, 0x14 -/* 8032CCFC 38 A8 00 10 */ addi r5, r8, 0x10 -/* 8032CD00 7C C7 2A 2E */ lhzx r6, r7, r5 -/* 8032CD04 38 06 00 01 */ addi r0, r6, 1 -/* 8032CD08 7C 07 2B 2E */ sthx r0, r7, r5 -/* 8032CD0C 80 BC 00 24 */ lwz r5, 0x24(r28) -/* 8032CD10 7C A5 40 2E */ lwzx r5, r5, r8 -/* 8032CD14 54 C0 0B FC */ rlwinm r0, r6, 1, 0xf, 0x1e -/* 8032CD18 7C 65 03 2E */ sthx r3, r5, r0 -/* 8032CD1C C0 02 CA 68 */ lfs f0, lit_1110(r2) -/* 8032CD20 80 BC 00 24 */ lwz r5, 0x24(r28) -/* 8032CD24 38 08 00 08 */ addi r0, r8, 8 -/* 8032CD28 7C A5 00 2E */ lwzx r5, r5, r0 -/* 8032CD2C 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d -/* 8032CD30 7C 05 05 2E */ stfsx f0, r5, r0 -/* 8032CD34 48 00 00 A8 */ b lbl_8032CDDC -lbl_8032CD38: -/* 8032CD38 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 8032CD3C 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CD40 7C 05 02 2E */ lhzx r0, r5, r0 -/* 8032CD44 80 BD 00 30 */ lwz r5, 0x30(r29) -/* 8032CD48 7C E5 00 AE */ lbzx r7, r5, r0 -/* 8032CD4C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8032CD50 3C A0 80 43 */ lis r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */ -/* 8032CD54 38 A5 72 18 */ addi r5, r5, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */ -/* 8032CD58 7D 45 00 2E */ lwzx r10, r5, r0 -/* 8032CD5C 3C A0 80 44 */ lis r5, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@ha /* 0x80438218@ha */ -/* 8032CD60 38 A5 82 18 */ addi r5, r5, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@l /* 0x80438218@l */ -/* 8032CD64 7D 65 00 2E */ lwzx r11, r5, r0 -/* 8032CD68 38 A0 00 00 */ li r5, 0 -/* 8032CD6C 38 C0 00 00 */ li r6, 0 -/* 8032CD70 7C E9 03 A6 */ mtctr r7 -/* 8032CD74 2C 07 00 00 */ cmpwi r7, 0 -/* 8032CD78 40 81 00 64 */ ble lbl_8032CDDC -lbl_8032CD7C: -/* 8032CD7C 81 1C 00 24 */ lwz r8, 0x24(r28) -/* 8032CD80 7C 0A 32 2E */ lhzx r0, r10, r6 -/* 8032CD84 1C E0 00 14 */ mulli r7, r0, 0x14 -/* 8032CD88 38 E7 00 10 */ addi r7, r7, 0x10 -/* 8032CD8C 7D 28 3A 2E */ lhzx r9, r8, r7 -/* 8032CD90 38 09 00 01 */ addi r0, r9, 1 -/* 8032CD94 7C 08 3B 2E */ sthx r0, r8, r7 -/* 8032CD98 80 FC 00 24 */ lwz r7, 0x24(r28) -/* 8032CD9C 7C 0A 32 2E */ lhzx r0, r10, r6 -/* 8032CDA0 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 8032CDA4 7C E7 00 2E */ lwzx r7, r7, r0 -/* 8032CDA8 55 20 0B FC */ rlwinm r0, r9, 1, 0xf, 0x1e -/* 8032CDAC 7C 67 03 2E */ sthx r3, r7, r0 -/* 8032CDB0 7C 0B 2C 2E */ lfsx f0, r11, r5 -/* 8032CDB4 81 1C 00 24 */ lwz r8, 0x24(r28) -/* 8032CDB8 7C 0A 32 2E */ lhzx r0, r10, r6 -/* 8032CDBC 1C E0 00 14 */ mulli r7, r0, 0x14 -/* 8032CDC0 38 07 00 08 */ addi r0, r7, 8 -/* 8032CDC4 7C E8 00 2E */ lwzx r7, r8, r0 -/* 8032CDC8 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d -/* 8032CDCC 7C 07 05 2E */ stfsx f0, r7, r0 -/* 8032CDD0 38 A5 00 04 */ addi r5, r5, 4 -/* 8032CDD4 38 C6 00 02 */ addi r6, r6, 2 -/* 8032CDD8 42 00 FF A4 */ bdnz lbl_8032CD7C -lbl_8032CDDC: -/* 8032CDDC 38 63 00 01 */ addi r3, r3, 1 -/* 8032CDE0 38 84 00 02 */ addi r4, r4, 2 -lbl_8032CDE4: -/* 8032CDE4 80 1D 00 88 */ lwz r0, 0x88(r29) -/* 8032CDE8 7C 03 00 40 */ cmplw r3, r0 -/* 8032CDEC 41 80 FE DC */ blt lbl_8032CCC8 -/* 8032CDF0 38 60 00 00 */ li r3, 0 -/* 8032CDF4 38 A0 00 00 */ li r5, 0 -/* 8032CDF8 48 00 01 28 */ b lbl_8032CF20 -lbl_8032CDFC: -/* 8032CDFC 80 9C 00 08 */ lwz r4, 8(r28) -/* 8032CE00 7C C4 2A 2E */ lhzx r6, r4, r5 -/* 8032CE04 28 06 FF FF */ cmplwi r6, 0xffff -/* 8032CE08 41 82 01 10 */ beq lbl_8032CF18 -/* 8032CE0C 80 9D 00 48 */ lwz r4, 0x48(r29) -/* 8032CE10 7C 04 30 AE */ lbzx r0, r4, r6 -/* 8032CE14 28 00 00 00 */ cmplwi r0, 0 -/* 8032CE18 40 82 00 58 */ bne lbl_8032CE70 -/* 8032CE1C 80 9D 00 4C */ lwz r4, 0x4c(r29) -/* 8032CE20 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CE24 7C 04 02 2E */ lhzx r0, r4, r0 -/* 8032CE28 80 FC 00 24 */ lwz r7, 0x24(r28) -/* 8032CE2C 1D 00 00 14 */ mulli r8, r0, 0x14 -/* 8032CE30 38 88 00 12 */ addi r4, r8, 0x12 -/* 8032CE34 7C C7 22 2E */ lhzx r6, r7, r4 -/* 8032CE38 38 06 00 01 */ addi r0, r6, 1 -/* 8032CE3C 7C 07 23 2E */ sthx r0, r7, r4 -/* 8032CE40 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 8032CE44 38 08 00 04 */ addi r0, r8, 4 -/* 8032CE48 7C 84 00 2E */ lwzx r4, r4, r0 -/* 8032CE4C 54 C0 0B FC */ rlwinm r0, r6, 1, 0xf, 0x1e -/* 8032CE50 7C 64 03 2E */ sthx r3, r4, r0 -/* 8032CE54 C0 02 CA 68 */ lfs f0, lit_1110(r2) -/* 8032CE58 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 8032CE5C 38 08 00 0C */ addi r0, r8, 0xc -/* 8032CE60 7C 84 00 2E */ lwzx r4, r4, r0 -/* 8032CE64 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d -/* 8032CE68 7C 04 05 2E */ stfsx f0, r4, r0 -/* 8032CE6C 48 00 00 AC */ b lbl_8032CF18 -lbl_8032CE70: -/* 8032CE70 80 9D 00 4C */ lwz r4, 0x4c(r29) -/* 8032CE74 54 C0 08 3C */ slwi r0, r6, 1 -/* 8032CE78 7C 04 02 2E */ lhzx r0, r4, r0 -/* 8032CE7C 80 9D 00 30 */ lwz r4, 0x30(r29) -/* 8032CE80 7D 04 00 AE */ lbzx r8, r4, r0 -/* 8032CE84 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8032CE88 3C 80 80 43 */ lis r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@ha /* 0x80437218@ha */ -/* 8032CE8C 38 84 72 18 */ addi r4, r4, sWorkArea_WEvlpMixMtx__13J3DSkinDeform@l /* 0x80437218@l */ -/* 8032CE90 7C 84 00 2E */ lwzx r4, r4, r0 -/* 8032CE94 3C C0 80 44 */ lis r6, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@ha /* 0x80438218@ha */ -/* 8032CE98 38 C6 82 18 */ addi r6, r6, sWorkArea_WEvlpMixWeight__13J3DSkinDeform@l /* 0x80438218@l */ -/* 8032CE9C 7D 66 00 2E */ lwzx r11, r6, r0 -/* 8032CEA0 38 C0 00 00 */ li r6, 0 -/* 8032CEA4 38 E0 00 00 */ li r7, 0 -/* 8032CEA8 7D 09 03 A6 */ mtctr r8 -/* 8032CEAC 2C 08 00 00 */ cmpwi r8, 0 -/* 8032CEB0 40 81 00 68 */ ble lbl_8032CF18 -lbl_8032CEB4: -/* 8032CEB4 81 3C 00 24 */ lwz r9, 0x24(r28) -/* 8032CEB8 7C 04 3A 2E */ lhzx r0, r4, r7 -/* 8032CEBC 1D 00 00 14 */ mulli r8, r0, 0x14 -/* 8032CEC0 39 08 00 12 */ addi r8, r8, 0x12 -/* 8032CEC4 7D 49 42 2E */ lhzx r10, r9, r8 -/* 8032CEC8 38 0A 00 01 */ addi r0, r10, 1 -/* 8032CECC 7C 09 43 2E */ sthx r0, r9, r8 -/* 8032CED0 81 3C 00 24 */ lwz r9, 0x24(r28) -/* 8032CED4 7C 04 3A 2E */ lhzx r0, r4, r7 -/* 8032CED8 1D 00 00 14 */ mulli r8, r0, 0x14 -/* 8032CEDC 38 08 00 04 */ addi r0, r8, 4 -/* 8032CEE0 7D 09 00 2E */ lwzx r8, r9, r0 -/* 8032CEE4 55 40 0B FC */ rlwinm r0, r10, 1, 0xf, 0x1e -/* 8032CEE8 7C 68 03 2E */ sthx r3, r8, r0 -/* 8032CEEC 7C 0B 34 2E */ lfsx f0, r11, r6 -/* 8032CEF0 81 3C 00 24 */ lwz r9, 0x24(r28) -/* 8032CEF4 7C 04 3A 2E */ lhzx r0, r4, r7 -/* 8032CEF8 1D 00 00 14 */ mulli r8, r0, 0x14 -/* 8032CEFC 38 08 00 0C */ addi r0, r8, 0xc -/* 8032CF00 7D 09 00 2E */ lwzx r8, r9, r0 -/* 8032CF04 55 40 13 BA */ rlwinm r0, r10, 2, 0xe, 0x1d -/* 8032CF08 7C 08 05 2E */ stfsx f0, r8, r0 -/* 8032CF0C 38 C6 00 04 */ addi r6, r6, 4 -/* 8032CF10 38 E7 00 02 */ addi r7, r7, 2 -/* 8032CF14 42 00 FF A0 */ bdnz lbl_8032CEB4 -lbl_8032CF18: -/* 8032CF18 38 63 00 01 */ addi r3, r3, 1 -/* 8032CF1C 38 A5 00 02 */ addi r5, r5, 2 -lbl_8032CF20: -/* 8032CF20 80 1D 00 8C */ lwz r0, 0x8c(r29) -/* 8032CF24 7C 03 00 40 */ cmplw r3, r0 -/* 8032CF28 41 80 FE D4 */ blt lbl_8032CDFC -/* 8032CF2C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032CF30 48 03 52 F5 */ bl _restgpr_28 -/* 8032CF34 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032CF38 7C 08 03 A6 */ mtlr r0 -/* 8032CF3C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8032CF40 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData.s deleted file mode 100644 index b26719a545..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_8032D738: -/* 8032D738 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 8032D73C 7C 08 02 A6 */ mflr r0 -/* 8032D740 90 01 00 94 */ stw r0, 0x94(r1) -/* 8032D744 39 61 00 90 */ addi r11, r1, 0x90 -/* 8032D748 48 03 4A 81 */ bl _savegpr_24 -/* 8032D74C 7C 7D 1B 78 */ mr r29, r3 -/* 8032D750 7C 9E 23 78 */ mr r30, r4 -/* 8032D754 A0 04 00 2E */ lhz r0, 0x2e(r4) -/* 8032D758 28 00 00 00 */ cmplwi r0, 0 -/* 8032D75C 41 82 01 08 */ beq lbl_8032D864 -/* 8032D760 88 1D 00 19 */ lbz r0, 0x19(r29) -/* 8032D764 28 00 00 00 */ cmplwi r0, 0 -/* 8032D768 40 82 00 FC */ bne lbl_8032D864 -/* 8032D76C 83 5E 00 88 */ lwz r26, 0x88(r30) -/* 8032D770 83 FE 00 8C */ lwz r31, 0x8c(r30) -/* 8032D774 3B 20 00 00 */ li r25, 0 -/* 8032D778 3B 60 00 00 */ li r27, 0 -/* 8032D77C 3B 80 00 00 */ li r28, 0 -/* 8032D780 48 00 00 60 */ b lbl_8032D7E0 -lbl_8032D784: -/* 8032D784 80 7D 00 04 */ lwz r3, 4(r29) -/* 8032D788 7C 83 E2 2E */ lhzx r4, r3, r28 -/* 8032D78C 80 7E 00 48 */ lwz r3, 0x48(r30) -/* 8032D790 7C 03 20 AE */ lbzx r0, r3, r4 -/* 8032D794 28 00 00 00 */ cmplwi r0, 0 -/* 8032D798 40 82 00 3C */ bne lbl_8032D7D4 -/* 8032D79C 80 7E 00 4C */ lwz r3, 0x4c(r30) -/* 8032D7A0 54 80 08 3C */ slwi r0, r4, 1 -/* 8032D7A4 7C 83 02 2E */ lhzx r4, r3, r0 -/* 8032D7A8 80 1E 00 A0 */ lwz r0, 0xa0(r30) -/* 8032D7AC 7F 00 DA 14 */ add r24, r0, r27 -/* 8032D7B0 80 7E 00 3C */ lwz r3, 0x3c(r30) -/* 8032D7B4 1C 04 00 30 */ mulli r0, r4, 0x30 -/* 8032D7B8 7C 63 02 14 */ add r3, r3, r0 -/* 8032D7BC 38 81 00 38 */ addi r4, r1, 0x38 -/* 8032D7C0 48 01 8D F1 */ bl PSMTXInverse -/* 8032D7C4 38 61 00 38 */ addi r3, r1, 0x38 -/* 8032D7C8 7F 04 C3 78 */ mr r4, r24 -/* 8032D7CC 7F 05 C3 78 */ mr r5, r24 -/* 8032D7D0 48 01 95 9D */ bl PSMTXMultVec -lbl_8032D7D4: -/* 8032D7D4 3B 39 00 01 */ addi r25, r25, 1 -/* 8032D7D8 3B 7B 00 0C */ addi r27, r27, 0xc -/* 8032D7DC 3B 9C 00 02 */ addi r28, r28, 2 -lbl_8032D7E0: -/* 8032D7E0 7C 19 D0 00 */ cmpw r25, r26 -/* 8032D7E4 41 80 FF A0 */ blt lbl_8032D784 -/* 8032D7E8 3B 00 00 00 */ li r24, 0 -/* 8032D7EC 3B 80 00 00 */ li r28, 0 -/* 8032D7F0 3B 60 00 00 */ li r27, 0 -/* 8032D7F4 48 00 00 60 */ b lbl_8032D854 -lbl_8032D7F8: -/* 8032D7F8 80 7D 00 08 */ lwz r3, 8(r29) -/* 8032D7FC 7C 83 DA 2E */ lhzx r4, r3, r27 -/* 8032D800 80 7E 00 48 */ lwz r3, 0x48(r30) -/* 8032D804 7C 03 20 AE */ lbzx r0, r3, r4 -/* 8032D808 28 00 00 00 */ cmplwi r0, 0 -/* 8032D80C 40 82 00 3C */ bne lbl_8032D848 -/* 8032D810 80 7E 00 4C */ lwz r3, 0x4c(r30) -/* 8032D814 54 80 08 3C */ slwi r0, r4, 1 -/* 8032D818 7C 83 02 2E */ lhzx r4, r3, r0 -/* 8032D81C 80 1E 00 A4 */ lwz r0, 0xa4(r30) -/* 8032D820 7F 20 E2 14 */ add r25, r0, r28 -/* 8032D824 80 7E 00 3C */ lwz r3, 0x3c(r30) -/* 8032D828 1C 04 00 30 */ mulli r0, r4, 0x30 -/* 8032D82C 7C 63 02 14 */ add r3, r3, r0 -/* 8032D830 38 81 00 08 */ addi r4, r1, 8 -/* 8032D834 48 01 8D 7D */ bl PSMTXInverse -/* 8032D838 38 61 00 08 */ addi r3, r1, 8 -/* 8032D83C 7F 24 CB 78 */ mr r4, r25 -/* 8032D840 7F 25 CB 78 */ mr r5, r25 -/* 8032D844 48 01 96 09 */ bl PSMTXMultVecSR -lbl_8032D848: -/* 8032D848 3B 18 00 01 */ addi r24, r24, 1 -/* 8032D84C 3B 9C 00 0C */ addi r28, r28, 0xc -/* 8032D850 3B 7B 00 02 */ addi r27, r27, 2 -lbl_8032D854: -/* 8032D854 7C 18 F8 00 */ cmpw r24, r31 -/* 8032D858 41 80 FF A0 */ blt lbl_8032D7F8 -/* 8032D85C 38 00 00 01 */ li r0, 1 -/* 8032D860 98 1D 00 19 */ stb r0, 0x19(r29) -lbl_8032D864: -/* 8032D864 39 61 00 90 */ addi r11, r1, 0x90 -/* 8032D868 48 03 49 AD */ bl _restgpr_24 -/* 8032D86C 80 01 00 94 */ lwz r0, 0x94(r1) -/* 8032D870 7C 08 03 A6 */ mtlr r0 -/* 8032D874 38 21 00 90 */ addi r1, r1, 0x90 -/* 8032D878 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphAnimator/J3DJointTree.h b/include/JSystem/J3DGraphAnimator/J3DJointTree.h index dc74089af3..3697cdb62b 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJointTree.h +++ b/include/JSystem/J3DGraphAnimator/J3DJointTree.h @@ -45,13 +45,14 @@ public: u16 getJointNum() const { return mJointNum; } u16 getDrawMtxNum() const { return mDrawMtxData.mEntryNum; } u8 getDrawMtxFlag(u16 idx) const { return mDrawMtxData.mDrawMtxFlag[idx]; } - u8 getDrawMtxIndex(u16 idx) const { return mDrawMtxData.mDrawMtxIndex[idx]; } + u16 getDrawMtxIndex(u16 idx) const { return mDrawMtxData.mDrawMtxIndex[idx]; } JUTNameTab* getJointName() const { return mJointName; } J3DJoint* getRootNode() { return mRootNode; } J3DJoint* getJointNodePointer(u16 idx) const { return mJointNodePointer[idx]; } J3DMtxCalc* getBasicMtxCalc() const { return mBasicMtxCalc; } Mtx& getInvJointMtx(s32 idx) const { return mInvJointMtx[idx]; } u32 getModelDataType() const { return mModelDataType; } + bool checkFlag(u32 flag) { return mFlags & flag; } private: /* 0x04 */ J3DModelHierarchy* mHierarchy; diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index 80176968f8..d5610fc11b 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -79,6 +79,7 @@ public: J3DVertexBuffer* getVertexBuffer() const { return (J3DVertexBuffer*)&mVertexBuffer; } J3DMatPacket* getMatPacket(u16 idx) const { return &mMatPacket[idx]; } J3DShapePacket* getShapePacket(u16 idx) const { return &mShapePacket[idx]; } + J3DMtxBuffer* getMtxBuffer() const { return mMtxBuffer; } Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); } Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); } Mtx* getDrawMtxPtr() const { return mMtxBuffer->getDrawMtxPtr(); } diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 441b2fdebd..ca2d8ee971 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -34,6 +34,10 @@ public: J3DMaterial* getMaterialNodePointer(u16 idx) const { return mMaterialTable.getMaterialNodePointer(idx); } + u32 getVtxNum() const { return mVertexData.getVtxNum(); } + u32 getNrmNum() const { return mVertexData.getNrmNum(); } + u8 getDrawMtxFlag(u16 idx) const { return mJointTree.getDrawMtxFlag(idx); } + u16 getDrawMtxIndex(u16 idx) const { return mJointTree.getDrawMtxIndex(idx); } J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); } J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); } J3DJointTree& getJointTree() { return mJointTree; } @@ -42,6 +46,9 @@ public: J3DTexture* getTexture() const { return mMaterialTable.getTexture(); } JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); } u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); } + u16* getWEvlpMixMtxIndex() const { return mJointTree.getWEvlpMixIndex(); } + f32* getWEvlpMixWeight() const { return mJointTree.getWEvlpMixWeight(); } + u8 getWEvlpMixMtxNum(u16 idx) const { return mJointTree.getWEvlpMixMtxNum(idx); } u32 getModelDataType() const { return mJointTree.getModelDataType(); } void* getVtxPosArray() const { return mVertexData.getVtxPosArray(); } void* getVtxNrmArray() const { return mVertexData.getVtxNrmArray(); } diff --git a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h index c709985d7c..4aece3b46d 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h +++ b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h @@ -26,11 +26,13 @@ public: MtxP getAnmMtx(int idx) const { return mpAnmMtx[idx]; } void setAnmMtx(int i, Mtx m) { PSMTXCopy(m, (MtxP)mpAnmMtx[i]); } + MtxP getWeightAnmMtx(int idx) const { return mpWeightEvlpMtx[idx]; } void setScaleFlag(int idx, u8 flag) { mpScaleFlagArr[idx] = flag; } u32* getCurrentViewNoPtr() { return &mCurrentViewNo; } u8* getScaleFlagArray() const { return mpScaleFlagArr; } - u8 getScaleFlag(u16 idx) const { return mpScaleFlagArr[idx]; } + u8 getScaleFlag(int idx) const { return mpScaleFlagArr[idx]; } + u8 getEnvScaleFlag(int idx) const { return mpEvlpScaleFlagArr[idx]; } Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxArr[1]; } Mtx* getDrawMtxPtr() const { return mpDrawMtxArr[1][mCurrentViewNo]; } Mtx* getDrawMtx(u16 idx) const { return &mpDrawMtxArr[1][mCurrentViewNo][idx]; } @@ -39,6 +41,7 @@ public: Mtx33* getNrmMtx(u16 idx) const { return &mpNrmMtxArr[1][mCurrentViewNo][idx]; } Mtx33*** getBumpMtxPtrPtr() const { return mpBumpMtxArr[1]; } Mtx33* getBumpMtxPtr(int idx) const { return mpBumpMtxArr[1][idx][mCurrentViewNo]; } + J3DJointTree* getJointTree() const { return mJointTree; } void swapDrawMtx() { Mtx* tmp = mpDrawMtxArr[0][mCurrentViewNo]; diff --git a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h index 63d138b1c2..520e0f67fd 100644 --- a/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h +++ b/include/JSystem/J3DGraphAnimator/J3DSkinDeform.h @@ -5,6 +5,7 @@ #include "JSystem/J3DGraphAnimator/J3DModelData.h" #include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h" #include "JSystem/J3DGraphBase/J3DVertex.h" +#include "JSystem/J3DGraphBase/J3DTransform.h" #include "dolphin/types.h" class J3DModel; @@ -38,10 +39,10 @@ struct J3DSkinNList { /* 8032C85C */ void calcSkin_VtxPosF32(f32 (*)[4], void*, void*); /* 8032C8E4 */ void calcSkin_VtxNrmF32(f32 (*)[4], void*, void*); - /* 0x00 */ int field_0x0; - /* 0x04 */ int field_0x4; - /* 0x08 */ int field_0x8; - /* 0x0C */ int field_0xc; + /* 0x00 */ u16* field_0x0; + /* 0x04 */ u16* field_0x4; + /* 0x08 */ f32* field_0x8; + /* 0x0C */ f32* field_0xc; /* 0x10 */ u16 field_0x10; /* 0x12 */ u16 field_0x12; }; // Size: 0x14 @@ -50,7 +51,7 @@ class J3DSkinDeform { public: /* 8032C96C */ J3DSkinDeform(); /* 8032C9B0 */ void initSkinInfo(J3DModelData*); - /* 8032CF44 */ void initMtxIndexArray(J3DModelData*); + /* 8032CF44 */ int initMtxIndexArray(J3DModelData*); /* 8032D378 */ void changeFastSkinDL(J3DModelData*); /* 8032D5C4 */ void calcNrmMtx(J3DMtxBuffer*); /* 8032D738 */ void transformVtxPosNrm(J3DModelData*); @@ -62,25 +63,32 @@ public: /* 8032DDB8 */ void deformVtxNrm_F32(J3DVertexBuffer*) const; /* 8032DEBC */ void deformVtxNrm_S16(J3DVertexBuffer*) const; /* 8032DFDC */ void deform(J3DModel*); + void setNrmMtx(int i, MtxP mtx) { + J3DPSMtx33CopyFrom34(mtx, (Mtx3P)mNrmMtx[i]); + } + Mtx3P getNrmMtx(int i) { return mNrmMtx[i]; } + void onFlag(u32 flag) { mFlags |= flag; } + void offFlag(u32 flag) { mFlags &= ~flag; } + bool checkFlag(u32 flag) { return mFlags & flag; } /* 8032E064 */ virtual void deform(J3DVertexBuffer*, J3DMtxBuffer*); /* 8032E1B0 */ virtual ~J3DSkinDeform(); - static u8 sWorkArea_WEvlpMixMtx[4096]; - static u8 sWorkArea_WEvlpMixWeight[4096]; - static u8 sWorkArea_MtxReg[2048 + 8 /* padding */]; + static u16* sWorkArea_WEvlpMixMtx[1024]; + static f32* sWorkArea_WEvlpMixWeight[1024]; + static u16 sWorkArea_MtxReg[1024 + 4 /* padding */]; private: - /* 0x04 */ void** mPosData; - /* 0x08 */ void** field_0x8; - /* 0x0C */ void** field_0xc; - /* 0x10 */ Mtx** mNrmMtx; + /* 0x04 */ u16* mPosData; + /* 0x08 */ u16* mNrmData; + /* 0x0C */ Mtx* mPosMtx; + /* 0x10 */ Mtx33* mNrmMtx; /* 0x14 */ u32 mFlags; /* 0x18 */ u8 field_0x18; /* 0x19 */ u8 field_0x19; /* 0x1C */ int field_0x1c; /* 0x20 */ int field_0x20; - /* 0x24 */ J3DSkinNList** mSkinNList; + /* 0x24 */ J3DSkinNList* mSkinNList; }; class J3DDeformer { @@ -100,4 +108,15 @@ private: /* 0x10 */ u32 mFlags; }; // Size: 0x14 +inline void J3DFillZero32B(register void* param_0, register u32 param_1) { + asm { + srwi param_1, param_1, 5 + mtctr param_1 + lbl_8032D948: + dcbz 0, param_0 + addi param_0, param_0, 0x20 + bdnz lbl_8032D948 + } +} + #endif /* J3DSKINDEFORM_H */ diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 8ceaf59661..102fb430da 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -107,6 +107,7 @@ public: void setTexMtxLoadType(u32 type) { mFlags = (mFlags & 0xFFFF0FFF) | type; } bool getNBTFlag() const { return mHasNBT; } u32 getBumpMtxOffset() const { return mBumpMtxOffset; } + GXVtxDescList* getVtxDesc() const { return mVtxDesc; } J3DMaterial* getMaterial() const { return mMaterial; } u32 getIndex() const { return mIndex; } diff --git a/include/JSystem/J3DGraphBase/J3DShapeDraw.h b/include/JSystem/J3DGraphBase/J3DShapeDraw.h index 8ad82a0c3d..2293fd6337 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeDraw.h +++ b/include/JSystem/J3DGraphBase/J3DShapeDraw.h @@ -14,6 +14,7 @@ public: u8* getDisplayList() const { return (u8*)mDisplayList; } u32 getDisplayListSize() const { return mDisplayListSize; } + void setDisplayListSize(u32 size) { mDisplayListSize = size; } private: /* 0x04 */ u32 mDisplayListSize; diff --git a/include/JSystem/J3DGraphBase/J3DTransform.h b/include/JSystem/J3DGraphBase/J3DTransform.h index a162bd5b7c..884506ce42 100644 --- a/include/JSystem/J3DGraphBase/J3DTransform.h +++ b/include/JSystem/J3DGraphBase/J3DTransform.h @@ -14,8 +14,201 @@ struct J3DTransformInfo { extern J3DTransformInfo const j3dDefaultTransformInfo; extern Vec const j3dDefaultScale; extern Mtx const j3dDefaultMtx; +extern f32 PSMulUnit01[2]; void J3DGetTranslateRotateMtx(J3DTransformInfo const&, Mtx); void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, Mtx); +void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]); +void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3); + +inline void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst) { + register f32 x_y1; + register f32 z1; + register f32 x_y2; + register f32 z2; + register f32 x_y3; + register f32 z3; + asm { + psq_l x_y1, 0(src), 0, 0 + lfs z1, 8(src) + psq_l x_y2, 16(src), 0, 0 + lfs z2, 0x18(src) + psq_l x_y3, 32(src), 0, 0 + lfs z3, 0x28(src) + psq_st x_y1, 0(dst), 0, 0 + stfs z1, 8(dst) + psq_st x_y2, 12(dst), 0, 0 + stfs z2, 0x14(dst) + psq_st x_y3, 24(dst), 0, 0 + stfs z3, 0x20(dst) + } +} + +// regalloc issues +inline void J3DPSMulMtxVec(register MtxP mtx, register Vec* vec, register Vec* dst) { + register f32 fr12; + register f32 fr11; + register f32 fr10; + register f32 fr9; + register f32 fr8; + register f32 fr6; + register f32 fra6; + register f32 fr5; + register f32 fra5; + register f32 fra4; + register f32 fr4; + register f32 fr3; + register f32 fr2; + register f32 fra2; + register f32 fr01; + register f32 fr00; + asm { + psq_l fr00, 0(vec), 0, 0 + psq_l fr2, 0(mtx), 0, 0 + psq_l fr01, 8(vec), 1, 0 + ps_mul fr4, fr2, fr00 + psq_l fr3, 8(mtx), 0, 0 + ps_madd fr5, fr3, fr01, fr4 + psq_l fr8, 16(mtx), 0, 0 + ps_sum0 fr6, fr5, fr6, fr5 + psq_l fr9, 24(mtx), 0, 0 + ps_mul fr10, fr8, fr00 + psq_st fr6, 0(dst), 1, 0 + ps_madd fr11, fr9, fr01, fr10 + psq_l fra2, 32(mtx), 0, 0 + ps_sum0 fr12, fr11, fr12, fr11 + psq_l fr3, 40(mtx), 0, 0 + ps_mul fra4, fra2, fr00 + psq_st fr12, 4(dst), 1, 0 + ps_madd fra5, fr3, fr01, fra4 + ps_sum0 fra6, fra5, fra6, fra5 + psq_st fra6, 8(dst), 1, 0 + } +} + +// regalloc issues +inline void J3DPSMulMtxVec(register MtxP mtx, register SVec* vec, register SVec* dst) { + register f32 fr12; + register f32 fr11; + register f32 fr10; + register f32 fr9; + register f32 fr8; + register f32 fr6; + register f32 fra6; + register f32 fr5; + register f32 fra5; + register f32 fra4; + register f32 fr4; + register f32 fr3; + register f32 fr2; + register f32 fra2; + register f32 fr01; + register f32 fr00; + asm { + psq_l fr00, 0(vec), 0, 7 + psq_l fr2, 0(mtx), 0, 0 + psq_l fr01, 4(vec), 1, 7 + ps_mul fr4, fr2, fr00 + psq_l fr3, 8(mtx), 0, 0 + ps_madd fr5, fr3, fr01, fr4 + psq_l fr8, 16(mtx), 0, 0 + ps_sum0 fr6, fr5, fr6, fr5 + psq_l fr9, 24(mtx), 0, 0 + ps_mul fr10, fr8, fr00 + psq_st fr6, 0(dst), 1, 7 + ps_madd fr11, fr9, fr01, fr10 + psq_l fra2, 32(mtx), 0, 0 + ps_sum0 fr12, fr11, fr12, fr11 + psq_l fr3, 40(mtx), 0, 0 + ps_mul fra4, fra2, fr00 + psq_st fr12, 2(dst), 1, 7 + ps_madd fra5, fr3, fr01, fra4 + ps_sum0 fra6, fra5, fra6, fra5 + psq_st fra6, 4(dst), 1, 7 + } +} + +// regalloc issues +inline void J3DPSMulMtxVec(register Mtx3P mtx, register Vec* vec, register Vec* dst) { + register f32* punit; + register f32 unit; + register f32 fr12; + register f32 fr11; + register f32 fr10; + register f32 fr9; + register f32 fr8; + register f32 fr6; + register f32 fr5; + register f32 fr4; + register f32 fr3; + register f32 fr2; + register f32 fr01; + register f32 fr00; + asm { + lis punit, PSMulUnit01@ha + psq_l fr00, 0(vec), 0, 0 + addi punit, punit, PSMulUnit01@l + psq_l fr2, 0(mtx), 0, 0 + psq_l unit, 0(punit), 0, 0 + psq_l fr01, 8(vec), 1, 0 + ps_add fr01, unit, fr01 + psq_l fr3, 8(mtx), 1, 0 + ps_mul fr4, fr2, fr00 + psq_l fr8, 12(mtx), 0, 0 + ps_madd fr5, fr3, fr01, fr4 + ps_sum0 fr6, fr5, fr6, fr5 + psq_l fr9, 20(mtx), 1, 0 + ps_mul fr10, fr8, fr00 + psq_st fr6, 0(dst), 1, 0 + ps_madd fr11, fr9, fr01, fr10 + psq_l fr2, 24(mtx), 0, 0 + ps_sum0 fr12, fr11, fr12, fr11 + psq_l fr3, 32(mtx), 1, 0 + ps_mul fr4, fr2, fr00 + psq_st fr12, 4(dst), 1, 0 + ps_madd fr5, fr3, fr01, fr4 + ps_sum0 fr6, fr5, fr6, fr5 + psq_st fr6, 8(dst), 1, 0 + } +} + +// regalloc issues +inline void J3DPSMulMtxVec(register Mtx3P mtx, register SVec* vec, register SVec* dst) { + register f32* punit; + register f32 unit; + register f32 fr6; + register f32 fr5; + register f32 fr4; + register f32 fr3; + register f32 fr2; + register f32 fr01; + register f32 fr00; + asm { + lis punit, PSMulUnit01@ha + psq_l fr00, 0(vec), 0, 7 + addi punit, punit, PSMulUnit01@l + psq_l fr2, 0(mtx), 0, 0 + psq_l unit, 0(punit), 0, 0 + psq_l fr01, 4(vec), 1, 7 + ps_add fr01, unit, fr01 + psq_l fr3, 8(mtx), 1, 0 + ps_mul fr4, fr2, fr00 + psq_l fr2, 12(mtx), 0, 0 + ps_madd fr5, fr3, fr01, fr4 + ps_sum0 fr6, fr5, fr6, fr5 + psq_l fr3, 20(mtx), 1, 0 + ps_mul fr4, fr2, fr00 + psq_st fr6, 0(dst), 1, 7 + ps_madd fr5, fr3, fr01, fr4 + psq_l fr2, 24(mtx), 0, 0 + ps_sum0 fr6, fr5, fr6, fr5 + psq_l fr3, 32(mtx), 1, 0 + ps_mul fr4, fr2, fr00 + psq_st fr6, 2(dst), 1, 7 + ps_madd fr5, fr3, fr01, fr4 + ps_sum0 fr6, fr5, fr6, fr5 + psq_st fr6, 4(dst), 1, 7 + } +} #endif /* J3DTRANSFORM_H */ diff --git a/include/JSystem/J3DGraphBase/J3DVertex.h b/include/JSystem/J3DGraphBase/J3DVertex.h index a601987c1d..2803c7838a 100644 --- a/include/JSystem/J3DGraphBase/J3DVertex.h +++ b/include/JSystem/J3DGraphBase/J3DVertex.h @@ -9,9 +9,11 @@ typedef struct _GXColor GXColor; class J3DModel; struct J3DAnmVtxColor; +struct J3DVertexBuffer; struct J3DVtxColorCalc { /* 8032E180 */ void calc(J3DModel*); + virtual void calc(J3DVertexBuffer*); /* 0x0 */ void* vtable; // inlined vtable? /* 0x4 */ u32 mFlags; @@ -30,6 +32,10 @@ public: u32 getNrmNum() const { return mNrmNum; } u32 getVtxNum() const { return mVtxNum; } GXVtxAttrFmtList* getVtxAttrFmtList() { return mVtxAttrFmtList; } + u8 getVtxPosFrac() { return mVtxPosFrac; } + u8 getVtxNrmFrac() { return mVtxNrmFrac; } + int getVtxPosType() { return mVtxPosType; } + int getVtxNrmType() { return mVtxNrmType; } void setVtxPosFrac(u8 frac) { mVtxPosFrac = frac; } void setVtxPosType(GXCompType type) { mVtxPosType = type; } @@ -69,8 +75,10 @@ public: /* 8031152C */ s32 allocTransformedVtxNrmArray(); void setCurrentVtxPos(void* pVtxPos) { mCurrentVtxPos = pVtxPos; } + void* getCurrentVtxPos() { return mCurrentVtxPos; } void setCurrentVtxNrm(void* pVtxNrm) { mCurrentVtxNrm = pVtxNrm; } + void* getCurrentVtxNrm() { return mCurrentVtxNrm; } void setCurrentVtxCol(GXColor* pVtxCol) { mCurrentVtxCol = pVtxCol; } @@ -80,6 +88,22 @@ public: setCurrentVtxCol(mVtxColArray[0]); } + void* getTransformedVtxPos(int idx) { return mTransformedVtxPosArray[idx]; } + void* getTransformedVtxNrm(int idx) { return mTransformedVtxNrmArray[idx]; } + J3DVertexData* getVertexData() { return mVtxData; } + + void swapTransformedVtxPos() { + void* tmp = mTransformedVtxPosArray[0]; + mTransformedVtxPosArray[0] = mTransformedVtxPosArray[1]; + mTransformedVtxPosArray[1] = tmp; + } + + void swapTransformedVtxNrm() { + void* tmp = mTransformedVtxNrmArray[0]; + mTransformedVtxNrmArray[0] = mTransformedVtxNrmArray[1]; + mTransformedVtxNrmArray[1] = tmp; + } + private: /* 0x00 */ J3DVertexData* mVtxData; /* 0x04 */ void* mVtxPosArray[2]; diff --git a/include/dolphin/mtx/mtx.h b/include/dolphin/mtx/mtx.h index edd5dab9f6..3b9b75299f 100644 --- a/include/dolphin/mtx/mtx.h +++ b/include/dolphin/mtx/mtx.h @@ -14,6 +14,7 @@ typedef f32 Mtx[3][4]; typedef f32 Mtx33[3][3]; typedef f32 Mtx23[2][3]; typedef f32 (*MtxP)[4]; +typedef f32 (*Mtx3P)[3]; typedef const f32 (*CMtxP)[4]; // Change name later? void PSMTXIdentity(Mtx m); diff --git a/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp b/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp index 5d490d3128..7edd25ed23 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp @@ -4,16 +4,17 @@ // #include "JSystem/J3DGraphAnimator/J3DSkinDeform.h" +#include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/JKernel/JKRHeap.h" #include "dol2asm.h" #include "dolphin/os/OS.h" #include "dolphin/types.h" +#include "MSL_C/MSL_Common/Src/string.h" // // Types: // -struct J3DModel {}; - // // Forward References: // @@ -43,13 +44,12 @@ extern "C" void __dt__13J3DSkinDeformFv(); extern "C" extern char const* const J3DSkinDeform__stringBase0; extern "C" u8 sWorkArea_WEvlpMixMtx__13J3DSkinDeform[4096]; extern "C" u8 sWorkArea_WEvlpMixWeight__13J3DSkinDeform[4096]; -extern "C" u8 sWorkArea_MtxReg__13J3DSkinDeform[2048 + 8 /* padding */]; +extern "C" u16 sWorkArea_MtxReg__13J3DSkinDeform[1024 + 4 /* padding */]; // // External References: // -SECTION_INIT void memcpy(); extern "C" void* __nwa__FUl(); extern "C" void* __nwa__FUli(); extern "C" void __dl__FPv(); @@ -73,110 +73,208 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern u8 PSMulUnit01[8]; +extern "C" extern f32 PSMulUnit01[2]; // // Declarations: // /* 8032C6E4-8032C704 327024 0020+00 1/1 0/0 0/0 .text __ct__12J3DSkinNListFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DSkinNList::J3DSkinNList() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__12J3DSkinNListFv.s" +J3DSkinNList::J3DSkinNList() { + field_0x0 = NULL; + field_0x4 = NULL; + field_0x8 = NULL; + field_0xc = NULL; + field_0x10 = 0; + field_0x12 = 0; } -#pragma pop /* 8032C704-8032C7BC 327044 00B8+00 1/1 0/0 0/0 .text J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void J3DPSWeightMTXMultVec(f32 (*param_0)[4], f32 param_1, Vec* param_2, Vec* param_3) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec.s" +static void J3DPSWeightMTXMultVec(f32 (*param_0)[4], f32 param_1, Vec* param_2, Vec* param_3) { + f32 f4 = param_0[0][3] + param_0[0][0] * param_2->x; + f32 f5 = param_0[1][3] + param_0[1][0] * param_2->x; + f32 f3 = param_0[2][3] + param_0[2][0] * param_2->x; + f4 += param_0[0][1] * param_2->y; + f5 += param_0[1][1] * param_2->y; + f3 += param_0[2][1] * param_2->y; + f4 += param_0[0][2] * param_2->z; + f5 += param_0[1][2] * param_2->z; + f3 += param_0[2][2] * param_2->z; + param_3->x += f4 * param_1; + param_3->y += f5 * param_1; + param_3->z += f3 * param_1; } -#pragma pop /* 8032C7BC-8032C85C 3270FC 00A0+00 1/1 0/0 0/0 .text J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void J3DPSWeightMTXMultVecSR(f32 (*param_0)[4], f32 param_1, Vec* param_2, - Vec* param_3) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec.s" +static void J3DPSWeightMTXMultVecSR(f32 (*param_0)[4], f32 param_1, Vec* param_2, + Vec* param_3) { + f32 f4 = param_0[0][0] * param_2->x; + f32 f5 = param_0[1][0] * param_2->x; + f32 f3 = param_0[2][0] * param_2->x; + f4 += param_0[0][1] * param_2->y; + f5 += param_0[1][1] * param_2->y; + f3 += param_0[2][1] * param_2->y; + f4 += param_0[0][2] * param_2->z; + f5 += param_0[1][2] * param_2->z; + f3 += param_0[2][2] * param_2->z; + param_3->x += f4 * param_1; + param_3->y += f5 * param_1; + param_3->z += f3 * param_1; } -#pragma pop /* 8032C85C-8032C8E4 32719C 0088+00 1/1 0/0 0/0 .text calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinNList::calcSkin_VtxPosF32(f32 (*param_0)[4], void* param_1, void* param_2) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv.s" +void J3DSkinNList::calcSkin_VtxPosF32(f32 (*param_0)[4], void* param_1, void* param_2) { + u16 r29 = field_0x10; + for (int i = 0; i < r29; i++) { + u16 ind = field_0x0[i]; + J3DPSWeightMTXMultVec(param_0, field_0x8[i], ((Vec*)param_1 + ind), ((Vec*)param_2 + ind)); + } } -#pragma pop /* 8032C8E4-8032C96C 327224 0088+00 1/1 0/0 0/0 .text calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinNList::calcSkin_VtxNrmF32(f32 (*param_0)[4], void* param_1, void* param_2) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv.s" +void J3DSkinNList::calcSkin_VtxNrmF32(f32 (*param_0)[4], void* param_1, void* param_2) { + u16 r29 = field_0x12; + for (int i = 0; i < r29; i++) { + u16 ind = field_0x4[i]; + J3DPSWeightMTXMultVecSR(param_0, field_0xc[i], ((Vec*)param_1 + ind), ((Vec*)param_2 + ind)); + } } -#pragma pop /* ############################################################################################## */ -/* 803CEE70-803CEE80 02BF90 0010+00 2/2 0/0 0/0 .data __vt__13J3DSkinDeform */ -SECTION_DATA extern void* __vt__13J3DSkinDeform[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer, - (void*)__dt__13J3DSkinDeformFv, -}; /* 8032C96C-8032C9B0 3272AC 0044+00 0/0 0/0 2/2 .text __ct__13J3DSkinDeformFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DSkinDeform::J3DSkinDeform() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__ct__13J3DSkinDeformFv.s" +J3DSkinDeform::J3DSkinDeform() { + mPosData = NULL; + mNrmData = NULL; + mPosMtx = NULL; + mNrmMtx = NULL; + mFlags = 3; + field_0x18 = 1; + field_0x19 = 0; + field_0x1c = 0; + field_0x20 = 0; + mSkinNList = NULL; } -#pragma pop /* ############################################################################################## */ /* 80437218-80438218 063F38 1000+00 1/1 0/0 0/0 .bss sWorkArea_WEvlpMixMtx__13J3DSkinDeform */ -u8 J3DSkinDeform::sWorkArea_WEvlpMixMtx[4096]; +u16* J3DSkinDeform::sWorkArea_WEvlpMixMtx[1024]; /* 80438218-80439218 064F38 1000+00 1/1 0/0 0/0 .bss sWorkArea_WEvlpMixWeight__13J3DSkinDeform */ -u8 J3DSkinDeform::sWorkArea_WEvlpMixWeight[4096]; - -/* 80456468-8045646C 004A68 0004+00 1/1 0/0 0/0 .sdata2 @1110 */ -SECTION_SDATA2 static f32 lit_1110 = 1.0f; +f32* J3DSkinDeform::sWorkArea_WEvlpMixWeight[1024]; /* 8032C9B0-8032CF44 3272F0 0594+00 0/0 1/1 0/0 .text * initSkinInfo__13J3DSkinDeformFP12J3DModelData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::initSkinInfo(J3DModelData* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initSkinInfo__13J3DSkinDeformFP12J3DModelData.s" +void J3DSkinDeform::initSkinInfo(J3DModelData* param_0) { + u16 wevlpMtxNum = param_0->getWEvlpMtxNum(); + u16* wevlpMtxIndex = param_0->getWEvlpMixMtxIndex(); + f32* wevlpMixWeights = param_0->getWEvlpMixWeight(); + int currentOffset = 0; + for (int i = 0; i < wevlpMtxNum; i++) { + sWorkArea_WEvlpMixMtx[i] = wevlpMtxIndex + currentOffset; + sWorkArea_WEvlpMixWeight[i] = wevlpMixWeights + currentOffset; + currentOffset += param_0->getWEvlpMixMtxNum(i); + } + + if (param_0->getJointNum() != 0) { + mSkinNList = new J3DSkinNList[param_0->getJointNum()]; + } + + for (int i = 0; i < param_0->getVtxNum(); i++) { + u16 uVar8 = mPosData[i]; + if (uVar8 != 0xffff) { + if (param_0->getDrawMtxFlag(uVar8) == 0) { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + mSkinNList[drawMtxIndex].field_0x10++; + } else { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + wevlpMtxNum = param_0->getWEvlpMixMtxNum(drawMtxIndex); + u16* indices = sWorkArea_WEvlpMixMtx[drawMtxIndex]; + for (int j = 0; j < wevlpMtxNum; j++) { + mSkinNList[indices[j]].field_0x10++; + } + } + } + } + for (int i = 0; i < param_0->getNrmNum(); i++) { + u16 uVar8 = mNrmData[i]; + if (uVar8 != 0xffff) { + if (param_0->getDrawMtxFlag(uVar8) == 0) { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + mSkinNList[drawMtxIndex].field_0x12++; + } else { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + wevlpMtxNum = param_0->getWEvlpMixMtxNum(drawMtxIndex); + u16* indices = sWorkArea_WEvlpMixMtx[drawMtxIndex]; + for (int j = 0; j < wevlpMtxNum; j++) { + mSkinNList[indices[j]].field_0x12++; + } + } + } + } + for (u16 i = 0; i < param_0->getJointNum(); i++) { + if (mSkinNList[i].field_0x10) { + mSkinNList[i].field_0x0 = new u16[mSkinNList[i].field_0x10]; + mSkinNList[i].field_0x8 = new f32[mSkinNList[i].field_0x10]; + mSkinNList[i].field_0x10 = 0; + } + if (mSkinNList[i].field_0x12) { + mSkinNList[i].field_0x4 = new u16[mSkinNList[i].field_0x12]; + mSkinNList[i].field_0xc = new f32[mSkinNList[i].field_0x12]; + mSkinNList[i].field_0x12 = 0; + } + } + for (int i = 0; i < param_0->getVtxNum(); i++) { + u16 uVar8 = mPosData[i]; + if (uVar8 != 0xffff) { + if (param_0->getDrawMtxFlag(uVar8) == 0) { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + u16 uVar9 = mSkinNList[drawMtxIndex].field_0x10++; + mSkinNList[drawMtxIndex].field_0x0[uVar9] = i; + mSkinNList[drawMtxIndex].field_0x8[uVar9] = 1.0f; + } else { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + wevlpMtxNum = param_0->getWEvlpMixMtxNum(drawMtxIndex); + u16* indices = sWorkArea_WEvlpMixMtx[drawMtxIndex]; + f32* weights = sWorkArea_WEvlpMixWeight[drawMtxIndex]; + for (int j = 0; j < wevlpMtxNum; j++) { + u16 uVar9 = mSkinNList[indices[j]].field_0x10++; + mSkinNList[indices[j]].field_0x0[uVar9] = i; + mSkinNList[indices[j]].field_0x8[uVar9] = weights[j]; + } + } + } + } + for (int i = 0; i < param_0->getNrmNum(); i++) { + u16 uVar8 = mNrmData[i]; + if (uVar8 != 0xffff) { + if (param_0->getDrawMtxFlag(uVar8) == 0) { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + u16 uVar9 = mSkinNList[drawMtxIndex].field_0x12++; + mSkinNList[drawMtxIndex].field_0x4[uVar9] = i; + mSkinNList[drawMtxIndex].field_0xc[uVar9] = 1.0f; + } else { + u16 drawMtxIndex = param_0->getDrawMtxIndex(uVar8); + wevlpMtxNum = param_0->getWEvlpMixMtxNum(drawMtxIndex); + u16* indices = sWorkArea_WEvlpMixMtx[drawMtxIndex]; + f32* weights = sWorkArea_WEvlpMixWeight[drawMtxIndex]; + for (int j = 0; j < wevlpMtxNum; j++) { + u16 uVar9 = mSkinNList[indices[j]].field_0x12++; + mSkinNList[indices[j]].field_0x4[uVar9] = i; + mSkinNList[indices[j]].field_0xc[uVar9] = weights[j]; + } + } + } + } } -#pragma pop /* ############################################################################################## */ /* 803A2008-803A2018 02E668 0010+00 1/1 0/0 0/0 .rodata @1142 */ -SECTION_RODATA static u8 const lit_1142[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, +SECTION_RODATA static u32 const lit_1142[4] = { + 0, 1, 1, 2, }; COMPILER_STRIP_GATE(0x803A2008, &lit_1142); @@ -192,18 +290,137 @@ SECTION_DEAD static char const* const pad_803A2062 = "\0\0\0\0\0"; /* 80439218-80439A20 065F38 0800+08 1/1 0/0 0/0 .bss sWorkArea_MtxReg__13J3DSkinDeform */ -u8 J3DSkinDeform::sWorkArea_MtxReg[2048 + 8 /* padding */]; +u16 J3DSkinDeform::sWorkArea_MtxReg[1024 + 4 /* padding */]; /* 8032CF44-8032D378 327884 0434+00 0/0 1/1 0/0 .text * initMtxIndexArray__13J3DSkinDeformFP12J3DModelData */ +// Several register order and regalloc issues +#ifdef NONMATCHING +int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) { + if (mPosData != NULL && mNrmData != NULL) { + return 0; + } + + mPosData = new u16[param_0->getVtxNum()]; + if (mPosData == NULL) { + return 4; + } + + for (int i = 0; i < param_0->getVtxNum(); i++) { + mPosData[i] = 0xffff; + } + + if (param_0->getNrmNum()) { + mNrmData = new u16[param_0->getNrmNum()]; + if (mNrmData == NULL) { + return 4; + } + for (int i = 0; i < param_0->getNrmNum(); i++) { + mNrmData[i] = 0; + } + } else { + mNrmData = NULL; + } + + mPosMtx = new Mtx[param_0->getJointNum()]; + mNrmMtx = new (32) Mtx33[param_0->getDrawMtxNum()]; + if (mPosMtx == NULL) { + return 4; + } + if (mNrmMtx == NULL) { + return 4; + } + + for (u16 local_6c = 0; local_6c < param_0->getShapeNum(); local_6c++) { + u32 local_28[4] = {0,1,1,2}; + int r26 = -1; + int r25 = -1; + int r24 = -1; + int r23 = 0; + for (GXVtxDescList* local_4c = param_0->getShapeNodePointer(local_6c)->getVtxDesc(); local_4c->attr != 0xff; local_4c++) { + switch (local_4c->attr) { + case GX_VA_PNMTXIDX: + r26 = r23; + break; + case GX_VA_POS: + r25 = r23; + if (local_4c->type != GX_INDEX16) { + OSReport(" Invlid Data : CPU Pipeline process GX_INDEX16 Data Only\n"); + return 6; + } + break; + case GX_VA_NRM: + r24 = r23; + if (local_4c->type != GX_INDEX16) { + OSReport(" Invlid Data : CPU Pipeline process GX_INDEX16 Data Only\n"); + return 6; + } + break; + case GX_VA_TEX0: + if (local_4c->type != GX_INDEX16) { + OSReport(" Invlid Data : CPU Pipeline process GX_INDEX16 Data Only\n"); + return 6; + } + break; + } + r23 += local_28[(int)local_4c->type]; + } + for (u16 local_6e = 0; local_6e < param_0->getShapeNodePointer(local_6c)->getMtxGroupNum(); local_6e++) { + J3DShapeMtx* piVar8 = param_0->getShapeNodePointer(local_6c)->getShapeMtx(local_6e); + u8* pcVar10 = param_0->getShapeNodePointer(local_6c)->getShapeDraw(local_6e)->getDisplayList(); + u16 uVar13; + for (u8* local_58 = pcVar10; + (int)local_58 - (int)pcVar10 < param_0->getShapeNodePointer(local_6c)->getShapeDraw(local_6e)->getDisplayListSize(); + local_58 += r23 * uVar13, local_58 += 3) { + if (*local_58 != 0xA0 && *local_58 != 0x98) { + break; + } + + uVar13 = *(u16*)(local_58 + 1); + for (int local_60 = 0; local_60 < uVar13; local_60++) { + u8* iVar5 = local_58; + iVar5 += r23 * local_60 + 3; + u8 bVar3 = *(iVar5 + r26) / 3U; + u16 uVar1 = *(u16*)(iVar5 + r25); + u16 uVar2 = *(u16*)(iVar5 + r24); + u32 local_76 = piVar8->getUseMtxIndex(bVar3); + if ((u16)local_76 == 0xffff) { + local_76 = sWorkArea_MtxReg[bVar3]; + } else if (r26 != -1) { + sWorkArea_MtxReg[bVar3] = local_76; + } + mPosData[uVar1] = local_76; + if (r24 != -1) { + mNrmData[uVar2] = local_76; + } + } + } + if (r24 == -1) { + param_0->getShapeNodePointer(local_6c)->onFlag(0x100); + param_0->getShapeNodePointer(local_6c)->offFlag(8); + } + } + } + + for (int local_68 = 0; local_68 < param_0->getVtxNum(); local_68++) { + if (mPosData[local_68] == 0xffff) { + field_0x18 = 0x0; + mPosData[local_68] = 0; + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) { +asm int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initMtxIndexArray__13J3DSkinDeformFP12J3DModelData.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803A2018-803A2028 02E678 0010+00 1/1 0/0 0/0 .rodata @1270 */ @@ -214,6 +431,67 @@ COMPILER_STRIP_GATE(0x803A2018, &lit_1270); /* 8032D378-8032D5C4 327CB8 024C+00 0/0 1/1 0/0 .text * changeFastSkinDL__13J3DSkinDeformFP12J3DModelData */ +// regalloc, display list access issues +#ifdef NONMATCHING +void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) { + for (u16 i = 0; i < param_0->getShapeNum(); i++) { + u32 local_28[4] = {0,1,1,2}; + s32 local_30 = -1; + s32 local_34 = 0; + J3DShape* pShapeNode = param_0->getShapeNodePointer(i); + for (GXVtxDescList* local_3c = pShapeNode->getVtxDesc(); local_3c->attr != GX_VA_NULL; local_3c++) { + if (local_3c->attr == GX_VA_PNMTXIDX) { + local_30 = local_34; + } + local_34 += local_28[(int)local_3c->type]; + } + if (local_30 != -1) { + for (u16 j = 0; j < pShapeNode->getMtxGroupNum(); j++) { + u8* puVar5 = pShapeNode->getShapeDraw(j)->getDisplayList(); + u8* puVar10 = puVar5; + u8* local_44 = puVar5; + while ((int)local_44 - (int)puVar5 < pShapeNode->getShapeDraw(j)->getDisplayListSize()) { + u8 cVar1 = *(u8*)local_44; + *puVar10++ = cVar1; + if ((cVar1 != 0xA0) && (cVar1 != 0x98)) + break; + u16 uVar9 = *(u16*)((int)local_44 + 1); + *(u16*)puVar10 = uVar9; + puVar10 += 2; + for (int local_4c = 0; local_4c < uVar9; local_4c++) { + u8* dst; + memcpy(puVar10, &local_44[(local_34 * local_4c) + 4], local_34 - 1); + puVar10 = (u8*)((int)puVar10 + local_34 - 1); + } + local_44 += local_34 * uVar9; + local_44 += 3; + } + int pcVar2 = ((int)puVar10 - (int)puVar5 + 0x1f) & ~0x1f; + while ((int)puVar10 - (int)puVar5 < pShapeNode->getShapeDraw(j)->getDisplayListSize()) { + *puVar10++ = 0; + } + pShapeNode->getShapeDraw(j)->setDisplayListSize(pcVar2); + DCStoreRange(puVar5, pShapeNode->getShapeDraw(j)->getDisplayListSize()); + } + } + } + + for (u16 i = 0; i < param_0->getShapeNum(); i++) { + J3DShape* pShape = param_0->getShapeNodePointer(i); + GXVtxDescList* local_60 = pShape->getVtxDesc(); + for (GXVtxDescList*local_5c = local_60; local_5c->attr != GX_VA_NULL; local_5c++) { + if (local_5c->attr != GX_VA_PNMTXIDX) { + local_60->attr = local_5c->attr; + local_60->type = local_5c->type; + local_60++; + } + } + local_60->attr = GX_VA_NULL; + local_60->type = GX_NONE; + pShape->makeVcdVatCmd(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -222,75 +500,151 @@ asm void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) { #include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/changeFastSkinDL__13J3DSkinDeformFP12J3DModelData.s" } #pragma pop +#endif /* 8032D5C4-8032D738 327F04 0174+00 1/1 0/0 0/0 .text calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::calcNrmMtx(J3DMtxBuffer* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer.s" +void J3DSkinDeform::calcNrmMtx(J3DMtxBuffer* param_0) { + J3DJointTree* jointTree = param_0->getJointTree(); + u16 drawMtxNum = jointTree->getDrawMtxNum(); + for (u16 i = 0; i < drawMtxNum; i++) { + if (jointTree->getDrawMtxFlag(i) == 0) { + if (param_0->getScaleFlag(jointTree->getDrawMtxIndex(i)) == 1) { + setNrmMtx(i, param_0->getAnmMtx(jointTree->getDrawMtxIndex(i))); + } else { + J3DPSCalcInverseTranspose(param_0->getAnmMtx(jointTree->getDrawMtxIndex(i)), getNrmMtx(i)); + } + } else { + if (param_0->getEnvScaleFlag(jointTree->getDrawMtxIndex(i)) == 1) { + setNrmMtx(i, param_0->getWeightAnmMtx(jointTree->getDrawMtxIndex(i))); + } else { + J3DPSCalcInverseTranspose(param_0->getWeightAnmMtx(jointTree->getDrawMtxIndex(i)), getNrmMtx(i)); + } + } + } } -#pragma pop /* 8032D738-8032D87C 328078 0144+00 0/0 1/1 0/0 .text * transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::transformVtxPosNrm(J3DModelData* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData.s" +void J3DSkinDeform::transformVtxPosNrm(J3DModelData* param_0) { + if (param_0->getWEvlpMtxNum() != 0 && field_0x19 == 0) { + int vtmNum = param_0->getVtxNum(); + int nrmNum = param_0->getNrmNum(); + for (int i = 0; i < vtmNum; i++) { + u16 posIndex = mPosData[i]; + if (param_0->getDrawMtxFlag(posIndex) == 0) { + u16 drawMtxIndex = param_0->getDrawMtxIndex(posIndex); + Vec* pos = ((Vec*)param_0->getVtxPosArray()) + i; + Mtx invMtx; + PSMTXInverse(param_0->getInvJointMtx(drawMtxIndex), invMtx); + PSMTXMultVec(invMtx, pos, pos); + } + } + for (int i = 0; i < nrmNum; i++) { + u16 nrmIndex = mNrmData[i]; + if (param_0->getDrawMtxFlag(nrmIndex) == 0) { + u16 drawMtxIndex = param_0->getDrawMtxIndex(nrmIndex); + Vec* nrm = ((Vec*)param_0->getVtxNrmArray()) + i; + Mtx invMtx; + PSMTXInverse(param_0->getInvJointMtx(drawMtxIndex), invMtx); + PSMTXMultVecSR(invMtx, nrm, nrm); + } + } + field_0x19 = 1; + } } -#pragma pop /* 8032D87C-8032D8F4 3281BC 0078+00 1/1 0/0 0/0 .text * calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::calcAnmInvJointMtx(J3DMtxBuffer* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer.s" +void J3DSkinDeform::calcAnmInvJointMtx(J3DMtxBuffer* param_0) { + if (param_0->getJointTree()->getWEvlpMtxNum() != 0) { + u16 jointNum = param_0->getJointTree()->getJointNum(); + Mtx* anmMtx = (Mtx*)param_0->getAnmMtx(0); + Mtx* invJointMtx = ¶m_0->getJointTree()->getInvJointMtx(0); + Mtx* posMtx = mPosMtx; + for (int i = 0; i < jointNum; i++) { + PSMTXConcat(anmMtx[i], invJointMtx[i], posMtx[i]); + } + } } -#pragma pop /* 8032D8F4-8032DA1C 328234 0128+00 1/1 0/0 0/0 .text * deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::deformFastVtxPos_F32(J3DVertexBuffer* param_0, - J3DMtxBuffer* param_1) const { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s" +void J3DSkinDeform::deformFastVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { + param_0->swapTransformedVtxPos(); + J3DJointTree* jointTree = param_1->getJointTree(); + u32 vtxNum = param_0->getVertexData()->getVtxNum(); + void* currentVtxPos = param_0->getCurrentVtxPos(); + void* transformedVtxPos = param_0->getTransformedVtxPos(0); + J3DFillZero32B(transformedVtxPos, (vtxNum * sizeof(Vec) + 0x1f) & ~0x1f); + if (jointTree->getWEvlpMtxNum() != 0) { + u16 jointNum = jointTree->getJointNum(); + for (u16 i = 0; i < jointNum; i++) { + mSkinNList[i].calcSkin_VtxPosF32(mPosMtx[i], currentVtxPos, transformedVtxPos); + } + } else { + u16 jointNum = jointTree->getJointNum(); + for (u16 i = 0; i < jointNum; i++) { + J3DSkinNList* skinList = mSkinNList + i; + skinList->calcSkin_VtxPosF32(param_1->getAnmMtx(i), currentVtxPos, transformedVtxPos); + } + } + DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(Vec)); + param_0->setCurrentVtxPos(transformedVtxPos); } -#pragma pop /* ############################################################################################## */ -/* 8045646C-80456470 004A6C 0004+00 1/1 0/0 0/0 .sdata2 @1578 */ -SECTION_SDATA2 static u8 lit_1578[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; /* 8032DA1C-8032DB50 32835C 0134+00 1/1 0/0 0/0 .text * deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::deformFastVtxNrm_F32(J3DVertexBuffer* param_0, - J3DMtxBuffer* param_1) const { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s" +void J3DSkinDeform::deformFastVtxNrm_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { + param_0->swapTransformedVtxNrm(); + J3DJointTree* jointTree = param_1->getJointTree(); + int nrmNum = param_0->getVertexData()->getNrmNum(); + void* currentVtxNrm = param_0->getCurrentVtxNrm(); + void* transformedVtxNrm = param_0->getTransformedVtxNrm(0); + for (int i = 0; i < nrmNum; i++) { + ((Vec*)transformedVtxNrm)[i].x = 0.0f; + ((Vec*)transformedVtxNrm)[i].y = 0.0f; + ((Vec*)transformedVtxNrm)[i].z = 0.0f; + } + if (jointTree->getWEvlpMtxNum() != 0) { + u16 jointNum = jointTree->getJointNum(); + for (u16 i = 0; i < jointNum; i++) { + mSkinNList[i].calcSkin_VtxNrmF32(mPosMtx[i], currentVtxNrm, transformedVtxNrm); + } + } else { + u16 jointNum = jointTree->getJointNum(); + for (u16 i = 0; i < jointNum; i++) { + J3DSkinNList* skinList = mSkinNList + i; + skinList->calcSkin_VtxNrmF32(param_1->getAnmMtx(i), currentVtxNrm, transformedVtxNrm); + } + } + DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(Vec)); + param_0->setCurrentVtxNrm(transformedVtxNrm); } -#pragma pop /* 8032DB50-8032DC74 328490 0124+00 1/1 0/0 0/0 .text * deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */ +// J3DPSMulMtxVec regalloc +#ifdef NONMATCHING +void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { + Mtx* anmMtxs[2]; + anmMtxs[0] = (Mtx*)param_1->getAnmMtx(0); + anmMtxs[1] = (Mtx*)param_1->getWeightAnmMtx(0); + param_0->swapTransformedVtxPos(); + J3DJointTree* jointTree = param_1->getJointTree(); + int vtxNum = param_0->getVertexData()->getVtxNum(); + void* currentVtxPos = param_0->getCurrentVtxPos(); + void* transformedVtxPos = param_0->getTransformedVtxPos(0); + for (int i = 0; i < vtxNum; i++) { + Mtx* anmMtx = anmMtxs[jointTree->getDrawMtxFlag(mPosData[i])]; + J3DPSMulMtxVec(anmMtx[jointTree->getDrawMtxIndex(mPosData[i])], ((Vec*)currentVtxPos) + i, ((Vec*)transformedVtxPos) + i); + } + DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(Vec)); + param_0->setCurrentVtxPos(transformedVtxPos); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -299,9 +653,31 @@ asm void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* #include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s" } #pragma pop +#endif /* 8032DC74-8032DDB8 3285B4 0144+00 1/1 0/0 0/0 .text * deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */ +// J3DPSMulMtxVec regalloc +#ifdef NONMATCHING +void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { + Mtx* anmMtxs[2]; + anmMtxs[0] = (Mtx*)param_1->getAnmMtx(0); + anmMtxs[1] = (Mtx*)param_1->getWeightAnmMtx(0); + u8 vtxPosFrac = param_0->getVertexData()->getVtxPosFrac(); + J3DGQRSetup7(vtxPosFrac, 7, vtxPosFrac, 7); + param_0->swapTransformedVtxPos(); + J3DJointTree* jointTree = param_1->getJointTree(); + int vtxNum = param_0->getVertexData()->getVtxNum(); + void* currentVtxPos = param_0->getCurrentVtxPos(); + void* transformedVtxPos = param_0->getTransformedVtxPos(0); + for (int i = 0; i < vtxNum; i++) { + Mtx* anmMtx = anmMtxs[jointTree->getDrawMtxFlag(mPosData[i])]; + J3DPSMulMtxVec(anmMtx[jointTree->getDrawMtxIndex(mPosData[i])], ((SVec*)currentVtxPos) + i, ((SVec*)transformedVtxPos) + i); + } + DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(SVec)); + param_0->setCurrentVtxPos(transformedVtxPos); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -310,9 +686,24 @@ asm void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* #include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer.s" } #pragma pop +#endif /* 8032DDB8-8032DEBC 3286F8 0104+00 1/1 0/0 0/0 .text * deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer */ +// J3DPSMulMtxVec regalloc +#ifdef NONMATCHING +void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const { + param_0->swapTransformedVtxNrm(); + int nrmNum = param_0->getVertexData()->getNrmNum(); + void* currentVtxNrm = param_0->getCurrentVtxNrm(); + void* transformedVtxNrm = param_0->getTransformedVtxNrm(0); + for (int i = 0; i < nrmNum; i++) { + J3DPSMulMtxVec(mNrmMtx[mNrmData[i]], ((Vec*)currentVtxNrm) + i, ((Vec*)transformedVtxNrm) + i); + } + DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(Vec)); + param_0->setCurrentVtxNrm(transformedVtxNrm); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -321,9 +712,26 @@ asm void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const { #include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer.s" } #pragma pop +#endif /* 8032DEBC-8032DFDC 3287FC 0120+00 1/1 0/0 0/0 .text * deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer */ +// J3DPSMulMtxVec regalloc +#ifdef NONMATCHING +void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const { + u8 vtxNrmFrac = param_0->getVertexData()->getVtxNrmFrac(); + J3DGQRSetup7(vtxNrmFrac, 7, vtxNrmFrac, 7); + param_0->swapTransformedVtxNrm(); + int nrmNum = param_0->getVertexData()->getNrmNum(); + void* currentVtxNrm = param_0->getCurrentVtxNrm(); + void* transformedVtxNrm = param_0->getTransformedVtxNrm(0); + for (int i = 0; i < nrmNum; i++) { + J3DPSMulMtxVec(mNrmMtx[mNrmData[i]], ((SVec*)currentVtxNrm) + i, ((SVec*)transformedVtxNrm) + i); + } + DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(SVec)); + param_0->setCurrentVtxNrm(transformedVtxNrm); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -332,48 +740,63 @@ asm void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const { #include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer.s" } #pragma pop +#endif /* 8032DFDC-8032E064 32891C 0088+00 0/0 1/1 0/0 .text deform__13J3DSkinDeformFP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::deform(J3DModel* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP8J3DModel.s" +void J3DSkinDeform::deform(J3DModel* param_0) { + if (param_0->checkFlag(4)) { + onFlag(2); + } else { + offFlag(2); + } + + if (param_0->checkFlag(8)) { + onFlag(1); + } else { + offFlag(1); + } + deform(param_0->getVertexBuffer(), param_0->getMtxBuffer()); } -#pragma pop /* 8032E064-8032E180 3289A4 011C+00 1/0 0/0 0/0 .text * deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSkinDeform::deform(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer.s" +void J3DSkinDeform::deform(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) { + if (param_1->getJointTree()->checkFlag(0x100)) { + calcAnmInvJointMtx(param_1); + } + if (checkFlag(2) != 0) { + if (param_1->getJointTree()->checkFlag(0x100)) { + deformFastVtxPos_F32(param_0, param_1); + } else { + if (param_0->getVertexData()->getVtxPosType() == 4) { + deformVtxPos_F32(param_0, param_1); + } else { + deformVtxPos_S16(param_0, param_1); + } + } + } + if (checkFlag(1) != 0) { + if (param_1->getJointTree()->checkFlag(0x100)) { + deformFastVtxNrm_F32(param_0, param_1); + } else { + calcNrmMtx(param_1); + if (param_0->getVertexData()->getVtxNrmType() == 4) { + deformVtxNrm_F32(param_0); + } else { + deformVtxNrm_S16(param_0); + } + } + } } -#pragma pop /* 8032E180-8032E1B0 328AC0 0030+00 0/0 1/1 0/0 .text calc__15J3DVtxColorCalcFP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DVtxColorCalc::calc(J3DModel* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/calc__15J3DVtxColorCalcFP8J3DModel.s" +void J3DVtxColorCalc::calc(J3DModel* param_0) { + calc(param_0->getVertexBuffer()); } -#pragma pop /* 8032E1B0-8032E1F8 328AF0 0048+00 1/0 0/0 0/0 .text __dt__13J3DSkinDeformFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DSkinDeform::~J3DSkinDeform() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DSkinDeform/__dt__13J3DSkinDeformFv.s" -} -#pragma pop +J3DSkinDeform::~J3DSkinDeform() {} /* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/J3DGraphBase/J3DTransform.cpp b/libs/JSystem/J3DGraphBase/J3DTransform.cpp index 823ba92b13..d4c577226a 100644 --- a/libs/JSystem/J3DGraphBase/J3DTransform.cpp +++ b/libs/JSystem/J3DGraphBase/J3DTransform.cpp @@ -32,7 +32,7 @@ extern "C" void J3DScaleNrmMtx__FPA4_fRC3Vec(); extern "C" void J3DScaleNrmMtx33__FPA3_fRC3Vec(); extern "C" void J3DMtxProjConcat__FPA4_fPA4_fPA4_f(); extern "C" void J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl(); -extern "C" extern u8 PSMulUnit01[8]; +extern "C" extern f32 PSMulUnit01[2]; // // External References: @@ -248,6 +248,6 @@ asm void J3DPSMtxArrayConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2 /* ############################################################################################## */ /* 803CD8F8-803CD900 02AA18 0008+00 0/0 2/2 0/0 .data PSMulUnit01 */ -SECTION_DATA extern u8 PSMulUnit01[8] = { - 0x00, 0x00, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, +SECTION_DATA extern f32 PSMulUnit01[2] = { + 0.0f, -1.0f, }; From e1228c7c465a744f061c81d03fe2a11003075d66 Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Sun, 9 Jul 2023 22:34:43 -0700 Subject: [PATCH 2/7] J2DGrafContext: Use inlines from debug, improved parameter names --- include/JSystem/J2DGraph/J2DGrafContext.h | 18 +++++++------- libs/JSystem/J2DGraph/J2DGrafContext.cpp | 29 +++++++++++------------ 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/include/JSystem/J2DGraph/J2DGrafContext.h b/include/JSystem/J2DGraph/J2DGrafContext.h index be64fcc38f..ea04368671 100644 --- a/include/JSystem/J2DGraph/J2DGrafContext.h +++ b/include/JSystem/J2DGraph/J2DGrafContext.h @@ -9,23 +9,23 @@ class J2DGrafContext { public: - /* 802E8B08 */ J2DGrafContext(f32, f32, f32, f32); - /* 802E90C0 */ void scissor(JGeometry::TBox2 const&); + /* 802E8B08 */ J2DGrafContext(f32 x, f32 y, f32 width, f32 height); + /* 802E90C0 */ void scissor(JGeometry::TBox2 const& bounds); void setColor(JUtility::TColor c) { this->setColor(c, c, c, c); } - /* 802E9118 */ void setColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, - JUtility::TColor); + /* 802E9118 */ void setColor(JUtility::TColor colorTL, JUtility::TColor colorTR, + JUtility::TColor colorBR, JUtility::TColor colorBL); /* 802E9234 */ void setLineWidth(u8); - /* 802E9260 */ void fillBox(JGeometry::TBox2 const&); - /* 802E9368 */ void drawFrame(JGeometry::TBox2 const&); - /* 802E9488 */ void line(JGeometry::TVec2, JGeometry::TVec2); - /* 802E9564 */ void lineTo(JGeometry::TVec2); + /* 802E9260 */ void fillBox(JGeometry::TBox2 const& box); + /* 802E9368 */ void drawFrame(JGeometry::TBox2 const& box); + /* 802E9488 */ void line(JGeometry::TVec2 start, JGeometry::TVec2 end); + /* 802E9564 */ void lineTo(JGeometry::TVec2 pos); void lineTo(f32 x, f32 y) { this->lineTo(JGeometry::TVec2(x, y)); } void moveTo(f32 x, f32 y) { this->moveTo(JGeometry::TVec2(x, y)); } void moveTo(JGeometry::TVec2 pos) { mPrevPos = pos; } /* 802E95D4 */ virtual ~J2DGrafContext() {} - /* 802E90E4 */ virtual void place(JGeometry::TBox2 const&); + /* 802E90E4 */ virtual void place(JGeometry::TBox2 const& bounds); /* 802E961C */ virtual void place(f32 x, f32 y, f32 width, f32 height) { JGeometry::TBox2 box(x, y, x + width, y + height); this->place(box); diff --git a/libs/JSystem/J2DGraph/J2DGrafContext.cpp b/libs/JSystem/J2DGraph/J2DGrafContext.cpp index 10f2a10e68..aca7ae58f8 100644 --- a/libs/JSystem/J2DGraph/J2DGrafContext.cpp +++ b/libs/JSystem/J2DGraph/J2DGrafContext.cpp @@ -14,10 +14,8 @@ // /* 802E8B08-802E8BB4 2E3448 00AC+00 0/0 2/2 0/0 .text __ct__14J2DGrafContextFffff */ -J2DGrafContext::J2DGrafContext(f32 left, f32 top, f32 right, f32 bottom) - : mBounds(left, top, left + right, top + bottom), - mScissorBounds(left, top, left + right, top + bottom), mColorTL(-1), mColorTR(-1), - mColorBR(-1), mColorBL(-1) { +J2DGrafContext::J2DGrafContext(f32 x, f32 y, f32 width, f32 height) + : mBounds(x, y, x + width, y + height), mScissorBounds(x, y, x + width, y + height) { JUtility::TColor color(-1); setColor(color); setLineWidth(6); @@ -28,18 +26,19 @@ void J2DGrafContext::setPort() { setScissor(); setup2D(); - f32 x_origin = mBounds.i.x; - f32 y_origin = mBounds.i.y; - f32 width = mBounds.f.x; - f32 height = mBounds.f.y; + JGeometry::TBox2 bounds(mBounds); - if (x_origin < 0.0f) { - x_origin = 0.0f; + if (bounds.i.x < 0.0f) { + bounds.i.x = 0.0f; } - if (y_origin < 0.0f) { - y_origin = 0.0f; + if (bounds.i.y < 0.0f) { + bounds.i.y = 0.0f; } - GXSetViewport(x_origin, y_origin, width - x_origin, height - y_origin, 0.0f, 1.0f); + GXSetViewport(bounds.i.x, bounds.i.y, bounds.getWidth(), bounds.getHeight(), 0.0f, 1.0f); +} + +static inline void GXSetTexCoordGen(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32 mtx) { + GXSetTexCoordGen2(dst, type, src, mtx, GX_FALSE, GX_PTIDENTITY); } /* 802E8C44-802E8E20 2E3584 01DC+00 1/0 1/0 0/0 .text setup2D__14J2DGrafContextFv */ @@ -60,13 +59,13 @@ void J2DGrafContext::setup2D() { GXLoadPosMtxImm(mPosMtx, 0); Mtx mtx; PSMTXIdentity(mtx); - GXLoadTexMtxImm(mtx, 0x3c, GX_MTX3x4); + GXLoadTexMtxImm(mtx, GX_IDENTITY, GX_MTX3x4); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); GXSetCurrentMtx(0); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c, GX_FALSE, 0x7d); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBX8, 0xf); From ad7edbda5d4fa6d60373d83a4527fcf5ee51fc0a Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Sun, 9 Jul 2023 22:35:49 -0700 Subject: [PATCH 3/7] J2DOrthoGraph: improved parameter names --- include/JSystem/J2DGraph/J2DOrthoGraph.h | 21 +++++++-------- libs/JSystem/J2DGraph/J2DOrthoGraph.cpp | 34 ++++++++++++------------ 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/include/JSystem/J2DGraph/J2DOrthoGraph.h b/include/JSystem/J2DGraph/J2DOrthoGraph.h index f17459296c..8c31b878a1 100644 --- a/include/JSystem/J2DGraph/J2DOrthoGraph.h +++ b/include/JSystem/J2DGraph/J2DOrthoGraph.h @@ -7,8 +7,8 @@ class J2DOrthoGraph : public J2DGrafContext { public: /* 802E9670 */ J2DOrthoGraph(); - /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); - /* 802E980C */ void setOrtho(JGeometry::TBox2 const&, f32, f32); + /* 802E96D0 */ J2DOrthoGraph(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near); + /* 802E980C */ void setOrtho(JGeometry::TBox2 const& bounds, f32 far, f32 near); /* 802E987C */ void scissorBounds(JGeometry::TBox2*, JGeometry::TBox2 const*); /* 8000B118 */ virtual ~J2DOrthoGraph() {} @@ -19,9 +19,9 @@ public: f32 getWidthPower() const { return mBounds.getWidth() / mOrtho.getWidth(); } f32 getHeightPower() const { return mBounds.getHeight() / mOrtho.getHeight(); } - void setOrtho(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5) { - JGeometry::TBox2 ortho(param_0, param_1, param_0 + param_2, param_1 + param_3); - setOrtho(ortho, param_4, param_5); + void setOrtho(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near) { + JGeometry::TBox2 ortho(x, y, x + width, y + height); + setOrtho(ortho, far, near); } private: @@ -30,12 +30,11 @@ private: /* 0xD0 */ f32 mFar; }; -void J2DDrawLine(f32 param_0, f32 param_1, f32 param_2, f32 param_3, JUtility::TColor color, +void J2DDrawLine(f32 x1, f32 y1, f32 x2, f32 y2, JUtility::TColor color, int line_width); -void J2DFillBox(f32 param_0, f32 param_1, f32 param_2, f32 param_3, JUtility::TColor color); -void J2DFillBox(JGeometry::TBox2 const& param_0, JUtility::TColor param_1); -void J2DDrawFrame(f32 param_0, f32 param_1, f32 param_2, f32 param_3, JUtility::TColor param_4, - u8 param_5); -void J2DDrawFrame(JGeometry::TBox2 const& param_0, JUtility::TColor param_1, u8 param_2); +void J2DFillBox(f32 x, f32 y, f32 width, f32 height, JUtility::TColor color); +void J2DFillBox(JGeometry::TBox2 const& box, JUtility::TColor color); +void J2DDrawFrame(f32 x, f32 y, f32 width, f32 height, JUtility::TColor color, u8 line_width); +void J2DDrawFrame(JGeometry::TBox2 const& box, JUtility::TColor color, u8 line_width); #endif /* J2DORTHOGRAPH_H */ diff --git a/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp b/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp index 0c2fe29963..75d5e32b60 100644 --- a/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp +++ b/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp @@ -26,11 +26,11 @@ J2DOrthoGraph::J2DOrthoGraph() : J2DGrafContext(0, 0, 0, 0) { } /* 802E96D0-802E97B4 2E4010 00E4+00 0/0 7/7 0/0 .text __ct__13J2DOrthoGraphFffffff */ -J2DOrthoGraph::J2DOrthoGraph(f32 left, f32 top, f32 right, f32 bottom, f32 param_4, f32 param_5) - : J2DGrafContext(left, top, right, bottom) { - mOrtho = JGeometry::TBox2(0, 0, right, bottom); - mNear = -param_5; - mFar = -param_4; +J2DOrthoGraph::J2DOrthoGraph(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near) + : J2DGrafContext(x, y, width, height) { + mOrtho = JGeometry::TBox2(0, 0, width, height); + mNear = -near; + mFar = -far; this->setLookat(); } @@ -72,41 +72,41 @@ void J2DOrthoGraph::scissorBounds(JGeometry::TBox2* param_0, } /* 802E9998-802E9AC4 2E42D8 012C+00 0/0 6/6 0/0 .text J2DDrawLine__FffffQ28JUtility6TColori */ -void J2DDrawLine(f32 param_0, f32 param_1, f32 param_2, f32 param_3, JUtility::TColor color, +void J2DDrawLine(f32 x1, f32 y1, f32 x2, f32 y2, JUtility::TColor color, int line_width) { J2DOrthoGraph oGrph; oGrph.setLineWidth(line_width); oGrph.setColor(color); - oGrph.moveTo(param_0, param_1); - oGrph.lineTo(param_2, param_3); + oGrph.moveTo(x1, y1); + oGrph.lineTo(x2, y2); } /* 802E9AC4-802E9B0C 2E4404 0048+00 0/0 10/10 0/0 .text J2DFillBox__FffffQ28JUtility6TColor */ -void J2DFillBox(f32 param_0, f32 param_1, f32 param_2, f32 param_3, JUtility::TColor color) { - J2DFillBox(JGeometry::TBox2(param_0, param_1, param_0 + param_2, param_1 + param_3), +void J2DFillBox(f32 x, f32 y, f32 width, f32 height, JUtility::TColor color) { + J2DFillBox(JGeometry::TBox2(x, y, x + width, y + height), color); } /* 802E9B0C-802E9B9C 2E444C 0090+00 1/1 0/0 0/0 .text * J2DFillBox__FRCQ29JGeometry8TBox2Q28JUtility6TColor */ -void J2DFillBox(JGeometry::TBox2 const& param_0, JUtility::TColor param_1) { +void J2DFillBox(JGeometry::TBox2 const& box, JUtility::TColor color) { J2DOrthoGraph oGrph; - oGrph.setColor(param_1); - oGrph.fillBox(param_0); + oGrph.setColor(color); + oGrph.fillBox(box); } /* 802E9B9C-802E9BE8 2E44DC 004C+00 0/0 5/5 0/0 .text J2DDrawFrame__FffffQ28JUtility6TColorUc */ -void J2DDrawFrame(f32 param_0, f32 param_1, f32 param_2, f32 param_3, JUtility::TColor color, +void J2DDrawFrame(f32 x, f32 y, f32 width, f32 height, JUtility::TColor color, u8 line_width) { - J2DDrawFrame(JGeometry::TBox2(param_0, param_1, param_0 + param_2, param_1 + param_3), + J2DDrawFrame(JGeometry::TBox2(x, y, x + width, y + height), color, line_width); } /* 802E9BE8-802E9C88 2E4528 00A0+00 1/1 0/0 0/0 .text * J2DDrawFrame__FRCQ29JGeometry8TBox2Q28JUtility6TColorUc */ -void J2DDrawFrame(JGeometry::TBox2 const& param_0, JUtility::TColor color, u8 line_width) { +void J2DDrawFrame(JGeometry::TBox2 const& box, JUtility::TColor color, u8 line_width) { J2DOrthoGraph oGrph; oGrph.setColor(color); oGrph.setLineWidth(line_width); - oGrph.drawFrame(param_0); + oGrph.drawFrame(box); } From bd91b6ffb55b069c69da4d916b41a9c9a988732b Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Sat, 15 Jul 2023 13:01:28 -0700 Subject: [PATCH 4/7] J2DMatBlock --- Progress.md | 8 +- .../J2DMatBlock/__ct__11J2DTevOrderFv.s | 9 - .../J2DMatBlock/__ct__11J2DTevStageFv.s | 27 - .../__ct__19J2DTevSwapModeTableFv.s | 4 - ...etTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s | 42 -- .../J2DMatBlock/initialize__10J2DPEBlockFv.s | 18 - .../initialize__14J2DTexGenBlockFv.s | 27 - ...12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette.s | 217 ------ .../J2DMatBlock/setGX__10J2DPEBlockFv.s | 25 - .../J2DMatBlock/setGX__12J2DTevBlock1Fv.s | 155 ---- .../J2DMatBlock/setGX__12J2DTevBlock2Fv.s | 206 ------ .../J2DMatBlock/setGX__12J2DTevBlock4Fv.s | 206 ------ .../J2DMatBlock/setGX__12J2DTevBlock8Fv.s | 206 ------ .../J2DMatBlock/setGX__13J2DColorBlockFv.s | 63 -- .../J2DMatBlock/setGX__13J2DTevBlock16Fv.s | 206 ------ .../J2DMatBlock/setGX__14J2DTexGenBlockFv.s | 50 -- .../J2DMatBlock/setGX__15J2DIndBlockFullFv.s | 58 -- ...5J2DIndBlockFullFUl19J2DIndTexCoordScale.s | 8 - ...xMtx__15J2DIndBlockFullFUl12J2DIndTexMtx.s | 25 - ...er__15J2DIndBlockFullFUl14J2DIndTexOrder.s | 8 - ...eInfo__11J2DTevStageFRC15J2DTevStageInfo.s | 119 ---- ...etTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s | 85 --- .../shiftDeleteFlag__12J2DTevBlock2FUcb.s | 37 - .../shiftDeleteFlag__12J2DTevBlock4FUcb.s | 37 - .../shiftDeleteFlag__12J2DTevBlock8FUcb.s | 29 - .../shiftDeleteFlag__13J2DTevBlock16FUcb.s | 29 - include/JSystem/J2DGraph/J2DGrafContext.h | 13 +- include/JSystem/J2DGraph/J2DMatBlock.h | 26 +- include/JSystem/J2DGraph/J2DTevs.h | 138 +++- libs/JSystem/J2DGraph/J2DMatBlock.cpp | 662 ++++++++++++------ 30 files changed, 612 insertions(+), 2131 deletions(-) delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevStageFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/initialize__10J2DPEBlockFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/initialize__14J2DTexGenBlockFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__10J2DPEBlockFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock1Fv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock2Fv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock4Fv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock8Fv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DColorBlockFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DTevBlock16Fv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__14J2DTexGenBlockFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setGX__15J2DIndBlockFullFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock2FUcb.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock4FUcb.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock8FUcb.s delete mode 100644 asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__13J2DTevBlock16FUcb.s diff --git a/Progress.md b/Progress.md index bbb782c917..2b6f2187c4 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 | 28.487793% | 1024576 | 3596544 +.text | 28.680867% | 1031520 | 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 | 36.026614% | 1448512 | 4020672 +Total | 36.199322% | 1455456 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 36.026614% | 1448512 | 4020672 +main.dol | 36.199322% | 1455456 | 4020672 RELs | 33.847533% | 3892576 | 11500324 -Total | 34.412018% | 5341088 | 15520996 +Total | 34.456758% | 5348032 | 15520996 ## RELs diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s deleted file mode 100644 index 0d69d27204..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802F1B70: -/* 802F1B70 88 02 C7 80 */ lbz r0, j2dDefaultTevOrderInfoNull(r2) -/* 802F1B74 98 03 00 00 */ stb r0, 0(r3) -/* 802F1B78 38 82 C7 80 */ la r4, j2dDefaultTevOrderInfoNull(r2) /* 80456180-_SDA2_BASE_ */ -/* 802F1B7C 88 04 00 01 */ lbz r0, 1(r4) -/* 802F1B80 98 03 00 01 */ stb r0, 1(r3) -/* 802F1B84 88 04 00 02 */ lbz r0, 2(r4) -/* 802F1B88 98 03 00 02 */ stb r0, 2(r3) -/* 802F1B8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevStageFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevStageFv.s deleted file mode 100644 index 70eb2b2a30..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevStageFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802F1940: -/* 802F1940 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F1944 7C 08 02 A6 */ mflr r0 -/* 802F1948 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F194C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F1950 7C 7F 1B 78 */ mr r31, r3 -/* 802F1954 3C 80 80 3A */ lis r4, j2dDefaultTevStageInfo@ha /* 0x803A1BE0@ha */ -/* 802F1958 38 84 1B E0 */ addi r4, r4, j2dDefaultTevStageInfo@l /* 0x803A1BE0@l */ -/* 802F195C 48 00 00 4D */ bl setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo -/* 802F1960 88 1F 00 07 */ lbz r0, 7(r31) -/* 802F1964 54 04 07 B6 */ rlwinm r4, r0, 0, 0x1e, 0x1b -/* 802F1968 38 62 C7 98 */ la r3, j2dDefaultTevSwapMode(r2) /* 80456198-_SDA2_BASE_ */ -/* 802F196C 88 03 00 01 */ lbz r0, 1(r3) -/* 802F1970 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d -/* 802F1974 7C 80 03 78 */ or r0, r4, r0 -/* 802F1978 98 1F 00 07 */ stb r0, 7(r31) -/* 802F197C 88 1F 00 07 */ lbz r0, 7(r31) -/* 802F1980 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d -/* 802F1984 88 02 C7 98 */ lbz r0, j2dDefaultTevSwapMode(r2) -/* 802F1988 7C 60 03 78 */ or r0, r3, r0 -/* 802F198C 98 1F 00 07 */ stb r0, 7(r31) -/* 802F1990 7F E3 FB 78 */ mr r3, r31 -/* 802F1994 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F1998 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F199C 7C 08 03 A6 */ mtlr r0 -/* 802F19A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F19A4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s deleted file mode 100644 index 83b04db90a..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_802F1934: -/* 802F1934 88 02 C7 AC */ lbz r0, data_804561AC(r2) -/* 802F1938 98 03 00 00 */ stb r0, 0(r3) -/* 802F193C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s b/asm/JSystem/J2DGraph/J2DMatBlock/getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s deleted file mode 100644 index 7398db2f14..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_802EB7E0: -/* 802EB7E0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802EB7E4 54 80 10 3A */ slwi r0, r4, 2 -/* 802EB7E8 7C 63 02 14 */ add r3, r3, r0 -/* 802EB7EC 80 63 00 24 */ lwz r3, 0x24(r3) -/* 802EB7F0 28 03 00 00 */ cmplwi r3, 0 -/* 802EB7F4 41 82 00 80 */ beq lbl_802EB874 -/* 802EB7F8 38 C1 00 04 */ addi r6, r1, 4 -/* 802EB7FC 38 83 FF FC */ addi r4, r3, -4 -/* 802EB800 38 00 00 04 */ li r0, 4 -/* 802EB804 7C 09 03 A6 */ mtctr r0 -lbl_802EB808: -/* 802EB808 80 64 00 04 */ lwz r3, 4(r4) -/* 802EB80C 84 04 00 08 */ lwzu r0, 8(r4) -/* 802EB810 90 66 00 04 */ stw r3, 4(r6) -/* 802EB814 94 06 00 08 */ stwu r0, 8(r6) -/* 802EB818 42 00 FF F0 */ bdnz lbl_802EB808 -/* 802EB81C 80 04 00 04 */ lwz r0, 4(r4) -/* 802EB820 90 06 00 04 */ stw r0, 4(r6) -/* 802EB824 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802EB828 D0 05 00 04 */ stfs f0, 4(r5) -/* 802EB82C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 802EB830 D0 05 00 08 */ stfs f0, 8(r5) -/* 802EB834 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 802EB838 D0 05 00 0C */ stfs f0, 0xc(r5) -/* 802EB83C 88 01 00 08 */ lbz r0, 8(r1) -/* 802EB840 98 05 00 00 */ stb r0, 0(r5) -/* 802EB844 88 01 00 09 */ lbz r0, 9(r1) -/* 802EB848 98 05 00 01 */ stb r0, 1(r5) -/* 802EB84C C0 01 00 18 */ lfs f0, 0x18(r1) -/* 802EB850 D0 05 00 10 */ stfs f0, 0x10(r5) -/* 802EB854 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802EB858 D0 05 00 14 */ stfs f0, 0x14(r5) -/* 802EB85C C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802EB860 D0 05 00 18 */ stfs f0, 0x18(r5) -/* 802EB864 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 802EB868 D0 05 00 1C */ stfs f0, 0x1c(r5) -/* 802EB86C C0 01 00 28 */ lfs f0, 0x28(r1) -/* 802EB870 D0 05 00 20 */ stfs f0, 0x20(r5) -lbl_802EB874: -/* 802EB874 38 21 00 30 */ addi r1, r1, 0x30 -/* 802EB878 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/initialize__10J2DPEBlockFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/initialize__10J2DPEBlockFv.s deleted file mode 100644 index 565d4ec171..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/initialize__10J2DPEBlockFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802F17FC: -/* 802F17FC A0 02 C7 AE */ lhz r0, j2dDefaultAlphaCmp(r2) -/* 802F1800 B0 03 00 00 */ sth r0, 0(r3) -/* 802F1804 38 00 00 00 */ li r0, 0 -/* 802F1808 98 03 00 02 */ stb r0, 2(r3) -/* 802F180C 98 03 00 03 */ stb r0, 3(r3) -/* 802F1810 88 02 C7 A0 */ lbz r0, j2dDefaultBlendInfo(r2) -/* 802F1814 98 03 00 04 */ stb r0, 4(r3) -/* 802F1818 38 82 C7 A0 */ la r4, j2dDefaultBlendInfo(r2) /* 804561A0-_SDA2_BASE_ */ -/* 802F181C 88 04 00 01 */ lbz r0, 1(r4) -/* 802F1820 98 03 00 05 */ stb r0, 5(r3) -/* 802F1824 88 04 00 02 */ lbz r0, 2(r4) -/* 802F1828 98 03 00 06 */ stb r0, 6(r3) -/* 802F182C 88 04 00 03 */ lbz r0, 3(r4) -/* 802F1830 98 03 00 07 */ stb r0, 7(r3) -/* 802F1834 88 02 C7 A4 */ lbz r0, data_804561A4(r2) -/* 802F1838 98 03 00 08 */ stb r0, 8(r3) -/* 802F183C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/initialize__14J2DTexGenBlockFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/initialize__14J2DTexGenBlockFv.s deleted file mode 100644 index d63a996b22..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/initialize__14J2DTexGenBlockFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802EB510: -/* 802EB510 38 A0 00 00 */ li r5, 0 -/* 802EB514 90 A3 00 00 */ stw r5, 0(r3) -/* 802EB518 3C 80 80 3A */ lis r4, j2dDefaultTexCoordInfo@ha /* 0x803A1B80@ha */ -/* 802EB51C 38 84 1B 80 */ addi r4, r4, j2dDefaultTexCoordInfo@l /* 0x803A1B80@l */ -/* 802EB520 38 00 00 08 */ li r0, 8 -/* 802EB524 7C 09 03 A6 */ mtctr r0 -lbl_802EB528: -/* 802EB528 88 04 00 00 */ lbz r0, 0(r4) -/* 802EB52C 7C C3 2A 14 */ add r6, r3, r5 -/* 802EB530 98 06 00 04 */ stb r0, 4(r6) -/* 802EB534 88 04 00 01 */ lbz r0, 1(r4) -/* 802EB538 98 06 00 05 */ stb r0, 5(r6) -/* 802EB53C 88 04 00 02 */ lbz r0, 2(r4) -/* 802EB540 98 06 00 06 */ stb r0, 6(r6) -/* 802EB544 38 A5 00 04 */ addi r5, r5, 4 -/* 802EB548 42 00 FF E0 */ bdnz lbl_802EB528 -/* 802EB54C 38 80 00 00 */ li r4, 0 -/* 802EB550 38 A0 00 00 */ li r5, 0 -/* 802EB554 38 00 00 08 */ li r0, 8 -/* 802EB558 7C 09 03 A6 */ mtctr r0 -lbl_802EB55C: -/* 802EB55C 38 04 00 24 */ addi r0, r4, 0x24 -/* 802EB560 7C A3 01 2E */ stwx r5, r3, r0 -/* 802EB564 38 84 00 04 */ addi r4, r4, 4 -/* 802EB568 42 00 FF F4 */ bdnz lbl_802EB55C -/* 802EB56C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette.s b/asm/JSystem/J2DGraph/J2DMatBlock/insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette.s deleted file mode 100644 index 024abd8586..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette.s +++ /dev/null @@ -1,217 +0,0 @@ -lbl_802ECAE8: -/* 802ECAE8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802ECAEC 7C 08 02 A6 */ mflr r0 -/* 802ECAF0 90 01 00 34 */ stw r0, 0x34(r1) -/* 802ECAF4 39 61 00 30 */ addi r11, r1, 0x30 -/* 802ECAF8 48 07 56 D5 */ bl _savegpr_25 -/* 802ECAFC 7C 7A 1B 78 */ mr r26, r3 -/* 802ECB00 7C 9B 23 78 */ mr r27, r4 -/* 802ECB04 7C BC 2B 78 */ mr r28, r5 -/* 802ECB08 7C DD 33 78 */ mr r29, r6 -/* 802ECB0C 28 1B 00 02 */ cmplwi r27, 2 -/* 802ECB10 40 80 00 0C */ bge lbl_802ECB1C -/* 802ECB14 28 1C 00 00 */ cmplwi r28, 0 -/* 802ECB18 40 82 00 0C */ bne lbl_802ECB24 -lbl_802ECB1C: -/* 802ECB1C 38 60 00 00 */ li r3, 0 -/* 802ECB20 48 00 02 B0 */ b lbl_802ECDD0 -lbl_802ECB24: -/* 802ECB24 3B C0 00 00 */ li r30, 0 -/* 802ECB28 48 00 00 28 */ b lbl_802ECB50 -lbl_802ECB2C: -/* 802ECB2C 57 C3 15 BA */ rlwinm r3, r30, 2, 0x16, 0x1d -/* 802ECB30 38 03 00 64 */ addi r0, r3, 0x64 -/* 802ECB34 7C 7A 00 2E */ lwzx r3, r26, r0 -/* 802ECB38 28 03 00 00 */ cmplwi r3, 0 -/* 802ECB3C 41 82 00 20 */ beq lbl_802ECB5C -/* 802ECB40 80 03 00 20 */ lwz r0, 0x20(r3) -/* 802ECB44 28 00 00 00 */ cmplwi r0, 0 -/* 802ECB48 41 82 00 14 */ beq lbl_802ECB5C -/* 802ECB4C 3B DE 00 01 */ addi r30, r30, 1 -lbl_802ECB50: -/* 802ECB50 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 802ECB54 28 00 00 02 */ cmplwi r0, 2 -/* 802ECB58 41 80 FF D4 */ blt lbl_802ECB2C -lbl_802ECB5C: -/* 802ECB5C 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 802ECB60 7C 00 D8 40 */ cmplw r0, r27 -/* 802ECB64 40 80 00 0C */ bge lbl_802ECB70 -/* 802ECB68 38 60 00 00 */ li r3, 0 -/* 802ECB6C 48 00 02 64 */ b lbl_802ECDD0 -lbl_802ECB70: -/* 802ECB70 28 00 00 02 */ cmplwi r0, 2 -/* 802ECB74 40 82 00 0C */ bne lbl_802ECB80 -/* 802ECB78 38 60 00 00 */ li r3, 0 -/* 802ECB7C 48 00 02 54 */ b lbl_802ECDD0 -lbl_802ECB80: -/* 802ECB80 3B 20 00 00 */ li r25, 0 -/* 802ECB84 88 1C 00 08 */ lbz r0, 8(r28) -/* 802ECB88 28 00 00 00 */ cmplwi r0, 0 -/* 802ECB8C 41 82 00 48 */ beq lbl_802ECBD4 -/* 802ECB90 28 1D 00 00 */ cmplwi r29, 0 -/* 802ECB94 40 82 00 40 */ bne lbl_802ECBD4 -/* 802ECB98 80 9A 00 64 */ lwz r4, 0x64(r26) -/* 802ECB9C 28 04 00 00 */ cmplwi r4, 0 -/* 802ECBA0 41 82 00 34 */ beq lbl_802ECBD4 -/* 802ECBA4 80 64 00 20 */ lwz r3, 0x20(r4) -/* 802ECBA8 28 03 00 00 */ cmplwi r3, 0 -/* 802ECBAC 41 82 00 28 */ beq lbl_802ECBD4 -/* 802ECBB0 88 03 00 08 */ lbz r0, 8(r3) -/* 802ECBB4 28 00 00 00 */ cmplwi r0, 0 -/* 802ECBB8 41 82 00 1C */ beq lbl_802ECBD4 -/* 802ECBBC 88 04 00 3A */ lbz r0, 0x3a(r4) -/* 802ECBC0 2C 00 00 00 */ cmpwi r0, 0 -/* 802ECBC4 41 82 00 0C */ beq lbl_802ECBD0 -/* 802ECBC8 2C 00 00 10 */ cmpwi r0, 0x10 -/* 802ECBCC 40 82 00 08 */ bne lbl_802ECBD4 -lbl_802ECBD0: -/* 802ECBD0 3B 20 00 01 */ li r25, 1 -lbl_802ECBD4: -/* 802ECBD4 57 C0 15 BA */ rlwinm r0, r30, 2, 0x16, 0x1d -/* 802ECBD8 7C 7A 02 14 */ add r3, r26, r0 -/* 802ECBDC 83 E3 00 64 */ lwz r31, 0x64(r3) -/* 802ECBE0 28 1F 00 00 */ cmplwi r31, 0 -/* 802ECBE4 40 82 00 BC */ bne lbl_802ECCA0 -/* 802ECBE8 38 60 00 40 */ li r3, 0x40 -/* 802ECBEC 4B FE 20 61 */ bl __nw__FUl -/* 802ECBF0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802ECBF4 41 82 00 24 */ beq lbl_802ECC18 -/* 802ECBF8 38 00 00 00 */ li r0, 0 -/* 802ECBFC 90 1E 00 28 */ stw r0, 0x28(r30) -/* 802ECC00 7F 84 E3 78 */ mr r4, r28 -/* 802ECC04 7F 25 CB 78 */ mr r5, r25 -/* 802ECC08 4B FF 16 A1 */ bl storeTIMG__10JUTTextureFPC7ResTIMGUc -/* 802ECC0C 88 1E 00 3B */ lbz r0, 0x3b(r30) -/* 802ECC10 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e -/* 802ECC14 98 1E 00 3B */ stb r0, 0x3b(r30) -lbl_802ECC18: -/* 802ECC18 28 1E 00 00 */ cmplwi r30, 0 -/* 802ECC1C 40 82 00 0C */ bne lbl_802ECC28 -/* 802ECC20 38 60 00 00 */ li r3, 0 -/* 802ECC24 48 00 01 AC */ b lbl_802ECDD0 -lbl_802ECC28: -/* 802ECC28 28 1D 00 00 */ cmplwi r29, 0 -/* 802ECC2C 41 82 00 14 */ beq lbl_802ECC40 -/* 802ECC30 7F C3 F3 78 */ mr r3, r30 -/* 802ECC34 7F 84 E3 78 */ mr r4, r28 -/* 802ECC38 7F A5 EB 78 */ mr r5, r29 -/* 802ECC3C 4B FF 18 11 */ bl storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette -lbl_802ECC40: -/* 802ECC40 28 1B 00 00 */ cmplwi r27, 0 -/* 802ECC44 40 82 00 1C */ bne lbl_802ECC60 -/* 802ECC48 80 1A 00 64 */ lwz r0, 0x64(r26) -/* 802ECC4C 90 1A 00 68 */ stw r0, 0x68(r26) -/* 802ECC50 80 1A 00 6C */ lwz r0, 0x6c(r26) -/* 802ECC54 90 1A 00 70 */ stw r0, 0x70(r26) -/* 802ECC58 A0 1A 00 04 */ lhz r0, 4(r26) -/* 802ECC5C B0 1A 00 06 */ sth r0, 6(r26) -lbl_802ECC60: -/* 802ECC60 57 60 10 3A */ slwi r0, r27, 2 -/* 802ECC64 7C 7A 02 14 */ add r3, r26, r0 -/* 802ECC68 93 C3 00 64 */ stw r30, 0x64(r3) -/* 802ECC6C 7F 43 D3 78 */ mr r3, r26 -/* 802ECC70 57 64 06 3E */ clrlwi r4, r27, 0x18 -/* 802ECC74 38 A0 00 01 */ li r5, 1 -/* 802ECC78 81 9A 00 00 */ lwz r12, 0(r26) -/* 802ECC7C 81 8C 00 AC */ lwz r12, 0xac(r12) -/* 802ECC80 7D 89 03 A6 */ mtctr r12 -/* 802ECC84 4E 80 04 21 */ bctrl -/* 802ECC88 88 7A 00 78 */ lbz r3, 0x78(r26) -/* 802ECC8C 38 00 00 01 */ li r0, 1 -/* 802ECC90 7C 00 D8 30 */ slw r0, r0, r27 -/* 802ECC94 7C 60 03 78 */ or r0, r3, r0 -/* 802ECC98 98 1A 00 78 */ stb r0, 0x78(r26) -/* 802ECC9C 48 00 01 0C */ b lbl_802ECDA8 -lbl_802ECCA0: -/* 802ECCA0 28 1D 00 00 */ cmplwi r29, 0 -/* 802ECCA4 40 82 00 18 */ bne lbl_802ECCBC -/* 802ECCA8 7F E3 FB 78 */ mr r3, r31 -/* 802ECCAC 7F 84 E3 78 */ mr r4, r28 -/* 802ECCB0 7F 25 CB 78 */ mr r5, r25 -/* 802ECCB4 4B FF 15 F5 */ bl storeTIMG__10JUTTextureFPC7ResTIMGUc -/* 802ECCB8 48 00 00 14 */ b lbl_802ECCCC -lbl_802ECCBC: -/* 802ECCBC 7F E3 FB 78 */ mr r3, r31 -/* 802ECCC0 7F 84 E3 78 */ mr r4, r28 -/* 802ECCC4 7F A5 EB 78 */ mr r5, r29 -/* 802ECCC8 4B FF 17 85 */ bl storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette -lbl_802ECCCC: -/* 802ECCCC 38 E0 00 00 */ li r7, 0 -/* 802ECCD0 38 C0 00 01 */ li r6, 1 -/* 802ECCD4 38 61 00 08 */ addi r3, r1, 8 -/* 802ECCD8 48 00 00 24 */ b lbl_802ECCFC -lbl_802ECCDC: -/* 802ECCDC 88 9A 00 78 */ lbz r4, 0x78(r26) -/* 802ECCE0 54 E5 06 3E */ clrlwi r5, r7, 0x18 -/* 802ECCE4 7C C0 28 30 */ slw r0, r6, r5 -/* 802ECCE8 7C 84 00 38 */ and r4, r4, r0 -/* 802ECCEC 30 04 FF FF */ addic r0, r4, -1 -/* 802ECCF0 7C 00 21 10 */ subfe r0, r0, r4 -/* 802ECCF4 7C 03 29 AE */ stbx r0, r3, r5 -/* 802ECCF8 38 E7 00 01 */ addi r7, r7, 1 -lbl_802ECCFC: -/* 802ECCFC 54 E0 06 3E */ clrlwi r0, r7, 0x18 -/* 802ECD00 28 00 00 02 */ cmplwi r0, 2 -/* 802ECD04 41 80 FF D8 */ blt lbl_802ECCDC -/* 802ECD08 28 1B 00 00 */ cmplwi r27, 0 -/* 802ECD0C 40 82 00 30 */ bne lbl_802ECD3C -/* 802ECD10 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 802ECD14 28 00 00 01 */ cmplwi r0, 1 -/* 802ECD18 40 82 00 24 */ bne lbl_802ECD3C -/* 802ECD1C 80 1A 00 64 */ lwz r0, 0x64(r26) -/* 802ECD20 90 1A 00 68 */ stw r0, 0x68(r26) -/* 802ECD24 80 1A 00 6C */ lwz r0, 0x6c(r26) -/* 802ECD28 90 1A 00 70 */ stw r0, 0x70(r26) -/* 802ECD2C A0 1A 00 04 */ lhz r0, 4(r26) -/* 802ECD30 B0 1A 00 06 */ sth r0, 6(r26) -/* 802ECD34 88 01 00 08 */ lbz r0, 8(r1) -/* 802ECD38 98 01 00 09 */ stb r0, 9(r1) -lbl_802ECD3C: -/* 802ECD3C 57 60 10 3A */ slwi r0, r27, 2 -/* 802ECD40 7C 7A 02 14 */ add r3, r26, r0 -/* 802ECD44 93 E3 00 64 */ stw r31, 0x64(r3) -/* 802ECD48 88 1A 00 78 */ lbz r0, 0x78(r26) -/* 802ECD4C 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18 -/* 802ECD50 98 1A 00 78 */ stb r0, 0x78(r26) -/* 802ECD54 38 E0 00 00 */ li r7, 0 -/* 802ECD58 38 A1 00 08 */ addi r5, r1, 8 -/* 802ECD5C 38 60 00 01 */ li r3, 1 -/* 802ECD60 48 00 00 28 */ b lbl_802ECD88 -lbl_802ECD64: -/* 802ECD64 54 E6 06 3E */ clrlwi r6, r7, 0x18 -/* 802ECD68 7C 05 30 AE */ lbzx r0, r5, r6 -/* 802ECD6C 28 00 00 00 */ cmplwi r0, 0 -/* 802ECD70 41 82 00 14 */ beq lbl_802ECD84 -/* 802ECD74 88 9A 00 78 */ lbz r4, 0x78(r26) -/* 802ECD78 7C 60 30 30 */ slw r0, r3, r6 -/* 802ECD7C 7C 80 03 78 */ or r0, r4, r0 -/* 802ECD80 98 1A 00 78 */ stb r0, 0x78(r26) -lbl_802ECD84: -/* 802ECD84 38 E7 00 01 */ addi r7, r7, 1 -lbl_802ECD88: -/* 802ECD88 54 E0 06 3E */ clrlwi r0, r7, 0x18 -/* 802ECD8C 28 00 00 02 */ cmplwi r0, 2 -/* 802ECD90 41 80 FF D4 */ blt lbl_802ECD64 -/* 802ECD94 88 7A 00 78 */ lbz r3, 0x78(r26) -/* 802ECD98 38 00 00 01 */ li r0, 1 -/* 802ECD9C 7C 00 D8 30 */ slw r0, r0, r27 -/* 802ECDA0 7C 60 03 78 */ or r0, r3, r0 -/* 802ECDA4 98 1A 00 78 */ stb r0, 0x78(r26) -lbl_802ECDA8: -/* 802ECDA8 38 80 00 00 */ li r4, 0 -/* 802ECDAC 57 60 10 3A */ slwi r0, r27, 2 -/* 802ECDB0 7C 7A 02 14 */ add r3, r26, r0 -/* 802ECDB4 90 83 00 6C */ stw r4, 0x6c(r3) -/* 802ECDB8 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802ECDBC 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802ECDC0 57 60 08 3C */ slwi r0, r27, 1 -/* 802ECDC4 7C 7A 02 14 */ add r3, r26, r0 -/* 802ECDC8 B0 83 00 04 */ sth r4, 4(r3) -/* 802ECDCC 38 60 00 01 */ li r3, 1 -lbl_802ECDD0: -/* 802ECDD0 39 61 00 30 */ addi r11, r1, 0x30 -/* 802ECDD4 48 07 54 45 */ bl _restgpr_25 -/* 802ECDD8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802ECDDC 7C 08 03 A6 */ mtlr r0 -/* 802ECDE0 38 21 00 30 */ addi r1, r1, 0x30 -/* 802ECDE4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__10J2DPEBlockFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__10J2DPEBlockFv.s deleted file mode 100644 index 56a3ce43fa..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__10J2DPEBlockFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802F1840: -/* 802F1840 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F1844 7C 08 02 A6 */ mflr r0 -/* 802F1848 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F184C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F1850 7C 7F 1B 78 */ mr r31, r3 -/* 802F1854 A0 03 00 00 */ lhz r0, 0(r3) -/* 802F1858 54 03 DF 7E */ rlwinm r3, r0, 0x1b, 0x1d, 0x1f -/* 802F185C 88 9F 00 02 */ lbz r4, 2(r31) -/* 802F1860 54 05 EF BE */ rlwinm r5, r0, 0x1d, 0x1e, 0x1f -/* 802F1864 54 06 07 7E */ clrlwi r6, r0, 0x1d -/* 802F1868 88 FF 00 03 */ lbz r7, 3(r31) -/* 802F186C 48 06 DD B9 */ bl GXSetAlphaCompare -/* 802F1870 88 7F 00 04 */ lbz r3, 4(r31) -/* 802F1874 88 9F 00 05 */ lbz r4, 5(r31) -/* 802F1878 88 BF 00 06 */ lbz r5, 6(r31) -/* 802F187C 88 DF 00 07 */ lbz r6, 7(r31) -/* 802F1880 48 06 E3 71 */ bl GXSetBlendMode -/* 802F1884 88 7F 00 08 */ lbz r3, 8(r31) -/* 802F1888 48 06 E5 51 */ bl GXSetDither -/* 802F188C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F1890 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F1894 7C 08 03 A6 */ mtlr r0 -/* 802F1898 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F189C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock1Fv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock1Fv.s deleted file mode 100644 index e9b7464a11..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock1Fv.s +++ /dev/null @@ -1,155 +0,0 @@ -lbl_802EC328: -/* 802EC328 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802EC32C 7C 08 02 A6 */ mflr r0 -/* 802EC330 90 01 00 34 */ stw r0, 0x34(r1) -/* 802EC334 39 61 00 30 */ addi r11, r1, 0x30 -/* 802EC338 48 07 5E A1 */ bl _savegpr_28 -/* 802EC33C 7C 7F 1B 78 */ mr r31, r3 -/* 802EC340 38 80 00 00 */ li r4, 0 -/* 802EC344 38 A0 00 00 */ li r5, 0 -/* 802EC348 81 83 00 00 */ lwz r12, 0(r3) -/* 802EC34C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802EC350 7D 89 03 A6 */ mtctr r12 -/* 802EC354 4E 80 04 21 */ bctrl -/* 802EC358 38 60 00 00 */ li r3, 0 -/* 802EC35C 88 9F 00 08 */ lbz r4, 8(r31) -/* 802EC360 88 BF 00 09 */ lbz r5, 9(r31) -/* 802EC364 88 DF 00 0A */ lbz r6, 0xa(r31) -/* 802EC368 48 07 33 8D */ bl GXSetTevOrder -/* 802EC36C 3B 80 00 00 */ li r28, 0 -/* 802EC370 3B C0 00 00 */ li r30, 0 -/* 802EC374 3B A1 00 0C */ addi r29, r1, 0xc -lbl_802EC378: -/* 802EC378 38 1E 00 0C */ addi r0, r30, 0xc -/* 802EC37C 7C 9F 02 14 */ add r4, r31, r0 -/* 802EC380 80 64 00 00 */ lwz r3, 0(r4) -/* 802EC384 80 04 00 04 */ lwz r0, 4(r4) -/* 802EC388 90 61 00 0C */ stw r3, 0xc(r1) -/* 802EC38C 90 01 00 10 */ stw r0, 0x10(r1) -/* 802EC390 2C 1C 00 03 */ cmpwi r28, 3 -/* 802EC394 38 60 00 00 */ li r3, 0 -/* 802EC398 41 82 00 08 */ beq lbl_802EC3A0 -/* 802EC39C 38 7C 00 01 */ addi r3, r28, 1 -lbl_802EC3A0: -/* 802EC3A0 7F A4 EB 78 */ mr r4, r29 -/* 802EC3A4 48 07 30 39 */ bl GXSetTevColorS10 -/* 802EC3A8 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EC3AC 2C 1C 00 04 */ cmpwi r28, 4 -/* 802EC3B0 3B DE 00 08 */ addi r30, r30, 8 -/* 802EC3B4 41 80 FF C4 */ blt lbl_802EC378 -/* 802EC3B8 38 60 00 01 */ li r3, 1 -/* 802EC3BC 48 07 34 D5 */ bl GXSetNumTevStages -/* 802EC3C0 88 1F 00 2F */ lbz r0, 0x2f(r31) -/* 802EC3C4 88 BF 00 2E */ lbz r5, 0x2e(r31) -/* 802EC3C8 38 60 00 00 */ li r3, 0 -/* 802EC3CC 54 A4 E7 3E */ rlwinm r4, r5, 0x1c, 0x1c, 0x1f -/* 802EC3D0 54 A5 07 3E */ clrlwi r5, r5, 0x1c -/* 802EC3D4 54 06 E7 3E */ rlwinm r6, r0, 0x1c, 0x1c, 0x1f -/* 802EC3D8 54 07 07 3E */ clrlwi r7, r0, 0x1c -/* 802EC3DC 48 07 2E 49 */ bl GXSetTevColorIn -/* 802EC3E0 88 FF 00 33 */ lbz r7, 0x33(r31) -/* 802EC3E4 88 DF 00 32 */ lbz r6, 0x32(r31) -/* 802EC3E8 38 60 00 00 */ li r3, 0 -/* 802EC3EC 54 C0 06 34 */ rlwinm r0, r6, 0, 0x18, 0x1a -/* 802EC3F0 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802EC3F4 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EC3F8 54 C5 F7 7E */ rlwinm r5, r6, 0x1e, 0x1d, 0x1f -/* 802EC3FC 54 E0 CF FE */ rlwinm r0, r7, 0x19, 0x1f, 0x1f -/* 802EC400 50 C0 0F 7C */ rlwimi r0, r6, 1, 0x1d, 0x1e -/* 802EC404 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EC408 54 E7 E7 7E */ rlwinm r7, r7, 0x1c, 0x1d, 0x1f -/* 802EC40C 48 07 2E 5D */ bl GXSetTevAlphaIn -/* 802EC410 88 9F 00 2D */ lbz r4, 0x2d(r31) -/* 802EC414 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802EC418 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802EC41C 7C 00 26 70 */ srawi r0, r0, 4 -/* 802EC420 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EC424 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802EC428 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802EC42C 38 60 00 00 */ li r3, 0 -/* 802EC430 28 05 00 03 */ cmplwi r5, 3 -/* 802EC434 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802EC438 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802EC43C 7C 89 02 14 */ add r4, r9, r0 -/* 802EC440 38 04 00 08 */ addi r0, r4, 8 -/* 802EC444 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802EC448 41 82 00 08 */ beq lbl_802EC450 -/* 802EC44C 7D 20 4B 78 */ mr r0, r9 -lbl_802EC450: -/* 802EC450 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EC454 48 07 2E 59 */ bl GXSetTevColorOp -/* 802EC458 88 9F 00 31 */ lbz r4, 0x31(r31) -/* 802EC45C 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802EC460 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802EC464 7C 00 26 70 */ srawi r0, r0, 4 -/* 802EC468 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EC46C 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802EC470 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802EC474 38 60 00 00 */ li r3, 0 -/* 802EC478 28 05 00 03 */ cmplwi r5, 3 -/* 802EC47C 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802EC480 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802EC484 7C 89 02 14 */ add r4, r9, r0 -/* 802EC488 38 04 00 08 */ addi r0, r4, 8 -/* 802EC48C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802EC490 41 82 00 08 */ beq lbl_802EC498 -/* 802EC494 7D 20 4B 78 */ mr r0, r9 -lbl_802EC498: -/* 802EC498 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EC49C 48 07 2E 79 */ bl GXSetTevAlphaOp -/* 802EC4A0 88 1F 00 44 */ lbz r0, 0x44(r31) -/* 802EC4A4 28 00 00 FF */ cmplwi r0, 0xff -/* 802EC4A8 38 80 00 00 */ li r4, 0 -/* 802EC4AC 41 82 00 08 */ beq lbl_802EC4B4 -/* 802EC4B0 7C 04 03 78 */ mr r4, r0 -lbl_802EC4B4: -/* 802EC4B4 38 60 00 00 */ li r3, 0 -/* 802EC4B8 48 07 2F ED */ bl GXSetTevKColorSel -/* 802EC4BC 88 1F 00 45 */ lbz r0, 0x45(r31) -/* 802EC4C0 28 00 00 FF */ cmplwi r0, 0xff -/* 802EC4C4 38 80 00 00 */ li r4, 0 -/* 802EC4C8 41 82 00 08 */ beq lbl_802EC4D0 -/* 802EC4CC 7C 04 03 78 */ mr r4, r0 -lbl_802EC4D0: -/* 802EC4D0 38 60 00 00 */ li r3, 0 -/* 802EC4D4 48 07 30 2D */ bl GXSetTevKAlphaSel -/* 802EC4D8 3B 80 00 00 */ li r28, 0 -/* 802EC4DC 3B C0 00 00 */ li r30, 0 -lbl_802EC4E0: -/* 802EC4E0 38 1E 00 34 */ addi r0, r30, 0x34 -/* 802EC4E4 7C 1F 00 2E */ lwzx r0, r31, r0 -/* 802EC4E8 90 01 00 08 */ stw r0, 8(r1) -/* 802EC4EC 7F 83 E3 78 */ mr r3, r28 -/* 802EC4F0 38 81 00 08 */ addi r4, r1, 8 -/* 802EC4F4 48 07 2F 4D */ bl GXSetTevKColor -/* 802EC4F8 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EC4FC 2C 1C 00 04 */ cmpwi r28, 4 -/* 802EC500 3B DE 00 04 */ addi r30, r30, 4 -/* 802EC504 41 80 FF DC */ blt lbl_802EC4E0 -/* 802EC508 88 1F 00 33 */ lbz r0, 0x33(r31) -/* 802EC50C 38 60 00 00 */ li r3, 0 -/* 802EC510 54 04 07 BE */ clrlwi r4, r0, 0x1e -/* 802EC514 54 05 F7 BE */ rlwinm r5, r0, 0x1e, 0x1e, 0x1f -/* 802EC518 48 07 30 45 */ bl GXSetTevSwapMode -/* 802EC51C 3B 80 00 00 */ li r28, 0 -lbl_802EC520: -/* 802EC520 38 1C 00 46 */ addi r0, r28, 0x46 -/* 802EC524 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802EC528 7F 83 E3 78 */ mr r3, r28 -/* 802EC52C 54 04 D7 BE */ rlwinm r4, r0, 0x1a, 0x1e, 0x1f -/* 802EC530 54 05 E7 BE */ rlwinm r5, r0, 0x1c, 0x1e, 0x1f -/* 802EC534 54 06 F7 BE */ rlwinm r6, r0, 0x1e, 0x1e, 0x1f -/* 802EC538 54 07 07 BE */ clrlwi r7, r0, 0x1e -/* 802EC53C 48 07 30 69 */ bl GXSetTevSwapModeTable -/* 802EC540 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EC544 2C 1C 00 04 */ cmpwi r28, 4 -/* 802EC548 41 80 FF D8 */ blt lbl_802EC520 -/* 802EC54C 38 7F 00 4C */ addi r3, r31, 0x4c -/* 802EC550 38 80 00 00 */ li r4, 0 -/* 802EC554 4B FF DA F1 */ bl load__14J2DIndTevStageFUc -/* 802EC558 39 61 00 30 */ addi r11, r1, 0x30 -/* 802EC55C 48 07 5C C9 */ bl _restgpr_28 -/* 802EC560 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802EC564 7C 08 03 A6 */ mtlr r0 -/* 802EC568 38 21 00 30 */ addi r1, r1, 0x30 -/* 802EC56C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock2Fv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock2Fv.s deleted file mode 100644 index e92620dc8a..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock2Fv.s +++ /dev/null @@ -1,206 +0,0 @@ -lbl_802ED584: -/* 802ED584 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802ED588 7C 08 02 A6 */ mflr r0 -/* 802ED58C 90 01 00 34 */ stw r0, 0x34(r1) -/* 802ED590 39 61 00 30 */ addi r11, r1, 0x30 -/* 802ED594 48 07 4C 45 */ bl _savegpr_28 -/* 802ED598 7C 7F 1B 78 */ mr r31, r3 -/* 802ED59C 3B 80 00 00 */ li r28, 0 -lbl_802ED5A0: -/* 802ED5A0 7F E3 FB 78 */ mr r3, r31 -/* 802ED5A4 7F 84 E3 78 */ mr r4, r28 -/* 802ED5A8 7F 85 E3 78 */ mr r5, r28 -/* 802ED5AC 81 9F 00 00 */ lwz r12, 0(r31) -/* 802ED5B0 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802ED5B4 7D 89 03 A6 */ mtctr r12 -/* 802ED5B8 4E 80 04 21 */ bctrl -/* 802ED5BC 3B 9C 00 01 */ addi r28, r28, 1 -/* 802ED5C0 2C 1C 00 02 */ cmpwi r28, 2 -/* 802ED5C4 41 80 FF DC */ blt lbl_802ED5A0 -/* 802ED5C8 3B A0 00 00 */ li r29, 0 -/* 802ED5CC 3B 80 00 00 */ li r28, 0 -/* 802ED5D0 48 00 00 24 */ b lbl_802ED5F4 -lbl_802ED5D4: -/* 802ED5D4 7C DF E2 14 */ add r6, r31, r28 -/* 802ED5D8 7F A3 EB 78 */ mr r3, r29 -/* 802ED5DC 88 86 00 0A */ lbz r4, 0xa(r6) -/* 802ED5E0 88 A6 00 0B */ lbz r5, 0xb(r6) -/* 802ED5E4 88 C6 00 0C */ lbz r6, 0xc(r6) -/* 802ED5E8 48 07 21 0D */ bl GXSetTevOrder -/* 802ED5EC 3B BD 00 01 */ addi r29, r29, 1 -/* 802ED5F0 3B 9C 00 04 */ addi r28, r28, 4 -lbl_802ED5F4: -/* 802ED5F4 88 1F 00 32 */ lbz r0, 0x32(r31) -/* 802ED5F8 7C 1D 00 00 */ cmpw r29, r0 -/* 802ED5FC 41 80 FF D8 */ blt lbl_802ED5D4 -/* 802ED600 3B C0 00 00 */ li r30, 0 -/* 802ED604 3B 80 00 00 */ li r28, 0 -/* 802ED608 3B A1 00 0C */ addi r29, r1, 0xc -lbl_802ED60C: -/* 802ED60C 38 1C 00 12 */ addi r0, r28, 0x12 -/* 802ED610 7C 9F 02 14 */ add r4, r31, r0 -/* 802ED614 80 64 00 00 */ lwz r3, 0(r4) -/* 802ED618 80 04 00 04 */ lwz r0, 4(r4) -/* 802ED61C 90 61 00 0C */ stw r3, 0xc(r1) -/* 802ED620 90 01 00 10 */ stw r0, 0x10(r1) -/* 802ED624 2C 1E 00 03 */ cmpwi r30, 3 -/* 802ED628 38 60 00 00 */ li r3, 0 -/* 802ED62C 41 82 00 08 */ beq lbl_802ED634 -/* 802ED630 38 7E 00 01 */ addi r3, r30, 1 -lbl_802ED634: -/* 802ED634 7F A4 EB 78 */ mr r4, r29 -/* 802ED638 48 07 1D A5 */ bl GXSetTevColorS10 -/* 802ED63C 3B DE 00 01 */ addi r30, r30, 1 -/* 802ED640 2C 1E 00 04 */ cmpwi r30, 4 -/* 802ED644 3B 9C 00 08 */ addi r28, r28, 8 -/* 802ED648 41 80 FF C4 */ blt lbl_802ED60C -/* 802ED64C 88 7F 00 32 */ lbz r3, 0x32(r31) -/* 802ED650 48 07 22 41 */ bl GXSetNumTevStages -/* 802ED654 3B C0 00 00 */ li r30, 0 -/* 802ED658 3B 80 00 00 */ li r28, 0 -/* 802ED65C 48 00 01 2C */ b lbl_802ED788 -lbl_802ED660: -/* 802ED660 7F BF E2 14 */ add r29, r31, r28 -/* 802ED664 88 1D 00 36 */ lbz r0, 0x36(r29) -/* 802ED668 88 BD 00 35 */ lbz r5, 0x35(r29) -/* 802ED66C 7F C3 F3 78 */ mr r3, r30 -/* 802ED670 54 A4 E7 3E */ rlwinm r4, r5, 0x1c, 0x1c, 0x1f -/* 802ED674 54 A5 07 3E */ clrlwi r5, r5, 0x1c -/* 802ED678 54 06 E7 3E */ rlwinm r6, r0, 0x1c, 0x1c, 0x1f -/* 802ED67C 54 07 07 3E */ clrlwi r7, r0, 0x1c -/* 802ED680 48 07 1B A5 */ bl GXSetTevColorIn -/* 802ED684 88 FD 00 3A */ lbz r7, 0x3a(r29) -/* 802ED688 88 DD 00 39 */ lbz r6, 0x39(r29) -/* 802ED68C 7F C3 F3 78 */ mr r3, r30 -/* 802ED690 54 C0 06 34 */ rlwinm r0, r6, 0, 0x18, 0x1a -/* 802ED694 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802ED698 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802ED69C 54 C5 F7 7E */ rlwinm r5, r6, 0x1e, 0x1d, 0x1f -/* 802ED6A0 54 E0 CF FE */ rlwinm r0, r7, 0x19, 0x1f, 0x1f -/* 802ED6A4 50 C0 0F 7C */ rlwimi r0, r6, 1, 0x1d, 0x1e -/* 802ED6A8 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802ED6AC 54 E7 E7 7E */ rlwinm r7, r7, 0x1c, 0x1d, 0x1f -/* 802ED6B0 48 07 1B B9 */ bl GXSetTevAlphaIn -/* 802ED6B4 88 9D 00 34 */ lbz r4, 0x34(r29) -/* 802ED6B8 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802ED6BC 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802ED6C0 7C 00 26 70 */ srawi r0, r0, 4 -/* 802ED6C4 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802ED6C8 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802ED6CC 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802ED6D0 7F C3 F3 78 */ mr r3, r30 -/* 802ED6D4 28 05 00 03 */ cmplwi r5, 3 -/* 802ED6D8 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802ED6DC 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802ED6E0 7C 89 02 14 */ add r4, r9, r0 -/* 802ED6E4 38 04 00 08 */ addi r0, r4, 8 -/* 802ED6E8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802ED6EC 41 82 00 08 */ beq lbl_802ED6F4 -/* 802ED6F0 7D 20 4B 78 */ mr r0, r9 -lbl_802ED6F4: -/* 802ED6F4 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802ED6F8 48 07 1B B5 */ bl GXSetTevColorOp -/* 802ED6FC 88 9D 00 38 */ lbz r4, 0x38(r29) -/* 802ED700 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802ED704 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802ED708 7C 00 26 70 */ srawi r0, r0, 4 -/* 802ED70C 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802ED710 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802ED714 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802ED718 7F C3 F3 78 */ mr r3, r30 -/* 802ED71C 28 05 00 03 */ cmplwi r5, 3 -/* 802ED720 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802ED724 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802ED728 7C 89 02 14 */ add r4, r9, r0 -/* 802ED72C 38 04 00 08 */ addi r0, r4, 8 -/* 802ED730 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802ED734 41 82 00 08 */ beq lbl_802ED73C -/* 802ED738 7D 20 4B 78 */ mr r0, r9 -lbl_802ED73C: -/* 802ED73C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802ED740 48 07 1B D5 */ bl GXSetTevAlphaOp -/* 802ED744 7F BF F2 14 */ add r29, r31, r30 -/* 802ED748 88 1D 00 54 */ lbz r0, 0x54(r29) -/* 802ED74C 28 00 00 FF */ cmplwi r0, 0xff -/* 802ED750 38 80 00 00 */ li r4, 0 -/* 802ED754 41 82 00 08 */ beq lbl_802ED75C -/* 802ED758 7C 04 03 78 */ mr r4, r0 -lbl_802ED75C: -/* 802ED75C 7F C3 F3 78 */ mr r3, r30 -/* 802ED760 48 07 1D 45 */ bl GXSetTevKColorSel -/* 802ED764 88 1D 00 56 */ lbz r0, 0x56(r29) -/* 802ED768 28 00 00 FF */ cmplwi r0, 0xff -/* 802ED76C 38 80 00 00 */ li r4, 0 -/* 802ED770 41 82 00 08 */ beq lbl_802ED778 -/* 802ED774 7C 04 03 78 */ mr r4, r0 -lbl_802ED778: -/* 802ED778 7F C3 F3 78 */ mr r3, r30 -/* 802ED77C 48 07 1D 85 */ bl GXSetTevKAlphaSel -/* 802ED780 3B DE 00 01 */ addi r30, r30, 1 -/* 802ED784 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802ED788: -/* 802ED788 88 1F 00 32 */ lbz r0, 0x32(r31) -/* 802ED78C 7C 1E 00 00 */ cmpw r30, r0 -/* 802ED790 41 80 FE D0 */ blt lbl_802ED660 -/* 802ED794 3B A0 00 00 */ li r29, 0 -/* 802ED798 3B 80 00 00 */ li r28, 0 -lbl_802ED79C: -/* 802ED79C 38 1C 00 44 */ addi r0, r28, 0x44 -/* 802ED7A0 7C 1F 00 2E */ lwzx r0, r31, r0 -/* 802ED7A4 90 01 00 08 */ stw r0, 8(r1) -/* 802ED7A8 7F A3 EB 78 */ mr r3, r29 -/* 802ED7AC 38 81 00 08 */ addi r4, r1, 8 -/* 802ED7B0 48 07 1C 91 */ bl GXSetTevKColor -/* 802ED7B4 3B BD 00 01 */ addi r29, r29, 1 -/* 802ED7B8 2C 1D 00 04 */ cmpwi r29, 4 -/* 802ED7BC 3B 9C 00 04 */ addi r28, r28, 4 -/* 802ED7C0 41 80 FF DC */ blt lbl_802ED79C -/* 802ED7C4 3B A0 00 00 */ li r29, 0 -/* 802ED7C8 3B 80 00 00 */ li r28, 0 -/* 802ED7CC 48 00 00 24 */ b lbl_802ED7F0 -lbl_802ED7D0: -/* 802ED7D0 38 1C 00 3A */ addi r0, r28, 0x3a -/* 802ED7D4 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802ED7D8 7F A3 EB 78 */ mr r3, r29 -/* 802ED7DC 54 04 07 BE */ clrlwi r4, r0, 0x1e -/* 802ED7E0 54 05 F7 BE */ rlwinm r5, r0, 0x1e, 0x1e, 0x1f -/* 802ED7E4 48 07 1D 79 */ bl GXSetTevSwapMode -/* 802ED7E8 3B BD 00 01 */ addi r29, r29, 1 -/* 802ED7EC 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802ED7F0: -/* 802ED7F0 88 1F 00 32 */ lbz r0, 0x32(r31) -/* 802ED7F4 7C 1D 00 00 */ cmpw r29, r0 -/* 802ED7F8 41 80 FF D8 */ blt lbl_802ED7D0 -/* 802ED7FC 3B 80 00 00 */ li r28, 0 -lbl_802ED800: -/* 802ED800 38 1C 00 58 */ addi r0, r28, 0x58 -/* 802ED804 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802ED808 7F 83 E3 78 */ mr r3, r28 -/* 802ED80C 54 04 D7 BE */ rlwinm r4, r0, 0x1a, 0x1e, 0x1f -/* 802ED810 54 05 E7 BE */ rlwinm r5, r0, 0x1c, 0x1e, 0x1f -/* 802ED814 54 06 F7 BE */ rlwinm r6, r0, 0x1e, 0x1e, 0x1f -/* 802ED818 54 07 07 BE */ clrlwi r7, r0, 0x1e -/* 802ED81C 48 07 1D 89 */ bl GXSetTevSwapModeTable -/* 802ED820 3B 9C 00 01 */ addi r28, r28, 1 -/* 802ED824 2C 1C 00 04 */ cmpwi r28, 4 -/* 802ED828 41 80 FF D8 */ blt lbl_802ED800 -/* 802ED82C 3B 80 00 00 */ li r28, 0 -/* 802ED830 48 00 00 1C */ b lbl_802ED84C -lbl_802ED834: -/* 802ED834 57 83 15 BA */ rlwinm r3, r28, 2, 0x16, 0x1d -/* 802ED838 38 63 00 5C */ addi r3, r3, 0x5c -/* 802ED83C 7C 7F 1A 14 */ add r3, r31, r3 -/* 802ED840 7F 84 E3 78 */ mr r4, r28 -/* 802ED844 4B FF C8 01 */ bl load__14J2DIndTevStageFUc -/* 802ED848 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802ED84C: -/* 802ED84C 57 83 06 3E */ clrlwi r3, r28, 0x18 -/* 802ED850 88 1F 00 32 */ lbz r0, 0x32(r31) -/* 802ED854 7C 03 00 40 */ cmplw r3, r0 -/* 802ED858 41 80 FF DC */ blt lbl_802ED834 -/* 802ED85C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802ED860 48 07 49 C5 */ bl _restgpr_28 -/* 802ED864 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802ED868 7C 08 03 A6 */ mtlr r0 -/* 802ED86C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802ED870 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock4Fv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock4Fv.s deleted file mode 100644 index 579d871fcb..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock4Fv.s +++ /dev/null @@ -1,206 +0,0 @@ -lbl_802EEA2C: -/* 802EEA2C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802EEA30 7C 08 02 A6 */ mflr r0 -/* 802EEA34 90 01 00 34 */ stw r0, 0x34(r1) -/* 802EEA38 39 61 00 30 */ addi r11, r1, 0x30 -/* 802EEA3C 48 07 37 9D */ bl _savegpr_28 -/* 802EEA40 7C 7F 1B 78 */ mr r31, r3 -/* 802EEA44 3B 80 00 00 */ li r28, 0 -lbl_802EEA48: -/* 802EEA48 7F E3 FB 78 */ mr r3, r31 -/* 802EEA4C 7F 84 E3 78 */ mr r4, r28 -/* 802EEA50 7F 85 E3 78 */ mr r5, r28 -/* 802EEA54 81 9F 00 00 */ lwz r12, 0(r31) -/* 802EEA58 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802EEA5C 7D 89 03 A6 */ mtctr r12 -/* 802EEA60 4E 80 04 21 */ bctrl -/* 802EEA64 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EEA68 2C 1C 00 04 */ cmpwi r28, 4 -/* 802EEA6C 41 80 FF DC */ blt lbl_802EEA48 -/* 802EEA70 3B A0 00 00 */ li r29, 0 -/* 802EEA74 3B 80 00 00 */ li r28, 0 -/* 802EEA78 48 00 00 24 */ b lbl_802EEA9C -lbl_802EEA7C: -/* 802EEA7C 7C DF E2 14 */ add r6, r31, r28 -/* 802EEA80 7F A3 EB 78 */ mr r3, r29 -/* 802EEA84 88 86 00 0E */ lbz r4, 0xe(r6) -/* 802EEA88 88 A6 00 0F */ lbz r5, 0xf(r6) -/* 802EEA8C 88 C6 00 10 */ lbz r6, 0x10(r6) -/* 802EEA90 48 07 0C 65 */ bl GXSetTevOrder -/* 802EEA94 3B BD 00 01 */ addi r29, r29, 1 -/* 802EEA98 3B 9C 00 04 */ addi r28, r28, 4 -lbl_802EEA9C: -/* 802EEA9C 88 1F 00 3E */ lbz r0, 0x3e(r31) -/* 802EEAA0 7C 1D 00 00 */ cmpw r29, r0 -/* 802EEAA4 41 80 FF D8 */ blt lbl_802EEA7C -/* 802EEAA8 3B C0 00 00 */ li r30, 0 -/* 802EEAAC 3B 80 00 00 */ li r28, 0 -/* 802EEAB0 3B A1 00 0C */ addi r29, r1, 0xc -lbl_802EEAB4: -/* 802EEAB4 38 1C 00 1E */ addi r0, r28, 0x1e -/* 802EEAB8 7C 9F 02 14 */ add r4, r31, r0 -/* 802EEABC 80 64 00 00 */ lwz r3, 0(r4) -/* 802EEAC0 80 04 00 04 */ lwz r0, 4(r4) -/* 802EEAC4 90 61 00 0C */ stw r3, 0xc(r1) -/* 802EEAC8 90 01 00 10 */ stw r0, 0x10(r1) -/* 802EEACC 2C 1E 00 03 */ cmpwi r30, 3 -/* 802EEAD0 38 60 00 00 */ li r3, 0 -/* 802EEAD4 41 82 00 08 */ beq lbl_802EEADC -/* 802EEAD8 38 7E 00 01 */ addi r3, r30, 1 -lbl_802EEADC: -/* 802EEADC 7F A4 EB 78 */ mr r4, r29 -/* 802EEAE0 48 07 08 FD */ bl GXSetTevColorS10 -/* 802EEAE4 3B DE 00 01 */ addi r30, r30, 1 -/* 802EEAE8 2C 1E 00 04 */ cmpwi r30, 4 -/* 802EEAEC 3B 9C 00 08 */ addi r28, r28, 8 -/* 802EEAF0 41 80 FF C4 */ blt lbl_802EEAB4 -/* 802EEAF4 88 7F 00 3E */ lbz r3, 0x3e(r31) -/* 802EEAF8 48 07 0D 99 */ bl GXSetNumTevStages -/* 802EEAFC 3B C0 00 00 */ li r30, 0 -/* 802EEB00 3B 80 00 00 */ li r28, 0 -/* 802EEB04 48 00 01 2C */ b lbl_802EEC30 -lbl_802EEB08: -/* 802EEB08 7F BF E2 14 */ add r29, r31, r28 -/* 802EEB0C 88 1D 00 42 */ lbz r0, 0x42(r29) -/* 802EEB10 88 BD 00 41 */ lbz r5, 0x41(r29) -/* 802EEB14 7F C3 F3 78 */ mr r3, r30 -/* 802EEB18 54 A4 E7 3E */ rlwinm r4, r5, 0x1c, 0x1c, 0x1f -/* 802EEB1C 54 A5 07 3E */ clrlwi r5, r5, 0x1c -/* 802EEB20 54 06 E7 3E */ rlwinm r6, r0, 0x1c, 0x1c, 0x1f -/* 802EEB24 54 07 07 3E */ clrlwi r7, r0, 0x1c -/* 802EEB28 48 07 06 FD */ bl GXSetTevColorIn -/* 802EEB2C 88 FD 00 46 */ lbz r7, 0x46(r29) -/* 802EEB30 88 DD 00 45 */ lbz r6, 0x45(r29) -/* 802EEB34 7F C3 F3 78 */ mr r3, r30 -/* 802EEB38 54 C0 06 34 */ rlwinm r0, r6, 0, 0x18, 0x1a -/* 802EEB3C 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802EEB40 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EEB44 54 C5 F7 7E */ rlwinm r5, r6, 0x1e, 0x1d, 0x1f -/* 802EEB48 54 E0 CF FE */ rlwinm r0, r7, 0x19, 0x1f, 0x1f -/* 802EEB4C 50 C0 0F 7C */ rlwimi r0, r6, 1, 0x1d, 0x1e -/* 802EEB50 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EEB54 54 E7 E7 7E */ rlwinm r7, r7, 0x1c, 0x1d, 0x1f -/* 802EEB58 48 07 07 11 */ bl GXSetTevAlphaIn -/* 802EEB5C 88 9D 00 40 */ lbz r4, 0x40(r29) -/* 802EEB60 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802EEB64 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802EEB68 7C 00 26 70 */ srawi r0, r0, 4 -/* 802EEB6C 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EEB70 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802EEB74 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802EEB78 7F C3 F3 78 */ mr r3, r30 -/* 802EEB7C 28 05 00 03 */ cmplwi r5, 3 -/* 802EEB80 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802EEB84 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802EEB88 7C 89 02 14 */ add r4, r9, r0 -/* 802EEB8C 38 04 00 08 */ addi r0, r4, 8 -/* 802EEB90 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802EEB94 41 82 00 08 */ beq lbl_802EEB9C -/* 802EEB98 7D 20 4B 78 */ mr r0, r9 -lbl_802EEB9C: -/* 802EEB9C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EEBA0 48 07 07 0D */ bl GXSetTevColorOp -/* 802EEBA4 88 9D 00 44 */ lbz r4, 0x44(r29) -/* 802EEBA8 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802EEBAC 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802EEBB0 7C 00 26 70 */ srawi r0, r0, 4 -/* 802EEBB4 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EEBB8 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802EEBBC 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802EEBC0 7F C3 F3 78 */ mr r3, r30 -/* 802EEBC4 28 05 00 03 */ cmplwi r5, 3 -/* 802EEBC8 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802EEBCC 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802EEBD0 7C 89 02 14 */ add r4, r9, r0 -/* 802EEBD4 38 04 00 08 */ addi r0, r4, 8 -/* 802EEBD8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802EEBDC 41 82 00 08 */ beq lbl_802EEBE4 -/* 802EEBE0 7D 20 4B 78 */ mr r0, r9 -lbl_802EEBE4: -/* 802EEBE4 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EEBE8 48 07 07 2D */ bl GXSetTevAlphaOp -/* 802EEBEC 7F BF F2 14 */ add r29, r31, r30 -/* 802EEBF0 88 1D 00 70 */ lbz r0, 0x70(r29) -/* 802EEBF4 28 00 00 FF */ cmplwi r0, 0xff -/* 802EEBF8 38 80 00 00 */ li r4, 0 -/* 802EEBFC 41 82 00 08 */ beq lbl_802EEC04 -/* 802EEC00 7C 04 03 78 */ mr r4, r0 -lbl_802EEC04: -/* 802EEC04 7F C3 F3 78 */ mr r3, r30 -/* 802EEC08 48 07 08 9D */ bl GXSetTevKColorSel -/* 802EEC0C 88 1D 00 74 */ lbz r0, 0x74(r29) -/* 802EEC10 28 00 00 FF */ cmplwi r0, 0xff -/* 802EEC14 38 80 00 00 */ li r4, 0 -/* 802EEC18 41 82 00 08 */ beq lbl_802EEC20 -/* 802EEC1C 7C 04 03 78 */ mr r4, r0 -lbl_802EEC20: -/* 802EEC20 7F C3 F3 78 */ mr r3, r30 -/* 802EEC24 48 07 08 DD */ bl GXSetTevKAlphaSel -/* 802EEC28 3B DE 00 01 */ addi r30, r30, 1 -/* 802EEC2C 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802EEC30: -/* 802EEC30 88 1F 00 3E */ lbz r0, 0x3e(r31) -/* 802EEC34 7C 1E 00 00 */ cmpw r30, r0 -/* 802EEC38 41 80 FE D0 */ blt lbl_802EEB08 -/* 802EEC3C 3B A0 00 00 */ li r29, 0 -/* 802EEC40 3B 80 00 00 */ li r28, 0 -lbl_802EEC44: -/* 802EEC44 38 1C 00 60 */ addi r0, r28, 0x60 -/* 802EEC48 7C 1F 00 2E */ lwzx r0, r31, r0 -/* 802EEC4C 90 01 00 08 */ stw r0, 8(r1) -/* 802EEC50 7F A3 EB 78 */ mr r3, r29 -/* 802EEC54 38 81 00 08 */ addi r4, r1, 8 -/* 802EEC58 48 07 07 E9 */ bl GXSetTevKColor -/* 802EEC5C 3B BD 00 01 */ addi r29, r29, 1 -/* 802EEC60 2C 1D 00 04 */ cmpwi r29, 4 -/* 802EEC64 3B 9C 00 04 */ addi r28, r28, 4 -/* 802EEC68 41 80 FF DC */ blt lbl_802EEC44 -/* 802EEC6C 3B A0 00 00 */ li r29, 0 -/* 802EEC70 3B 80 00 00 */ li r28, 0 -/* 802EEC74 48 00 00 24 */ b lbl_802EEC98 -lbl_802EEC78: -/* 802EEC78 38 1C 00 46 */ addi r0, r28, 0x46 -/* 802EEC7C 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802EEC80 7F A3 EB 78 */ mr r3, r29 -/* 802EEC84 54 04 07 BE */ clrlwi r4, r0, 0x1e -/* 802EEC88 54 05 F7 BE */ rlwinm r5, r0, 0x1e, 0x1e, 0x1f -/* 802EEC8C 48 07 08 D1 */ bl GXSetTevSwapMode -/* 802EEC90 3B BD 00 01 */ addi r29, r29, 1 -/* 802EEC94 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802EEC98: -/* 802EEC98 88 1F 00 3E */ lbz r0, 0x3e(r31) -/* 802EEC9C 7C 1D 00 00 */ cmpw r29, r0 -/* 802EECA0 41 80 FF D8 */ blt lbl_802EEC78 -/* 802EECA4 3B 80 00 00 */ li r28, 0 -lbl_802EECA8: -/* 802EECA8 38 1C 00 78 */ addi r0, r28, 0x78 -/* 802EECAC 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802EECB0 7F 83 E3 78 */ mr r3, r28 -/* 802EECB4 54 04 D7 BE */ rlwinm r4, r0, 0x1a, 0x1e, 0x1f -/* 802EECB8 54 05 E7 BE */ rlwinm r5, r0, 0x1c, 0x1e, 0x1f -/* 802EECBC 54 06 F7 BE */ rlwinm r6, r0, 0x1e, 0x1e, 0x1f -/* 802EECC0 54 07 07 BE */ clrlwi r7, r0, 0x1e -/* 802EECC4 48 07 08 E1 */ bl GXSetTevSwapModeTable -/* 802EECC8 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EECCC 2C 1C 00 04 */ cmpwi r28, 4 -/* 802EECD0 41 80 FF D8 */ blt lbl_802EECA8 -/* 802EECD4 3B 80 00 00 */ li r28, 0 -/* 802EECD8 48 00 00 1C */ b lbl_802EECF4 -lbl_802EECDC: -/* 802EECDC 57 83 15 BA */ rlwinm r3, r28, 2, 0x16, 0x1d -/* 802EECE0 38 63 00 7C */ addi r3, r3, 0x7c -/* 802EECE4 7C 7F 1A 14 */ add r3, r31, r3 -/* 802EECE8 7F 84 E3 78 */ mr r4, r28 -/* 802EECEC 4B FF B3 59 */ bl load__14J2DIndTevStageFUc -/* 802EECF0 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802EECF4: -/* 802EECF4 57 83 06 3E */ clrlwi r3, r28, 0x18 -/* 802EECF8 88 1F 00 3E */ lbz r0, 0x3e(r31) -/* 802EECFC 7C 03 00 40 */ cmplw r3, r0 -/* 802EED00 41 80 FF DC */ blt lbl_802EECDC -/* 802EED04 39 61 00 30 */ addi r11, r1, 0x30 -/* 802EED08 48 07 35 1D */ bl _restgpr_28 -/* 802EED0C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802EED10 7C 08 03 A6 */ mtlr r0 -/* 802EED14 38 21 00 30 */ addi r1, r1, 0x30 -/* 802EED18 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock8Fv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock8Fv.s deleted file mode 100644 index 8ec8c5873f..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock8Fv.s +++ /dev/null @@ -1,206 +0,0 @@ -lbl_802EFEAC: -/* 802EFEAC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802EFEB0 7C 08 02 A6 */ mflr r0 -/* 802EFEB4 90 01 00 34 */ stw r0, 0x34(r1) -/* 802EFEB8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802EFEBC 48 07 23 1D */ bl _savegpr_28 -/* 802EFEC0 7C 7F 1B 78 */ mr r31, r3 -/* 802EFEC4 3B 80 00 00 */ li r28, 0 -lbl_802EFEC8: -/* 802EFEC8 7F E3 FB 78 */ mr r3, r31 -/* 802EFECC 7F 84 E3 78 */ mr r4, r28 -/* 802EFED0 7F 85 E3 78 */ mr r5, r28 -/* 802EFED4 81 9F 00 00 */ lwz r12, 0(r31) -/* 802EFED8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802EFEDC 7D 89 03 A6 */ mtctr r12 -/* 802EFEE0 4E 80 04 21 */ bctrl -/* 802EFEE4 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EFEE8 2C 1C 00 08 */ cmpwi r28, 8 -/* 802EFEEC 41 80 FF DC */ blt lbl_802EFEC8 -/* 802EFEF0 3B A0 00 00 */ li r29, 0 -/* 802EFEF4 3B 80 00 00 */ li r28, 0 -/* 802EFEF8 48 00 00 24 */ b lbl_802EFF1C -lbl_802EFEFC: -/* 802EFEFC 7C DF E2 14 */ add r6, r31, r28 -/* 802EFF00 7F A3 EB 78 */ mr r3, r29 -/* 802EFF04 88 86 00 16 */ lbz r4, 0x16(r6) -/* 802EFF08 88 A6 00 17 */ lbz r5, 0x17(r6) -/* 802EFF0C 88 C6 00 18 */ lbz r6, 0x18(r6) -/* 802EFF10 48 06 F7 E5 */ bl GXSetTevOrder -/* 802EFF14 3B BD 00 01 */ addi r29, r29, 1 -/* 802EFF18 3B 9C 00 04 */ addi r28, r28, 4 -lbl_802EFF1C: -/* 802EFF1C 88 1F 00 56 */ lbz r0, 0x56(r31) -/* 802EFF20 7C 1D 00 00 */ cmpw r29, r0 -/* 802EFF24 41 80 FF D8 */ blt lbl_802EFEFC -/* 802EFF28 3B C0 00 00 */ li r30, 0 -/* 802EFF2C 3B 80 00 00 */ li r28, 0 -/* 802EFF30 3B A1 00 0C */ addi r29, r1, 0xc -lbl_802EFF34: -/* 802EFF34 38 1C 00 36 */ addi r0, r28, 0x36 -/* 802EFF38 7C 9F 02 14 */ add r4, r31, r0 -/* 802EFF3C 80 64 00 00 */ lwz r3, 0(r4) -/* 802EFF40 80 04 00 04 */ lwz r0, 4(r4) -/* 802EFF44 90 61 00 0C */ stw r3, 0xc(r1) -/* 802EFF48 90 01 00 10 */ stw r0, 0x10(r1) -/* 802EFF4C 2C 1E 00 03 */ cmpwi r30, 3 -/* 802EFF50 38 60 00 00 */ li r3, 0 -/* 802EFF54 41 82 00 08 */ beq lbl_802EFF5C -/* 802EFF58 38 7E 00 01 */ addi r3, r30, 1 -lbl_802EFF5C: -/* 802EFF5C 7F A4 EB 78 */ mr r4, r29 -/* 802EFF60 48 06 F4 7D */ bl GXSetTevColorS10 -/* 802EFF64 3B DE 00 01 */ addi r30, r30, 1 -/* 802EFF68 2C 1E 00 04 */ cmpwi r30, 4 -/* 802EFF6C 3B 9C 00 08 */ addi r28, r28, 8 -/* 802EFF70 41 80 FF C4 */ blt lbl_802EFF34 -/* 802EFF74 88 7F 00 56 */ lbz r3, 0x56(r31) -/* 802EFF78 48 06 F9 19 */ bl GXSetNumTevStages -/* 802EFF7C 3B C0 00 00 */ li r30, 0 -/* 802EFF80 3B 80 00 00 */ li r28, 0 -/* 802EFF84 48 00 01 2C */ b lbl_802F00B0 -lbl_802EFF88: -/* 802EFF88 7F BF E2 14 */ add r29, r31, r28 -/* 802EFF8C 88 1D 00 5A */ lbz r0, 0x5a(r29) -/* 802EFF90 88 BD 00 59 */ lbz r5, 0x59(r29) -/* 802EFF94 7F C3 F3 78 */ mr r3, r30 -/* 802EFF98 54 A4 E7 3E */ rlwinm r4, r5, 0x1c, 0x1c, 0x1f -/* 802EFF9C 54 A5 07 3E */ clrlwi r5, r5, 0x1c -/* 802EFFA0 54 06 E7 3E */ rlwinm r6, r0, 0x1c, 0x1c, 0x1f -/* 802EFFA4 54 07 07 3E */ clrlwi r7, r0, 0x1c -/* 802EFFA8 48 06 F2 7D */ bl GXSetTevColorIn -/* 802EFFAC 88 FD 00 5E */ lbz r7, 0x5e(r29) -/* 802EFFB0 88 DD 00 5D */ lbz r6, 0x5d(r29) -/* 802EFFB4 7F C3 F3 78 */ mr r3, r30 -/* 802EFFB8 54 C0 06 34 */ rlwinm r0, r6, 0, 0x18, 0x1a -/* 802EFFBC 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802EFFC0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802EFFC4 54 C5 F7 7E */ rlwinm r5, r6, 0x1e, 0x1d, 0x1f -/* 802EFFC8 54 E0 CF FE */ rlwinm r0, r7, 0x19, 0x1f, 0x1f -/* 802EFFCC 50 C0 0F 7C */ rlwimi r0, r6, 1, 0x1d, 0x1e -/* 802EFFD0 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EFFD4 54 E7 E7 7E */ rlwinm r7, r7, 0x1c, 0x1d, 0x1f -/* 802EFFD8 48 06 F2 91 */ bl GXSetTevAlphaIn -/* 802EFFDC 88 9D 00 58 */ lbz r4, 0x58(r29) -/* 802EFFE0 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802EFFE4 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802EFFE8 7C 00 26 70 */ srawi r0, r0, 4 -/* 802EFFEC 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802EFFF0 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802EFFF4 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802EFFF8 7F C3 F3 78 */ mr r3, r30 -/* 802EFFFC 28 05 00 03 */ cmplwi r5, 3 -/* 802F0000 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802F0004 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802F0008 7C 89 02 14 */ add r4, r9, r0 -/* 802F000C 38 04 00 08 */ addi r0, r4, 8 -/* 802F0010 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802F0014 41 82 00 08 */ beq lbl_802F001C -/* 802F0018 7D 20 4B 78 */ mr r0, r9 -lbl_802F001C: -/* 802F001C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802F0020 48 06 F2 8D */ bl GXSetTevColorOp -/* 802F0024 88 9D 00 5C */ lbz r4, 0x5c(r29) -/* 802F0028 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802F002C 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802F0030 7C 00 26 70 */ srawi r0, r0, 4 -/* 802F0034 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802F0038 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802F003C 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802F0040 7F C3 F3 78 */ mr r3, r30 -/* 802F0044 28 05 00 03 */ cmplwi r5, 3 -/* 802F0048 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802F004C 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802F0050 7C 89 02 14 */ add r4, r9, r0 -/* 802F0054 38 04 00 08 */ addi r0, r4, 8 -/* 802F0058 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802F005C 41 82 00 08 */ beq lbl_802F0064 -/* 802F0060 7D 20 4B 78 */ mr r0, r9 -lbl_802F0064: -/* 802F0064 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802F0068 48 06 F2 AD */ bl GXSetTevAlphaOp -/* 802F006C 7F BF F2 14 */ add r29, r31, r30 -/* 802F0070 88 1D 00 A8 */ lbz r0, 0xa8(r29) -/* 802F0074 28 00 00 FF */ cmplwi r0, 0xff -/* 802F0078 38 80 00 00 */ li r4, 0 -/* 802F007C 41 82 00 08 */ beq lbl_802F0084 -/* 802F0080 7C 04 03 78 */ mr r4, r0 -lbl_802F0084: -/* 802F0084 7F C3 F3 78 */ mr r3, r30 -/* 802F0088 48 06 F4 1D */ bl GXSetTevKColorSel -/* 802F008C 88 1D 00 B0 */ lbz r0, 0xb0(r29) -/* 802F0090 28 00 00 FF */ cmplwi r0, 0xff -/* 802F0094 38 80 00 00 */ li r4, 0 -/* 802F0098 41 82 00 08 */ beq lbl_802F00A0 -/* 802F009C 7C 04 03 78 */ mr r4, r0 -lbl_802F00A0: -/* 802F00A0 7F C3 F3 78 */ mr r3, r30 -/* 802F00A4 48 06 F4 5D */ bl GXSetTevKAlphaSel -/* 802F00A8 3B DE 00 01 */ addi r30, r30, 1 -/* 802F00AC 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802F00B0: -/* 802F00B0 88 1F 00 56 */ lbz r0, 0x56(r31) -/* 802F00B4 7C 1E 00 00 */ cmpw r30, r0 -/* 802F00B8 41 80 FE D0 */ blt lbl_802EFF88 -/* 802F00BC 3B A0 00 00 */ li r29, 0 -/* 802F00C0 3B 80 00 00 */ li r28, 0 -lbl_802F00C4: -/* 802F00C4 38 1C 00 98 */ addi r0, r28, 0x98 -/* 802F00C8 7C 1F 00 2E */ lwzx r0, r31, r0 -/* 802F00CC 90 01 00 08 */ stw r0, 8(r1) -/* 802F00D0 7F A3 EB 78 */ mr r3, r29 -/* 802F00D4 38 81 00 08 */ addi r4, r1, 8 -/* 802F00D8 48 06 F3 69 */ bl GXSetTevKColor -/* 802F00DC 3B BD 00 01 */ addi r29, r29, 1 -/* 802F00E0 2C 1D 00 04 */ cmpwi r29, 4 -/* 802F00E4 3B 9C 00 04 */ addi r28, r28, 4 -/* 802F00E8 41 80 FF DC */ blt lbl_802F00C4 -/* 802F00EC 3B A0 00 00 */ li r29, 0 -/* 802F00F0 3B 80 00 00 */ li r28, 0 -/* 802F00F4 48 00 00 24 */ b lbl_802F0118 -lbl_802F00F8: -/* 802F00F8 38 1C 00 5E */ addi r0, r28, 0x5e -/* 802F00FC 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802F0100 7F A3 EB 78 */ mr r3, r29 -/* 802F0104 54 04 07 BE */ clrlwi r4, r0, 0x1e -/* 802F0108 54 05 F7 BE */ rlwinm r5, r0, 0x1e, 0x1e, 0x1f -/* 802F010C 48 06 F4 51 */ bl GXSetTevSwapMode -/* 802F0110 3B BD 00 01 */ addi r29, r29, 1 -/* 802F0114 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802F0118: -/* 802F0118 88 1F 00 56 */ lbz r0, 0x56(r31) -/* 802F011C 7C 1D 00 00 */ cmpw r29, r0 -/* 802F0120 41 80 FF D8 */ blt lbl_802F00F8 -/* 802F0124 3B 80 00 00 */ li r28, 0 -lbl_802F0128: -/* 802F0128 38 1C 00 B8 */ addi r0, r28, 0xb8 -/* 802F012C 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802F0130 7F 83 E3 78 */ mr r3, r28 -/* 802F0134 54 04 D7 BE */ rlwinm r4, r0, 0x1a, 0x1e, 0x1f -/* 802F0138 54 05 E7 BE */ rlwinm r5, r0, 0x1c, 0x1e, 0x1f -/* 802F013C 54 06 F7 BE */ rlwinm r6, r0, 0x1e, 0x1e, 0x1f -/* 802F0140 54 07 07 BE */ clrlwi r7, r0, 0x1e -/* 802F0144 48 06 F4 61 */ bl GXSetTevSwapModeTable -/* 802F0148 3B 9C 00 01 */ addi r28, r28, 1 -/* 802F014C 2C 1C 00 04 */ cmpwi r28, 4 -/* 802F0150 41 80 FF D8 */ blt lbl_802F0128 -/* 802F0154 3B 80 00 00 */ li r28, 0 -/* 802F0158 48 00 00 1C */ b lbl_802F0174 -lbl_802F015C: -/* 802F015C 57 83 15 BA */ rlwinm r3, r28, 2, 0x16, 0x1d -/* 802F0160 38 63 00 BC */ addi r3, r3, 0xbc -/* 802F0164 7C 7F 1A 14 */ add r3, r31, r3 -/* 802F0168 7F 84 E3 78 */ mr r4, r28 -/* 802F016C 4B FF 9E D9 */ bl load__14J2DIndTevStageFUc -/* 802F0170 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802F0174: -/* 802F0174 57 83 06 3E */ clrlwi r3, r28, 0x18 -/* 802F0178 88 1F 00 56 */ lbz r0, 0x56(r31) -/* 802F017C 7C 03 00 40 */ cmplw r3, r0 -/* 802F0180 41 80 FF DC */ blt lbl_802F015C -/* 802F0184 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F0188 48 07 20 9D */ bl _restgpr_28 -/* 802F018C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802F0190 7C 08 03 A6 */ mtlr r0 -/* 802F0194 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F0198 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DColorBlockFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DColorBlockFv.s deleted file mode 100644 index 8dd9895148..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DColorBlockFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_802EB424: -/* 802EB424 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802EB428 7C 08 02 A6 */ mflr r0 -/* 802EB42C 90 01 00 44 */ stw r0, 0x44(r1) -/* 802EB430 39 61 00 40 */ addi r11, r1, 0x40 -/* 802EB434 48 07 6D A1 */ bl _savegpr_27 -/* 802EB438 7C 7F 1B 78 */ mr r31, r3 -/* 802EB43C 3B 80 00 00 */ li r28, 0 -/* 802EB440 3B A0 00 00 */ li r29, 0 -lbl_802EB444: -/* 802EB444 7C 1F E8 2E */ lwzx r0, r31, r29 -/* 802EB448 90 01 00 08 */ stw r0, 8(r1) -/* 802EB44C 38 7C 00 04 */ addi r3, r28, 4 -/* 802EB450 38 81 00 08 */ addi r4, r1, 8 -/* 802EB454 48 07 25 F5 */ bl GXSetChanMatColor -/* 802EB458 3B 9C 00 01 */ addi r28, r28, 1 -/* 802EB45C 2C 1C 00 02 */ cmpwi r28, 2 -/* 802EB460 3B BD 00 04 */ addi r29, r29, 4 -/* 802EB464 41 80 FF E0 */ blt lbl_802EB444 -/* 802EB468 88 7F 00 08 */ lbz r3, 8(r31) -/* 802EB46C 48 07 26 C5 */ bl GXSetNumChans -/* 802EB470 3C 60 80 3A */ lis r3, lit_1463@ha /* 0x803A1C00@ha */ -/* 802EB474 38 83 1C 00 */ addi r4, r3, lit_1463@l /* 0x803A1C00@l */ -/* 802EB478 80 64 00 00 */ lwz r3, 0(r4) -/* 802EB47C 80 04 00 04 */ lwz r0, 4(r4) -/* 802EB480 90 61 00 0C */ stw r3, 0xc(r1) -/* 802EB484 90 01 00 10 */ stw r0, 0x10(r1) -/* 802EB488 80 64 00 08 */ lwz r3, 8(r4) -/* 802EB48C 80 04 00 0C */ lwz r0, 0xc(r4) -/* 802EB490 90 61 00 14 */ stw r3, 0x14(r1) -/* 802EB494 90 01 00 18 */ stw r0, 0x18(r1) -/* 802EB498 3B 60 00 00 */ li r27, 0 -/* 802EB49C 3B C0 00 00 */ li r30, 0 -/* 802EB4A0 3B A0 00 00 */ li r29, 0 -/* 802EB4A4 3B 81 00 0C */ addi r28, r1, 0xc -/* 802EB4A8 48 00 00 38 */ b lbl_802EB4E0 -lbl_802EB4AC: -/* 802EB4AC 7C 7C E8 2E */ lwzx r3, r28, r29 -/* 802EB4B0 38 80 00 00 */ li r4, 0 -/* 802EB4B4 38 A0 00 00 */ li r5, 0 -/* 802EB4B8 38 1E 00 0A */ addi r0, r30, 0xa -/* 802EB4BC 7C 1F 02 2E */ lhzx r0, r31, r0 -/* 802EB4C0 54 06 07 FE */ clrlwi r6, r0, 0x1f -/* 802EB4C4 38 E0 00 00 */ li r7, 0 -/* 802EB4C8 39 00 00 00 */ li r8, 0 -/* 802EB4CC 39 20 00 02 */ li r9, 2 -/* 802EB4D0 48 07 26 9D */ bl GXSetChanCtrl -/* 802EB4D4 3B 7B 00 01 */ addi r27, r27, 1 -/* 802EB4D8 3B DE 00 02 */ addi r30, r30, 2 -/* 802EB4DC 3B BD 00 04 */ addi r29, r29, 4 -lbl_802EB4E0: -/* 802EB4E0 88 1F 00 08 */ lbz r0, 8(r31) -/* 802EB4E4 54 00 08 3C */ slwi r0, r0, 1 -/* 802EB4E8 7C 1B 00 00 */ cmpw r27, r0 -/* 802EB4EC 41 80 FF C0 */ blt lbl_802EB4AC -/* 802EB4F0 88 7F 00 12 */ lbz r3, 0x12(r31) -/* 802EB4F4 48 07 14 91 */ bl GXSetCullMode -/* 802EB4F8 39 61 00 40 */ addi r11, r1, 0x40 -/* 802EB4FC 48 07 6D 25 */ bl _restgpr_27 -/* 802EB500 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802EB504 7C 08 03 A6 */ mtlr r0 -/* 802EB508 38 21 00 40 */ addi r1, r1, 0x40 -/* 802EB50C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DTevBlock16Fv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DTevBlock16Fv.s deleted file mode 100644 index d31b327352..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DTevBlock16Fv.s +++ /dev/null @@ -1,206 +0,0 @@ -lbl_802F132C: -/* 802F132C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F1330 7C 08 02 A6 */ mflr r0 -/* 802F1334 90 01 00 34 */ stw r0, 0x34(r1) -/* 802F1338 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F133C 48 07 0E 9D */ bl _savegpr_28 -/* 802F1340 7C 7F 1B 78 */ mr r31, r3 -/* 802F1344 3B 80 00 00 */ li r28, 0 -lbl_802F1348: -/* 802F1348 7F E3 FB 78 */ mr r3, r31 -/* 802F134C 7F 84 E3 78 */ mr r4, r28 -/* 802F1350 7F 85 E3 78 */ mr r5, r28 -/* 802F1354 81 9F 00 00 */ lwz r12, 0(r31) -/* 802F1358 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802F135C 7D 89 03 A6 */ mtctr r12 -/* 802F1360 4E 80 04 21 */ bctrl -/* 802F1364 3B 9C 00 01 */ addi r28, r28, 1 -/* 802F1368 2C 1C 00 08 */ cmpwi r28, 8 -/* 802F136C 41 80 FF DC */ blt lbl_802F1348 -/* 802F1370 3B A0 00 00 */ li r29, 0 -/* 802F1374 3B 80 00 00 */ li r28, 0 -/* 802F1378 48 00 00 24 */ b lbl_802F139C -lbl_802F137C: -/* 802F137C 7C DF E2 14 */ add r6, r31, r28 -/* 802F1380 7F A3 EB 78 */ mr r3, r29 -/* 802F1384 88 86 00 16 */ lbz r4, 0x16(r6) -/* 802F1388 88 A6 00 17 */ lbz r5, 0x17(r6) -/* 802F138C 88 C6 00 18 */ lbz r6, 0x18(r6) -/* 802F1390 48 06 E3 65 */ bl GXSetTevOrder -/* 802F1394 3B BD 00 01 */ addi r29, r29, 1 -/* 802F1398 3B 9C 00 04 */ addi r28, r28, 4 -lbl_802F139C: -/* 802F139C 88 1F 00 76 */ lbz r0, 0x76(r31) -/* 802F13A0 7C 1D 00 00 */ cmpw r29, r0 -/* 802F13A4 41 80 FF D8 */ blt lbl_802F137C -/* 802F13A8 3B C0 00 00 */ li r30, 0 -/* 802F13AC 3B 80 00 00 */ li r28, 0 -/* 802F13B0 3B A1 00 0C */ addi r29, r1, 0xc -lbl_802F13B4: -/* 802F13B4 38 1C 00 56 */ addi r0, r28, 0x56 -/* 802F13B8 7C 9F 02 14 */ add r4, r31, r0 -/* 802F13BC 80 64 00 00 */ lwz r3, 0(r4) -/* 802F13C0 80 04 00 04 */ lwz r0, 4(r4) -/* 802F13C4 90 61 00 0C */ stw r3, 0xc(r1) -/* 802F13C8 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F13CC 2C 1E 00 03 */ cmpwi r30, 3 -/* 802F13D0 38 60 00 00 */ li r3, 0 -/* 802F13D4 41 82 00 08 */ beq lbl_802F13DC -/* 802F13D8 38 7E 00 01 */ addi r3, r30, 1 -lbl_802F13DC: -/* 802F13DC 7F A4 EB 78 */ mr r4, r29 -/* 802F13E0 48 06 DF FD */ bl GXSetTevColorS10 -/* 802F13E4 3B DE 00 01 */ addi r30, r30, 1 -/* 802F13E8 2C 1E 00 04 */ cmpwi r30, 4 -/* 802F13EC 3B 9C 00 08 */ addi r28, r28, 8 -/* 802F13F0 41 80 FF C4 */ blt lbl_802F13B4 -/* 802F13F4 88 7F 00 76 */ lbz r3, 0x76(r31) -/* 802F13F8 48 06 E4 99 */ bl GXSetNumTevStages -/* 802F13FC 3B C0 00 00 */ li r30, 0 -/* 802F1400 3B 80 00 00 */ li r28, 0 -/* 802F1404 48 00 01 2C */ b lbl_802F1530 -lbl_802F1408: -/* 802F1408 7F BF E2 14 */ add r29, r31, r28 -/* 802F140C 88 1D 00 7A */ lbz r0, 0x7a(r29) -/* 802F1410 88 BD 00 79 */ lbz r5, 0x79(r29) -/* 802F1414 7F C3 F3 78 */ mr r3, r30 -/* 802F1418 54 A4 E7 3E */ rlwinm r4, r5, 0x1c, 0x1c, 0x1f -/* 802F141C 54 A5 07 3E */ clrlwi r5, r5, 0x1c -/* 802F1420 54 06 E7 3E */ rlwinm r6, r0, 0x1c, 0x1c, 0x1f -/* 802F1424 54 07 07 3E */ clrlwi r7, r0, 0x1c -/* 802F1428 48 06 DD FD */ bl GXSetTevColorIn -/* 802F142C 88 FD 00 7E */ lbz r7, 0x7e(r29) -/* 802F1430 88 DD 00 7D */ lbz r6, 0x7d(r29) -/* 802F1434 7F C3 F3 78 */ mr r3, r30 -/* 802F1438 54 C0 06 34 */ rlwinm r0, r6, 0, 0x18, 0x1a -/* 802F143C 7C 00 2E 70 */ srawi r0, r0, 5 -/* 802F1440 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802F1444 54 C5 F7 7E */ rlwinm r5, r6, 0x1e, 0x1d, 0x1f -/* 802F1448 54 E0 CF FE */ rlwinm r0, r7, 0x19, 0x1f, 0x1f -/* 802F144C 50 C0 0F 7C */ rlwimi r0, r6, 1, 0x1d, 0x1e -/* 802F1450 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802F1454 54 E7 E7 7E */ rlwinm r7, r7, 0x1c, 0x1d, 0x1f -/* 802F1458 48 06 DE 11 */ bl GXSetTevAlphaIn -/* 802F145C 88 9D 00 78 */ lbz r4, 0x78(r29) -/* 802F1460 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802F1464 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802F1468 7C 00 26 70 */ srawi r0, r0, 4 -/* 802F146C 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802F1470 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802F1474 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802F1478 7F C3 F3 78 */ mr r3, r30 -/* 802F147C 28 05 00 03 */ cmplwi r5, 3 -/* 802F1480 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802F1484 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802F1488 7C 89 02 14 */ add r4, r9, r0 -/* 802F148C 38 04 00 08 */ addi r0, r4, 8 -/* 802F1490 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802F1494 41 82 00 08 */ beq lbl_802F149C -/* 802F1498 7D 20 4B 78 */ mr r0, r9 -lbl_802F149C: -/* 802F149C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802F14A0 48 06 DE 0D */ bl GXSetTevColorOp -/* 802F14A4 88 9D 00 7C */ lbz r4, 0x7c(r29) -/* 802F14A8 54 85 07 BE */ clrlwi r5, r4, 0x1e -/* 802F14AC 54 80 06 B6 */ rlwinm r0, r4, 0, 0x1a, 0x1b -/* 802F14B0 7C 00 26 70 */ srawi r0, r0, 4 -/* 802F14B4 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802F14B8 54 87 EF FE */ rlwinm r7, r4, 0x1d, 0x1f, 0x1f -/* 802F14BC 54 88 D7 BE */ rlwinm r8, r4, 0x1a, 0x1e, 0x1f -/* 802F14C0 7F C3 F3 78 */ mr r3, r30 -/* 802F14C4 28 05 00 03 */ cmplwi r5, 3 -/* 802F14C8 54 89 F7 FE */ rlwinm r9, r4, 0x1e, 0x1f, 0x1f -/* 802F14CC 54 80 EF 7C */ rlwinm r0, r4, 0x1d, 0x1d, 0x1e -/* 802F14D0 7C 89 02 14 */ add r4, r9, r0 -/* 802F14D4 38 04 00 08 */ addi r0, r4, 8 -/* 802F14D8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802F14DC 41 82 00 08 */ beq lbl_802F14E4 -/* 802F14E0 7D 20 4B 78 */ mr r0, r9 -lbl_802F14E4: -/* 802F14E4 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802F14E8 48 06 DE 2D */ bl GXSetTevAlphaOp -/* 802F14EC 7F BF F2 14 */ add r29, r31, r30 -/* 802F14F0 88 1D 01 08 */ lbz r0, 0x108(r29) -/* 802F14F4 28 00 00 FF */ cmplwi r0, 0xff -/* 802F14F8 38 80 00 00 */ li r4, 0 -/* 802F14FC 41 82 00 08 */ beq lbl_802F1504 -/* 802F1500 7C 04 03 78 */ mr r4, r0 -lbl_802F1504: -/* 802F1504 7F C3 F3 78 */ mr r3, r30 -/* 802F1508 48 06 DF 9D */ bl GXSetTevKColorSel -/* 802F150C 88 1D 01 18 */ lbz r0, 0x118(r29) -/* 802F1510 28 00 00 FF */ cmplwi r0, 0xff -/* 802F1514 38 80 00 00 */ li r4, 0 -/* 802F1518 41 82 00 08 */ beq lbl_802F1520 -/* 802F151C 7C 04 03 78 */ mr r4, r0 -lbl_802F1520: -/* 802F1520 7F C3 F3 78 */ mr r3, r30 -/* 802F1524 48 06 DF DD */ bl GXSetTevKAlphaSel -/* 802F1528 3B DE 00 01 */ addi r30, r30, 1 -/* 802F152C 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802F1530: -/* 802F1530 88 1F 00 76 */ lbz r0, 0x76(r31) -/* 802F1534 7C 1E 00 00 */ cmpw r30, r0 -/* 802F1538 41 80 FE D0 */ blt lbl_802F1408 -/* 802F153C 3B A0 00 00 */ li r29, 0 -/* 802F1540 3B 80 00 00 */ li r28, 0 -lbl_802F1544: -/* 802F1544 38 1C 00 F8 */ addi r0, r28, 0xf8 -/* 802F1548 7C 1F 00 2E */ lwzx r0, r31, r0 -/* 802F154C 90 01 00 08 */ stw r0, 8(r1) -/* 802F1550 7F A3 EB 78 */ mr r3, r29 -/* 802F1554 38 81 00 08 */ addi r4, r1, 8 -/* 802F1558 48 06 DE E9 */ bl GXSetTevKColor -/* 802F155C 3B BD 00 01 */ addi r29, r29, 1 -/* 802F1560 2C 1D 00 04 */ cmpwi r29, 4 -/* 802F1564 3B 9C 00 04 */ addi r28, r28, 4 -/* 802F1568 41 80 FF DC */ blt lbl_802F1544 -/* 802F156C 3B A0 00 00 */ li r29, 0 -/* 802F1570 3B 80 00 00 */ li r28, 0 -/* 802F1574 48 00 00 24 */ b lbl_802F1598 -lbl_802F1578: -/* 802F1578 38 1C 00 7E */ addi r0, r28, 0x7e -/* 802F157C 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802F1580 7F A3 EB 78 */ mr r3, r29 -/* 802F1584 54 04 07 BE */ clrlwi r4, r0, 0x1e -/* 802F1588 54 05 F7 BE */ rlwinm r5, r0, 0x1e, 0x1e, 0x1f -/* 802F158C 48 06 DF D1 */ bl GXSetTevSwapMode -/* 802F1590 3B BD 00 01 */ addi r29, r29, 1 -/* 802F1594 3B 9C 00 08 */ addi r28, r28, 8 -lbl_802F1598: -/* 802F1598 88 1F 00 76 */ lbz r0, 0x76(r31) -/* 802F159C 7C 1D 00 00 */ cmpw r29, r0 -/* 802F15A0 41 80 FF D8 */ blt lbl_802F1578 -/* 802F15A4 3B 80 00 00 */ li r28, 0 -lbl_802F15A8: -/* 802F15A8 38 1C 01 28 */ addi r0, r28, 0x128 -/* 802F15AC 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 802F15B0 7F 83 E3 78 */ mr r3, r28 -/* 802F15B4 54 04 D7 BE */ rlwinm r4, r0, 0x1a, 0x1e, 0x1f -/* 802F15B8 54 05 E7 BE */ rlwinm r5, r0, 0x1c, 0x1e, 0x1f -/* 802F15BC 54 06 F7 BE */ rlwinm r6, r0, 0x1e, 0x1e, 0x1f -/* 802F15C0 54 07 07 BE */ clrlwi r7, r0, 0x1e -/* 802F15C4 48 06 DF E1 */ bl GXSetTevSwapModeTable -/* 802F15C8 3B 9C 00 01 */ addi r28, r28, 1 -/* 802F15CC 2C 1C 00 04 */ cmpwi r28, 4 -/* 802F15D0 41 80 FF D8 */ blt lbl_802F15A8 -/* 802F15D4 3B 80 00 00 */ li r28, 0 -/* 802F15D8 48 00 00 1C */ b lbl_802F15F4 -lbl_802F15DC: -/* 802F15DC 57 83 15 BA */ rlwinm r3, r28, 2, 0x16, 0x1d -/* 802F15E0 38 63 01 2C */ addi r3, r3, 0x12c -/* 802F15E4 7C 7F 1A 14 */ add r3, r31, r3 -/* 802F15E8 7F 84 E3 78 */ mr r4, r28 -/* 802F15EC 4B FF 8A 59 */ bl load__14J2DIndTevStageFUc -/* 802F15F0 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802F15F4: -/* 802F15F4 57 83 06 3E */ clrlwi r3, r28, 0x18 -/* 802F15F8 88 1F 00 76 */ lbz r0, 0x76(r31) -/* 802F15FC 7C 03 00 40 */ cmplw r3, r0 -/* 802F1600 41 80 FF DC */ blt lbl_802F15DC -/* 802F1604 39 61 00 30 */ addi r11, r1, 0x30 -/* 802F1608 48 07 0C 1D */ bl _restgpr_28 -/* 802F160C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802F1610 7C 08 03 A6 */ mtlr r0 -/* 802F1614 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F1618 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__14J2DTexGenBlockFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__14J2DTexGenBlockFv.s deleted file mode 100644 index cf2c6578aa..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__14J2DTexGenBlockFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_802EB570: -/* 802EB570 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802EB574 7C 08 02 A6 */ mflr r0 -/* 802EB578 90 01 00 24 */ stw r0, 0x24(r1) -/* 802EB57C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802EB580 48 07 6C 5D */ bl _savegpr_29 -/* 802EB584 7C 7D 1B 78 */ mr r29, r3 -/* 802EB588 80 03 00 00 */ lwz r0, 0(r3) -/* 802EB58C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 802EB590 48 07 08 6D */ bl GXSetNumTexGens -/* 802EB594 3B C0 00 00 */ li r30, 0 -/* 802EB598 3B E0 00 00 */ li r31, 0 -/* 802EB59C 48 00 00 2C */ b lbl_802EB5C8 -lbl_802EB5A0: -/* 802EB5A0 7C DD FA 14 */ add r6, r29, r31 -/* 802EB5A4 7F C3 F3 78 */ mr r3, r30 -/* 802EB5A8 88 86 00 04 */ lbz r4, 4(r6) -/* 802EB5AC 88 A6 00 05 */ lbz r5, 5(r6) -/* 802EB5B0 88 C6 00 06 */ lbz r6, 6(r6) -/* 802EB5B4 38 E0 00 00 */ li r7, 0 -/* 802EB5B8 39 00 00 7D */ li r8, 0x7d -/* 802EB5BC 48 07 05 C1 */ bl GXSetTexCoordGen2 -/* 802EB5C0 3B DE 00 01 */ addi r30, r30, 1 -/* 802EB5C4 3B FF 00 04 */ addi r31, r31, 4 -lbl_802EB5C8: -/* 802EB5C8 80 1D 00 00 */ lwz r0, 0(r29) -/* 802EB5CC 7C 1E 00 40 */ cmplw r30, r0 -/* 802EB5D0 41 80 FF D0 */ blt lbl_802EB5A0 -/* 802EB5D4 3B C0 00 00 */ li r30, 0 -/* 802EB5D8 48 00 00 24 */ b lbl_802EB5FC -lbl_802EB5DC: -/* 802EB5DC 57 C4 06 3E */ clrlwi r4, r30, 0x18 -/* 802EB5E0 57 C3 15 BA */ rlwinm r3, r30, 2, 0x16, 0x1d -/* 802EB5E4 38 03 00 24 */ addi r0, r3, 0x24 -/* 802EB5E8 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 802EB5EC 28 03 00 00 */ cmplwi r3, 0 -/* 802EB5F0 41 82 00 08 */ beq lbl_802EB5F8 -/* 802EB5F4 4B FF E6 9D */ bl load__9J2DTexMtxFUl -lbl_802EB5F8: -/* 802EB5F8 3B DE 00 01 */ addi r30, r30, 1 -lbl_802EB5FC: -/* 802EB5FC 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 802EB600 28 00 00 08 */ cmplwi r0, 8 -/* 802EB604 41 80 FF D8 */ blt lbl_802EB5DC -/* 802EB608 39 61 00 20 */ addi r11, r1, 0x20 -/* 802EB60C 48 07 6C 1D */ bl _restgpr_29 -/* 802EB610 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802EB614 7C 08 03 A6 */ mtlr r0 -/* 802EB618 38 21 00 20 */ addi r1, r1, 0x20 -/* 802EB61C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__15J2DIndBlockFullFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/setGX__15J2DIndBlockFullFv.s deleted file mode 100644 index aaaff12249..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setGX__15J2DIndBlockFullFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_802F1730: -/* 802F1730 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F1734 7C 08 02 A6 */ mflr r0 -/* 802F1738 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F173C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F1740 93 C1 00 08 */ stw r30, 8(r1) -/* 802F1744 7C 7E 1B 78 */ mr r30, r3 -/* 802F1748 88 63 00 04 */ lbz r3, 4(r3) -/* 802F174C 48 06 D9 89 */ bl GXSetNumIndStages -/* 802F1750 3B E0 00 00 */ li r31, 0 -/* 802F1754 48 00 00 20 */ b lbl_802F1774 -lbl_802F1758: -/* 802F1758 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 802F175C 1C 60 00 1C */ mulli r3, r0, 0x1c -/* 802F1760 38 63 00 10 */ addi r3, r3, 0x10 -/* 802F1764 7C 7E 1A 14 */ add r3, r30, r3 -/* 802F1768 7F E4 FB 78 */ mr r4, r31 -/* 802F176C 4B FF 89 2D */ bl load__12J2DIndTexMtxFUc -/* 802F1770 3B FF 00 01 */ addi r31, r31, 1 -lbl_802F1774: -/* 802F1774 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 802F1778 88 1E 00 04 */ lbz r0, 4(r30) -/* 802F177C 7C 03 00 40 */ cmplw r3, r0 -/* 802F1780 41 80 FF D8 */ blt lbl_802F1758 -/* 802F1784 3B E0 00 00 */ li r31, 0 -/* 802F1788 48 00 00 1C */ b lbl_802F17A4 -lbl_802F178C: -/* 802F178C 57 E3 0D FC */ rlwinm r3, r31, 1, 0x17, 0x1e -/* 802F1790 38 63 00 64 */ addi r3, r3, 0x64 -/* 802F1794 7C 7E 1A 14 */ add r3, r30, r3 -/* 802F1798 7F E4 FB 78 */ mr r4, r31 -/* 802F179C 4B FF 89 31 */ bl load__19J2DIndTexCoordScaleFUc -/* 802F17A0 3B FF 00 01 */ addi r31, r31, 1 -lbl_802F17A4: -/* 802F17A4 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 802F17A8 88 1E 00 04 */ lbz r0, 4(r30) -/* 802F17AC 7C 03 00 40 */ cmplw r3, r0 -/* 802F17B0 41 80 FF DC */ blt lbl_802F178C -/* 802F17B4 3B E0 00 00 */ li r31, 0 -/* 802F17B8 48 00 00 1C */ b lbl_802F17D4 -lbl_802F17BC: -/* 802F17BC 57 E3 0D FC */ rlwinm r3, r31, 1, 0x17, 0x1e -/* 802F17C0 38 63 00 05 */ addi r3, r3, 5 -/* 802F17C4 7C 7E 1A 14 */ add r3, r30, r3 -/* 802F17C8 7F E4 FB 78 */ mr r4, r31 -/* 802F17CC 4B FF 89 31 */ bl load__14J2DIndTexOrderFUc -/* 802F17D0 3B FF 00 01 */ addi r31, r31, 1 -lbl_802F17D4: -/* 802F17D4 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 802F17D8 88 1E 00 04 */ lbz r0, 4(r30) -/* 802F17DC 7C 03 00 40 */ cmplw r3, r0 -/* 802F17E0 41 80 FF DC */ blt lbl_802F17BC -/* 802F17E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F17E8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802F17EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F17F0 7C 08 03 A6 */ mtlr r0 -/* 802F17F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F17F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale.s b/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale.s deleted file mode 100644 index e726c3a2cd..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802F1C4C: -/* 802F1C4C 88 05 00 00 */ lbz r0, 0(r5) -/* 802F1C50 54 84 08 3C */ slwi r4, r4, 1 -/* 802F1C54 7C 63 22 14 */ add r3, r3, r4 -/* 802F1C58 98 03 00 64 */ stb r0, 0x64(r3) -/* 802F1C5C 88 05 00 01 */ lbz r0, 1(r5) -/* 802F1C60 98 03 00 65 */ stb r0, 0x65(r3) -/* 802F1C64 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx.s b/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx.s deleted file mode 100644 index b502160a32..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802F1BE0: -/* 802F1BE0 38 E0 00 00 */ li r7, 0 -/* 802F1BE4 38 C0 00 00 */ li r6, 0 -/* 802F1BE8 1D 64 00 1C */ mulli r11, r4, 0x1c -/* 802F1BEC 7D 43 5A 14 */ add r10, r3, r11 -lbl_802F1BF0: -/* 802F1BF0 38 80 00 00 */ li r4, 0 -/* 802F1BF4 7D 05 32 14 */ add r8, r5, r6 -/* 802F1BF8 7D 2A 32 14 */ add r9, r10, r6 -/* 802F1BFC 38 00 00 03 */ li r0, 3 -/* 802F1C00 7C 09 03 A6 */ mtctr r0 -lbl_802F1C04: -/* 802F1C04 7C 08 24 2E */ lfsx f0, r8, r4 -/* 802F1C08 38 04 00 10 */ addi r0, r4, 0x10 -/* 802F1C0C 7C 09 05 2E */ stfsx f0, r9, r0 -/* 802F1C10 38 84 00 04 */ addi r4, r4, 4 -/* 802F1C14 42 00 FF F0 */ bdnz lbl_802F1C04 -/* 802F1C18 38 E7 00 01 */ addi r7, r7, 1 -/* 802F1C1C 2C 07 00 02 */ cmpwi r7, 2 -/* 802F1C20 38 C6 00 0C */ addi r6, r6, 0xc -/* 802F1C24 41 80 FF CC */ blt lbl_802F1BF0 -/* 802F1C28 88 05 00 18 */ lbz r0, 0x18(r5) -/* 802F1C2C 7C 63 5A 14 */ add r3, r3, r11 -/* 802F1C30 98 03 00 28 */ stb r0, 0x28(r3) -/* 802F1C34 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder.s b/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder.s deleted file mode 100644 index 0d988a737c..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802F1BB0: -/* 802F1BB0 88 05 00 00 */ lbz r0, 0(r5) -/* 802F1BB4 54 84 08 3C */ slwi r4, r4, 1 -/* 802F1BB8 7C 63 22 14 */ add r3, r3, r4 -/* 802F1BBC 98 03 00 05 */ stb r0, 5(r3) -/* 802F1BC0 88 05 00 01 */ lbz r0, 1(r5) -/* 802F1BC4 98 03 00 06 */ stb r0, 6(r3) -/* 802F1BC8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo.s b/asm/JSystem/J2DGraph/J2DMatBlock/setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo.s deleted file mode 100644 index fd944e2cce..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo.s +++ /dev/null @@ -1,119 +0,0 @@ -lbl_802F19A8: -/* 802F19A8 88 E4 00 04 */ lbz r7, 4(r4) -/* 802F19AC 88 C4 00 03 */ lbz r6, 3(r4) -/* 802F19B0 88 04 00 01 */ lbz r0, 1(r4) -/* 802F19B4 54 05 25 36 */ rlwinm r5, r0, 4, 0x14, 0x1b -/* 802F19B8 88 04 00 02 */ lbz r0, 2(r4) -/* 802F19BC 7C A0 03 78 */ or r0, r5, r0 -/* 802F19C0 98 03 00 02 */ stb r0, 2(r3) -/* 802F19C4 54 C0 20 36 */ slwi r0, r6, 4 -/* 802F19C8 7C 00 3B 78 */ or r0, r0, r7 -/* 802F19CC 98 03 00 03 */ stb r0, 3(r3) -/* 802F19D0 89 44 00 09 */ lbz r10, 9(r4) -/* 802F19D4 89 24 00 08 */ lbz r9, 8(r4) -/* 802F19D8 89 04 00 07 */ lbz r8, 7(r4) -/* 802F19DC 88 E4 00 06 */ lbz r7, 6(r4) -/* 802F19E0 88 C4 00 05 */ lbz r6, 5(r4) -/* 802F19E4 88 03 00 01 */ lbz r0, 1(r3) -/* 802F19E8 54 05 07 B8 */ rlwinm r5, r0, 0, 0x1e, 0x1c -/* 802F19EC 54 C0 10 3A */ slwi r0, r6, 2 -/* 802F19F0 7C A0 03 78 */ or r0, r5, r0 -/* 802F19F4 98 03 00 01 */ stb r0, 1(r3) -/* 802F19F8 28 06 00 01 */ cmplwi r6, 1 -/* 802F19FC 41 81 00 2C */ bgt lbl_802F1A28 -/* 802F1A00 88 03 00 01 */ lbz r0, 1(r3) -/* 802F1A04 54 05 07 32 */ rlwinm r5, r0, 0, 0x1c, 0x19 -/* 802F1A08 55 00 25 36 */ rlwinm r0, r8, 4, 0x14, 0x1b -/* 802F1A0C 7C A0 03 78 */ or r0, r5, r0 -/* 802F1A10 98 03 00 01 */ stb r0, 1(r3) -/* 802F1A14 88 03 00 01 */ lbz r0, 1(r3) -/* 802F1A18 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 802F1A1C 7C 00 3B 78 */ or r0, r0, r7 -/* 802F1A20 98 03 00 01 */ stb r0, 1(r3) -/* 802F1A24 48 00 00 20 */ b lbl_802F1A44 -lbl_802F1A28: -/* 802F1A28 88 03 00 01 */ lbz r0, 1(r3) -/* 802F1A2C 50 C0 1E B6 */ rlwimi r0, r6, 3, 0x1a, 0x1b -/* 802F1A30 98 03 00 01 */ stb r0, 1(r3) -/* 802F1A34 88 03 00 01 */ lbz r0, 1(r3) -/* 802F1A38 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 802F1A3C 60 00 00 03 */ ori r0, r0, 3 -/* 802F1A40 98 03 00 01 */ stb r0, 1(r3) -lbl_802F1A44: -/* 802F1A44 88 03 00 01 */ lbz r0, 1(r3) -/* 802F1A48 54 05 07 76 */ rlwinm r5, r0, 0, 0x1d, 0x1b -/* 802F1A4C 55 20 1D 78 */ rlwinm r0, r9, 3, 0x15, 0x1c -/* 802F1A50 7C A0 03 78 */ or r0, r5, r0 -/* 802F1A54 98 03 00 01 */ stb r0, 1(r3) -/* 802F1A58 88 A3 00 01 */ lbz r5, 1(r3) -/* 802F1A5C 55 40 34 B2 */ rlwinm r0, r10, 6, 0x12, 0x19 -/* 802F1A60 50 A0 06 BE */ rlwimi r0, r5, 0, 0x1a, 0x1f -/* 802F1A64 98 03 00 01 */ stb r0, 1(r3) -/* 802F1A68 89 04 00 0D */ lbz r8, 0xd(r4) -/* 802F1A6C 88 E4 00 0C */ lbz r7, 0xc(r4) -/* 802F1A70 88 C4 00 0B */ lbz r6, 0xb(r4) -/* 802F1A74 88 A3 00 06 */ lbz r5, 6(r3) -/* 802F1A78 88 04 00 0A */ lbz r0, 0xa(r4) -/* 802F1A7C 54 00 2C F4 */ rlwinm r0, r0, 5, 0x13, 0x1a -/* 802F1A80 50 A0 06 FE */ rlwimi r0, r5, 0, 0x1b, 0x1f -/* 802F1A84 98 03 00 06 */ stb r0, 6(r3) -/* 802F1A88 88 03 00 06 */ lbz r0, 6(r3) -/* 802F1A8C 54 05 07 B4 */ rlwinm r5, r0, 0, 0x1e, 0x1a -/* 802F1A90 54 C0 10 3A */ slwi r0, r6, 2 -/* 802F1A94 7C A0 03 78 */ or r0, r5, r0 -/* 802F1A98 98 03 00 06 */ stb r0, 6(r3) -/* 802F1A9C 88 03 00 06 */ lbz r0, 6(r3) -/* 802F1AA0 54 05 00 3A */ rlwinm r5, r0, 0, 0, 0x1d -/* 802F1AA4 7C E0 0E 70 */ srawi r0, r7, 1 -/* 802F1AA8 7C A0 03 78 */ or r0, r5, r0 -/* 802F1AAC 98 03 00 06 */ stb r0, 6(r3) -/* 802F1AB0 88 A3 00 07 */ lbz r5, 7(r3) -/* 802F1AB4 54 E0 38 30 */ slwi r0, r7, 7 -/* 802F1AB8 50 A0 06 7E */ rlwimi r0, r5, 0, 0x19, 0x1f -/* 802F1ABC 98 03 00 07 */ stb r0, 7(r3) -/* 802F1AC0 88 03 00 07 */ lbz r0, 7(r3) -/* 802F1AC4 54 05 07 30 */ rlwinm r5, r0, 0, 0x1c, 0x18 -/* 802F1AC8 55 00 20 36 */ slwi r0, r8, 4 -/* 802F1ACC 7C A0 03 78 */ or r0, r5, r0 -/* 802F1AD0 98 03 00 07 */ stb r0, 7(r3) -/* 802F1AD4 89 24 00 12 */ lbz r9, 0x12(r4) -/* 802F1AD8 89 04 00 11 */ lbz r8, 0x11(r4) -/* 802F1ADC 88 E4 00 10 */ lbz r7, 0x10(r4) -/* 802F1AE0 88 C4 00 0F */ lbz r6, 0xf(r4) -/* 802F1AE4 88 A4 00 0E */ lbz r5, 0xe(r4) -/* 802F1AE8 88 03 00 05 */ lbz r0, 5(r3) -/* 802F1AEC 54 04 07 B8 */ rlwinm r4, r0, 0, 0x1e, 0x1c -/* 802F1AF0 54 A0 10 3A */ slwi r0, r5, 2 -/* 802F1AF4 7C 80 03 78 */ or r0, r4, r0 -/* 802F1AF8 98 03 00 05 */ stb r0, 5(r3) -/* 802F1AFC 28 05 00 01 */ cmplwi r5, 1 -/* 802F1B00 41 81 00 2C */ bgt lbl_802F1B2C -/* 802F1B04 88 03 00 05 */ lbz r0, 5(r3) -/* 802F1B08 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 802F1B0C 7C 00 33 78 */ or r0, r0, r6 -/* 802F1B10 98 03 00 05 */ stb r0, 5(r3) -/* 802F1B14 88 03 00 05 */ lbz r0, 5(r3) -/* 802F1B18 54 04 07 32 */ rlwinm r4, r0, 0, 0x1c, 0x19 -/* 802F1B1C 54 E0 25 36 */ rlwinm r0, r7, 4, 0x14, 0x1b -/* 802F1B20 7C 80 03 78 */ or r0, r4, r0 -/* 802F1B24 98 03 00 05 */ stb r0, 5(r3) -/* 802F1B28 48 00 00 20 */ b lbl_802F1B48 -lbl_802F1B2C: -/* 802F1B2C 88 03 00 05 */ lbz r0, 5(r3) -/* 802F1B30 50 A0 1E B6 */ rlwimi r0, r5, 3, 0x1a, 0x1b -/* 802F1B34 98 03 00 05 */ stb r0, 5(r3) -/* 802F1B38 88 03 00 05 */ lbz r0, 5(r3) -/* 802F1B3C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 802F1B40 60 00 00 03 */ ori r0, r0, 3 -/* 802F1B44 98 03 00 05 */ stb r0, 5(r3) -lbl_802F1B48: -/* 802F1B48 88 03 00 05 */ lbz r0, 5(r3) -/* 802F1B4C 54 04 07 76 */ rlwinm r4, r0, 0, 0x1d, 0x1b -/* 802F1B50 55 00 1D 78 */ rlwinm r0, r8, 3, 0x15, 0x1c -/* 802F1B54 7C 80 03 78 */ or r0, r4, r0 -/* 802F1B58 98 03 00 05 */ stb r0, 5(r3) -/* 802F1B5C 88 83 00 05 */ lbz r4, 5(r3) -/* 802F1B60 55 20 34 B2 */ rlwinm r0, r9, 6, 0x12, 0x19 -/* 802F1B64 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f -/* 802F1B68 98 03 00 05 */ stb r0, 5(r3) -/* 802F1B6C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s b/asm/JSystem/J2DGraph/J2DMatBlock/setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s deleted file mode 100644 index 0ba4a4b52b..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_802EB6A4: -/* 802EB6A4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802EB6A8 7C 08 02 A6 */ mflr r0 -/* 802EB6AC 90 01 00 44 */ stw r0, 0x44(r1) -/* 802EB6B0 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 802EB6B4 93 C1 00 38 */ stw r30, 0x38(r1) -/* 802EB6B8 7C BE 2B 78 */ mr r30, r5 -/* 802EB6BC 54 80 10 3A */ slwi r0, r4, 2 -/* 802EB6C0 7F E3 02 14 */ add r31, r3, r0 -/* 802EB6C4 80 DF 00 24 */ lwz r6, 0x24(r31) -/* 802EB6C8 28 06 00 00 */ cmplwi r6, 0 -/* 802EB6CC 40 82 00 78 */ bne lbl_802EB744 -/* 802EB6D0 38 60 00 54 */ li r3, 0x54 -/* 802EB6D4 4B FE 35 79 */ bl __nw__FUl -/* 802EB6D8 28 03 00 00 */ cmplwi r3, 0 -/* 802EB6DC 41 82 00 54 */ beq lbl_802EB730 -/* 802EB6E0 C0 1E 00 04 */ lfs f0, 4(r30) -/* 802EB6E4 D0 03 00 04 */ stfs f0, 4(r3) -/* 802EB6E8 C0 1E 00 08 */ lfs f0, 8(r30) -/* 802EB6EC D0 03 00 08 */ stfs f0, 8(r3) -/* 802EB6F0 C0 1E 00 0C */ lfs f0, 0xc(r30) -/* 802EB6F4 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 802EB6F8 88 1E 00 00 */ lbz r0, 0(r30) -/* 802EB6FC 98 03 00 00 */ stb r0, 0(r3) -/* 802EB700 88 1E 00 01 */ lbz r0, 1(r30) -/* 802EB704 98 03 00 01 */ stb r0, 1(r3) -/* 802EB708 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 802EB70C D0 03 00 10 */ stfs f0, 0x10(r3) -/* 802EB710 C0 1E 00 14 */ lfs f0, 0x14(r30) -/* 802EB714 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802EB718 C0 1E 00 18 */ lfs f0, 0x18(r30) -/* 802EB71C D0 03 00 18 */ stfs f0, 0x18(r3) -/* 802EB720 C0 1E 00 1C */ lfs f0, 0x1c(r30) -/* 802EB724 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 802EB728 C0 1E 00 20 */ lfs f0, 0x20(r30) -/* 802EB72C D0 03 00 20 */ stfs f0, 0x20(r3) -lbl_802EB730: -/* 802EB730 90 7F 00 24 */ stw r3, 0x24(r31) -/* 802EB734 80 1F 00 24 */ lwz r0, 0x24(r31) -/* 802EB738 28 00 00 00 */ cmplwi r0, 0 -/* 802EB73C 40 82 00 84 */ bne lbl_802EB7C0 -/* 802EB740 48 00 00 88 */ b lbl_802EB7C8 -lbl_802EB744: -/* 802EB744 38 A1 00 04 */ addi r5, r1, 4 -/* 802EB748 38 9E FF FC */ addi r4, r30, -4 -/* 802EB74C 38 00 00 04 */ li r0, 4 -/* 802EB750 7C 09 03 A6 */ mtctr r0 -lbl_802EB754: -/* 802EB754 80 64 00 04 */ lwz r3, 4(r4) -/* 802EB758 84 04 00 08 */ lwzu r0, 8(r4) -/* 802EB75C 90 65 00 04 */ stw r3, 4(r5) -/* 802EB760 94 05 00 08 */ stwu r0, 8(r5) -/* 802EB764 42 00 FF F0 */ bdnz lbl_802EB754 -/* 802EB768 80 04 00 04 */ lwz r0, 4(r4) -/* 802EB76C 90 05 00 04 */ stw r0, 4(r5) -/* 802EB770 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802EB774 D0 06 00 04 */ stfs f0, 4(r6) -/* 802EB778 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 802EB77C D0 06 00 08 */ stfs f0, 8(r6) -/* 802EB780 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 802EB784 D0 06 00 0C */ stfs f0, 0xc(r6) -/* 802EB788 88 01 00 08 */ lbz r0, 8(r1) -/* 802EB78C 98 06 00 00 */ stb r0, 0(r6) -/* 802EB790 88 01 00 09 */ lbz r0, 9(r1) -/* 802EB794 98 06 00 01 */ stb r0, 1(r6) -/* 802EB798 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 802EB79C D0 06 00 10 */ stfs f0, 0x10(r6) -/* 802EB7A0 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802EB7A4 D0 06 00 14 */ stfs f0, 0x14(r6) -/* 802EB7A8 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 802EB7AC D0 06 00 18 */ stfs f0, 0x18(r6) -/* 802EB7B0 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 802EB7B4 D0 06 00 1C */ stfs f0, 0x1c(r6) -/* 802EB7B8 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 802EB7BC D0 06 00 20 */ stfs f0, 0x20(r6) -lbl_802EB7C0: -/* 802EB7C0 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 802EB7C4 4B FF E5 01 */ bl calc__9J2DTexMtxFv -lbl_802EB7C8: -/* 802EB7C8 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 802EB7CC 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 802EB7D0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802EB7D4 7C 08 03 A6 */ mtlr r0 -/* 802EB7D8 38 21 00 40 */ addi r1, r1, 0x40 -/* 802EB7DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock2FUcb.s b/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock2FUcb.s deleted file mode 100644 index 2a40488d5c..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock2FUcb.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_802ED4FC: -/* 802ED4FC 88 03 00 78 */ lbz r0, 0x78(r3) -/* 802ED500 54 07 06 30 */ rlwinm r7, r0, 0, 0x18, 0x18 -/* 802ED504 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802ED508 98 03 00 78 */ stb r0, 0x78(r3) -/* 802ED50C 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802ED510 41 82 00 30 */ beq lbl_802ED540 -/* 802ED514 38 A0 00 01 */ li r5, 1 -/* 802ED518 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802ED51C 7C A4 00 30 */ slw r4, r5, r0 -/* 802ED520 38 04 FF FF */ addi r0, r4, -1 -/* 802ED524 88 A3 00 78 */ lbz r5, 0x78(r3) -/* 802ED528 7C A4 00 38 */ and r4, r5, r0 -/* 802ED52C 7C A0 00 78 */ andc r0, r5, r0 -/* 802ED530 54 00 08 3C */ slwi r0, r0, 1 -/* 802ED534 7C 80 03 78 */ or r0, r4, r0 -/* 802ED538 98 03 00 78 */ stb r0, 0x78(r3) -/* 802ED53C 48 00 00 38 */ b lbl_802ED574 -lbl_802ED540: -/* 802ED540 54 88 06 3E */ clrlwi r8, r4, 0x18 -/* 802ED544 89 23 00 78 */ lbz r9, 0x78(r3) -/* 802ED548 38 C0 00 01 */ li r6, 1 -/* 802ED54C 7C C4 40 30 */ slw r4, r6, r8 -/* 802ED550 38 04 FF FF */ addi r0, r4, -1 -/* 802ED554 7D 25 00 38 */ and r5, r9, r0 -/* 802ED558 38 08 00 01 */ addi r0, r8, 1 -/* 802ED55C 7C C4 00 30 */ slw r4, r6, r0 -/* 802ED560 38 04 FF FF */ addi r0, r4, -1 -/* 802ED564 7D 20 00 78 */ andc r0, r9, r0 -/* 802ED568 7C 00 0E 70 */ srawi r0, r0, 1 -/* 802ED56C 7C A0 03 78 */ or r0, r5, r0 -/* 802ED570 98 03 00 78 */ stb r0, 0x78(r3) -lbl_802ED574: -/* 802ED574 88 03 00 78 */ lbz r0, 0x78(r3) -/* 802ED578 7C 00 3B 78 */ or r0, r0, r7 -/* 802ED57C 98 03 00 78 */ stb r0, 0x78(r3) -/* 802ED580 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock4FUcb.s b/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock4FUcb.s deleted file mode 100644 index f05ada96f1..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock4FUcb.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_802EE9A4: -/* 802EE9A4 88 03 00 B0 */ lbz r0, 0xb0(r3) -/* 802EE9A8 54 07 06 30 */ rlwinm r7, r0, 0, 0x18, 0x18 -/* 802EE9AC 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802EE9B0 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 802EE9B4 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802EE9B8 41 82 00 30 */ beq lbl_802EE9E8 -/* 802EE9BC 38 A0 00 01 */ li r5, 1 -/* 802EE9C0 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802EE9C4 7C A4 00 30 */ slw r4, r5, r0 -/* 802EE9C8 38 04 FF FF */ addi r0, r4, -1 -/* 802EE9CC 88 A3 00 B0 */ lbz r5, 0xb0(r3) -/* 802EE9D0 7C A4 00 38 */ and r4, r5, r0 -/* 802EE9D4 7C A0 00 78 */ andc r0, r5, r0 -/* 802EE9D8 54 00 08 3C */ slwi r0, r0, 1 -/* 802EE9DC 7C 80 03 78 */ or r0, r4, r0 -/* 802EE9E0 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 802EE9E4 48 00 00 38 */ b lbl_802EEA1C -lbl_802EE9E8: -/* 802EE9E8 54 88 06 3E */ clrlwi r8, r4, 0x18 -/* 802EE9EC 89 23 00 B0 */ lbz r9, 0xb0(r3) -/* 802EE9F0 38 C0 00 01 */ li r6, 1 -/* 802EE9F4 7C C4 40 30 */ slw r4, r6, r8 -/* 802EE9F8 38 04 FF FF */ addi r0, r4, -1 -/* 802EE9FC 7D 25 00 38 */ and r5, r9, r0 -/* 802EEA00 38 08 00 01 */ addi r0, r8, 1 -/* 802EEA04 7C C4 00 30 */ slw r4, r6, r0 -/* 802EEA08 38 04 FF FF */ addi r0, r4, -1 -/* 802EEA0C 7D 20 00 78 */ andc r0, r9, r0 -/* 802EEA10 7C 00 0E 70 */ srawi r0, r0, 1 -/* 802EEA14 7C A0 03 78 */ or r0, r5, r0 -/* 802EEA18 98 03 00 B0 */ stb r0, 0xb0(r3) -lbl_802EEA1C: -/* 802EEA1C 88 03 00 B0 */ lbz r0, 0xb0(r3) -/* 802EEA20 7C 00 3B 78 */ or r0, r0, r7 -/* 802EEA24 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 802EEA28 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock8FUcb.s b/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock8FUcb.s deleted file mode 100644 index d599463d28..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock8FUcb.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802EFE40: -/* 802EFE40 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802EFE44 41 82 00 30 */ beq lbl_802EFE74 -/* 802EFE48 38 A0 00 01 */ li r5, 1 -/* 802EFE4C 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802EFE50 7C A4 00 30 */ slw r4, r5, r0 -/* 802EFE54 38 04 FF FF */ addi r0, r4, -1 -/* 802EFE58 88 A3 01 20 */ lbz r5, 0x120(r3) -/* 802EFE5C 7C A4 00 38 */ and r4, r5, r0 -/* 802EFE60 7C A0 00 78 */ andc r0, r5, r0 -/* 802EFE64 54 00 08 3C */ slwi r0, r0, 1 -/* 802EFE68 7C 80 03 78 */ or r0, r4, r0 -/* 802EFE6C 98 03 01 20 */ stb r0, 0x120(r3) -/* 802EFE70 4E 80 00 20 */ blr -lbl_802EFE74: -/* 802EFE74 54 87 06 3E */ clrlwi r7, r4, 0x18 -/* 802EFE78 89 03 01 20 */ lbz r8, 0x120(r3) -/* 802EFE7C 38 C0 00 01 */ li r6, 1 -/* 802EFE80 7C C4 38 30 */ slw r4, r6, r7 -/* 802EFE84 38 04 FF FF */ addi r0, r4, -1 -/* 802EFE88 7D 05 00 38 */ and r5, r8, r0 -/* 802EFE8C 38 07 00 01 */ addi r0, r7, 1 -/* 802EFE90 7C C4 00 30 */ slw r4, r6, r0 -/* 802EFE94 38 04 FF FF */ addi r0, r4, -1 -/* 802EFE98 7D 00 00 78 */ andc r0, r8, r0 -/* 802EFE9C 7C 00 0E 70 */ srawi r0, r0, 1 -/* 802EFEA0 7C A0 03 78 */ or r0, r5, r0 -/* 802EFEA4 98 03 01 20 */ stb r0, 0x120(r3) -/* 802EFEA8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__13J2DTevBlock16FUcb.s b/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__13J2DTevBlock16FUcb.s deleted file mode 100644 index d6787da7e6..0000000000 --- a/asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__13J2DTevBlock16FUcb.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802F12C0: -/* 802F12C0 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802F12C4 41 82 00 30 */ beq lbl_802F12F4 -/* 802F12C8 38 A0 00 01 */ li r5, 1 -/* 802F12CC 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802F12D0 7C A4 00 30 */ slw r4, r5, r0 -/* 802F12D4 38 04 FF FF */ addi r0, r4, -1 -/* 802F12D8 88 A3 01 B0 */ lbz r5, 0x1b0(r3) -/* 802F12DC 7C A4 00 38 */ and r4, r5, r0 -/* 802F12E0 7C A0 00 78 */ andc r0, r5, r0 -/* 802F12E4 54 00 08 3C */ slwi r0, r0, 1 -/* 802F12E8 7C 80 03 78 */ or r0, r4, r0 -/* 802F12EC 98 03 01 B0 */ stb r0, 0x1b0(r3) -/* 802F12F0 4E 80 00 20 */ blr -lbl_802F12F4: -/* 802F12F4 54 87 06 3E */ clrlwi r7, r4, 0x18 -/* 802F12F8 89 03 01 B0 */ lbz r8, 0x1b0(r3) -/* 802F12FC 38 C0 00 01 */ li r6, 1 -/* 802F1300 7C C4 38 30 */ slw r4, r6, r7 -/* 802F1304 38 04 FF FF */ addi r0, r4, -1 -/* 802F1308 7D 05 00 38 */ and r5, r8, r0 -/* 802F130C 38 07 00 01 */ addi r0, r7, 1 -/* 802F1310 7C C4 00 30 */ slw r4, r6, r0 -/* 802F1314 38 04 FF FF */ addi r0, r4, -1 -/* 802F1318 7D 00 00 78 */ andc r0, r8, r0 -/* 802F131C 7C 00 0E 70 */ srawi r0, r0, 1 -/* 802F1320 7C A0 03 78 */ or r0, r5, r0 -/* 802F1324 98 03 01 B0 */ stb r0, 0x1b0(r3) -/* 802F1328 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DGrafContext.h b/include/JSystem/J2DGraph/J2DGrafContext.h index ea04368671..47b6cdaabc 100644 --- a/include/JSystem/J2DGraph/J2DGrafContext.h +++ b/include/JSystem/J2DGraph/J2DGrafContext.h @@ -9,6 +9,13 @@ class J2DGrafContext { public: + struct Blend { + /* 0x0 */ u8 mType; + /* 0x1 */ u8 mSrcFactor; + /* 0x2 */ u8 mDstFactor; + }; + + /* 802E8B08 */ J2DGrafContext(f32 x, f32 y, f32 width, f32 height); /* 802E90C0 */ void scissor(JGeometry::TBox2 const& bounds); void setColor(JUtility::TColor c) { this->setColor(c, c, c, c); } @@ -47,9 +54,9 @@ public: /* 0x38 */ JGeometry::TVec2 mPrevPos; /* 0x40 */ Mtx44 mMtx44; /* 0x80 */ Mtx mPosMtx; - /* 0xB0 */ J2DBlendInfo field_0xb0; - /* 0xB3 */ J2DBlendInfo mLinePart; - /* 0xB6 */ J2DBlendInfo mBoxPart; + /* 0xB0 */ Blend field_0xb0; + /* 0xB3 */ Blend mLinePart; + /* 0xB6 */ Blend mBoxPart; }; #endif /* J2DGRAFCONTEXT_H */ diff --git a/include/JSystem/J2DGraph/J2DMatBlock.h b/include/JSystem/J2DGraph/J2DMatBlock.h index 5b4466de38..1a036dc072 100644 --- a/include/JSystem/J2DGraph/J2DMatBlock.h +++ b/include/JSystem/J2DGraph/J2DMatBlock.h @@ -422,6 +422,11 @@ struct J2DAlphaComp { mRef0 = 0; mRef1 = 0; } + u8 getComp0() { return mAlphaCmp >> 5 & 7; } + u8 getRef0() { return mRef0; } + u8 getOp() { return mAlphaCmp >> 3 & 3; } + u8 getComp1() { return mAlphaCmp & 7; } + u8 getRef1() { return mRef1; } /* 0x0 */ u16 mAlphaCmp; /* 0x2 */ u8 mRef0; @@ -433,21 +438,26 @@ struct J2DBlendInfo { mType = other.mType; mSrcFactor = other.mSrcFactor; mDstFactor = other.mDstFactor; - // mOp = other.mOp; + mOp = other.mOp; } /* 0x0 */ u8 mType; /* 0x1 */ u8 mSrcFactor; /* 0x2 */ u8 mDstFactor; + /* 0x3 */ u8 mOp; }; extern J2DBlendInfo j2dDefaultBlendInfo; struct J2DBlend { J2DBlend() { mBlendInfo = j2dDefaultBlendInfo; } + void setBlendInfo(const J2DBlendInfo& info) { mBlendInfo = info; } + u8 getType() { return mBlendInfo.mType; } + u8 getSrcFactor() { return mBlendInfo.mSrcFactor; } + u8 getDstFactor() { return mBlendInfo.mDstFactor; } + u8 getOp() { return mBlendInfo.mOp; } /* 0x0 */ J2DBlendInfo mBlendInfo; - /* 0x3 */ u8 mOp; }; class J2DPEBlock { @@ -532,17 +542,23 @@ public: }; // Size: 0x48 struct J2DColorChanInfo { - /* 0x0 */ u16 field_0x0; + /* 0x0 */ u8 field_0x0; + /* 0x0 */ u8 field_0x1; }; +inline u8 J2DCalcColorChanID(u8 param_1) { return param_1; } + class J2DColorChan { public: /* 802EB280 */ J2DColorChan(); - u16 getMatSrc() const { return mColorChanInfo.field_0x0 & 1; } + void setColorChanInfo(const J2DColorChanInfo& info) { + mColorChan = J2DCalcColorChanID(info.field_0x1); + } + u16 getMatSrc() const { return mColorChan & 1; } private: - /* 0x0 */ J2DColorChanInfo mColorChanInfo; + /* 0x0 */ u16 mColorChan; }; class J2DColorBlock { diff --git a/include/JSystem/J2DGraph/J2DTevs.h b/include/JSystem/J2DGraph/J2DTevs.h index 63e0201b9c..6a561e9557 100644 --- a/include/JSystem/J2DGraph/J2DTevs.h +++ b/include/JSystem/J2DGraph/J2DTevs.h @@ -27,14 +27,25 @@ struct J2DTexMtxInfo { /* 0x10 */ J2DTextureSRTInfo mTexSRTInfo; GXTexMtxType getTexMtxType() const { return (GXTexMtxType)mTexMtxType; } + J2DTexMtxInfo& operator=(const J2DTexMtxInfo& other) { + mCenter = other.mCenter; + mTexMtxType = other.mTexMtxType; + mTexMtxDCC = other.mTexMtxDCC; + mTexSRTInfo = other.mTexSRTInfo; + return *this; + } + }; // Size: 0x24 class J2DTexMtx { public: + J2DTexMtx(const J2DTexMtxInfo& info) { mInfo = info; } /* 802E9C90 */ void load(u32); /* 802E9CC4 */ void calc(); /* 802E9D2C */ void getTextureMtx(J2DTextureSRTInfo const&, Vec, f32 (*)[4]); /* 802E9EBC */ void getTextureMtxMaya(J2DTextureSRTInfo const&, f32 (*)[4]); + J2DTexMtxInfo& getTexMtxInfo() { return mInfo; } + void setTexMtxInfo(J2DTexMtxInfo info) { mInfo = info; } private: /* 0x00 */ J2DTexMtxInfo mInfo; @@ -45,6 +56,11 @@ struct J2DIndTexOrderInfo { /* 0x0 */ u8 mTexCoordID; /* 0x1 */ u8 mTexMapID; + J2DIndTexOrderInfo& operator=(const J2DIndTexOrderInfo& other) { + mTexCoordID = other.mTexCoordID; + mTexMapID = other.mTexMapID; + return *this; + } GXTexCoordID getTexCoordID() const { return (GXTexCoordID)mTexCoordID; } GXTexMapID getTexMapID() const { return (GXTexMapID)mTexMapID; } }; @@ -61,6 +77,16 @@ private: struct J2DIndTexMtxInfo { /* 0x00 */ Mtx23 mMtx; /* 0x18 */ s8 mScaleExp; + + J2DIndTexMtxInfo& operator=(const J2DIndTexMtxInfo& other) { + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 3; j++) { + mMtx[i][j] = other.mMtx[i][j]; + } + } + mScaleExp = other.mScaleExp; + return *this; + } }; class J2DIndTexMtx { @@ -77,8 +103,13 @@ private: struct J2DIndTexCoordScaleInfo { /* 0x0 */ u8 mScaleS; - /* 0x0 */ u8 mScaleT; + /* 0x1 */ u8 mScaleT; + J2DIndTexCoordScaleInfo& operator=(const J2DIndTexCoordScaleInfo& other) { + mScaleS = other.mScaleS; + mScaleT = other.mScaleT; + return *this; + } GXIndTexScale getScaleS() const { return (GXIndTexScale)mScaleS; } GXIndTexScale getScaleT() const { return (GXIndTexScale)mScaleT; } }; @@ -135,11 +166,22 @@ struct J2DTexCoordInfo { /* 0x1 */ u8 mTexGenSrc; /* 0x2 */ u8 mTexGenMtx; u8 padding; // ? + + J2DTexCoordInfo& operator=(const J2DTexCoordInfo& other) { + this->mTexGenType = other.mTexGenType; + this->mTexGenSrc = other.mTexGenSrc; + this->mTexGenMtx = other.mTexGenMtx; + return *this; + } }; class J2DTexCoord { public: /* 802EB260 */ J2DTexCoord(); + void setTexCoordInfo(const J2DTexCoordInfo& info) { mTexCoordInfo = info; } + s32 getTexGenType() { return mTexCoordInfo.mTexGenType; } + s32 getTexGenSrc() { return mTexCoordInfo.mTexGenSrc; } + s32 getTexGenMtx() { return mTexCoordInfo.mTexGenMtx; } private: /* 0x0 */ J2DTexCoordInfo mTexCoordInfo; @@ -204,13 +246,98 @@ public: } void setTexSel(u8 param_0) { - field_0x7 = (field_0x7 & ~12) | (param_0 * 4); + field_0x7 = (field_0x7 & ~0x0c) | (param_0 * 4); } void setRasSel(u8 param_0) { - field_0x7 = (field_0x7 & ~3) | param_0; + field_0x7 = (field_0x7 & ~0x03) | param_0; } + void setColorABCD(u8 param_0, u8 param_1, u8 param_2, u8 param_3) { + setTevColorAB(param_0, param_1); + setTevColorCD(param_2, param_3); + } + + void setTevColorAB(u8 param_0, u8 param_1) { field_0x2 = param_0 << 4 | param_1; } + void setTevColorCD(u8 param_0, u8 param_1) { field_0x3 = param_0 << 4 | param_1; } + + void setTevColorOp(u8 param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4) { + field_0x1 = field_0x1 & ~0x04 | param_0 << 2; + if (param_0 <= 1) { + field_0x1 = field_0x1 & ~0x30 | param_2 << 4; + field_0x1 = field_0x1 & ~0x03 | param_1; + } else { + field_0x1 = field_0x1 & ~0x30 | (param_0 >> 1 & 3) << 4; + field_0x1 = field_0x1 & ~0x03 | 3; + } + field_0x1 = field_0x1 & ~0x08 | param_3 << 3; + field_0x1 = field_0x1 & ~0xc0 | param_4 << 6; + } + + void setAlphaABCD(u8 param_0, u8 param_1, u8 param_2, u8 param_3) { + setAlphaA(param_0); + setAlphaB(param_1); + setAlphaC(param_2); + setAlphaD(param_3); + } + + void setAlphaA(u8 param_0) { + field_0x6 = field_0x6 & ~0xe0 | param_0 << 5; + } + void setAlphaB(u8 param_0) { + field_0x6 = field_0x6 & ~0x1c | param_0 << 2; + } + void setAlphaC(u8 param_0) { + field_0x6 = field_0x6 & ~0x03 | param_0 >> 1; + field_0x7 = field_0x7 & ~0x80 | param_0 << 7; + } + void setAlphaD(u8 param_0) { + field_0x7 = field_0x7 & ~0x70 | param_0 << 4; + } + void setTevAlphaOp(u8 param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4) { + field_0x5 = field_0x5 & ~0x04 | param_0 << 2; + if (param_0 <= 1) { + field_0x5 = field_0x5 & ~0x03 | param_1; + field_0x5 = field_0x5 & ~0x30 | param_2 << 4; + } else { + field_0x5 = field_0x5 & ~0x30 | (param_0 >> 1 & 3) << 4; + field_0x5 = field_0x5 & ~0x03 | 3; + } + field_0x5 = field_0x5 & ~0x08 | param_3 << 3; + field_0x5 = field_0x5 & ~0xc0 | param_4 << 6; + } + + u8 getColorA() { return (field_0x2 & 0xf0) >> 4; } + u8 getColorB() { return field_0x2 & 0x0f; } + u8 getColorC() { return (field_0x3 & 0xf0) >> 4; } + u8 getColorD() { return field_0x3 & 0x0f; } + u8 getAlphaA() { return (field_0x6 & 0xe0) >> 5; } + u8 getAlphaB() { return (field_0x6 & 0x1c) >> 2; } + u8 getAlphaC() { return (field_0x6 & 0x03) << 1 | (field_0x7 & 0x80) >> 7; } + u8 getAlphaD() { return (field_0x7 & 0x70) >> 4; } + u8 getCOp() { + if (getCBias() != 3) { + return (field_0x1 & 4) >> 2; + } + return ((field_0x1 & 4) >> 2) + 8 + ((field_0x1 & 0x30) >> 3); + } + u8 getCBias() { return field_0x1 & 0x03; } + u8 getCScale() { return (field_0x1 & 0x30) >> 4; } + u8 getCClamp() { return (field_0x1 & 0x08) >> 3; } + u8 getCReg() { return (field_0x1 & 0xc0) >> 6; } + u8 getAOp() { + if (getABias() != 3) { + return (field_0x5 & 4) >> 2; + } + return ((field_0x5 & 4) >> 2) + 8 + ((field_0x5 & 0x30) >> 3); + } + u8 getABias() { return field_0x5 & 0x03; } + u8 getAScale() { return (field_0x5 & 0x30) >> 4; } + u8 getAClamp() { return (field_0x5 & 0x08) >> 3; } + u8 getAReg() { return (field_0x5 & 0xc0) >> 6; } + u8 getRasSel() { return field_0x7 & 3; } + u8 getTexSel() { return (field_0x7 & 0x0c) >> 2; } + void operator=(J2DTevStage const& other) { field_0x1 = other.field_0x1; field_0x2 = other.field_0x2; @@ -235,6 +362,11 @@ class J2DTevSwapModeTable { public: /* 802F1934 */ J2DTevSwapModeTable(); + u8 getR() { return field_0x0 >> 6 & 3; } + u8 getG() { return field_0x0 >> 4 & 3; } + u8 getB() { return field_0x0 >> 2 & 3; } + u8 getA() { return field_0x0 & 3; } + private: /* 0x0 */ u8 field_0x0; }; diff --git a/libs/JSystem/J2DGraph/J2DMatBlock.cpp b/libs/JSystem/J2DGraph/J2DMatBlock.cpp index a8a158593b..d0f8659164 100644 --- a/libs/JSystem/J2DGraph/J2DMatBlock.cpp +++ b/libs/JSystem/J2DGraph/J2DMatBlock.cpp @@ -350,22 +350,22 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern u8 const j2dDefaultTexCoordInfo[32]; +extern "C" extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8]; extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28]; -extern "C" extern u8 const j2dDefaultTevStageInfo[20]; +extern "C" extern J2DTevStageInfo const j2dDefaultTevStageInfo; extern "C" extern J2DIndTevStageInfo const j2dDefaultIndTevStageInfo; extern "C" extern void* __vt__11J2DIndBlock[14]; -extern "C" extern u32 j2dDefaultColInfo; -extern "C" extern u32 j2dDefaultTevOrderInfoNull; +extern "C" extern GXColor j2dDefaultColInfo; +extern "C" extern J2DTevOrderInfo j2dDefaultTevOrderInfoNull; extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */]; extern "C" extern u8 j2dDefaultTevColor[8]; extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */]; extern "C" extern u32 j2dDefaultTevKColor; -extern "C" extern u8 j2dDefaultTevSwapMode[4]; +extern "C" extern J2DTevSwapModeInfo j2dDefaultTevSwapMode; extern "C" extern u32 j2dDefaultTevSwapModeTable; -extern "C" extern u8 data_804561A4[4]; -extern "C" extern u32 j2dDefaultColorChanInfo; -extern "C" extern u16 data_804561AC; +extern "C" extern u8 data_804561A4; +extern "C" extern J2DColorChanInfo j2dDefaultColorChanInfo; +extern "C" extern u8 data_804561AC; extern "C" extern u16 j2dDefaultAlphaCmp; // @@ -373,6 +373,19 @@ extern "C" extern u16 j2dDefaultAlphaCmp; // /* 802EB394-802EB424 2E5CD4 0090+00 0/0 1/1 0/0 .text initialize__13J2DColorBlockFv */ +// instruction order +#ifdef NONMATCHING +void J2DColorBlock::initialize() { + for (int i = 0; i < 2; i++) { + mMatColor[i] = JUtility::TColor(j2dDefaultColInfo); + } + mColorChanNum = 2; + for (int i = 0; i < 4; i++) { + mColorChan[i].setColorChanInfo(j2dDefaultColorChanInfo); + } + mCullMode = GX_CULL_NONE; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -381,43 +394,48 @@ asm void J2DColorBlock::initialize() { #include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__13J2DColorBlockFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 803A1C00-803A1C10 02E260 0010+00 1/1 0/0 0/0 .rodata @1463 */ -SECTION_RODATA static u8 const lit_1463[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, -}; -COMPILER_STRIP_GATE(0x803A1C00, &lit_1463); +#endif /* 802EB424-802EB510 2E5D64 00EC+00 0/0 1/1 0/0 .text setGX__13J2DColorBlockFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DColorBlock::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DColorBlockFv.s" +void J2DColorBlock::setGX() { + for (int i = 0; i < 2; i++) { + GXSetChanMatColor(GXChannelID(GX_COLOR0A0 + i), mMatColor[i]); + } + GXSetNumChans(mColorChanNum); + const GXChannelID mapping[4] = {GX_COLOR0, GX_ALPHA0, GX_COLOR1, GX_ALPHA1}; + for (int i = 0; i < mColorChanNum << 1; i++) { + GXSetChanCtrl(mapping[i], GX_DISABLE, GX_SRC_REG, (GXColorSrc)mColorChan[i].getMatSrc(), GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); + } + GXSetCullMode((GXCullMode)mCullMode); } -#pragma pop /* 802EB510-802EB570 2E5E50 0060+00 0/0 1/1 0/0 .text initialize__14J2DTexGenBlockFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTexGenBlock::initialize() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__14J2DTexGenBlockFv.s" +void J2DTexGenBlock::initialize() { + mTexGenNum = 0; + for (int i = 0; i < 8; i++) { + mTexGenCoord[i].setTexCoordInfo(j2dDefaultTexCoordInfo[0]); + } + for (int i = 0; i < 8; i++) { + mTexMtx[i] = NULL; + } +} + +static inline void GXSetTexCoordGen(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32 mtx) { + GXSetTexCoordGen2(dst, type, src, mtx, GX_FALSE, GX_PTIDENTITY); } -#pragma pop /* 802EB570-802EB620 2E5EB0 00B0+00 0/0 1/1 0/0 .text setGX__14J2DTexGenBlockFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTexGenBlock::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__14J2DTexGenBlockFv.s" +void J2DTexGenBlock::setGX() { + GXSetNumTexGens(mTexGenNum); + for (int i = 0; i < mTexGenNum; i++) { + GXSetTexCoordGen((GXTexCoordID)i, (GXTexGenType)mTexGenCoord[i].getTexGenType(), (GXTexGenSrc)mTexGenCoord[i].getTexGenSrc(), mTexGenCoord[i].getTexGenMtx()); + } + for (u8 i = 0; i < 8; i++) { + if (mTexMtx[i]) { + mTexMtx[i]->load(i); + } + } } -#pragma pop /* ############################################################################################## */ /* 803CCA90-803CCAC8 029BB0 0038+00 1/1 1/1 0/0 .data __vt__15J2DIndBlockFull */ @@ -703,24 +721,24 @@ J2DTexGenBlock::~J2DTexGenBlock() { } /* 802EB6A4-802EB7E0 2E5FE4 013C+00 0/0 3/3 0/0 .text setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTexGenBlock::setTexMtx(u32 param_0, J2DTexMtx& param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s" +void J2DTexGenBlock::setTexMtx(u32 param_0, J2DTexMtx& param_1) { + if (!mTexMtx[param_0]) { + mTexMtx[param_0] = new J2DTexMtx(param_1.getTexMtxInfo()); + if (!mTexMtx[param_0]) { + return; + } + } else { + mTexMtx[param_0]->setTexMtxInfo(param_1.getTexMtxInfo()); + } + mTexMtx[param_0]->calc(); } -#pragma pop /* 802EB7E0-802EB87C 2E6120 009C+00 0/0 1/1 0/0 .text getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTexGenBlock::getTexMtx(u32 param_0, J2DTexMtx& param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx.s" +void J2DTexGenBlock::getTexMtx(u32 param_0, J2DTexMtx& param_1) { + if (mTexMtx[param_0]) { + param_1.setTexMtxInfo(mTexMtx[param_0]->getTexMtxInfo()); + } } -#pragma pop /* 802EB87C-802EB884 2E61BC 0008+00 1/0 0/0 0/0 .text getTexture__11J2DTevBlockFUl */ JUTTexture* J2DTevBlock::getTexture(u32) { @@ -991,36 +1009,43 @@ void J2DTevBlock1::shiftDeleteFlag(u8, bool) { } /* 802EC328-802EC570 2E6C68 0248+00 1/0 0/0 0/0 .text setGX__12J2DTevBlock1Fv */ -#ifdef NONMATCHING void J2DTevBlock1::setGX() { loadTexture(GX_TEXMAP0, 0); GXSetTevOrder(GX_TEVSTAGE0, mTevOrder[0].getTexCoord(), mTevOrder[0].getTexMap(), mTevOrder[0].getColor()); for (int i = 0; i < 4; i++) { - GXColorS10 color = mTevColor[i]; - - int id; - if (i == 3) { - id = 0; - } else { - id = i + 1; - } - GXSetTevColorS10((GXTevRegID)id, color); + GXSetTevColorS10(i != 3 ? GXTevRegID(i + 1) : GX_TEVPREV, mTevColor[i]); } GXSetNumTevStages(1); - + GXSetTevColorIn(GX_TEVSTAGE0, GXTevColorArg(mTevStage[0].getColorA()), + GXTevColorArg(mTevStage[0].getColorB()), + GXTevColorArg(mTevStage[0].getColorC()), + GXTevColorArg(mTevStage[0].getColorD())); + GXSetTevAlphaIn(GX_TEVSTAGE0, GXTevAlphaArg(mTevStage[0].getAlphaA()), + GXTevAlphaArg(mTevStage[0].getAlphaB()), + GXTevAlphaArg(mTevStage[0].getAlphaC()), + GXTevAlphaArg(mTevStage[0].getAlphaD())); + GXSetTevColorOp(GX_TEVSTAGE0, GXTevOp(mTevStage[0].getCOp()), + GXTevBias(mTevStage[0].getCBias()), GXTevScale(mTevStage[0].getCScale()), + mTevStage[0].getCClamp(), GXTevRegID(mTevStage[0].getCReg())); + GXSetTevAlphaOp(GX_TEVSTAGE0, (GXTevOp)mTevStage[0].getAOp(), + GXTevBias(mTevStage[0].getABias()), GXTevScale(mTevStage[0].getAScale()), + mTevStage[0].getAClamp(), GXTevRegID(mTevStage[0].getAReg())); + GXSetTevKColorSel(GX_TEVSTAGE0, mTevKColorSel[0] != 0xff ? GXTevKColorSel(mTevKColorSel[0]) : GX_TEV_KCSEL_1); + GXSetTevKAlphaSel(GX_TEVSTAGE0, mTevKAlphaSel[0] != 0xff ? GXTevKAlphaSel(mTevKAlphaSel[0]) : GX_TEV_KASEL_1); + for (int i = 0; i < 4; i++) { + GXSetTevKColor(GXTevKColorID(i), mTevKColor[i]); + } + GXSetTevSwapMode(GX_TEVSTAGE0, GXTevSwapSel(mTevStage[0].getRasSel()), GXTevSwapSel(mTevStage[0].getTexSel())); + for (int i = 0; i < 4; i++) { + GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()), + GXTevColor(mTevSwapModeTable[i].getG()), + GXTevColor(mTevSwapModeTable[i].getB()), + GXTevColor(mTevSwapModeTable[i].getA())); + } + mIndTevStage->load(0); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock1::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock1Fv.s" -} -#pragma pop -#endif /* 802EC570-802EC5B8 2E6EB0 0048+00 1/0 0/0 0/0 .text loadTexture__12J2DTevBlock1F11_GXTexMapIDUl */ @@ -1090,7 +1115,6 @@ bool J2DTevBlock2::prepareTexture(u8 param_0) { /* 802ECAE8-802ECDE8 2E7428 0300+00 1/0 0/0 0/0 .text * insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette */ -#ifdef NONMATCHING bool J2DTevBlock2::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* p_tlut) { if (param_0 >= 2 || p_timg == NULL) { return false; @@ -1111,9 +1135,10 @@ bool J2DTevBlock2::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* return false; } + JUTTexture* tex; u8 tlutid = 0; if (p_timg->indexTexture && p_tlut == NULL) { - JUTTexture* tex = mTexture[0]; + tex = mTexture[0]; if (tex != NULL && tex->getTexInfo() != NULL && tex->getTexInfo()->indexTexture) { int tlutname = tex->getTlutName(); if (tlutname == GX_TLUT0 || tlutname == GX_BIGTLUT0) { @@ -1122,7 +1147,7 @@ bool J2DTevBlock2::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* } } - JUTTexture* tex = mTexture[texNo]; + tex = mTexture[texNo]; if (tex == NULL) { JUTTexture* newtex = new JUTTexture(p_timg, tlutid); @@ -1176,16 +1201,6 @@ bool J2DTevBlock2::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* mTexNo[param_0] = -1; return true; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J2DTevBlock2::insertTexture(u32 param_0, ResTIMG const* param_1, JUTPalette* param_2) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette.s" -} -#pragma pop -#endif /* 802ECDE8-802ECF48 2E7728 0160+00 1/0 0/0 0/0 .text * insertTexture__12J2DTevBlock2FUlP10JUTTexture */ @@ -1232,6 +1247,7 @@ bool J2DTevBlock2::insertTexture(u32 param_0, JUTTexture* p_tex) { } /* 802ECF48-802ED16C 2E7888 0224+00 1/0 0/0 0/0 .text setTexture__12J2DTevBlock2FUlPC7ResTIMG */ +// instruction order #ifdef NONMATCHING bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) { if (param_0 >= 2) { @@ -1417,40 +1433,65 @@ bool J2DTevBlock2::setPalette(u32 param_0, ResTLUT const* p_tlut) { /* 802ED4FC-802ED584 2E7E3C 0088+00 1/0 0/0 0/0 .text shiftDeleteFlag__12J2DTevBlock2FUcb */ -#ifdef NONMATCHING void J2DTevBlock2::shiftDeleteFlag(u8 param_0, bool param_1) { - u8 tmpFlags = mUndeleteFlag; - mUndeleteFlag = (u8)(tmpFlags & 0x7F); + u8 tmpFlags = mUndeleteFlag & 0x80; + mUndeleteFlag = mUndeleteFlag & 0x7F; if (param_1) { - int temp_r0_2 = (1 << param_0) - 1; - mUndeleteFlag = (mUndeleteFlag & temp_r0_2) | ((mUndeleteFlag & ~temp_r0_2) * 2); + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << param_0) - 1)) * 2); } else { - mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | (mUndeleteFlag & ~((1 << (param_0 + 1)) - 1)); + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << (param_0 + 1)) - 1)) >> 1); } - mUndeleteFlag |= (tmpFlags & 0x80); + mUndeleteFlag |= tmpFlags; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock2::shiftDeleteFlag(u8 param_0, bool param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock2FUcb.s" -} -#pragma pop -#endif /* 802ED584-802ED874 2E7EC4 02F0+00 1/0 0/0 0/0 .text setGX__12J2DTevBlock2Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock2::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock2Fv.s" +void J2DTevBlock2::setGX() { + for (int i = 0; i < 2; i++) { + loadTexture(GXTexMapID(i), i); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevOrder(GXTevStageID(i), mTevOrder[i].getTexCoord(), mTevOrder[i].getTexMap(), mTevOrder[i].getColor()); + } + for (int i = 0; i < 4; i++) { + GXSetTevColorS10(i != 3 ? GXTevRegID(i + 1) : GX_TEVPREV, mTevColor[i]); + } + GXSetNumTevStages(mTevStageNum); + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevColorIn(GXTevStageID(i), GXTevColorArg(mTevStage[i].getColorA()), + GXTevColorArg(mTevStage[i].getColorB()), + GXTevColorArg(mTevStage[i].getColorC()), + GXTevColorArg(mTevStage[i].getColorD())); + GXSetTevAlphaIn(GXTevStageID(i), GXTevAlphaArg(mTevStage[i].getAlphaA()), + GXTevAlphaArg(mTevStage[i].getAlphaB()), + GXTevAlphaArg(mTevStage[i].getAlphaC()), + GXTevAlphaArg(mTevStage[i].getAlphaD())); + GXSetTevColorOp(GXTevStageID(i), GXTevOp(mTevStage[i].getCOp()), + GXTevBias(mTevStage[i].getCBias()), GXTevScale(mTevStage[i].getCScale()), + mTevStage[i].getCClamp(), GXTevRegID(mTevStage[i].getCReg())); + GXSetTevAlphaOp(GXTevStageID(i), (GXTevOp)mTevStage[i].getAOp(), + GXTevBias(mTevStage[i].getABias()), GXTevScale(mTevStage[i].getAScale()), + mTevStage[i].getAClamp(), GXTevRegID(mTevStage[i].getAReg())); + GXSetTevKColorSel(GXTevStageID(i), mTevKColorSel[i] != 0xff ? GXTevKColorSel(mTevKColorSel[i]) : GX_TEV_KCSEL_1); + GXSetTevKAlphaSel(GXTevStageID(i), mTevKAlphaSel[i] != 0xff ? GXTevKAlphaSel(mTevKAlphaSel[i]) : GX_TEV_KASEL_1); + } + for (int i = 0; i < 4; i++) { + GXSetTevKColor(GXTevKColorID(i), mTevKColor[i]); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel())); + } + for (int i = 0; i < 4; i++) { + GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()), + GXTevColor(mTevSwapModeTable[i].getG()), + GXTevColor(mTevSwapModeTable[i].getB()), + GXTevColor(mTevSwapModeTable[i].getA())); + } + for (u8 i = 0; i < mTevStageNum; i++) { + mIndTevStage[i].load(i); + } } -#pragma pop /* 802ED874-802ED8BC 2E81B4 0048+00 1/0 0/0 0/0 .text loadTexture__12J2DTevBlock2F11_GXTexMapIDUl */ @@ -1518,6 +1559,99 @@ bool J2DTevBlock4::prepareTexture(u8 param_0) { /* 802EDE04-802EE1D4 2E8744 03D0+00 1/0 0/0 0/0 .text * insertTexture__12J2DTevBlock4FUlPC7ResTIMGP10JUTPalette */ +// local_3c +#ifdef NONMATCHING +bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* p_tlut) { + if (param_0 >= 4 || !p_timg) { + return false; + } + u8 idx; + for (idx = 0; idx < 4; idx++) { + if (!mTexture[idx] || !mTexture[idx]->getTexInfo()) { + break; + } + } + if (idx < param_0) { + return false; + } + if (idx == 4) { + return false; + } + u8 local_43 = 0; + if (p_timg->indexTexture && !p_tlut) { + u8 local_44 = 0; + for (int i = 0; i < 3; i++) { + if (!mTexture[i]) { + continue; + } + const ResTIMG* texInfo = mTexture[i]->getTexInfo(); + if (!texInfo) { + continue; + } + if (!texInfo->indexTexture) { + continue; + } + u8 tlutName = mTexture[i]->getTlutName(); + int local_3c = tlutName >= 0x10 ? 0x10 : 0; + u8 bVar1 = tlutName - local_3c; + if (bVar1 < 4) { + local_44 |= 1 << bVar1; + } + } + for (u8 i = 0; i < 4; i++) { + if ((local_44 & 1 << i) == 0) { + local_43 = i; + break; + } + } + } + if (!mTexture[idx]) { + JUTTexture* texture = new JUTTexture(p_timg, local_43); + if (!texture) { + return false; + } + if (p_tlut) { + texture->storeTIMG(p_timg, p_tlut); + } + for (u8 i = 3; i > param_0; i--) { + mTexture[i] = mTexture[i - 1]; + mPalette[i] = mPalette[i - 1]; + mTexNo[i] = mTexNo[i - 1]; + } + mTexture[param_0] = texture; + shiftDeleteFlag(param_0, true); + mUndeleteFlag |= 1 << param_0; + } else { + JUTTexture* texture = mTexture[idx]; + if (!p_tlut) { + texture->storeTIMG(p_timg, local_43); + } else { + texture->storeTIMG(p_timg, p_tlut); + } + u8 local_38[4]; + for (u8 i = 0; i < 4; i++) { + local_38[i] = -(mUndeleteFlag & 1 << i) >> 0x1f; + } + for (; idx > param_0; idx--) { + mTexture[idx] = mTexture[idx - 1]; + mPalette[idx] = mPalette[idx - 1]; + mTexNo[idx] = mTexNo[idx - 1]; + local_38[idx] = local_38[idx - 1]; + } + mTexture[param_0] = texture; + mUndeleteFlag &= 0x80; + for (u8 i = 0; i < 4; i++) { + if (local_38[i]) { + mUndeleteFlag |= 1 << i; + } + } + mUndeleteFlag |= 1 << param_0; + } + mPalette[param_0] = NULL; + mTexNo[param_0] = -1; + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1526,6 +1660,7 @@ asm bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* param_1, JUTPal #include "asm/JSystem/J2DGraph/J2DMatBlock/insertTexture__12J2DTevBlock4FUlPC7ResTIMGP10JUTPalette.s" } #pragma pop +#endif /* 802EE1D4-802EE364 2E8B14 0190+00 1/0 0/0 0/0 .text * insertTexture__12J2DTevBlock4FUlP10JUTTexture */ @@ -1691,24 +1826,65 @@ bool J2DTevBlock4::setPalette(u32 param_0, ResTLUT const* p_tlut) { /* 802EE9A4-802EEA2C 2E92E4 0088+00 1/0 0/0 0/0 .text shiftDeleteFlag__12J2DTevBlock4FUcb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock4::shiftDeleteFlag(u8 param_0, bool param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock4FUcb.s" +void J2DTevBlock4::shiftDeleteFlag(u8 param_0, bool param_1) { + u8 tmpFlags = mUndeleteFlag & 0x80; + mUndeleteFlag = mUndeleteFlag & 0x7F; + + if (param_1) { + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << param_0) - 1)) * 2); + } else { + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << (param_0 + 1)) - 1)) >> 1); + } + + mUndeleteFlag |= tmpFlags; } -#pragma pop /* 802EEA2C-802EED1C 2E936C 02F0+00 1/0 0/0 0/0 .text setGX__12J2DTevBlock4Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock4::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock4Fv.s" +void J2DTevBlock4::setGX() { + for (int i = 0; i < 4; i++) { + loadTexture(GXTexMapID(i), i); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevOrder(GXTevStageID(i), mTevOrder[i].getTexCoord(), mTevOrder[i].getTexMap(), mTevOrder[i].getColor()); + } + for (int i = 0; i < 4; i++) { + GXSetTevColorS10(i != 3 ? GXTevRegID(i + 1) : GX_TEVPREV, mTevColor[i]); + } + GXSetNumTevStages(mTevStageNum); + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevColorIn(GXTevStageID(i), GXTevColorArg(mTevStage[i].getColorA()), + GXTevColorArg(mTevStage[i].getColorB()), + GXTevColorArg(mTevStage[i].getColorC()), + GXTevColorArg(mTevStage[i].getColorD())); + GXSetTevAlphaIn(GXTevStageID(i), GXTevAlphaArg(mTevStage[i].getAlphaA()), + GXTevAlphaArg(mTevStage[i].getAlphaB()), + GXTevAlphaArg(mTevStage[i].getAlphaC()), + GXTevAlphaArg(mTevStage[i].getAlphaD())); + GXSetTevColorOp(GXTevStageID(i), GXTevOp(mTevStage[i].getCOp()), + GXTevBias(mTevStage[i].getCBias()), GXTevScale(mTevStage[i].getCScale()), + mTevStage[i].getCClamp(), GXTevRegID(mTevStage[i].getCReg())); + GXSetTevAlphaOp(GXTevStageID(i), (GXTevOp)mTevStage[i].getAOp(), + GXTevBias(mTevStage[i].getABias()), GXTevScale(mTevStage[i].getAScale()), + mTevStage[i].getAClamp(), GXTevRegID(mTevStage[i].getAReg())); + GXSetTevKColorSel(GXTevStageID(i), mTevKColorSel[i] != 0xff ? GXTevKColorSel(mTevKColorSel[i]) : GX_TEV_KCSEL_1); + GXSetTevKAlphaSel(GXTevStageID(i), mTevKAlphaSel[i] != 0xff ? GXTevKAlphaSel(mTevKAlphaSel[i]) : GX_TEV_KASEL_1); + } + for (int i = 0; i < 4; i++) { + GXSetTevKColor(GXTevKColorID(i), mTevKColor[i]); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel())); + } + for (int i = 0; i < 4; i++) { + GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()), + GXTevColor(mTevSwapModeTable[i].getG()), + GXTevColor(mTevSwapModeTable[i].getB()), + GXTevColor(mTevSwapModeTable[i].getA())); + } + for (u8 i = 0; i < mTevStageNum; i++) { + mIndTevStage[i].load(i); + } } -#pragma pop /* 802EED1C-802EED64 2E965C 0048+00 1/0 0/0 0/0 .text loadTexture__12J2DTevBlock4F11_GXTexMapIDUl */ @@ -1949,24 +2125,60 @@ bool J2DTevBlock8::setPalette(u32 param_0, ResTLUT const* p_tlut) { /* 802EFE40-802EFEAC 2EA780 006C+00 1/0 0/0 0/0 .text shiftDeleteFlag__12J2DTevBlock8FUcb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock8::shiftDeleteFlag(u8 param_0, bool param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__12J2DTevBlock8FUcb.s" +void J2DTevBlock8::shiftDeleteFlag(u8 param_0, bool param_1) { + if (param_1) { + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << param_0) - 1)) * 2); + } else { + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << (param_0 + 1)) - 1)) >> 1); + } } -#pragma pop /* 802EFEAC-802F019C 2EA7EC 02F0+00 1/0 0/0 0/0 .text setGX__12J2DTevBlock8Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock8::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__12J2DTevBlock8Fv.s" +void J2DTevBlock8::setGX() { + for (int i = 0; i < 8; i++) { + loadTexture(GXTexMapID(i), i); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevOrder(GXTevStageID(i), mTevOrder[i].getTexCoord(), mTevOrder[i].getTexMap(), mTevOrder[i].getColor()); + } + for (int i = 0; i < 4; i++) { + GXSetTevColorS10(i != 3 ? GXTevRegID(i + 1) : GX_TEVPREV, mTevColor[i]); + } + GXSetNumTevStages(mTevStageNum); + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevColorIn(GXTevStageID(i), GXTevColorArg(mTevStage[i].getColorA()), + GXTevColorArg(mTevStage[i].getColorB()), + GXTevColorArg(mTevStage[i].getColorC()), + GXTevColorArg(mTevStage[i].getColorD())); + GXSetTevAlphaIn(GXTevStageID(i), GXTevAlphaArg(mTevStage[i].getAlphaA()), + GXTevAlphaArg(mTevStage[i].getAlphaB()), + GXTevAlphaArg(mTevStage[i].getAlphaC()), + GXTevAlphaArg(mTevStage[i].getAlphaD())); + GXSetTevColorOp(GXTevStageID(i), GXTevOp(mTevStage[i].getCOp()), + GXTevBias(mTevStage[i].getCBias()), GXTevScale(mTevStage[i].getCScale()), + mTevStage[i].getCClamp(), GXTevRegID(mTevStage[i].getCReg())); + GXSetTevAlphaOp(GXTevStageID(i), (GXTevOp)mTevStage[i].getAOp(), + GXTevBias(mTevStage[i].getABias()), GXTevScale(mTevStage[i].getAScale()), + mTevStage[i].getAClamp(), GXTevRegID(mTevStage[i].getAReg())); + GXSetTevKColorSel(GXTevStageID(i), mTevKColorSel[i] != 0xff ? GXTevKColorSel(mTevKColorSel[i]) : GX_TEV_KCSEL_1); + GXSetTevKAlphaSel(GXTevStageID(i), mTevKAlphaSel[i] != 0xff ? GXTevKAlphaSel(mTevKAlphaSel[i]) : GX_TEV_KASEL_1); + } + for (int i = 0; i < 4; i++) { + GXSetTevKColor(GXTevKColorID(i), mTevKColor[i]); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel())); + } + for (int i = 0; i < 4; i++) { + GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()), + GXTevColor(mTevSwapModeTable[i].getG()), + GXTevColor(mTevSwapModeTable[i].getB()), + GXTevColor(mTevSwapModeTable[i].getA())); + } + for (u8 i = 0; i < mTevStageNum; i++) { + mIndTevStage[i].load(i); + } } -#pragma pop /* 802F019C-802F01E4 2EAADC 0048+00 1/0 0/0 0/0 .text loadTexture__12J2DTevBlock8F11_GXTexMapIDUl */ @@ -2207,24 +2419,60 @@ bool J2DTevBlock16::setPalette(u32 param_0, ResTLUT const* p_tlut) { } /* 802F12C0-802F132C 2EBC00 006C+00 1/0 0/0 0/0 .text shiftDeleteFlag__13J2DTevBlock16FUcb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock16::shiftDeleteFlag(u8 param_0, bool param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/shiftDeleteFlag__13J2DTevBlock16FUcb.s" +void J2DTevBlock16::shiftDeleteFlag(u8 param_0, bool param_1) { + if (param_1) { + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << param_0) - 1)) * 2); + } else { + mUndeleteFlag = (mUndeleteFlag & ((1 << param_0) - 1)) | ((mUndeleteFlag & ~((1 << (param_0 + 1)) - 1)) >> 1); + } } -#pragma pop /* 802F132C-802F161C 2EBC6C 02F0+00 1/0 0/0 0/0 .text setGX__13J2DTevBlock16Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevBlock16::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__13J2DTevBlock16Fv.s" +void J2DTevBlock16::setGX() { + for (int i = 0; i < 8; i++) { + loadTexture(GXTexMapID(i), i); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevOrder(GXTevStageID(i), mTevOrder[i].getTexCoord(), mTevOrder[i].getTexMap(), mTevOrder[i].getColor()); + } + for (int i = 0; i < 4; i++) { + GXSetTevColorS10(i != 3 ? GXTevRegID(i + 1) : GX_TEVPREV, mTevColor[i]); + } + GXSetNumTevStages(mTevStageNum); + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevColorIn(GXTevStageID(i), GXTevColorArg(mTevStage[i].getColorA()), + GXTevColorArg(mTevStage[i].getColorB()), + GXTevColorArg(mTevStage[i].getColorC()), + GXTevColorArg(mTevStage[i].getColorD())); + GXSetTevAlphaIn(GXTevStageID(i), GXTevAlphaArg(mTevStage[i].getAlphaA()), + GXTevAlphaArg(mTevStage[i].getAlphaB()), + GXTevAlphaArg(mTevStage[i].getAlphaC()), + GXTevAlphaArg(mTevStage[i].getAlphaD())); + GXSetTevColorOp(GXTevStageID(i), GXTevOp(mTevStage[i].getCOp()), + GXTevBias(mTevStage[i].getCBias()), GXTevScale(mTevStage[i].getCScale()), + mTevStage[i].getCClamp(), GXTevRegID(mTevStage[i].getCReg())); + GXSetTevAlphaOp(GXTevStageID(i), (GXTevOp)mTevStage[i].getAOp(), + GXTevBias(mTevStage[i].getABias()), GXTevScale(mTevStage[i].getAScale()), + mTevStage[i].getAClamp(), GXTevRegID(mTevStage[i].getAReg())); + GXSetTevKColorSel(GXTevStageID(i), mTevKColorSel[i] != 0xff ? GXTevKColorSel(mTevKColorSel[i]) : GX_TEV_KCSEL_1); + GXSetTevKAlphaSel(GXTevStageID(i), mTevKAlphaSel[i] != 0xff ? GXTevKAlphaSel(mTevKAlphaSel[i]) : GX_TEV_KASEL_1); + } + for (int i = 0; i < 4; i++) { + GXSetTevKColor(GXTevKColorID(i), mTevKColor[i]); + } + for (int i = 0; i < mTevStageNum; i++) { + GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel())); + } + for (int i = 0; i < 4; i++) { + GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()), + GXTevColor(mTevSwapModeTable[i].getG()), + GXTevColor(mTevSwapModeTable[i].getB()), + GXTevColor(mTevSwapModeTable[i].getA())); + } + for (u8 i = 0; i < mTevStageNum; i++) { + mIndTevStage[i].load(i); + } } -#pragma pop /* 802F161C-802F1664 2EBF5C 0048+00 1/0 0/0 0/0 .text loadTexture__13J2DTevBlock16F11_GXTexMapIDUl */ @@ -2246,36 +2494,40 @@ extern "C" asm void initialize__15J2DIndBlockFullFv() { #pragma pop /* 802F1730-802F17FC 2EC070 00CC+00 1/0 0/0 0/0 .text setGX__15J2DIndBlockFullFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DIndBlockFull::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__15J2DIndBlockFullFv.s" +void J2DIndBlockFull::setGX() { + GXSetNumIndStages(mIndTexStageNum); + for (u8 i = 0; i < mIndTexStageNum; i++) { + mIndTexMtx[i].load(i); + } + for (u8 i = 0; i < mIndTexStageNum; i++) { + mTexCoordScale[i].load(i); + } + for (u8 i = 0; i < mIndTexStageNum; i++) { + mIndTexOrder[i].load(i); + } } -#pragma pop /* 802F17FC-802F1840 2EC13C 0044+00 0/0 1/1 0/0 .text initialize__10J2DPEBlockFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPEBlock::initialize() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/initialize__10J2DPEBlockFv.s" +void J2DPEBlock::initialize() { + mAlphaComp = J2DAlphaComp(); + mBlend.setBlendInfo(j2dDefaultBlendInfo); + mDither = data_804561A4; } -#pragma pop /* 802F1840-802F18A0 2EC180 0060+00 0/0 1/1 0/0 .text setGX__10J2DPEBlockFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DPEBlock::setGX() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setGX__10J2DPEBlockFv.s" +void J2DPEBlock::setGX() { + GXSetAlphaCompare(GXCompare(mAlphaComp.getComp0()), mAlphaComp.getRef0(), GXAlphaOp(mAlphaComp.getOp()), GXCompare(mAlphaComp.getComp1()), mAlphaComp.getRef1()); + GXSetBlendMode(GXBlendMode(mBlend.getType()), GXBlendFactor(mBlend.getSrcFactor()), GXBlendFactor(mBlend.getDstFactor()), GXLogicOp(mBlend.getOp())); + GXSetDither(mDither); } -#pragma pop /* 802F18A0-802F1934 2EC1E0 0094+00 5/5 0/0 0/0 .text __ct__14J2DIndTevStageFv */ +// missing instruction +#ifdef NONMATCHING +J2DIndTevStage::J2DIndTevStage() { + mFlags = J2DCalcIndTevStage(j2dDefaultIndTevStageInfo); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2284,47 +2536,32 @@ asm J2DIndTevStage::J2DIndTevStage() { #include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__14J2DIndTevStageFv.s" } #pragma pop +#endif /* 802F1934-802F1940 2EC274 000C+00 5/5 0/0 0/0 .text __ct__19J2DTevSwapModeTableFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DTevSwapModeTable::J2DTevSwapModeTable() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s" +J2DTevSwapModeTable::J2DTevSwapModeTable() { + field_0x0 = data_804561AC; } -#pragma pop /* 802F1940-802F19A8 2EC280 0068+00 5/5 1/1 0/0 .text __ct__11J2DTevStageFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DTevStage::J2DTevStage() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevStageFv.s" +J2DTevStage::J2DTevStage() { + setTevStageInfo(j2dDefaultTevStageInfo); + setTevSwapModeInfo(j2dDefaultTevSwapMode); } -#pragma pop /* 802F19A8-802F1B70 2EC2E8 01C8+00 1/1 1/1 0/0 .text * setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTevStage::setTevStageInfo(J2DTevStageInfo const& param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo.s" +void J2DTevStage::setTevStageInfo(J2DTevStageInfo const& info) { + setColorABCD(info.field_0x1, info.field_0x2, info.field_0x3, info.field_0x4); + setTevColorOp(info.field_0x5, info.field_0x6, info.field_0x7, info.field_0x8, info.field_0x9); + setAlphaABCD(info.field_0xa, info.field_0xb, info.field_0xc, info.field_0xd); + setTevAlphaOp(info.field_0xe, info.field_0xf, info.field_0x10, info.field_0x11, info.field_0x12); } -#pragma pop /* 802F1B70-802F1B90 2EC4B0 0020+00 5/5 0/0 0/0 .text __ct__11J2DTevOrderFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J2DTevOrder::J2DTevOrder() { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s" +J2DTevOrder::J2DTevOrder() { + mTevOrderInfo = j2dDefaultTevOrderInfoNull; } -#pragma pop /* 802F1B90-802F1B94 2EC4D0 0004+00 5/5 0/0 0/0 .text __ct__13J2DGXColorS10Fv */ J2DGXColorS10::J2DGXColorS10() { @@ -2348,14 +2585,9 @@ u8 J2DIndBlockFull::getIndTexStageNum() const { /* 802F1BB0-802F1BCC 2EC4F0 001C+00 1/0 0/0 0/0 .text * setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DIndBlockFull::setIndTexOrder(u32 param_0, J2DIndTexOrder param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder.s" +void J2DIndBlockFull::setIndTexOrder(u32 param_0, J2DIndTexOrder param_1) { + mIndTexOrder[param_0] = param_1; } -#pragma pop /* 802F1BCC-802F1BE0 2EC50C 0014+00 1/0 0/0 0/0 .text getIndTexOrder__15J2DIndBlockFullFUl */ J2DIndTexOrder* J2DIndBlockFull::getIndTexOrder(u32 param_0) { @@ -2364,14 +2596,9 @@ J2DIndTexOrder* J2DIndBlockFull::getIndTexOrder(u32 param_0) { /* 802F1BE0-802F1C38 2EC520 0058+00 1/0 0/0 0/0 .text * setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DIndBlockFull::setIndTexMtx(u32 param_0, J2DIndTexMtx param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx.s" +void J2DIndBlockFull::setIndTexMtx(u32 param_0, J2DIndTexMtx param_1) { + mIndTexMtx[param_0] = param_1; } -#pragma pop /* 802F1C38-802F1C4C 2EC578 0014+00 1/0 0/0 0/0 .text getIndTexMtx__15J2DIndBlockFullFUl */ @@ -2381,14 +2608,9 @@ J2DIndTexMtx* J2DIndBlockFull::getIndTexMtx(u32 param_0) { /* 802F1C4C-802F1C68 2EC58C 001C+00 1/0 0/0 0/0 .text * setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DIndBlockFull::setIndTexCoordScale(u32 param_0, J2DIndTexCoordScale param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMatBlock/setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale.s" +void J2DIndBlockFull::setIndTexCoordScale(u32 param_0, J2DIndTexCoordScale param_1) { + mTexCoordScale[param_0] = param_1; } -#pragma pop /* 802F1C68-802F1C7C 2EC5A8 0014+00 1/0 0/0 0/0 .text getIndTexCoordScale__15J2DIndBlockFullFUl */ J2DIndTexCoordScale* J2DIndBlockFull::getIndTexCoordScale(u32 param_0) { From bc52445bd3b54aa2a61a782d45076c47bb196227 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Sun, 16 Jul 2023 22:09:21 +0300 Subject: [PATCH 5/7] dMsgScrnTree_c OK, Some JGeometry work (#370) * Minor work on c_damagereaction and JGeomtry * dMsgScrnTree_c OK * dMsgScrnExplain_c OK --- Progress.md | 8 +- ...ct__17dMsgScrnExplain_cFP9STControlUcbUc.s | 584 ------------ .../__dt__17dMsgScrnExplain_cFv.s | 186 ---- .../__sinit_d_msg_scrn_explain_cpp.s | 78 -- .../checkTriggerA__17dMsgScrnExplain_cFv.s | 6 - .../checkTriggerB__17dMsgScrnExplain_cFv.s | 6 - .../close_init__17dMsgScrnExplain_cFv.s | 4 - .../close_proc__17dMsgScrnExplain_cFv.s | 74 -- ...aw__17dMsgScrnExplain_cFP13J2DOrthoGraph.s | 118 --- .../getAlphaRatio__17dMsgScrnExplain_cFv.s | 35 - .../move__17dMsgScrnExplain_cFv.s | 84 -- .../move_init__17dMsgScrnExplain_cFv.s | 10 - .../move_proc__17dMsgScrnExplain_cFv.s | 58 -- .../move_select_init__17dMsgScrnExplain_cFv.s | 160 ---- .../move_select_proc__17dMsgScrnExplain_cFv.s | 225 ----- ...enExplain__17dMsgScrnExplain_cFUlUcUcUcb.s | 32 - .../open_init__17dMsgScrnExplain_cFv.s | 40 - .../open_proc__17dMsgScrnExplain_cFv.s | 75 -- ...open_request_proc__17dMsgScrnExplain_cFv.s | 72 -- ..._14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap.s | 383 -------- .../__dt__14dMsgScrnTree_cFv.s | 142 --- .../draw__14dMsgScrnTree_cFv.s | 35 - .../exec__14dMsgScrnTree_cFv.s | 90 -- .../fukiAlpha__14dMsgScrnTree_cFf.s | 48 - include/JSystem/JGeometry.h | 32 +- include/JSystem/JParticle/JPAParticle.h | 4 +- include/Z2AudioLib/Z2SpeechMgr2.h | 4 + include/c/c_damagereaction.h | 2 +- include/d/com/d_com_inf_game.h | 5 + include/d/meter/d_meter2_info.h | 9 + include/d/msg/d_msg_object.h | 14 +- include/d/msg/d_msg_string.h | 4 + include/dolphin/mtx/vec.h | 18 + include/msg/scrn/d_msg_scrn_3select.h | 31 + include/msg/scrn/d_msg_scrn_base.h | 2 +- include/msg/scrn/d_msg_scrn_explain.h | 8 +- include/msg/scrn/d_msg_scrn_tree.h | 24 + src/c/c_damagereaction.cpp | 26 +- src/d/msg/d_msg_object.cpp | 2 +- src/msg/scrn/d_msg_scrn_3select.cpp | 39 +- src/msg/scrn/d_msg_scrn_explain.cpp | 851 ++++++++---------- src/msg/scrn/d_msg_scrn_tree.cpp | 369 +++----- 42 files changed, 709 insertions(+), 3288 deletions(-) delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/__ct__17dMsgScrnExplain_cFP9STControlUcbUc.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/__sinit_d_msg_scrn_explain_cpp.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/checkTriggerA__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/checkTriggerB__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/close_init__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/close_proc__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/draw__17dMsgScrnExplain_cFP13J2DOrthoGraph.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/getAlphaRatio__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/move__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/move_init__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/move_proc__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/move_select_init__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/move_select_proc__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/open_init__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/open_proc__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_explain/open_request_proc__17dMsgScrnExplain_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_tree/__ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap.s delete mode 100644 asm/msg/scrn/d_msg_scrn_tree/__dt__14dMsgScrnTree_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_tree/draw__14dMsgScrnTree_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_tree/exec__14dMsgScrnTree_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_tree/fukiAlpha__14dMsgScrnTree_cFf.s diff --git a/Progress.md b/Progress.md index 2b6f2187c4..e09d900cc6 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 | 28.680867% | 1031520 | 3596544 +.text | 28.946900% | 1041088 | 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 | 36.199322% | 1455456 | 4020672 +Total | 36.437292% | 1465024 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 36.199322% | 1455456 | 4020672 +main.dol | 36.437292% | 1465024 | 4020672 RELs | 33.847533% | 3892576 | 11500324 -Total | 34.456758% | 5348032 | 15520996 +Total | 34.518403% | 5357600 | 15520996 ## RELs diff --git a/asm/msg/scrn/d_msg_scrn_explain/__ct__17dMsgScrnExplain_cFP9STControlUcbUc.s b/asm/msg/scrn/d_msg_scrn_explain/__ct__17dMsgScrnExplain_cFP9STControlUcbUc.s deleted file mode 100644 index 777e079521..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/__ct__17dMsgScrnExplain_cFP9STControlUcbUc.s +++ /dev/null @@ -1,584 +0,0 @@ -lbl_8023CC88: -/* 8023CC88 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 8023CC8C 7C 08 02 A6 */ mflr r0 -/* 8023CC90 90 01 00 94 */ stw r0, 0x94(r1) -/* 8023CC94 DB E1 00 80 */ stfd f31, 0x80(r1) -/* 8023CC98 F3 E1 00 88 */ psq_st f31, 136(r1), 0, 0 /* qr0 */ -/* 8023CC9C DB C1 00 70 */ stfd f30, 0x70(r1) -/* 8023CCA0 F3 C1 00 78 */ psq_st f30, 120(r1), 0, 0 /* qr0 */ -/* 8023CCA4 39 61 00 70 */ addi r11, r1, 0x70 -/* 8023CCA8 48 12 55 21 */ bl _savegpr_24 -/* 8023CCAC 7C 7F 1B 78 */ mr r31, r3 -/* 8023CCB0 7C 9E 23 78 */ mr r30, r4 -/* 8023CCB4 7C BB 2B 78 */ mr r27, r5 -/* 8023CCB8 7C DD 33 78 */ mr r29, r6 -/* 8023CCBC 3C 60 80 3C */ lis r3, __vt__17dMsgScrnExplain_c@ha /* 0x803C0F6C@ha */ -/* 8023CCC0 38 03 0F 6C */ addi r0, r3, __vt__17dMsgScrnExplain_c@l /* 0x803C0F6C@l */ -/* 8023CCC4 90 1F 00 00 */ stw r0, 0(r31) -/* 8023CCC8 93 DF 00 44 */ stw r30, 0x44(r31) -/* 8023CCCC 38 60 00 00 */ li r3, 0 -/* 8023CCD0 90 7F 00 54 */ stw r3, 0x54(r31) -/* 8023CCD4 B0 7F 00 5C */ sth r3, 0x5c(r31) -/* 8023CCD8 98 7F 00 64 */ stb r3, 0x64(r31) -/* 8023CCDC 98 7F 00 61 */ stb r3, 0x61(r31) -/* 8023CCE0 38 00 00 FF */ li r0, 0xff -/* 8023CCE4 98 1F 00 62 */ stb r0, 0x62(r31) -/* 8023CCE8 98 7F 00 63 */ stb r3, 0x63(r31) -/* 8023CCEC 98 7F 00 60 */ stb r3, 0x60(r31) -/* 8023CCF0 B0 7F 00 5A */ sth r3, 0x5a(r31) -/* 8023CCF4 98 7F 00 65 */ stb r3, 0x65(r31) -/* 8023CCF8 38 00 00 01 */ li r0, 1 -/* 8023CCFC 98 1F 00 58 */ stb r0, 0x58(r31) -/* 8023CD00 9B 7F 00 66 */ stb r27, 0x66(r31) -/* 8023CD04 B0 7F 00 5E */ sth r3, 0x5e(r31) -/* 8023CD08 98 FF 00 67 */ stb r7, 0x67(r31) -/* 8023CD0C 38 60 00 2C */ li r3, 0x2c -/* 8023CD10 48 09 1F 3D */ bl __nw__FUl -/* 8023CD14 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CD18 41 82 00 0C */ beq lbl_8023CD24 -/* 8023CD1C 48 00 CF 05 */ bl __ct__12dMsgString_cFv -/* 8023CD20 7C 60 1B 78 */ mr r0, r3 -lbl_8023CD24: -/* 8023CD24 90 1F 00 04 */ stw r0, 4(r31) -/* 8023CD28 38 60 02 44 */ li r3, 0x244 -/* 8023CD2C 48 09 1F 21 */ bl __nw__FUl -/* 8023CD30 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CD34 41 82 00 10 */ beq lbl_8023CD44 -/* 8023CD38 38 80 00 00 */ li r4, 0 -/* 8023CD3C 4B FE 8F 59 */ bl __ct__10COutFont_cFUc -/* 8023CD40 7C 60 1B 78 */ mr r0, r3 -lbl_8023CD44: -/* 8023CD44 90 1F 00 3C */ stw r0, 0x3c(r31) -/* 8023CD48 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 8023CD4C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CD50 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8023CD54 7D 89 03 A6 */ mtctr r12 -/* 8023CD58 4E 80 04 21 */ bctrl -/* 8023CD5C 38 60 01 18 */ li r3, 0x118 -/* 8023CD60 48 09 1E ED */ bl __nw__FUl -/* 8023CD64 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CD68 41 82 00 0C */ beq lbl_8023CD74 -/* 8023CD6C 48 0B B7 2D */ bl __ct__9J2DScreenFv -/* 8023CD70 7C 60 1B 78 */ mr r0, r3 -lbl_8023CD74: -/* 8023CD74 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 8023CD78 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023CD7C 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023CD80 38 84 99 10 */ addi r4, r4, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023CD84 3C A0 00 02 */ lis r5, 2 -/* 8023CD88 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023CD8C 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023CD90 80 C6 5C 70 */ lwz r6, 0x5c70(r6) -/* 8023CD94 48 0B B8 B5 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 8023CD98 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023CD9C 48 01 83 4D */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 8023CDA0 38 60 01 18 */ li r3, 0x118 -/* 8023CDA4 48 09 1E A9 */ bl __nw__FUl -/* 8023CDA8 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CDAC 41 82 00 0C */ beq lbl_8023CDB8 -/* 8023CDB0 48 0B B6 E9 */ bl __ct__9J2DScreenFv -/* 8023CDB4 7C 60 1B 78 */ mr r0, r3 -lbl_8023CDB8: -/* 8023CDB8 90 1F 00 30 */ stw r0, 0x30(r31) -/* 8023CDBC C0 02 B1 B8 */ lfs f0, lit_3978(r2) -/* 8023CDC0 D0 1F 00 48 */ stfs f0, 0x48(r31) -/* 8023CDC4 57 60 06 3E */ clrlwi r0, r27, 0x18 -/* 8023CDC8 28 00 00 01 */ cmplwi r0, 1 -/* 8023CDCC 41 82 00 0C */ beq lbl_8023CDD8 -/* 8023CDD0 28 00 00 03 */ cmplwi r0, 3 -/* 8023CDD4 40 82 01 40 */ bne lbl_8023CF14 -lbl_8023CDD8: -/* 8023CDD8 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CDDC 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023CDE0 38 84 99 10 */ addi r4, r4, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023CDE4 38 84 00 1D */ addi r4, r4, 0x1d -/* 8023CDE8 3C A0 00 02 */ lis r5, 2 -/* 8023CDEC 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023CDF0 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023CDF4 80 C6 5C E4 */ lwz r6, 0x5ce4(r6) -/* 8023CDF8 48 0B B8 51 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 8023CDFC 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CE00 48 01 82 E9 */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 8023CE04 38 60 00 6C */ li r3, 0x6c -/* 8023CE08 48 09 1E 45 */ bl __nw__FUl -/* 8023CE0C 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CE10 41 82 00 28 */ beq lbl_8023CE38 -/* 8023CE14 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 8023CE18 3C A0 6C 69 */ lis r5, 0x6C69 /* 0x6C696E65@ha */ -/* 8023CE1C 38 C5 6E 65 */ addi r6, r5, 0x6E65 /* 0x6C696E65@l */ -/* 8023CE20 3C A0 6D 67 */ lis r5, 0x6D67 /* 0x6D675F33@ha */ -/* 8023CE24 38 A5 5F 33 */ addi r5, r5, 0x5F33 /* 0x6D675F33@l */ -/* 8023CE28 38 E0 00 00 */ li r7, 0 -/* 8023CE2C 39 00 00 00 */ li r8, 0 -/* 8023CE30 48 01 6B 55 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023CE34 7C 60 1B 78 */ mr r0, r3 -lbl_8023CE38: -/* 8023CE38 90 1F 00 08 */ stw r0, 8(r31) -/* 8023CE3C 38 60 00 6C */ li r3, 0x6c -/* 8023CE40 48 09 1E 0D */ bl __nw__FUl -/* 8023CE44 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CE48 41 82 00 24 */ beq lbl_8023CE6C -/* 8023CE4C 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 8023CE50 3C A0 74 33 */ lis r5, 0x7433 /* 0x74335F73@ha */ -/* 8023CE54 38 C5 5F 73 */ addi r6, r5, 0x5F73 /* 0x74335F73@l */ -/* 8023CE58 38 A0 00 00 */ li r5, 0 -/* 8023CE5C 38 E0 00 00 */ li r7, 0 -/* 8023CE60 39 00 00 00 */ li r8, 0 -/* 8023CE64 48 01 6B 21 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023CE68 7C 60 1B 78 */ mr r0, r3 -lbl_8023CE6C: -/* 8023CE6C 90 1F 00 0C */ stw r0, 0xc(r31) -/* 8023CE70 38 00 00 00 */ li r0, 0 -/* 8023CE74 90 1F 00 10 */ stw r0, 0x10(r31) -/* 8023CE78 90 1F 00 14 */ stw r0, 0x14(r31) -/* 8023CE7C 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CE80 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 8023CE84 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 8023CE88 3C 80 00 6E */ lis r4, 0x006E /* 0x006E5F33@ha */ -/* 8023CE8C 38 A4 5F 33 */ addi r5, r4, 0x5F33 /* 0x006E5F33@l */ -/* 8023CE90 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CE94 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023CE98 7D 89 03 A6 */ mtctr r12 -/* 8023CE9C 4E 80 04 21 */ bctrl -/* 8023CEA0 38 00 00 01 */ li r0, 1 -/* 8023CEA4 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8023CEA8 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CEAC 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 8023CEB0 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 8023CEB4 3C 80 6E 5F */ lis r4, 0x6E5F /* 0x6E5F3366@ha */ -/* 8023CEB8 38 A4 33 66 */ addi r5, r4, 0x3366 /* 0x6E5F3366@l */ -/* 8023CEBC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CEC0 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023CEC4 7D 89 03 A6 */ mtctr r12 -/* 8023CEC8 4E 80 04 21 */ bctrl -/* 8023CECC 38 00 00 00 */ li r0, 0 -/* 8023CED0 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8023CED4 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CED8 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 8023CEDC 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 8023CEE0 3C 80 6E 5F */ lis r4, 0x6E5F /* 0x6E5F6534@ha */ -/* 8023CEE4 38 A4 65 34 */ addi r5, r4, 0x6534 /* 0x6E5F6534@l */ -/* 8023CEE8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CEEC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023CEF0 7D 89 03 A6 */ mtctr r12 -/* 8023CEF4 4E 80 04 21 */ bctrl -/* 8023CEF8 38 00 00 00 */ li r0, 0 -/* 8023CEFC 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8023CF00 C0 02 B1 BC */ lfs f0, lit_3979(r2) -/* 8023CF04 D0 1F 00 50 */ stfs f0, 0x50(r31) -/* 8023CF08 C0 02 B1 C0 */ lfs f0, lit_3980(r2) -/* 8023CF0C D0 1F 00 4C */ stfs f0, 0x4c(r31) -/* 8023CF10 48 00 01 A4 */ b lbl_8023D0B4 -lbl_8023CF14: -/* 8023CF14 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CF18 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023CF1C 38 84 99 10 */ addi r4, r4, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023CF20 38 84 00 45 */ addi r4, r4, 0x45 -/* 8023CF24 3C A0 00 02 */ lis r5, 2 -/* 8023CF28 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023CF2C 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023CF30 80 C6 5C E4 */ lwz r6, 0x5ce4(r6) -/* 8023CF34 48 0B B7 15 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 8023CF38 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023CF3C 48 01 81 AD */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 8023CF40 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023CF44 38 63 02 8C */ addi r3, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023CF48 C3 E3 00 9C */ lfs f31, 0x9c(r3) -/* 8023CF4C C3 C3 00 70 */ lfs f30, 0x70(r3) -/* 8023CF50 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023CF54 3C 80 5F 61 */ lis r4, 0x5F61 /* 0x5F616C6C@ha */ -/* 8023CF58 38 C4 6C 6C */ addi r6, r4, 0x6C6C /* 0x5F616C6C@l */ -/* 8023CF5C 38 A0 00 6E */ li r5, 0x6e -/* 8023CF60 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CF64 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023CF68 7D 89 03 A6 */ mtctr r12 -/* 8023CF6C 4E 80 04 21 */ bctrl -/* 8023CF70 D3 C3 00 CC */ stfs f30, 0xcc(r3) -/* 8023CF74 D3 E3 00 D0 */ stfs f31, 0xd0(r3) -/* 8023CF78 81 83 00 00 */ lwz r12, 0(r3) -/* 8023CF7C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023CF80 7D 89 03 A6 */ mtctr r12 -/* 8023CF84 4E 80 04 21 */ bctrl -/* 8023CF88 C0 02 B1 BC */ lfs f0, lit_3979(r2) -/* 8023CF8C D0 1F 00 50 */ stfs f0, 0x50(r31) -/* 8023CF90 38 60 00 6C */ li r3, 0x6c -/* 8023CF94 48 09 1C B9 */ bl __nw__FUl -/* 8023CF98 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CF9C 41 82 00 28 */ beq lbl_8023CFC4 -/* 8023CFA0 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 8023CFA4 3C A0 34 6C */ lis r5, 0x346C /* 0x346C696E@ha */ -/* 8023CFA8 38 C5 69 6E */ addi r6, r5, 0x696E /* 0x346C696E@l */ -/* 8023CFAC 3C A0 6D 67 */ lis r5, 0x6D67 /* 0x6D675F65@ha */ -/* 8023CFB0 38 A5 5F 65 */ addi r5, r5, 0x5F65 /* 0x6D675F65@l */ -/* 8023CFB4 38 E0 00 00 */ li r7, 0 -/* 8023CFB8 39 00 00 00 */ li r8, 0 -/* 8023CFBC 48 01 69 C9 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023CFC0 7C 60 1B 78 */ mr r0, r3 -lbl_8023CFC4: -/* 8023CFC4 90 1F 00 08 */ stw r0, 8(r31) -/* 8023CFC8 38 60 00 6C */ li r3, 0x6c -/* 8023CFCC 48 09 1C 81 */ bl __nw__FUl -/* 8023CFD0 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023CFD4 41 82 00 24 */ beq lbl_8023CFF8 -/* 8023CFD8 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 8023CFDC 3C A0 74 34 */ lis r5, 0x7434 /* 0x74345F73@ha */ -/* 8023CFE0 38 C5 5F 73 */ addi r6, r5, 0x5F73 /* 0x74345F73@l */ -/* 8023CFE4 38 A0 00 00 */ li r5, 0 -/* 8023CFE8 38 E0 00 00 */ li r7, 0 -/* 8023CFEC 39 00 00 00 */ li r8, 0 -/* 8023CFF0 48 01 69 95 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023CFF4 7C 60 1B 78 */ mr r0, r3 -lbl_8023CFF8: -/* 8023CFF8 90 1F 00 0C */ stw r0, 0xc(r31) -/* 8023CFFC 38 00 00 00 */ li r0, 0 -/* 8023D000 90 1F 00 10 */ stw r0, 0x10(r31) -/* 8023D004 90 1F 00 14 */ stw r0, 0x14(r31) -/* 8023D008 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023D00C 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 8023D010 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 8023D014 3C 80 00 6E */ lis r4, 0x006E /* 0x006E5F33@ha */ -/* 8023D018 38 A4 5F 33 */ addi r5, r4, 0x5F33 /* 0x006E5F33@l */ -/* 8023D01C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D020 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D024 7D 89 03 A6 */ mtctr r12 -/* 8023D028 4E 80 04 21 */ bctrl -/* 8023D02C 38 00 00 00 */ li r0, 0 -/* 8023D030 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8023D034 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023D038 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 8023D03C 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 8023D040 3C 80 6E 5F */ lis r4, 0x6E5F /* 0x6E5F3366@ha */ -/* 8023D044 38 A4 33 66 */ addi r5, r4, 0x3366 /* 0x6E5F3366@l */ -/* 8023D048 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D04C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D050 7D 89 03 A6 */ mtctr r12 -/* 8023D054 4E 80 04 21 */ bctrl -/* 8023D058 38 00 00 00 */ li r0, 0 -/* 8023D05C 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8023D060 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023D064 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 8023D068 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 8023D06C 3C 80 6E 5F */ lis r4, 0x6E5F /* 0x6E5F6534@ha */ -/* 8023D070 38 A4 65 34 */ addi r5, r4, 0x6534 /* 0x6E5F6534@l */ -/* 8023D074 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D078 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D07C 7D 89 03 A6 */ mtctr r12 -/* 8023D080 4E 80 04 21 */ bctrl -/* 8023D084 38 00 00 01 */ li r0, 1 -/* 8023D088 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 8023D08C 57 60 06 3E */ clrlwi r0, r27, 0x18 -/* 8023D090 28 00 00 02 */ cmplwi r0, 2 -/* 8023D094 41 82 00 0C */ beq lbl_8023D0A0 -/* 8023D098 28 00 00 04 */ cmplwi r0, 4 -/* 8023D09C 40 82 00 10 */ bne lbl_8023D0AC -lbl_8023D0A0: -/* 8023D0A0 C0 02 B1 C0 */ lfs f0, lit_3980(r2) -/* 8023D0A4 D0 1F 00 4C */ stfs f0, 0x4c(r31) -/* 8023D0A8 48 00 00 0C */ b lbl_8023D0B4 -lbl_8023D0AC: -/* 8023D0AC C0 02 B1 C4 */ lfs f0, lit_3981(r2) -/* 8023D0B0 D0 1F 00 4C */ stfs f0, 0x4c(r31) -lbl_8023D0B4: -/* 8023D0B4 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023D0B8 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D0BC C3 C3 01 18 */ lfs f30, 0x118(r3) -/* 8023D0C0 3B 60 00 00 */ li r27, 0 -/* 8023D0C4 3B 40 00 00 */ li r26, 0 -/* 8023D0C8 3C 60 80 3A */ lis r3, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023D0CC 3B 23 99 10 */ addi r25, r3, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -lbl_8023D0D0: -/* 8023D0D0 7F 9F D2 14 */ add r28, r31, r26 -/* 8023D0D4 80 7C 00 08 */ lwz r3, 8(r28) -/* 8023D0D8 83 03 00 04 */ lwz r24, 4(r3) -/* 8023D0DC 4B DD 79 15 */ bl mDoExt_getMesgFont__Fv -/* 8023D0E0 7C 64 1B 78 */ mr r4, r3 -/* 8023D0E4 7F 03 C3 78 */ mr r3, r24 -/* 8023D0E8 81 98 00 00 */ lwz r12, 0(r24) -/* 8023D0EC 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 8023D0F0 7D 89 03 A6 */ mtctr r12 -/* 8023D0F4 4E 80 04 21 */ bctrl -/* 8023D0F8 80 7C 00 08 */ lwz r3, 8(r28) -/* 8023D0FC 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D100 38 80 02 00 */ li r4, 0x200 -/* 8023D104 38 B9 00 63 */ addi r5, r25, 0x63 -/* 8023D108 4C C6 31 82 */ crclr 6 -/* 8023D10C 48 0C 36 41 */ bl setString__10J2DTextBoxFsPCce -/* 8023D110 80 7C 00 08 */ lwz r3, 8(r28) -/* 8023D114 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D118 D3 C3 01 18 */ stfs f30, 0x118(r3) -/* 8023D11C 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8023D120 28 03 00 00 */ cmplwi r3, 0 -/* 8023D124 41 82 00 50 */ beq lbl_8023D174 -/* 8023D128 83 03 00 04 */ lwz r24, 4(r3) -/* 8023D12C 4B DD 78 C5 */ bl mDoExt_getMesgFont__Fv -/* 8023D130 7C 64 1B 78 */ mr r4, r3 -/* 8023D134 7F 03 C3 78 */ mr r3, r24 -/* 8023D138 81 98 00 00 */ lwz r12, 0(r24) -/* 8023D13C 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 8023D140 7D 89 03 A6 */ mtctr r12 -/* 8023D144 4E 80 04 21 */ bctrl -/* 8023D148 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8023D14C 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D150 38 80 02 00 */ li r4, 0x200 -/* 8023D154 3C A0 80 3A */ lis r5, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023D158 38 A5 99 10 */ addi r5, r5, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023D15C 38 A5 00 63 */ addi r5, r5, 0x63 -/* 8023D160 4C C6 31 82 */ crclr 6 -/* 8023D164 48 0C 35 E9 */ bl setString__10J2DTextBoxFsPCce -/* 8023D168 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8023D16C 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D170 D3 C3 01 18 */ stfs f30, 0x118(r3) -lbl_8023D174: -/* 8023D174 3B 7B 00 01 */ addi r27, r27, 1 -/* 8023D178 2C 1B 00 02 */ cmpwi r27, 2 -/* 8023D17C 3B 5A 00 04 */ addi r26, r26, 4 -/* 8023D180 41 80 FF 50 */ blt lbl_8023D0D0 -/* 8023D184 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023D188 3C 80 6E 75 */ lis r4, 0x6E75 /* 0x6E756C6C@ha */ -/* 8023D18C 38 C4 6C 6C */ addi r6, r4, 0x6C6C /* 0x6E756C6C@l */ -/* 8023D190 3C 80 00 6D */ lis r4, 0x006D /* 0x006D675F@ha */ -/* 8023D194 38 A4 67 5F */ addi r5, r4, 0x675F /* 0x006D675F@l */ -/* 8023D198 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D19C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D1A0 7D 89 03 A6 */ mtctr r12 -/* 8023D1A4 4E 80 04 21 */ bctrl -/* 8023D1A8 48 0B 9F 59 */ bl getBounds__7J2DPaneFv -/* 8023D1AC C0 23 00 04 */ lfs f1, 4(r3) -/* 8023D1B0 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023D1B4 38 63 02 8C */ addi r3, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023D1B8 C0 03 02 CC */ lfs f0, 0x2cc(r3) -/* 8023D1BC EF C0 08 2A */ fadds f30, f0, f1 -/* 8023D1C0 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023D1C4 3C 80 6E 75 */ lis r4, 0x6E75 /* 0x6E756C6C@ha */ -/* 8023D1C8 38 C4 6C 6C */ addi r6, r4, 0x6C6C /* 0x6E756C6C@l */ -/* 8023D1CC 3C 80 00 6D */ lis r4, 0x006D /* 0x006D675F@ha */ -/* 8023D1D0 38 A4 67 5F */ addi r5, r4, 0x675F /* 0x006D675F@l */ -/* 8023D1D4 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D1D8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D1DC 7D 89 03 A6 */ mtctr r12 -/* 8023D1E0 4E 80 04 21 */ bctrl -/* 8023D1E4 48 0B 9F 1D */ bl getBounds__7J2DPaneFv -/* 8023D1E8 C0 23 00 00 */ lfs f1, 0(r3) -/* 8023D1EC 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023D1F0 38 63 02 8C */ addi r3, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023D1F4 C0 03 02 C8 */ lfs f0, 0x2c8(r3) -/* 8023D1F8 EF E0 08 2A */ fadds f31, f0, f1 -/* 8023D1FC 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023D200 3C 80 6E 75 */ lis r4, 0x6E75 /* 0x6E756C6C@ha */ -/* 8023D204 38 C4 6C 6C */ addi r6, r4, 0x6C6C /* 0x6E756C6C@l */ -/* 8023D208 3C 80 00 6D */ lis r4, 0x006D /* 0x006D675F@ha */ -/* 8023D20C 38 A4 67 5F */ addi r5, r4, 0x675F /* 0x006D675F@l */ -/* 8023D210 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D214 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D218 7D 89 03 A6 */ mtctr r12 -/* 8023D21C 4E 80 04 21 */ bctrl -/* 8023D220 FC 20 F8 90 */ fmr f1, f31 -/* 8023D224 FC 40 F0 90 */ fmr f2, f30 -/* 8023D228 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D22C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8023D230 7D 89 03 A6 */ mtctr r12 -/* 8023D234 4E 80 04 21 */ bctrl -/* 8023D238 38 60 00 6C */ li r3, 0x6c -/* 8023D23C 48 09 1A 11 */ bl __nw__FUl -/* 8023D240 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D244 41 82 00 28 */ beq lbl_8023D26C -/* 8023D248 80 9F 00 2C */ lwz r4, 0x2c(r31) -/* 8023D24C 3C A0 79 61 */ lis r5, 0x7961 /* 0x79615F6E@ha */ -/* 8023D250 38 C5 5F 6E */ addi r6, r5, 0x5F6E /* 0x79615F6E@l */ -/* 8023D254 3C A0 73 65 */ lis r5, 0x7365 /* 0x7365745F@ha */ -/* 8023D258 38 A5 74 5F */ addi r5, r5, 0x745F /* 0x7365745F@l */ -/* 8023D25C 38 E0 00 00 */ li r7, 0 -/* 8023D260 39 00 00 00 */ li r8, 0 -/* 8023D264 48 01 67 21 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023D268 7C 60 1B 78 */ mr r0, r3 -lbl_8023D26C: -/* 8023D26C 90 1F 00 28 */ stw r0, 0x28(r31) -/* 8023D270 38 60 00 6C */ li r3, 0x6c -/* 8023D274 48 09 19 D9 */ bl __nw__FUl -/* 8023D278 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D27C 41 82 00 28 */ beq lbl_8023D2A4 -/* 8023D280 80 9F 00 2C */ lwz r4, 0x2c(r31) -/* 8023D284 3C A0 6E 75 */ lis r5, 0x6E75 /* 0x6E756C6C@ha */ -/* 8023D288 38 C5 6C 6C */ addi r6, r5, 0x6C6C /* 0x6E756C6C@l */ -/* 8023D28C 3C A0 00 6D */ lis r5, 0x006D /* 0x006D675F@ha */ -/* 8023D290 38 A5 67 5F */ addi r5, r5, 0x675F /* 0x006D675F@l */ -/* 8023D294 38 E0 00 00 */ li r7, 0 -/* 8023D298 39 00 00 00 */ li r8, 0 -/* 8023D29C 48 01 66 E9 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023D2A0 7C 60 1B 78 */ mr r0, r3 -lbl_8023D2A4: -/* 8023D2A4 90 1F 00 18 */ stw r0, 0x18(r31) -/* 8023D2A8 38 60 00 6C */ li r3, 0x6c -/* 8023D2AC 48 09 19 A1 */ bl __nw__FUl -/* 8023D2B0 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D2B4 41 82 00 28 */ beq lbl_8023D2DC -/* 8023D2B8 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 8023D2BC 3C A0 6E 75 */ lis r5, 0x6E75 /* 0x6E756C6C@ha */ -/* 8023D2C0 38 C5 6C 6C */ addi r6, r5, 0x6C6C /* 0x6E756C6C@l */ -/* 8023D2C4 3C A0 00 6D */ lis r5, 0x006D /* 0x006D675F@ha */ -/* 8023D2C8 38 A5 67 5F */ addi r5, r5, 0x675F /* 0x006D675F@l */ -/* 8023D2CC 38 E0 00 00 */ li r7, 0 -/* 8023D2D0 39 00 00 00 */ li r8, 0 -/* 8023D2D4 48 01 66 B1 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023D2D8 7C 60 1B 78 */ mr r0, r3 -lbl_8023D2DC: -/* 8023D2DC 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 8023D2E0 38 60 00 6C */ li r3, 0x6c -/* 8023D2E4 48 09 19 69 */ bl __nw__FUl -/* 8023D2E8 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D2EC 41 82 00 24 */ beq lbl_8023D310 -/* 8023D2F0 80 9F 00 2C */ lwz r4, 0x2c(r31) -/* 8023D2F4 3C A0 52 4F */ lis r5, 0x524F /* 0x524F4F54@ha */ -/* 8023D2F8 38 C5 4F 54 */ addi r6, r5, 0x4F54 /* 0x524F4F54@l */ -/* 8023D2FC 38 A0 00 00 */ li r5, 0 -/* 8023D300 38 E0 00 02 */ li r7, 2 -/* 8023D304 39 00 00 00 */ li r8, 0 -/* 8023D308 48 01 66 7D */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023D30C 7C 60 1B 78 */ mr r0, r3 -lbl_8023D310: -/* 8023D310 90 1F 00 20 */ stw r0, 0x20(r31) -/* 8023D314 38 60 00 6C */ li r3, 0x6c -/* 8023D318 48 09 19 35 */ bl __nw__FUl -/* 8023D31C 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D320 41 82 00 24 */ beq lbl_8023D344 -/* 8023D324 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 8023D328 3C A0 52 4F */ lis r5, 0x524F /* 0x524F4F54@ha */ -/* 8023D32C 38 C5 4F 54 */ addi r6, r5, 0x4F54 /* 0x524F4F54@l */ -/* 8023D330 38 A0 00 00 */ li r5, 0 -/* 8023D334 38 E0 00 02 */ li r7, 2 -/* 8023D338 39 00 00 00 */ li r8, 0 -/* 8023D33C 48 01 66 49 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023D340 7C 60 1B 78 */ mr r0, r3 -lbl_8023D344: -/* 8023D344 90 1F 00 24 */ stw r0, 0x24(r31) -/* 8023D348 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 8023D34C 28 00 00 01 */ cmplwi r0, 1 -/* 8023D350 40 82 00 C8 */ bne lbl_8023D418 -/* 8023D354 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023D358 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023D35C 80 63 5D 30 */ lwz r3, 0x5d30(r3) -/* 8023D360 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 8023D364 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 8023D368 3C A0 80 3A */ lis r5, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023D36C 38 A5 99 10 */ addi r5, r5, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023D370 38 A5 00 64 */ addi r5, r5, 0x64 -/* 8023D374 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D378 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8023D37C 7D 89 03 A6 */ mtctr r12 -/* 8023D380 4E 80 04 21 */ bctrl -/* 8023D384 7C 78 1B 78 */ mr r24, r3 -/* 8023D388 38 60 01 50 */ li r3, 0x150 -/* 8023D38C 48 09 18 C1 */ bl __nw__FUl -/* 8023D390 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D394 41 82 00 10 */ beq lbl_8023D3A4 -/* 8023D398 7F 04 C3 78 */ mr r4, r24 -/* 8023D39C 48 0B F3 6D */ bl __ct__10J2DPictureFPC7ResTIMG -/* 8023D3A0 7C 60 1B 78 */ mr r0, r3 -lbl_8023D3A4: -/* 8023D3A4 90 1F 00 40 */ stw r0, 0x40(r31) -/* 8023D3A8 38 60 00 00 */ li r3, 0 -/* 8023D3AC 98 61 00 08 */ stb r3, 8(r1) -/* 8023D3B0 98 61 00 09 */ stb r3, 9(r1) -/* 8023D3B4 98 61 00 0A */ stb r3, 0xa(r1) -/* 8023D3B8 38 00 00 FF */ li r0, 0xff -/* 8023D3BC 98 01 00 0B */ stb r0, 0xb(r1) -/* 8023D3C0 80 01 00 08 */ lwz r0, 8(r1) -/* 8023D3C4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8023D3C8 98 61 00 10 */ stb r3, 0x10(r1) -/* 8023D3CC 98 61 00 11 */ stb r3, 0x11(r1) -/* 8023D3D0 98 61 00 12 */ stb r3, 0x12(r1) -/* 8023D3D4 98 61 00 13 */ stb r3, 0x13(r1) -/* 8023D3D8 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8023D3DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023D3E0 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 8023D3E4 38 81 00 14 */ addi r4, r1, 0x14 -/* 8023D3E8 38 A1 00 0C */ addi r5, r1, 0xc -/* 8023D3EC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D3F0 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8023D3F4 7D 89 03 A6 */ mtctr r12 -/* 8023D3F8 4E 80 04 21 */ bctrl -/* 8023D3FC 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 8023D400 38 80 00 00 */ li r4, 0 -/* 8023D404 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D408 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023D40C 7D 89 03 A6 */ mtctr r12 -/* 8023D410 4E 80 04 21 */ bctrl -/* 8023D414 48 00 00 0C */ b lbl_8023D420 -lbl_8023D418: -/* 8023D418 38 00 00 00 */ li r0, 0 -/* 8023D41C 90 1F 00 40 */ stw r0, 0x40(r31) -lbl_8023D420: -/* 8023D420 38 60 00 24 */ li r3, 0x24 -/* 8023D424 48 09 18 29 */ bl __nw__FUl -/* 8023D428 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D42C 41 82 00 0C */ beq lbl_8023D438 -/* 8023D430 4B FF E5 85 */ bl __ct__15dMsgScrnArrow_cFv -/* 8023D434 7C 60 1B 78 */ mr r0, r3 -lbl_8023D438: -/* 8023D438 90 1F 00 34 */ stw r0, 0x34(r31) -/* 8023D43C 28 1E 00 00 */ cmplwi r30, 0 -/* 8023D440 41 82 00 24 */ beq lbl_8023D464 -/* 8023D444 38 60 01 18 */ li r3, 0x118 -/* 8023D448 48 09 18 05 */ bl __nw__FUl -/* 8023D44C 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023D450 41 82 00 0C */ beq lbl_8023D45C -/* 8023D454 4B FF BC 61 */ bl __ct__17dMsgScrn3Select_cFv -/* 8023D458 7C 60 1B 78 */ mr r0, r3 -lbl_8023D45C: -/* 8023D45C 90 1F 00 38 */ stw r0, 0x38(r31) -/* 8023D460 48 00 00 0C */ b lbl_8023D46C -lbl_8023D464: -/* 8023D464 38 00 00 00 */ li r0, 0 -/* 8023D468 90 1F 00 38 */ stw r0, 0x38(r31) -lbl_8023D46C: -/* 8023D46C 80 9F 00 28 */ lwz r4, 0x28(r31) -/* 8023D470 38 61 00 24 */ addi r3, r1, 0x24 -/* 8023D474 80 A4 00 04 */ lwz r5, 4(r4) -/* 8023D478 38 C0 00 00 */ li r6, 0 -/* 8023D47C 38 E0 00 00 */ li r7, 0 -/* 8023D480 48 01 7A 3D */ bl getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs -/* 8023D484 80 61 00 24 */ lwz r3, 0x24(r1) -/* 8023D488 80 01 00 28 */ lwz r0, 0x28(r1) -/* 8023D48C 90 61 00 3C */ stw r3, 0x3c(r1) -/* 8023D490 90 01 00 40 */ stw r0, 0x40(r1) -/* 8023D494 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8023D498 90 01 00 44 */ stw r0, 0x44(r1) -/* 8023D49C 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 8023D4A0 C0 21 00 3C */ lfs f1, 0x3c(r1) -/* 8023D4A4 C0 41 00 40 */ lfs f2, 0x40(r1) -/* 8023D4A8 4B FF E9 51 */ bl setPos__15dMsgScrnArrow_cFff -/* 8023D4AC 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 8023D4B0 38 61 00 18 */ addi r3, r1, 0x18 -/* 8023D4B4 80 A4 00 04 */ lwz r5, 4(r4) -/* 8023D4B8 38 C0 00 00 */ li r6, 0 -/* 8023D4BC 38 E0 00 00 */ li r7, 0 -/* 8023D4C0 48 01 79 FD */ bl getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs -/* 8023D4C4 80 61 00 18 */ lwz r3, 0x18(r1) -/* 8023D4C8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8023D4CC 90 61 00 30 */ stw r3, 0x30(r1) -/* 8023D4D0 90 01 00 34 */ stw r0, 0x34(r1) -/* 8023D4D4 80 01 00 20 */ lwz r0, 0x20(r1) -/* 8023D4D8 90 01 00 38 */ stw r0, 0x38(r1) -/* 8023D4DC 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 8023D4E0 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D4E4 C0 21 00 30 */ lfs f1, 0x30(r1) -/* 8023D4E8 C0 1F 00 50 */ lfs f0, 0x50(r31) -/* 8023D4EC EC 01 00 2A */ fadds f0, f1, f0 -/* 8023D4F0 D0 03 00 D4 */ stfs f0, 0xd4(r3) -/* 8023D4F4 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 8023D4F8 D0 03 00 D8 */ stfs f0, 0xd8(r3) -/* 8023D4FC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D500 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023D504 7D 89 03 A6 */ mtctr r12 -/* 8023D508 4E 80 04 21 */ bctrl -/* 8023D50C 7F E3 FB 78 */ mr r3, r31 -/* 8023D510 E3 E1 00 88 */ psq_l f31, 136(r1), 0, 0 /* qr0 */ -/* 8023D514 CB E1 00 80 */ lfd f31, 0x80(r1) -/* 8023D518 E3 C1 00 78 */ psq_l f30, 120(r1), 0, 0 /* qr0 */ -/* 8023D51C CB C1 00 70 */ lfd f30, 0x70(r1) -/* 8023D520 39 61 00 70 */ addi r11, r1, 0x70 -/* 8023D524 48 12 4C F1 */ bl _restgpr_24 -/* 8023D528 80 01 00 94 */ lwz r0, 0x94(r1) -/* 8023D52C 7C 08 03 A6 */ mtlr r0 -/* 8023D530 38 21 00 90 */ addi r1, r1, 0x90 -/* 8023D534 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 2d300220fd..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,186 +0,0 @@ -lbl_8023D538: -/* 8023D538 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023D53C 7C 08 02 A6 */ mflr r0 -/* 8023D540 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023D544 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023D548 48 12 4C 8D */ bl _savegpr_27 -/* 8023D54C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8023D550 7C 9F 23 78 */ mr r31, r4 -/* 8023D554 41 82 02 68 */ beq lbl_8023D7BC -/* 8023D558 3C 60 80 3C */ lis r3, __vt__17dMsgScrnExplain_c@ha /* 0x803C0F6C@ha */ -/* 8023D55C 38 03 0F 6C */ addi r0, r3, __vt__17dMsgScrnExplain_c@l /* 0x803C0F6C@l */ -/* 8023D560 90 1E 00 00 */ stw r0, 0(r30) -/* 8023D564 80 7E 00 04 */ lwz r3, 4(r30) -/* 8023D568 38 80 00 01 */ li r4, 1 -/* 8023D56C 48 00 C7 BD */ bl __dt__12dMsgString_cFv -/* 8023D570 38 00 00 00 */ li r0, 0 -/* 8023D574 90 1E 00 04 */ stw r0, 4(r30) -/* 8023D578 80 7E 00 3C */ lwz r3, 0x3c(r30) -/* 8023D57C 28 03 00 00 */ cmplwi r3, 0 -/* 8023D580 41 82 00 18 */ beq lbl_8023D598 -/* 8023D584 38 80 00 01 */ li r4, 1 -/* 8023D588 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D58C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D590 7D 89 03 A6 */ mtctr r12 -/* 8023D594 4E 80 04 21 */ bctrl -lbl_8023D598: -/* 8023D598 38 00 00 00 */ li r0, 0 -/* 8023D59C 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 8023D5A0 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 8023D5A4 28 03 00 00 */ cmplwi r3, 0 -/* 8023D5A8 41 82 00 18 */ beq lbl_8023D5C0 -/* 8023D5AC 38 80 00 01 */ li r4, 1 -/* 8023D5B0 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D5B4 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D5B8 7D 89 03 A6 */ mtctr r12 -/* 8023D5BC 4E 80 04 21 */ bctrl -lbl_8023D5C0: -/* 8023D5C0 38 00 00 00 */ li r0, 0 -/* 8023D5C4 90 1E 00 2C */ stw r0, 0x2c(r30) -/* 8023D5C8 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 8023D5CC 28 03 00 00 */ cmplwi r3, 0 -/* 8023D5D0 41 82 00 18 */ beq lbl_8023D5E8 -/* 8023D5D4 38 80 00 01 */ li r4, 1 -/* 8023D5D8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D5DC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D5E0 7D 89 03 A6 */ mtctr r12 -/* 8023D5E4 4E 80 04 21 */ bctrl -lbl_8023D5E8: -/* 8023D5E8 38 00 00 00 */ li r0, 0 -/* 8023D5EC 90 1E 00 30 */ stw r0, 0x30(r30) -/* 8023D5F0 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 8023D5F4 28 03 00 00 */ cmplwi r3, 0 -/* 8023D5F8 41 82 00 18 */ beq lbl_8023D610 -/* 8023D5FC 38 80 00 01 */ li r4, 1 -/* 8023D600 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D604 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D608 7D 89 03 A6 */ mtctr r12 -/* 8023D60C 4E 80 04 21 */ bctrl -lbl_8023D610: -/* 8023D610 3B A0 00 00 */ li r29, 0 -/* 8023D614 93 BE 00 28 */ stw r29, 0x28(r30) -/* 8023D618 3B 60 00 00 */ li r27, 0 -lbl_8023D61C: -/* 8023D61C 7F 9E EA 14 */ add r28, r30, r29 -/* 8023D620 80 7C 00 08 */ lwz r3, 8(r28) -/* 8023D624 28 03 00 00 */ cmplwi r3, 0 -/* 8023D628 41 82 00 18 */ beq lbl_8023D640 -/* 8023D62C 38 80 00 01 */ li r4, 1 -/* 8023D630 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D634 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D638 7D 89 03 A6 */ mtctr r12 -/* 8023D63C 4E 80 04 21 */ bctrl -lbl_8023D640: -/* 8023D640 38 00 00 00 */ li r0, 0 -/* 8023D644 90 1C 00 08 */ stw r0, 8(r28) -/* 8023D648 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8023D64C 28 03 00 00 */ cmplwi r3, 0 -/* 8023D650 41 82 00 24 */ beq lbl_8023D674 -/* 8023D654 41 82 00 18 */ beq lbl_8023D66C -/* 8023D658 38 80 00 01 */ li r4, 1 -/* 8023D65C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D660 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D664 7D 89 03 A6 */ mtctr r12 -/* 8023D668 4E 80 04 21 */ bctrl -lbl_8023D66C: -/* 8023D66C 38 00 00 00 */ li r0, 0 -/* 8023D670 90 1C 00 10 */ stw r0, 0x10(r28) -lbl_8023D674: -/* 8023D674 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 8023D678 28 03 00 00 */ cmplwi r3, 0 -/* 8023D67C 41 82 00 18 */ beq lbl_8023D694 -/* 8023D680 38 80 00 01 */ li r4, 1 -/* 8023D684 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D688 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D68C 7D 89 03 A6 */ mtctr r12 -/* 8023D690 4E 80 04 21 */ bctrl -lbl_8023D694: -/* 8023D694 38 00 00 00 */ li r0, 0 -/* 8023D698 90 1C 00 18 */ stw r0, 0x18(r28) -/* 8023D69C 80 7C 00 20 */ lwz r3, 0x20(r28) -/* 8023D6A0 28 03 00 00 */ cmplwi r3, 0 -/* 8023D6A4 41 82 00 18 */ beq lbl_8023D6BC -/* 8023D6A8 38 80 00 01 */ li r4, 1 -/* 8023D6AC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D6B0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D6B4 7D 89 03 A6 */ mtctr r12 -/* 8023D6B8 4E 80 04 21 */ bctrl -lbl_8023D6BC: -/* 8023D6BC 38 00 00 00 */ li r0, 0 -/* 8023D6C0 90 1C 00 20 */ stw r0, 0x20(r28) -/* 8023D6C4 3B 7B 00 01 */ addi r27, r27, 1 -/* 8023D6C8 2C 1B 00 02 */ cmpwi r27, 2 -/* 8023D6CC 3B BD 00 04 */ addi r29, r29, 4 -/* 8023D6D0 41 80 FF 4C */ blt lbl_8023D61C -/* 8023D6D4 80 7E 00 40 */ lwz r3, 0x40(r30) -/* 8023D6D8 28 03 00 00 */ cmplwi r3, 0 -/* 8023D6DC 41 82 00 24 */ beq lbl_8023D700 -/* 8023D6E0 41 82 00 18 */ beq lbl_8023D6F8 -/* 8023D6E4 38 80 00 01 */ li r4, 1 -/* 8023D6E8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D6EC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D6F0 7D 89 03 A6 */ mtctr r12 -/* 8023D6F4 4E 80 04 21 */ bctrl -lbl_8023D6F8: -/* 8023D6F8 38 00 00 00 */ li r0, 0 -/* 8023D6FC 90 1E 00 40 */ stw r0, 0x40(r30) -lbl_8023D700: -/* 8023D700 80 7E 00 34 */ lwz r3, 0x34(r30) -/* 8023D704 28 03 00 00 */ cmplwi r3, 0 -/* 8023D708 41 82 00 24 */ beq lbl_8023D72C -/* 8023D70C 41 82 00 18 */ beq lbl_8023D724 -/* 8023D710 38 80 00 01 */ li r4, 1 -/* 8023D714 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D718 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D71C 7D 89 03 A6 */ mtctr r12 -/* 8023D720 4E 80 04 21 */ bctrl -lbl_8023D724: -/* 8023D724 38 00 00 00 */ li r0, 0 -/* 8023D728 90 1E 00 34 */ stw r0, 0x34(r30) -lbl_8023D72C: -/* 8023D72C 80 7E 00 38 */ lwz r3, 0x38(r30) -/* 8023D730 28 03 00 00 */ cmplwi r3, 0 -/* 8023D734 41 82 00 24 */ beq lbl_8023D758 -/* 8023D738 41 82 00 18 */ beq lbl_8023D750 -/* 8023D73C 38 80 00 01 */ li r4, 1 -/* 8023D740 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D744 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023D748 7D 89 03 A6 */ mtctr r12 -/* 8023D74C 4E 80 04 21 */ bctrl -lbl_8023D750: -/* 8023D750 38 00 00 00 */ li r0, 0 -/* 8023D754 90 1E 00 38 */ stw r0, 0x38(r30) -lbl_8023D758: -/* 8023D758 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023D75C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023D760 80 63 5C 6C */ lwz r3, 0x5c6c(r3) -/* 8023D764 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D768 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023D76C 7D 89 03 A6 */ mtctr r12 -/* 8023D770 4E 80 04 21 */ bctrl -/* 8023D774 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023D778 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023D77C 80 63 5C 70 */ lwz r3, 0x5c70(r3) -/* 8023D780 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D784 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023D788 7D 89 03 A6 */ mtctr r12 -/* 8023D78C 4E 80 04 21 */ bctrl -/* 8023D790 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023D794 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023D798 80 63 5C E4 */ lwz r3, 0x5ce4(r3) -/* 8023D79C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D7A0 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023D7A4 7D 89 03 A6 */ mtctr r12 -/* 8023D7A8 4E 80 04 21 */ bctrl -/* 8023D7AC 7F E0 07 35 */ extsh. r0, r31 -/* 8023D7B0 40 81 00 0C */ ble lbl_8023D7BC -/* 8023D7B4 7F C3 F3 78 */ mr r3, r30 -/* 8023D7B8 48 09 15 85 */ bl __dl__FPv -lbl_8023D7BC: -/* 8023D7BC 7F C3 F3 78 */ mr r3, r30 -/* 8023D7C0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023D7C4 48 12 4A 5D */ bl _restgpr_27 -/* 8023D7C8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023D7CC 7C 08 03 A6 */ mtlr r0 -/* 8023D7D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023D7D4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/__sinit_d_msg_scrn_explain_cpp.s b/asm/msg/scrn/d_msg_scrn_explain/__sinit_d_msg_scrn_explain_cpp.s deleted file mode 100644 index 90fda8f939..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/__sinit_d_msg_scrn_explain_cpp.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_8023E668: -/* 8023E668 3C 60 80 3C */ lis r3, cNullVec__6Z2Calc@ha /* 0x803C0E40@ha */ -/* 8023E66C 38 63 0E 40 */ addi r3, r3, cNullVec__6Z2Calc@l /* 0x803C0E40@l */ -/* 8023E670 80 83 00 0C */ lwz r4, 0xc(r3) -/* 8023E674 80 03 00 10 */ lwz r0, 0x10(r3) -/* 8023E678 90 83 00 54 */ stw r4, 0x54(r3) -/* 8023E67C 90 03 00 58 */ stw r0, 0x58(r3) -/* 8023E680 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8023E684 90 03 00 5C */ stw r0, 0x5c(r3) -/* 8023E688 38 A3 00 54 */ addi r5, r3, 0x54 -/* 8023E68C 80 83 00 18 */ lwz r4, 0x18(r3) -/* 8023E690 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 8023E694 90 85 00 0C */ stw r4, 0xc(r5) -/* 8023E698 90 05 00 10 */ stw r0, 0x10(r5) -/* 8023E69C 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8023E6A0 90 05 00 14 */ stw r0, 0x14(r5) -/* 8023E6A4 80 83 00 24 */ lwz r4, 0x24(r3) -/* 8023E6A8 80 03 00 28 */ lwz r0, 0x28(r3) -/* 8023E6AC 90 85 00 18 */ stw r4, 0x18(r5) -/* 8023E6B0 90 05 00 1C */ stw r0, 0x1c(r5) -/* 8023E6B4 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 8023E6B8 90 05 00 20 */ stw r0, 0x20(r5) -/* 8023E6BC 80 83 00 30 */ lwz r4, 0x30(r3) -/* 8023E6C0 80 03 00 34 */ lwz r0, 0x34(r3) -/* 8023E6C4 90 85 00 24 */ stw r4, 0x24(r5) -/* 8023E6C8 90 05 00 28 */ stw r0, 0x28(r5) -/* 8023E6CC 80 03 00 38 */ lwz r0, 0x38(r3) -/* 8023E6D0 90 05 00 2C */ stw r0, 0x2c(r5) -/* 8023E6D4 80 83 00 3C */ lwz r4, 0x3c(r3) -/* 8023E6D8 80 03 00 40 */ lwz r0, 0x40(r3) -/* 8023E6DC 90 85 00 30 */ stw r4, 0x30(r5) -/* 8023E6E0 90 05 00 34 */ stw r0, 0x34(r5) -/* 8023E6E4 80 03 00 44 */ lwz r0, 0x44(r3) -/* 8023E6E8 90 05 00 38 */ stw r0, 0x38(r5) -/* 8023E6EC 80 83 00 48 */ lwz r4, 0x48(r3) -/* 8023E6F0 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 8023E6F4 90 85 00 3C */ stw r4, 0x3c(r5) -/* 8023E6F8 90 05 00 40 */ stw r0, 0x40(r5) -/* 8023E6FC 80 03 00 50 */ lwz r0, 0x50(r3) -/* 8023E700 90 05 00 44 */ stw r0, 0x44(r5) -/* 8023E704 80 83 00 9C */ lwz r4, 0x9c(r3) -/* 8023E708 80 03 00 A0 */ lwz r0, 0xa0(r3) -/* 8023E70C 90 83 00 E4 */ stw r4, 0xe4(r3) -/* 8023E710 90 03 00 E8 */ stw r0, 0xe8(r3) -/* 8023E714 80 03 00 A4 */ lwz r0, 0xa4(r3) -/* 8023E718 90 03 00 EC */ stw r0, 0xec(r3) -/* 8023E71C 38 A3 00 E4 */ addi r5, r3, 0xe4 -/* 8023E720 80 83 00 A8 */ lwz r4, 0xa8(r3) -/* 8023E724 80 03 00 AC */ lwz r0, 0xac(r3) -/* 8023E728 90 85 00 0C */ stw r4, 0xc(r5) -/* 8023E72C 90 05 00 10 */ stw r0, 0x10(r5) -/* 8023E730 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8023E734 90 05 00 14 */ stw r0, 0x14(r5) -/* 8023E738 80 83 00 B4 */ lwz r4, 0xb4(r3) -/* 8023E73C 80 03 00 B8 */ lwz r0, 0xb8(r3) -/* 8023E740 90 85 00 18 */ stw r4, 0x18(r5) -/* 8023E744 90 05 00 1C */ stw r0, 0x1c(r5) -/* 8023E748 80 03 00 BC */ lwz r0, 0xbc(r3) -/* 8023E74C 90 05 00 20 */ stw r0, 0x20(r5) -/* 8023E750 80 83 00 C0 */ lwz r4, 0xc0(r3) -/* 8023E754 80 03 00 C4 */ lwz r0, 0xc4(r3) -/* 8023E758 90 85 00 24 */ stw r4, 0x24(r5) -/* 8023E75C 90 05 00 28 */ stw r0, 0x28(r5) -/* 8023E760 80 03 00 C8 */ lwz r0, 0xc8(r3) -/* 8023E764 90 05 00 2C */ stw r0, 0x2c(r5) -/* 8023E768 80 83 00 CC */ lwz r4, 0xcc(r3) -/* 8023E76C 80 03 00 D0 */ lwz r0, 0xd0(r3) -/* 8023E770 90 85 00 30 */ stw r4, 0x30(r5) -/* 8023E774 90 05 00 34 */ stw r0, 0x34(r5) -/* 8023E778 80 03 00 D4 */ lwz r0, 0xd4(r3) -/* 8023E77C 90 05 00 38 */ stw r0, 0x38(r5) -/* 8023E780 80 83 00 D8 */ lwz r4, 0xd8(r3) -/* 8023E784 80 03 00 DC */ lwz r0, 0xdc(r3) -/* 8023E788 90 85 00 3C */ stw r4, 0x3c(r5) -/* 8023E78C 90 05 00 40 */ stw r0, 0x40(r5) -/* 8023E790 80 03 00 E0 */ lwz r0, 0xe0(r3) -/* 8023E794 90 05 00 44 */ stw r0, 0x44(r5) -/* 8023E798 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/checkTriggerA__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/checkTriggerA__17dMsgScrnExplain_cFv.s deleted file mode 100644 index d6a9eb3ef2..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/checkTriggerA__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8023E640: -/* 8023E640 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 8023E644 38 63 D2 E8 */ addi r3, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 8023E648 80 03 00 34 */ lwz r0, 0x34(r3) -/* 8023E64C 54 03 C7 FE */ rlwinm r3, r0, 0x18, 0x1f, 0x1f -/* 8023E650 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/checkTriggerB__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/checkTriggerB__17dMsgScrnExplain_cFv.s deleted file mode 100644 index e7d86643be..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/checkTriggerB__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8023E654: -/* 8023E654 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 8023E658 38 63 D2 E8 */ addi r3, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 8023E65C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 8023E660 54 03 BF FE */ rlwinm r3, r0, 0x17, 0x1f, 0x1f -/* 8023E664 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/close_init__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/close_init__17dMsgScrnExplain_cFv.s deleted file mode 100644 index a0ddae0057..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/close_init__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8023E43C: -/* 8023E43C 38 00 00 05 */ li r0, 5 -/* 8023E440 B0 03 00 5A */ sth r0, 0x5a(r3) -/* 8023E444 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/close_proc__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/close_proc__17dMsgScrnExplain_cFv.s deleted file mode 100644 index f10b939d2c..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/close_proc__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_8023E448: -/* 8023E448 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8023E44C 7C 08 02 A6 */ mflr r0 -/* 8023E450 90 01 00 34 */ stw r0, 0x34(r1) -/* 8023E454 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8023E458 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8023E45C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023E460 48 12 3D 7D */ bl _savegpr_29 -/* 8023E464 7C 7D 1B 78 */ mr r29, r3 -/* 8023E468 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8023E46C 28 03 00 00 */ cmplwi r3, 0 -/* 8023E470 41 82 00 0C */ beq lbl_8023E47C -/* 8023E474 4B FF C2 0D */ bl selAnimeEnd__17dMsgScrn3Select_cFv -/* 8023E478 48 00 00 08 */ b lbl_8023E480 -lbl_8023E47C: -/* 8023E47C 38 60 00 01 */ li r3, 1 -lbl_8023E480: -/* 8023E480 A8 9D 00 5A */ lha r4, 0x5a(r29) -/* 8023E484 38 04 FF FF */ addi r0, r4, -1 -/* 8023E488 B0 1D 00 5A */ sth r0, 0x5a(r29) -/* 8023E48C A8 1D 00 5A */ lha r0, 0x5a(r29) -/* 8023E490 2C 00 00 00 */ cmpwi r0, 0 -/* 8023E494 41 81 00 18 */ bgt lbl_8023E4AC -/* 8023E498 38 80 00 00 */ li r4, 0 -/* 8023E49C B0 9D 00 5A */ sth r4, 0x5a(r29) -/* 8023E4A0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E4A4 41 82 00 08 */ beq lbl_8023E4AC -/* 8023E4A8 98 9D 00 60 */ stb r4, 0x60(r29) -lbl_8023E4AC: -/* 8023E4AC 7F A3 EB 78 */ mr r3, r29 -/* 8023E4B0 48 00 01 1D */ bl getAlphaRatio__17dMsgScrnExplain_cFv -/* 8023E4B4 C0 02 B1 B8 */ lfs f0, lit_3978(r2) -/* 8023E4B8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8023E4BC D0 1D 00 48 */ stfs f0, 0x48(r29) -/* 8023E4C0 3B C0 00 00 */ li r30, 0 -/* 8023E4C4 3B E0 00 00 */ li r31, 0 -/* 8023E4C8 C3 E2 B1 E0 */ lfs f31, lit_4211(r2) -lbl_8023E4CC: -/* 8023E4CC 7F A3 EB 78 */ mr r3, r29 -/* 8023E4D0 48 00 00 FD */ bl getAlphaRatio__17dMsgScrnExplain_cFv -/* 8023E4D4 EC 3F 08 28 */ fsubs f1, f31, f1 -/* 8023E4D8 38 1F 00 20 */ addi r0, r31, 0x20 -/* 8023E4DC 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 8023E4E0 48 01 72 F1 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023E4E4 3B DE 00 01 */ addi r30, r30, 1 -/* 8023E4E8 2C 1E 00 02 */ cmpwi r30, 2 -/* 8023E4EC 3B FF 00 04 */ addi r31, r31, 4 -/* 8023E4F0 41 80 FF DC */ blt lbl_8023E4CC -/* 8023E4F4 80 1D 00 40 */ lwz r0, 0x40(r29) -/* 8023E4F8 28 00 00 00 */ cmplwi r0, 0 -/* 8023E4FC 41 82 00 3C */ beq lbl_8023E538 -/* 8023E500 7F A3 EB 78 */ mr r3, r29 -/* 8023E504 48 00 00 C9 */ bl getAlphaRatio__17dMsgScrnExplain_cFv -/* 8023E508 C0 02 B1 E0 */ lfs f0, lit_4211(r2) -/* 8023E50C EC 20 08 28 */ fsubs f1, f0, f1 -/* 8023E510 C0 02 B1 E4 */ lfs f0, lit_4230(r2) -/* 8023E514 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8023E518 FC 00 00 1E */ fctiwz f0, f0 -/* 8023E51C D8 01 00 08 */ stfd f0, 8(r1) -/* 8023E520 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8023E524 80 7D 00 40 */ lwz r3, 0x40(r29) -/* 8023E528 81 83 00 00 */ lwz r12, 0(r3) -/* 8023E52C 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023E530 7D 89 03 A6 */ mtctr r12 -/* 8023E534 4E 80 04 21 */ bctrl -lbl_8023E538: -/* 8023E538 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8023E53C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8023E540 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023E544 48 12 3C E5 */ bl _restgpr_29 -/* 8023E548 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8023E54C 7C 08 03 A6 */ mtlr r0 -/* 8023E550 38 21 00 30 */ addi r1, r1, 0x30 -/* 8023E554 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/draw__17dMsgScrnExplain_cFP13J2DOrthoGraph.s b/asm/msg/scrn/d_msg_scrn_explain/draw__17dMsgScrnExplain_cFP13J2DOrthoGraph.s deleted file mode 100644 index dd4e8966d7..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/draw__17dMsgScrnExplain_cFP13J2DOrthoGraph.s +++ /dev/null @@ -1,118 +0,0 @@ -lbl_8023D918: -/* 8023D918 94 21 FD F0 */ stwu r1, -0x210(r1) -/* 8023D91C 7C 08 02 A6 */ mflr r0 -/* 8023D920 90 01 02 14 */ stw r0, 0x214(r1) -/* 8023D924 93 E1 02 0C */ stw r31, 0x20c(r1) -/* 8023D928 93 C1 02 08 */ stw r30, 0x208(r1) -/* 8023D92C 7C 7F 1B 78 */ mr r31, r3 -/* 8023D930 7C 9E 23 78 */ mr r30, r4 -/* 8023D934 88 03 00 60 */ lbz r0, 0x60(r3) -/* 8023D938 28 00 00 00 */ cmplwi r0, 0 -/* 8023D93C 41 82 01 7C */ beq lbl_8023DAB8 -/* 8023D940 28 00 00 01 */ cmplwi r0, 1 -/* 8023D944 40 82 00 08 */ bne lbl_8023D94C -/* 8023D948 48 00 01 70 */ b lbl_8023DAB8 -lbl_8023D94C: -/* 8023D94C 80 7F 00 40 */ lwz r3, 0x40(r31) -/* 8023D950 28 03 00 00 */ cmplwi r3, 0 -/* 8023D954 41 82 00 30 */ beq lbl_8023D984 -/* 8023D958 C0 22 B1 C0 */ lfs f1, lit_3980(r2) -/* 8023D95C FC 40 08 90 */ fmr f2, f1 -/* 8023D960 C0 62 B1 B8 */ lfs f3, lit_3978(r2) -/* 8023D964 C0 82 B1 CC */ lfs f4, lit_4120(r2) -/* 8023D968 38 80 00 00 */ li r4, 0 -/* 8023D96C 38 A0 00 00 */ li r5, 0 -/* 8023D970 38 C0 00 00 */ li r6, 0 -/* 8023D974 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D978 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 8023D97C 7D 89 03 A6 */ mtctr r12 -/* 8023D980 4E 80 04 21 */ bctrl -lbl_8023D984: -/* 8023D984 88 1F 00 66 */ lbz r0, 0x66(r31) -/* 8023D988 28 00 00 02 */ cmplwi r0, 2 -/* 8023D98C 41 82 00 20 */ beq lbl_8023D9AC -/* 8023D990 28 00 00 03 */ cmplwi r0, 3 -/* 8023D994 41 82 00 18 */ beq lbl_8023D9AC -/* 8023D998 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 8023D99C C0 22 B1 C0 */ lfs f1, lit_3980(r2) -/* 8023D9A0 FC 40 08 90 */ fmr f2, f1 -/* 8023D9A4 7F C4 F3 78 */ mr r4, r30 -/* 8023D9A8 48 0B B5 2D */ bl draw__9J2DScreenFffPC14J2DGrafContext -lbl_8023D9AC: -/* 8023D9AC 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023D9B0 80 63 00 04 */ lwz r3, 4(r3) -/* 8023D9B4 48 0C 2C A5 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023D9B8 7C 64 1B 78 */ mr r4, r3 -/* 8023D9BC 38 61 00 08 */ addi r3, r1, 8 -/* 8023D9C0 48 12 B1 6D */ bl strcpy -/* 8023D9C4 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 8023D9C8 C0 22 B1 C0 */ lfs f1, lit_3980(r2) -/* 8023D9CC FC 40 08 90 */ fmr f2, f1 -/* 8023D9D0 7F C4 F3 78 */ mr r4, r30 -/* 8023D9D4 48 0B B5 01 */ bl draw__9J2DScreenFffPC14J2DGrafContext -/* 8023D9D8 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023D9DC 80 A3 00 04 */ lwz r5, 4(r3) -/* 8023D9E0 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023D9E4 80 9F 00 54 */ lwz r4, 0x54(r31) -/* 8023D9E8 38 C0 00 00 */ li r6, 0 -/* 8023D9EC 38 E0 00 00 */ li r7, 0 -/* 8023D9F0 39 00 00 00 */ li r8, 0 -/* 8023D9F4 39 20 00 08 */ li r9, 8 -/* 8023D9F8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D9FC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023DA00 7D 89 03 A6 */ mtctr r12 -/* 8023DA04 4E 80 04 21 */ bctrl -/* 8023DA08 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023DA0C 80 83 00 04 */ lwz r4, 4(r3) -/* 8023DA10 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023DA14 C0 22 B1 D0 */ lfs f1, lit_4121(r2) -/* 8023DA18 81 83 00 00 */ lwz r12, 0(r3) -/* 8023DA1C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8023DA20 7D 89 03 A6 */ mtctr r12 -/* 8023DA24 4E 80 04 21 */ bctrl -/* 8023DA28 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023DA2C 80 63 00 04 */ lwz r3, 4(r3) -/* 8023DA30 48 0C 2C 29 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023DA34 38 81 00 08 */ addi r4, r1, 8 -/* 8023DA38 48 12 B0 F5 */ bl strcpy -/* 8023DA3C 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DA40 28 03 00 00 */ cmplwi r3, 0 -/* 8023DA44 41 82 00 64 */ beq lbl_8023DAA8 -/* 8023DA48 88 1F 00 64 */ lbz r0, 0x64(r31) -/* 8023DA4C 28 00 00 01 */ cmplwi r0, 1 -/* 8023DA50 41 82 00 0C */ beq lbl_8023DA5C -/* 8023DA54 28 00 00 02 */ cmplwi r0, 2 -/* 8023DA58 40 82 00 50 */ bne lbl_8023DAA8 -lbl_8023DA5C: -/* 8023DA5C C0 62 B1 C0 */ lfs f3, lit_3980(r2) -/* 8023DA60 88 1F 00 66 */ lbz r0, 0x66(r31) -/* 8023DA64 28 00 00 02 */ cmplwi r0, 2 -/* 8023DA68 40 82 00 08 */ bne lbl_8023DA70 -/* 8023DA6C C0 62 B1 D4 */ lfs f3, lit_4122(r2) -lbl_8023DA70: -/* 8023DA70 C0 22 B1 D8 */ lfs f1, lit_4123(r2) -/* 8023DA74 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023DA78 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023DA7C C0 04 01 F0 */ lfs f0, 0x1f0(r4) -/* 8023DA80 EC 21 00 2A */ fadds f1, f1, f0 -/* 8023DA84 C0 42 B1 DC */ lfs f2, lit_4124(r2) -/* 8023DA88 C0 04 02 68 */ lfs f0, 0x268(r4) -/* 8023DA8C EC 02 00 2A */ fadds f0, f2, f0 -/* 8023DA90 EC 40 18 2A */ fadds f2, f0, f3 -/* 8023DA94 4B FF C3 05 */ bl translate__17dMsgScrn3Select_cFff -/* 8023DA98 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DA9C C0 22 B1 C0 */ lfs f1, lit_3980(r2) -/* 8023DAA0 FC 40 08 90 */ fmr f2, f1 -/* 8023DAA4 4B FF C3 31 */ bl draw__17dMsgScrn3Select_cFff -lbl_8023DAA8: -/* 8023DAA8 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 8023DAAC 28 03 00 00 */ cmplwi r3, 0 -/* 8023DAB0 41 82 00 08 */ beq lbl_8023DAB8 -/* 8023DAB4 4B FF E3 0D */ bl draw__15dMsgScrnArrow_cFv -lbl_8023DAB8: -/* 8023DAB8 83 E1 02 0C */ lwz r31, 0x20c(r1) -/* 8023DABC 83 C1 02 08 */ lwz r30, 0x208(r1) -/* 8023DAC0 80 01 02 14 */ lwz r0, 0x214(r1) -/* 8023DAC4 7C 08 03 A6 */ mtlr r0 -/* 8023DAC8 38 21 02 10 */ addi r1, r1, 0x210 -/* 8023DACC 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/getAlphaRatio__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/getAlphaRatio__17dMsgScrnExplain_cFv.s deleted file mode 100644 index dd67231e4b..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/getAlphaRatio__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8023E5CC: -/* 8023E5CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023E5D0 88 03 00 60 */ lbz r0, 0x60(r3) -/* 8023E5D4 2C 00 00 02 */ cmpwi r0, 2 -/* 8023E5D8 41 82 00 20 */ beq lbl_8023E5F8 -/* 8023E5DC 40 80 00 10 */ bge lbl_8023E5EC -/* 8023E5E0 2C 00 00 00 */ cmpwi r0, 0 -/* 8023E5E4 41 82 00 48 */ beq lbl_8023E62C -/* 8023E5E8 48 00 00 4C */ b lbl_8023E634 -lbl_8023E5EC: -/* 8023E5EC 2C 00 00 05 */ cmpwi r0, 5 -/* 8023E5F0 41 82 00 08 */ beq lbl_8023E5F8 -/* 8023E5F4 48 00 00 40 */ b lbl_8023E634 -lbl_8023E5F8: -/* 8023E5F8 C0 42 B1 E0 */ lfs f2, lit_4211(r2) -/* 8023E5FC A8 03 00 5A */ lha r0, 0x5a(r3) -/* 8023E600 C8 22 B1 F0 */ lfd f1, lit_4416(r2) -/* 8023E604 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8023E608 90 01 00 0C */ stw r0, 0xc(r1) -/* 8023E60C 3C 00 43 30 */ lis r0, 0x4330 -/* 8023E610 90 01 00 08 */ stw r0, 8(r1) -/* 8023E614 C8 01 00 08 */ lfd f0, 8(r1) -/* 8023E618 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8023E61C C0 02 B1 EC */ lfs f0, lit_4414(r2) -/* 8023E620 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8023E624 EC 22 00 28 */ fsubs f1, f2, f0 -/* 8023E628 48 00 00 10 */ b lbl_8023E638 -lbl_8023E62C: -/* 8023E62C C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E630 48 00 00 08 */ b lbl_8023E638 -lbl_8023E634: -/* 8023E634 C0 22 B1 C0 */ lfs f1, lit_3980(r2) -lbl_8023E638: -/* 8023E638 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023E63C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/move__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/move__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 515440b832..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/move__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_8023D7D8: -/* 8023D7D8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8023D7DC 7C 08 02 A6 */ mflr r0 -/* 8023D7E0 90 01 00 44 */ stw r0, 0x44(r1) -/* 8023D7E4 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8023D7E8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8023D7EC DB C1 00 20 */ stfd f30, 0x20(r1) -/* 8023D7F0 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 8023D7F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023D7F8 48 12 49 DD */ bl _savegpr_27 -/* 8023D7FC 7C 7B 1B 78 */ mr r27, r3 -/* 8023D800 8B A3 00 60 */ lbz r29, 0x60(r3) -/* 8023D804 C3 C2 B1 C0 */ lfs f30, lit_3980(r2) -/* 8023D808 88 03 00 66 */ lbz r0, 0x66(r3) -/* 8023D80C 28 00 00 02 */ cmplwi r0, 2 -/* 8023D810 40 82 00 08 */ bne lbl_8023D818 -/* 8023D814 C3 C2 B1 C8 */ lfs f30, lit_4078(r2) -lbl_8023D818: -/* 8023D818 3B 80 00 00 */ li r28, 0 -/* 8023D81C 3B E0 00 00 */ li r31, 0 -/* 8023D820 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023D824 3B C3 02 8C */ addi r30, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -lbl_8023D828: -/* 8023D828 38 1F 00 20 */ addi r0, r31, 0x20 -/* 8023D82C 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 8023D830 C0 3B 00 48 */ lfs f1, 0x48(r27) -/* 8023D834 C0 1E 01 EC */ lfs f0, 0x1ec(r30) -/* 8023D838 EC 21 00 2A */ fadds f1, f1, f0 -/* 8023D83C C0 5B 00 4C */ lfs f2, 0x4c(r27) -/* 8023D840 C0 1E 02 64 */ lfs f0, 0x264(r30) -/* 8023D844 EC 02 00 2A */ fadds f0, f2, f0 -/* 8023D848 EC 5E 00 2A */ fadds f2, f30, f0 -/* 8023D84C 48 01 6D 65 */ bl paneTrans__8CPaneMgrFff -/* 8023D850 3B 9C 00 01 */ addi r28, r28, 1 -/* 8023D854 2C 1C 00 02 */ cmpwi r28, 2 -/* 8023D858 3B FF 00 04 */ addi r31, r31, 4 -/* 8023D85C 41 80 FF CC */ blt lbl_8023D828 -/* 8023D860 7F 63 DB 78 */ mr r3, r27 -/* 8023D864 88 1B 00 60 */ lbz r0, 0x60(r27) -/* 8023D868 1C A0 00 0C */ mulli r5, r0, 0xc -/* 8023D86C 3C 80 80 3C */ lis r4, move_process@ha /* 0x803C0F24@ha */ -/* 8023D870 38 04 0F 24 */ addi r0, r4, move_process@l /* 0x803C0F24@l */ -/* 8023D874 7D 80 2A 14 */ add r12, r0, r5 -/* 8023D878 48 12 48 0D */ bl __ptmf_scall -/* 8023D87C 60 00 00 00 */ nop -/* 8023D880 88 1B 00 60 */ lbz r0, 0x60(r27) -/* 8023D884 7C 1D 00 40 */ cmplw r29, r0 -/* 8023D888 41 82 00 20 */ beq lbl_8023D8A8 -/* 8023D88C 7F 63 DB 78 */ mr r3, r27 -/* 8023D890 1C A0 00 0C */ mulli r5, r0, 0xc -/* 8023D894 3C 80 80 3C */ lis r4, init_process@ha /* 0x803C0E94@ha */ -/* 8023D898 38 04 0E 94 */ addi r0, r4, init_process@l /* 0x803C0E94@l */ -/* 8023D89C 7D 80 2A 14 */ add r12, r0, r5 -/* 8023D8A0 48 12 47 E5 */ bl __ptmf_scall -/* 8023D8A4 60 00 00 00 */ nop -lbl_8023D8A8: -/* 8023D8A8 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023D8AC 38 63 02 8C */ addi r3, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023D8B0 C3 C3 00 9C */ lfs f30, 0x9c(r3) -/* 8023D8B4 C3 E3 00 70 */ lfs f31, 0x70(r3) -/* 8023D8B8 80 7B 00 2C */ lwz r3, 0x2c(r27) -/* 8023D8BC 3C 80 5F 61 */ lis r4, 0x5F61 /* 0x5F616C6C@ha */ -/* 8023D8C0 38 C4 6C 6C */ addi r6, r4, 0x6C6C /* 0x5F616C6C@l */ -/* 8023D8C4 38 A0 00 6E */ li r5, 0x6e -/* 8023D8C8 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D8CC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023D8D0 7D 89 03 A6 */ mtctr r12 -/* 8023D8D4 4E 80 04 21 */ bctrl -/* 8023D8D8 D3 E3 00 CC */ stfs f31, 0xcc(r3) -/* 8023D8DC D3 C3 00 D0 */ stfs f30, 0xd0(r3) -/* 8023D8E0 81 83 00 00 */ lwz r12, 0(r3) -/* 8023D8E4 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023D8E8 7D 89 03 A6 */ mtctr r12 -/* 8023D8EC 4E 80 04 21 */ bctrl -/* 8023D8F0 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8023D8F4 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8023D8F8 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 8023D8FC CB C1 00 20 */ lfd f30, 0x20(r1) -/* 8023D900 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023D904 48 12 49 1D */ bl _restgpr_27 -/* 8023D908 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8023D90C 7C 08 03 A6 */ mtlr r0 -/* 8023D910 38 21 00 40 */ addi r1, r1, 0x40 -/* 8023D914 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/move_init__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/move_init__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 45af0e6f86..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/move_init__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8023DD90: -/* 8023DD90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023DD94 7C 08 02 A6 */ mflr r0 -/* 8023DD98 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023DD9C 80 63 00 34 */ lwz r3, 0x34(r3) -/* 8023DDA0 4B FF E0 95 */ bl arwAnimeInit__15dMsgScrnArrow_cFv -/* 8023DDA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023DDA8 7C 08 03 A6 */ mtlr r0 -/* 8023DDAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023DDB0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/move_proc__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/move_proc__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 7072bd8af5..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/move_proc__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8023DDB4: -/* 8023DDB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023DDB8 7C 08 02 A6 */ mflr r0 -/* 8023DDBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023DDC0 A8 83 00 5E */ lha r4, 0x5e(r3) -/* 8023DDC4 2C 04 00 00 */ cmpwi r4, 0 -/* 8023DDC8 40 81 00 10 */ ble lbl_8023DDD8 -/* 8023DDCC 38 04 FF FF */ addi r0, r4, -1 -/* 8023DDD0 B0 03 00 5E */ sth r0, 0x5e(r3) -/* 8023DDD4 48 00 00 A8 */ b lbl_8023DE7C -lbl_8023DDD8: -/* 8023DDD8 3C 80 80 3E */ lis r4, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 8023DDDC 38 84 D2 E8 */ addi r4, r4, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 8023DDE0 80 84 00 34 */ lwz r4, 0x34(r4) -/* 8023DDE4 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 8023DDE8 40 82 00 54 */ bne lbl_8023DE3C -/* 8023DDEC 88 03 00 58 */ lbz r0, 0x58(r3) -/* 8023DDF0 28 00 00 00 */ cmplwi r0, 0 -/* 8023DDF4 41 82 00 88 */ beq lbl_8023DE7C -/* 8023DDF8 54 80 05 AD */ rlwinm. r0, r4, 0, 0x16, 0x16 -/* 8023DDFC 40 82 00 40 */ bne lbl_8023DE3C -/* 8023DE00 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 8023DE04 40 82 00 38 */ bne lbl_8023DE3C -/* 8023DE08 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15 -/* 8023DE0C 40 82 00 30 */ bne lbl_8023DE3C -/* 8023DE10 54 80 05 29 */ rlwinm. r0, r4, 0, 0x14, 0x14 -/* 8023DE14 40 82 00 28 */ bne lbl_8023DE3C -/* 8023DE18 54 80 04 E7 */ rlwinm. r0, r4, 0, 0x13, 0x13 -/* 8023DE1C 40 82 00 20 */ bne lbl_8023DE3C -/* 8023DE20 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a -/* 8023DE24 40 82 00 18 */ bne lbl_8023DE3C -/* 8023DE28 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19 -/* 8023DE2C 40 82 00 10 */ bne lbl_8023DE3C -/* 8023DE30 88 03 00 65 */ lbz r0, 0x65(r3) -/* 8023DE34 28 00 00 00 */ cmplwi r0, 0 -/* 8023DE38 41 82 00 44 */ beq lbl_8023DE7C -lbl_8023DE3C: -/* 8023DE3C 38 00 00 05 */ li r0, 5 -/* 8023DE40 98 03 00 60 */ stb r0, 0x60(r3) -/* 8023DE44 4B FE 0B 91 */ bl dMeter2Info_set2DVibrationM__Fv -/* 8023DE48 38 00 00 52 */ li r0, 0x52 -/* 8023DE4C 90 01 00 08 */ stw r0, 8(r1) -/* 8023DE50 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023DE54 38 81 00 08 */ addi r4, r1, 8 -/* 8023DE58 38 A0 00 00 */ li r5, 0 -/* 8023DE5C 38 C0 00 00 */ li r6, 0 -/* 8023DE60 38 E0 00 00 */ li r7, 0 -/* 8023DE64 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023DE68 FC 40 08 90 */ fmr f2, f1 -/* 8023DE6C C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023DE70 FC 80 18 90 */ fmr f4, f3 -/* 8023DE74 39 00 00 00 */ li r8, 0 -/* 8023DE78 48 06 DB 0D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_8023DE7C: -/* 8023DE7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023DE80 7C 08 03 A6 */ mtlr r0 -/* 8023DE84 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023DE88 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/move_select_init__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/move_select_init__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 76f2d7042e..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/move_select_init__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,160 +0,0 @@ -lbl_8023DE8C: -/* 8023DE8C 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 8023DE90 7C 08 02 A6 */ mflr r0 -/* 8023DE94 90 01 00 94 */ stw r0, 0x94(r1) -/* 8023DE98 DB E1 00 80 */ stfd f31, 0x80(r1) -/* 8023DE9C F3 E1 00 88 */ psq_st f31, 136(r1), 0, 0 /* qr0 */ -/* 8023DEA0 DB C1 00 70 */ stfd f30, 0x70(r1) -/* 8023DEA4 F3 C1 00 78 */ psq_st f30, 120(r1), 0, 0 /* qr0 */ -/* 8023DEA8 DB A1 00 60 */ stfd f29, 0x60(r1) -/* 8023DEAC F3 A1 00 68 */ psq_st f29, 104(r1), 0, 0 /* qr0 */ -/* 8023DEB0 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 8023DEB4 7C 7F 1B 78 */ mr r31, r3 -/* 8023DEB8 38 00 00 00 */ li r0, 0 -/* 8023DEBC 98 01 00 10 */ stb r0, 0x10(r1) -/* 8023DEC0 98 01 00 08 */ stb r0, 8(r1) -/* 8023DEC4 98 01 00 2C */ stb r0, 0x2c(r1) -/* 8023DEC8 98 01 00 19 */ stb r0, 0x19(r1) -/* 8023DECC 88 03 00 66 */ lbz r0, 0x66(r3) -/* 8023DED0 28 00 00 04 */ cmplwi r0, 4 -/* 8023DED4 40 82 00 38 */ bne lbl_8023DF0C -/* 8023DED8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023DEDC 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023DEE0 38 80 04 B0 */ li r4, 0x4b0 -/* 8023DEE4 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8023DEE8 38 C0 00 00 */ li r6, 0 -/* 8023DEEC 4B FD E3 65 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 8023DEF0 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023DEF4 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023DEF8 38 80 04 B1 */ li r4, 0x4b1 -/* 8023DEFC 38 A1 00 08 */ addi r5, r1, 8 -/* 8023DF00 38 C0 00 00 */ li r6, 0 -/* 8023DF04 4B FD E3 4D */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 8023DF08 48 00 00 34 */ b lbl_8023DF3C -lbl_8023DF0C: -/* 8023DF0C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023DF10 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023DF14 38 80 05 1F */ li r4, 0x51f -/* 8023DF18 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8023DF1C 38 C0 00 00 */ li r6, 0 -/* 8023DF20 4B FD E3 31 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 8023DF24 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023DF28 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023DF2C 38 80 05 20 */ li r4, 0x520 -/* 8023DF30 38 A1 00 08 */ addi r5, r1, 8 -/* 8023DF34 38 C0 00 00 */ li r6, 0 -/* 8023DF38 4B FD E3 19 */ bl getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -lbl_8023DF3C: -/* 8023DF3C 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DF40 4B FF CA 3D */ bl getCharSpace__17dMsgScrn3Select_cFv -/* 8023DF44 FF C0 08 90 */ fmr f30, f1 -/* 8023DF48 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DF4C 4B FF CA 01 */ bl getFontSize__17dMsgScrn3Select_cFv -/* 8023DF50 FF E0 08 90 */ fmr f31, f1 -/* 8023DF54 4B DD 6A 9D */ bl mDoExt_getMesgFont__Fv -/* 8023DF58 7C 64 1B 78 */ mr r4, r3 -/* 8023DF5C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023DF60 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023DF64 FC 20 F8 90 */ fmr f1, f31 -/* 8023DF68 FC 40 F0 90 */ fmr f2, f30 -/* 8023DF6C 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8023DF70 4B FD E8 8D */ bl getStringLength__13dMeter2Info_cFP7JUTFontffPc -/* 8023DF74 FF A0 08 90 */ fmr f29, f1 -/* 8023DF78 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DF7C 4B FF CA 01 */ bl getCharSpace__17dMsgScrn3Select_cFv -/* 8023DF80 FF E0 08 90 */ fmr f31, f1 -/* 8023DF84 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DF88 4B FF C9 C5 */ bl getFontSize__17dMsgScrn3Select_cFv -/* 8023DF8C FF C0 08 90 */ fmr f30, f1 -/* 8023DF90 4B DD 6A 61 */ bl mDoExt_getMesgFont__Fv -/* 8023DF94 7C 64 1B 78 */ mr r4, r3 -/* 8023DF98 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023DF9C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023DFA0 FC 20 F0 90 */ fmr f1, f30 -/* 8023DFA4 FC 40 F8 90 */ fmr f2, f31 -/* 8023DFA8 38 A1 00 08 */ addi r5, r1, 8 -/* 8023DFAC 4B FD E8 51 */ bl getStringLength__13dMeter2Info_cFP7JUTFontffPc -/* 8023DFB0 FF C0 08 90 */ fmr f30, f1 -/* 8023DFB4 FC 1D F0 40 */ fcmpo cr0, f29, f30 -/* 8023DFB8 40 80 00 0C */ bge lbl_8023DFC4 -/* 8023DFBC FF E0 F0 90 */ fmr f31, f30 -/* 8023DFC0 48 00 00 08 */ b lbl_8023DFC8 -lbl_8023DFC4: -/* 8023DFC4 FF E0 E8 90 */ fmr f31, f29 -lbl_8023DFC8: -/* 8023DFC8 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DFCC 4B FF C9 69 */ bl getTextBoxWidth__17dMsgScrn3Select_cFv -/* 8023DFD0 FC 1F 08 40 */ fcmpo cr0, f31, f1 -/* 8023DFD4 40 80 00 10 */ bge lbl_8023DFE4 -/* 8023DFD8 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023DFDC 4B FF C9 59 */ bl getTextBoxWidth__17dMsgScrn3Select_cFv -/* 8023DFE0 FF E0 08 90 */ fmr f31, f1 -lbl_8023DFE4: -/* 8023DFE4 38 61 00 2C */ addi r3, r1, 0x2c -/* 8023DFE8 38 80 00 14 */ li r4, 0x14 -/* 8023DFEC 3C A0 80 3A */ lis r5, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023DFF0 38 A5 99 10 */ addi r5, r5, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023DFF4 38 A5 00 74 */ addi r5, r5, 0x74 -/* 8023DFF8 C0 22 B1 E8 */ lfs f1, lit_4294(r2) -/* 8023DFFC EC 1F E8 28 */ fsubs f0, f31, f29 -/* 8023E000 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8023E004 FC 00 00 1E */ fctiwz f0, f0 -/* 8023E008 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 8023E00C 80 C1 00 44 */ lwz r6, 0x44(r1) -/* 8023E010 4C C6 31 82 */ crclr 6 -/* 8023E014 48 12 85 A9 */ bl snprintf -/* 8023E018 38 61 00 2C */ addi r3, r1, 0x2c -/* 8023E01C 38 81 00 10 */ addi r4, r1, 0x10 -/* 8023E020 48 12 AA 9D */ bl strcat -/* 8023E024 38 61 00 18 */ addi r3, r1, 0x18 -/* 8023E028 38 80 00 14 */ li r4, 0x14 -/* 8023E02C 3C A0 80 3A */ lis r5, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023E030 38 A5 99 10 */ addi r5, r5, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023E034 38 A5 00 74 */ addi r5, r5, 0x74 -/* 8023E038 C0 22 B1 E8 */ lfs f1, lit_4294(r2) -/* 8023E03C EC 1F F0 28 */ fsubs f0, f31, f30 -/* 8023E040 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8023E044 FC 00 00 1E */ fctiwz f0, f0 -/* 8023E048 D8 01 00 48 */ stfd f0, 0x48(r1) -/* 8023E04C 80 C1 00 4C */ lwz r6, 0x4c(r1) -/* 8023E050 4C C6 31 82 */ crclr 6 -/* 8023E054 48 12 85 69 */ bl snprintf -/* 8023E058 38 61 00 18 */ addi r3, r1, 0x18 -/* 8023E05C 38 81 00 08 */ addi r4, r1, 8 -/* 8023E060 48 12 AA 5D */ bl strcat -/* 8023E064 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E068 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023E06C 38 84 99 10 */ addi r4, r4, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023E070 38 84 00 63 */ addi r4, r4, 0x63 -/* 8023E074 38 A1 00 2C */ addi r5, r1, 0x2c -/* 8023E078 38 C1 00 18 */ addi r6, r1, 0x18 -/* 8023E07C 4B FF BB FD */ bl setString__17dMsgScrn3Select_cFPcPcPc -/* 8023E080 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E084 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_explain__stringBase0@ha /* 0x80399910@ha */ -/* 8023E088 38 84 99 10 */ addi r4, r4, msg_scrn_d_msg_scrn_explain__stringBase0@l /* 0x80399910@l */ -/* 8023E08C 38 84 00 63 */ addi r4, r4, 0x63 -/* 8023E090 7C 85 23 78 */ mr r5, r4 -/* 8023E094 7C 86 23 78 */ mr r6, r4 -/* 8023E098 4B FF BC 71 */ bl setRubyString__17dMsgScrn3Select_cFPcPcPc -/* 8023E09C 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E0A0 38 80 00 02 */ li r4, 2 -/* 8023E0A4 88 BF 00 61 */ lbz r5, 0x61(r31) -/* 8023E0A8 38 05 00 01 */ addi r0, r5, 1 -/* 8023E0AC 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 8023E0B0 38 C0 00 00 */ li r6, 0 -/* 8023E0B4 FC 20 F8 90 */ fmr f1, f31 -/* 8023E0B8 38 E0 00 00 */ li r7, 0 -/* 8023E0BC 4B FF BF D9 */ bl selAnimeInit__17dMsgScrn3Select_cFUcUcUcfUc -/* 8023E0C0 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 8023E0C4 4B FF DD 71 */ bl arwAnimeInit__15dMsgScrnArrow_cFv -/* 8023E0C8 E3 E1 00 88 */ psq_l f31, 136(r1), 0, 0 /* qr0 */ -/* 8023E0CC CB E1 00 80 */ lfd f31, 0x80(r1) -/* 8023E0D0 E3 C1 00 78 */ psq_l f30, 120(r1), 0, 0 /* qr0 */ -/* 8023E0D4 CB C1 00 70 */ lfd f30, 0x70(r1) -/* 8023E0D8 E3 A1 00 68 */ psq_l f29, 104(r1), 0, 0 /* qr0 */ -/* 8023E0DC CB A1 00 60 */ lfd f29, 0x60(r1) -/* 8023E0E0 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 8023E0E4 80 01 00 94 */ lwz r0, 0x94(r1) -/* 8023E0E8 7C 08 03 A6 */ mtlr r0 -/* 8023E0EC 38 21 00 90 */ addi r1, r1, 0x90 -/* 8023E0F0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/move_select_proc__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/move_select_proc__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 7ac7ee5581..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/move_select_proc__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,225 +0,0 @@ -lbl_8023E0F4: -/* 8023E0F4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8023E0F8 7C 08 02 A6 */ mflr r0 -/* 8023E0FC 90 01 00 34 */ stw r0, 0x34(r1) -/* 8023E100 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8023E104 7C 7F 1B 78 */ mr r31, r3 -/* 8023E108 A8 63 00 5E */ lha r3, 0x5e(r3) -/* 8023E10C 2C 03 00 00 */ cmpwi r3, 0 -/* 8023E110 40 81 00 10 */ ble lbl_8023E120 -/* 8023E114 38 03 FF FF */ addi r0, r3, -1 -/* 8023E118 B0 1F 00 5E */ sth r0, 0x5e(r31) -/* 8023E11C 48 00 02 D8 */ b lbl_8023E3F4 -lbl_8023E120: -/* 8023E120 80 7F 00 44 */ lwz r3, 0x44(r31) -/* 8023E124 4B DF 40 79 */ bl checkTrigger__9STControlFv -/* 8023E128 7F E3 FB 78 */ mr r3, r31 -/* 8023E12C 48 00 05 15 */ bl checkTriggerA__17dMsgScrnExplain_cFv -/* 8023E130 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E134 41 82 01 1C */ beq lbl_8023E250 -/* 8023E138 88 1F 00 64 */ lbz r0, 0x64(r31) -/* 8023E13C 28 00 00 02 */ cmplwi r0, 2 -/* 8023E140 40 82 00 90 */ bne lbl_8023E1D0 -/* 8023E144 88 1F 00 61 */ lbz r0, 0x61(r31) -/* 8023E148 28 00 00 00 */ cmplwi r0, 0 -/* 8023E14C 40 82 00 4C */ bne lbl_8023E198 -/* 8023E150 38 00 00 03 */ li r0, 3 -/* 8023E154 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8023E158 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8023E15C 98 03 00 C0 */ stb r0, 0xc0(r3) -/* 8023E160 38 00 00 48 */ li r0, 0x48 -/* 8023E164 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023E168 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E16C 38 81 00 24 */ addi r4, r1, 0x24 -/* 8023E170 38 A0 00 00 */ li r5, 0 -/* 8023E174 38 C0 00 00 */ li r6, 0 -/* 8023E178 38 E0 00 00 */ li r7, 0 -/* 8023E17C C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E180 FC 40 08 90 */ fmr f2, f1 -/* 8023E184 C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E188 FC 80 18 90 */ fmr f4, f3 -/* 8023E18C 39 00 00 00 */ li r8, 0 -/* 8023E190 48 06 D7 F5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023E194 48 00 00 7C */ b lbl_8023E210 -lbl_8023E198: -/* 8023E198 38 00 00 6E */ li r0, 0x6e -/* 8023E19C 90 01 00 20 */ stw r0, 0x20(r1) -/* 8023E1A0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E1A4 38 81 00 20 */ addi r4, r1, 0x20 -/* 8023E1A8 38 A0 00 00 */ li r5, 0 -/* 8023E1AC 38 C0 00 00 */ li r6, 0 -/* 8023E1B0 38 E0 00 00 */ li r7, 0 -/* 8023E1B4 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E1B8 FC 40 08 90 */ fmr f2, f1 -/* 8023E1BC C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E1C0 FC 80 18 90 */ fmr f4, f3 -/* 8023E1C4 39 00 00 00 */ li r8, 0 -/* 8023E1C8 48 06 D7 BD */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023E1CC 48 00 00 44 */ b lbl_8023E210 -lbl_8023E1D0: -/* 8023E1D0 88 1F 00 66 */ lbz r0, 0x66(r31) -/* 8023E1D4 28 00 00 00 */ cmplwi r0, 0 -/* 8023E1D8 40 82 00 38 */ bne lbl_8023E210 -/* 8023E1DC 38 00 00 64 */ li r0, 0x64 -/* 8023E1E0 90 01 00 10 */ stw r0, 0x10(r1) -/* 8023E1E4 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E1E8 38 81 00 10 */ addi r4, r1, 0x10 -/* 8023E1EC 38 A0 00 00 */ li r5, 0 -/* 8023E1F0 38 C0 00 00 */ li r6, 0 -/* 8023E1F4 38 E0 00 00 */ li r7, 0 -/* 8023E1F8 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E1FC FC 40 08 90 */ fmr f2, f1 -/* 8023E200 C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E204 FC 80 18 90 */ fmr f4, f3 -/* 8023E208 39 00 00 00 */ li r8, 0 -/* 8023E20C 48 06 D7 79 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_8023E210: -/* 8023E210 38 00 00 05 */ li r0, 5 -/* 8023E214 98 1F 00 60 */ stb r0, 0x60(r31) -/* 8023E218 38 00 00 52 */ li r0, 0x52 -/* 8023E21C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8023E220 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E224 38 81 00 0C */ addi r4, r1, 0xc -/* 8023E228 38 A0 00 00 */ li r5, 0 -/* 8023E22C 38 C0 00 00 */ li r6, 0 -/* 8023E230 38 E0 00 00 */ li r7, 0 -/* 8023E234 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E238 FC 40 08 90 */ fmr f2, f1 -/* 8023E23C C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E240 FC 80 18 90 */ fmr f4, f3 -/* 8023E244 39 00 00 00 */ li r8, 0 -/* 8023E248 48 06 D7 3D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023E24C 48 00 01 A8 */ b lbl_8023E3F4 -lbl_8023E250: -/* 8023E250 88 1F 00 58 */ lbz r0, 0x58(r31) -/* 8023E254 28 00 00 00 */ cmplwi r0, 0 -/* 8023E258 41 82 00 C8 */ beq lbl_8023E320 -/* 8023E25C 7F E3 FB 78 */ mr r3, r31 -/* 8023E260 48 00 03 F5 */ bl checkTriggerB__17dMsgScrnExplain_cFv -/* 8023E264 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E268 40 82 00 10 */ bne lbl_8023E278 -/* 8023E26C 88 1F 00 65 */ lbz r0, 0x65(r31) -/* 8023E270 28 00 00 00 */ cmplwi r0, 0 -/* 8023E274 41 82 00 AC */ beq lbl_8023E320 -lbl_8023E278: -/* 8023E278 88 1F 00 64 */ lbz r0, 0x64(r31) -/* 8023E27C 28 00 00 02 */ cmplwi r0, 2 -/* 8023E280 40 82 00 3C */ bne lbl_8023E2BC -/* 8023E284 38 00 00 6E */ li r0, 0x6e -/* 8023E288 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8023E28C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E290 38 81 00 1C */ addi r4, r1, 0x1c -/* 8023E294 38 A0 00 00 */ li r5, 0 -/* 8023E298 38 C0 00 00 */ li r6, 0 -/* 8023E29C 38 E0 00 00 */ li r7, 0 -/* 8023E2A0 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E2A4 FC 40 08 90 */ fmr f2, f1 -/* 8023E2A8 C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E2AC FC 80 18 90 */ fmr f4, f3 -/* 8023E2B0 39 00 00 00 */ li r8, 0 -/* 8023E2B4 48 06 D6 D1 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023E2B8 48 00 00 28 */ b lbl_8023E2E0 -lbl_8023E2BC: -/* 8023E2BC 28 00 00 01 */ cmplwi r0, 1 -/* 8023E2C0 40 82 00 20 */ bne lbl_8023E2E0 -/* 8023E2C4 88 1F 00 63 */ lbz r0, 0x63(r31) -/* 8023E2C8 28 00 00 FF */ cmplwi r0, 0xff -/* 8023E2CC 41 82 00 0C */ beq lbl_8023E2D8 -/* 8023E2D0 98 1F 00 61 */ stb r0, 0x61(r31) -/* 8023E2D4 48 00 00 0C */ b lbl_8023E2E0 -lbl_8023E2D8: -/* 8023E2D8 38 00 00 FF */ li r0, 0xff -/* 8023E2DC 98 1F 00 61 */ stb r0, 0x61(r31) -lbl_8023E2E0: -/* 8023E2E0 38 00 00 05 */ li r0, 5 -/* 8023E2E4 98 1F 00 60 */ stb r0, 0x60(r31) -/* 8023E2E8 38 00 00 52 */ li r0, 0x52 -/* 8023E2EC 90 01 00 08 */ stw r0, 8(r1) -/* 8023E2F0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E2F4 38 81 00 08 */ addi r4, r1, 8 -/* 8023E2F8 38 A0 00 00 */ li r5, 0 -/* 8023E2FC 38 C0 00 00 */ li r6, 0 -/* 8023E300 38 E0 00 00 */ li r7, 0 -/* 8023E304 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E308 FC 40 08 90 */ fmr f2, f1 -/* 8023E30C C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E310 FC 80 18 90 */ fmr f4, f3 -/* 8023E314 39 00 00 00 */ li r8, 0 -/* 8023E318 48 06 D6 6D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023E31C 48 00 00 D8 */ b lbl_8023E3F4 -lbl_8023E320: -/* 8023E320 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E324 4B FF B9 41 */ bl isSelect__17dMsgScrn3Select_cFv -/* 8023E328 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E32C 41 82 00 60 */ beq lbl_8023E38C -/* 8023E330 80 7F 00 44 */ lwz r3, 0x44(r31) -/* 8023E334 4B DF 41 F1 */ bl checkUpTrigger__9STControlFv -/* 8023E338 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E33C 41 82 00 50 */ beq lbl_8023E38C -/* 8023E340 88 1F 00 61 */ lbz r0, 0x61(r31) -/* 8023E344 28 00 00 01 */ cmplwi r0, 1 -/* 8023E348 40 82 00 AC */ bne lbl_8023E3F4 -/* 8023E34C 38 00 00 00 */ li r0, 0 -/* 8023E350 98 1F 00 61 */ stb r0, 0x61(r31) -/* 8023E354 38 00 00 A0 */ li r0, 0xa0 -/* 8023E358 90 01 00 18 */ stw r0, 0x18(r1) -/* 8023E35C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E360 38 81 00 18 */ addi r4, r1, 0x18 -/* 8023E364 38 A0 00 00 */ li r5, 0 -/* 8023E368 38 C0 00 00 */ li r6, 0 -/* 8023E36C 38 E0 00 00 */ li r7, 0 -/* 8023E370 C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E374 FC 40 08 90 */ fmr f2, f1 -/* 8023E378 C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E37C FC 80 18 90 */ fmr f4, f3 -/* 8023E380 39 00 00 00 */ li r8, 0 -/* 8023E384 48 06 D6 01 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023E388 48 00 00 6C */ b lbl_8023E3F4 -lbl_8023E38C: -/* 8023E38C 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E390 4B FF B8 D5 */ bl isSelect__17dMsgScrn3Select_cFv -/* 8023E394 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E398 41 82 00 5C */ beq lbl_8023E3F4 -/* 8023E39C 80 7F 00 44 */ lwz r3, 0x44(r31) -/* 8023E3A0 4B DF 42 01 */ bl checkDownTrigger__9STControlFv -/* 8023E3A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023E3A8 41 82 00 4C */ beq lbl_8023E3F4 -/* 8023E3AC 88 1F 00 61 */ lbz r0, 0x61(r31) -/* 8023E3B0 28 00 00 00 */ cmplwi r0, 0 -/* 8023E3B4 40 82 00 40 */ bne lbl_8023E3F4 -/* 8023E3B8 38 00 00 01 */ li r0, 1 -/* 8023E3BC 98 1F 00 61 */ stb r0, 0x61(r31) -/* 8023E3C0 38 00 00 A0 */ li r0, 0xa0 -/* 8023E3C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023E3C8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023E3CC 38 81 00 14 */ addi r4, r1, 0x14 -/* 8023E3D0 38 A0 00 00 */ li r5, 0 -/* 8023E3D4 38 C0 00 00 */ li r6, 0 -/* 8023E3D8 38 E0 00 00 */ li r7, 0 -/* 8023E3DC C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023E3E0 FC 40 08 90 */ fmr f2, f1 -/* 8023E3E4 C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023E3E8 FC 80 18 90 */ fmr f4, f3 -/* 8023E3EC 39 00 00 00 */ li r8, 0 -/* 8023E3F0 48 06 D5 95 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_8023E3F4: -/* 8023E3F4 88 1F 00 60 */ lbz r0, 0x60(r31) -/* 8023E3F8 28 00 00 04 */ cmplwi r0, 4 -/* 8023E3FC 40 82 00 24 */ bne lbl_8023E420 -/* 8023E400 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E404 38 80 00 02 */ li r4, 2 -/* 8023E408 88 BF 00 61 */ lbz r5, 0x61(r31) -/* 8023E40C 38 05 00 01 */ addi r0, r5, 1 -/* 8023E410 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 8023E414 38 C0 00 00 */ li r6, 0 -/* 8023E418 4B FF BF 81 */ bl selAnimeMove__17dMsgScrn3Select_cFUcUcb -/* 8023E41C 48 00 00 0C */ b lbl_8023E428 -lbl_8023E420: -/* 8023E420 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 8023E424 4B FF C2 5D */ bl selAnimeEnd__17dMsgScrn3Select_cFv -lbl_8023E428: -/* 8023E428 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8023E42C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8023E430 7C 08 03 A6 */ mtlr r0 -/* 8023E434 38 21 00 30 */ addi r1, r1, 0x30 -/* 8023E438 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s b/asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s deleted file mode 100644 index 8edc1d878e..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8023E558: -/* 8023E558 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023E55C 7C 08 02 A6 */ mflr r0 -/* 8023E560 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023E564 39 40 00 00 */ li r10, 0 -/* 8023E568 3D 20 80 43 */ lis r9, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8023E56C 39 29 02 8C */ addi r9, r9, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 8023E570 88 09 03 1E */ lbz r0, 0x31e(r9) -/* 8023E574 28 00 00 00 */ cmplwi r0, 0 -/* 8023E578 41 82 00 08 */ beq lbl_8023E580 -/* 8023E57C A8 89 02 F8 */ lha r4, 0x2f8(r9) -lbl_8023E580: -/* 8023E580 88 03 00 60 */ lbz r0, 0x60(r3) -/* 8023E584 28 00 00 00 */ cmplwi r0, 0 -/* 8023E588 40 82 00 30 */ bne lbl_8023E5B8 -/* 8023E58C 90 83 00 54 */ stw r4, 0x54(r3) -/* 8023E590 98 A3 00 64 */ stb r5, 0x64(r3) -/* 8023E594 98 C3 00 61 */ stb r6, 0x61(r3) -/* 8023E598 98 E3 00 63 */ stb r7, 0x63(r3) -/* 8023E59C 38 00 00 00 */ li r0, 0 -/* 8023E5A0 98 03 00 65 */ stb r0, 0x65(r3) -/* 8023E5A4 99 03 00 58 */ stb r8, 0x58(r3) -/* 8023E5A8 38 00 00 01 */ li r0, 1 -/* 8023E5AC 98 03 00 60 */ stb r0, 0x60(r3) -/* 8023E5B0 4B FF F5 29 */ bl open_request_init__17dMsgScrnExplain_cFv -/* 8023E5B4 39 40 00 01 */ li r10, 1 -lbl_8023E5B8: -/* 8023E5B8 7D 43 53 78 */ mr r3, r10 -/* 8023E5BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023E5C0 7C 08 03 A6 */ mtlr r0 -/* 8023E5C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023E5C8 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/open_init__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/open_init__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 3ac9e416a2..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/open_init__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8023DBE4: -/* 8023DBE4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023DBE8 7C 08 02 A6 */ mflr r0 -/* 8023DBEC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023DBF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023DBF4 48 12 45 E9 */ bl _savegpr_29 -/* 8023DBF8 7C 7D 1B 78 */ mr r29, r3 -/* 8023DBFC 3B E0 00 00 */ li r31, 0 -/* 8023DC00 B3 E3 00 5A */ sth r31, 0x5a(r3) -/* 8023DC04 C0 02 B1 B8 */ lfs f0, lit_3978(r2) -/* 8023DC08 D0 03 00 48 */ stfs f0, 0x48(r3) -/* 8023DC0C 3B C0 00 00 */ li r30, 0 -lbl_8023DC10: -/* 8023DC10 38 1F 00 20 */ addi r0, r31, 0x20 -/* 8023DC14 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 8023DC18 C0 22 B1 C0 */ lfs f1, lit_3980(r2) -/* 8023DC1C 48 01 7B B5 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023DC20 3B DE 00 01 */ addi r30, r30, 1 -/* 8023DC24 2C 1E 00 02 */ cmpwi r30, 2 -/* 8023DC28 3B FF 00 04 */ addi r31, r31, 4 -/* 8023DC2C 41 80 FF E4 */ blt lbl_8023DC10 -/* 8023DC30 38 00 00 51 */ li r0, 0x51 -/* 8023DC34 90 01 00 08 */ stw r0, 8(r1) -/* 8023DC38 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8023DC3C 38 81 00 08 */ addi r4, r1, 8 -/* 8023DC40 38 A0 00 00 */ li r5, 0 -/* 8023DC44 38 C0 00 00 */ li r6, 0 -/* 8023DC48 38 E0 00 00 */ li r7, 0 -/* 8023DC4C C0 22 B1 E0 */ lfs f1, lit_4211(r2) -/* 8023DC50 FC 40 08 90 */ fmr f2, f1 -/* 8023DC54 C0 62 B1 D0 */ lfs f3, lit_4121(r2) -/* 8023DC58 FC 80 18 90 */ fmr f4, f3 -/* 8023DC5C 39 00 00 00 */ li r8, 0 -/* 8023DC60 48 06 DD 25 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8023DC64 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023DC68 48 12 45 C1 */ bl _restgpr_29 -/* 8023DC6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023DC70 7C 08 03 A6 */ mtlr r0 -/* 8023DC74 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023DC78 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/open_proc__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/open_proc__17dMsgScrnExplain_cFv.s deleted file mode 100644 index e915459142..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/open_proc__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_8023DC7C: -/* 8023DC7C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8023DC80 7C 08 02 A6 */ mflr r0 -/* 8023DC84 90 01 00 34 */ stw r0, 0x34(r1) -/* 8023DC88 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8023DC8C F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8023DC90 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023DC94 48 12 45 49 */ bl _savegpr_29 -/* 8023DC98 7C 7D 1B 78 */ mr r29, r3 -/* 8023DC9C A8 63 00 5A */ lha r3, 0x5a(r3) -/* 8023DCA0 38 03 00 01 */ addi r0, r3, 1 -/* 8023DCA4 B0 1D 00 5A */ sth r0, 0x5a(r29) -/* 8023DCA8 A8 1D 00 5A */ lha r0, 0x5a(r29) -/* 8023DCAC 2C 00 00 05 */ cmpwi r0, 5 -/* 8023DCB0 41 80 00 34 */ blt lbl_8023DCE4 -/* 8023DCB4 38 00 00 05 */ li r0, 5 -/* 8023DCB8 B0 1D 00 5A */ sth r0, 0x5a(r29) -/* 8023DCBC 88 1D 00 64 */ lbz r0, 0x64(r29) -/* 8023DCC0 28 00 00 01 */ cmplwi r0, 1 -/* 8023DCC4 41 82 00 0C */ beq lbl_8023DCD0 -/* 8023DCC8 28 00 00 02 */ cmplwi r0, 2 -/* 8023DCCC 40 82 00 10 */ bne lbl_8023DCDC -lbl_8023DCD0: -/* 8023DCD0 38 00 00 04 */ li r0, 4 -/* 8023DCD4 98 1D 00 60 */ stb r0, 0x60(r29) -/* 8023DCD8 48 00 00 0C */ b lbl_8023DCE4 -lbl_8023DCDC: -/* 8023DCDC 38 00 00 03 */ li r0, 3 -/* 8023DCE0 98 1D 00 60 */ stb r0, 0x60(r29) -lbl_8023DCE4: -/* 8023DCE4 7F A3 EB 78 */ mr r3, r29 -/* 8023DCE8 48 00 08 E5 */ bl getAlphaRatio__17dMsgScrnExplain_cFv -/* 8023DCEC C0 02 B1 B8 */ lfs f0, lit_3978(r2) -/* 8023DCF0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8023DCF4 D0 1D 00 48 */ stfs f0, 0x48(r29) -/* 8023DCF8 3B C0 00 00 */ li r30, 0 -/* 8023DCFC 3B E0 00 00 */ li r31, 0 -/* 8023DD00 C3 E2 B1 E0 */ lfs f31, lit_4211(r2) -lbl_8023DD04: -/* 8023DD04 7F A3 EB 78 */ mr r3, r29 -/* 8023DD08 48 00 08 C5 */ bl getAlphaRatio__17dMsgScrnExplain_cFv -/* 8023DD0C EC 3F 08 28 */ fsubs f1, f31, f1 -/* 8023DD10 38 1F 00 20 */ addi r0, r31, 0x20 -/* 8023DD14 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 8023DD18 48 01 7A B9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8023DD1C 3B DE 00 01 */ addi r30, r30, 1 -/* 8023DD20 2C 1E 00 02 */ cmpwi r30, 2 -/* 8023DD24 3B FF 00 04 */ addi r31, r31, 4 -/* 8023DD28 41 80 FF DC */ blt lbl_8023DD04 -/* 8023DD2C 80 1D 00 40 */ lwz r0, 0x40(r29) -/* 8023DD30 28 00 00 00 */ cmplwi r0, 0 -/* 8023DD34 41 82 00 3C */ beq lbl_8023DD70 -/* 8023DD38 7F A3 EB 78 */ mr r3, r29 -/* 8023DD3C 48 00 08 91 */ bl getAlphaRatio__17dMsgScrnExplain_cFv -/* 8023DD40 C0 02 B1 E0 */ lfs f0, lit_4211(r2) -/* 8023DD44 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8023DD48 C0 02 B1 E4 */ lfs f0, lit_4230(r2) -/* 8023DD4C EC 00 00 72 */ fmuls f0, f0, f1 -/* 8023DD50 FC 00 00 1E */ fctiwz f0, f0 -/* 8023DD54 D8 01 00 08 */ stfd f0, 8(r1) -/* 8023DD58 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8023DD5C 80 7D 00 40 */ lwz r3, 0x40(r29) -/* 8023DD60 81 83 00 00 */ lwz r12, 0(r3) -/* 8023DD64 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8023DD68 7D 89 03 A6 */ mtctr r12 -/* 8023DD6C 4E 80 04 21 */ bctrl -lbl_8023DD70: -/* 8023DD70 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8023DD74 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8023DD78 39 61 00 20 */ addi r11, r1, 0x20 -/* 8023DD7C 48 12 44 AD */ bl _restgpr_29 -/* 8023DD80 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8023DD84 7C 08 03 A6 */ mtlr r0 -/* 8023DD88 38 21 00 30 */ addi r1, r1, 0x30 -/* 8023DD8C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_explain/open_request_proc__17dMsgScrnExplain_cFv.s b/asm/msg/scrn/d_msg_scrn_explain/open_request_proc__17dMsgScrnExplain_cFv.s deleted file mode 100644 index 1c68b6b269..0000000000 --- a/asm/msg/scrn/d_msg_scrn_explain/open_request_proc__17dMsgScrnExplain_cFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_8023DADC: -/* 8023DADC 94 21 F9 E0 */ stwu r1, -0x620(r1) -/* 8023DAE0 7C 08 02 A6 */ mflr r0 -/* 8023DAE4 90 01 06 24 */ stw r0, 0x624(r1) -/* 8023DAE8 39 61 06 20 */ addi r11, r1, 0x620 -/* 8023DAEC 48 12 46 ED */ bl _savegpr_28 -/* 8023DAF0 7C 7F 1B 78 */ mr r31, r3 -/* 8023DAF4 3B 80 00 00 */ li r28, 0 -/* 8023DAF8 80 63 00 08 */ lwz r3, 8(r3) -/* 8023DAFC 83 A3 00 04 */ lwz r29, 4(r3) -/* 8023DB00 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 8023DB04 28 03 00 00 */ cmplwi r3, 0 -/* 8023DB08 41 82 00 08 */ beq lbl_8023DB10 -/* 8023DB0C 83 83 00 04 */ lwz r28, 4(r3) -lbl_8023DB10: -/* 8023DB10 83 DF 00 3C */ lwz r30, 0x3c(r31) -/* 8023DB14 4B DD 6E DD */ bl mDoExt_getMesgFont__Fv -/* 8023DB18 7C 66 1B 78 */ mr r6, r3 -/* 8023DB1C 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 8023DB20 38 1F 00 5C */ addi r0, r31, 0x5c -/* 8023DB24 90 01 00 08 */ stw r0, 8(r1) -/* 8023DB28 7F A4 EB 78 */ mr r4, r29 -/* 8023DB2C 7F 85 E3 78 */ mr r5, r28 -/* 8023DB30 7F C7 F3 78 */ mr r7, r30 -/* 8023DB34 39 01 04 10 */ addi r8, r1, 0x410 -/* 8023DB38 39 21 02 10 */ addi r9, r1, 0x210 -/* 8023DB3C 39 41 00 10 */ addi r10, r1, 0x10 -/* 8023DB40 4B FF A5 B5 */ bl getString__12dMsgObject_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cPcPcPcPs -/* 8023DB44 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023DB48 41 82 00 84 */ beq lbl_8023DBCC -/* 8023DB4C 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023DB50 80 63 00 04 */ lwz r3, 4(r3) -/* 8023DB54 48 0C 2B 05 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023DB58 38 81 04 10 */ addi r4, r1, 0x410 -/* 8023DB5C 48 12 AF D1 */ bl strcpy -/* 8023DB60 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023DB64 80 63 00 04 */ lwz r3, 4(r3) -/* 8023DB68 48 0C 2A F1 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023DB6C 38 81 00 10 */ addi r4, r1, 0x10 -/* 8023DB70 48 12 AF BD */ bl strcpy -/* 8023DB74 3B 80 00 00 */ li r28, 0 -/* 8023DB78 3B C0 00 00 */ li r30, 0 -lbl_8023DB7C: -/* 8023DB7C 38 1E 00 10 */ addi r0, r30, 0x10 -/* 8023DB80 7C 7F 00 2E */ lwzx r3, r31, r0 -/* 8023DB84 28 03 00 00 */ cmplwi r3, 0 -/* 8023DB88 41 82 00 14 */ beq lbl_8023DB9C -/* 8023DB8C 80 63 00 04 */ lwz r3, 4(r3) -/* 8023DB90 48 0C 2A C9 */ bl getStringPtr__10J2DTextBoxCFv -/* 8023DB94 38 81 02 10 */ addi r4, r1, 0x210 -/* 8023DB98 48 12 AF 95 */ bl strcpy -lbl_8023DB9C: -/* 8023DB9C 3B 9C 00 01 */ addi r28, r28, 1 -/* 8023DBA0 2C 1C 00 02 */ cmpwi r28, 2 -/* 8023DBA4 3B DE 00 04 */ addi r30, r30, 4 -/* 8023DBA8 41 80 FF D4 */ blt lbl_8023DB7C -/* 8023DBAC 88 1F 00 67 */ lbz r0, 0x67(r31) -/* 8023DBB0 28 00 00 00 */ cmplwi r0, 0 -/* 8023DBB4 41 82 00 10 */ beq lbl_8023DBC4 -/* 8023DBB8 80 6D 85 F0 */ lwz r3, __OSReport_disable-0x28(r13) -/* 8023DBBC 38 80 00 00 */ li r4, 0 -/* 8023DBC0 48 08 E3 A1 */ bl setTextCount__12Z2SpeechMgr2Fs -lbl_8023DBC4: -/* 8023DBC4 38 00 00 02 */ li r0, 2 -/* 8023DBC8 98 1F 00 60 */ stb r0, 0x60(r31) -lbl_8023DBCC: -/* 8023DBCC 39 61 06 20 */ addi r11, r1, 0x620 -/* 8023DBD0 48 12 46 55 */ bl _restgpr_28 -/* 8023DBD4 80 01 06 24 */ lwz r0, 0x624(r1) -/* 8023DBD8 7C 08 03 A6 */ mtlr r0 -/* 8023DBDC 38 21 06 20 */ addi r1, r1, 0x620 -/* 8023DBE0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_tree/__ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap.s b/asm/msg/scrn/d_msg_scrn_tree/__ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap.s deleted file mode 100644 index f99def988c..0000000000 --- a/asm/msg/scrn/d_msg_scrn_tree/__ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap.s +++ /dev/null @@ -1,383 +0,0 @@ -lbl_80248954: -/* 80248954 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80248958 7C 08 02 A6 */ mflr r0 -/* 8024895C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80248960 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 80248964 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 80248968 39 61 00 20 */ addi r11, r1, 0x20 -/* 8024896C 48 11 98 69 */ bl _savegpr_27 -/* 80248970 7C 7F 1B 78 */ mr r31, r3 -/* 80248974 7C 9C 23 78 */ mr r28, r4 -/* 80248978 7C BB 2B 78 */ mr r27, r5 -/* 8024897C 4B FF 37 61 */ bl __ct__14dMsgScrnBase_cFv -/* 80248980 3C 80 80 3C */ lis r4, __vt__14dMsgScrnTree_c@ha /* 0x803C1420@ha */ -/* 80248984 38 04 14 20 */ addi r0, r4, __vt__14dMsgScrnTree_c@l /* 0x803C1420@l */ -/* 80248988 90 1F 00 00 */ stw r0, 0(r31) -/* 8024898C 28 1B 00 00 */ cmplwi r27, 0 -/* 80248990 41 82 00 0C */ beq lbl_8024899C -/* 80248994 93 7F 00 D8 */ stw r27, 0xd8(r31) -/* 80248998 48 00 00 10 */ b lbl_802489A8 -lbl_8024899C: -/* 8024899C 38 60 00 07 */ li r3, 7 -/* 802489A0 4B DE 5A 31 */ bl dComIfGp_getSubHeap2D__Fi -/* 802489A4 90 7F 00 D8 */ stw r3, 0xd8(r31) -lbl_802489A8: -/* 802489A8 80 7F 00 D8 */ lwz r3, 0xd8(r31) -/* 802489AC 48 08 5D D9 */ bl getTotalFreeSize__7JKRHeapFv -/* 802489B0 7F E3 FB 78 */ mr r3, r31 -/* 802489B4 4B FF 37 B9 */ bl init__14dMsgScrnBase_cFv -/* 802489B8 28 1C 00 00 */ cmplwi r28, 0 -/* 802489BC 40 82 00 10 */ bne lbl_802489CC -/* 802489C0 4B DC C0 31 */ bl mDoExt_getMesgFont__Fv -/* 802489C4 90 7F 00 54 */ stw r3, 0x54(r31) -/* 802489C8 48 00 00 08 */ b lbl_802489D0 -lbl_802489CC: -/* 802489CC 93 9F 00 54 */ stw r28, 0x54(r31) -lbl_802489D0: -/* 802489D0 38 60 01 18 */ li r3, 0x118 -/* 802489D4 48 08 62 79 */ bl __nw__FUl -/* 802489D8 7C 60 1B 79 */ or. r0, r3, r3 -/* 802489DC 41 82 00 0C */ beq lbl_802489E8 -/* 802489E0 48 0A FA B9 */ bl __ct__9J2DScreenFv -/* 802489E4 7C 60 1B 78 */ mr r0, r3 -lbl_802489E8: -/* 802489E8 90 1F 00 04 */ stw r0, 4(r31) -/* 802489EC 80 7F 00 04 */ lwz r3, 4(r31) -/* 802489F0 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_tree__stringBase0@ha /* 0x80399C30@ha */ -/* 802489F4 38 84 9C 30 */ addi r4, r4, msg_scrn_d_msg_scrn_tree__stringBase0@l /* 0x80399C30@l */ -/* 802489F8 3C A0 01 02 */ lis r5, 0x102 -/* 802489FC 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80248A00 3B 66 61 C0 */ addi r27, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80248A04 80 DB 5C 74 */ lwz r6, 0x5c74(r27) -/* 80248A08 48 0A FC 41 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 80248A0C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80248A10 48 00 C6 D9 */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 80248A14 38 60 00 04 */ li r3, 4 -/* 80248A18 64 63 00 04 */ oris r3, r3, 4 -/* 80248A1C 7C 72 E3 A6 */ mtspr 0x392, r3 -/* 80248A20 38 60 00 05 */ li r3, 5 -/* 80248A24 64 63 00 05 */ oris r3, r3, 5 -/* 80248A28 7C 73 E3 A6 */ mtspr 0x393, r3 -/* 80248A2C 38 60 00 06 */ li r3, 6 -/* 80248A30 64 63 00 06 */ oris r3, r3, 6 -/* 80248A34 7C 74 E3 A6 */ mtspr 0x394, r3 -/* 80248A38 38 60 00 07 */ li r3, 7 -/* 80248A3C 64 63 00 07 */ oris r3, r3, 7 -/* 80248A40 7C 75 E3 A6 */ mtspr 0x395, r3 -/* 80248A44 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_tree__stringBase0@ha /* 0x80399C30@ha */ -/* 80248A48 38 84 9C 30 */ addi r4, r4, msg_scrn_d_msg_scrn_tree__stringBase0@l /* 0x80399C30@l */ -/* 80248A4C 38 64 00 18 */ addi r3, r4, 0x18 -/* 80248A50 80 9B 5C 74 */ lwz r4, 0x5c74(r27) -/* 80248A54 48 08 B8 1D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader -/* 80248A58 48 0C 00 15 */ bl load__20J2DAnmLoaderDataBaseFPCv -/* 80248A5C 90 7F 00 CC */ stw r3, 0xcc(r31) -/* 80248A60 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_tree__stringBase0@ha /* 0x80399C30@ha */ -/* 80248A64 38 84 9C 30 */ addi r4, r4, msg_scrn_d_msg_scrn_tree__stringBase0@l /* 0x80399C30@l */ -/* 80248A68 38 64 00 30 */ addi r3, r4, 0x30 -/* 80248A6C 80 9B 5C 74 */ lwz r4, 0x5c74(r27) -/* 80248A70 48 08 B8 01 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader -/* 80248A74 48 0B FF F9 */ bl load__20J2DAnmLoaderDataBaseFPCv -/* 80248A78 90 7F 00 D0 */ stw r3, 0xd0(r31) -/* 80248A7C 80 7F 00 D0 */ lwz r3, 0xd0(r31) -/* 80248A80 80 9F 00 04 */ lwz r4, 4(r31) -/* 80248A84 81 83 00 00 */ lwz r12, 0(r3) -/* 80248A88 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80248A8C 7D 89 03 A6 */ mtctr r12 -/* 80248A90 4E 80 04 21 */ bctrl -/* 80248A94 C0 02 B3 58 */ lfs f0, lit_3949(r2) -/* 80248A98 D0 1F 00 DC */ stfs f0, 0xdc(r31) -/* 80248A9C 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_tree__stringBase0@ha /* 0x80399C30@ha */ -/* 80248AA0 38 84 9C 30 */ addi r4, r4, msg_scrn_d_msg_scrn_tree__stringBase0@l /* 0x80399C30@l */ -/* 80248AA4 38 64 00 48 */ addi r3, r4, 0x48 -/* 80248AA8 80 9B 5C 74 */ lwz r4, 0x5c74(r27) -/* 80248AAC 48 08 B7 C5 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader -/* 80248AB0 48 0B FF BD */ bl load__20J2DAnmLoaderDataBaseFPCv -/* 80248AB4 90 7F 00 D4 */ stw r3, 0xd4(r31) -/* 80248AB8 80 7F 00 D4 */ lwz r3, 0xd4(r31) -/* 80248ABC 80 9F 00 04 */ lwz r4, 4(r31) -/* 80248AC0 81 83 00 00 */ lwz r12, 0(r3) -/* 80248AC4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80248AC8 7D 89 03 A6 */ mtctr r12 -/* 80248ACC 4E 80 04 21 */ bctrl -/* 80248AD0 C0 02 B3 58 */ lfs f0, lit_3949(r2) -/* 80248AD4 D0 1F 00 E0 */ stfs f0, 0xe0(r31) -/* 80248AD8 38 60 00 6C */ li r3, 0x6c -/* 80248ADC 48 08 61 71 */ bl __nw__FUl -/* 80248AE0 7C 60 1B 79 */ or. r0, r3, r3 -/* 80248AE4 41 82 00 24 */ beq lbl_80248B08 -/* 80248AE8 80 9F 00 04 */ lwz r4, 4(r31) -/* 80248AEC 3C A0 73 69 */ lis r5, 0x7369 /* 0x73697A65@ha */ -/* 80248AF0 38 C5 7A 65 */ addi r6, r5, 0x7A65 /* 0x73697A65@l */ -/* 80248AF4 38 A0 6E 5F */ li r5, 0x6e5f -/* 80248AF8 38 E0 00 02 */ li r7, 2 -/* 80248AFC 39 00 00 00 */ li r8, 0 -/* 80248B00 48 00 AE 85 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 80248B04 7C 60 1B 78 */ mr r0, r3 -lbl_80248B08: -/* 80248B08 90 1F 00 08 */ stw r0, 8(r31) -/* 80248B0C 80 9F 00 08 */ lwz r4, 8(r31) -/* 80248B10 80 64 00 04 */ lwz r3, 4(r4) -/* 80248B14 80 9F 00 CC */ lwz r4, 0xcc(r31) -/* 80248B18 81 83 00 00 */ lwz r12, 0(r3) -/* 80248B1C 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 80248B20 7D 89 03 A6 */ mtctr r12 -/* 80248B24 4E 80 04 21 */ bctrl -/* 80248B28 C0 02 B3 5C */ lfs f0, lit_3950(r2) -/* 80248B2C 80 9F 00 CC */ lwz r4, 0xcc(r31) -/* 80248B30 D0 04 00 08 */ stfs f0, 8(r4) -/* 80248B34 80 9F 00 08 */ lwz r4, 8(r31) -/* 80248B38 80 64 00 04 */ lwz r3, 4(r4) -/* 80248B3C 48 0A F4 91 */ bl animationTransform__7J2DPaneFv -/* 80248B40 80 9F 00 08 */ lwz r4, 8(r31) -/* 80248B44 80 64 00 04 */ lwz r3, 4(r4) -/* 80248B48 38 80 00 00 */ li r4, 0 -/* 80248B4C 81 83 00 00 */ lwz r12, 0(r3) -/* 80248B50 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 80248B54 7D 89 03 A6 */ mtctr r12 -/* 80248B58 4E 80 04 21 */ bctrl -/* 80248B5C 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 80248B60 38 A4 02 8C */ addi r5, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 80248B64 C0 25 00 B0 */ lfs f1, 0xb0(r5) -/* 80248B68 80 9F 00 08 */ lwz r4, 8(r31) -/* 80248B6C 80 64 00 04 */ lwz r3, 4(r4) -/* 80248B70 C0 05 00 84 */ lfs f0, 0x84(r5) -/* 80248B74 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 80248B78 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 80248B7C 81 83 00 00 */ lwz r12, 0(r3) -/* 80248B80 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80248B84 7D 89 03 A6 */ mtctr r12 -/* 80248B88 4E 80 04 21 */ bctrl -/* 80248B8C 38 60 00 6C */ li r3, 0x6c -/* 80248B90 48 08 60 BD */ bl __nw__FUl -/* 80248B94 7C 60 1B 79 */ or. r0, r3, r3 -/* 80248B98 41 82 00 24 */ beq lbl_80248BBC -/* 80248B9C 80 9F 00 04 */ lwz r4, 4(r31) -/* 80248BA0 3C A0 63 6B */ lis r5, 0x636B /* 0x636B5F62@ha */ -/* 80248BA4 38 C5 5F 62 */ addi r6, r5, 0x5F62 /* 0x636B5F62@l */ -/* 80248BA8 38 A0 62 61 */ li r5, 0x6261 -/* 80248BAC 38 E0 00 00 */ li r7, 0 -/* 80248BB0 39 00 00 00 */ li r8, 0 -/* 80248BB4 48 00 AD D1 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 80248BB8 7C 60 1B 78 */ mr r0, r3 -lbl_80248BBC: -/* 80248BBC 90 1F 00 C4 */ stw r0, 0xc4(r31) -/* 80248BC0 38 60 00 6C */ li r3, 0x6c -/* 80248BC4 48 08 60 89 */ bl __nw__FUl -/* 80248BC8 7C 60 1B 79 */ or. r0, r3, r3 -/* 80248BCC 41 82 00 24 */ beq lbl_80248BF0 -/* 80248BD0 80 9F 00 04 */ lwz r4, 4(r31) -/* 80248BD4 3C A0 6F 74 */ lis r5, 0x6F74 /* 0x6F743030@ha */ -/* 80248BD8 38 C5 30 30 */ addi r6, r5, 0x3030 /* 0x6F743030@l */ -/* 80248BDC 38 A0 73 70 */ li r5, 0x7370 -/* 80248BE0 38 E0 00 00 */ li r7, 0 -/* 80248BE4 39 00 00 00 */ li r8, 0 -/* 80248BE8 48 00 AD 9D */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 80248BEC 7C 60 1B 78 */ mr r0, r3 -lbl_80248BF0: -/* 80248BF0 90 1F 00 C8 */ stw r0, 0xc8(r31) -/* 80248BF4 80 9F 00 C8 */ lwz r4, 0xc8(r31) -/* 80248BF8 80 64 00 04 */ lwz r3, 4(r4) -/* 80248BFC 80 9F 00 D0 */ lwz r4, 0xd0(r31) -/* 80248C00 81 83 00 00 */ lwz r12, 0(r3) -/* 80248C04 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 80248C08 7D 89 03 A6 */ mtctr r12 -/* 80248C0C 4E 80 04 21 */ bctrl -/* 80248C10 80 7F 00 04 */ lwz r3, 4(r31) -/* 80248C14 3C 80 74 65 */ lis r4, 0x7465 /* 0x74655F6D@ha */ -/* 80248C18 38 C4 5F 6D */ addi r6, r4, 0x5F6D /* 0x74655F6D@l */ -/* 80248C1C 3C 80 00 77 */ lis r4, 0x0077 /* 0x00776869@ha */ -/* 80248C20 38 A4 68 69 */ addi r5, r4, 0x6869 /* 0x00776869@l */ -/* 80248C24 81 83 00 00 */ lwz r12, 0(r3) -/* 80248C28 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80248C2C 7D 89 03 A6 */ mtctr r12 -/* 80248C30 4E 80 04 21 */ bctrl -/* 80248C34 80 9F 00 D4 */ lwz r4, 0xd4(r31) -/* 80248C38 81 83 00 00 */ lwz r12, 0(r3) -/* 80248C3C 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 80248C40 7D 89 03 A6 */ mtctr r12 -/* 80248C44 4E 80 04 21 */ bctrl -/* 80248C48 3B C0 00 00 */ li r30, 0 -/* 80248C4C 3B A0 00 00 */ li r29, 0 -/* 80248C50 3B 80 00 00 */ li r28, 0 -/* 80248C54 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_tree__stringBase0@ha /* 0x80399C30@ha */ -/* 80248C58 3B 64 9C 30 */ addi r27, r4, msg_scrn_d_msg_scrn_tree__stringBase0@l /* 0x80399C30@l */ -lbl_80248C5C: -/* 80248C5C 38 60 00 6C */ li r3, 0x6c -/* 80248C60 48 08 5F ED */ bl __nw__FUl -/* 80248C64 7C 64 1B 79 */ or. r4, r3, r3 -/* 80248C68 41 82 00 2C */ beq lbl_80248C94 -/* 80248C6C 80 9F 00 04 */ lwz r4, 4(r31) -/* 80248C70 3C A0 80 3A */ lis r5, t_tag@ha /* 0x80399C18@ha */ -/* 80248C74 38 05 9C 18 */ addi r0, r5, t_tag@l /* 0x80399C18@l */ -/* 80248C78 7C C0 E2 14 */ add r6, r0, r28 -/* 80248C7C 80 A6 00 00 */ lwz r5, 0(r6) -/* 80248C80 80 C6 00 04 */ lwz r6, 4(r6) -/* 80248C84 38 E0 00 00 */ li r7, 0 -/* 80248C88 39 00 00 00 */ li r8, 0 -/* 80248C8C 48 00 AC F9 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 80248C90 7C 64 1B 78 */ mr r4, r3 -lbl_80248C94: -/* 80248C94 38 1D 00 0C */ addi r0, r29, 0xc -/* 80248C98 7C 9F 01 2E */ stwx r4, r31, r0 -/* 80248C9C 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 80248CA0 80 64 00 04 */ lwz r3, 4(r4) -/* 80248CA4 80 9F 00 54 */ lwz r4, 0x54(r31) -/* 80248CA8 81 83 00 00 */ lwz r12, 0(r3) -/* 80248CAC 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80248CB0 7D 89 03 A6 */ mtctr r12 -/* 80248CB4 4E 80 04 21 */ bctrl -/* 80248CB8 38 1D 00 0C */ addi r0, r29, 0xc -/* 80248CBC 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 80248CC0 80 64 00 04 */ lwz r3, 4(r4) -/* 80248CC4 38 80 02 00 */ li r4, 0x200 -/* 80248CC8 38 BB 00 63 */ addi r5, r27, 0x63 -/* 80248CCC 4C C6 31 82 */ crclr 6 -/* 80248CD0 48 0B 7A 7D */ bl setString__10J2DTextBoxFsPCce -/* 80248CD4 3B DE 00 01 */ addi r30, r30, 1 -/* 80248CD8 2C 1E 00 03 */ cmpwi r30, 3 -/* 80248CDC 3B BD 00 04 */ addi r29, r29, 4 -/* 80248CE0 3B 9C 00 08 */ addi r28, r28, 8 -/* 80248CE4 41 80 FF 78 */ blt lbl_80248C5C -/* 80248CE8 80 7F 00 04 */ lwz r3, 4(r31) -/* 80248CEC 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 80248CF0 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 80248CF4 3C 80 00 6E */ lis r4, 0x006E /* 0x006E5F33@ha */ -/* 80248CF8 38 A4 5F 33 */ addi r5, r4, 0x5F33 /* 0x006E5F33@l */ -/* 80248CFC 81 83 00 00 */ lwz r12, 0(r3) -/* 80248D00 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80248D04 7D 89 03 A6 */ mtctr r12 -/* 80248D08 4E 80 04 21 */ bctrl -/* 80248D0C 38 00 00 00 */ li r0, 0 -/* 80248D10 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 80248D14 80 7F 00 04 */ lwz r3, 4(r31) -/* 80248D18 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 80248D1C 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 80248D20 3C 80 6E 5F */ lis r4, 0x6E5F /* 0x6E5F3366@ha */ -/* 80248D24 38 A4 33 66 */ addi r5, r4, 0x3366 /* 0x6E5F3366@l */ -/* 80248D28 81 83 00 00 */ lwz r12, 0(r3) -/* 80248D2C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80248D30 7D 89 03 A6 */ mtctr r12 -/* 80248D34 4E 80 04 21 */ bctrl -/* 80248D38 38 00 00 00 */ li r0, 0 -/* 80248D3C 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 80248D40 80 7F 00 04 */ lwz r3, 4(r31) -/* 80248D44 3C 80 6C 69 */ lis r4, 0x6C69 /* 0x6C696E65@ha */ -/* 80248D48 38 C4 6E 65 */ addi r6, r4, 0x6E65 /* 0x6C696E65@l */ -/* 80248D4C 3C 80 6E 5F */ lis r4, 0x6E5F /* 0x6E5F6534@ha */ -/* 80248D50 38 A4 65 34 */ addi r5, r4, 0x6534 /* 0x6E5F6534@l */ -/* 80248D54 81 83 00 00 */ lwz r12, 0(r3) -/* 80248D58 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80248D5C 7D 89 03 A6 */ mtctr r12 -/* 80248D60 4E 80 04 21 */ bctrl -/* 80248D64 38 00 00 01 */ li r0, 1 -/* 80248D68 98 03 00 B0 */ stb r0, 0xb0(r3) -/* 80248D6C 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80248D70 80 84 00 04 */ lwz r4, 4(r4) -/* 80248D74 C0 04 01 1C */ lfs f0, 0x11c(r4) -/* 80248D78 D0 1F 00 58 */ stfs f0, 0x58(r31) -/* 80248D7C C0 04 01 20 */ lfs f0, 0x120(r4) -/* 80248D80 D0 1F 00 5C */ stfs f0, 0x5c(r31) -/* 80248D84 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80248D88 80 84 00 04 */ lwz r4, 4(r4) -/* 80248D8C C0 24 00 28 */ lfs f1, 0x28(r4) -/* 80248D90 C0 04 00 20 */ lfs f0, 0x20(r4) -/* 80248D94 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80248D98 D0 1F 00 74 */ stfs f0, 0x74(r31) -/* 80248D9C 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80248DA0 80 84 00 04 */ lwz r4, 4(r4) -/* 80248DA4 C0 24 00 2C */ lfs f1, 0x2c(r4) -/* 80248DA8 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 80248DAC EC 01 00 28 */ fsubs f0, f1, f0 -/* 80248DB0 D0 1F 00 78 */ stfs f0, 0x78(r31) -/* 80248DB4 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80248DB8 80 84 00 04 */ lwz r4, 4(r4) -/* 80248DBC C0 04 01 18 */ lfs f0, 0x118(r4) -/* 80248DC0 D0 1F 00 7C */ stfs f0, 0x7c(r31) -/* 80248DC4 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 80248DC8 80 84 00 04 */ lwz r4, 4(r4) -/* 80248DCC C0 04 01 14 */ lfs f0, 0x114(r4) -/* 80248DD0 D0 1F 00 80 */ stfs f0, 0x80(r31) -/* 80248DD4 3B 60 00 00 */ li r27, 0 -/* 80248DD8 3B C0 00 00 */ li r30, 0 -/* 80248DDC C3 E2 B3 60 */ lfs f31, lit_3951(r2) -lbl_80248DE0: -/* 80248DE0 38 1E 00 0C */ addi r0, r30, 0xc -/* 80248DE4 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 80248DE8 80 84 00 04 */ lwz r4, 4(r4) -/* 80248DEC C0 1F 00 7C */ lfs f0, 0x7c(r31) -/* 80248DF0 D0 04 01 18 */ stfs f0, 0x118(r4) -/* 80248DF4 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 80248DF8 80 64 00 04 */ lwz r3, 4(r4) -/* 80248DFC C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 80248E00 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 80248E04 EC 41 00 28 */ fsubs f2, f1, f0 -/* 80248E08 C0 23 00 28 */ lfs f1, 0x28(r3) -/* 80248E0C C0 03 00 20 */ lfs f0, 0x20(r3) -/* 80248E10 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80248E14 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80248E18 81 83 00 00 */ lwz r12, 0(r3) -/* 80248E1C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80248E20 7D 89 03 A6 */ mtctr r12 -/* 80248E24 4E 80 04 21 */ bctrl -/* 80248E28 3B 7B 00 01 */ addi r27, r27, 1 -/* 80248E2C 2C 1B 00 03 */ cmpwi r27, 3 -/* 80248E30 3B DE 00 04 */ addi r30, r30, 4 -/* 80248E34 41 80 FF AC */ blt lbl_80248DE0 -/* 80248E38 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80248E3C 48 00 B4 AD */ bl getGlobalPosX__8CPaneMgrFv -/* 80248E40 D0 3F 00 64 */ stfs f1, 0x64(r31) -/* 80248E44 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80248E48 48 00 B5 1D */ bl getGlobalPosY__8CPaneMgrFv -/* 80248E4C D0 3F 00 68 */ stfs f1, 0x68(r31) -/* 80248E50 C0 02 B3 58 */ lfs f0, lit_3949(r2) -/* 80248E54 D0 1F 00 B4 */ stfs f0, 0xb4(r31) -/* 80248E58 3B 60 00 00 */ li r27, 0 -/* 80248E5C 3B C0 00 00 */ li r30, 0 -lbl_80248E60: -/* 80248E60 38 1E 00 28 */ addi r0, r30, 0x28 -/* 80248E64 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 80248E68 28 04 00 00 */ cmplwi r4, 0 -/* 80248E6C 41 82 00 74 */ beq lbl_80248EE0 -/* 80248E70 80 84 00 04 */ lwz r4, 4(r4) -/* 80248E74 C0 1F 00 7C */ lfs f0, 0x7c(r31) -/* 80248E78 D0 04 01 18 */ stfs f0, 0x118(r4) -/* 80248E7C 2C 1B 00 00 */ cmpwi r27, 0 -/* 80248E80 40 82 00 24 */ bne lbl_80248EA4 -/* 80248E84 80 9F 00 28 */ lwz r4, 0x28(r31) -/* 80248E88 80 84 00 04 */ lwz r4, 4(r4) -/* 80248E8C C0 04 01 1C */ lfs f0, 0x11c(r4) -/* 80248E90 D0 1F 00 60 */ stfs f0, 0x60(r31) -/* 80248E94 80 9F 00 28 */ lwz r4, 0x28(r31) -/* 80248E98 80 84 00 04 */ lwz r4, 4(r4) -/* 80248E9C C0 04 01 14 */ lfs f0, 0x114(r4) -/* 80248EA0 D0 1F 00 84 */ stfs f0, 0x84(r31) -lbl_80248EA4: -/* 80248EA4 38 1E 00 28 */ addi r0, r30, 0x28 -/* 80248EA8 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 80248EAC 80 64 00 04 */ lwz r3, 4(r4) -/* 80248EB0 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 80248EB4 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 80248EB8 EC 41 00 28 */ fsubs f2, f1, f0 -/* 80248EBC C0 23 00 28 */ lfs f1, 0x28(r3) -/* 80248EC0 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 80248EC4 EC 21 00 28 */ fsubs f1, f1, f0 -/* 80248EC8 C0 02 B3 60 */ lfs f0, lit_3951(r2) -/* 80248ECC EC 20 00 72 */ fmuls f1, f0, f1 -/* 80248ED0 81 83 00 00 */ lwz r12, 0(r3) -/* 80248ED4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80248ED8 7D 89 03 A6 */ mtctr r12 -/* 80248EDC 4E 80 04 21 */ bctrl -lbl_80248EE0: -/* 80248EE0 3B 7B 00 01 */ addi r27, r27, 1 -/* 80248EE4 2C 1B 00 03 */ cmpwi r27, 3 -/* 80248EE8 3B DE 00 04 */ addi r30, r30, 4 -/* 80248EEC 41 80 FF 74 */ blt lbl_80248E60 -/* 80248EF0 7F E3 FB 78 */ mr r3, r31 -/* 80248EF4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 80248EF8 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 80248EFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80248F00 48 11 93 21 */ bl _restgpr_27 -/* 80248F04 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80248F08 7C 08 03 A6 */ mtlr r0 -/* 80248F0C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80248F10 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_tree/__dt__14dMsgScrnTree_cFv.s b/asm/msg/scrn/d_msg_scrn_tree/__dt__14dMsgScrnTree_cFv.s deleted file mode 100644 index 6f0b9f2939..0000000000 --- a/asm/msg/scrn/d_msg_scrn_tree/__dt__14dMsgScrnTree_cFv.s +++ /dev/null @@ -1,142 +0,0 @@ -lbl_80248F14: -/* 80248F14 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80248F18 7C 08 02 A6 */ mflr r0 -/* 80248F1C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80248F20 39 61 00 20 */ addi r11, r1, 0x20 -/* 80248F24 48 11 92 B1 */ bl _savegpr_27 -/* 80248F28 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80248F2C 7C 9F 23 78 */ mr r31, r4 -/* 80248F30 41 82 01 CC */ beq lbl_802490FC -/* 80248F34 3C 60 80 3C */ lis r3, __vt__14dMsgScrnTree_c@ha /* 0x803C1420@ha */ -/* 80248F38 38 03 14 20 */ addi r0, r3, __vt__14dMsgScrnTree_c@l /* 0x803C1420@l */ -/* 80248F3C 90 1E 00 00 */ stw r0, 0(r30) -/* 80248F40 80 7E 00 04 */ lwz r3, 4(r30) -/* 80248F44 28 03 00 00 */ cmplwi r3, 0 -/* 80248F48 41 82 00 18 */ beq lbl_80248F60 -/* 80248F4C 38 80 00 01 */ li r4, 1 -/* 80248F50 81 83 00 00 */ lwz r12, 0(r3) -/* 80248F54 81 8C 00 08 */ lwz r12, 8(r12) -/* 80248F58 7D 89 03 A6 */ mtctr r12 -/* 80248F5C 4E 80 04 21 */ bctrl -lbl_80248F60: -/* 80248F60 38 00 00 00 */ li r0, 0 -/* 80248F64 90 1E 00 04 */ stw r0, 4(r30) -/* 80248F68 80 7E 00 CC */ lwz r3, 0xcc(r30) -/* 80248F6C 28 03 00 00 */ cmplwi r3, 0 -/* 80248F70 41 82 00 18 */ beq lbl_80248F88 -/* 80248F74 38 80 00 01 */ li r4, 1 -/* 80248F78 81 83 00 00 */ lwz r12, 0(r3) -/* 80248F7C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80248F80 7D 89 03 A6 */ mtctr r12 -/* 80248F84 4E 80 04 21 */ bctrl -lbl_80248F88: -/* 80248F88 38 00 00 00 */ li r0, 0 -/* 80248F8C 90 1E 00 CC */ stw r0, 0xcc(r30) -/* 80248F90 80 7E 00 D0 */ lwz r3, 0xd0(r30) -/* 80248F94 28 03 00 00 */ cmplwi r3, 0 -/* 80248F98 41 82 00 18 */ beq lbl_80248FB0 -/* 80248F9C 38 80 00 01 */ li r4, 1 -/* 80248FA0 81 83 00 00 */ lwz r12, 0(r3) -/* 80248FA4 81 8C 00 08 */ lwz r12, 8(r12) -/* 80248FA8 7D 89 03 A6 */ mtctr r12 -/* 80248FAC 4E 80 04 21 */ bctrl -lbl_80248FB0: -/* 80248FB0 38 00 00 00 */ li r0, 0 -/* 80248FB4 90 1E 00 D0 */ stw r0, 0xd0(r30) -/* 80248FB8 80 7E 00 D4 */ lwz r3, 0xd4(r30) -/* 80248FBC 28 03 00 00 */ cmplwi r3, 0 -/* 80248FC0 41 82 00 18 */ beq lbl_80248FD8 -/* 80248FC4 38 80 00 01 */ li r4, 1 -/* 80248FC8 81 83 00 00 */ lwz r12, 0(r3) -/* 80248FCC 81 8C 00 08 */ lwz r12, 8(r12) -/* 80248FD0 7D 89 03 A6 */ mtctr r12 -/* 80248FD4 4E 80 04 21 */ bctrl -lbl_80248FD8: -/* 80248FD8 38 00 00 00 */ li r0, 0 -/* 80248FDC 90 1E 00 D4 */ stw r0, 0xd4(r30) -/* 80248FE0 80 7E 00 08 */ lwz r3, 8(r30) -/* 80248FE4 28 03 00 00 */ cmplwi r3, 0 -/* 80248FE8 41 82 00 18 */ beq lbl_80249000 -/* 80248FEC 38 80 00 01 */ li r4, 1 -/* 80248FF0 81 83 00 00 */ lwz r12, 0(r3) -/* 80248FF4 81 8C 00 08 */ lwz r12, 8(r12) -/* 80248FF8 7D 89 03 A6 */ mtctr r12 -/* 80248FFC 4E 80 04 21 */ bctrl -lbl_80249000: -/* 80249000 38 00 00 00 */ li r0, 0 -/* 80249004 90 1E 00 08 */ stw r0, 8(r30) -/* 80249008 80 7E 00 C4 */ lwz r3, 0xc4(r30) -/* 8024900C 28 03 00 00 */ cmplwi r3, 0 -/* 80249010 41 82 00 18 */ beq lbl_80249028 -/* 80249014 38 80 00 01 */ li r4, 1 -/* 80249018 81 83 00 00 */ lwz r12, 0(r3) -/* 8024901C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80249020 7D 89 03 A6 */ mtctr r12 -/* 80249024 4E 80 04 21 */ bctrl -lbl_80249028: -/* 80249028 38 00 00 00 */ li r0, 0 -/* 8024902C 90 1E 00 C4 */ stw r0, 0xc4(r30) -/* 80249030 80 7E 00 C8 */ lwz r3, 0xc8(r30) -/* 80249034 28 03 00 00 */ cmplwi r3, 0 -/* 80249038 41 82 00 18 */ beq lbl_80249050 -/* 8024903C 38 80 00 01 */ li r4, 1 -/* 80249040 81 83 00 00 */ lwz r12, 0(r3) -/* 80249044 81 8C 00 08 */ lwz r12, 8(r12) -/* 80249048 7D 89 03 A6 */ mtctr r12 -/* 8024904C 4E 80 04 21 */ bctrl -lbl_80249050: -/* 80249050 3B A0 00 00 */ li r29, 0 -/* 80249054 93 BE 00 C8 */ stw r29, 0xc8(r30) -/* 80249058 3B 60 00 00 */ li r27, 0 -lbl_8024905C: -/* 8024905C 7F 9E EA 14 */ add r28, r30, r29 -/* 80249060 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 80249064 28 03 00 00 */ cmplwi r3, 0 -/* 80249068 41 82 00 18 */ beq lbl_80249080 -/* 8024906C 38 80 00 01 */ li r4, 1 -/* 80249070 81 83 00 00 */ lwz r12, 0(r3) -/* 80249074 81 8C 00 08 */ lwz r12, 8(r12) -/* 80249078 7D 89 03 A6 */ mtctr r12 -/* 8024907C 4E 80 04 21 */ bctrl -lbl_80249080: -/* 80249080 38 00 00 00 */ li r0, 0 -/* 80249084 90 1C 00 0C */ stw r0, 0xc(r28) -/* 80249088 80 7C 00 28 */ lwz r3, 0x28(r28) -/* 8024908C 28 03 00 00 */ cmplwi r3, 0 -/* 80249090 41 82 00 24 */ beq lbl_802490B4 -/* 80249094 41 82 00 18 */ beq lbl_802490AC -/* 80249098 38 80 00 01 */ li r4, 1 -/* 8024909C 81 83 00 00 */ lwz r12, 0(r3) -/* 802490A0 81 8C 00 08 */ lwz r12, 8(r12) -/* 802490A4 7D 89 03 A6 */ mtctr r12 -/* 802490A8 4E 80 04 21 */ bctrl -lbl_802490AC: -/* 802490AC 38 00 00 00 */ li r0, 0 -/* 802490B0 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_802490B4: -/* 802490B4 3B 7B 00 01 */ addi r27, r27, 1 -/* 802490B8 2C 1B 00 03 */ cmpwi r27, 3 -/* 802490BC 3B BD 00 04 */ addi r29, r29, 4 -/* 802490C0 41 80 FF 9C */ blt lbl_8024905C -/* 802490C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802490C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802490CC 80 63 5C 74 */ lwz r3, 0x5c74(r3) -/* 802490D0 81 83 00 00 */ lwz r12, 0(r3) -/* 802490D4 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 802490D8 7D 89 03 A6 */ mtctr r12 -/* 802490DC 4E 80 04 21 */ bctrl -/* 802490E0 7F C3 F3 78 */ mr r3, r30 -/* 802490E4 38 80 00 00 */ li r4, 0 -/* 802490E8 4B FF 30 3D */ bl __dt__14dMsgScrnBase_cFv -/* 802490EC 7F E0 07 35 */ extsh. r0, r31 -/* 802490F0 40 81 00 0C */ ble lbl_802490FC -/* 802490F4 7F C3 F3 78 */ mr r3, r30 -/* 802490F8 48 08 5C 45 */ bl __dl__FPv -lbl_802490FC: -/* 802490FC 7F C3 F3 78 */ mr r3, r30 -/* 80249100 39 61 00 20 */ addi r11, r1, 0x20 -/* 80249104 48 11 91 1D */ bl _restgpr_27 -/* 80249108 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8024910C 7C 08 03 A6 */ mtlr r0 -/* 80249110 38 21 00 20 */ addi r1, r1, 0x20 -/* 80249114 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_tree/draw__14dMsgScrnTree_cFv.s b/asm/msg/scrn/d_msg_scrn_tree/draw__14dMsgScrnTree_cFv.s deleted file mode 100644 index 2bc8b758ac..0000000000 --- a/asm/msg/scrn/d_msg_scrn_tree/draw__14dMsgScrnTree_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80249270: -/* 80249270 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80249274 7C 08 02 A6 */ mflr r0 -/* 80249278 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024927C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80249280 93 C1 00 08 */ stw r30, 8(r1) -/* 80249284 7C 7E 1B 78 */ mr r30, r3 -/* 80249288 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024928C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80249290 83 E3 5F 50 */ lwz r31, 0x5f50(r3) -/* 80249294 7F E3 FB 78 */ mr r3, r31 -/* 80249298 81 9F 00 00 */ lwz r12, 0(r31) -/* 8024929C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802492A0 7D 89 03 A6 */ mtctr r12 -/* 802492A4 4E 80 04 21 */ bctrl -/* 802492A8 80 7E 00 04 */ lwz r3, 4(r30) -/* 802492AC C0 22 B3 58 */ lfs f1, lit_3949(r2) -/* 802492B0 FC 40 08 90 */ fmr f2, f1 -/* 802492B4 7F E4 FB 78 */ mr r4, r31 -/* 802492B8 48 0A FC 1D */ bl draw__9J2DScreenFffPC14J2DGrafContext -/* 802492BC 80 7E 00 44 */ lwz r3, 0x44(r30) -/* 802492C0 38 80 00 00 */ li r4, 0 -/* 802492C4 C0 22 B3 58 */ lfs f1, lit_3949(r2) -/* 802492C8 FC 40 08 90 */ fmr f2, f1 -/* 802492CC C0 62 B3 5C */ lfs f3, lit_3950(r2) -/* 802492D0 81 83 00 00 */ lwz r12, 0(r3) -/* 802492D4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802492D8 7D 89 03 A6 */ mtctr r12 -/* 802492DC 4E 80 04 21 */ bctrl -/* 802492E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802492E4 83 C1 00 08 */ lwz r30, 8(r1) -/* 802492E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802492EC 7C 08 03 A6 */ mtlr r0 -/* 802492F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802492F4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_tree/exec__14dMsgScrnTree_cFv.s b/asm/msg/scrn/d_msg_scrn_tree/exec__14dMsgScrnTree_cFv.s deleted file mode 100644 index 5bb7499aeb..0000000000 --- a/asm/msg/scrn/d_msg_scrn_tree/exec__14dMsgScrnTree_cFv.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_80249118: -/* 80249118 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8024911C 7C 08 02 A6 */ mflr r0 -/* 80249120 90 01 00 24 */ stw r0, 0x24(r1) -/* 80249124 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80249128 7C 7F 1B 78 */ mr r31, r3 -/* 8024912C C0 23 00 DC */ lfs f1, 0xdc(r3) -/* 80249130 C0 02 B3 5C */ lfs f0, lit_3950(r2) -/* 80249134 EC 01 00 2A */ fadds f0, f1, f0 -/* 80249138 D0 03 00 DC */ stfs f0, 0xdc(r3) -/* 8024913C 80 63 00 D0 */ lwz r3, 0xd0(r3) -/* 80249140 A8 03 00 06 */ lha r0, 6(r3) -/* 80249144 C0 5F 00 DC */ lfs f2, 0xdc(r31) -/* 80249148 C8 22 B3 68 */ lfd f1, lit_4053(r2) -/* 8024914C 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 80249150 90 61 00 0C */ stw r3, 0xc(r1) -/* 80249154 3C 00 43 30 */ lis r0, 0x4330 -/* 80249158 90 01 00 08 */ stw r0, 8(r1) -/* 8024915C C8 01 00 08 */ lfd f0, 8(r1) -/* 80249160 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80249164 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80249168 4C 41 13 82 */ cror 2, 1, 2 -/* 8024916C 40 82 00 1C */ bne lbl_80249188 -/* 80249170 90 61 00 0C */ stw r3, 0xc(r1) -/* 80249174 90 01 00 08 */ stw r0, 8(r1) -/* 80249178 C8 01 00 08 */ lfd f0, 8(r1) -/* 8024917C EC 00 08 28 */ fsubs f0, f0, f1 -/* 80249180 EC 02 00 28 */ fsubs f0, f2, f0 -/* 80249184 D0 1F 00 DC */ stfs f0, 0xdc(r31) -lbl_80249188: -/* 80249188 C0 1F 00 DC */ lfs f0, 0xdc(r31) -/* 8024918C 80 7F 00 D0 */ lwz r3, 0xd0(r31) -/* 80249190 D0 03 00 08 */ stfs f0, 8(r3) -/* 80249194 C0 3F 00 E0 */ lfs f1, 0xe0(r31) -/* 80249198 C0 02 B3 5C */ lfs f0, lit_3950(r2) -/* 8024919C EC 01 00 2A */ fadds f0, f1, f0 -/* 802491A0 D0 1F 00 E0 */ stfs f0, 0xe0(r31) -/* 802491A4 80 7F 00 D4 */ lwz r3, 0xd4(r31) -/* 802491A8 A8 03 00 06 */ lha r0, 6(r3) -/* 802491AC C0 5F 00 E0 */ lfs f2, 0xe0(r31) -/* 802491B0 C8 22 B3 68 */ lfd f1, lit_4053(r2) -/* 802491B4 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 802491B8 90 61 00 0C */ stw r3, 0xc(r1) -/* 802491BC 3C 00 43 30 */ lis r0, 0x4330 -/* 802491C0 90 01 00 08 */ stw r0, 8(r1) -/* 802491C4 C8 01 00 08 */ lfd f0, 8(r1) -/* 802491C8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802491CC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802491D0 4C 41 13 82 */ cror 2, 1, 2 -/* 802491D4 40 82 00 1C */ bne lbl_802491F0 -/* 802491D8 90 61 00 0C */ stw r3, 0xc(r1) -/* 802491DC 90 01 00 08 */ stw r0, 8(r1) -/* 802491E0 C8 01 00 08 */ lfd f0, 8(r1) -/* 802491E4 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802491E8 EC 02 00 28 */ fsubs f0, f2, f0 -/* 802491EC D0 1F 00 E0 */ stfs f0, 0xe0(r31) -lbl_802491F0: -/* 802491F0 C0 1F 00 E0 */ lfs f0, 0xe0(r31) -/* 802491F4 80 7F 00 D4 */ lwz r3, 0xd4(r31) -/* 802491F8 D0 03 00 08 */ stfs f0, 8(r3) -/* 802491FC 80 7F 00 04 */ lwz r3, 4(r31) -/* 80249200 48 0B 04 91 */ bl animation__9J2DScreenFv -/* 80249204 7F E3 FB 78 */ mr r3, r31 -/* 80249208 4B FF 33 6D */ bl isTalkNow__14dMsgScrnBase_cFv -/* 8024920C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80249210 41 82 00 1C */ beq lbl_8024922C -/* 80249214 7F E3 FB 78 */ mr r3, r31 -/* 80249218 C0 22 B3 5C */ lfs f1, lit_3950(r2) -/* 8024921C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80249220 81 8C 00 4C */ lwz r12, 0x4c(r12) -/* 80249224 7D 89 03 A6 */ mtctr r12 -/* 80249228 4E 80 04 21 */ bctrl -lbl_8024922C: -/* 8024922C 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 80249230 38 83 02 8C */ addi r4, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 80249234 C0 24 00 B0 */ lfs f1, 0xb0(r4) -/* 80249238 80 7F 00 08 */ lwz r3, 8(r31) -/* 8024923C 80 63 00 04 */ lwz r3, 4(r3) -/* 80249240 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 80249244 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 80249248 D0 23 00 D0 */ stfs f1, 0xd0(r3) -/* 8024924C 81 83 00 00 */ lwz r12, 0(r3) -/* 80249250 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80249254 7D 89 03 A6 */ mtctr r12 -/* 80249258 4E 80 04 21 */ bctrl -/* 8024925C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80249260 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80249264 7C 08 03 A6 */ mtlr r0 -/* 80249268 38 21 00 20 */ addi r1, r1, 0x20 -/* 8024926C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_tree/fukiAlpha__14dMsgScrnTree_cFf.s b/asm/msg/scrn/d_msg_scrn_tree/fukiAlpha__14dMsgScrnTree_cFf.s deleted file mode 100644 index 7f8b575ddc..0000000000 --- a/asm/msg/scrn/d_msg_scrn_tree/fukiAlpha__14dMsgScrnTree_cFf.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_802492F8: -/* 802492F8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802492FC 7C 08 02 A6 */ mflr r0 -/* 80249300 90 01 00 34 */ stw r0, 0x34(r1) -/* 80249304 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 80249308 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8024930C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80249310 48 11 8E C9 */ bl _savegpr_28 -/* 80249314 7C 7C 1B 78 */ mr r28, r3 -/* 80249318 FF E0 08 90 */ fmr f31, f1 -/* 8024931C 80 63 00 C4 */ lwz r3, 0xc4(r3) -/* 80249320 48 00 C4 B1 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 80249324 80 7C 00 08 */ lwz r3, 8(r28) -/* 80249328 3C 80 80 43 */ lis r4, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 8024932C 38 84 02 8C */ addi r4, r4, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -/* 80249330 C0 04 00 2C */ lfs f0, 0x2c(r4) -/* 80249334 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80249338 48 00 C4 99 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8024933C 80 7C 00 C8 */ lwz r3, 0xc8(r28) -/* 80249340 FC 20 F8 90 */ fmr f1, f31 -/* 80249344 48 00 C4 8D */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 80249348 3B A0 00 00 */ li r29, 0 -/* 8024934C 3B E0 00 00 */ li r31, 0 -lbl_80249350: -/* 80249350 7F DC FA 14 */ add r30, r28, r31 -/* 80249354 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 80249358 C0 1C 00 BC */ lfs f0, 0xbc(r28) -/* 8024935C EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80249360 48 00 C4 71 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 80249364 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80249368 28 03 00 00 */ cmplwi r3, 0 -/* 8024936C 41 82 00 10 */ beq lbl_8024937C -/* 80249370 C0 1C 00 BC */ lfs f0, 0xbc(r28) -/* 80249374 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80249378 48 00 C4 59 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_8024937C: -/* 8024937C 3B BD 00 01 */ addi r29, r29, 1 -/* 80249380 2C 1D 00 03 */ cmpwi r29, 3 -/* 80249384 3B FF 00 04 */ addi r31, r31, 4 -/* 80249388 41 80 FF C8 */ blt lbl_80249350 -/* 8024938C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 80249390 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 80249394 39 61 00 20 */ addi r11, r1, 0x20 -/* 80249398 48 11 8E 8D */ bl _restgpr_28 -/* 8024939C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802493A0 7C 08 03 A6 */ mtlr r0 -/* 802493A4 38 21 00 30 */ addi r1, r1, 0x30 -/* 802493A8 4E 80 00 20 */ blr diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 8f37b01fc9..34a243ee68 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -59,11 +59,15 @@ struct TVec3 { f32 y; f32 z; - /* TVec3(const Vec& i_vec) { - setTVec3f(&i_vec.x, &x); - } */ + // inline TVec3(const Vec& i_vec) { + // setTVec3f(&i_vec.x, &x); + // } - /* TVec3() {} */ + // inline TVec3(const TVec3& i_vec) { + // setTVec3f(&i_vec.x, &x); + // } + + // TVec3() {} operator Vec*() { return (Vec*)&x; } operator const Vec*() const { return (Vec*)&x; } @@ -80,6 +84,10 @@ struct TVec3 { z = z_; } + inline void add(const TVec3& b) { + C_VECAdd((Vec*)&x, (Vec*)&b.x, (Vec*)&x); + } + void zero() { x = y = z = 0.0f; } void mul(const TVec3& a, const TVec3& b) { @@ -104,6 +112,17 @@ struct TVec3 { }; } + inline TVec3& operator+=(const TVec3& b) { + add(b); + return *this; + } + + // inline TVec3 operator+(const TVec3& b) { + // TVec3 res(*(Vec*)this); + // res += b; + // return res; + // } + inline TVec3& operator=(const TVec3& b) { register f32* dst = &x; const register f32* src = &b.x; @@ -140,13 +159,14 @@ struct TVec3 { register f32 z; register f32 x_y; register f32* dst = &x; + register f32 zres; asm { psq_l x_y, 0(dst), 0, 0 psq_l z, 8(dst), 1, 0 ps_muls0 x_y, x_y, sc psq_st x_y, 0(dst), 0, 0 - ps_muls0 x_y, z, sc - psq_st x_y, 8(dst), 1, 0 + ps_muls0 zres, z, sc + psq_st zres, 8(dst), 1, 0 }; } }; diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 3d27dca8e4..c43cc89a51 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -357,11 +357,13 @@ public: /* 80280548 */ f32 getWidth(JPABaseEmitter const*) const; /* 80280568 */ f32 getHeight(JPABaseEmitter const*) const; int getAge() { return mAge; } + void setOffsetPosition(const JGeometry::TVec3& pos) { mOffsetPosition.set(pos); } + void getOffsetPosition(JGeometry::TVec3& pos) { pos.set(mOffsetPosition); } public: /* 0x00 */ Vec mPosition; /* 0x0C */ Vec mLocalPosition; - /* 0x18 */ Vec mOffsetPosition; + /* 0x18 */ JGeometry::TVec3 mOffsetPosition; /* 0x24 */ Vec mVelocity; /* 0x30 */ Vec mVelType1; /* 0x3C */ Vec mVelType0; diff --git a/include/Z2AudioLib/Z2SpeechMgr2.h b/include/Z2AudioLib/Z2SpeechMgr2.h index a262c768bf..d1e956bbcd 100644 --- a/include/Z2AudioLib/Z2SpeechMgr2.h +++ b/include/Z2AudioLib/Z2SpeechMgr2.h @@ -46,4 +46,8 @@ struct Z2SpeechMgr2 : public JASGlobalInstance { STATIC_ASSERT(sizeof(Z2SpeechMgr2) == 0x444); +inline Z2SpeechMgr2* Z2GetSpeechMgr2() { + return Z2SpeechMgr2::getInstance(); +} + #endif /* Z2SPEECHMGR2_H */ diff --git a/include/c/c_damagereaction.h b/include/c/c_damagereaction.h index 1f6b2871a3..f68bbd2e03 100644 --- a/include/c/c_damagereaction.h +++ b/include/c/c_damagereaction.h @@ -4,7 +4,7 @@ #include "dolphin/types.h" #include "JSystem/JParticle/JPAParticle.h" -class JPTraceParticleCallBack4 { +class JPTraceParticleCallBack4 /* : JPAParticleCallBack */ { public: /* 8001817C */ void execute(JPABaseEmitter*, JPABaseParticle*); /* 800182A4 */ void draw(JPABaseEmitter*, JPABaseParticle*); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 08c464b260..d28b2f3090 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -413,6 +413,7 @@ public: JKRArchive* getMsgDtArchive(int idx) { return mMsgDtArchive[idx]; } JKRArchive* getMsgArchive(int idx) { return mMsgArchive[idx]; } + JKRArchive* getMsgCommonArchive() { return mMsgCommonArchive; } JKRArchive* getMain2DArchive() { return mMain2DArchive; } JKRArchive* getAnmArchive() { return mAnmArchive; } JKRArchive* getCollectResArchive() { return mCollectResArchive; } @@ -1843,6 +1844,10 @@ inline JKRArchive* dComIfGp_getMsgArchive(int idx) { return g_dComIfG_gameInfo.play.getMsgArchive(idx); } +inline JKRArchive* dComIfGp_getMsgCommonArchive() { + return g_dComIfG_gameInfo.play.getMsgCommonArchive(); +} + inline void dComIfGp_setFieldMapArchive2(JKRArchive* arc) { g_dComIfG_gameInfo.play.setFieldMapArchive2(arc); } diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 2b1a57c796..a055b1b6f0 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -97,6 +97,7 @@ public: void offUseButton(int pButton) { mUseButton &= ~(u16)pButton; } u16 getOilGaugeBackUp() { return mOilGaugeBackUp; } u8 getWarpStatus() { return mWarpStatus; } + void setWarpStatus(u8 status) { mWarpStatus = status; } u8 getWarpRoomNo() { return mWarpInfo.mRoomNo; } u8 getWarpPlayerNo() { return mWarpInfo.mWarpPlayerNo; } cXyz& getWarpPos() { return mWarpInfo.mPosition; } @@ -274,6 +275,10 @@ inline void dMeter2Info_getStringKanji(u32 param_0, char* param_1, JMSMesgEntry_ g_meter2_info.getStringKanji(param_0, param_1, param_2); } +inline f32 dMeter2Info_getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, char* param_3) { + return g_meter2_info.getStringLength(param_0, param_1, param_2, param_3); +} + inline void dMeter2Info_setHotSpringTimer(u8 time) { g_meter2_info.setHotSpringTimer(time); } @@ -290,6 +295,10 @@ inline u8 dMeter2Info_getWarpStatus() { return g_meter2_info.getWarpStatus(); } +inline void dMeter2Info_setWarpStatus(u8 status) { + return g_meter2_info.setWarpStatus(status); +} + inline u8 dMeter2Info_getWarpRoomNo() { return g_meter2_info.getWarpRoomNo(); } diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index ace935de8b..a9b4603e02 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -118,7 +118,7 @@ public: /* 802380C4 */ static void changeGroup(s16); /* 8023806C */ static void demoMessageGroup(); /* 80238098 */ void endFlowGroup(); - /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, + /* 802380F4 */ static bool getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, char*, char*, s16*); /* 80238174 */ static u8* getMsgDtPtr(); /* 80238188 */ static void setProcessID(unsigned int); @@ -322,6 +322,16 @@ inline void dMsgObject_setTalkActor(fopAc_ac_c* actor) { } } +inline bool dMsgObject_getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2, + JUTFont* param_3, COutFont_c* param_4, char* param_5, + char* param_6, char* param_7, s16* param_8) { + return dMsgObject_c::getString( + param_0, param_1, param_2, param_3, + param_4, param_5, param_6, param_7, + param_8 + ); +} + inline void dMsgObject_onKillMessageFlag() { dMsgObject_c::onKillMessageFlag(); } @@ -508,7 +518,7 @@ public: /* 0x2F2 */ u8 mStageTitleDisplayType; /* 0x2F4 */ s16 mMsgIndex; /* 0x2F6 */ s16 mFlowIndex; - /* 0x2F8 */ u16 mSaveSeqMsgIndex; + /* 0x2F8 */ s16 mSaveSeqMsgIndex; /* 0x2FA */ u16 mSelWeightFrame; /* 0x2FC */ u16 mBoxAppearBound; /* 0x2FE */ u16 mBoxAppearFrame; diff --git a/include/d/msg/d_msg_string.h b/include/d/msg/d_msg_string.h index 09ea58b379..708d25cc95 100644 --- a/include/d/msg/d_msg_string.h +++ b/include/d/msg/d_msg_string.h @@ -19,6 +19,10 @@ public: /* 80249DE4 */ virtual void drawOutFontLocal(J2DTextBox*, f32); /* 80249ED0 */ virtual void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8); + void drawOutFont(J2DTextBox* param_0, f32 param_1) { + drawOutFontLocal(param_0, param_1); + } + private: /* 0x24 */ COutFont_c* mpOutFont; /* 0x28 */ u8 field_0x28; diff --git a/include/dolphin/mtx/vec.h b/include/dolphin/mtx/vec.h index 0167c0aad7..9f78769cc6 100644 --- a/include/dolphin/mtx/vec.h +++ b/include/dolphin/mtx/vec.h @@ -33,6 +33,24 @@ f32 PSVECDistance(const Vec* a, const Vec* b); void C_VECHalfAngle(const Vec* a, const Vec* b, Vec* half); void C_VECReflect(const Vec* src, const Vec* normal, Vec* dst); +inline void C_VECAdd(register const Vec* a, register const Vec* b, register Vec* ab) { + register f32 axy; + register f32 bxy; + register f32 az; + register f32 sumz; + register f32 bz; + asm { + psq_l axy, 0(a), 0, 0 + psq_l bxy, 0(b), 0, 0 + ps_add axy, axy, bxy + psq_st axy, 0(ab), 0, 0 + psq_l az, 8(a), 1, 0 + psq_l bz, 8(b), 1, 0 + ps_add sumz, az, bz + psq_st sumz, 8(ab), 1, 0 + } +} + inline f32 C_VECSquareMag(const Vec* v) { register f32 x_y; register f32 z; diff --git a/include/msg/scrn/d_msg_scrn_3select.h b/include/msg/scrn/d_msg_scrn_3select.h index 6128418e6a..7af3604da4 100644 --- a/include/msg/scrn/d_msg_scrn_3select.h +++ b/include/msg/scrn/d_msg_scrn_3select.h @@ -3,4 +3,35 @@ #include "dolphin/types.h" +struct dMsgScrn3Select_c { + /* 802390B4 */ dMsgScrn3Select_c(); + /* 802398CC */ virtual ~dMsgScrn3Select_c(); + /* 80239C64 */ bool isSelect(); + /* 80239C78 */ void setString(char*, char*, char*); + /* 80239D08 */ void setRubyString(char*, char*, char*); + /* 80239D98 */ void translate(f32, f32); + /* 80239DD4 */ void draw(f32, f32); + /* 8023A094 */ void selAnimeInit(u8, u8, u8, f32, u8); + /* 8023A398 */ void selAnimeMove(u8, u8, bool); + /* 8023A680 */ bool selAnimeEnd(); + /* 8023A934 */ f32 getTextBoxWidth(); + /* 8023A94C */ f32 getFontSize(); + /* 8023A95C */ void getRubyFontSize(); + /* 8023A97C */ f32 getCharSpace(); + /* 8023A98C */ void getRubyCharSpace(); + /* 8023A9AC */ void getTextBoxGlobalPosX(int); + /* 8023A9D8 */ void getTextBoxGlobalPosY(int); + /* 8023AA04 */ void open1Proc(); + /* 8023AAF4 */ void open2Proc(); + /* 8023AC14 */ void waitProc(); + /* 8023AC44 */ void selectProc(); + /* 8023AE68 */ void changeProc(); + /* 8023B148 */ void closeProc(); + /* 8023B228 */ void selectScale(); + /* 8023B4AC */ void selectTrans(); + /* 8023B870 */ void selectAnimeTransform(int); + + u8 field_0x0[0x114]; +}; + #endif /* MSG_SCRN_D_MSG_SCRN_3SELECT_H */ diff --git a/include/msg/scrn/d_msg_scrn_base.h b/include/msg/scrn/d_msg_scrn_base.h index 9081f33fea..26ac093523 100644 --- a/include/msg/scrn/d_msg_scrn_base.h +++ b/include/msg/scrn/d_msg_scrn_base.h @@ -46,7 +46,7 @@ public: /* 0x48 */ dDlst_base_c* field_0x48; /* 0x4C */ u32 field_0x4c; /* 0x50 */ CharInfo_c* mCharInfoPtr; - /* 0x54 */ u32 field_0x54; + /* 0x54 */ JUTFont* field_0x54; /* 0x58 */ J2DTextBox::TFontSize mFontSize; /* 0x60 */ f32 mRubySize; /* 0x64 */ f32 mTextBoxPosX; diff --git a/include/msg/scrn/d_msg_scrn_explain.h b/include/msg/scrn/d_msg_scrn_explain.h index 216e7004af..8743716643 100644 --- a/include/msg/scrn/d_msg_scrn_explain.h +++ b/include/msg/scrn/d_msg_scrn_explain.h @@ -27,9 +27,11 @@ public: /* 8023E43C */ void close_init(); /* 8023E448 */ void close_proc(); /* 8023E558 */ bool openExplain(u32, u8, u8, u8, bool); - /* 8023E5CC */ void getAlphaRatio(); - /* 8023E640 */ void checkTriggerA(); - /* 8023E654 */ void checkTriggerB(); + /* 8023E5CC */ f32 getAlphaRatio(); + /* 8023E640 */ bool checkTriggerA(); + /* 8023E654 */ bool checkTriggerB(); + + typedef void (dMsgScrnExplain_c::*ProcFunc)(); /* 8023D538 */ virtual ~dMsgScrnExplain_c(); diff --git a/include/msg/scrn/d_msg_scrn_tree.h b/include/msg/scrn/d_msg_scrn_tree.h index bbf67cf25f..dd3ddeebda 100644 --- a/include/msg/scrn/d_msg_scrn_tree.h +++ b/include/msg/scrn/d_msg_scrn_tree.h @@ -2,5 +2,29 @@ #define MSG_SCRN_D_MSG_SCRN_TREE_H #include "dolphin/types.h" +#include "msg/scrn/d_msg_scrn_base.h" + +struct JUTFont; +struct JKRExpHeap; + +struct dMsgScrnTree_c : public dMsgScrnBase_c { + /* 80248954 */ dMsgScrnTree_c(JUTFont*, JKRExpHeap*); + /* 80248F14 */ virtual ~dMsgScrnTree_c(); + /* 80249118 */ void exec(); + /* 80249270 */ void draw(); + /* 802492F8 */ void fukiAlpha(f32); + /* 802493AC */ void fukiScale(f32); + /* 802493B0 */ void fukiTrans(f32, f32); + + /* 0xC4 */ CPaneMgr* field_0xc4; + /* 0xC8 */ CPaneMgr* field_0xc8; + /* 0xCC */ J2DAnmTransform* field_0xcc; + /* 0xD0 */ J2DAnmTextureSRTKey* field_0xd0; + /* 0xD4 */ J2DAnmTextureSRTKey* field_0xd4; + /* 0xD8 */ JKRExpHeap* field_0xd8; + /* 0xDC */ f32 field_0xdc; + /* 0xDC */ f32 field_0xe0; + +}; #endif /* MSG_SCRN_D_MSG_SCRN_TREE_H */ diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index 8116bd5d95..656c272dac 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -71,17 +71,25 @@ SECTION_SDATA2 static f64 lit_3736 = 4503599627370496.0 /* cast u32 to float */; /* 8001817C-800182A4 012ABC 0128+00 1/0 0/0 0/0 .text * execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle */ +// Matches with TVec3 ctors #ifdef NONMATCHING void JPTraceParticleCallBack4::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - int age = param_1->getAge(); + u32 age = param_1->getAge(); if (age != 0) { - JGeometry::TVec3 vec1; - JGeometry::TVec3 vec2; + Vec* user_work = (Vec*)param_0->getUserWork(); + f32 fVar1 = (25.0f - age) / 25.0f; + if (fVar1 < 0.0f) { + fVar1 = 0.0f; + } + JGeometry::TVec3 vec1(user_work[age]); + vec1.scale(0.3f * fVar1); + JGeometry::TVec3 vec2(user_work[0]); + vec2.scale(0.5f * fVar1); JGeometry::TVec3 vec3; - void* user_work = param_0->getUserWork(); - user_work[age*0x0C]; - param_1->setOffsetPosition(param_1->getOffsetPosition() + ) + param_1->getOffsetPosition(vec3); + vec3.add(vec1 + vec2); + param_1->setOffsetPosition(vec3); } } #else @@ -129,6 +137,10 @@ SECTION_DATA extern void* __vt__24JPTraceParticleCallBack4[5] = { /* 80018328-80018388 012C68 0060+00 2/1 0/0 0/0 .text __dt__24JPTraceParticleCallBack4Fv */ +// Needs JPAParticleCallBack inheritance and function order issues in the file +#ifdef NONMATCHING +JPTraceParticleCallBack4::~JPTraceParticleCallBack4() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -137,7 +149,7 @@ asm JPTraceParticleCallBack4::~JPTraceParticleCallBack4() { #include "asm/c/c_damagereaction/__dt__24JPTraceParticleCallBack4Fv.s" } #pragma pop - +#endif /* ############################################################################################## */ /* 803A357C-803A3590 00069C 0014+00 1/1 3/3 0/0 .data __vt__19JPAParticleCallBack */ SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = { diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index 9b6ba08756..d77c7c6800 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -1662,7 +1662,7 @@ asm void dMsgObject_c::changeGroup(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2, +asm bool dMsgObject_c::getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2, JUTFont* param_3, COutFont_c* param_4, char* param_5, char* param_6, char* param_7, s16* param_8) { nofralloc diff --git a/src/msg/scrn/d_msg_scrn_3select.cpp b/src/msg/scrn/d_msg_scrn_3select.cpp index 3e64c33f5e..79b4cfcca8 100644 --- a/src/msg/scrn/d_msg_scrn_3select.cpp +++ b/src/msg/scrn/d_msg_scrn_3select.cpp @@ -25,35 +25,6 @@ struct dSelect_cursor_c { /* 801952A0 */ void setAlphaRate(f32); }; -struct dMsgScrn3Select_c { - /* 802390B4 */ dMsgScrn3Select_c(); - /* 802398CC */ ~dMsgScrn3Select_c(); - /* 80239C64 */ void isSelect(); - /* 80239C78 */ void setString(char*, char*, char*); - /* 80239D08 */ void setRubyString(char*, char*, char*); - /* 80239D98 */ void translate(f32, f32); - /* 80239DD4 */ void draw(f32, f32); - /* 8023A094 */ void selAnimeInit(u8, u8, u8, f32, u8); - /* 8023A398 */ void selAnimeMove(u8, u8, bool); - /* 8023A680 */ void selAnimeEnd(); - /* 8023A934 */ void getTextBoxWidth(); - /* 8023A94C */ void getFontSize(); - /* 8023A95C */ void getRubyFontSize(); - /* 8023A97C */ void getCharSpace(); - /* 8023A98C */ void getRubyCharSpace(); - /* 8023A9AC */ void getTextBoxGlobalPosX(int); - /* 8023A9D8 */ void getTextBoxGlobalPosY(int); - /* 8023AA04 */ void open1Proc(); - /* 8023AAF4 */ void open2Proc(); - /* 8023AC14 */ void waitProc(); - /* 8023AC44 */ void selectProc(); - /* 8023AE68 */ void changeProc(); - /* 8023B148 */ void closeProc(); - /* 8023B228 */ void selectScale(); - /* 8023B4AC */ void selectTrans(); - /* 8023B870 */ void selectAnimeTransform(int); -}; - struct JKRFileLoader { /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); }; @@ -504,7 +475,7 @@ asm J2DAnmColorKey::~J2DAnmColorKey() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgScrn3Select_c::isSelect() { +asm bool dMsgScrn3Select_c::isSelect() { nofralloc #include "asm/msg/scrn/d_msg_scrn_3select/isSelect__17dMsgScrn3Select_cFv.s" } @@ -602,7 +573,7 @@ SECTION_SDATA2 static f32 lit_4434 = 199.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgScrn3Select_c::selAnimeEnd() { +asm bool dMsgScrn3Select_c::selAnimeEnd() { nofralloc #include "asm/msg/scrn/d_msg_scrn_3select/selAnimeEnd__17dMsgScrn3Select_cFv.s" } @@ -612,7 +583,7 @@ asm void dMsgScrn3Select_c::selAnimeEnd() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgScrn3Select_c::getTextBoxWidth() { +asm f32 dMsgScrn3Select_c::getTextBoxWidth() { nofralloc #include "asm/msg/scrn/d_msg_scrn_3select/getTextBoxWidth__17dMsgScrn3Select_cFv.s" } @@ -623,7 +594,7 @@ asm void dMsgScrn3Select_c::getTextBoxWidth() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgScrn3Select_c::getFontSize() { +asm f32 dMsgScrn3Select_c::getFontSize() { nofralloc #include "asm/msg/scrn/d_msg_scrn_3select/getFontSize__17dMsgScrn3Select_cFv.s" } @@ -644,7 +615,7 @@ asm void dMsgScrn3Select_c::getRubyFontSize() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgScrn3Select_c::getCharSpace() { +asm f32 dMsgScrn3Select_c::getCharSpace() { nofralloc #include "asm/msg/scrn/d_msg_scrn_3select/getCharSpace__17dMsgScrn3Select_cFv.s" } diff --git a/src/msg/scrn/d_msg_scrn_explain.cpp b/src/msg/scrn/d_msg_scrn_explain.cpp index 0e3f1de984..df57a1afa1 100644 --- a/src/msg/scrn/d_msg_scrn_explain.cpp +++ b/src/msg/scrn/d_msg_scrn_explain.cpp @@ -4,10 +4,19 @@ // #include "msg/scrn/d_msg_scrn_explain.h" +#include "msg/scrn/d_msg_scrn_arrow.h" +#include "msg/scrn/d_msg_scrn_3select.h" #include "MSL_C/stdio.h" #include "d/com/d_com_inf_game.h" #include "d/meter/d_meter2_info.h" -#include "dol2asm.h" +#include "d/msg/d_msg_object.h" +#include "d/msg/d_msg_out_font.h" +#include "d/msg/d_msg_string.h" +#include "d/pane/d_pane_class.h" +#include "d/d_lib.h" +#include "m_Do/m_Do_controller_pad.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J2DGraph/J2DTextBox.h" #include "dolphin/os/OS.h" #include "dolphin/types.h" @@ -15,371 +24,228 @@ // Types: // -struct dMsgString_c { - /* 80249C20 */ dMsgString_c(); - /* 80249D28 */ ~dMsgString_c(); -}; - -struct dMsgScrnArrow_c { - /* 8023B9B4 */ dMsgScrnArrow_c(); - /* 8023BDC0 */ void draw(); - /* 8023BDF8 */ void setPos(f32, f32); - /* 8023BE34 */ void arwAnimeInit(); -}; - -struct dMsgScrn3Select_c { - /* 802390B4 */ dMsgScrn3Select_c(); - /* 80239C64 */ void isSelect(); - /* 80239C78 */ void setString(char*, char*, char*); - /* 80239D08 */ void setRubyString(char*, char*, char*); - /* 80239D98 */ void translate(f32, f32); - /* 80239DD4 */ void draw(f32, f32); - /* 8023A094 */ void selAnimeInit(u8, u8, u8, f32, u8); - /* 8023A398 */ void selAnimeMove(u8, u8, bool); - /* 8023A680 */ void selAnimeEnd(); - /* 8023A934 */ void getTextBoxWidth(); - /* 8023A94C */ void getFontSize(); - /* 8023A97C */ void getCharSpace(); -}; - -struct dMsgObject_c { - /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, - char*, char*, s16*); -}; - // // Forward References: // -extern "C" void __ct__17dMsgScrnExplain_cFP9STControlUcbUc(); -extern "C" void __dt__17dMsgScrnExplain_cFv(); -extern "C" void move__17dMsgScrnExplain_cFv(); -extern "C" void draw__17dMsgScrnExplain_cFP13J2DOrthoGraph(); -extern "C" void wait_init__17dMsgScrnExplain_cFv(); -extern "C" void wait_proc__17dMsgScrnExplain_cFv(); -extern "C" void open_request_init__17dMsgScrnExplain_cFv(); -extern "C" void open_request_proc__17dMsgScrnExplain_cFv(); -extern "C" void open_init__17dMsgScrnExplain_cFv(); -extern "C" void open_proc__17dMsgScrnExplain_cFv(); -extern "C" void move_init__17dMsgScrnExplain_cFv(); -extern "C" void move_proc__17dMsgScrnExplain_cFv(); -extern "C" void move_select_init__17dMsgScrnExplain_cFv(); -extern "C" void move_select_proc__17dMsgScrnExplain_cFv(); -extern "C" void close_init__17dMsgScrnExplain_cFv(); -extern "C" void close_proc__17dMsgScrnExplain_cFv(); -extern "C" void openExplain__17dMsgScrnExplain_cFUlUcUcUcb(); -extern "C" void getAlphaRatio__17dMsgScrnExplain_cFv(); -extern "C" void checkTriggerA__17dMsgScrnExplain_cFv(); -extern "C" void checkTriggerB__17dMsgScrnExplain_cFv(); -extern "C" void __sinit_d_msg_scrn_explain_cpp(); -extern "C" extern char const* const msg_scrn_d_msg_scrn_explain__stringBase0; - // // External References: // -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void checkTrigger__9STControlFv(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void getStringLength__13dMeter2Info_cFP7JUTFontffPc(); -extern "C" void dMeter2Info_set2DVibrationM__Fv(); -extern "C" void __ct__10COutFont_cFUc(); -extern "C" void -getString__12dMsgObject_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cPcPcPcPs(); -extern "C" void __ct__17dMsgScrn3Select_cFv(); -extern "C" void isSelect__17dMsgScrn3Select_cFv(); -extern "C" void setString__17dMsgScrn3Select_cFPcPcPc(); -extern "C" void setRubyString__17dMsgScrn3Select_cFPcPcPc(); -extern "C" void translate__17dMsgScrn3Select_cFff(); -extern "C" void draw__17dMsgScrn3Select_cFff(); -extern "C" void selAnimeInit__17dMsgScrn3Select_cFUcUcUcfUc(); -extern "C" void selAnimeMove__17dMsgScrn3Select_cFUcUcb(); -extern "C" void selAnimeEnd__17dMsgScrn3Select_cFv(); -extern "C" void getTextBoxWidth__17dMsgScrn3Select_cFv(); -extern "C" void getFontSize__17dMsgScrn3Select_cFv(); -extern "C" void getCharSpace__17dMsgScrn3Select_cFv(); -extern "C" void __ct__15dMsgScrnArrow_cFv(); -extern "C" void draw__15dMsgScrnArrow_cFv(); -extern "C" void setPos__15dMsgScrnArrow_cFff(); -extern "C" void arwAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void setTextCount__12Z2SpeechMgr2Fs(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getBounds__7J2DPaneFv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void __ct__10J2DPictureFPC7ResTIMG(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; +extern dMsgObject_HIO_c g_MsgObject_HIO_c; // // Declarations: // /* ############################################################################################## */ -/* 80399910-80399910 025F70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399910 = "zelda_message_window_new.blo"; -SECTION_DEAD static char const* const stringBase_8039992D = - "zelda_message_window_text_save_road.blo"; -SECTION_DEAD static char const* const stringBase_80399955 = "zelda_message_window_text.blo"; -SECTION_DEAD static char const* const stringBase_80399973 = ""; -SECTION_DEAD static char const* const stringBase_80399974 = "tt_block8x8.bti"; -#pragma pop /* 803C0E40-803C0E4C 01DF60 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803C0E4C-803C0E58 -00001 000C+00 0/1 0/0 0/0 .data @3819 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3819[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_init__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0E58-803C0E64 -00001 000C+00 0/1 0/0 0/0 .data @3820 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3820[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)open_request_init__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0E64-803C0E70 -00001 000C+00 0/1 0/0 0/0 .data @3821 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3821[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)open_init__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0E70-803C0E7C -00001 000C+00 0/1 0/0 0/0 .data @3822 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3822[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)move_init__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0E7C-803C0E88 -00001 000C+00 0/1 0/0 0/0 .data @3823 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3823[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)move_select_init__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0E88-803C0E94 -00001 000C+00 0/1 0/0 0/0 .data @3824 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3824[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)close_init__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0E94-803C0EDC 01DFB4 0048+00 1/2 0/0 0/0 .data init_process */ -SECTION_DATA static u8 init_process[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dMsgScrnExplain_c::ProcFunc init_process[6] = { + &dMsgScrnExplain_c::wait_init, &dMsgScrnExplain_c::open_request_init, &dMsgScrnExplain_c::open_init, + &dMsgScrnExplain_c::move_init, &dMsgScrnExplain_c::move_select_init, &dMsgScrnExplain_c::close_init, }; -/* 803C0EDC-803C0EE8 -00001 000C+00 0/1 0/0 0/0 .data @3825 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3825[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_proc__17dMsgScrnExplain_cFv, +static dMsgScrnExplain_c::ProcFunc move_process[6] = { + &dMsgScrnExplain_c::wait_proc, &dMsgScrnExplain_c::open_request_proc, &dMsgScrnExplain_c::open_proc, + &dMsgScrnExplain_c::move_proc, &dMsgScrnExplain_c::move_select_proc, &dMsgScrnExplain_c::close_proc, }; -#pragma pop - -/* 803C0EE8-803C0EF4 -00001 000C+00 0/1 0/0 0/0 .data @3826 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3826[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)open_request_proc__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0EF4-803C0F00 -00001 000C+00 0/1 0/0 0/0 .data @3827 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3827[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)open_proc__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0F00-803C0F0C -00001 000C+00 0/1 0/0 0/0 .data @3828 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3828[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)move_proc__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0F0C-803C0F18 -00001 000C+00 0/1 0/0 0/0 .data @3829 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3829[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)move_select_proc__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0F18-803C0F24 -00001 000C+00 0/1 0/0 0/0 .data @3830 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3830[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)close_proc__17dMsgScrnExplain_cFv, -}; -#pragma pop - -/* 803C0F24-803C0F6C 01E044 0048+00 1/2 0/0 0/0 .data move_process */ -SECTION_DATA static u8 move_process[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 803C0F6C-803C0F78 01E08C 000C+00 2/2 0/0 0/0 .data __vt__17dMsgScrnExplain_c */ -SECTION_DATA extern void* __vt__17dMsgScrnExplain_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dMsgScrnExplain_cFv, -}; - -/* 80454BB8-80454BBC 0031B8 0004+00 5/5 0/0 0/0 .sdata2 @3978 */ -SECTION_SDATA2 static f32 lit_3978 = 608.0f; - -/* 80454BBC-80454BC0 0031BC 0004+00 1/1 0/0 0/0 .sdata2 @3979 */ -SECTION_SDATA2 static f32 lit_3979 = -10.0f; - -/* 80454BC0-80454BC4 0031C0 0004+00 5/5 0/0 0/0 .sdata2 @3980 */ -SECTION_SDATA2 static u8 lit_3980[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454BC4-80454BC8 0031C4 0004+00 1/1 0/0 0/0 .sdata2 @3981 */ -SECTION_SDATA2 static f32 lit_3981 = -190.0f; /* 8023CC88-8023D538 2375C8 08B0+00 0/0 2/2 0/0 .text __ct__17dMsgScrnExplain_cFP9STControlUcbUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* param_0, u8 param_1, bool param_2, u8 param_3) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/__ct__17dMsgScrnExplain_cFP9STControlUcbUc.s" +dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* param_0, u8 param_1, bool param_2, u8 param_3) { + field_0x44 = param_0; + field_0x54 = 0; + field_0x5c = 0; + field_0x64 = 0; + mSelCursor = 0; + field_0x62 = 0xff; + field_0x63 = 0; + mStatus = 0; + field_0x5a = 0; + mForceSelect = 0; + field_0x58 = 1; + field_0x66 = param_1; + mKeyWaitTimer = 0; + field_0x67 = param_3; + mpString_c = new dMsgString_c(); + mpOutFont = new COutFont_c(0); + mpOutFont->createPane(); + mpScreen = new J2DScreen(); + mpScreen->setPriority("zelda_message_window_new.blo", 0x20000, dComIfGp_getMsgArchive(1)); + dPaneClass_showNullPane(mpScreen); + mpTxScreen = new J2DScreen(); + field_0x48 = 608.0f; + + if (param_1 == 1 || param_1 == 3) { + mpTxScreen->setPriority("zelda_message_window_text_save_road.blo", 0x20000, dComIfGp_getMsgCommonArchive()); + dPaneClass_showNullPane(mpTxScreen); + mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_3line', 0, NULL); + mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL); + field_0x10[0] = NULL; + field_0x10[1] = NULL; + mpTxScreen->search('n_3line')->show(); + mpTxScreen->search('n_3fline')->hide(); + mpTxScreen->search('n_e4line')->hide(); + field_0x50 = -10.0f; + field_0x4c = 0.0f; + } else { + mpTxScreen->setPriority("zelda_message_window_text.blo", 0x20000, dComIfGp_getMsgCommonArchive()); + dPaneClass_showNullPane(mpTxScreen); + mpScreen->search('n_all')->scale(g_MsgObject_HIO_c.mBoxTalkScaleX, g_MsgObject_HIO_c.mBoxTalkScaleY); + field_0x50 = -10.0f; + mpTm_c[0] = new CPaneMgr(mpTxScreen, 'mg_e4lin', 0, NULL); + mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL); + field_0x10[0] = NULL; + field_0x10[1] = NULL; + mpTxScreen->search('n_3line')->hide(); + mpTxScreen->search('n_3fline')->hide(); + mpTxScreen->search('n_e4line')->show(); + if (param_1 == 2 || param_1 == 4) { + field_0x4c = 0.0f; + } else { + field_0x4c = -190.0f; + } + } + + f32 lineSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getLineSpace(); + for (int i = 0; i < 2; i++) { + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, ""); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(lineSpace); + if (field_0x10[i] != NULL) { + ((J2DTextBox*)field_0x10[i]->getPanePtr())->setFont(mDoExt_getMesgFont()); + ((J2DTextBox*)field_0x10[i]->getPanePtr())->setString(0x200, ""); + ((J2DTextBox*)field_0x10[i]->getPanePtr())->setLineSpace(lineSpace); + } + } + mpScreen->search('mg_null')->move( + g_MsgObject_HIO_c.mTextPosX + mpScreen->search('mg_null')->getBounds().i.x, + g_MsgObject_HIO_c.mTextPosY + mpScreen->search('mg_null')->getBounds().i.y + ); + mpArw_c = new CPaneMgr(mpScreen, 'set_ya_n', 0, NULL); + mpMg_c[0] = new CPaneMgr(mpScreen, 'mg_null', 0, NULL); + mpMg_c[1] = new CPaneMgr(mpTxScreen, 'mg_null', 0, NULL); + mpRoot_c[0] = new CPaneMgr(mpScreen, 'ROOT', 2, NULL); + mpRoot_c[1] = new CPaneMgr(mpTxScreen, 'ROOT', 2, NULL); + + if (param_2 == true) { + ResTIMG* texResource = (ResTIMG*) dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti"); + mpBackTex = new J2DPicture(texResource); + mpBackTex->setBlackWhite(JUtility::TColor::TColor(0,0,0,0), JUtility::TColor::TColor(0,0,0,0xff)); + mpBackTex->setAlpha(0); + } else { + mpBackTex = NULL; + } + mpArrow_c = new dMsgScrnArrow_c(); + if (param_0 != NULL) { + mpSelect_c = new dMsgScrn3Select_c(); + } else { + mpSelect_c = NULL; + } + Vec vtxCenter = mpArw_c->getGlobalVtxCenter(mpArw_c->mPane, false, 0); + mpArrow_c->setPos(vtxCenter.x, vtxCenter.y); + Vec vtxCenter2 = mpMg_c[0]->getGlobalVtxCenter(mpMg_c[0]->mPane, false, 0); + mpMg_c[1]->translate(vtxCenter2.x + field_0x50, vtxCenter2.y); } -#pragma pop /* 8023D538-8023D7D8 237E78 02A0+00 1/0 0/0 0/0 .text __dt__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dMsgScrnExplain_c::~dMsgScrnExplain_c() { -extern "C" asm void __dt__17dMsgScrnExplain_cFv() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s" +dMsgScrnExplain_c::~dMsgScrnExplain_c() { + delete mpString_c; + mpString_c = NULL; + delete mpOutFont; + mpOutFont = NULL; + delete mpScreen; + mpScreen = NULL; + delete mpTxScreen; + mpTxScreen = NULL; + delete mpArw_c; + mpArw_c = NULL; + for (int i = 0; i < 2; i++) { + delete mpTm_c[i]; + mpTm_c[i] = NULL; + if (field_0x10[i] != NULL) { + delete field_0x10[i]; + field_0x10[i] = NULL; + } + delete mpMg_c[i]; + mpMg_c[i] = NULL; + delete mpRoot_c[i]; + mpRoot_c[i] = NULL; + } + if (mpBackTex != NULL) { + delete mpBackTex; + mpBackTex = NULL; + } + if (mpArrow_c != NULL) { + delete mpArrow_c; + mpArrow_c = NULL; + } + if (mpSelect_c) { + delete mpSelect_c; + mpSelect_c = NULL; + } + dComIfGp_getMsgArchive(0)->removeResourceAll(); + dComIfGp_getMsgArchive(1)->removeResourceAll(); + dComIfGp_getMsgCommonArchive()->removeResourceAll(); } -#pragma pop /* ############################################################################################## */ -/* 80454BC8-80454BCC 0031C8 0004+00 1/1 0/0 0/0 .sdata2 @4078 */ -SECTION_SDATA2 static f32 lit_4078 = -35.0f; /* 8023D7D8-8023D918 238118 0140+00 0/0 4/4 0/0 .text move__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::move() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/move__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::move() { + u8 currentStatus = mStatus; + f32 fVar2 = 0.0f; + if (field_0x66 == 2) { + fVar2 = -35.0f; + } + for (int i = 0; i < 2; i++) { + mpRoot_c[i]->paneTrans(field_0x48 + g_MsgObject_HIO_c.mChoicePos[0][6], + field_0x4c + g_MsgObject_HIO_c.mBoxPos[0][6] + fVar2); + } + (this->*move_process[mStatus])(); + if (currentStatus != mStatus) { + (this->*init_process[mStatus])(); + } + mpScreen->search('n_all')->scale(g_MsgObject_HIO_c.mBoxTalkScaleX, g_MsgObject_HIO_c.mBoxTalkScaleY); } -#pragma pop /* ############################################################################################## */ -/* 80454BCC-80454BD0 0031CC 0004+00 1/1 0/0 0/0 .sdata2 @4120 */ -SECTION_SDATA2 static f32 lit_4120 = 448.0f; - -/* 80454BD0-80454BD4 0031D0 0004+00 4/4 0/0 0/0 .sdata2 @4121 */ -SECTION_SDATA2 static f32 lit_4121 = -1.0f; - -/* 80454BD4-80454BD8 0031D4 0004+00 1/1 0/0 0/0 .sdata2 @4122 */ -SECTION_SDATA2 static f32 lit_4122 = -100.0f; - -/* 80454BD8-80454BDC 0031D8 0004+00 1/1 0/0 0/0 .sdata2 @4123 */ -SECTION_SDATA2 static f32 lit_4123 = 486.0f; - -/* 80454BDC-80454BE0 0031DC 0004+00 1/1 0/0 0/0 .sdata2 @4124 */ -SECTION_SDATA2 static f32 lit_4124 = 209.0f; /* 8023D918-8023DAD0 238258 01B8+00 0/0 3/3 0/0 .text draw__17dMsgScrnExplain_cFP13J2DOrthoGraph */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::draw(J2DOrthoGraph* param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/draw__17dMsgScrnExplain_cFP13J2DOrthoGraph.s" +void dMsgScrnExplain_c::draw(J2DOrthoGraph* param_0) { + if (mStatus == 0 || mStatus == 1) { + return; + } + if (mpBackTex != NULL) { + mpBackTex->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false); + } + if (field_0x66 != 2 && field_0x66 != 3) { + mpScreen->draw(0.0f, 0.0f, (J2DGrafContext*)param_0); + } + char acStack_228[512]; + strcpy(acStack_228, ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr()); + mpTxScreen->draw(0.0f, 0.0f, (J2DGrafContext*)param_0); + mpString_c->getString(field_0x54, (J2DTextBox*)mpTm_c[0]->getPanePtr(), NULL, NULL, NULL, 8); + mpString_c->drawOutFont((J2DTextBox*)mpTm_c[0]->getPanePtr(), -1.0f); + strcpy(((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr(), acStack_228); + if (mpSelect_c != NULL && (field_0x64 == 1 || field_0x64 == 2)) { + f32 fVar1 = 0.0f; + if (field_0x66 == 2) { + fVar1 = -100.0f; + } + mpSelect_c->translate(486.0f + g_MsgObject_HIO_c.mChoicePos[0][7], 209.0f + g_MsgObject_HIO_c.mBoxPos[0][7] + fVar1); + mpSelect_c->draw(0.0f, 0.0f); + } + if (mpArrow_c != NULL) { + mpArrow_c->draw(); + } } -#pragma pop /* 8023DAD0-8023DAD4 238410 0004+00 1/0 0/0 0/0 .text wait_init__17dMsgScrnExplain_cFv */ void dMsgScrnExplain_c::wait_init() { @@ -397,181 +263,256 @@ void dMsgScrnExplain_c::open_request_init() { } /* 8023DADC-8023DBE4 23841C 0108+00 1/0 0/0 0/0 .text open_request_proc__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::open_request_proc() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/open_request_proc__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::open_request_proc() { + J2DTextBox* uVar1; + J2DTextBox* uVar6 = NULL; + uVar1 = (J2DTextBox*) mpTm_c[0]->getPanePtr(); + if (field_0x10[0] != NULL) { + uVar6 = (J2DTextBox*) field_0x10[0]->getPanePtr(); + } + char acStack_220[512]; + char acStack_420[512]; + char acStack_620[512]; + if (dMsgObject_getString(field_0x54, uVar1, uVar6, mDoExt_getMesgFont(), + mpOutFont, acStack_220, + acStack_420, acStack_620, &field_0x5c) != 0) { + strcpy(((J2DTextBox*)mpTm_c[0]->getPanePtr())->getStringPtr(), acStack_220); + strcpy(((J2DTextBox*)mpTm_c[1]->getPanePtr())->getStringPtr(), acStack_620); + for (int i = 0; i < 2; i++) { + if (field_0x10[i] != NULL) { + strcpy(((J2DTextBox*)field_0x10[i]->getPanePtr())->getStringPtr(), acStack_420); + } + } + if (field_0x67 != 0) { + Z2GetSpeechMgr2()->setTextCount(0); + } + mStatus = 2; + } } -#pragma pop /* ############################################################################################## */ -/* 80454BE0-80454BE4 0031E0 0004+00 6/6 0/0 0/0 .sdata2 @4211 */ -SECTION_SDATA2 static f32 lit_4211 = 1.0f; /* 8023DBE4-8023DC7C 238524 0098+00 1/0 0/0 0/0 .text open_init__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::open_init() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/open_init__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::open_init() { + field_0x5a = 0; + field_0x48 = 608.0f; + for (int i = 0; i < 2; i++) { + mpRoot_c[i]->setAlphaRate(0.0f); + } + mDoAud_seStart(0x51, 0, 0, 0); } -#pragma pop /* ############################################################################################## */ -/* 80454BE4-80454BE8 0031E4 0004+00 2/2 0/0 0/0 .sdata2 @4230 */ -SECTION_SDATA2 static f32 lit_4230 = 150.0f; /* 8023DC7C-8023DD90 2385BC 0114+00 1/0 0/0 0/0 .text open_proc__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::open_proc() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/open_proc__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::open_proc() { + field_0x5a++; + if (field_0x5a >= 5) { + field_0x5a = 5; + if (field_0x64 == 1 || field_0x64 == 2) { + mStatus = 4; + } else { + mStatus = 3; + } + } + field_0x48 = 608.0f * getAlphaRatio(); + for (int i = 0; i < 2; i++) { + mpRoot_c[i]->setAlphaRate(1.0f - getAlphaRatio()); + } + if (mpBackTex != NULL) { + mpBackTex->setAlpha((1.0f - getAlphaRatio()) * 150.0f ); + } } -#pragma pop /* 8023DD90-8023DDB4 2386D0 0024+00 1/0 0/0 0/0 .text move_init__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::move_init() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/move_init__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::move_init() { + mpArrow_c->arwAnimeInit(); } -#pragma pop /* 8023DDB4-8023DE8C 2386F4 00D8+00 1/0 0/0 0/0 .text move_proc__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::move_proc() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/move_proc__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::move_proc() { + if (mKeyWaitTimer > 0) { + mKeyWaitTimer--; + return; + } + if (mDoCPd_c::getTrigA(PAD_1) || + ((field_0x58 != 0x0 && + (mDoCPd_c::getTrigB(PAD_1) || mDoCPd_c::getTrigZ(PAD_1) || mDoCPd_c::getTrigX(PAD_1) || + mDoCPd_c::getTrigY(PAD_1) || mDoCPd_c::getTrigStart(PAD_1) || mDoCPd_c::getTrigR(PAD_1) || + mDoCPd_c::getTrigL(PAD_1) || mForceSelect)))) { + mStatus = 5; + dMeter2Info_set2DVibrationM(); + mDoAud_seStart(0x52, 0, 0, 0); + } } -#pragma pop /* ############################################################################################## */ -/* 80399910-80399910 025F70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399984 = "" - "\x1B" - "CR[%d]"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039998C = "\0\0\0"; -#pragma pop - -/* 80454BE8-80454BEC 0031E8 0004+00 1/1 0/0 0/0 .sdata2 @4294 */ -SECTION_SDATA2 static f32 lit_4294 = 0.5f; /* 8023DE8C-8023E0F4 2387CC 0268+00 1/0 0/0 0/0 .text move_select_init__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::move_select_init() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/move_select_init__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::move_select_init() { + char local_c0[8]; + char local_c8[8]; + char local_a4[20]; + char local_b8[20]; + local_c0[0] = 0; + local_c8[0] = 0; + local_a4[0] = 0; + local_b8[1] = 0; + if (field_0x66 == 4) { + dMeter2Info_getString(0x4b0, local_c0, NULL); + dMeter2Info_getString(0x4b1, local_c8, NULL); + } else { + dMeter2Info_getString(0x51f, local_c0, NULL); + dMeter2Info_getString(0x520, local_c8, NULL); + } + + f32 dVar10 = dMeter2Info_getStringLength(mDoExt_getMesgFont(), mpSelect_c->getFontSize(), mpSelect_c->getCharSpace(), local_c0); + f32 dVar11 = dMeter2Info_getStringLength(mDoExt_getMesgFont(), mpSelect_c->getFontSize(), mpSelect_c->getCharSpace(), local_c8); + f32 dVar13; + if (dVar10 < dVar11) { + dVar13 = dVar11; + } else { + dVar13 = dVar10; + } + f32 dVar12 = mpSelect_c->getTextBoxWidth(); + if (dVar13 < dVar12) { + dVar13 = mpSelect_c->getTextBoxWidth(); + } + + snprintf(local_a4, 20, "\x1B""CR[%d]", (int)(0.5f * (dVar13 - dVar10))); + strcat(local_a4, local_c0); + snprintf(local_b8, 20, "\x1B""CR[%d]", (int)(0.5f * (dVar13 - dVar11))); + strcat(local_b8, local_c8); + mpSelect_c->setString("", local_a4, local_b8); + mpSelect_c->setRubyString("", "", ""); + mpSelect_c->selAnimeInit(2, mSelCursor + 1, 0, dVar13, 0); + mpArrow_c->arwAnimeInit(); } -#pragma pop /* 8023E0F4-8023E43C 238A34 0348+00 1/0 0/0 0/0 .text move_select_proc__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::move_select_proc() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/move_select_proc__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::move_select_proc() { + if (mKeyWaitTimer > 0) { + mKeyWaitTimer--; + } else { + field_0x44->checkTrigger(); + + if (checkTriggerA()) { + if (field_0x64 == 2) { + if (mSelCursor == 0) { + dMeter2Info_setWarpStatus(3); + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_WARP_MAP_DECIDE, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } else { + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_CURSOR_CANCEL, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + } else if (field_0x66 == 0) { + mDoAud_seStart(Z2SE_SY_TALK_CURSOR_OK, NULL, 0, 0); + } + mStatus = 5; + mDoAud_seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0); + } else if (field_0x58 && (checkTriggerB() || mForceSelect)) { + if (field_0x64 == 2) { + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_CURSOR_CANCEL, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } else if (field_0x64 == 1) { + if (field_0x63 != 0xff) { + mSelCursor = field_0x63; + } else { + mSelCursor = 0xff; + } + } + mStatus = 5; + mDoAud_seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0); + } else if (mpSelect_c->isSelect() && field_0x44->checkUpTrigger()) { + if (mSelCursor == 1) { + mSelCursor = 0; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + } else if (mpSelect_c->isSelect() && field_0x44->checkDownTrigger() && mSelCursor == 0) { + mSelCursor = 1; + Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + } + + if (mStatus == 4) { + mpSelect_c->selAnimeMove(2, mSelCursor + 1, false); + } else { + mpSelect_c->selAnimeEnd(); + } } -#pragma pop /* 8023E43C-8023E448 238D7C 000C+00 1/0 0/0 0/0 .text close_init__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::close_init() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/close_init__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::close_init() { + field_0x5a = 5; } -#pragma pop /* 8023E448-8023E558 238D88 0110+00 1/0 0/0 0/0 .text close_proc__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::close_proc() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/close_proc__17dMsgScrnExplain_cFv.s" +void dMsgScrnExplain_c::close_proc() { + bool iVar1; + if (mpSelect_c != NULL) { + iVar1 = mpSelect_c->selAnimeEnd(); + } else { + iVar1 = true; + } + field_0x5a--; + if (field_0x5a <= 0) { + field_0x5a = 0; + if (iVar1) { + mStatus = 0; + } + } + field_0x48 = 608.0f * getAlphaRatio(); + for (int i = 0; i < 2; i++) { + mpRoot_c[i]->setAlphaRate(1.0f - getAlphaRatio()); + } + if (mpBackTex != NULL) { + mpBackTex->setAlpha(150.0f * (1.0f - getAlphaRatio())); + } } -#pragma pop /* 8023E558-8023E5CC 238E98 0074+00 0/0 7/7 0/0 .text openExplain__17dMsgScrnExplain_cFUlUcUcUcb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3, +bool dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3, bool param_4) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s" + bool rv = false; + if (g_MsgObject_HIO_c.mSaveSeqMsgDebug) { + param_0 = g_MsgObject_HIO_c.mSaveSeqMsgIndex; + } + if (mStatus == 0) { + field_0x54 = param_0; + field_0x64 = param_1; + mSelCursor = param_2; + field_0x63 = param_3; + mForceSelect = 0; + field_0x58 = param_4; + mStatus = 1; + open_request_init(); + rv = true; + } + return rv; } -#pragma pop /* ############################################################################################## */ -/* 80454BEC-80454BF0 0031EC 0004+00 1/1 0/0 0/0 .sdata2 @4414 */ -SECTION_SDATA2 static f32 lit_4414 = 5.0f; - -/* 80454BF0-80454BF8 0031F0 0008+00 1/1 0/0 0/0 .sdata2 @4416 */ -SECTION_SDATA2 static f64 lit_4416 = 4503601774854144.0 /* cast s32 to float */; /* 8023E5CC-8023E640 238F0C 0074+00 2/2 0/0 0/0 .text getAlphaRatio__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::getAlphaRatio() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/getAlphaRatio__17dMsgScrnExplain_cFv.s" +f32 dMsgScrnExplain_c::getAlphaRatio() { + switch (mStatus) { + case 2: + case 5: + return 1.0f - (field_0x5a / 5.0f); + case 0: + return 1.0f; + default: + return 0.0f; + } } -#pragma pop /* 8023E640-8023E654 238F80 0014+00 1/1 0/0 0/0 .text checkTriggerA__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::checkTriggerA() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/checkTriggerA__17dMsgScrnExplain_cFv.s" +bool dMsgScrnExplain_c::checkTriggerA() { + return mDoCPd_c::getTrigA(PAD_1); } -#pragma pop /* 8023E654-8023E668 238F94 0014+00 1/1 0/0 0/0 .text checkTriggerB__17dMsgScrnExplain_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnExplain_c::checkTriggerB() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/checkTriggerB__17dMsgScrnExplain_cFv.s" +bool dMsgScrnExplain_c::checkTriggerB() { + return mDoCPd_c::getTrigB(PAD_1); } -#pragma pop - -/* 8023E668-8023E79C 238FA8 0134+00 0/0 1/0 0/0 .text __sinit_d_msg_scrn_explain_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_msg_scrn_explain_cpp() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_explain/__sinit_d_msg_scrn_explain_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8023E668, __sinit_d_msg_scrn_explain_cpp); -#pragma pop - -/* 80399910-80399910 025F70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/msg/scrn/d_msg_scrn_tree.cpp b/src/msg/scrn/d_msg_scrn_tree.cpp index 1199a14a13..9d1c9bc895 100644 --- a/src/msg/scrn/d_msg_scrn_tree.cpp +++ b/src/msg/scrn/d_msg_scrn_tree.cpp @@ -4,271 +4,184 @@ // #include "msg/scrn/d_msg_scrn_tree.h" -#include "dol2asm.h" +#include "d/com/d_com_inf_game.h" +#include "d/pane/d_pane_class.h" +#include "d/msg/d_msg_object.h" +#include "d/msg/d_msg_out_font.h" #include "dolphin/types.h" +#include "dolphin/os/OS.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" // // Types: -// - -struct JUTFont {}; - -struct JKRExpHeap {}; - -struct dMsgScrnTree_c { - /* 80248954 */ dMsgScrnTree_c(JUTFont*, JKRExpHeap*); - /* 80248F14 */ ~dMsgScrnTree_c(); - /* 80249118 */ void exec(); - /* 80249270 */ void draw(); - /* 802492F8 */ void fukiAlpha(f32); - /* 802493AC */ void fukiScale(f32); - /* 802493B0 */ void fukiTrans(f32, f32); -}; - -struct dMsgScrnBase_c { - /* 80238C40 */ void setSelectRubyString(char*, char*, char*); - /* 80238C44 */ void setSelectString(char*, char*, char*); - /* 80238C48 */ bool selectAnimeMove(u8, u8, bool); - /* 80238C50 */ void selectAnimeInit(u8, u8, f32, u8); - /* 80238C54 */ void arwAnimeMove(); - /* 80238C58 */ void arwAnimeInit(); - /* 80238C5C */ void fukiPosCalc(u8); - /* 80238C60 */ bool isSelect(); - /* 80238C68 */ bool selectAnimeEnd(); - /* 80238C70 */ void dotAnimeMove(); - /* 80238C74 */ void dotAnimeInit(); - /* 8023C0DC */ dMsgScrnBase_c(); - /* 8023C124 */ ~dMsgScrnBase_c(); - /* 8023C16C */ void init(); - /* 8023C234 */ void multiDraw(); - /* 8023C300 */ void drawSelf(); - /* 8023C4F4 */ void fontAlpha(f32); - /* 8023C574 */ void isTalkNow(); -}; - -struct JKRHeap { - /* 802CE784 */ void getTotalFreeSize(); -}; - -struct JKRFileLoader { - /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); -}; - -struct JKRArchive {}; - -struct J2DTextBox { - /* 8030074C */ void setString(s16, char const*, ...); -}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); - /* 802F9690 */ void animation(); -}; - -struct J2DPane { - /* 802F7FCC */ void animationTransform(); -}; - -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); -}; - -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); - /* 802542E8 */ void getGlobalPosX(); - /* 80254364 */ void getGlobalPosY(); -}; +//; // // Forward References: // -extern "C" void __ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap(); -extern "C" void __dt__14dMsgScrnTree_cFv(); -extern "C" void exec__14dMsgScrnTree_cFv(); -extern "C" void draw__14dMsgScrnTree_cFv(); -extern "C" void fukiAlpha__14dMsgScrnTree_cFf(); -extern "C" void fukiScale__14dMsgScrnTree_cFf(); -extern "C" void fukiTrans__14dMsgScrnTree_cFff(); -extern "C" extern char const* const msg_scrn_d_msg_scrn_tree__stringBase0; - // // External References: // -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void dComIfGp_getSubHeap2D__Fi(); -extern "C" void setSelectRubyString__14dMsgScrnBase_cFPcPcPc(); -extern "C" void setSelectString__14dMsgScrnBase_cFPcPcPc(); -extern "C" bool selectAnimeMove__14dMsgScrnBase_cFUcUcb(); -extern "C" void selectAnimeInit__14dMsgScrnBase_cFUcUcfUc(); -extern "C" void arwAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void arwAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void fukiPosCalc__14dMsgScrnBase_cFUc(); -extern "C" bool isSelect__14dMsgScrnBase_cFv(); -extern "C" bool selectAnimeEnd__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void __ct__14dMsgScrnBase_cFv(); -extern "C" void __dt__14dMsgScrnBase_cFv(); -extern "C" void init__14dMsgScrnBase_cFv(); -extern "C" void multiDraw__14dMsgScrnBase_cFv(); -extern "C" void drawSelf__14dMsgScrnBase_cFv(); -extern "C" void fontAlpha__14dMsgScrnBase_cFf(); -extern "C" void isTalkNow__14dMsgScrnBase_cFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void getGlobalPosX__8CPaneMgrFv(); -extern "C" void getGlobalPosY__8CPaneMgrFv(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void animationTransform__7J2DPaneFv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_MsgObject_HIO_c[1040]; +extern dMsgObject_HIO_c g_MsgObject_HIO_c; // // Declarations: // /* ############################################################################################## */ -/* 80399C18-80399C30 026278 0018+00 1/1 0/0 0/0 .rodata t_tag$3763 */ -SECTION_RODATA static u8 const t_tag[24] = { - 0x6D, 0x67, 0x5F, 0x65, 0x34, 0x6C, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, - 0x66, 0x34, 0x5F, 0x77, 0x00, 0x00, 0x00, 0x00, 0x74, 0x34, 0x5F, 0x73, -}; -COMPILER_STRIP_GATE(0x80399C18, &t_tag); - -/* 80399C30-80399C30 026290 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80399C30 = "zelda_kanban_wood_a.blo"; -SECTION_DEAD static char const* const stringBase_80399C48 = "zelda_kanban_wood_a.bck"; -SECTION_DEAD static char const* const stringBase_80399C60 = "zelda_kanban_wood_a.btk"; -SECTION_DEAD static char const* const stringBase_80399C78 = "zelda_kanban_wood_a_02.btk"; -SECTION_DEAD static char const* const stringBase_80399C93 = ""; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80399C94 = "\0\0\0"; -#pragma pop - -/* 803C1420-803C1478 01E540 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnTree_c */ -SECTION_DATA extern void* __vt__14dMsgScrnTree_c[22] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dMsgScrnTree_cFv, - (void*)__dt__14dMsgScrnTree_cFv, - (void*)exec__14dMsgScrnTree_cFv, - (void*)multiDraw__14dMsgScrnBase_cFv, - (void*)drawSelf__14dMsgScrnBase_cFv, - (void*)setSelectString__14dMsgScrnBase_cFPcPcPc, - (void*)setSelectRubyString__14dMsgScrnBase_cFPcPcPc, - (void*)arwAnimeInit__14dMsgScrnBase_cFv, - (void*)arwAnimeMove__14dMsgScrnBase_cFv, - (void*)dotAnimeInit__14dMsgScrnBase_cFv, - (void*)dotAnimeMove__14dMsgScrnBase_cFv, - (void*)isSelect__14dMsgScrnBase_cFv, - (void*)selectAnimeInit__14dMsgScrnBase_cFUcUcfUc, - (void*)selectAnimeMove__14dMsgScrnBase_cFUcUcb, - (void*)selectAnimeEnd__14dMsgScrnBase_cFv, - (void*)fukiScale__14dMsgScrnTree_cFf, - (void*)fukiTrans__14dMsgScrnTree_cFff, - (void*)fukiAlpha__14dMsgScrnTree_cFf, - (void*)fontAlpha__14dMsgScrnBase_cFf, - (void*)fukiPosCalc__14dMsgScrnBase_cFUc, -}; - -/* 80454D58-80454D5C 003358 0004+00 2/2 0/0 0/0 .sdata2 @3949 */ -SECTION_SDATA2 static u8 lit_3949[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454D5C-80454D60 00335C 0004+00 3/3 0/0 0/0 .sdata2 @3950 */ -SECTION_SDATA2 static f32 lit_3950 = 1.0f; - -/* 80454D60-80454D68 003360 0004+04 1/1 0/0 0/0 .sdata2 @3951 */ -SECTION_SDATA2 static f32 lit_3951[1 + 1 /* padding */] = { - 6.0f / 5.0f, - /* padding */ - 0.0f, -}; /* 80248954-80248F14 243294 05C0+00 0/0 1/1 0/0 .text * __ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnTree_c::dMsgScrnTree_c(JUTFont* param_0, JKRExpHeap* param_1) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_tree/__ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap.s" +dMsgScrnTree_c::dMsgScrnTree_c(JUTFont* param_0, JKRExpHeap* param_1) { + if (param_1 != NULL) { + field_0xd8 = param_1; + } else { + field_0xd8 = dComIfGp_getSubHeap2D(7); + } + + field_0xd8->getTotalFreeSize(); + init(); + if (param_0 == NULL) { + field_0x54 = mDoExt_getMesgFont(); + } else { + field_0x54 = param_0; + } + + mpScreen = new J2DScreen(); + mpScreen->setPriority("zelda_kanban_wood_a.blo", 0x1020000, dComIfGp_getMsgArchive(2)); + dPaneClass_showNullPane(mpScreen); + i_OSInitFastCast(); + field_0xcc = (J2DAnmTransform*) J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_kanban_wood_a.bck", dComIfGp_getMsgArchive(2))); + field_0xd0 = (J2DAnmTextureSRTKey*) J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_kanban_wood_a.btk", dComIfGp_getMsgArchive(2))); + field_0xd0->searchUpdateMaterialID(mpScreen); + field_0xdc = 0.0f; + field_0xd4 = (J2DAnmTextureSRTKey*) J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_kanban_wood_a_02.btk", dComIfGp_getMsgArchive(2))); + field_0xd4->searchUpdateMaterialID(mpScreen); + field_0xe0 = 0.0f; + mpPmp_c = new CPaneMgr(mpScreen, 'n_size', 2, NULL); + mpPmp_c->getPanePtr()->setAnimation(field_0xcc); + field_0xcc->setFrame(1.0f); + mpPmp_c->getPanePtr()->animationTransform(); + mpPmp_c->getPanePtr()->setAnimation((J2DAnmTransform*)NULL); + mpPmp_c->scale(g_MsgObject_HIO_c.mBoxWoodScaleX, g_MsgObject_HIO_c.mBoxWoodScaleY); + field_0xc4 = new CPaneMgr(mpScreen, 'back_b', 0, NULL); + field_0xc8 = new CPaneMgr(mpScreen, 'spot00', 0, NULL); + field_0xc8->getPanePtr()->setAnimation(field_0xd0); + mpScreen->search('white_m')->setAnimation(field_0xd4); + for (int i = 0; i < 3; i++) { + static u64 const t_tag[3] = { + 'mg_e4lin', 'f4_w', 't4_s' + }; + mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(field_0x54); + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x200, ""); + } + mpScreen->search('n_3line')->hide(); + mpScreen->search('n_3fline')->hide(); + mpScreen->search('n_e4line')->show(); + ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize); + mTBoxWidth = mpTm_c[0]->getSizeX(); + mTBoxHeight = mpTm_c[0]->getSizeY(); + mLineSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getLineSpace(); + mCharSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getCharSpace(); + for (int i = 0; i < 3; i++) { + ((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(mLineSpace); + mpTm_c[i]->resize(1.2f * mpTm_c[i]->getSizeX(), mpTm_c[i]->getSizeY()); + } + mTextBoxPosX = mpTm_c[0]->getGlobalPosX(); + mTextBoxPosY = mpTm_c[0]->getGlobalPosY(); + mTextBoxPosOffsetY = 0.0f; + + for (int i = 0; i < 3; i++) { + if (mpTmr_c[i] != 0) { + ((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setLineSpace(mLineSpace); + if (i == 0) { + J2DTextBox::TFontSize aTStack_38; + ((J2DTextBox*)mpTmr_c[0]->getPanePtr())->getFontSize(aTStack_38); + mRubySize = aTStack_38.mSizeX; + mRubyCharSpace = ((J2DTextBox*)mpTmr_c[0]->getPanePtr())->getCharSpace(); + } + mpTmr_c[i]->resize(1.2f * mpTmr_c[i]->getSizeX(), mpTmr_c[i]->getSizeY()); + } + } } -#pragma pop /* 80248F14-80249118 243854 0204+00 1/0 0/0 0/0 .text __dt__14dMsgScrnTree_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnTree_c::~dMsgScrnTree_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_tree/__dt__14dMsgScrnTree_cFv.s" +dMsgScrnTree_c::~dMsgScrnTree_c() { + delete mpScreen; + mpScreen = NULL; + delete field_0xcc; + field_0xcc = NULL; + delete field_0xd0; + field_0xd0 = NULL; + delete field_0xd4; + field_0xd4 = NULL; + delete mpPmp_c; + mpPmp_c = NULL; + delete field_0xc4; + field_0xc4 = NULL; + delete field_0xc8; + field_0xc8 = NULL; + for (int i = 0; i < 3; i++) { + delete mpTm_c[i]; + mpTm_c[i] = NULL; + if (mpTmr_c[i]) { + delete mpTmr_c[i]; + mpTmr_c[i] = NULL; + } + } + dComIfGp_getMsgArchive(2)->removeResourceAll(); } -#pragma pop /* ############################################################################################## */ -/* 80454D68-80454D70 003368 0008+00 1/1 0/0 0/0 .sdata2 @4053 */ -SECTION_SDATA2 static f64 lit_4053 = 4503601774854144.0 /* cast s32 to float */; /* 80249118-80249270 243A58 0158+00 1/0 0/0 0/0 .text exec__14dMsgScrnTree_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTree_c::exec() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_tree/exec__14dMsgScrnTree_cFv.s" +void dMsgScrnTree_c::exec() { + field_0xdc += 1.0f; + if (field_0xdc >= field_0xd0->getFrameMax()) { + field_0xdc -= field_0xd0->getFrameMax(); + } + field_0xd0->setFrame(field_0xdc); + + field_0xe0 += 1.0f; + if (field_0xe0 >= field_0xd4->getFrameMax()) { + field_0xe0 -= field_0xd4->getFrameMax(); + } + field_0xd4->setFrame(field_0xe0); + mpScreen->animation(); + + if (isTalkNow()) { + fukiAlpha(1.0f); + } + mpPmp_c->scale(g_MsgObject_HIO_c.mBoxWoodScaleX, g_MsgObject_HIO_c.mBoxWoodScaleY); } -#pragma pop /* 80249270-802492F8 243BB0 0088+00 1/0 0/0 0/0 .text draw__14dMsgScrnTree_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTree_c::draw() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_tree/draw__14dMsgScrnTree_cFv.s" +void dMsgScrnTree_c::draw() { + J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort(); + grafContext->setup2D(); + mpScreen->draw(0.0f, 0.0f, grafContext); + mpOutFont->draw(NULL, 0.0f, 0.0f, 1.0f); } -#pragma pop /* 802492F8-802493AC 243C38 00B4+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnTree_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnTree_c::fukiAlpha(f32 param_0) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_tree/fukiAlpha__14dMsgScrnTree_cFf.s" +void dMsgScrnTree_c::fukiAlpha(f32 param_0) { + field_0xc4->setAlphaRate(param_0); + mpPmp_c->setAlphaRate(param_0 * g_MsgObject_HIO_c.mBoxWoodAlphaP); + field_0xc8->setAlphaRate(param_0); + for (int i = 0; i < 3; i++) { + mpTm_c[i]->setAlphaRate(param_0 * mCharAlphaRate); + if (mpTmr_c[i] != 0) { + mpTmr_c[i]->setAlphaRate(param_0 * mCharAlphaRate); + } + } } -#pragma pop /* 802493AC-802493B0 243CEC 0004+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnTree_cFf */ void dMsgScrnTree_c::fukiScale(f32 param_0) { From bacdc6ad8b08f3f59fe1ea9b1f675643fcda8e39 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Mon, 17 Jul 2023 07:21:18 +0300 Subject: [PATCH 6/7] Use compiler 1.2.5n instead of frank (#372) --- Makefile | 4 +- libs/dolphin/ai/Makefile | 3 - libs/dolphin/ar/Makefile | 3 - libs/dolphin/base/Makefile | 2 - libs/dolphin/card/Makefile | 3 - libs/dolphin/db/Makefile | 2 - libs/dolphin/dsp/Makefile | 2 - libs/dolphin/dvd/Makefile | 3 - libs/dolphin/exi/Makefile | 3 - libs/dolphin/gd/Makefile | 2 - libs/dolphin/gx/Makefile | 2 - libs/dolphin/mtx/Makefile | 2 - libs/dolphin/os/Makefile | 3 - libs/dolphin/pad/Makefile | 3 - libs/dolphin/si/Makefile | 3 - libs/dolphin/vi/Makefile | 3 - tools/frank.py | 214 ------------------------------------- tools/tp.py | 15 +-- 18 files changed, 10 insertions(+), 262 deletions(-) delete mode 100644 tools/frank.py diff --git a/Makefile b/Makefile index bef737c3f1..0e54c6ac03 100644 --- a/Makefile +++ b/Makefile @@ -71,8 +71,7 @@ AS := $(DEVKITPPC)/bin/powerpc-eabi-as OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy STRIP := $(DEVKITPPC)/bin/powerpc-eabi-strip CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_modded.exe -DOLPHIN_LIB_CC := $(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe -FRANK_CC := $(WINE) tools/mwcc_compiler/1.2.5e/mwcceppc.exe +DOLPHIN_LIB_CC := $(WINE) tools/mwcc_compiler/1.2.5n/mwcceppc.exe LD := $(WINE_LD) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe ELF2DOL := $(BUILD_PATH)/elf2dol YAZ0 := $(BUILD_PATH)/yaz0.so @@ -80,7 +79,6 @@ PYTHON := python3 ICONV := iconv DOXYGEN := doxygen MAKEREL := tools/makerel.py -FRANK := tools/frank.py IMAGENAME := gz2e01.iso # Options diff --git a/libs/dolphin/ai/Makefile b/libs/dolphin/ai/Makefile index 7adebe00ec..eef3defffe 100644 --- a/libs/dolphin/ai/Makefile +++ b/libs/dolphin/ai/Makefile @@ -36,11 +36,8 @@ $(BUILD_DIR)/libs/dolphin/ai/%.o: libs/dolphin/ai/%.c $(BUILD_DIR)/libs/dolphin/ @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBAI_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBAI_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBAI_A_D_FILES := $(LIBAI_A_O_FILES:.o=.d) diff --git a/libs/dolphin/ar/Makefile b/libs/dolphin/ar/Makefile index f46c7fa8d9..c7f2dff314 100644 --- a/libs/dolphin/ar/Makefile +++ b/libs/dolphin/ar/Makefile @@ -37,11 +37,8 @@ $(BUILD_DIR)/libs/dolphin/ar/%.o: libs/dolphin/ar/%.c $(BUILD_DIR)/libs/dolphin/ @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBAR_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBAR_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBAR_A_D_FILES := $(LIBAR_A_O_FILES:.o=.d) diff --git a/libs/dolphin/base/Makefile b/libs/dolphin/base/Makefile index 8a626555e5..08ff570337 100644 --- a/libs/dolphin/base/Makefile +++ b/libs/dolphin/base/Makefile @@ -29,8 +29,6 @@ $(BUILD_DIR)/libs/dolphin/base/%.o: libs/dolphin/base/%.c $(BUILD_DIR)/libs/dolp @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c @$(DOLPHIN_LIB_CC) $(CFLAGS) $(LIBBASE_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ ifndef DISABLE_DEPS LIBBASE_A_D_FILES := $(LIBBASE_A_O_FILES:.o=.d) diff --git a/libs/dolphin/card/Makefile b/libs/dolphin/card/Makefile index a896a9991d..20101a0b6d 100644 --- a/libs/dolphin/card/Makefile +++ b/libs/dolphin/card/Makefile @@ -64,11 +64,8 @@ $(BUILD_DIR)/libs/dolphin/card/%.o: libs/dolphin/card/%.c $(BUILD_DIR)/libs/dolp @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBCARD_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBCARD_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBCARD_A_D_FILES := $(LIBCARD_A_O_FILES:.o=.d) diff --git a/libs/dolphin/db/Makefile b/libs/dolphin/db/Makefile index 6f5fe8d6b8..4c131d5d35 100644 --- a/libs/dolphin/db/Makefile +++ b/libs/dolphin/db/Makefile @@ -37,8 +37,6 @@ $(BUILD_DIR)/libs/dolphin/db/%.o: libs/dolphin/db/%.c $(BUILD_DIR)/libs/dolphin/ @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBDB_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ ifndef DISABLE_DEPS LIBDB_A_D_FILES := $(LIBDB_A_O_FILES:.o=.d) diff --git a/libs/dolphin/dsp/Makefile b/libs/dolphin/dsp/Makefile index b670c347f7..215c043421 100644 --- a/libs/dolphin/dsp/Makefile +++ b/libs/dolphin/dsp/Makefile @@ -41,8 +41,6 @@ $(BUILD_DIR)/libs/dolphin/dsp/%.o: libs/dolphin/dsp/%.c $(BUILD_DIR)/libs/dolphi @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBDSP_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ ifndef DISABLE_DEPS LIBDSP_A_D_FILES := $(LIBDSP_A_O_FILES:.o=.d) diff --git a/libs/dolphin/dvd/Makefile b/libs/dolphin/dvd/Makefile index ad08643a4c..2cad6974f3 100644 --- a/libs/dolphin/dvd/Makefile +++ b/libs/dolphin/dvd/Makefile @@ -50,11 +50,8 @@ $(BUILD_DIR)/libs/dolphin/dvd/%.o: libs/dolphin/dvd/%.c $(BUILD_DIR)/libs/dolphi @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBDVD_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBDVD_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBDVD_A_D_FILES := $(LIBDVD_A_O_FILES:.o=.d) diff --git a/libs/dolphin/exi/Makefile b/libs/dolphin/exi/Makefile index 0e4b4d5d62..134115fb14 100644 --- a/libs/dolphin/exi/Makefile +++ b/libs/dolphin/exi/Makefile @@ -39,11 +39,8 @@ $(BUILD_DIR)/libs/dolphin/exi/%.o: libs/dolphin/exi/%.c $(BUILD_DIR)/libs/dolphi @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBEXI_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBEXI_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBEXI_A_D_FILES := $(LIBEXI_A_O_FILES:.o=.d) diff --git a/libs/dolphin/gd/Makefile b/libs/dolphin/gd/Makefile index 82bda247c4..05686a4e0b 100644 --- a/libs/dolphin/gd/Makefile +++ b/libs/dolphin/gd/Makefile @@ -39,8 +39,6 @@ $(BUILD_DIR)/libs/dolphin/gd/%.o: libs/dolphin/gd/%.c $(BUILD_DIR)/libs/dolphin/ @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBGD_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ ifndef DISABLE_DEPS LIBGD_A_D_FILES := $(LIBGD_A_O_FILES:.o=.d) diff --git a/libs/dolphin/gx/Makefile b/libs/dolphin/gx/Makefile index c025601779..4b1960fb55 100644 --- a/libs/dolphin/gx/Makefile +++ b/libs/dolphin/gx/Makefile @@ -57,8 +57,6 @@ $(BUILD_DIR)/libs/dolphin/gx/%.o: libs/dolphin/gx/%.c $(BUILD_DIR)/libs/dolphin/ @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c @$(DOLPHIN_LIB_CC) $(CFLAGS) $(LIBGX_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ ifndef DISABLE_DEPS LIBGX_A_D_FILES := $(LIBGX_A_O_FILES:.o=.d) diff --git a/libs/dolphin/mtx/Makefile b/libs/dolphin/mtx/Makefile index 1b57ece5dc..c363b94387 100644 --- a/libs/dolphin/mtx/Makefile +++ b/libs/dolphin/mtx/Makefile @@ -38,8 +38,6 @@ $(BUILD_DIR)/libs/dolphin/mtx/%.o: libs/dolphin/mtx/%.c $(BUILD_DIR)/libs/dolphi @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c @$(DOLPHIN_LIB_CC) $(CFLAGS) $(LIBMTX_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ ifndef DISABLE_DEPS LIBMTX_A_D_FILES := $(LIBMTX_A_O_FILES:.o=.d) diff --git a/libs/dolphin/os/Makefile b/libs/dolphin/os/Makefile index 4fdc7c0f9a..275292406c 100644 --- a/libs/dolphin/os/Makefile +++ b/libs/dolphin/os/Makefile @@ -80,11 +80,8 @@ $(BUILD_DIR)/libs/dolphin/os/%.o: libs/dolphin/os/%.c $(BUILD_DIR)/libs/dolphin/ @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBOS_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBOS_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBOS_A_D_FILES := $(LIBOS_A_O_FILES:.o=.d) diff --git a/libs/dolphin/pad/Makefile b/libs/dolphin/pad/Makefile index 7f3f10b581..c3e1496007 100644 --- a/libs/dolphin/pad/Makefile +++ b/libs/dolphin/pad/Makefile @@ -37,11 +37,8 @@ $(BUILD_DIR)/libs/dolphin/pad/%.o: libs/dolphin/pad/%.c $(BUILD_DIR)/libs/dolphi @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBPAD_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBPAD_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBPAD_A_D_FILES := $(LIBPAD_A_O_FILES:.o=.d) diff --git a/libs/dolphin/si/Makefile b/libs/dolphin/si/Makefile index a6fc6d9b6b..7cd99a8952 100644 --- a/libs/dolphin/si/Makefile +++ b/libs/dolphin/si/Makefile @@ -38,11 +38,8 @@ $(BUILD_DIR)/libs/dolphin/si/%.o: libs/dolphin/si/%.c $(BUILD_DIR)/libs/dolphin/ @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBSI_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBSI_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBSI_A_D_FILES := $(LIBSI_A_O_FILES:.o=.d) diff --git a/libs/dolphin/vi/Makefile b/libs/dolphin/vi/Makefile index d16012c0cb..8ccdd7e458 100644 --- a/libs/dolphin/vi/Makefile +++ b/libs/dolphin/vi/Makefile @@ -36,11 +36,8 @@ $(BUILD_DIR)/libs/dolphin/vi/%.o: libs/dolphin/vi/%.c $(BUILD_DIR)/libs/dolphin/ @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c - @$(FRANK_CC) $(LIBVI_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBVI_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi - @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBVI_A_D_FILES := $(LIBVI_A_O_FILES:.o=.d) diff --git a/tools/frank.py b/tools/frank.py deleted file mode 100644 index da83d4b92e..0000000000 --- a/tools/frank.py +++ /dev/null @@ -1,214 +0,0 @@ -#! /usr/bin/env python3 - -# Written by Ethan Roseman (ethteck) -# MIT License -# Copyright 2021 - -# Modified by EpochFlame - -import argparse -import sys - -# Byte sequence that marks code size -CODESIZE_MAGIC = b"\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x34" -BLR_BYTE_SEQ = b"\x4E\x80\x00\x20" -MTLR_BYTE_SEQ = b"\x7C\x08\x03\xA6" -PROFILE_EXTRA_BYTES = b"\x48\x00\x00\x01\x60\x00\x00\x00" - -LWZ_BYTE = b"\x80" - -# Byte sequence array for branches to link register -BLR_BYTE_SEQ_ARRAY = [BLR_BYTE_SEQ, -b"\x4D\x80\x00\x20", b"\x4D\x80\x00\x21", b"\x4C\x81\x00\x20", b"\x4C\x81\x00\x21", -b"\x4D\x82\x00\x20", b"\x4D\x82\x00\x21", b"\x4C\x80\x00\x20", b"\x4C\x80\x00\x21", -b"\x4D\x81\x00\x20", b"\x4D\x81\x00\x21", b"\x4C\x80\x00\x20", b"\x4C\x80\x00\x21", -b"\x4C\x82\x00\x20", b"\x4C\x82\x00\x21", b"\x4C\x81\x00\x20", b"\x4C\x81\x00\x21", -b"\x4D\x83\x00\x20", b"\x4D\x83\x00\x21", b"\x4C\x83\x00\x20", b"\x4C\x83\x00\x21", -b"\x4D\x83\x00\x20", b"\x4D\x83\x00\x21", b"\x4C\x83\x00\x20", b"\x4C\x83\x00\x21"] - -# Example invocation: ./frank.py vanilla.o profile.o output.o -parser = argparse.ArgumentParser() -parser.add_argument("vanilla", help="Path to the vanilla object", type=argparse.FileType('rb')) -parser.add_argument("profile", help="Path to the profile object", type=argparse.FileType('rb')) -parser.add_argument("target", help="Path to the target object (to write)") - -args = parser.parse_args() - -# Read contents into bytearrays and close files -vanilla_bytes = args.vanilla.read() -args.vanilla.close() - -# If the file contains no code, the codesize magic will not be found. -# The vanilla object requires no modification. -code_size_magic_idx = vanilla_bytes.find(CODESIZE_MAGIC) -if code_size_magic_idx == -1: - with open(args.target, "wb") as f: - f.write(vanilla_bytes) - sys.exit(0) - -profile_bytes = args.profile.read() -args.profile.close() - -# Peephole rescheduling -# -# This is the pattern we will detect: -# (A) lwz <--. .--> (A) li -# (B) li <---\-' bl -# \ nop -# '---> (B) lwz -# -# If the profiled schedule swaps the -# instructions around the bl/nop, we -# instead use the vanilla schedule. -# -idx = 8 -shift = 0 # difference between vanilla and profile code, due to bl/nops -while idx < len(profile_bytes) - 16: - # Find next epilogue - epi_pos = profile_bytes.find(PROFILE_EXTRA_BYTES, idx) - if epi_pos == -1: - break # break while loop when no targets remain - if epi_pos % 4 != 0: # check 4-byte alignment - idx += 4 - continue - - v_pos = epi_pos - shift - shift += 8 - - vanilla_inst_a = vanilla_bytes[v_pos-4:v_pos] - vanilla_inst_b = vanilla_bytes[v_pos:v_pos+4] - vanilla_inst_c = vanilla_bytes[v_pos+4:v_pos+8] - profile_inst_a = profile_bytes[epi_pos-4:epi_pos] - profile_inst_b = profile_bytes[epi_pos+8:epi_pos+12] - profile_inst_c = profile_bytes[epi_pos+12:epi_pos+16] - - opcode_a = vanilla_inst_a[0] >> 2 - opcode_b = vanilla_inst_b[0] >> 2 - opcode_c = vanilla_inst_c[0] >> 2 - - LWZ = 0x80 >> 2 - LFS = 0xC0 >> 2 - ADDI = 0x38 >> 2 - LI = ADDI # an LI instruction is just an ADDI with RA=0 - LMW = 0xB8 >> 2 - FDIVS = 0xEC >> 2 - - if opcode_a in [LWZ, LMW] and vanilla_inst_a[2] == 0x00 and \ - opcode_b in [LI, LFS, FDIVS] and \ - vanilla_inst_a == profile_inst_b and \ - vanilla_inst_b == profile_inst_a and \ - vanilla_inst_c == profile_inst_c and \ - opcode_c != ADDI: # <- don't reorder if at the very end of the epilogue - - # Swap instructions (A) and (B) - profile_bytes = profile_bytes[:epi_pos-4] \ - + vanilla_inst_a \ - + PROFILE_EXTRA_BYTES \ - + vanilla_inst_b \ - + profile_bytes[epi_pos+12:] - - # Similar reordering for lwz/lmw, except both insns follow the bl/nop - elif opcode_b == LWZ and \ - opcode_c == LMW and \ - vanilla_inst_b == profile_inst_c and \ - vanilla_inst_c == profile_inst_b: - - profile_bytes = profile_bytes[:epi_pos+8] \ - + vanilla_inst_b \ - + vanilla_inst_c \ - + profile_bytes[epi_pos+16:] - - idx = epi_pos + 8 - -# Remove byte sequence -stripped_bytes = profile_bytes.replace(PROFILE_EXTRA_BYTES, b"") - -# Find end of code sections in vanilla and stripped bytes -code_size_offset = code_size_magic_idx + len(CODESIZE_MAGIC) -code_size_bytes = vanilla_bytes[code_size_offset:code_size_offset+4] -code_size = int.from_bytes(code_size_bytes, byteorder='big') - -eoc_offset = 0x34 + code_size - -# Break if the eoc is not found -assert(eoc_offset != len(vanilla_bytes)) - -# Replace 0x34 - eoc in vanilla with bytes from stripped -final_bytes = vanilla_bytes[:0x34] + stripped_bytes[0x34:eoc_offset] + vanilla_bytes[eoc_offset:] - -# Fix branches to link register -for seq in BLR_BYTE_SEQ_ARRAY: - idx = 0 - - while idx < len(vanilla_bytes): - found_pos = vanilla_bytes.find(seq, idx) - if found_pos == -1: - break # break while loop when no targets remain - if found_pos % 4 != 0: # check 4-byte alignment - idx += 4 - continue - final_bytes = final_bytes[:found_pos] + vanilla_bytes[found_pos:found_pos+4] + final_bytes[found_pos+4:] - idx = found_pos + len(seq) - -# Reunify mtlr/blr instructions, shifting intermediary instructions up -idx = 0 - -while idx < len(final_bytes): - # Find mtlr position - mtlr_found_pos = final_bytes.find(MTLR_BYTE_SEQ, idx) - if mtlr_found_pos == -1: - break # break while loop when no targets remain - if mtlr_found_pos % 4 != 0: # check 4-byte alignment - idx += 4 - continue - # Find paired blr position - blr_found_pos = final_bytes.find(BLR_BYTE_SEQ, mtlr_found_pos) - if blr_found_pos == -1: - break # break while loop when no targets remain - if blr_found_pos % 4 != 0: # check 4-byte alignment - idx += 4 - continue - if mtlr_found_pos + 4 == blr_found_pos: - idx += 4 - continue # continue if mtlr is followed directly by blr - - final_bytes = final_bytes[:mtlr_found_pos] + final_bytes[mtlr_found_pos+4:blr_found_pos] + final_bytes[mtlr_found_pos:mtlr_found_pos+4] + final_bytes[blr_found_pos:] - idx = mtlr_found_pos + len(MTLR_BYTE_SEQ) - -# Reorder lmw/lwz/lfd instructions, if needed (@Altafen) -# Specifically, if this sequence shows up in the stripped profiler code: "LMW, LWZ, LFD*" -# And this sequence shows up in the vanilla code: "LWZ, LFD*, LMW" -# (LFD* = any number of LFDs, including zero) -# If all bytes match between the two (except for the reordering), then use the vanilla ordering. -# This could be written to anchor around the "BL, NOP" instructions in unstripped profiler code, -# or to check for the presence of "ADDI, MTLR, BLR" soon after. -# This also could be written to decode the operands of each instruction to make sure the reorder is harmless. -# Neither of these safeguards are necessary at the moment. -LWZ = 32 -LMW = 46 -LFD = 50 -idx = 0 -while idx+4 < len(final_bytes): - if final_bytes[idx] >> 2 == LMW and final_bytes[idx+4] >> 2 == LWZ and vanilla_bytes[idx] >> 2 == LWZ: - start_idx = idx - lmw_bytes = final_bytes[idx:idx+4] - lwz_bytes = final_bytes[idx+4:idx+8] - if vanilla_bytes[idx:idx+4] != lwz_bytes: - idx += 4 - continue - lfd_bytes = b"" - idx += 4 - while vanilla_bytes[idx] >> 2 == LFD: - lfd_bytes += vanilla_bytes[idx:idx+4] - idx += 4 - if vanilla_bytes[idx:idx+4] != lmw_bytes: - continue - if final_bytes[start_idx+8:start_idx+8+len(lfd_bytes)] != lfd_bytes: - continue - idx += 4 - final_bytes = final_bytes[:start_idx] + lwz_bytes + lfd_bytes + lmw_bytes + final_bytes[idx:] - continue - idx += 4 - -with open(args.target, "wb") as f: - f.write(final_bytes) \ No newline at end of file diff --git a/tools/tp.py b/tools/tp.py index 148d0dc28b..3d036e55e7 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -139,7 +139,8 @@ def expected_copy(debug: bool, build_path: Path, expected_path: Path): default="native", required=False, ) -def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str): +@click.option("--force-download/--no-force-download") +def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str, force_download: bool): """Setup project""" if debug: @@ -162,9 +163,11 @@ def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str): CONSOLE.print(text) compilers = tools_path.joinpath("mwcc_compiler") + if force_download: + shutil.rmtree(compilers) if not compilers.exists() or not compilers.is_dir(): os.mkdir(compilers) - r = requests.get('https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip') + r = requests.get('https://cdn.discordapp.com/attachments/727918646525165659/1129759991696457728/GC_WII_COMPILERS.zip') z = zipfile.ZipFile(io.BytesIO(r.content)) z.extractall(compilers) gc_path = compilers.joinpath("GC") @@ -201,11 +204,11 @@ def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str): ) sys.exit(1) - c125e = compilers.joinpath("1.2.5e") - if not c125e.exists() or not c125e.is_dir(): + c125n = compilers.joinpath("1.2.5n") + if not c125n.exists() or not c125n.is_dir(): LOG.error( ( - f"Unable to find patched MWCC compiler version 1.2.5e: missing directory '{c125e}'\n" + f"Unable to find patched MWCC compiler version 1.2.5n: missing directory '{c125n}'\n" f"Check the README for instructions on how to obtain the compilers" ) ) @@ -233,7 +236,7 @@ def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str): copy_lmgr326b(c27) copy_lmgr326b(c125) - copy_lmgr326b(c125e) + copy_lmgr326b(c125n) c27_mwcceppc = c27.joinpath("mwcceppc.exe") if not c27_mwcceppc.exists() or not c27_mwcceppc.is_file(): From 6c5a228fb8cd906b38b0cec01ab10d7878c7dc40 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Mon, 17 Jul 2023 00:42:22 -0600 Subject: [PATCH 7/7] Pipeline fix (#373) * cleanup pipelines * install deps * chmod +x wibo * rename pipeline * condense steps --- .github/workflows/cd.yml | 38 ------------------------- .github/workflows/ci.yml | 27 ------------------ .github/workflows/ok-check.yml | 34 +++++++++++++++++++++++ Makefile | 1 + tools/tp.py | 51 +++++++++++++++++----------------- 5 files changed, 61 insertions(+), 90 deletions(-) delete mode 100644 .github/workflows/cd.yml delete mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/ok-check.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml deleted file mode 100644 index f1c45f0a37..0000000000 --- a/.github/workflows/cd.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: CD - -on: - push: - branches: - - master - -env: - WORKFLOW: "ci.yml" - -jobs: - download: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Get latest workflow run ID - id: get_run_id - run: | - RUN_ID=$(curl --request GET \ - --url https://api.github.com/repos/${{ github.repository }}/actions/workflows/${{ env.WORKFLOW }}/runs \ - --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ - --header 'content-type: application/json' | jq '.workflow_runs[0].id') - echo "run_id=$RUN_ID" >> $GITHUB_OUTPUT - - name: Download artifact - uses: dawidd6/action-download-artifact@v2.27.0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - run_id: ${{ steps.get_run_id.outputs.run_id }} - name: artifact-${{ steps.get_run_id.outputs.run_id }} - workflow: ${{ env.WORKFLOW }} - - name: Install Python Deps - run: | - pip install GitPython rich - - name: Upload Progress to Frogress - env: - PROGRESS_API_KEY: ${{ secrets.FROGRESS_API_KEY }} - run: ./tp upload-progress progress-${{ steps.get_run_id.outputs.run_id }}.json -b https://progress.deco.mp/ -p twilightprincess -v gcn_usa \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 09ae82e493..0000000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: CI - -on: - pull_request: - branches: - - master - -jobs: - build: - runs-on: ubuntu-latest - container: - image: ghcr.io/pheenoh/zeldaret-tp:latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Copy in dol and compilers - run: cp /tmp/baserom.dol ./baserom.dol && cp -r /tmp/mwcc_compiler/ tools/mwcc_compiler && cp tools/mwcc_compiler/2.7/mwcceppc.exe tools/mwcc_compiler/2.7/mwcceppc_modded.exe && chown root /github/home/ - - name: Run Make (OK) - run: make all rels && ./tp check --rels - - name: Create JSON for Progress - run: ./tp progress -f JSON > progress-${{ github.run_id }}.json - - name: Upload artifact - uses: actions/upload-artifact@v3 - with: - name: artifact-${{ github.run_id }} - path: ./progress-${{ github.run_id }}.json - \ No newline at end of file diff --git a/.github/workflows/ok-check.yml b/.github/workflows/ok-check.yml new file mode 100644 index 0000000000..50697c1bb5 --- /dev/null +++ b/.github/workflows/ok-check.yml @@ -0,0 +1,34 @@ +name: OK Check / Progress Push + +on: + pull_request: + branches: + - master + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Project Setup + run: | + # Install deps & setup + python3 -m pip install --user -r tools/requirements.txt + ./tp setup --skip-iso + + # Download WiBo + wget https://github.com/decompals/wibo/releases/download/0.4.2/wibo + chmod +x wibo + - name: Run Make (OK) + run: make all rels -j$(nproc) WINE=./wibo + - name: Create JSON for Progress & Upload + if: github.event_name != 'pull_request' + env: + PROGRESS_API_KEY: ${{ secrets.FROGRESS_API_KEY }} + run: | + ./tp progress -f JSON > progress-${{ github.run_id }}.json + ./tp upload-progress progress-${{ github.run_id }}.json -b https://progress.deco.mp/ -p twilightprincess -v gcn_usa \ No newline at end of file diff --git a/Makefile b/Makefile index 0e54c6ac03..7bc7b99dd9 100644 --- a/Makefile +++ b/Makefile @@ -163,6 +163,7 @@ rels: $(ELF) $(RELS) @echo generating RELs from .plf @echo $(RELS) > build/plf_files $(PYTHON) $(MAKEREL) build --string-table $(BUILD_DIR)/frameworkF.str @build/plf_files $(ELF) + ./tp check --rels $(ELF): $(LIBS) $(O_FILES) @echo $(O_FILES) > build/o_files diff --git a/tools/tp.py b/tools/tp.py index 3d036e55e7..b504d98a0b 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -140,7 +140,8 @@ def expected_copy(debug: bool, build_path: Path, expected_path: Path): required=False, ) @click.option("--force-download/--no-force-download") -def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str, force_download: bool): +@click.option("--skip-iso/--no-skip-iso", default=False) +def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str, force_download: bool, skip_iso: bool): """Setup project""" if debug: @@ -319,33 +320,33 @@ def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str, for LOG.error("An error occurred while running 'make tools'") exit(1) - # - text = Text("--- Extracting game assets") - text.stylize("bold magenta") - CONSOLE.print(text) + if skip_iso is False: + text = Text("--- Extracting game assets") + text.stylize("bold magenta") + CONSOLE.print(text) - iso = Path("gz2e01.iso") - if not iso.exists() or not iso.is_file(): - LOG.error( - ( - f"Missing file '{iso}'.\n" - f"Did you forget to copy the NTSC-U version in the root directory?" + iso = Path("gz2e01.iso") + if not iso.exists() or not iso.is_file(): + LOG.error( + ( + f"Missing file '{iso}'.\n" + f"Did you forget to copy the NTSC-U version in the root directory?" + ) ) - ) - sys.exit(1) + sys.exit(1) - try: - import extract_game_assets - previous_dir = os.getcwd() - os.chdir(str(game_path.absolute())) - extract_game_assets.extract("../" + str(iso),yaz0_encoder) - os.chdir(previous_dir) - except ImportError as ex: - _handle_import_error(ex) - except Exception as e: - LOG.error(f"failure:") - LOG.error(e) - sys.exit(1) + try: + import extract_game_assets + previous_dir = os.getcwd() + os.chdir(str(game_path.absolute())) + extract_game_assets.extract("../" + str(iso),yaz0_encoder) + os.chdir(previous_dir) + except ImportError as ex: + _handle_import_error(ex) + except Exception as e: + LOG.error(f"failure:") + LOG.error(e) + sys.exit(1) text = Text("--- Complete") text.stylize("bold magenta")