From e00ce8bc31ce57f3aeff7c4844ffa926fa08e95f Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Sun, 9 Jul 2023 20:21:18 +0300 Subject: [PATCH 1/4] Work on J3DMaterial --- Progress.md | 8 +- .../calcDiffTexMtx__11J3DMaterialFPA4_Cf.s | 26 - .../calcSizeColorBlock__11J3DMaterialFUl.s | 26 - .../calcSizeIndBlock__11J3DMaterialFi.s | 6 - .../calcSizePEBlock__11J3DMaterialFUlUl.s | 32 -- .../calcSizeTevBlock__11J3DMaterialFi.s | 23 - .../calcSizeTexGenBlock__11J3DMaterialFUl.s | 14 - .../J3DMaterial/change__11J3DMaterialFv.s | 9 - .../copy__11J3DMaterialFP11J3DMaterial.s | 44 -- .../countDLSize__11J3DMaterialFv.s | 46 -- .../createColorBlock__11J3DMaterialFUl.s | 137 ----- .../createIndBlock__11J3DMaterialFi.s | 62 --- .../createTevBlock__11J3DMaterialFi.s | 230 -------- .../createTexGenBlock__11J3DMaterialFUl.s | 95 ---- .../J3DMaterial/diff__11J3DMaterialFUl.s | 132 ----- .../J3DMaterial/initialize__11J3DMaterialFv.s | 21 - .../initialize__17J3DLockedMaterialFv.s | 9 - .../initialize__18J3DPatchedMaterialFv.s | 9 - .../loadSharedDL__11J3DMaterialFv.s | 27 - .../J3DMaterial/load__11J3DMaterialFv.s | 22 - .../J3DMaterial/load__17J3DLockedMaterialFv.s | 8 - .../load__18J3DPatchedMaterialFv.s | 8 - .../makeDisplayList__11J3DMaterialFv.s | 20 - ...vate__11J3DMaterialFP17J3DDisplayListObj.s | 184 ------- .../makeSharedDisplayList__11J3DMaterialFv.s | 10 - .../newSharedDisplayList__11J3DMaterialFUl.s | 42 -- ...ingleSharedDisplayList__11J3DMaterialFUl.s | 42 -- .../J3DMaterial/patch__11J3DMaterialFv.s | 39 -- .../J3DMaterial/reset__11J3DMaterialFv.s | 25 - .../setCurrentMtx__11J3DMaterialFv.s | 7 - include/JSystem/J3DGraphBase/J3DGD.h | 35 ++ include/JSystem/J3DGraphBase/J3DMatBlock.h | 95 +++- include/JSystem/J3DGraphBase/J3DMaterial.h | 20 +- include/JSystem/J3DGraphBase/J3DPacket.h | 4 + include/JSystem/J3DGraphBase/J3DShape.h | 7 + include/JSystem/J3DGraphBase/J3DSys.h | 1 + include/JSystem/J3DGraphBase/J3DTevs.h | 3 + include/JSystem/J3DGraphBase/J3DTexture.h | 3 + include/dolphin/gd/GDBase.h | 4 + libs/JSystem/J3DGraphBase/J3DGD.cpp | 5 +- libs/JSystem/J3DGraphBase/J3DMaterial.cpp | 520 +++++++++++------- libs/dolphin/gd/GDBase.c | 4 - src/d/d_resorce.cpp | 6 +- 43 files changed, 469 insertions(+), 1601 deletions(-) delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/calcDiffTexMtx__11J3DMaterialFPA4_Cf.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeColorBlock__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeIndBlock__11J3DMaterialFi.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/calcSizePEBlock__11J3DMaterialFUlUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTevBlock__11J3DMaterialFi.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTexGenBlock__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/change__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/copy__11J3DMaterialFP11J3DMaterial.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/countDLSize__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/createColorBlock__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/createIndBlock__11J3DMaterialFi.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/createTevBlock__11J3DMaterialFi.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/createTexGenBlock__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/diff__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/initialize__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/initialize__17J3DLockedMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/initialize__18J3DPatchedMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/loadSharedDL__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/load__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/load__17J3DLockedMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/load__18J3DPatchedMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/makeSharedDisplayList__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/newSharedDisplayList__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/newSingleSharedDisplayList__11J3DMaterialFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/patch__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/reset__11J3DMaterialFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DMaterial/setCurrentMtx__11J3DMaterialFv.s diff --git a/Progress.md b/Progress.md index 9695e3bd75..3fa5f6200e 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.037360% | 1008376 | 3596544 +.text | 28.178607% | 1013456 | 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.623697% | 1432312 | 4020672 +Total | 35.750044% | 1437392 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 35.623697% | 1432312 | 4020672 +main.dol | 35.750044% | 1437392 | 4020672 RELs | 33.810282% | 3888292 | 11500324 -Total | 34.280042% | 5320604 | 15520996 +Total | 34.312772% | 5325684 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/calcDiffTexMtx__11J3DMaterialFPA4_Cf.s b/asm/JSystem/J3DGraphBase/J3DMaterial/calcDiffTexMtx__11J3DMaterialFPA4_Cf.s deleted file mode 100644 index 69cb5a88b4..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/calcDiffTexMtx__11J3DMaterialFPA4_Cf.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80316A54: -/* 80316A54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316A58 7C 08 02 A6 */ mflr r0 -/* 80316A5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316A60 3C A0 80 43 */ lis r5, j3dSys@ha /* 0x80434AC8@ha */ -/* 80316A64 38 A5 4A C8 */ addi r5, r5, j3dSys@l /* 0x80434AC8@l */ -/* 80316A68 80 05 00 34 */ lwz r0, 0x34(r5) -/* 80316A6C 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1 -/* 80316A70 41 82 00 1C */ beq lbl_80316A8C -/* 80316A74 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80316A78 81 83 00 00 */ lwz r12, 0(r3) -/* 80316A7C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80316A80 7D 89 03 A6 */ mtctr r12 -/* 80316A84 4E 80 04 21 */ bctrl -/* 80316A88 48 00 00 18 */ b lbl_80316AA0 -lbl_80316A8C: -/* 80316A8C 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80316A90 81 83 00 00 */ lwz r12, 0(r3) -/* 80316A94 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80316A98 7D 89 03 A6 */ mtctr r12 -/* 80316A9C 4E 80 04 21 */ bctrl -lbl_80316AA0: -/* 80316AA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316AA4 7C 08 03 A6 */ mtlr r0 -/* 80316AA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316AAC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeColorBlock__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeColorBlock__11J3DMaterialFUl.s deleted file mode 100644 index 9142b9c6fc..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeColorBlock__11J3DMaterialFUl.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80316100: -/* 80316100 38 A0 00 00 */ li r5, 0 -/* 80316104 2C 03 00 00 */ cmpwi r3, 0 -/* 80316108 41 82 00 2C */ beq lbl_80316134 -/* 8031610C 40 80 00 18 */ bge lbl_80316124 -/* 80316110 3C 80 80 00 */ lis r4, 0x8000 /* 0x80000001@ha */ -/* 80316114 38 04 00 01 */ addi r0, r4, 0x0001 /* 0x80000001@l */ -/* 80316118 7C 03 00 00 */ cmpw r3, r0 -/* 8031611C 40 80 00 2C */ bge lbl_80316148 -/* 80316120 48 00 00 24 */ b lbl_80316144 -lbl_80316124: -/* 80316124 3C 00 40 00 */ lis r0, 0x4000 -/* 80316128 7C 03 00 00 */ cmpw r3, r0 -/* 8031612C 41 82 00 10 */ beq lbl_8031613C -/* 80316130 48 00 00 18 */ b lbl_80316148 -lbl_80316134: -/* 80316134 38 A0 00 20 */ li r5, 0x20 -/* 80316138 48 00 00 10 */ b lbl_80316148 -lbl_8031613C: -/* 8031613C 38 A0 00 4C */ li r5, 0x4c -/* 80316140 48 00 00 08 */ b lbl_80316148 -lbl_80316144: -/* 80316144 38 A0 00 28 */ li r5, 0x28 -lbl_80316148: -/* 80316148 7C A3 2B 78 */ mr r3, r5 -/* 8031614C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeIndBlock__11J3DMaterialFi.s b/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeIndBlock__11J3DMaterialFi.s deleted file mode 100644 index bdda49fa9e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeIndBlock__11J3DMaterialFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_803161C4: -/* 803161C4 2C 03 00 00 */ cmpwi r3, 0 -/* 803161C8 38 60 00 04 */ li r3, 4 -/* 803161CC 4D 82 00 20 */ beqlr -/* 803161D0 38 60 00 7C */ li r3, 0x7c -/* 803161D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizePEBlock__11J3DMaterialFUlUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizePEBlock__11J3DMaterialFUlUl.s deleted file mode 100644 index 591586e34b..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizePEBlock__11J3DMaterialFUlUl.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_803161D8: -/* 803161D8 38 A0 00 00 */ li r5, 0 -/* 803161DC 28 03 00 00 */ cmplwi r3, 0 -/* 803161E0 40 82 00 34 */ bne lbl_80316214 -/* 803161E4 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 803161E8 41 82 00 0C */ beq lbl_803161F4 -/* 803161EC 38 A0 00 04 */ li r5, 4 -/* 803161F0 48 00 00 48 */ b lbl_80316238 -lbl_803161F4: -/* 803161F4 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e -/* 803161F8 41 82 00 0C */ beq lbl_80316204 -/* 803161FC 38 A0 00 04 */ li r5, 4 -/* 80316200 48 00 00 38 */ b lbl_80316238 -lbl_80316204: -/* 80316204 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 80316208 41 82 00 30 */ beq lbl_80316238 -/* 8031620C 38 A0 00 04 */ li r5, 4 -/* 80316210 48 00 00 28 */ b lbl_80316238 -lbl_80316214: -/* 80316214 3C 03 F0 00 */ addis r0, r3, 0xf000 -/* 80316218 28 00 00 00 */ cmplwi r0, 0 -/* 8031621C 40 82 00 0C */ bne lbl_80316228 -/* 80316220 38 A0 00 40 */ li r5, 0x40 -/* 80316224 48 00 00 14 */ b lbl_80316238 -lbl_80316228: -/* 80316228 3C 03 E0 00 */ addis r0, r3, 0xe000 -/* 8031622C 28 00 00 00 */ cmplwi r0, 0 -/* 80316230 40 82 00 08 */ bne lbl_80316238 -/* 80316234 38 A0 00 10 */ li r5, 0x10 -lbl_80316238: -/* 80316238 7C A3 2B 78 */ mr r3, r5 -/* 8031623C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTevBlock__11J3DMaterialFi.s b/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTevBlock__11J3DMaterialFi.s deleted file mode 100644 index cbcde100c6..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTevBlock__11J3DMaterialFi.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8031617C: -/* 8031617C 38 00 00 00 */ li r0, 0 -/* 80316180 2C 03 00 01 */ cmpwi r3, 1 -/* 80316184 41 81 00 0C */ bgt lbl_80316190 -/* 80316188 38 00 00 1C */ li r0, 0x1c -/* 8031618C 48 00 00 30 */ b lbl_803161BC -lbl_80316190: -/* 80316190 2C 03 00 02 */ cmpwi r3, 2 -/* 80316194 40 82 00 0C */ bne lbl_803161A0 -/* 80316198 38 00 00 6C */ li r0, 0x6c -/* 8031619C 48 00 00 20 */ b lbl_803161BC -lbl_803161A0: -/* 803161A0 2C 03 00 04 */ cmpwi r3, 4 -/* 803161A4 41 81 00 0C */ bgt lbl_803161B0 -/* 803161A8 38 00 00 94 */ li r0, 0x94 -/* 803161AC 48 00 00 10 */ b lbl_803161BC -lbl_803161B0: -/* 803161B0 2C 03 00 10 */ cmpwi r3, 0x10 -/* 803161B4 41 81 00 08 */ bgt lbl_803161BC -/* 803161B8 38 00 01 74 */ li r0, 0x174 -lbl_803161BC: -/* 803161BC 7C 03 03 78 */ mr r3, r0 -/* 803161C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTexGenBlock__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTexGenBlock__11J3DMaterialFUl.s deleted file mode 100644 index 71e4debf09..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTexGenBlock__11J3DMaterialFUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80316150: -/* 80316150 3C 00 08 00 */ lis r0, 0x800 -/* 80316154 7C 03 00 00 */ cmpw r3, r0 -/* 80316158 41 82 00 14 */ beq lbl_8031616C -/* 8031615C 40 80 00 18 */ bge lbl_80316174 -/* 80316160 2C 03 00 00 */ cmpwi r3, 0 -/* 80316164 41 82 00 10 */ beq lbl_80316174 -/* 80316168 48 00 00 0C */ b lbl_80316174 -lbl_8031616C: -/* 8031616C 38 60 00 6C */ li r3, 0x6c -/* 80316170 4E 80 00 20 */ blr -lbl_80316174: -/* 80316174 38 60 00 6C */ li r3, 0x6c -/* 80316178 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/change__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/change__11J3DMaterialFv.s deleted file mode 100644 index 35a241d3e0..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/change__11J3DMaterialFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80316E70: -/* 80316E70 80 83 00 20 */ lwz r4, 0x20(r3) -/* 80316E74 54 80 00 03 */ rlwinm. r0, r4, 0, 0, 1 -/* 80316E78 4C 82 00 20 */ bnelr -/* 80316E7C 64 80 80 00 */ oris r0, r4, 0x8000 -/* 80316E80 90 03 00 20 */ stw r0, 0x20(r3) -/* 80316E84 38 00 00 00 */ li r0, 0 -/* 80316E88 90 03 00 3C */ stw r0, 0x3c(r3) -/* 80316E8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/copy__11J3DMaterialFP11J3DMaterial.s b/asm/JSystem/J3DGraphBase/J3DMaterial/copy__11J3DMaterialFP11J3DMaterial.s deleted file mode 100644 index fd0dd1fa48..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/copy__11J3DMaterialFP11J3DMaterial.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80316D68: -/* 80316D68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316D6C 7C 08 02 A6 */ mflr r0 -/* 80316D70 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316D74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80316D78 93 C1 00 08 */ stw r30, 8(r1) -/* 80316D7C 7C 7E 1B 78 */ mr r30, r3 -/* 80316D80 7C 9F 23 78 */ mr r31, r4 -/* 80316D84 80 63 00 24 */ lwz r3, 0x24(r3) -/* 80316D88 80 84 00 24 */ lwz r4, 0x24(r4) -/* 80316D8C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316D90 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80316D94 7D 89 03 A6 */ mtctr r12 -/* 80316D98 4E 80 04 21 */ bctrl -/* 80316D9C 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80316DA0 80 9F 00 28 */ lwz r4, 0x28(r31) -/* 80316DA4 81 83 00 00 */ lwz r12, 0(r3) -/* 80316DA8 81 8C 00 08 */ lwz r12, 8(r12) -/* 80316DAC 7D 89 03 A6 */ mtctr r12 -/* 80316DB0 4E 80 04 21 */ bctrl -/* 80316DB4 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 80316DB8 80 9F 00 2C */ lwz r4, 0x2c(r31) -/* 80316DBC 81 83 00 00 */ lwz r12, 0(r3) -/* 80316DC0 81 8C 00 08 */ lwz r12, 8(r12) -/* 80316DC4 7D 89 03 A6 */ mtctr r12 -/* 80316DC8 4E 80 04 21 */ bctrl -/* 80316DCC 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 80316DD0 80 9F 00 30 */ lwz r4, 0x30(r31) -/* 80316DD4 81 83 00 00 */ lwz r12, 0(r3) -/* 80316DD8 81 8C 00 08 */ lwz r12, 8(r12) -/* 80316DDC 7D 89 03 A6 */ mtctr r12 -/* 80316DE0 4E 80 04 21 */ bctrl -/* 80316DE4 80 7E 00 34 */ lwz r3, 0x34(r30) -/* 80316DE8 80 9F 00 34 */ lwz r4, 0x34(r31) -/* 80316DEC 81 83 00 00 */ lwz r12, 0(r3) -/* 80316DF0 81 8C 00 08 */ lwz r12, 8(r12) -/* 80316DF4 7D 89 03 A6 */ mtctr r12 -/* 80316DF8 4E 80 04 21 */ bctrl -/* 80316DFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80316E00 83 C1 00 08 */ lwz r30, 8(r1) -/* 80316E04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316E08 7C 08 03 A6 */ mtlr r0 -/* 80316E0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316E10 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/countDLSize__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/countDLSize__11J3DMaterialFv.s deleted file mode 100644 index 881c4b07c4..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/countDLSize__11J3DMaterialFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80316290: -/* 80316290 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80316294 7C 08 02 A6 */ mflr r0 -/* 80316298 90 01 00 24 */ stw r0, 0x24(r1) -/* 8031629C 39 61 00 20 */ addi r11, r1, 0x20 -/* 803162A0 48 04 BF 3D */ bl _savegpr_29 -/* 803162A4 7C 7D 1B 78 */ mr r29, r3 -/* 803162A8 80 63 00 28 */ lwz r3, 0x28(r3) -/* 803162AC 81 83 00 00 */ lwz r12, 0(r3) -/* 803162B0 81 8C 00 30 */ lwz r12, 0x30(r12) -/* 803162B4 7D 89 03 A6 */ mtctr r12 -/* 803162B8 4E 80 04 21 */ bctrl -/* 803162BC 7C 7F 1B 78 */ mr r31, r3 -/* 803162C0 80 7D 00 24 */ lwz r3, 0x24(r29) -/* 803162C4 81 83 00 00 */ lwz r12, 0(r3) -/* 803162C8 81 8C 00 30 */ lwz r12, 0x30(r12) -/* 803162CC 7D 89 03 A6 */ mtctr r12 -/* 803162D0 4E 80 04 21 */ bctrl -/* 803162D4 7C 7E 1B 78 */ mr r30, r3 -/* 803162D8 80 7D 00 2C */ lwz r3, 0x2c(r29) -/* 803162DC 81 83 00 00 */ lwz r12, 0(r3) -/* 803162E0 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 803162E4 7D 89 03 A6 */ mtctr r12 -/* 803162E8 4E 80 04 21 */ bctrl -/* 803162EC 7F FF 1A 14 */ add r31, r31, r3 -/* 803162F0 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 803162F4 81 83 00 00 */ lwz r12, 0(r3) -/* 803162F8 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 803162FC 7D 89 03 A6 */ mtctr r12 -/* 80316300 4E 80 04 21 */ bctrl -/* 80316304 7F FF 1A 14 */ add r31, r31, r3 -/* 80316308 80 7D 00 34 */ lwz r3, 0x34(r29) -/* 8031630C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316310 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 80316314 7D 89 03 A6 */ mtctr r12 -/* 80316318 4E 80 04 21 */ bctrl -/* 8031631C 7C 7F 1A 14 */ add r3, r31, r3 -/* 80316320 38 03 00 1F */ addi r0, r3, 0x1f -/* 80316324 7C 1E 02 14 */ add r0, r30, r0 -/* 80316328 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 8031632C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80316330 48 04 BE F9 */ bl _restgpr_29 -/* 80316334 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80316338 7C 08 03 A6 */ mtlr r0 -/* 8031633C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80316340 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/createColorBlock__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/createColorBlock__11J3DMaterialFUl.s deleted file mode 100644 index 08712e3624..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/createColorBlock__11J3DMaterialFUl.s +++ /dev/null @@ -1,137 +0,0 @@ -lbl_803157A0: -/* 803157A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803157A4 7C 08 02 A6 */ mflr r0 -/* 803157A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803157AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803157B0 93 C1 00 08 */ stw r30, 8(r1) -/* 803157B4 38 A0 00 00 */ li r5, 0 -/* 803157B8 2C 03 00 00 */ cmpwi r3, 0 -/* 803157BC 41 82 00 2C */ beq lbl_803157E8 -/* 803157C0 40 80 00 18 */ bge lbl_803157D8 -/* 803157C4 3C 80 80 00 */ lis r4, 0x8000 /* 0x80000001@ha */ -/* 803157C8 38 04 00 01 */ addi r0, r4, 0x0001 /* 0x80000001@l */ -/* 803157CC 7C 03 00 00 */ cmpw r3, r0 -/* 803157D0 40 80 01 B4 */ bge lbl_80315984 -/* 803157D4 48 00 01 10 */ b lbl_803158E4 -lbl_803157D8: -/* 803157D8 3C 00 40 00 */ lis r0, 0x4000 -/* 803157DC 7C 03 00 00 */ cmpw r3, r0 -/* 803157E0 41 82 00 78 */ beq lbl_80315858 -/* 803157E4 48 00 01 A0 */ b lbl_80315984 -lbl_803157E8: -/* 803157E8 38 60 00 20 */ li r3, 0x20 -/* 803157EC 4B FB 94 61 */ bl __nw__FUl -/* 803157F0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 803157F4 41 82 00 5C */ beq lbl_80315850 -/* 803157F8 3C 60 80 3D */ lis r3, __vt__13J3DColorBlock@ha /* 0x803CDEA0@ha */ -/* 803157FC 38 03 DE A0 */ addi r0, r3, __vt__13J3DColorBlock@l /* 0x803CDEA0@l */ -/* 80315800 90 1F 00 00 */ stw r0, 0(r31) -/* 80315804 3C 60 80 3D */ lis r3, __vt__21J3DColorBlockLightOff@ha /* 0x803CEA34@ha */ -/* 80315808 38 03 EA 34 */ addi r0, r3, __vt__21J3DColorBlockLightOff@l /* 0x803CEA34@l */ -/* 8031580C 90 1F 00 00 */ stw r0, 0(r31) -/* 80315810 38 7F 00 04 */ addi r3, r31, 4 -/* 80315814 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315818 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 8031581C 38 A0 00 00 */ li r5, 0 -/* 80315820 38 C0 00 04 */ li r6, 4 -/* 80315824 38 E0 00 02 */ li r7, 2 -/* 80315828 48 04 C5 39 */ bl __construct_array -/* 8031582C 38 7F 00 0E */ addi r3, r31, 0xe -/* 80315830 3C 80 80 01 */ lis r4, __ct__12J3DColorChanFv@ha /* 0x8000E47C@ha */ -/* 80315834 38 84 E4 7C */ addi r4, r4, __ct__12J3DColorChanFv@l /* 0x8000E47C@l */ -/* 80315838 38 A0 00 00 */ li r5, 0 -/* 8031583C 38 C0 00 02 */ li r6, 2 -/* 80315840 38 E0 00 04 */ li r7, 4 -/* 80315844 48 04 C5 1D */ bl __construct_array -/* 80315848 7F E3 FB 78 */ mr r3, r31 -/* 8031584C 48 00 1C 31 */ bl initialize__21J3DColorBlockLightOffFv -lbl_80315850: -/* 80315850 7F E5 FB 78 */ mr r5, r31 -/* 80315854 48 00 01 30 */ b lbl_80315984 -lbl_80315858: -/* 80315858 38 60 00 4C */ li r3, 0x4c -/* 8031585C 4B FB 93 F1 */ bl __nw__FUl -/* 80315860 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315864 41 82 00 78 */ beq lbl_803158DC -/* 80315868 3C 60 80 3D */ lis r3, __vt__13J3DColorBlock@ha /* 0x803CDEA0@ha */ -/* 8031586C 38 03 DE A0 */ addi r0, r3, __vt__13J3DColorBlock@l /* 0x803CDEA0@l */ -/* 80315870 90 1F 00 00 */ stw r0, 0(r31) -/* 80315874 3C 60 80 3D */ lis r3, __vt__20J3DColorBlockLightOn@ha /* 0x803CE678@ha */ -/* 80315878 38 03 E6 78 */ addi r0, r3, __vt__20J3DColorBlockLightOn@l /* 0x803CE678@l */ -/* 8031587C 90 1F 00 00 */ stw r0, 0(r31) -/* 80315880 38 7F 00 04 */ addi r3, r31, 4 -/* 80315884 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315888 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 8031588C 38 A0 00 00 */ li r5, 0 -/* 80315890 38 C0 00 04 */ li r6, 4 -/* 80315894 38 E0 00 02 */ li r7, 2 -/* 80315898 48 04 C4 C9 */ bl __construct_array -/* 8031589C 38 7F 00 0C */ addi r3, r31, 0xc -/* 803158A0 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 803158A4 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 803158A8 38 A0 00 00 */ li r5, 0 -/* 803158AC 38 C0 00 04 */ li r6, 4 -/* 803158B0 38 E0 00 02 */ li r7, 2 -/* 803158B4 48 04 C4 AD */ bl __construct_array -/* 803158B8 38 7F 00 16 */ addi r3, r31, 0x16 -/* 803158BC 3C 80 80 01 */ lis r4, __ct__12J3DColorChanFv@ha /* 0x8000E47C@ha */ -/* 803158C0 38 84 E4 7C */ addi r4, r4, __ct__12J3DColorChanFv@l /* 0x8000E47C@l */ -/* 803158C4 38 A0 00 00 */ li r5, 0 -/* 803158C8 38 C0 00 02 */ li r6, 2 -/* 803158CC 38 E0 00 04 */ li r7, 4 -/* 803158D0 48 04 C4 91 */ bl __construct_array -/* 803158D4 7F E3 FB 78 */ mr r3, r31 -/* 803158D8 48 00 1C A9 */ bl initialize__20J3DColorBlockLightOnFv -lbl_803158DC: -/* 803158DC 7F E5 FB 78 */ mr r5, r31 -/* 803158E0 48 00 00 A4 */ b lbl_80315984 -lbl_803158E4: -/* 803158E4 38 60 00 28 */ li r3, 0x28 -/* 803158E8 4B FB 93 65 */ bl __nw__FUl -/* 803158EC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 803158F0 41 82 00 90 */ beq lbl_80315980 -/* 803158F4 7F FE FB 78 */ mr r30, r31 -/* 803158F8 3C 60 80 3D */ lis r3, __vt__13J3DColorBlock@ha /* 0x803CDEA0@ha */ -/* 803158FC 38 03 DE A0 */ addi r0, r3, __vt__13J3DColorBlock@l /* 0x803CDEA0@l */ -/* 80315900 90 1F 00 00 */ stw r0, 0(r31) -/* 80315904 3C 60 80 3D */ lis r3, __vt__21J3DColorBlockLightOff@ha /* 0x803CEA34@ha */ -/* 80315908 38 03 EA 34 */ addi r0, r3, __vt__21J3DColorBlockLightOff@l /* 0x803CEA34@l */ -/* 8031590C 90 1F 00 00 */ stw r0, 0(r31) -/* 80315910 38 7F 00 04 */ addi r3, r31, 4 -/* 80315914 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315918 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 8031591C 38 A0 00 00 */ li r5, 0 -/* 80315920 38 C0 00 04 */ li r6, 4 -/* 80315924 38 E0 00 02 */ li r7, 2 -/* 80315928 48 04 C4 39 */ bl __construct_array -/* 8031592C 38 7F 00 0E */ addi r3, r31, 0xe -/* 80315930 3C 80 80 01 */ lis r4, __ct__12J3DColorChanFv@ha /* 0x8000E47C@ha */ -/* 80315934 38 84 E4 7C */ addi r4, r4, __ct__12J3DColorChanFv@l /* 0x8000E47C@l */ -/* 80315938 38 A0 00 00 */ li r5, 0 -/* 8031593C 38 C0 00 02 */ li r6, 2 -/* 80315940 38 E0 00 04 */ li r7, 4 -/* 80315944 48 04 C4 1D */ bl __construct_array -/* 80315948 7F E3 FB 78 */ mr r3, r31 -/* 8031594C 48 00 1B 31 */ bl initialize__21J3DColorBlockLightOffFv -/* 80315950 3C 60 80 3D */ lis r3, __vt__22J3DColorBlockAmbientOn@ha /* 0x803CE708@ha */ -/* 80315954 38 03 E7 08 */ addi r0, r3, __vt__22J3DColorBlockAmbientOn@l /* 0x803CE708@l */ -/* 80315958 90 1E 00 00 */ stw r0, 0(r30) -/* 8031595C 38 7E 00 20 */ addi r3, r30, 0x20 -/* 80315960 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315964 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 80315968 38 A0 00 00 */ li r5, 0 -/* 8031596C 38 C0 00 04 */ li r6, 4 -/* 80315970 38 E0 00 02 */ li r7, 2 -/* 80315974 48 04 C3 ED */ bl __construct_array -/* 80315978 7F C3 F3 78 */ mr r3, r30 -/* 8031597C 48 00 1B 61 */ bl initialize__22J3DColorBlockAmbientOnFv -lbl_80315980: -/* 80315980 7F E5 FB 78 */ mr r5, r31 -lbl_80315984: -/* 80315984 7C A3 2B 78 */ mr r3, r5 -/* 80315988 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8031598C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80315990 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80315994 7C 08 03 A6 */ mtlr r0 -/* 80315998 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031599C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/createIndBlock__11J3DMaterialFi.s b/asm/JSystem/J3DGraphBase/J3DMaterial/createIndBlock__11J3DMaterialFi.s deleted file mode 100644 index a93ae24b14..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/createIndBlock__11J3DMaterialFi.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_80315E78: -/* 80315E78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80315E7C 7C 08 02 A6 */ mflr r0 -/* 80315E80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80315E84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80315E88 2C 03 00 00 */ cmpwi r3, 0 -/* 80315E8C 41 82 00 98 */ beq lbl_80315F24 -/* 80315E90 38 60 00 7C */ li r3, 0x7c -/* 80315E94 4B FB 8D B9 */ bl __nw__FUl -/* 80315E98 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315E9C 41 82 00 80 */ beq lbl_80315F1C -/* 80315EA0 3C 60 80 3D */ lis r3, __vt__11J3DIndBlock@ha /* 0x803CDDE8@ha */ -/* 80315EA4 38 03 DD E8 */ addi r0, r3, __vt__11J3DIndBlock@l /* 0x803CDDE8@l */ -/* 80315EA8 90 1F 00 00 */ stw r0, 0(r31) -/* 80315EAC 3C 60 80 3D */ lis r3, __vt__15J3DIndBlockFull@ha /* 0x803CE90C@ha */ -/* 80315EB0 38 03 E9 0C */ addi r0, r3, __vt__15J3DIndBlockFull@l /* 0x803CE90C@l */ -/* 80315EB4 90 1F 00 00 */ stw r0, 0(r31) -/* 80315EB8 38 7F 00 05 */ addi r3, r31, 5 -/* 80315EBC 3C 80 80 01 */ lis r4, __ct__14J3DIndTexOrderFv@ha /* 0x8000E128@ha */ -/* 80315EC0 38 84 E1 28 */ addi r4, r4, __ct__14J3DIndTexOrderFv@l /* 0x8000E128@l */ -/* 80315EC4 38 A0 00 00 */ li r5, 0 -/* 80315EC8 38 C0 00 04 */ li r6, 4 -/* 80315ECC 38 E0 00 04 */ li r7, 4 -/* 80315ED0 48 04 BE 91 */ bl __construct_array -/* 80315ED4 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80315ED8 3C 80 80 01 */ lis r4, __ct__12J3DIndTexMtxFv@ha /* 0x8000E0F0@ha */ -/* 80315EDC 38 84 E0 F0 */ addi r4, r4, __ct__12J3DIndTexMtxFv@l /* 0x8000E0F0@l */ -/* 80315EE0 3C A0 80 01 */ lis r5, __dt__12J3DIndTexMtxFv@ha /* 0x8000E064@ha */ -/* 80315EE4 38 A5 E0 64 */ addi r5, r5, __dt__12J3DIndTexMtxFv@l /* 0x8000E064@l */ -/* 80315EE8 38 C0 00 1C */ li r6, 0x1c -/* 80315EEC 38 E0 00 03 */ li r7, 3 -/* 80315EF0 48 04 BE 71 */ bl __construct_array -/* 80315EF4 38 7F 00 6C */ addi r3, r31, 0x6c -/* 80315EF8 3C 80 80 01 */ lis r4, __ct__19J3DIndTexCoordScaleFv@ha /* 0x8000E0E4@ha */ -/* 80315EFC 38 84 E0 E4 */ addi r4, r4, __ct__19J3DIndTexCoordScaleFv@l /* 0x8000E0E4@l */ -/* 80315F00 3C A0 80 01 */ lis r5, __dt__19J3DIndTexCoordScaleFv@ha /* 0x8000E024@ha */ -/* 80315F04 38 A5 E0 24 */ addi r5, r5, __dt__19J3DIndTexCoordScaleFv@l /* 0x8000E024@l */ -/* 80315F08 38 C0 00 04 */ li r6, 4 -/* 80315F0C 38 E0 00 04 */ li r7, 4 -/* 80315F10 48 04 BE 51 */ bl __construct_array -/* 80315F14 7F E3 FB 78 */ mr r3, r31 -/* 80315F18 48 00 1C 11 */ bl initialize__15J3DIndBlockFullFv -lbl_80315F1C: -/* 80315F1C 7F E3 FB 78 */ mr r3, r31 -/* 80315F20 48 00 00 2C */ b lbl_80315F4C -lbl_80315F24: -/* 80315F24 38 60 00 04 */ li r3, 4 -/* 80315F28 4B FB 8D 25 */ bl __nw__FUl -/* 80315F2C 28 03 00 00 */ cmplwi r3, 0 -/* 80315F30 41 82 00 1C */ beq lbl_80315F4C -/* 80315F34 3C 80 80 3D */ lis r4, __vt__11J3DIndBlock@ha /* 0x803CDDE8@ha */ -/* 80315F38 38 04 DD E8 */ addi r0, r4, __vt__11J3DIndBlock@l /* 0x803CDDE8@l */ -/* 80315F3C 90 03 00 00 */ stw r0, 0(r3) -/* 80315F40 3C 80 80 3D */ lis r4, __vt__15J3DIndBlockNull@ha /* 0x803CDD9C@ha */ -/* 80315F44 38 04 DD 9C */ addi r0, r4, __vt__15J3DIndBlockNull@l /* 0x803CDD9C@l */ -/* 80315F48 90 03 00 00 */ stw r0, 0(r3) -lbl_80315F4C: -/* 80315F4C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80315F50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80315F54 7C 08 03 A6 */ mtlr r0 -/* 80315F58 38 21 00 10 */ addi r1, r1, 0x10 -/* 80315F5C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/createTevBlock__11J3DMaterialFi.s b/asm/JSystem/J3DGraphBase/J3DMaterial/createTevBlock__11J3DMaterialFi.s deleted file mode 100644 index 50b79d6a06..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/createTevBlock__11J3DMaterialFi.s +++ /dev/null @@ -1,230 +0,0 @@ -lbl_80315B04: -/* 80315B04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80315B08 7C 08 02 A6 */ mflr r0 -/* 80315B0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80315B10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80315B14 38 00 00 00 */ li r0, 0 -/* 80315B18 2C 03 00 01 */ cmpwi r3, 1 -/* 80315B1C 41 81 00 90 */ bgt lbl_80315BAC -/* 80315B20 38 60 00 1C */ li r3, 0x1c -/* 80315B24 4B FB 91 29 */ bl __nw__FUl -/* 80315B28 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315B2C 41 82 00 78 */ beq lbl_80315BA4 -/* 80315B30 3C 60 80 3D */ lis r3, __vt__11J3DTevBlock@ha /* 0x803CE958@ha */ -/* 80315B34 38 03 E9 58 */ addi r0, r3, __vt__11J3DTevBlock@l /* 0x803CE958@l */ -/* 80315B38 90 1F 00 00 */ stw r0, 0(r31) -/* 80315B3C 3C 60 80 3D */ lis r3, __vt__12J3DTevBlock1@ha /* 0x803CE37C@ha */ -/* 80315B40 38 03 E3 7C */ addi r0, r3, __vt__12J3DTevBlock1@l /* 0x803CE37C@l */ -/* 80315B44 90 1F 00 00 */ stw r0, 0(r31) -/* 80315B48 38 7F 00 0A */ addi r3, r31, 0xa -/* 80315B4C 3C 80 80 01 */ lis r4, __ct__11J3DTevOrderFv@ha /* 0x8000E140@ha */ -/* 80315B50 38 84 E1 40 */ addi r4, r4, __ct__11J3DTevOrderFv@l /* 0x8000E140@l */ -/* 80315B54 38 A0 00 00 */ li r5, 0 -/* 80315B58 38 C0 00 04 */ li r6, 4 -/* 80315B5C 38 E0 00 01 */ li r7, 1 -/* 80315B60 48 04 C2 01 */ bl __construct_array -/* 80315B64 38 7F 00 0E */ addi r3, r31, 0xe -/* 80315B68 3C 80 80 01 */ lis r4, __ct__11J3DTevStageFv@ha /* 0x8000E230@ha */ -/* 80315B6C 38 84 E2 30 */ addi r4, r4, __ct__11J3DTevStageFv@l /* 0x8000E230@l */ -/* 80315B70 38 A0 00 00 */ li r5, 0 -/* 80315B74 38 C0 00 08 */ li r6, 8 -/* 80315B78 38 E0 00 01 */ li r7, 1 -/* 80315B7C 48 04 C1 E5 */ bl __construct_array -/* 80315B80 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80315B84 3C 80 80 01 */ lis r4, __ct__14J3DIndTevStageFv@ha /* 0x8000E14C@ha */ -/* 80315B88 38 84 E1 4C */ addi r4, r4, __ct__14J3DIndTevStageFv@l /* 0x8000E14C@l */ -/* 80315B8C 38 A0 00 00 */ li r5, 0 -/* 80315B90 38 C0 00 04 */ li r6, 4 -/* 80315B94 38 E0 00 01 */ li r7, 1 -/* 80315B98 48 04 C1 C9 */ bl __construct_array -/* 80315B9C 7F E3 FB 78 */ mr r3, r31 -/* 80315BA0 48 00 1C 49 */ bl initialize__12J3DTevBlock1Fv -lbl_80315BA4: -/* 80315BA4 7F E0 FB 78 */ mr r0, r31 -/* 80315BA8 48 00 02 B8 */ b lbl_80315E60 -lbl_80315BAC: -/* 80315BAC 2C 03 00 02 */ cmpwi r3, 2 -/* 80315BB0 40 82 00 E4 */ bne lbl_80315C94 -/* 80315BB4 38 60 00 6C */ li r3, 0x6c -/* 80315BB8 4B FB 90 95 */ bl __nw__FUl -/* 80315BBC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315BC0 41 82 00 CC */ beq lbl_80315C8C -/* 80315BC4 3C 60 80 3D */ lis r3, __vt__11J3DTevBlock@ha /* 0x803CE958@ha */ -/* 80315BC8 38 03 E9 58 */ addi r0, r3, __vt__11J3DTevBlock@l /* 0x803CE958@l */ -/* 80315BCC 90 1F 00 00 */ stw r0, 0(r31) -/* 80315BD0 3C 60 80 3D */ lis r3, __vt__12J3DTevBlock2@ha /* 0x803CE2A0@ha */ -/* 80315BD4 38 03 E2 A0 */ addi r0, r3, __vt__12J3DTevBlock2@l /* 0x803CE2A0@l */ -/* 80315BD8 90 1F 00 00 */ stw r0, 0(r31) -/* 80315BDC 38 7F 00 0C */ addi r3, r31, 0xc -/* 80315BE0 3C 80 80 01 */ lis r4, __ct__11J3DTevOrderFv@ha /* 0x8000E140@ha */ -/* 80315BE4 38 84 E1 40 */ addi r4, r4, __ct__11J3DTevOrderFv@l /* 0x8000E140@l */ -/* 80315BE8 38 A0 00 00 */ li r5, 0 -/* 80315BEC 38 C0 00 04 */ li r6, 4 -/* 80315BF0 38 E0 00 02 */ li r7, 2 -/* 80315BF4 48 04 C1 6D */ bl __construct_array -/* 80315BF8 38 7F 00 14 */ addi r3, r31, 0x14 -/* 80315BFC 3C 80 80 01 */ lis r4, __ct__13J3DGXColorS10Fv@ha /* 0x8000E460@ha */ -/* 80315C00 38 84 E4 60 */ addi r4, r4, __ct__13J3DGXColorS10Fv@l /* 0x8000E460@l */ -/* 80315C04 38 A0 00 00 */ li r5, 0 -/* 80315C08 38 C0 00 08 */ li r6, 8 -/* 80315C0C 38 E0 00 04 */ li r7, 4 -/* 80315C10 48 04 C1 51 */ bl __construct_array -/* 80315C14 38 7F 00 35 */ addi r3, r31, 0x35 -/* 80315C18 3C 80 80 01 */ lis r4, __ct__11J3DTevStageFv@ha /* 0x8000E230@ha */ -/* 80315C1C 38 84 E2 30 */ addi r4, r4, __ct__11J3DTevStageFv@l /* 0x8000E230@l */ -/* 80315C20 38 A0 00 00 */ li r5, 0 -/* 80315C24 38 C0 00 08 */ li r6, 8 -/* 80315C28 38 E0 00 02 */ li r7, 2 -/* 80315C2C 48 04 C1 35 */ bl __construct_array -/* 80315C30 38 7F 00 45 */ addi r3, r31, 0x45 -/* 80315C34 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315C38 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 80315C3C 38 A0 00 00 */ li r5, 0 -/* 80315C40 38 C0 00 04 */ li r6, 4 -/* 80315C44 38 E0 00 04 */ li r7, 4 -/* 80315C48 48 04 C1 19 */ bl __construct_array -/* 80315C4C 38 7F 00 59 */ addi r3, r31, 0x59 -/* 80315C50 3C 80 80 01 */ lis r4, __ct__19J3DTevSwapModeTableFv@ha /* 0x8000E134@ha */ -/* 80315C54 38 84 E1 34 */ addi r4, r4, __ct__19J3DTevSwapModeTableFv@l /* 0x8000E134@l */ -/* 80315C58 38 A0 00 00 */ li r5, 0 -/* 80315C5C 38 C0 00 01 */ li r6, 1 -/* 80315C60 38 E0 00 04 */ li r7, 4 -/* 80315C64 48 04 C0 FD */ bl __construct_array -/* 80315C68 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80315C6C 3C 80 80 01 */ lis r4, __ct__14J3DIndTevStageFv@ha /* 0x8000E14C@ha */ -/* 80315C70 38 84 E1 4C */ addi r4, r4, __ct__14J3DIndTevStageFv@l /* 0x8000E14C@l */ -/* 80315C74 38 A0 00 00 */ li r5, 0 -/* 80315C78 38 C0 00 04 */ li r6, 4 -/* 80315C7C 38 E0 00 02 */ li r7, 2 -/* 80315C80 48 04 C0 E1 */ bl __construct_array -/* 80315C84 7F E3 FB 78 */ mr r3, r31 -/* 80315C88 48 00 1B 89 */ bl initialize__12J3DTevBlock2Fv -lbl_80315C8C: -/* 80315C8C 7F E0 FB 78 */ mr r0, r31 -/* 80315C90 48 00 01 D0 */ b lbl_80315E60 -lbl_80315C94: -/* 80315C94 2C 03 00 04 */ cmpwi r3, 4 -/* 80315C98 41 81 00 E4 */ bgt lbl_80315D7C -/* 80315C9C 38 60 00 94 */ li r3, 0x94 -/* 80315CA0 4B FB 8F AD */ bl __nw__FUl -/* 80315CA4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315CA8 41 82 00 CC */ beq lbl_80315D74 -/* 80315CAC 3C 60 80 3D */ lis r3, __vt__11J3DTevBlock@ha /* 0x803CE958@ha */ -/* 80315CB0 38 03 E9 58 */ addi r0, r3, __vt__11J3DTevBlock@l /* 0x803CE958@l */ -/* 80315CB4 90 1F 00 00 */ stw r0, 0(r31) -/* 80315CB8 3C 60 80 3D */ lis r3, __vt__12J3DTevBlock4@ha /* 0x803CE1C4@ha */ -/* 80315CBC 38 03 E1 C4 */ addi r0, r3, __vt__12J3DTevBlock4@l /* 0x803CE1C4@l */ -/* 80315CC0 90 1F 00 00 */ stw r0, 0(r31) -/* 80315CC4 38 7F 00 10 */ addi r3, r31, 0x10 -/* 80315CC8 3C 80 80 01 */ lis r4, __ct__11J3DTevOrderFv@ha /* 0x8000E140@ha */ -/* 80315CCC 38 84 E1 40 */ addi r4, r4, __ct__11J3DTevOrderFv@l /* 0x8000E140@l */ -/* 80315CD0 38 A0 00 00 */ li r5, 0 -/* 80315CD4 38 C0 00 04 */ li r6, 4 -/* 80315CD8 38 E0 00 04 */ li r7, 4 -/* 80315CDC 48 04 C0 85 */ bl __construct_array -/* 80315CE0 38 7F 00 21 */ addi r3, r31, 0x21 -/* 80315CE4 3C 80 80 01 */ lis r4, __ct__11J3DTevStageFv@ha /* 0x8000E230@ha */ -/* 80315CE8 38 84 E2 30 */ addi r4, r4, __ct__11J3DTevStageFv@l /* 0x8000E230@l */ -/* 80315CEC 38 A0 00 00 */ li r5, 0 -/* 80315CF0 38 C0 00 08 */ li r6, 8 -/* 80315CF4 38 E0 00 04 */ li r7, 4 -/* 80315CF8 48 04 C0 69 */ bl __construct_array -/* 80315CFC 38 7F 00 42 */ addi r3, r31, 0x42 -/* 80315D00 3C 80 80 01 */ lis r4, __ct__13J3DGXColorS10Fv@ha /* 0x8000E460@ha */ -/* 80315D04 38 84 E4 60 */ addi r4, r4, __ct__13J3DGXColorS10Fv@l /* 0x8000E460@l */ -/* 80315D08 38 A0 00 00 */ li r5, 0 -/* 80315D0C 38 C0 00 08 */ li r6, 8 -/* 80315D10 38 E0 00 04 */ li r7, 4 -/* 80315D14 48 04 C0 4D */ bl __construct_array -/* 80315D18 38 7F 00 62 */ addi r3, r31, 0x62 -/* 80315D1C 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315D20 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 80315D24 38 A0 00 00 */ li r5, 0 -/* 80315D28 38 C0 00 04 */ li r6, 4 -/* 80315D2C 38 E0 00 04 */ li r7, 4 -/* 80315D30 48 04 C0 31 */ bl __construct_array -/* 80315D34 38 7F 00 7A */ addi r3, r31, 0x7a -/* 80315D38 3C 80 80 01 */ lis r4, __ct__19J3DTevSwapModeTableFv@ha /* 0x8000E134@ha */ -/* 80315D3C 38 84 E1 34 */ addi r4, r4, __ct__19J3DTevSwapModeTableFv@l /* 0x8000E134@l */ -/* 80315D40 38 A0 00 00 */ li r5, 0 -/* 80315D44 38 C0 00 01 */ li r6, 1 -/* 80315D48 38 E0 00 04 */ li r7, 4 -/* 80315D4C 48 04 C0 15 */ bl __construct_array -/* 80315D50 38 7F 00 80 */ addi r3, r31, 0x80 -/* 80315D54 3C 80 80 01 */ lis r4, __ct__14J3DIndTevStageFv@ha /* 0x8000E14C@ha */ -/* 80315D58 38 84 E1 4C */ addi r4, r4, __ct__14J3DIndTevStageFv@l /* 0x8000E14C@l */ -/* 80315D5C 38 A0 00 00 */ li r5, 0 -/* 80315D60 38 C0 00 04 */ li r6, 4 -/* 80315D64 38 E0 00 04 */ li r7, 4 -/* 80315D68 48 04 BF F9 */ bl __construct_array -/* 80315D6C 7F E3 FB 78 */ mr r3, r31 -/* 80315D70 48 00 1B 7D */ bl initialize__12J3DTevBlock4Fv -lbl_80315D74: -/* 80315D74 7F E0 FB 78 */ mr r0, r31 -/* 80315D78 48 00 00 E8 */ b lbl_80315E60 -lbl_80315D7C: -/* 80315D7C 2C 03 00 10 */ cmpwi r3, 0x10 -/* 80315D80 41 81 00 E0 */ bgt lbl_80315E60 -/* 80315D84 38 60 01 74 */ li r3, 0x174 -/* 80315D88 4B FB 8E C5 */ bl __nw__FUl -/* 80315D8C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315D90 41 82 00 CC */ beq lbl_80315E5C -/* 80315D94 3C 60 80 3D */ lis r3, __vt__11J3DTevBlock@ha /* 0x803CE958@ha */ -/* 80315D98 38 03 E9 58 */ addi r0, r3, __vt__11J3DTevBlock@l /* 0x803CE958@l */ -/* 80315D9C 90 1F 00 00 */ stw r0, 0(r31) -/* 80315DA0 3C 60 80 3D */ lis r3, __vt__13J3DTevBlock16@ha /* 0x803CE0E8@ha */ -/* 80315DA4 38 03 E0 E8 */ addi r0, r3, __vt__13J3DTevBlock16@l /* 0x803CE0E8@l */ -/* 80315DA8 90 1F 00 00 */ stw r0, 0(r31) -/* 80315DAC 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80315DB0 3C 80 80 01 */ lis r4, __ct__11J3DTevOrderFv@ha /* 0x8000E140@ha */ -/* 80315DB4 38 84 E1 40 */ addi r4, r4, __ct__11J3DTevOrderFv@l /* 0x8000E140@l */ -/* 80315DB8 38 A0 00 00 */ li r5, 0 -/* 80315DBC 38 C0 00 04 */ li r6, 4 -/* 80315DC0 38 E0 00 10 */ li r7, 0x10 -/* 80315DC4 48 04 BF 9D */ bl __construct_array -/* 80315DC8 38 7F 00 59 */ addi r3, r31, 0x59 -/* 80315DCC 3C 80 80 01 */ lis r4, __ct__11J3DTevStageFv@ha /* 0x8000E230@ha */ -/* 80315DD0 38 84 E2 30 */ addi r4, r4, __ct__11J3DTevStageFv@l /* 0x8000E230@l */ -/* 80315DD4 38 A0 00 00 */ li r5, 0 -/* 80315DD8 38 C0 00 08 */ li r6, 8 -/* 80315DDC 38 E0 00 10 */ li r7, 0x10 -/* 80315DE0 48 04 BF 81 */ bl __construct_array -/* 80315DE4 38 7F 00 DA */ addi r3, r31, 0xda -/* 80315DE8 3C 80 80 01 */ lis r4, __ct__13J3DGXColorS10Fv@ha /* 0x8000E460@ha */ -/* 80315DEC 38 84 E4 60 */ addi r4, r4, __ct__13J3DGXColorS10Fv@l /* 0x8000E460@l */ -/* 80315DF0 38 A0 00 00 */ li r5, 0 -/* 80315DF4 38 C0 00 08 */ li r6, 8 -/* 80315DF8 38 E0 00 04 */ li r7, 4 -/* 80315DFC 48 04 BF 65 */ bl __construct_array -/* 80315E00 38 7F 00 FA */ addi r3, r31, 0xfa -/* 80315E04 3C 80 80 01 */ lis r4, __ct__10J3DGXColorFv@ha /* 0x8000E538@ha */ -/* 80315E08 38 84 E5 38 */ addi r4, r4, __ct__10J3DGXColorFv@l /* 0x8000E538@l */ -/* 80315E0C 38 A0 00 00 */ li r5, 0 -/* 80315E10 38 C0 00 04 */ li r6, 4 -/* 80315E14 38 E0 00 04 */ li r7, 4 -/* 80315E18 48 04 BF 49 */ bl __construct_array -/* 80315E1C 38 7F 01 2A */ addi r3, r31, 0x12a -/* 80315E20 3C 80 80 01 */ lis r4, __ct__19J3DTevSwapModeTableFv@ha /* 0x8000E134@ha */ -/* 80315E24 38 84 E1 34 */ addi r4, r4, __ct__19J3DTevSwapModeTableFv@l /* 0x8000E134@l */ -/* 80315E28 38 A0 00 00 */ li r5, 0 -/* 80315E2C 38 C0 00 01 */ li r6, 1 -/* 80315E30 38 E0 00 04 */ li r7, 4 -/* 80315E34 48 04 BF 2D */ bl __construct_array -/* 80315E38 38 7F 01 30 */ addi r3, r31, 0x130 -/* 80315E3C 3C 80 80 01 */ lis r4, __ct__14J3DIndTevStageFv@ha /* 0x8000E14C@ha */ -/* 80315E40 38 84 E1 4C */ addi r4, r4, __ct__14J3DIndTevStageFv@l /* 0x8000E14C@l */ -/* 80315E44 38 A0 00 00 */ li r5, 0 -/* 80315E48 38 C0 00 04 */ li r6, 4 -/* 80315E4C 38 E0 00 10 */ li r7, 0x10 -/* 80315E50 48 04 BF 11 */ bl __construct_array -/* 80315E54 7F E3 FB 78 */ mr r3, r31 -/* 80315E58 48 00 1B A9 */ bl initialize__13J3DTevBlock16Fv -lbl_80315E5C: -/* 80315E5C 7F E0 FB 78 */ mr r0, r31 -lbl_80315E60: -/* 80315E60 7C 03 03 78 */ mr r3, r0 -/* 80315E64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80315E68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80315E6C 7C 08 03 A6 */ mtlr r0 -/* 80315E70 38 21 00 10 */ addi r1, r1, 0x10 -/* 80315E74 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/createTexGenBlock__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/createTexGenBlock__11J3DMaterialFUl.s deleted file mode 100644 index 4078e9836d..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/createTexGenBlock__11J3DMaterialFUl.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_803159A0: -/* 803159A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803159A4 7C 08 02 A6 */ mflr r0 -/* 803159A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803159AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803159B0 93 C1 00 08 */ stw r30, 8(r1) -/* 803159B4 3C 00 08 00 */ lis r0, 0x800 -/* 803159B8 7C 03 00 00 */ cmpw r3, r0 -/* 803159BC 41 82 00 14 */ beq lbl_803159D0 -/* 803159C0 40 80 00 A0 */ bge lbl_80315A60 -/* 803159C4 2C 03 00 00 */ cmpwi r3, 0 -/* 803159C8 41 82 00 98 */ beq lbl_80315A60 -/* 803159CC 48 00 00 94 */ b lbl_80315A60 -lbl_803159D0: -/* 803159D0 38 60 00 6C */ li r3, 0x6c -/* 803159D4 4B FB 92 79 */ bl __nw__FUl -/* 803159D8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 803159DC 41 82 00 7C */ beq lbl_80315A58 -/* 803159E0 7F FE FB 78 */ mr r30, r31 -/* 803159E4 3C 60 80 3D */ lis r3, __vt__14J3DTexGenBlock@ha /* 0x803CDE34@ha */ -/* 803159E8 38 03 DE 34 */ addi r0, r3, __vt__14J3DTexGenBlock@l /* 0x803CDE34@l */ -/* 803159EC 90 1F 00 00 */ stw r0, 0(r31) -/* 803159F0 3C 60 80 3D */ lis r3, __vt__21J3DTexGenBlockPatched@ha /* 0x803CE60C@ha */ -/* 803159F4 38 03 E6 0C */ addi r0, r3, __vt__21J3DTexGenBlockPatched@l /* 0x803CE60C@l */ -/* 803159F8 90 1F 00 00 */ stw r0, 0(r31) -/* 803159FC 38 7F 00 08 */ addi r3, r31, 8 -/* 80315A00 3C 80 80 01 */ lis r4, __ct__11J3DTexCoordFv@ha /* 0x8000E464@ha */ -/* 80315A04 38 84 E4 64 */ addi r4, r4, __ct__11J3DTexCoordFv@l /* 0x8000E464@l */ -/* 80315A08 38 A0 00 00 */ li r5, 0 -/* 80315A0C 38 C0 00 06 */ li r6, 6 -/* 80315A10 38 E0 00 08 */ li r7, 8 -/* 80315A14 48 04 C3 4D */ bl __construct_array -/* 80315A18 7F E3 FB 78 */ mr r3, r31 -/* 80315A1C 48 00 1C 29 */ bl initialize__21J3DTexGenBlockPatchedFv -/* 80315A20 3C 60 80 3D */ lis r3, __vt__15J3DTexGenBlock4@ha /* 0x803CE5A0@ha */ -/* 80315A24 38 03 E5 A0 */ addi r0, r3, __vt__15J3DTexGenBlock4@l /* 0x803CE5A0@l */ -/* 80315A28 90 1E 00 00 */ stw r0, 0(r30) -/* 80315A2C 3C 60 80 3A */ lis r3, j3dDefaultNBTScaleInfo@ha /* 0x803A1FE8@ha */ -/* 80315A30 8C 03 1F E8 */ lbzu r0, j3dDefaultNBTScaleInfo@l(r3) /* 0x803A1FE8@l */ -/* 80315A34 98 1E 00 5C */ stb r0, 0x5c(r30) -/* 80315A38 C0 03 00 04 */ lfs f0, 4(r3) -/* 80315A3C D0 1E 00 60 */ stfs f0, 0x60(r30) -/* 80315A40 C0 03 00 08 */ lfs f0, 8(r3) -/* 80315A44 D0 1E 00 64 */ stfs f0, 0x64(r30) -/* 80315A48 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 80315A4C D0 1E 00 68 */ stfs f0, 0x68(r30) -/* 80315A50 7F C3 F3 78 */ mr r3, r30 -/* 80315A54 48 00 1C 21 */ bl initialize__15J3DTexGenBlock4Fv -lbl_80315A58: -/* 80315A58 7F E3 FB 78 */ mr r3, r31 -/* 80315A5C 48 00 00 90 */ b lbl_80315AEC -lbl_80315A60: -/* 80315A60 38 60 00 6C */ li r3, 0x6c -/* 80315A64 4B FB 91 E9 */ bl __nw__FUl -/* 80315A68 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80315A6C 41 82 00 7C */ beq lbl_80315AE8 -/* 80315A70 7F FE FB 78 */ mr r30, r31 -/* 80315A74 3C 60 80 3D */ lis r3, __vt__14J3DTexGenBlock@ha /* 0x803CDE34@ha */ -/* 80315A78 38 03 DE 34 */ addi r0, r3, __vt__14J3DTexGenBlock@l /* 0x803CDE34@l */ -/* 80315A7C 90 1F 00 00 */ stw r0, 0(r31) -/* 80315A80 3C 60 80 3D */ lis r3, __vt__21J3DTexGenBlockPatched@ha /* 0x803CE60C@ha */ -/* 80315A84 38 03 E6 0C */ addi r0, r3, __vt__21J3DTexGenBlockPatched@l /* 0x803CE60C@l */ -/* 80315A88 90 1F 00 00 */ stw r0, 0(r31) -/* 80315A8C 38 7E 00 08 */ addi r3, r30, 8 -/* 80315A90 3C 80 80 01 */ lis r4, __ct__11J3DTexCoordFv@ha /* 0x8000E464@ha */ -/* 80315A94 38 84 E4 64 */ addi r4, r4, __ct__11J3DTexCoordFv@l /* 0x8000E464@l */ -/* 80315A98 38 A0 00 00 */ li r5, 0 -/* 80315A9C 38 C0 00 06 */ li r6, 6 -/* 80315AA0 38 E0 00 08 */ li r7, 8 -/* 80315AA4 48 04 C2 BD */ bl __construct_array -/* 80315AA8 7F C3 F3 78 */ mr r3, r30 -/* 80315AAC 48 00 1B 99 */ bl initialize__21J3DTexGenBlockPatchedFv -/* 80315AB0 3C 60 80 3D */ lis r3, __vt__19J3DTexGenBlockBasic@ha /* 0x803CE534@ha */ -/* 80315AB4 38 03 E5 34 */ addi r0, r3, __vt__19J3DTexGenBlockBasic@l /* 0x803CE534@l */ -/* 80315AB8 90 1F 00 00 */ stw r0, 0(r31) -/* 80315ABC 3C 60 80 3A */ lis r3, j3dDefaultNBTScaleInfo@ha /* 0x803A1FE8@ha */ -/* 80315AC0 8C 03 1F E8 */ lbzu r0, j3dDefaultNBTScaleInfo@l(r3) /* 0x803A1FE8@l */ -/* 80315AC4 98 1F 00 5C */ stb r0, 0x5c(r31) -/* 80315AC8 C0 03 00 04 */ lfs f0, 4(r3) -/* 80315ACC D0 1F 00 60 */ stfs f0, 0x60(r31) -/* 80315AD0 C0 03 00 08 */ lfs f0, 8(r3) -/* 80315AD4 D0 1F 00 64 */ stfs f0, 0x64(r31) -/* 80315AD8 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 80315ADC D0 1F 00 68 */ stfs f0, 0x68(r31) -/* 80315AE0 7F E3 FB 78 */ mr r3, r31 -/* 80315AE4 48 00 1B C1 */ bl initialize__19J3DTexGenBlockBasicFv -lbl_80315AE8: -/* 80315AE8 7F E3 FB 78 */ mr r3, r31 -lbl_80315AEC: -/* 80315AEC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80315AF0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80315AF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80315AF8 7C 08 03 A6 */ mtlr r0 -/* 80315AFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80315B00 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/diff__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/diff__11J3DMaterialFUl.s deleted file mode 100644 index e78635da16..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/diff__11J3DMaterialFUl.s +++ /dev/null @@ -1,132 +0,0 @@ -lbl_803167D8: -/* 803167D8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803167DC 7C 08 02 A6 */ mflr r0 -/* 803167E0 90 01 00 24 */ stw r0, 0x24(r1) -/* 803167E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 803167E8 48 04 B9 ED */ bl _savegpr_27 -/* 803167EC 7C 7D 1B 78 */ mr r29, r3 -/* 803167F0 7C 9E 23 78 */ mr r30, r4 -/* 803167F4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 803167F8 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 803167FC 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80316800 80 83 00 28 */ lwz r4, 0x28(r3) -/* 80316804 80 04 00 20 */ lwz r0, 0x20(r4) -/* 80316808 28 00 00 00 */ cmplwi r0, 0 -/* 8031680C 41 82 01 B8 */ beq lbl_803169C4 -/* 80316810 4B FF C2 15 */ bl beginDiff__12J3DMatPacketFv -/* 80316814 80 7D 00 2C */ lwz r3, 0x2c(r29) -/* 80316818 7F C4 F3 78 */ mr r4, r30 -/* 8031681C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316820 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80316824 7D 89 03 A6 */ mtctr r12 -/* 80316828 4E 80 04 21 */ bctrl -/* 8031682C 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 80316830 7F C4 F3 78 */ mr r4, r30 -/* 80316834 81 83 00 00 */ lwz r12, 0(r3) -/* 80316838 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8031683C 7D 89 03 A6 */ mtctr r12 -/* 80316840 4E 80 04 21 */ bctrl -/* 80316844 80 7D 00 34 */ lwz r3, 0x34(r29) -/* 80316848 7F C4 F3 78 */ mr r4, r30 -/* 8031684C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316850 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80316854 7D 89 03 A6 */ mtctr r12 -/* 80316858 4E 80 04 21 */ bctrl -/* 8031685C 57 C0 01 8D */ rlwinm. r0, r30, 0, 6, 6 -/* 80316860 41 82 01 2C */ beq lbl_8031698C -/* 80316864 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 80316868 81 83 00 00 */ lwz r12, 0(r3) -/* 8031686C 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 80316870 7D 89 03 A6 */ mtctr r12 -/* 80316874 4E 80 04 21 */ bctrl -/* 80316878 7C 7B 1B 78 */ mr r27, r3 -/* 8031687C 80 7D 00 2C */ lwz r3, 0x2c(r29) -/* 80316880 81 83 00 00 */ lwz r12, 0(r3) -/* 80316884 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80316888 7D 89 03 A6 */ mtctr r12 -/* 8031688C 4E 80 04 21 */ bctrl -/* 80316890 7C 7C 1B 78 */ mr r28, r3 -/* 80316894 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80316898 81 83 00 00 */ lwz r12, 0(r3) -/* 8031689C 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 803168A0 7D 89 03 A6 */ mtctr r12 -/* 803168A4 4E 80 04 21 */ bctrl -/* 803168A8 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 803168AC 7F 84 E3 78 */ mr r4, r28 -/* 803168B0 7F 65 DB 78 */ mr r5, r27 -/* 803168B4 4B FF 69 5D */ bl J3DGDSetGenMode_3Param__FUcUcUc -/* 803168B8 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 803168BC 81 83 00 00 */ lwz r12, 0(r3) -/* 803168C0 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 803168C4 7D 89 03 A6 */ mtctr r12 -/* 803168C8 4E 80 04 21 */ bctrl -/* 803168CC 38 C0 00 10 */ li r6, 0x10 -/* 803168D0 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803168D4 80 85 00 08 */ lwz r4, 8(r5) -/* 803168D8 38 04 00 01 */ addi r0, r4, 1 -/* 803168DC 90 05 00 08 */ stw r0, 8(r5) -/* 803168E0 98 C4 00 00 */ stb r6, 0(r4) -/* 803168E4 38 E0 00 00 */ li r7, 0 -/* 803168E8 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803168EC 80 85 00 08 */ lwz r4, 8(r5) -/* 803168F0 38 04 00 01 */ addi r0, r4, 1 -/* 803168F4 90 05 00 08 */ stw r0, 8(r5) -/* 803168F8 98 E4 00 00 */ stb r7, 0(r4) -/* 803168FC 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316900 80 85 00 08 */ lwz r4, 8(r5) -/* 80316904 38 04 00 01 */ addi r0, r4, 1 -/* 80316908 90 05 00 08 */ stw r0, 8(r5) -/* 8031690C 98 E4 00 00 */ stb r7, 0(r4) -/* 80316910 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316914 80 85 00 08 */ lwz r4, 8(r5) -/* 80316918 38 04 00 01 */ addi r0, r4, 1 -/* 8031691C 90 05 00 08 */ stw r0, 8(r5) -/* 80316920 98 C4 00 00 */ stb r6, 0(r4) -/* 80316924 38 C0 00 3F */ li r6, 0x3f -/* 80316928 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8031692C 80 85 00 08 */ lwz r4, 8(r5) -/* 80316930 38 04 00 01 */ addi r0, r4, 1 -/* 80316934 90 05 00 08 */ stw r0, 8(r5) -/* 80316938 98 C4 00 00 */ stb r6, 0(r4) -/* 8031693C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316940 80 85 00 08 */ lwz r4, 8(r5) -/* 80316944 38 04 00 01 */ addi r0, r4, 1 -/* 80316948 90 05 00 08 */ stw r0, 8(r5) -/* 8031694C 98 E4 00 00 */ stb r7, 0(r4) -/* 80316950 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316954 80 85 00 08 */ lwz r4, 8(r5) -/* 80316958 38 04 00 01 */ addi r0, r4, 1 -/* 8031695C 90 05 00 08 */ stw r0, 8(r5) -/* 80316960 98 E4 00 00 */ stb r7, 0(r4) -/* 80316964 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316968 80 85 00 08 */ lwz r4, 8(r5) -/* 8031696C 38 04 00 01 */ addi r0, r4, 1 -/* 80316970 90 05 00 08 */ stw r0, 8(r5) -/* 80316974 98 E4 00 00 */ stb r7, 0(r4) -/* 80316978 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8031697C 80 85 00 08 */ lwz r4, 8(r5) -/* 80316980 38 04 00 01 */ addi r0, r4, 1 -/* 80316984 90 05 00 08 */ stw r0, 8(r5) -/* 80316988 98 64 00 00 */ stb r3, 0(r4) -lbl_8031698C: -/* 8031698C 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80316990 7F C4 F3 78 */ mr r4, r30 -/* 80316994 81 83 00 00 */ lwz r12, 0(r3) -/* 80316998 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8031699C 7D 89 03 A6 */ mtctr r12 -/* 803169A0 4E 80 04 21 */ bctrl -/* 803169A4 80 7D 00 24 */ lwz r3, 0x24(r29) -/* 803169A8 7F C4 F3 78 */ mr r4, r30 -/* 803169AC 81 83 00 00 */ lwz r12, 0(r3) -/* 803169B0 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 803169B4 7D 89 03 A6 */ mtctr r12 -/* 803169B8 4E 80 04 21 */ bctrl -/* 803169BC 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 803169C0 4B FF C0 8D */ bl endDiff__12J3DMatPacketFv -lbl_803169C4: -/* 803169C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 803169C8 48 04 B8 59 */ bl _restgpr_27 -/* 803169CC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803169D0 7C 08 03 A6 */ mtlr r0 -/* 803169D4 38 21 00 20 */ addi r1, r1, 0x20 -/* 803169D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__11J3DMaterialFv.s deleted file mode 100644 index a335d9e0a3..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__11J3DMaterialFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80316240: -/* 80316240 38 A0 00 00 */ li r5, 0 -/* 80316244 90 A3 00 08 */ stw r5, 8(r3) -/* 80316248 90 A3 00 04 */ stw r5, 4(r3) -/* 8031624C 90 A3 00 0C */ stw r5, 0xc(r3) -/* 80316250 38 00 00 01 */ li r0, 1 -/* 80316254 90 03 00 10 */ stw r0, 0x10(r3) -/* 80316258 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 8031625C 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 80316260 B0 03 00 14 */ sth r0, 0x14(r3) -/* 80316264 90 A3 00 18 */ stw r5, 0x18(r3) -/* 80316268 90 A3 00 20 */ stw r5, 0x20(r3) -/* 8031626C 90 A3 00 24 */ stw r5, 0x24(r3) -/* 80316270 90 A3 00 28 */ stw r5, 0x28(r3) -/* 80316274 90 A3 00 2C */ stw r5, 0x2c(r3) -/* 80316278 90 A3 00 30 */ stw r5, 0x30(r3) -/* 8031627C 90 A3 00 34 */ stw r5, 0x34(r3) -/* 80316280 90 A3 00 38 */ stw r5, 0x38(r3) -/* 80316284 90 A3 00 3C */ stw r5, 0x3c(r3) -/* 80316288 90 A3 00 48 */ stw r5, 0x48(r3) -/* 8031628C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__17J3DLockedMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__17J3DLockedMaterialFv.s deleted file mode 100644 index 4e3211849a..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__17J3DLockedMaterialFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80317044: -/* 80317044 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80317048 7C 08 02 A6 */ mflr r0 -/* 8031704C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80317050 4B FF F1 F1 */ bl initialize__11J3DMaterialFv -/* 80317054 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80317058 7C 08 03 A6 */ mtlr r0 -/* 8031705C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80317060 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__18J3DPatchedMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__18J3DPatchedMaterialFv.s deleted file mode 100644 index 5e4541e975..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/initialize__18J3DPatchedMaterialFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80316FB8: -/* 80316FB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316FBC 7C 08 02 A6 */ mflr r0 -/* 80316FC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316FC4 4B FF F2 7D */ bl initialize__11J3DMaterialFv -/* 80316FC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316FCC 7C 08 03 A6 */ mtlr r0 -/* 80316FD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316FD4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/loadSharedDL__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/loadSharedDL__11J3DMaterialFv.s deleted file mode 100644 index eabeb63f60..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/loadSharedDL__11J3DMaterialFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_803166DC: -/* 803166DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803166E0 7C 08 02 A6 */ mflr r0 -/* 803166E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 803166E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803166EC 7C 7F 1B 78 */ mr r31, r3 -/* 803166F0 80 03 00 10 */ lwz r0, 0x10(r3) -/* 803166F4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 803166F8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 803166FC 90 03 00 54 */ stw r0, 0x54(r3) -/* 80316700 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80316704 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80316708 40 82 00 24 */ bne lbl_8031672C -/* 8031670C 80 7F 00 48 */ lwz r3, 0x48(r31) -/* 80316710 4B FF BF 09 */ bl callDL__17J3DDisplayListObjCFv -/* 80316714 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 80316718 81 83 00 00 */ lwz r12, 0(r3) -/* 8031671C 81 8C 00 5C */ lwz r12, 0x5c(r12) -/* 80316720 7D 89 03 A6 */ mtctr r12 -/* 80316724 4E 80 04 21 */ bctrl -/* 80316728 48 00 DA 39 */ bl loadNBTScale__FR11J3DNBTScale -lbl_8031672C: -/* 8031672C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80316730 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316734 7C 08 03 A6 */ mtlr r0 -/* 80316738 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031673C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/load__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/load__11J3DMaterialFv.s deleted file mode 100644 index fa334326ff..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/load__11J3DMaterialFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8031668C: -/* 8031668C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316690 7C 08 02 A6 */ mflr r0 -/* 80316694 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316698 80 03 00 10 */ lwz r0, 0x10(r3) -/* 8031669C 3C 80 80 43 */ lis r4, j3dSys@ha /* 0x80434AC8@ha */ -/* 803166A0 38 84 4A C8 */ addi r4, r4, j3dSys@l /* 0x80434AC8@l */ -/* 803166A4 90 04 00 54 */ stw r0, 0x54(r4) -/* 803166A8 80 04 00 34 */ lwz r0, 0x34(r4) -/* 803166AC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 803166B0 40 82 00 1C */ bne lbl_803166CC -/* 803166B4 80 63 00 28 */ lwz r3, 0x28(r3) -/* 803166B8 81 83 00 00 */ lwz r12, 0(r3) -/* 803166BC 81 8C 00 5C */ lwz r12, 0x5c(r12) -/* 803166C0 7D 89 03 A6 */ mtctr r12 -/* 803166C4 4E 80 04 21 */ bctrl -/* 803166C8 48 00 DA 99 */ bl loadNBTScale__FR11J3DNBTScale -lbl_803166CC: -/* 803166CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803166D0 7C 08 03 A6 */ mtlr r0 -/* 803166D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 803166D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/load__17J3DLockedMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/load__17J3DLockedMaterialFv.s deleted file mode 100644 index 350a8f90e5..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/load__17J3DLockedMaterialFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8031706C: -/* 8031706C 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80317070 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80317074 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80317078 90 03 00 54 */ stw r0, 0x54(r3) -/* 8031707C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80317080 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80317084 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/load__18J3DPatchedMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/load__18J3DPatchedMaterialFv.s deleted file mode 100644 index 2264b56dab..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/load__18J3DPatchedMaterialFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80316FE0: -/* 80316FE0 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80316FE4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80316FE8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80316FEC 90 03 00 54 */ stw r0, 0x54(r3) -/* 80316FF0 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80316FF4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80316FF8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList__11J3DMaterialFv.s deleted file mode 100644 index 499c0eff3e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList__11J3DMaterialFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80316620: -/* 80316620 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316624 7C 08 02 A6 */ mflr r0 -/* 80316628 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031662C 3C 80 80 43 */ lis r4, j3dSys@ha /* 0x80434AC8@ha */ -/* 80316630 38 84 4A C8 */ addi r4, r4, j3dSys@l /* 0x80434AC8@l */ -/* 80316634 80 A4 00 3C */ lwz r5, 0x3c(r4) -/* 80316638 80 05 00 10 */ lwz r0, 0x10(r5) -/* 8031663C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80316640 40 82 00 18 */ bne lbl_80316658 -/* 80316644 80 03 00 20 */ lwz r0, 0x20(r3) -/* 80316648 90 05 00 34 */ stw r0, 0x34(r5) -/* 8031664C 80 84 00 3C */ lwz r4, 0x3c(r4) -/* 80316650 80 84 00 20 */ lwz r4, 0x20(r4) -/* 80316654 4B FF FC F1 */ bl makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj -lbl_80316658: -/* 80316658 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031665C 7C 08 03 A6 */ mtlr r0 -/* 80316660 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316664 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj.s b/asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj.s deleted file mode 100644 index c2f3019130..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj.s +++ /dev/null @@ -1,184 +0,0 @@ -lbl_80316344: -/* 80316344 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80316348 7C 08 02 A6 */ mflr r0 -/* 8031634C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80316350 39 61 00 20 */ addi r11, r1, 0x20 -/* 80316354 48 04 BE 7D */ bl _savegpr_26 -/* 80316358 7C 7E 1B 78 */ mr r30, r3 -/* 8031635C 7C 9F 23 78 */ mr r31, r4 -/* 80316360 7F E3 FB 78 */ mr r3, r31 -/* 80316364 4B FF C2 E1 */ bl beginDL__17J3DDisplayListObjFv -/* 80316368 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 8031636C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316370 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80316374 7D 89 03 A6 */ mtctr r12 -/* 80316378 4E 80 04 21 */ bctrl -/* 8031637C 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 80316380 81 83 00 00 */ lwz r12, 0(r3) -/* 80316384 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80316388 7D 89 03 A6 */ mtctr r12 -/* 8031638C 4E 80 04 21 */ bctrl -/* 80316390 80 7E 00 34 */ lwz r3, 0x34(r30) -/* 80316394 81 83 00 00 */ lwz r12, 0(r3) -/* 80316398 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8031639C 7D 89 03 A6 */ mtctr r12 -/* 803163A0 4E 80 04 21 */ bctrl -/* 803163A4 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 803163A8 81 83 00 00 */ lwz r12, 0(r3) -/* 803163AC 81 8C 00 78 */ lwz r12, 0x78(r12) -/* 803163B0 7D 89 03 A6 */ mtctr r12 -/* 803163B4 4E 80 04 21 */ bctrl -/* 803163B8 54 7A 06 3E */ clrlwi r26, r3, 0x18 -/* 803163BC 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 803163C0 81 83 00 00 */ lwz r12, 0(r3) -/* 803163C4 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 803163C8 7D 89 03 A6 */ mtctr r12 -/* 803163CC 4E 80 04 21 */ bctrl -/* 803163D0 7C 7B 1B 78 */ mr r27, r3 -/* 803163D4 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 803163D8 81 83 00 00 */ lwz r12, 0(r3) -/* 803163DC 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 803163E0 7D 89 03 A6 */ mtctr r12 -/* 803163E4 4E 80 04 21 */ bctrl -/* 803163E8 7C 7C 1B 78 */ mr r28, r3 -/* 803163EC 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 803163F0 81 83 00 00 */ lwz r12, 0(r3) -/* 803163F4 81 8C 00 58 */ lwz r12, 0x58(r12) -/* 803163F8 7D 89 03 A6 */ mtctr r12 -/* 803163FC 4E 80 04 21 */ bctrl -/* 80316400 7C 7D 1B 78 */ mr r29, r3 -/* 80316404 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80316408 81 83 00 00 */ lwz r12, 0(r3) -/* 8031640C 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 80316410 7D 89 03 A6 */ mtctr r12 -/* 80316414 4E 80 04 21 */ bctrl -/* 80316418 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8031641C 7F A4 EB 78 */ mr r4, r29 -/* 80316420 7F 85 E3 78 */ mr r5, r28 -/* 80316424 7F 66 DB 78 */ mr r6, r27 -/* 80316428 7F 47 D3 78 */ mr r7, r26 -/* 8031642C 4B FF 6C 6D */ bl J3DGDSetGenMode__FUcUcUcUc11_GXCullMode -/* 80316430 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80316434 81 83 00 00 */ lwz r12, 0(r3) -/* 80316438 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8031643C 7D 89 03 A6 */ mtctr r12 -/* 80316440 4E 80 04 21 */ bctrl -/* 80316444 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 80316448 81 83 00 00 */ lwz r12, 0(r3) -/* 8031644C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80316450 7D 89 03 A6 */ mtctr r12 -/* 80316454 4E 80 04 21 */ bctrl -/* 80316458 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 8031645C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316460 81 8C 00 58 */ lwz r12, 0x58(r12) -/* 80316464 7D 89 03 A6 */ mtctr r12 -/* 80316468 4E 80 04 21 */ bctrl -/* 8031646C 38 C0 00 10 */ li r6, 0x10 -/* 80316470 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316474 80 85 00 08 */ lwz r4, 8(r5) -/* 80316478 38 04 00 01 */ addi r0, r4, 1 -/* 8031647C 90 05 00 08 */ stw r0, 8(r5) -/* 80316480 98 C4 00 00 */ stb r6, 0(r4) -/* 80316484 38 E0 00 00 */ li r7, 0 -/* 80316488 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8031648C 80 85 00 08 */ lwz r4, 8(r5) -/* 80316490 38 04 00 01 */ addi r0, r4, 1 -/* 80316494 90 05 00 08 */ stw r0, 8(r5) -/* 80316498 98 E4 00 00 */ stb r7, 0(r4) -/* 8031649C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803164A0 80 85 00 08 */ lwz r4, 8(r5) -/* 803164A4 38 04 00 01 */ addi r0, r4, 1 -/* 803164A8 90 05 00 08 */ stw r0, 8(r5) -/* 803164AC 98 E4 00 00 */ stb r7, 0(r4) -/* 803164B0 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803164B4 80 85 00 08 */ lwz r4, 8(r5) -/* 803164B8 38 04 00 01 */ addi r0, r4, 1 -/* 803164BC 90 05 00 08 */ stw r0, 8(r5) -/* 803164C0 98 C4 00 00 */ stb r6, 0(r4) -/* 803164C4 38 C0 00 09 */ li r6, 9 -/* 803164C8 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803164CC 80 85 00 08 */ lwz r4, 8(r5) -/* 803164D0 38 04 00 01 */ addi r0, r4, 1 -/* 803164D4 90 05 00 08 */ stw r0, 8(r5) -/* 803164D8 98 C4 00 00 */ stb r6, 0(r4) -/* 803164DC 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803164E0 80 85 00 08 */ lwz r4, 8(r5) -/* 803164E4 38 04 00 01 */ addi r0, r4, 1 -/* 803164E8 90 05 00 08 */ stw r0, 8(r5) -/* 803164EC 98 E4 00 00 */ stb r7, 0(r4) -/* 803164F0 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803164F4 80 85 00 08 */ lwz r4, 8(r5) -/* 803164F8 38 04 00 01 */ addi r0, r4, 1 -/* 803164FC 90 05 00 08 */ stw r0, 8(r5) -/* 80316500 98 E4 00 00 */ stb r7, 0(r4) -/* 80316504 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316508 80 85 00 08 */ lwz r4, 8(r5) -/* 8031650C 38 04 00 01 */ addi r0, r4, 1 -/* 80316510 90 05 00 08 */ stw r0, 8(r5) -/* 80316514 98 E4 00 00 */ stb r7, 0(r4) -/* 80316518 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8031651C 80 85 00 08 */ lwz r4, 8(r5) -/* 80316520 38 04 00 01 */ addi r0, r4, 1 -/* 80316524 90 05 00 08 */ stw r0, 8(r5) -/* 80316528 98 64 00 00 */ stb r3, 0(r4) -/* 8031652C 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80316530 81 83 00 00 */ lwz r12, 0(r3) -/* 80316534 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 80316538 7D 89 03 A6 */ mtctr r12 -/* 8031653C 4E 80 04 21 */ bctrl -/* 80316540 38 C0 00 10 */ li r6, 0x10 -/* 80316544 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316548 80 85 00 08 */ lwz r4, 8(r5) -/* 8031654C 38 04 00 01 */ addi r0, r4, 1 -/* 80316550 90 05 00 08 */ stw r0, 8(r5) -/* 80316554 98 C4 00 00 */ stb r6, 0(r4) -/* 80316558 38 E0 00 00 */ li r7, 0 -/* 8031655C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316560 80 85 00 08 */ lwz r4, 8(r5) -/* 80316564 38 04 00 01 */ addi r0, r4, 1 -/* 80316568 90 05 00 08 */ stw r0, 8(r5) -/* 8031656C 98 E4 00 00 */ stb r7, 0(r4) -/* 80316570 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316574 80 85 00 08 */ lwz r4, 8(r5) -/* 80316578 38 04 00 01 */ addi r0, r4, 1 -/* 8031657C 90 05 00 08 */ stw r0, 8(r5) -/* 80316580 98 E4 00 00 */ stb r7, 0(r4) -/* 80316584 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80316588 80 85 00 08 */ lwz r4, 8(r5) -/* 8031658C 38 04 00 01 */ addi r0, r4, 1 -/* 80316590 90 05 00 08 */ stw r0, 8(r5) -/* 80316594 98 C4 00 00 */ stb r6, 0(r4) -/* 80316598 38 C0 00 3F */ li r6, 0x3f -/* 8031659C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803165A0 80 85 00 08 */ lwz r4, 8(r5) -/* 803165A4 38 04 00 01 */ addi r0, r4, 1 -/* 803165A8 90 05 00 08 */ stw r0, 8(r5) -/* 803165AC 98 C4 00 00 */ stb r6, 0(r4) -/* 803165B0 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803165B4 80 85 00 08 */ lwz r4, 8(r5) -/* 803165B8 38 04 00 01 */ addi r0, r4, 1 -/* 803165BC 90 05 00 08 */ stw r0, 8(r5) -/* 803165C0 98 E4 00 00 */ stb r7, 0(r4) -/* 803165C4 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803165C8 80 85 00 08 */ lwz r4, 8(r5) -/* 803165CC 38 04 00 01 */ addi r0, r4, 1 -/* 803165D0 90 05 00 08 */ stw r0, 8(r5) -/* 803165D4 98 E4 00 00 */ stb r7, 0(r4) -/* 803165D8 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803165DC 80 85 00 08 */ lwz r4, 8(r5) -/* 803165E0 38 04 00 01 */ addi r0, r4, 1 -/* 803165E4 90 05 00 08 */ stw r0, 8(r5) -/* 803165E8 98 E4 00 00 */ stb r7, 0(r4) -/* 803165EC 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803165F0 80 85 00 08 */ lwz r4, 8(r5) -/* 803165F4 38 04 00 01 */ addi r0, r4, 1 -/* 803165F8 90 05 00 08 */ stw r0, 8(r5) -/* 803165FC 98 64 00 00 */ stb r3, 0(r4) -/* 80316600 7F E3 FB 78 */ mr r3, r31 -/* 80316604 4B FF C0 95 */ bl endDL__17J3DDisplayListObjFv -/* 80316608 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031660C 48 04 BC 11 */ bl _restgpr_26 -/* 80316610 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80316614 7C 08 03 A6 */ mtlr r0 -/* 80316618 38 21 00 20 */ addi r1, r1, 0x20 -/* 8031661C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/makeSharedDisplayList__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/makeSharedDisplayList__11J3DMaterialFv.s deleted file mode 100644 index 81cc3c78e1..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/makeSharedDisplayList__11J3DMaterialFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80316668: -/* 80316668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031666C 7C 08 02 A6 */ mflr r0 -/* 80316670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316674 80 83 00 48 */ lwz r4, 0x48(r3) -/* 80316678 4B FF FC CD */ bl makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj -/* 8031667C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316680 7C 08 03 A6 */ mtlr r0 -/* 80316684 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316688 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/newSharedDisplayList__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/newSharedDisplayList__11J3DMaterialFUl.s deleted file mode 100644 index 050fb372da..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/newSharedDisplayList__11J3DMaterialFUl.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80316E90: -/* 80316E90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316E94 7C 08 02 A6 */ mflr r0 -/* 80316E98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316E9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80316EA0 93 C1 00 08 */ stw r30, 8(r1) -/* 80316EA4 7C 7E 1B 78 */ mr r30, r3 -/* 80316EA8 7C 9F 23 78 */ mr r31, r4 -/* 80316EAC 80 03 00 48 */ lwz r0, 0x48(r3) -/* 80316EB0 28 00 00 00 */ cmplwi r0, 0 -/* 80316EB4 40 82 00 54 */ bne lbl_80316F08 -/* 80316EB8 38 60 00 10 */ li r3, 0x10 -/* 80316EBC 4B FB 7D 91 */ bl __nw__FUl -/* 80316EC0 28 03 00 00 */ cmplwi r3, 0 -/* 80316EC4 41 82 00 18 */ beq lbl_80316EDC -/* 80316EC8 38 00 00 00 */ li r0, 0 -/* 80316ECC 90 03 00 00 */ stw r0, 0(r3) -/* 80316ED0 90 03 00 04 */ stw r0, 4(r3) -/* 80316ED4 90 03 00 08 */ stw r0, 8(r3) -/* 80316ED8 90 03 00 0C */ stw r0, 0xc(r3) -lbl_80316EDC: -/* 80316EDC 90 7E 00 48 */ stw r3, 0x48(r30) -/* 80316EE0 80 7E 00 48 */ lwz r3, 0x48(r30) -/* 80316EE4 28 03 00 00 */ cmplwi r3, 0 -/* 80316EE8 40 82 00 0C */ bne lbl_80316EF4 -/* 80316EEC 38 60 00 04 */ li r3, 4 -/* 80316EF0 48 00 00 1C */ b lbl_80316F0C -lbl_80316EF4: -/* 80316EF4 7F E4 FB 78 */ mr r4, r31 -/* 80316EF8 4B FF B5 91 */ bl newDisplayList__17J3DDisplayListObjFUl -/* 80316EFC 2C 03 00 00 */ cmpwi r3, 0 -/* 80316F00 41 82 00 08 */ beq lbl_80316F08 -/* 80316F04 48 00 00 08 */ b lbl_80316F0C -lbl_80316F08: -/* 80316F08 38 60 00 00 */ li r3, 0 -lbl_80316F0C: -/* 80316F0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80316F10 83 C1 00 08 */ lwz r30, 8(r1) -/* 80316F14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316F18 7C 08 03 A6 */ mtlr r0 -/* 80316F1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316F20 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/newSingleSharedDisplayList__11J3DMaterialFUl.s b/asm/JSystem/J3DGraphBase/J3DMaterial/newSingleSharedDisplayList__11J3DMaterialFUl.s deleted file mode 100644 index 4038612428..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/newSingleSharedDisplayList__11J3DMaterialFUl.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80316F24: -/* 80316F24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316F28 7C 08 02 A6 */ mflr r0 -/* 80316F2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316F30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80316F34 93 C1 00 08 */ stw r30, 8(r1) -/* 80316F38 7C 7E 1B 78 */ mr r30, r3 -/* 80316F3C 7C 9F 23 78 */ mr r31, r4 -/* 80316F40 80 03 00 48 */ lwz r0, 0x48(r3) -/* 80316F44 28 00 00 00 */ cmplwi r0, 0 -/* 80316F48 40 82 00 54 */ bne lbl_80316F9C -/* 80316F4C 38 60 00 10 */ li r3, 0x10 -/* 80316F50 4B FB 7C FD */ bl __nw__FUl -/* 80316F54 28 03 00 00 */ cmplwi r3, 0 -/* 80316F58 41 82 00 18 */ beq lbl_80316F70 -/* 80316F5C 38 00 00 00 */ li r0, 0 -/* 80316F60 90 03 00 00 */ stw r0, 0(r3) -/* 80316F64 90 03 00 04 */ stw r0, 4(r3) -/* 80316F68 90 03 00 08 */ stw r0, 8(r3) -/* 80316F6C 90 03 00 0C */ stw r0, 0xc(r3) -lbl_80316F70: -/* 80316F70 90 7E 00 48 */ stw r3, 0x48(r30) -/* 80316F74 80 7E 00 48 */ lwz r3, 0x48(r30) -/* 80316F78 28 03 00 00 */ cmplwi r3, 0 -/* 80316F7C 40 82 00 0C */ bne lbl_80316F88 -/* 80316F80 38 60 00 04 */ li r3, 4 -/* 80316F84 48 00 00 1C */ b lbl_80316FA0 -lbl_80316F88: -/* 80316F88 7F E4 FB 78 */ mr r4, r31 -/* 80316F8C 4B FF B5 7D */ bl newSingleDisplayList__17J3DDisplayListObjFUl -/* 80316F90 2C 03 00 00 */ cmpwi r3, 0 -/* 80316F94 41 82 00 08 */ beq lbl_80316F9C -/* 80316F98 48 00 00 08 */ b lbl_80316FA0 -lbl_80316F9C: -/* 80316F9C 38 60 00 00 */ li r3, 0 -lbl_80316FA0: -/* 80316FA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80316FA4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80316FA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316FAC 7C 08 03 A6 */ mtlr r0 -/* 80316FB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316FB4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/patch__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/patch__11J3DMaterialFv.s deleted file mode 100644 index ed6e74d00e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/patch__11J3DMaterialFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80316740: -/* 80316740 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316744 7C 08 02 A6 */ mflr r0 -/* 80316748 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031674C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80316750 93 C1 00 08 */ stw r30, 8(r1) -/* 80316754 7C 7E 1B 78 */ mr r30, r3 -/* 80316758 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8031675C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80316760 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80316764 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80316768 90 03 00 34 */ stw r0, 0x34(r3) -/* 8031676C 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80316770 80 63 00 20 */ lwz r3, 0x20(r3) -/* 80316774 4B FF BF 81 */ bl beginPatch__17J3DDisplayListObjFv -/* 80316778 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 8031677C 81 83 00 00 */ lwz r12, 0(r3) -/* 80316780 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 80316784 7D 89 03 A6 */ mtctr r12 -/* 80316788 4E 80 04 21 */ bctrl -/* 8031678C 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 80316790 81 83 00 00 */ lwz r12, 0(r3) -/* 80316794 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80316798 7D 89 03 A6 */ mtctr r12 -/* 8031679C 4E 80 04 21 */ bctrl -/* 803167A0 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 803167A4 81 83 00 00 */ lwz r12, 0(r3) -/* 803167A8 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 803167AC 7D 89 03 A6 */ mtctr r12 -/* 803167B0 4E 80 04 21 */ bctrl -/* 803167B4 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 803167B8 80 63 00 20 */ lwz r3, 0x20(r3) -/* 803167BC 4B FF BF 59 */ bl endPatch__17J3DDisplayListObjFv -/* 803167C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803167C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 803167C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803167CC 7C 08 03 A6 */ mtlr r0 -/* 803167D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803167D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/reset__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/reset__11J3DMaterialFv.s deleted file mode 100644 index ddd9c896ee..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/reset__11J3DMaterialFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80316E14: -/* 80316E14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80316E18 7C 08 02 A6 */ mflr r0 -/* 80316E1C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80316E20 80 83 00 20 */ lwz r4, 0x20(r3) -/* 80316E24 7C 80 20 F8 */ nor r0, r4, r4 -/* 80316E28 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 80316E2C 40 82 00 34 */ bne lbl_80316E60 -/* 80316E30 54 80 00 7E */ clrlwi r0, r4, 1 -/* 80316E34 90 03 00 20 */ stw r0, 0x20(r3) -/* 80316E38 80 83 00 38 */ lwz r4, 0x38(r3) -/* 80316E3C 80 04 00 10 */ lwz r0, 0x10(r4) -/* 80316E40 90 03 00 10 */ stw r0, 0x10(r3) -/* 80316E44 80 83 00 38 */ lwz r4, 0x38(r3) -/* 80316E48 80 04 00 18 */ lwz r0, 0x18(r4) -/* 80316E4C 90 03 00 18 */ stw r0, 0x18(r3) -/* 80316E50 38 00 00 00 */ li r0, 0 -/* 80316E54 90 03 00 3C */ stw r0, 0x3c(r3) -/* 80316E58 80 83 00 38 */ lwz r4, 0x38(r3) -/* 80316E5C 4B FF FF 0D */ bl copy__11J3DMaterialFP11J3DMaterial -lbl_80316E60: -/* 80316E60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80316E64 7C 08 03 A6 */ mtlr r0 -/* 80316E68 38 21 00 10 */ addi r1, r1, 0x10 -/* 80316E6C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DMaterial/setCurrentMtx__11J3DMaterialFv.s b/asm/JSystem/J3DGraphBase/J3DMaterial/setCurrentMtx__11J3DMaterialFv.s deleted file mode 100644 index 93f9edc34d..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DMaterial/setCurrentMtx__11J3DMaterialFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80316AB0: -/* 80316AB0 80 83 00 08 */ lwz r4, 8(r3) -/* 80316AB4 80 03 00 40 */ lwz r0, 0x40(r3) -/* 80316AB8 90 04 00 40 */ stw r0, 0x40(r4) -/* 80316ABC 80 03 00 44 */ lwz r0, 0x44(r3) -/* 80316AC0 90 04 00 44 */ stw r0, 0x44(r4) -/* 80316AC4 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphBase/J3DGD.h b/include/JSystem/J3DGraphBase/J3DGD.h index 6cd5659f57..87ab8b94a6 100644 --- a/include/JSystem/J3DGraphBase/J3DGD.h +++ b/include/JSystem/J3DGraphBase/J3DGD.h @@ -3,6 +3,33 @@ #include "dolphin/types.h" #include "dolphin/gx/GX.h" +#include "dolphin/gd/GDBase.h" + +inline void J3DGDWrite_u8(u8 param) { + __GDWrite(param); +} + +inline void J3DGDWrite_u16(u16 param) { + __GDWrite((param & 0xffff) >> 8); + __GDWrite(param & 0xff); +} + +inline void J3DGDWrite_u32(u32 param) { + __GDWrite((param >> 24) & 0xff); + __GDWrite((param >> 16) & 0xff); + __GDWrite((param >> 8) & 0xff); + __GDWrite(param & 0xff); +} + +inline void J3DGDWriteXFCmd(u16 param_1, u32 param_2) { + J3DGDWrite_u8(0x10); + J3DGDWrite_u16(0); + J3DGDWrite_u16(param_1); + J3DGDWrite_u32(param_2); +} + +void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode); +void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum); static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) { GFX_FIFO(u8) = cmd; @@ -10,4 +37,12 @@ static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) { GFX_FIFO(u16) = addr; } +inline void J3DGDSetNumChans(u8 numChans) { + J3DGDWriteXFCmd(0x1009, numChans); +} + +inline void J3DGDSetNumTexGens(u8 numTexGens) { + J3DGDWriteXFCmd(0x103f, numTexGens); +} + #endif /* J3DGD_H */ diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index c7c28056f5..ed9ffd645c 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -27,9 +27,16 @@ struct J3DNBTScaleInfo { }; // Size: 0x10 struct J3DNBTScale : public J3DNBTScaleInfo { + J3DNBTScale() {} + J3DNBTScale(J3DNBTScaleInfo const& info) { + mbHasScale = info.mbHasScale; + mScale = info.mScale; + } Vec* getScale() { return &mScale; } }; +extern const J3DNBTScaleInfo j3dDefaultNBTScaleInfo; + class J3DTexGenBlock { public: /* 80317354 */ virtual void reset(J3DTexGenBlock*); @@ -61,6 +68,9 @@ public: class J3DTexGenBlockPatched : public J3DTexGenBlock { public: + J3DTexGenBlockPatched() { + initialize(); + } /* 80317644 */ void initialize(); /* 80320084 */ virtual void reset(J3DTexGenBlock*); @@ -88,13 +98,16 @@ public: private: /* 0x04 */ u32 mTexGenNum; - /* 0x08 */ J3DTexCoord mTexCoord[9]; + /* 0x08 */ J3DTexCoord mTexCoord[8]; /* 0x38 */ J3DTexMtx* mTexMtx[8]; /* 0x58 */ u32 mTexMtxOffset; }; // Size: 0x5C class J3DTexGenBlockBasic : public J3DTexGenBlockPatched { public: + J3DTexGenBlockBasic() : mNBTScale(j3dDefaultNBTScaleInfo) { + initialize(); + } /* 803176A4 */ void initialize(); /* 803202DC */ virtual void reset(J3DTexGenBlock*); @@ -113,6 +126,9 @@ private: class J3DTexGenBlock4 : public J3DTexGenBlockPatched { public: + J3DTexGenBlock4() : mNBTScale(j3dDefaultNBTScaleInfo) { + initialize(); + } /* 80317674 */ void initialize(); /* 803201A0 */ virtual void reset(J3DTexGenBlock*); @@ -193,6 +209,9 @@ private: class J3DTevBlockPatched : public J3DTevBlock { public: + J3DTevBlockPatched() { + initialize(); + } /* 803176E0 */ void initialize(); /* 80320418 */ virtual void reset(J3DTevBlock*); @@ -257,6 +276,9 @@ class J3DTevBlockNull : public J3DTevBlock { class J3DTevBlock4 : public J3DTevBlock { public: + J3DTevBlock4() { + initialize(); + } /* 803178EC */ void initialize(); /* 8032098C */ virtual void reset(J3DTevBlock*); @@ -327,6 +349,9 @@ private: class J3DTevBlock2 : public J3DTevBlock { public: + J3DTevBlock2() { + initialize(); + } /* 80317810 */ void initialize(); /* 803206AC */ virtual void reset(J3DTevBlock*); @@ -397,6 +422,9 @@ private: class J3DTevBlock16 : public J3DTevBlock { public: + J3DTevBlock16() { + initialize(); + } /* 80317A00 */ void initialize(); /* 80320E24 */ virtual void reset(J3DTevBlock*); @@ -467,6 +495,9 @@ private: class J3DTevBlock1 : public J3DTevBlock { public: + J3DTevBlock1() { + initialize(); + } /* 803177E8 */ void initialize(); /* 803205D4 */ virtual void reset(J3DTevBlock*); @@ -509,18 +540,32 @@ private: /* 0x18 */ J3DIndTevStage mIndTevStage[1]; }; // Size: 0x1C +extern const u16 j3dDefaultZModeID; + struct J3DZMode { + J3DZMode() { + mZModeID = j3dDefaultZModeID; + } /* 0x0 */ u16 mZModeID; }; struct J3DBlendInfo { + void operator=(J3DBlendInfo const& other) { + *(int*)&mType = *(int*)&other.mType; + } /* 0x0 */ u8 mType; /* 0x1 */ u8 mSrcFactor; /* 0x2 */ u8 mDstFactor; /* 0x3 */ u8 mOp; }; -struct J3DBlend : public J3DBlendInfo {}; +extern const J3DBlendInfo j3dDefaultBlendInfo; + +struct J3DBlend : public J3DBlendInfo { + J3DBlend() { + *(J3DBlendInfo*)this = j3dDefaultBlendInfo; + } +}; struct J3DFogInfo { /* 80325800 */ void operator=(J3DFogInfo const&); @@ -539,7 +584,12 @@ struct J3DFogInfo { /* 0x18 */ u16 field_0x18[10]; }; // Size: 0x2C +extern const J3DFogInfo j3dDefaultFogInfo; + struct J3DFog : public J3DFogInfo { + J3DFog() { + *getFogInfo() = j3dDefaultFogInfo; + } J3DFogInfo* getFogInfo() { return (J3DFogInfo*)this; } }; @@ -548,15 +598,22 @@ struct J3DAlphaCompInfo { /* 0x1 */ u8 field_0x1; /* 0x2 */ u8 mRef0; /* 0x3 */ u8 mRef1; - /* 0x4 */ u8 field_0x4; }; +extern const J3DAlphaCompInfo j3dDefaultAlphaCmpID; + struct J3DAlphaComp: public J3DAlphaCompInfo { + J3DAlphaComp() { + *(u16*)&field_0x0 = *(u16*)&j3dDefaultAlphaCmpID.field_0x0; + mRef0 = 0; + mRef1 = 0; + } + void setAlphaCompInfo(J3DAlphaCompInfo *param_1) { - mRef0 = param_1->field_0x1; - mRef1 = param_1->field_0x4; - u32 p1_mref1 = param_1->mRef1; - *(u16*)&field_0x0 = calcAlphaCmpID(param_1->field_0x0, param_1->mRef0, p1_mref1); + mRef0 = param_1[0].field_0x1; + mRef1 = param_1[1].field_0x0; + u32 p1_mref1 = param_1[0].mRef1; + *(u16*)&field_0x0 = calcAlphaCmpID(param_1[0].field_0x0, param_1[0].mRef0, p1_mref1); } }; // Size: 0x4 @@ -619,6 +676,9 @@ public: class J3DPEBlockFull : public J3DPEBlock { public: + J3DPEBlockFull() { + initialize(); + } /* 80317B58 */ void initialize(); /* 8032129C */ virtual void reset(J3DPEBlock*); @@ -663,6 +723,9 @@ private: class J3DPEBlockFogOff : public J3DPEBlock { public: + J3DPEBlockFogOff() { + initialize(); + } /* 80317B34 */ void initialize(); /* 803211B4 */ virtual void reset(J3DPEBlock*); @@ -702,6 +765,8 @@ struct J3DIndTexCoordScale { /* 0x0 */ u8 mScaleS; /* 0x1 */ u8 mScaleT; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; }; struct J3DIndTexMtx { @@ -717,13 +782,15 @@ struct J3DIndTexOrder { /* 0x0 */ u8 mMap; /* 0x1 */ u8 mCoord; + /* 0x2 */ u8 field_0x2; + /* 0x3 */ u8 field_0x3; }; class J3DIndBlock { public: /* 8031734C */ virtual void reset(J3DIndBlock*); - virtual void load() = 0; virtual void diff(u32) = 0; + virtual void load() = 0; /* 80317314 */ virtual s32 countDLSize(); virtual u32 getType() = 0; /* 8000E0A0 */ virtual void setIndTexStageNum(u8); @@ -742,6 +809,9 @@ public: class J3DIndBlockFull : public J3DIndBlock { public: + J3DIndBlockFull() { + initialize(); + } /* 80317B28 */ void initialize(); /* 803210B0 */ virtual void reset(J3DIndBlock*); @@ -838,6 +908,9 @@ public: class J3DColorBlockLightOn : public J3DColorBlock { public: + J3DColorBlockLightOn() { + initialize(); + } /* 80317580 */ void initialize(); /* 803187F4 */ virtual void load(); @@ -888,6 +961,9 @@ private: class J3DColorBlockLightOff : public J3DColorBlock { public: + J3DColorBlockLightOff() { + initialize(); + } /* 8031747C */ void initialize(); /* 80317C0C */ virtual void load(); @@ -929,6 +1005,9 @@ private: class J3DColorBlockAmbientOn : public J3DColorBlockLightOff { public: + J3DColorBlockAmbientOn() { + initialize(); + } /* 803174DC */ void initialize(); /* 8031816C */ virtual void load(); diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index 4ad02396d4..a237249980 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -14,16 +14,16 @@ class J3DMaterialAnm; class J3DMaterial { public: - /* 803157A0 */ void createColorBlock(u32); - /* 803159A0 */ void createTexGenBlock(u32); - /* 80315B04 */ void createTevBlock(int); - /* 80315E78 */ void createIndBlock(int); - /* 80315F60 */ void createPEBlock(u32, u32); - /* 80316100 */ void calcSizeColorBlock(u32); - /* 80316150 */ void calcSizeTexGenBlock(u32); - /* 8031617C */ void calcSizeTevBlock(int); - /* 803161C4 */ void calcSizeIndBlock(int); - /* 803161D8 */ void calcSizePEBlock(u32, u32); + /* 803157A0 */ static J3DColorBlock* createColorBlock(u32); + /* 803159A0 */ static J3DTexGenBlock* createTexGenBlock(u32); + /* 80315B04 */ static J3DTevBlock* createTevBlock(int); + /* 80315E78 */ static J3DIndBlock* createIndBlock(int); + /* 80315F60 */ static J3DPEBlock* createPEBlock(u32, u32); + /* 80316100 */ static u32 calcSizeColorBlock(u32); + /* 80316150 */ static u32 calcSizeTexGenBlock(u32); + /* 8031617C */ static u32 calcSizeTevBlock(int); + /* 803161C4 */ static u32 calcSizeIndBlock(int); + /* 803161D8 */ static u32 calcSizePEBlock(u32, u32); /* 80316240 */ void initialize(); /* 80316290 */ u32 countDLSize(); /* 80316344 */ void makeDisplayList_private(J3DDisplayListObj*); diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 790e734825..0b80f6b50b 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -90,6 +90,9 @@ public: J3DDisplayListObj* getDisplayListObj() const { return mpDisplayListObj; } void setDisplayListObj(J3DDisplayListObj* pObj) { mpDisplayListObj = pObj; } + void beginPatch() { mpDisplayListObj->beginPatch(); } + void endPatch() { mpDisplayListObj->endPatch(); } + void callDL() const { getDisplayListObj()->callDL(); } enum { @@ -153,6 +156,7 @@ public: void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; } void setMaterialAnmID(J3DMaterialAnm* materialAnm) { mpMaterialAnm = materialAnm; } bool isChanged() const { return mDiffFlag & 0x80000000; } + bool isEnabled_Diff() const { return mpInitShapePacket->getDisplayListObj() != NULL; } virtual ~J3DMatPacket(); virtual int entry(J3DDrawBuffer*); diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index ab571a668f..8ceaf59661 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -42,6 +42,12 @@ public: GFX_FIFO(u32) = getMtxIdxRegA(); GFX_FIFO(u32) = getMtxIdxRegB(); } + + void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4, + u8 param_5, u8 param_6, u8 param_7, u8 param_8) { + mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18); + mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12; + } }; class J3DMaterial; @@ -94,6 +100,7 @@ public: void show() { offFlag(J3DShpFlag_Visible); } void hide() { onFlag(J3DShpFlag_Visible); } void setCurrentViewNoPtr(u32* pViewNoPtr) { mCurrentViewNo = pViewNoPtr; } + void setCurrentMtx(J3DCurrentMtx& mtx) { mCurrentMtx = mtx; } void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; } void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; } void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; } diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index 01f882e3f4..fe25597bc0 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -90,6 +90,7 @@ struct J3DSys { void setModel(J3DModel* pModel) { mModel = pModel; } void setShapePacket(J3DShapePacket* pPacket) { mShapePacket = pPacket; } void setMatPacket(J3DMatPacket* pPacket) { mMatPacket = pPacket; } + J3DMatPacket* getMatPacket() { return mMatPacket; } void setMaterialMode(u32 mode) { mMaterialMode = mode; } void setTexture(J3DTexture* pTex) { mTexture = pTex; } diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index 5462140ce8..09081c5277 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -66,4 +66,7 @@ struct J3DTevSwapModeTable { struct J3DTevSwapModeInfo {}; +struct J3DNBTScale; +void loadNBTScale(J3DNBTScale& param_0); + #endif /* J3DTEVS_H */ diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index 96ee30877a..27e7349dee 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -82,6 +82,9 @@ struct J3DTexCoord : public J3DTexCoordInfo { *(J3DTexCoordInfo*)this = *param_1; } + u8 getTexGenMtx() { return mTexGenMtx & 0xff; } + u16 getTexMtxReg() { return mTexMtxReg & 0xff; } + void resetTexMtxReg() { mTexMtxReg = mTexGenMtx; } diff --git a/include/dolphin/gd/GDBase.h b/include/dolphin/gd/GDBase.h index 417b8b0586..712b92f24e 100644 --- a/include/dolphin/gd/GDBase.h +++ b/include/dolphin/gd/GDBase.h @@ -20,6 +20,10 @@ inline void GDSetCurrent(GDLObj* obj) { __GDCurrentDL = obj; } +inline void __GDWrite(u8 data) { + *__GDCurrentDL->ptr++ = data; +} + inline u32 GDGetGDLObjOffset(GDLObj* obj) { return (u32)(obj->ptr - obj->start); } diff --git a/libs/JSystem/J3DGraphBase/J3DGD.cpp b/libs/JSystem/J3DGraphBase/J3DGD.cpp index 50729c4045..0906182ba8 100644 --- a/libs/JSystem/J3DGraphBase/J3DGD.cpp +++ b/libs/JSystem/J3DGraphBase/J3DGD.cpp @@ -63,7 +63,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern u8 __GDCurrentDL[4]; // // Declarations: @@ -82,7 +81,7 @@ SECTION_SDATA static u8 cm2hw[4] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DGDSetGenMode(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMode param_4) { +asm void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode) { nofralloc #include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetGenMode__FUcUcUcUc11_GXCullMode.s" } @@ -92,7 +91,7 @@ asm void J3DGDSetGenMode(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCull #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DGDSetGenMode_3Param(u8 param_0, u8 param_1, u8 param_2) { +asm void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum) { nofralloc #include "asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetGenMode_3Param__FUcUcUc.s" } diff --git a/libs/JSystem/J3DGraphBase/J3DMaterial.cpp b/libs/JSystem/J3DGraphBase/J3DMaterial.cpp index 44a8590204..0647c5e784 100644 --- a/libs/JSystem/J3DGraphBase/J3DMaterial.cpp +++ b/libs/JSystem/J3DGraphBase/J3DMaterial.cpp @@ -4,6 +4,7 @@ // #include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "JSystem/J3DGraphBase/J3DGD.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -211,8 +212,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern u8 const j3dDefaultFogInfo[44]; -extern "C" extern u8 const j3dDefaultNBTScaleInfo[16]; extern "C" extern void* __vt__14J3DPEBlockFull[31]; extern "C" extern void* __vt__16J3DPEBlockFogOff[31]; extern "C" extern void* __vt__13J3DTevBlock16[55]; @@ -230,9 +229,6 @@ extern "C" extern void* __vt__13J3DPEBlockOpa[31]; extern "C" extern void* __vt__15J3DIndBlockFull[19]; extern "C" extern void* __vt__11J3DTevBlock[55]; extern "C" extern void* __vt__21J3DColorBlockLightOff[36 + 1 /* padding */]; -extern "C" extern u32 j3dDefaultBlendInfo; -extern "C" extern u16 j3dDefaultAlphaCmpID; -extern "C" extern u16 j3dDefaultZModeID[1 + 1 /* padding */]; // // Declarations: @@ -441,202 +437,280 @@ SECTION_DATA extern void* __vt__13J3DColorBlock[36] = { /* 803157A0-803159A0 3100E0 0200+00 0/0 3/3 0/0 .text createColorBlock__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::createColorBlock(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/createColorBlock__11J3DMaterialFUl.s" +J3DColorBlock* J3DMaterial::createColorBlock(u32 param_0) { + J3DColorBlock* rv = NULL; + switch (param_0) { + case 0: + rv = new J3DColorBlockLightOff(); + break; + case 0x40000000: + rv = new J3DColorBlockLightOn(); + break; + case 0x80000000: + rv = new J3DColorBlockAmbientOn(); + break; + } + + return rv; } -#pragma pop /* 803159A0-80315B04 3102E0 0164+00 0/0 2/2 0/0 .text createTexGenBlock__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::createTexGenBlock(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/createTexGenBlock__11J3DMaterialFUl.s" +J3DTexGenBlock* J3DMaterial::createTexGenBlock(u32 param_0) { + switch (param_0) { + case 0x8000000: + return new J3DTexGenBlock4(); + case 0: + default: + return new J3DTexGenBlockBasic(); + } } -#pragma pop /* 80315B04-80315E78 310444 0374+00 0/0 2/2 0/0 .text createTevBlock__11J3DMaterialFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::createTevBlock(int param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/createTevBlock__11J3DMaterialFi.s" +J3DTevBlock* J3DMaterial::createTevBlock(int param_0) { + J3DTevBlock* rv = NULL; + if (param_0 <= 1) { + rv = new J3DTevBlock1(); + } else if (param_0 == 2) { + rv = new J3DTevBlock2(); + } else if (param_0 <= 4) { + rv = new J3DTevBlock4(); + } else if (param_0 <= 16) { + rv = new J3DTevBlock16(); + } + return rv; } -#pragma pop /* 80315E78-80315F60 3107B8 00E8+00 0/0 3/3 0/0 .text createIndBlock__11J3DMaterialFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::createIndBlock(int param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/createIndBlock__11J3DMaterialFi.s" +J3DIndBlock* J3DMaterial::createIndBlock(int param_0) { + if (param_0 != 0) { + return new J3DIndBlockFull(); + } + + return new J3DIndBlockNull(); } -#pragma pop /* 80315F60-80316100 3108A0 01A0+00 0/0 3/3 0/0 .text createPEBlock__11J3DMaterialFUlUl */ +// rv is in r5 for some reason +#ifdef NONMATCHING +J3DPEBlock* J3DMaterial::createPEBlock(u32 param_0, u32 param_1) { + J3DPEBlock* rv = NULL; + if (param_0 == 0) { + if (param_1 & 1) { + return new J3DPEBlockOpa(); + } else if (param_1 & 2) { + return new J3DPEBlockTexEdge(); + } else if (param_1 & 4) { + return new J3DPEBlockXlu(); + } + } + + if (param_0 == 0x10000000) { + rv = new J3DPEBlockFull(); + } else if (param_0 == 0x20000000) { + rv = new J3DPEBlockFogOff(); + } + return rv; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DMaterial::createPEBlock(u32 param_0, u32 param_1) { +asm J3DPEBlock* J3DMaterial::createPEBlock(u32 param_0, u32 param_1) { nofralloc #include "asm/JSystem/J3DGraphBase/J3DMaterial/createPEBlock__11J3DMaterialFUlUl.s" } #pragma pop +#endif /* 80316100-80316150 310A40 0050+00 0/0 2/2 0/0 .text calcSizeColorBlock__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::calcSizeColorBlock(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeColorBlock__11J3DMaterialFUl.s" +u32 J3DMaterial::calcSizeColorBlock(u32 param_0) { + u32 rv = 0; + switch (param_0) { + case 0: + rv = sizeof(J3DColorBlockLightOff); + break; + case 0x40000000: + rv = sizeof(J3DColorBlockLightOn); + break; + case 0x80000000: + rv = sizeof(J3DColorBlockAmbientOn); + break; + } + + return rv; } -#pragma pop /* 80316150-8031617C 310A90 002C+00 0/0 1/1 0/0 .text calcSizeTexGenBlock__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::calcSizeTexGenBlock(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTexGenBlock__11J3DMaterialFUl.s" +u32 J3DMaterial::calcSizeTexGenBlock(u32 param_0) { + switch (param_0) { + case 0x8000000: + return sizeof(J3DTexGenBlock4); + case 0: + default: + return sizeof(J3DTexGenBlockBasic); + } } -#pragma pop /* 8031617C-803161C4 310ABC 0048+00 0/0 1/1 0/0 .text calcSizeTevBlock__11J3DMaterialFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::calcSizeTevBlock(int param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeTevBlock__11J3DMaterialFi.s" +u32 J3DMaterial::calcSizeTevBlock(int param_0) { + u32 rv = 0; + if (param_0 <= 1) { + rv = sizeof(J3DTevBlock1); + } else if (param_0 == 2) { + rv = sizeof(J3DTevBlock2); + } else if (param_0 <= 4) { + rv = sizeof(J3DTevBlock4); + } else if (param_0 <= 16) { + rv = sizeof(J3DTevBlock16); + } + return rv; } -#pragma pop /* 803161C4-803161D8 310B04 0014+00 0/0 2/2 0/0 .text calcSizeIndBlock__11J3DMaterialFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::calcSizeIndBlock(int param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcSizeIndBlock__11J3DMaterialFi.s" +u32 J3DMaterial::calcSizeIndBlock(int param_0) { + if (param_0 != 0) { + return sizeof(J3DIndBlockFull); + } + + return sizeof(J3DIndBlockNull); } -#pragma pop /* 803161D8-80316240 310B18 0068+00 0/0 2/2 0/0 .text calcSizePEBlock__11J3DMaterialFUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::calcSizePEBlock(u32 param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcSizePEBlock__11J3DMaterialFUlUl.s" +u32 J3DMaterial::calcSizePEBlock(u32 param_0, u32 param_1) { + u32 rv = 0; + if (param_0 == 0) { + if (param_1 & 1) { + rv = sizeof(J3DPEBlockOpa); + } else if (param_1 & 2) { + rv = sizeof(J3DPEBlockTexEdge); + } else if (param_1 & 4) { + rv = sizeof(J3DPEBlockXlu); + } + } + else if (param_0 == 0x10000000) { + rv = sizeof(J3DPEBlockFull); + } else if (param_0 == 0x20000000) { + rv = sizeof(J3DPEBlockFogOff); + } + return rv; } -#pragma pop /* 80316240-80316290 310B80 0050+00 2/2 5/5 0/0 .text initialize__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/initialize__11J3DMaterialFv.s" +void J3DMaterial::initialize() { + mShape = NULL; + mNext = NULL; + mJoint = NULL; + mMaterialMode = 1; + mIndex = -1; + mInvalid = 0; + mDiffFlag = 0; + mColorBlock = NULL; + mTexGenBlock = NULL; + mTevBlock = NULL; + mIndBlock = NULL; + mPEBlock = NULL; + mpOrigMaterial = NULL; + mMaterialAnm = NULL; + mSharedDLObj = NULL; } -#pragma pop /* 80316290-80316344 310BD0 00B4+00 0/0 2/2 0/0 .text countDLSize__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 J3DMaterial::countDLSize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/countDLSize__11J3DMaterialFv.s" +u32 J3DMaterial::countDLSize() { + return (mColorBlock->countDLSize() + mTexGenBlock->countDLSize() + mTevBlock->countDLSize() + + mIndBlock->countDLSize() + mPEBlock->countDLSize() + 31) & ~0x1f; } -#pragma pop /* 80316344-80316620 310C84 02DC+00 2/2 0/0 0/0 .text * makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::makeDisplayList_private(J3DDisplayListObj* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj.s" +void J3DMaterial::makeDisplayList_private(J3DDisplayListObj* param_0) { + param_0->beginDL(); + mTevBlock->load(); + mIndBlock->load(); + mPEBlock->load(); + J3DGDSetGenMode(mTexGenBlock->getTexGenNum(), mColorBlock->getColorChanNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum(), (GXCullMode)(u8)mColorBlock->getCullMode()); + mTexGenBlock->load(); + mColorBlock->load(); + J3DGDSetNumChans(mColorBlock->getColorChanNum()); + J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum()); + param_0->endDL(); } -#pragma pop /* 80316620-80316668 310F60 0048+00 1/0 0/0 0/0 .text makeDisplayList__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::makeDisplayList() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/makeDisplayList__11J3DMaterialFv.s" +void J3DMaterial::makeDisplayList() { + if (!j3dSys.getMatPacket()->isLocked()) { + j3dSys.getMatPacket()->mDiffFlag = mDiffFlag; + makeDisplayList_private(j3dSys.getMatPacket()->getDisplayListObj()); + } } -#pragma pop /* 80316668-8031668C 310FA8 0024+00 1/0 0/0 0/0 .text makeSharedDisplayList__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::makeSharedDisplayList() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/makeSharedDisplayList__11J3DMaterialFv.s" +void J3DMaterial::makeSharedDisplayList() { + makeDisplayList_private(mSharedDLObj); } -#pragma pop /* 8031668C-803166DC 310FCC 0050+00 1/0 0/0 0/0 .text load__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::load() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/load__11J3DMaterialFv.s" +void J3DMaterial::load() { + j3dSys.setMaterialMode(mMaterialMode); + if (!j3dSys.checkFlag(2)) { + loadNBTScale(*mTexGenBlock->getNBTScale()); + } } -#pragma pop /* 803166DC-80316740 31101C 0064+00 1/0 0/0 0/0 .text loadSharedDL__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::loadSharedDL() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/loadSharedDL__11J3DMaterialFv.s" +void J3DMaterial::loadSharedDL() { + j3dSys.setMaterialMode(mMaterialMode); + if (!j3dSys.checkFlag(2)) { + mSharedDLObj->callDL(); + loadNBTScale(*mTexGenBlock->getNBTScale()); + } } -#pragma pop /* 80316740-803167D8 311080 0098+00 2/0 0/0 0/0 .text patch__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::patch() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/patch__11J3DMaterialFv.s" +void J3DMaterial::patch() { + j3dSys.getMatPacket()->mDiffFlag = mDiffFlag; + j3dSys.getMatPacket()->beginPatch(); + mTevBlock->patch(); + mColorBlock->patch(); + mTexGenBlock->patch(); + j3dSys.getMatPacket()->endPatch(); } -#pragma pop /* 803167D8-803169DC 311118 0204+00 2/0 0/0 0/0 .text diff__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::diff(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/diff__11J3DMaterialFUl.s" +void J3DMaterial::diff(u32 param_0) { + if (j3dSys.getMatPacket()->isEnabled_Diff()) { + j3dSys.getMatPacket()->beginDiff(); + mTevBlock->diff(param_0); + mIndBlock->diff(param_0); + mPEBlock->diff(param_0); + if (param_0 & 0x2000000) { + J3DGDSetGenMode_3Param(mTexGenBlock->getTexGenNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum()); + J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum()); + } + mTexGenBlock->diff(param_0); + mColorBlock->diff(param_0); + j3dSys.getMatPacket()->endDiff(); + } } -#pragma pop /* 803169DC-80316A54 31131C 0078+00 2/0 0/0 0/0 .text calc__11J3DMaterialFPA4_Cf */ +// Matches but changes order of TU vtables (?!) +#ifdef NONMATCHING +void J3DMaterial::calc(f32 const (*param_0)[4]) { + if (j3dSys.checkFlag(0x40000000)) { + mTexGenBlock->calcPostTexMtx(param_0); + } else { + mTexGenBlock->calc(param_0); + } + + calcCurrentMtx(); + setCurrentMtx(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -646,28 +720,51 @@ extern "C" asm void calc__11J3DMaterialFPA4_Cf() { #include "asm/JSystem/J3DGraphBase/J3DMaterial/calc__11J3DMaterialFPA4_Cf.s" } #pragma pop +#endif /* 80316A54-80316AB0 311394 005C+00 3/0 0/0 0/0 .text calcDiffTexMtx__11J3DMaterialFPA4_Cf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::calcDiffTexMtx(f32 const (*param_0)[4]) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcDiffTexMtx__11J3DMaterialFPA4_Cf.s" +void J3DMaterial::calcDiffTexMtx(f32 const (*param_0)[4]) { + if (j3dSys.checkFlag(0x40000000)) { + mTexGenBlock->calcPostTexMtxWithoutViewMtx(param_0); + } else { + mTexGenBlock->calcWithoutViewMtx(param_0); + } } -#pragma pop /* 80316AB0-80316AC8 3113F0 0018+00 1/1 1/1 0/0 .text setCurrentMtx__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::setCurrentMtx() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/setCurrentMtx__11J3DMaterialFv.s" +void J3DMaterial::setCurrentMtx() { + mShape->setCurrentMtx(mCurrentMtx); } -#pragma pop /* 80316AC8-80316D68 311408 02A0+00 1/1 0/0 0/0 .text calcCurrentMtx__11J3DMaterialFv */ +// Issues with setCurrentTexMtx +#ifdef NONMATCHING +void J3DMaterial::calcCurrentMtx() { + if (!j3dSys.checkFlag(0x40000000)) { + mCurrentMtx.setCurrentTexMtx( + mTexGenBlock->getTexCoord(0)->getTexGenMtx(), + mTexGenBlock->getTexCoord(1)->getTexGenMtx(), + mTexGenBlock->getTexCoord(2)->getTexGenMtx(), + mTexGenBlock->getTexCoord(3)->getTexGenMtx(), + mTexGenBlock->getTexCoord(4)->getTexGenMtx(), + mTexGenBlock->getTexCoord(5)->getTexGenMtx(), + mTexGenBlock->getTexCoord(6)->getTexGenMtx(), + mTexGenBlock->getTexCoord(7)->getTexGenMtx() + ); + } else { + mCurrentMtx.setCurrentTexMtx( + mTexGenBlock->getTexCoord(0)->getTexMtxReg(), + mTexGenBlock->getTexCoord(1)->getTexMtxReg(), + mTexGenBlock->getTexCoord(2)->getTexMtxReg(), + mTexGenBlock->getTexCoord(3)->getTexMtxReg(), + mTexGenBlock->getTexCoord(4)->getTexMtxReg(), + mTexGenBlock->getTexCoord(5)->getTexMtxReg(), + mTexGenBlock->getTexCoord(6)->getTexMtxReg(), + mTexGenBlock->getTexCoord(7)->getTexMtxReg() + ); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -676,72 +773,83 @@ asm void J3DMaterial::calcCurrentMtx() { #include "asm/JSystem/J3DGraphBase/J3DMaterial/calcCurrentMtx__11J3DMaterialFv.s" } #pragma pop +#endif /* 80316D68-80316E14 3116A8 00AC+00 1/1 0/0 0/0 .text copy__11J3DMaterialFP11J3DMaterial */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::copy(J3DMaterial* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/copy__11J3DMaterialFP11J3DMaterial.s" +void J3DMaterial::copy(J3DMaterial* param_0) { + mColorBlock->reset(param_0->mColorBlock); + mTexGenBlock->reset(param_0->mTexGenBlock); + mTevBlock->reset(param_0->mTevBlock); + mIndBlock->reset(param_0->mIndBlock); + mPEBlock->reset(param_0->mPEBlock); } -#pragma pop /* 80316E14-80316E70 311754 005C+00 1/0 0/0 0/0 .text reset__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::reset() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/reset__11J3DMaterialFv.s" +void J3DMaterial::reset() { + if ((~mDiffFlag & 0x80000000) == 0) { + mDiffFlag &= ~0x80000000; + mMaterialMode = mpOrigMaterial->mMaterialMode; + mInvalid = mpOrigMaterial->mInvalid; + mMaterialAnm = NULL; + copy(mpOrigMaterial); + } } -#pragma pop /* 80316E70-80316E90 3117B0 0020+00 1/0 0/0 0/0 .text change__11J3DMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMaterial::change() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/change__11J3DMaterialFv.s" +void J3DMaterial::change() { + if ((mDiffFlag & 0xc0000000) == 0) { + mDiffFlag |= 0x80000000; + mMaterialAnm = NULL; + } } -#pragma pop /* 80316E90-80316F24 3117D0 0094+00 0/0 2/2 0/0 .text newSharedDisplayList__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 J3DMaterial::newSharedDisplayList(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/newSharedDisplayList__11J3DMaterialFUl.s" +s32 J3DMaterial::newSharedDisplayList(u32 param_0) { + if (mSharedDLObj == NULL) { + mSharedDLObj = new J3DDisplayListObj(); + if (mSharedDLObj == NULL) { + return 4; + } + s32 res = mSharedDLObj->newDisplayList(param_0); + switch (res) { + case kJ3DError_Success: + break; + default: + return res; + } + } + return 0; } -#pragma pop /* 80316F24-80316FB8 311864 0094+00 0/0 2/2 0/0 .text newSingleSharedDisplayList__11J3DMaterialFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/newSingleSharedDisplayList__11J3DMaterialFUl.s" +s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) { + if (mSharedDLObj == NULL) { + mSharedDLObj = new J3DDisplayListObj(); + if (mSharedDLObj == NULL) { + return 4; + } + s32 res = mSharedDLObj->newSingleDisplayList(param_0); + switch (res) { + case kJ3DError_Success: + break; + default: + return res; + } + } + return 0; } -#pragma pop /* 80316FB8-80316FD8 3118F8 0020+00 0/0 1/1 0/0 .text initialize__18J3DPatchedMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DPatchedMaterial::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/initialize__18J3DPatchedMaterialFv.s" +void J3DPatchedMaterial::initialize() { + J3DMaterial::initialize(); } -#pragma pop /* 80316FD8-80316FDC 311918 0004+00 1/0 0/0 0/0 .text makeDisplayList__18J3DPatchedMaterialFv */ extern "C" asm void makeDisplayList__18J3DPatchedMaterialFv() { +//void J3DPatchedMaterial::makeDisplayList() { /* empty function */ } @@ -752,14 +860,12 @@ void J3DPatchedMaterial::makeSharedDisplayList() { } /* 80316FE0-80316FFC 311920 001C+00 1/0 0/0 0/0 .text load__18J3DPatchedMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DPatchedMaterial::load() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/load__18J3DPatchedMaterialFv.s" +void J3DPatchedMaterial::load() { + j3dSys.setMaterialMode(mMaterialMode); + if (j3dSys.checkFlag(2)) { + return; + } } -#pragma pop /* 80316FFC-8031703C 31193C 0040+00 1/0 0/0 0/0 .text loadSharedDL__18J3DPatchedMaterialFv */ void J3DPatchedMaterial::loadSharedDL() { @@ -780,14 +886,9 @@ void J3DPatchedMaterial::change() { /* 80317044-80317064 311984 0020+00 0/0 1/1 0/0 .text initialize__17J3DLockedMaterialFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DLockedMaterial::initialize() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/initialize__17J3DLockedMaterialFv.s" +void J3DLockedMaterial::initialize() { + J3DMaterial::initialize(); } -#pragma pop /* 80317064-80317068 3119A4 0004+00 1/0 0/0 0/0 .text makeDisplayList__17J3DLockedMaterialFv */ void J3DLockedMaterial::makeDisplayList() { @@ -801,21 +902,12 @@ void J3DLockedMaterial::makeSharedDisplayList() { } /* 8031706C-80317088 3119AC 001C+00 1/0 0/0 0/0 .text load__17J3DLockedMaterialFv */ -#ifdef NONMATCHING void J3DLockedMaterial::load() { j3dSys.setMaterialMode(mMaterialMode); - // some extra dead code after? wtf? + if (j3dSys.checkFlag(2)) { + return; + } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DLockedMaterial::load() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DMaterial/load__17J3DLockedMaterialFv.s" -} -#pragma pop -#endif /* 80317088-803170C8 3119C8 0040+00 1/0 0/0 0/0 .text loadSharedDL__17J3DLockedMaterialFv */ diff --git a/libs/dolphin/gd/GDBase.c b/libs/dolphin/gd/GDBase.c index b6e7a77f6b..9a9203b05d 100644 --- a/libs/dolphin/gd/GDBase.c +++ b/libs/dolphin/gd/GDBase.c @@ -27,10 +27,6 @@ void GDFlushCurrToMem(void) { DCFlushRange(__GDCurrentDL->start, __GDCurrentDL->length); } -static inline void __GDWrite(u8 data) { - *__GDCurrentDL->ptr++ = data; -} - /* 80360FDC-803610D4 35B91C 00F8+00 0/0 2/2 0/0 .text GDPadCurr32 */ void GDPadCurr32(void) { u32 i = ((u32)__GDCurrentDL->ptr & 31); diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 1a63461f92..da00dcdf0a 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -292,8 +292,8 @@ SECTION_SDATA static J3DTevOrderInfo l_tevOrderInfo = { }; /* 80451DF0-80451DF8 0003F0 0008+00 1/1 0/0 0/0 .sdata2 l_alphaCompInfo$3775 */ -SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo = { - 0x04, 0x80, 0x00, 0x03, 0xFF, +SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo[2] = { + {0x04, 0x80, 0x00, 0x03}, {0xFF, 0, 0, 0}, }; /* 8003A840-8003AACC 035180 028C+00 1/1 0/0 0/0 .text addWarpMaterial__FP12J3DModelData @@ -328,7 +328,7 @@ static void addWarpMaterial(J3DModelData* param_1) { pShape->addTexMtxIndexInVcd(attr); J3DPEBlock* peBlock = pMaterial->getPEBlock(); J3DAlphaComp* alphaComp = peBlock->getAlphaComp(); - alphaComp->setAlphaCompInfo(&l_alphaCompInfo); + alphaComp->setAlphaCompInfo(l_alphaCompInfo); peBlock->setZCompLoc((u8)0); } } From f3759779fb00815128c04905e8419408301624be Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Sun, 9 Jul 2023 20:41:35 +0300 Subject: [PATCH 2/4] Add Progress buttons to github Readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cea9ab8b7f..1b98101380 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ -# The Legend of Zelda: Twilight Princess - +# The Legend of Zelda: Twilight Princess ![Code Progress] ![Dol Progress] ![Rels Progress] +[Code Progress]: https://img.shields.io/endpoint?label=Code&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Dcode +[Dol Progress]: https://img.shields.io/endpoint?label=Data&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Ddol +[Rels Progress]: https://img.shields.io/endpoint?label=Rels&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Drels This repo contains a WIP decompilation of The Legend of Zelda: Twilight Princess (GCN USA). From 75c8666bd9188b72ca8abf3a71d5454a2b0e78db Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Sun, 9 Jul 2023 20:42:33 +0300 Subject: [PATCH 3/4] Fix Dol Progress label --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b98101380..2246578977 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # The Legend of Zelda: Twilight Princess ![Code Progress] ![Dol Progress] ![Rels Progress] [Code Progress]: https://img.shields.io/endpoint?label=Code&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Dcode -[Dol Progress]: https://img.shields.io/endpoint?label=Data&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Ddol +[Dol Progress]: https://img.shields.io/endpoint?label=Dol&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Ddol [Rels Progress]: https://img.shields.io/endpoint?label=Rels&url=https%3A%2F%2Fprogress.deco.mp%2Fdata%2Ftwilightprincess%2Fgcn_usa%2Fdefault%2F%3Fmode%3Dshield%26measure%3Drels This repo contains a WIP decompilation of The Legend of Zelda: Twilight Princess (GCN USA). From 63c782c0d09cd5dd6281defa7117237702cd2449 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Mon, 10 Jul 2023 04:46:15 +0300 Subject: [PATCH 4/4] J3DPacket, J3DShape OK (#366) --- Progress.md | 8 +- ...cDifferedBufferSize__14J3DShapePacketFUl.s | 137 ----------------- .../prepareDraw__14J3DShapePacketCFv.s | 78 ---------- .../J3DShape/drawFast__8J3DShapeCFv.s | 114 -------------- include/JSystem/J3DGraphBase/J3DMaterial.h | 2 + include/JSystem/J3DGraphBase/J3DPacket.h | 42 ++++++ include/JSystem/J3DGraphBase/J3DShapeMtx.h | 9 +- include/JSystem/J3DGraphBase/J3DSys.h | 1 + libs/JSystem/J3DGraphBase/J3DPacket.cpp | 141 ++++++++---------- libs/JSystem/J3DGraphBase/J3DShape.cpp | 54 +------ libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp | 6 +- libs/JSystem/J3DGraphBase/J3DSys.cpp | 3 +- 12 files changed, 124 insertions(+), 471 deletions(-) delete mode 100644 asm/JSystem/J3DGraphBase/J3DPacket/calcDifferedBufferSize__14J3DShapePacketFUl.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DPacket/prepareDraw__14J3DShapePacketCFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DShape/drawFast__8J3DShapeCFv.s diff --git a/Progress.md b/Progress.md index 3fa5f6200e..dfd7fe40da 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.178607% | 1013456 | 3596544 +.text | 28.211305% | 1014632 | 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.750044% | 1437392 | 4020672 +Total | 35.779293% | 1438568 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 35.750044% | 1437392 | 4020672 +main.dol | 35.779293% | 1438568 | 4020672 RELs | 33.810282% | 3888292 | 11500324 -Total | 34.312772% | 5325684 | 15520996 +Total | 34.320349% | 5326860 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphBase/J3DPacket/calcDifferedBufferSize__14J3DShapePacketFUl.s b/asm/JSystem/J3DGraphBase/J3DPacket/calcDifferedBufferSize__14J3DShapePacketFUl.s deleted file mode 100644 index 68452fc323..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DPacket/calcDifferedBufferSize__14J3DShapePacketFUl.s +++ /dev/null @@ -1,137 +0,0 @@ -lbl_80312BD4: -/* 80312BD4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80312BD8 7C 08 02 A6 */ mflr r0 -/* 80312BDC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80312BE0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80312BE4 48 04 F5 F5 */ bl _savegpr_28 -/* 80312BE8 7C 7D 1B 78 */ mr r29, r3 -/* 80312BEC 7C 9E 23 78 */ mr r30, r4 -/* 80312BF0 3B E0 00 00 */ li r31, 0 -/* 80312BF4 38 60 00 00 */ li r3, 0 -/* 80312BF8 3C 80 80 3D */ lis r4, sDifferedRegister@ha /* 0x803CD900@ha */ -/* 80312BFC 38 A4 D9 00 */ addi r5, r4, sDifferedRegister@l /* 0x803CD900@l */ -/* 80312C00 3C 80 80 3D */ lis r4, sSizeOfDiffered@ha /* 0x803CD920@ha */ -/* 80312C04 38 84 D9 20 */ addi r4, r4, sSizeOfDiffered@l /* 0x803CD920@l */ -/* 80312C08 38 00 00 08 */ li r0, 8 -/* 80312C0C 7C 09 03 A6 */ mtctr r0 -lbl_80312C10: -/* 80312C10 7C 05 18 2E */ lwzx r0, r5, r3 -/* 80312C14 7F C0 00 39 */ and. r0, r30, r0 -/* 80312C18 41 82 00 0C */ beq lbl_80312C24 -/* 80312C1C 7C 04 18 2E */ lwzx r0, r4, r3 -/* 80312C20 7F FF 02 14 */ add r31, r31, r0 -lbl_80312C24: -/* 80312C24 38 63 00 04 */ addi r3, r3, 4 -/* 80312C28 42 00 FF E8 */ bdnz lbl_80312C10 -/* 80312C2C 57 C0 E7 3E */ rlwinm r0, r30, 0x1c, 0x1c, 0x1f -/* 80312C30 1C 00 00 48 */ mulli r0, r0, 0x48 -/* 80312C34 7F FF 02 14 */ add r31, r31, r0 -/* 80312C38 57 DC C7 3F */ rlwinm. r28, r30, 0x18, 0x1c, 0x1f -/* 80312C3C 41 82 00 4C */ beq lbl_80312C88 -/* 80312C40 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80312C44 80 63 00 04 */ lwz r3, 4(r3) -/* 80312C48 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80312C4C 81 83 00 00 */ lwz r12, 0(r3) -/* 80312C50 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 80312C54 7D 89 03 A6 */ mtctr r12 -/* 80312C58 4E 80 04 21 */ bctrl -/* 80312C5C 7C 1C 18 40 */ cmplw r28, r3 -/* 80312C60 40 81 00 08 */ ble lbl_80312C68 -/* 80312C64 7F 83 E3 78 */ mr r3, r28 -lbl_80312C68: -/* 80312C68 57 C0 04 E7 */ rlwinm. r0, r30, 0, 0x13, 0x13 -/* 80312C6C 41 82 00 14 */ beq lbl_80312C80 -/* 80312C70 1C 03 00 3D */ mulli r0, r3, 0x3d -/* 80312C74 7F E0 FA 14 */ add r31, r0, r31 -/* 80312C78 3B FF 00 0A */ addi r31, r31, 0xa -/* 80312C7C 48 00 00 0C */ b lbl_80312C88 -lbl_80312C80: -/* 80312C80 1C 03 00 35 */ mulli r0, r3, 0x35 -/* 80312C84 7F FF 02 14 */ add r31, r31, r0 -lbl_80312C88: -/* 80312C88 57 DC 87 3F */ rlwinm. r28, r30, 0x10, 0x1c, 0x1f -/* 80312C8C 41 82 00 90 */ beq lbl_80312D1C -/* 80312C90 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80312C94 80 63 00 04 */ lwz r3, 4(r3) -/* 80312C98 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 80312C9C 81 83 00 00 */ lwz r12, 0(r3) -/* 80312CA0 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80312CA4 7D 89 03 A6 */ mtctr r12 -/* 80312CA8 4E 80 04 21 */ bctrl -/* 80312CAC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80312CB0 28 00 00 08 */ cmplwi r0, 8 -/* 80312CB4 40 81 00 0C */ ble lbl_80312CC0 -/* 80312CB8 38 60 00 08 */ li r3, 8 -/* 80312CBC 48 00 00 20 */ b lbl_80312CDC -lbl_80312CC0: -/* 80312CC0 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80312CC4 80 63 00 04 */ lwz r3, 4(r3) -/* 80312CC8 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 80312CCC 81 83 00 00 */ lwz r12, 0(r3) -/* 80312CD0 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80312CD4 7D 89 03 A6 */ mtctr r12 -/* 80312CD8 4E 80 04 21 */ bctrl -lbl_80312CDC: -/* 80312CDC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80312CE0 7C 1C 00 40 */ cmplw r28, r0 -/* 80312CE4 7C 03 03 78 */ mr r3, r0 -/* 80312CE8 40 81 00 08 */ ble lbl_80312CF0 -/* 80312CEC 7F 83 E3 78 */ mr r3, r28 -lbl_80312CF0: -/* 80312CF0 57 C0 01 4B */ rlwinm. r0, r30, 0, 5, 5 -/* 80312CF4 41 82 00 20 */ beq lbl_80312D14 -/* 80312CF8 1C 83 00 37 */ mulli r4, r3, 0x37 -/* 80312CFC 38 03 00 01 */ addi r0, r3, 1 -/* 80312D00 54 00 F8 7E */ srwi r0, r0, 1 -/* 80312D04 1C 00 00 37 */ mulli r0, r0, 0x37 -/* 80312D08 7C 84 02 14 */ add r4, r4, r0 -/* 80312D0C 7F FF 22 14 */ add r31, r31, r4 -/* 80312D10 48 00 00 0C */ b lbl_80312D1C -lbl_80312D14: -/* 80312D14 1C 03 00 37 */ mulli r0, r3, 0x37 -/* 80312D18 7F FF 02 14 */ add r31, r31, r0 -lbl_80312D1C: -/* 80312D1C 57 DC 67 3F */ rlwinm. r28, r30, 0xc, 0x1c, 0x1f -/* 80312D20 41 82 00 7C */ beq lbl_80312D9C -/* 80312D24 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80312D28 80 63 00 04 */ lwz r3, 4(r3) -/* 80312D2C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 80312D30 81 83 00 00 */ lwz r12, 0(r3) -/* 80312D34 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80312D38 7D 89 03 A6 */ mtctr r12 -/* 80312D3C 4E 80 04 21 */ bctrl -/* 80312D40 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80312D44 28 00 00 08 */ cmplwi r0, 8 -/* 80312D48 40 81 00 0C */ ble lbl_80312D54 -/* 80312D4C 38 60 00 08 */ li r3, 8 -/* 80312D50 48 00 00 20 */ b lbl_80312D70 -lbl_80312D54: -/* 80312D54 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 80312D58 80 63 00 04 */ lwz r3, 4(r3) -/* 80312D5C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 80312D60 81 83 00 00 */ lwz r12, 0(r3) -/* 80312D64 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80312D68 7D 89 03 A6 */ mtctr r12 -/* 80312D6C 4E 80 04 21 */ bctrl -lbl_80312D70: -/* 80312D70 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80312D74 7C 1C 00 40 */ cmplw r28, r0 -/* 80312D78 7C 03 03 78 */ mr r3, r0 -/* 80312D7C 40 81 00 08 */ ble lbl_80312D84 -/* 80312D80 7F 83 E3 78 */ mr r3, r28 -lbl_80312D84: -/* 80312D84 1C 03 00 0A */ mulli r0, r3, 0xa -/* 80312D88 7F FF 02 14 */ add r31, r31, r0 -/* 80312D8C 57 C0 01 09 */ rlwinm. r0, r30, 0, 4, 4 -/* 80312D90 41 82 00 0C */ beq lbl_80312D9C -/* 80312D94 1C 03 00 05 */ mulli r0, r3, 5 -/* 80312D98 7F FF 02 14 */ add r31, r31, r0 -lbl_80312D9C: -/* 80312D9C 38 1F 00 1F */ addi r0, r31, 0x1f -/* 80312DA0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 80312DA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80312DA8 48 04 F4 7D */ bl _restgpr_28 -/* 80312DAC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80312DB0 7C 08 03 A6 */ mtlr r0 -/* 80312DB4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80312DB8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DPacket/prepareDraw__14J3DShapePacketCFv.s b/asm/JSystem/J3DGraphBase/J3DPacket/prepareDraw__14J3DShapePacketCFv.s deleted file mode 100644 index a15080ce28..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DPacket/prepareDraw__14J3DShapePacketCFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_80312E08: -/* 80312E08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80312E0C 7C 08 02 A6 */ mflr r0 -/* 80312E10 90 01 00 14 */ stw r0, 0x14(r1) -/* 80312E14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80312E18 7C 7F 1B 78 */ mr r31, r3 -/* 80312E1C 80 63 00 38 */ lwz r3, 0x38(r3) -/* 80312E20 38 63 00 88 */ addi r3, r3, 0x88 -/* 80312E24 4B FF E2 49 */ bl setArray__15J3DVertexBufferCFv -/* 80312E28 80 9F 00 38 */ lwz r4, 0x38(r31) -/* 80312E2C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80312E30 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80312E34 90 83 00 38 */ stw r4, 0x38(r3) -/* 80312E38 93 E3 00 40 */ stw r31, 0x40(r3) -/* 80312E3C 80 04 00 08 */ lwz r0, 8(r4) -/* 80312E40 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f -/* 80312E44 98 0D 90 31 */ stb r0, struct_804515B0+0x1(r13) -/* 80312E48 80 04 00 08 */ lwz r0, 8(r4) -/* 80312E4C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80312E50 41 82 00 18 */ beq lbl_80312E68 -/* 80312E54 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 80312E58 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80312E5C 60 00 00 04 */ ori r0, r0, 4 -/* 80312E60 90 03 00 0C */ stw r0, 0xc(r3) -/* 80312E64 48 00 00 14 */ b lbl_80312E78 -lbl_80312E68: -/* 80312E68 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 80312E6C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80312E70 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 80312E74 90 03 00 0C */ stw r0, 0xc(r3) -lbl_80312E78: -/* 80312E78 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80312E7C 80 03 00 08 */ lwz r0, 8(r3) -/* 80312E80 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80312E84 41 82 00 24 */ beq lbl_80312EA8 -/* 80312E88 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 80312E8C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80312E90 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f -/* 80312E94 40 82 00 14 */ bne lbl_80312EA8 -/* 80312E98 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80312E9C 60 00 00 08 */ ori r0, r0, 8 -/* 80312EA0 90 03 00 0C */ stw r0, 0xc(r3) -/* 80312EA4 48 00 00 14 */ b lbl_80312EB8 -lbl_80312EA8: -/* 80312EA8 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 80312EAC 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80312EB0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 80312EB4 90 03 00 0C */ stw r0, 0xc(r3) -lbl_80312EB8: -/* 80312EB8 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 80312EBC 38 03 00 30 */ addi r0, r3, 0x30 -/* 80312EC0 80 9F 00 28 */ lwz r4, 0x28(r31) -/* 80312EC4 90 04 00 60 */ stw r0, 0x60(r4) -/* 80312EC8 80 03 00 04 */ lwz r0, 4(r3) -/* 80312ECC 90 04 00 54 */ stw r0, 0x54(r4) -/* 80312ED0 80 03 00 18 */ lwz r0, 0x18(r3) -/* 80312ED4 90 04 00 58 */ stw r0, 0x58(r4) -/* 80312ED8 88 04 00 34 */ lbz r0, 0x34(r4) -/* 80312EDC 28 00 00 00 */ cmplwi r0, 0 -/* 80312EE0 40 82 00 10 */ bne lbl_80312EF0 -/* 80312EE4 80 03 00 20 */ lwz r0, 0x20(r3) -/* 80312EE8 90 04 00 5C */ stw r0, 0x5c(r4) -/* 80312EEC 48 00 00 18 */ b lbl_80312F04 -lbl_80312EF0: -/* 80312EF0 80 04 00 64 */ lwz r0, 0x64(r4) -/* 80312EF4 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80312EF8 54 00 10 3A */ slwi r0, r0, 2 -/* 80312EFC 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80312F00 90 04 00 5C */ stw r0, 0x5c(r4) -lbl_80312F04: -/* 80312F04 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80312F08 80 63 00 04 */ lwz r3, 4(r3) -/* 80312F0C 48 01 31 ED */ bl syncJ3DSysFlags__12J3DModelDataCFv -/* 80312F10 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80312F14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80312F18 7C 08 03 A6 */ mtlr r0 -/* 80312F1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80312F20 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DShape/drawFast__8J3DShapeCFv.s b/asm/JSystem/J3DGraphBase/J3DShape/drawFast__8J3DShapeCFv.s deleted file mode 100644 index 86c2939d25..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DShape/drawFast__8J3DShapeCFv.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_8031544C: -/* 8031544C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80315450 7C 08 02 A6 */ mflr r0 -/* 80315454 90 01 00 24 */ stw r0, 0x24(r1) -/* 80315458 39 61 00 20 */ addi r11, r1, 0x20 -/* 8031545C 48 04 CD 79 */ bl _savegpr_27 -/* 80315460 7C 7F 1B 78 */ mr r31, r3 -/* 80315464 80 0D 90 50 */ lwz r0, sOldVcdVatCmd__8J3DShape(r13) -/* 80315468 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 8031546C 7C 00 18 40 */ cmplw r0, r3 -/* 80315470 41 82 00 14 */ beq lbl_80315484 -/* 80315474 38 80 00 C0 */ li r4, 0xc0 -/* 80315478 48 04 AA 79 */ bl GXCallDisplayList -/* 8031547C 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 80315480 90 0D 90 50 */ stw r0, sOldVcdVatCmd__8J3DShape(r13) -lbl_80315484: -/* 80315484 88 0D 90 54 */ lbz r0, data_804515D4(r13) -/* 80315488 28 00 00 00 */ cmplwi r0, 0 -/* 8031548C 41 82 00 60 */ beq lbl_803154EC -/* 80315490 88 1F 00 48 */ lbz r0, 0x48(r31) -/* 80315494 28 00 00 00 */ cmplwi r0, 0 -/* 80315498 40 82 00 54 */ bne lbl_803154EC -/* 8031549C 80 BF 00 40 */ lwz r5, 0x40(r31) -/* 803154A0 38 80 00 08 */ li r4, 8 -/* 803154A4 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 803154A8 98 83 80 00 */ stb r4, 0x8000(r3) /* 0xCC008000@l */ -/* 803154AC 38 00 00 30 */ li r0, 0x30 -/* 803154B0 98 03 80 00 */ stb r0, -0x8000(r3) -/* 803154B4 90 A3 80 00 */ stw r5, -0x8000(r3) -/* 803154B8 80 DF 00 44 */ lwz r6, 0x44(r31) -/* 803154BC 98 83 80 00 */ stb r4, -0x8000(r3) -/* 803154C0 38 00 00 40 */ li r0, 0x40 -/* 803154C4 98 03 80 00 */ stb r0, -0x8000(r3) -/* 803154C8 90 C3 80 00 */ stw r6, -0x8000(r3) -/* 803154CC 38 00 00 10 */ li r0, 0x10 -/* 803154D0 98 03 80 00 */ stb r0, -0x8000(r3) -/* 803154D4 38 00 00 01 */ li r0, 1 -/* 803154D8 B0 03 80 00 */ sth r0, -0x8000(r3) -/* 803154DC 38 00 10 18 */ li r0, 0x1018 -/* 803154E0 B0 03 80 00 */ sth r0, -0x8000(r3) -/* 803154E4 90 A3 80 00 */ stw r5, -0x8000(r3) -/* 803154E8 90 C3 80 00 */ stw r6, -0x8000(r3) -lbl_803154EC: -/* 803154EC 7F E3 FB 78 */ mr r3, r31 -/* 803154F0 4B FF FE A9 */ bl setArrayAndBindPipeline__8J3DShapeCFv -/* 803154F4 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 803154F8 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 -/* 803154FC 40 82 00 6C */ bne lbl_80315568 -/* 80315500 88 0D 90 31 */ lbz r0, struct_804515B0+0x1(r13) -/* 80315504 28 00 00 00 */ cmplwi r0, 0 -/* 80315508 41 82 00 08 */ beq lbl_80315510 -/* 8031550C 4B FF DB 9D */ bl resetMtxLoadCache__11J3DShapeMtxFv -lbl_80315510: -/* 80315510 A3 DF 00 0A */ lhz r30, 0xa(r31) -/* 80315514 3B 60 00 00 */ li r27, 0 -/* 80315518 83 BF 00 38 */ lwz r29, 0x38(r31) -/* 8031551C 83 FF 00 3C */ lwz r31, 0x3c(r31) -/* 80315520 48 00 00 38 */ b lbl_80315558 -lbl_80315524: -/* 80315524 57 7C 13 BA */ rlwinm r28, r27, 2, 0xe, 0x1d -/* 80315528 7C 7D E0 2E */ lwzx r3, r29, r28 -/* 8031552C 28 03 00 00 */ cmplwi r3, 0 -/* 80315530 41 82 00 14 */ beq lbl_80315544 -/* 80315534 81 83 00 00 */ lwz r12, 0(r3) -/* 80315538 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8031553C 7D 89 03 A6 */ mtctr r12 -/* 80315540 4E 80 04 21 */ bctrl -lbl_80315544: -/* 80315544 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80315548 28 03 00 00 */ cmplwi r3, 0 -/* 8031554C 41 82 00 08 */ beq lbl_80315554 -/* 80315550 4B FF F5 85 */ bl draw__12J3DShapeDrawCFv -lbl_80315554: -/* 80315554 3B 7B 00 01 */ addi r27, r27, 1 -lbl_80315558: -/* 80315558 57 60 04 3E */ clrlwi r0, r27, 0x10 -/* 8031555C 7C 00 F0 40 */ cmplw r0, r30 -/* 80315560 41 80 FF C4 */ blt lbl_80315524 -/* 80315564 48 00 00 64 */ b lbl_803155C8 -lbl_80315568: -/* 80315568 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8031556C 3B C3 4A C8 */ addi r30, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80315570 80 7E 00 40 */ lwz r3, 0x40(r30) -/* 80315574 80 63 00 30 */ lwz r3, 0x30(r3) -/* 80315578 38 80 00 00 */ li r4, 0 -/* 8031557C 4B FF A5 65 */ bl J3DFifoLoadPosMtxImm__FPA4_fUl -/* 80315580 80 7E 00 40 */ lwz r3, 0x40(r30) -/* 80315584 80 63 00 30 */ lwz r3, 0x30(r3) -/* 80315588 38 80 00 00 */ li r4, 0 -/* 8031558C 4B FF A5 D5 */ bl J3DFifoLoadNrmMtxImm__FPA4_fUl -/* 80315590 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 80315594 3B 60 00 00 */ li r27, 0 -/* 80315598 83 DF 00 3C */ lwz r30, 0x3c(r31) -/* 8031559C 54 1F 04 3E */ clrlwi r31, r0, 0x10 -/* 803155A0 48 00 00 1C */ b lbl_803155BC -lbl_803155A4: -/* 803155A4 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d -/* 803155A8 7C 7E 00 2E */ lwzx r3, r30, r0 -/* 803155AC 28 03 00 00 */ cmplwi r3, 0 -/* 803155B0 41 82 00 08 */ beq lbl_803155B8 -/* 803155B4 4B FF F5 21 */ bl draw__12J3DShapeDrawCFv -lbl_803155B8: -/* 803155B8 3B 7B 00 01 */ addi r27, r27, 1 -lbl_803155BC: -/* 803155BC 57 60 04 3E */ clrlwi r0, r27, 0x10 -/* 803155C0 7C 00 F8 40 */ cmplw r0, r31 -/* 803155C4 41 80 FF E0 */ blt lbl_803155A4 -lbl_803155C8: -/* 803155C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 803155CC 48 04 CC 55 */ bl _restgpr_27 -/* 803155D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803155D4 7C 08 03 A6 */ mtlr r0 -/* 803155D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 803155DC 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index a237249980..d55c532e2e 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -70,6 +70,8 @@ public: bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; } J3DPEBlock* getPEBlock() { return mPEBlock; } void onInvalid() { mInvalid = 1; } + u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); } + u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); } void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); } void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); } diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 0b80f6b50b..06eaa771bd 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -18,6 +18,48 @@ class J3DTexMtx; class J3DTexMtxObj; class J3DTexture; +inline u32 getDiffFlag_LightObjNum(u32 param_1) { + return (param_1 & 0xf0) >> 4; +} + +inline u32 getDiffFlag_TexGenNum(u32 param_1) { + return (param_1 & 0xf00) >> 8; +} + +inline int calcDifferedBufferSize_TexMtxSize(int param_1) { + return param_1 * 0x35; +} + +inline int calcDifferedBufferSize_TexGenSize(int param_1) { + return param_1 * 0x3d + 10; +} + +inline u32 getDiffFlag_TexNoNum(u32 param_1) { + return (param_1 & 0xf0000) >> 0x10; +} + +inline int calcDifferedBufferSize_TexNoSize(int param_1) { + return param_1 * 0x37; +} + +inline u32 calcDifferedBufferSize_TexNoAndTexCoordScaleSize(u32 param_1) { + u32 res = param_1 * 0x37; + res += ((param_1 + 1) >> 1) * 0x37; + return res; +} + +inline u32 getDiffFlag_TevStageNum(u32 param_1) { + return (param_1 & 0xf00000) >> 0x14; +} + +inline int calcDifferedBufferSize_TevStageSize(int param_1) { + return param_1 * 10; +} + +inline int calcDifferedBufferSize_TevStageDirectSize(int param_1) { + return param_1 * 5; +} + class J3DDisplayListObj { public: J3DDisplayListObj() { diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index 177f754261..97010b8527 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -28,7 +28,10 @@ public: static J3DTexMtxObj* sTexMtxObj; }; -extern u8 struct_804515B0[4]; +extern u8 struct_804515B0; +extern u8 struct_804515B1; +extern u8 struct_804515B2; +extern u8 struct_804515B3; class J3DShapeMtx { public: @@ -57,8 +60,8 @@ public: static u32 sTexMtxLoadType; static void setCurrentPipeline(u32 pipeline) { sCurrentPipeline = pipeline; } - static void setLODFlag(u8 flag) { struct_804515B0[1] = flag; } - static u8 getLODFlag() { return struct_804515B0[1]; } + static void setLODFlag(u8 flag) { struct_804515B1 = flag; } + static u8 getLODFlag() { return struct_804515B1; } static void resetMtxLoadCache(); private: diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index fe25597bc0..3d97babee0 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -135,6 +135,7 @@ struct J3DSys { static u16 sTexCoordScaleTable[32]; }; +extern u32 j3dDefaultViewNo; extern J3DSys j3dSys; #endif /* J3DSYS_H */ diff --git a/libs/JSystem/J3DGraphBase/J3DPacket.cpp b/libs/JSystem/J3DGraphBase/J3DPacket.cpp index 561cf05391..3131b264f5 100644 --- a/libs/JSystem/J3DGraphBase/J3DPacket.cpp +++ b/libs/JSystem/J3DGraphBase/J3DPacket.cpp @@ -24,64 +24,10 @@ // Forward References: // -extern "C" void newDisplayList__17J3DDisplayListObjFUl(); -extern "C" void newSingleDisplayList__17J3DDisplayListObjFUl(); -extern "C" void single_To_Double__17J3DDisplayListObjFv(); -extern "C" void setSingleDisplayList__17J3DDisplayListObjFPvUl(); -extern "C" void swapBuffer__17J3DDisplayListObjFv(); -extern "C" void callDL__17J3DDisplayListObjCFv(); -extern "C" void beginDL__17J3DDisplayListObjFv(); -extern "C" void endDL__17J3DDisplayListObjFv(); -extern "C" void beginPatch__17J3DDisplayListObjFv(); -extern "C" void endPatch__17J3DDisplayListObjFv(); -extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer(); -extern "C" void addChildPacket__9J3DPacketFP9J3DPacket(); -extern "C" void __ct__13J3DDrawPacketFv(); -extern "C" void __dt__13J3DDrawPacketFv(); -extern "C" void newDisplayList__13J3DDrawPacketFUl(); -extern "C" void newSingleDisplayList__13J3DDrawPacketFUl(); -extern "C" void draw__13J3DDrawPacketFv(); -extern "C" void __ct__12J3DMatPacketFv(); -extern "C" void __dt__12J3DMatPacketFv(); -extern "C" void addShapePacket__12J3DMatPacketFP14J3DShapePacket(); -extern "C" void beginDiff__12J3DMatPacketFv(); -extern "C" void endDiff__12J3DMatPacketFv(); -extern "C" void isSame__12J3DMatPacketCFP12J3DMatPacket(); -extern "C" void draw__12J3DMatPacketFv(); -extern "C" void __ct__14J3DShapePacketFv(); -extern "C" void __dt__14J3DShapePacketFv(); -extern "C" void calcDifferedBufferSize__14J3DShapePacketFUl(); -extern "C" void newDifferedDisplayList__14J3DShapePacketFUl(); -extern "C" void prepareDraw__14J3DShapePacketCFv(); -extern "C" void draw__14J3DShapePacketFv(); -extern "C" void drawFast__14J3DShapePacketFv(); -extern "C" void draw__9J3DPacketFv(); -extern "C" void entry__12J3DMatPacketFP13J3DDrawBuffer(); -extern "C" u8 sGDLObj__17J3DDisplayListObj[16]; -extern "C" u8 sInterruptFlag__17J3DDisplayListObj[4 + 4 /* padding */]; - // // External References: // -extern "C" void __dt__9J3DPacketFv(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void setArray__15J3DVertexBufferCFv(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void syncJ3DSysFlags__12J3DModelDataCFv(); -extern "C" void GDFlushCurrToMem(); -extern "C" void GDPadCurr32(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); -extern "C" u8 sortFuncTable__13J3DDrawBuffer[72]; -extern "C" extern u8 struct_804515B0[4]; -extern "C" u8 sTexGenBlock__17J3DDifferedTexMtx[4]; -extern "C" u8 sTexMtxObj__17J3DDifferedTexMtx[4]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - // // Declarations: // @@ -324,14 +270,63 @@ J3DShapePacket::~J3DShapePacket() {} /* 80312BD4-80312DBC 30D514 01E8+00 1/1 0/0 0/0 .text calcDifferedBufferSize__14J3DShapePacketFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 J3DShapePacket::calcDifferedBufferSize(u32 flag) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DPacket/calcDifferedBufferSize__14J3DShapePacketFUl.s" +u32 J3DShapePacket::calcDifferedBufferSize(u32 flag) { + int iVar5 = 0; + for (int i = 0; i < 8; i++) { + if ((flag & sDifferedRegister[i]) != 0) { + iVar5 += sSizeOfDiffered[i]; + } + } + + iVar5 += getDiffFlag_LightObjNum(flag) * 0x48; + u32 uVar2 = getDiffFlag_TexGenNum(flag); + if (uVar2 != 0) { + u32 local_4c = mpShape->getMaterial()->getTexGenNum(); + if (uVar2 > local_4c) { + local_4c = uVar2; + } + if ((flag & 0x1000)) { + iVar5 += calcDifferedBufferSize_TexGenSize(local_4c); + } else { + iVar5 += calcDifferedBufferSize_TexMtxSize(local_4c); + } + } + + uVar2 = getDiffFlag_TexNoNum(flag); + if (uVar2 != 0) { + u8 local_58; + if (mpShape->getMaterial()->getTevStageNum() > 8) { + local_58 = 8; + } else { + local_58 = mpShape->getMaterial()->getTevStageNum(); + } + u32 local_50 = local_58; + local_50 = uVar2 > local_50 ? uVar2 : local_50; + if ((flag & 0x4000000)) { + iVar5 += calcDifferedBufferSize_TexNoAndTexCoordScaleSize(local_50); + } else { + iVar5 += calcDifferedBufferSize_TexNoSize(local_50); + } + } + + uVar2 = getDiffFlag_TevStageNum(flag); + if (uVar2 != 0) { + u8 local_58; + if (mpShape->getMaterial()->getTevStageNum() > 8) { + local_58 = 8; + } else { + local_58 = mpShape->getMaterial()->getTevStageNum(); + } + u32 local_50 = local_58; + local_50 = uVar2 > local_50 ? uVar2 : local_50; + iVar5 += calcDifferedBufferSize_TevStageSize(local_50); + if (flag & 0x8000000) { + iVar5 += calcDifferedBufferSize_TevStageDirectSize(local_50); + } + } + + return (iVar5 + 0x1f) & ~0x1f; } -#pragma pop /* 80312DBC-80312E08 30D6FC 004C+00 0/0 1/1 0/0 .text newDifferedDisplayList__14J3DShapePacketFUl */ @@ -349,7 +344,6 @@ J3DError J3DShapePacket::newDifferedDisplayList(u32 flag) { } /* 80312E08-80312F24 30D748 011C+00 2/2 0/0 0/0 .text prepareDraw__14J3DShapePacketCFv */ -#if defined NONMATCHING void J3DShapePacket::prepareDraw() const { mpModel->getVertexBuffer()->setArray(); j3dSys.setModel(mpModel); @@ -364,34 +358,25 @@ void J3DShapePacket::prepareDraw() const { mpShape->offFlag(J3DShpFlag_SkinPosCpu); } - if (mpModel->checkFlag(J3DMdlFlag_SkinNrmCpu) && !mpShape->checkFlag(J3DShpFlag_EnableLod)) { + if (mpModel->checkFlag(J3DMdlFlag_SkinNrmCpu) && mpShape->checkFlag(J3DShpFlag_EnableLod) == false) { mpShape->onFlag(J3DShpFlag_SkinNrmCpu); } else { mpShape->offFlag(J3DShpFlag_SkinNrmCpu); } - mpShape->setCurrentViewNoPtr(mpMtxBuffer->getCurrentViewNoPtr()); - mpShape->setScaleFlagArray(mpMtxBuffer->getScaleFlagArray()); - mpShape->setDrawMtx(mpMtxBuffer->getDrawMtxPtrPtr()); + J3DMtxBuffer* buffer = mpMtxBuffer; + mpShape->setCurrentViewNoPtr(buffer->getCurrentViewNoPtr()); + mpShape->setScaleFlagArray(buffer->getScaleFlagArray()); + mpShape->setDrawMtx(buffer->getDrawMtxPtrPtr()); if (!mpShape->getNBTFlag()) { - mpShape->setNrmMtx(mpMtxBuffer->getNrmMtxPtrPtr()); + mpShape->setNrmMtx(buffer->getNrmMtxPtrPtr()); } else { - mpShape->setNrmMtx(mpMtxBuffer->getBumpMtxPtrPtr()[mpShape->getBumpMtxOffset()]); + mpShape->setNrmMtx(buffer->getBumpMtxPtrPtr()[mpShape->getBumpMtxOffset()]); } mpModel->getModelData()->syncJ3DSysFlags(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapePacket::prepareDraw() const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DPacket/prepareDraw__14J3DShapePacketCFv.s" -} -#pragma pop -#endif /* 80312F24-80312FBC 30D864 0098+00 1/0 0/0 0/0 .text draw__14J3DShapePacketFv */ void J3DShapePacket::draw() { diff --git a/libs/JSystem/J3DGraphBase/J3DShape.cpp b/libs/JSystem/J3DGraphBase/J3DShape.cpp index efe817b617..04e7e85458 100644 --- a/libs/JSystem/J3DGraphBase/J3DShape.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShape.cpp @@ -17,26 +17,6 @@ // Forward References: // -extern "C" void initialize__8J3DShapeFv(); -extern "C" void addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl(); -extern "C" void addTexMtxIndexInVcd__8J3DShapeF7_GXAttr(); -extern "C" void calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f(); -extern "C" void countBumpMtxNum__8J3DShapeCFv(); -extern "C" static void J3DLoadCPCmd__FUcUl(); -extern "C" static void J3DLoadArrayBasePtr__F7_GXAttrPv(); -extern "C" void loadVtxArray__8J3DShapeCFv(); -extern "C" void isSameVcdVatCmd__8J3DShapeFP8J3DShape(); -extern "C" void makeVtxArrayCmd__8J3DShapeFv(); -extern "C" void makeVcdVatCmd__8J3DShapeFv(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void setArrayAndBindPipeline__8J3DShapeCFv(); -extern "C" void drawFast__8J3DShapeCFv(); -extern "C" void draw__8J3DShapeCFv(); -extern "C" void simpleDraw__8J3DShapeCFv(); -extern "C" void simpleDrawCache__8J3DShapeCFv(); -extern "C" extern void* __vt__8J3DShape[6]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - // // External References: // @@ -45,25 +25,6 @@ void J3DGDSetVtxAttrFmtv(_GXVtxFmt, GXVtxAttrFmtList const*, bool); void J3DFifoLoadPosMtxImm(Mtx, u32); void J3DFifoLoadNrmMtxImm(Mtx, u32); -extern "C" void* __nwa__FUl(); -extern "C" void J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb(); -extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl(); -extern "C" void J3DFifoLoadNrmMtxImm__FPA4_fUl(); -extern "C" void resetMtxLoadCache__11J3DShapeMtxFv(); -extern "C" void addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl(); -extern "C" void draw__12J3DShapeDrawCFv(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u32 j3dDefaultViewNo; -extern "C" u32 sCurrentPipeline__11J3DShapeMtx; -extern "C" u32 sCurrentScaleFlag__11J3DShapeMtx; -extern "C" extern u8 struct_804515B0[4]; -extern "C" u32 sTexMtxLoadType__11J3DShapeMtx; - // // Declarations: // @@ -340,13 +301,12 @@ void J3DShape::setArrayAndBindPipeline() const { J3DShapeMtx::sCurrentScaleFlag = mScaleFlagArray; // The below struct_804515B0 is actually a continuation of sCurrentScaleFlag, I believe? // Also, there seems to be an extra entry in the array that's only there in DEBUG builds. - struct_804515B0[0] = mHasNBT; + struct_804515B0 = mHasNBT; data_804515D4[0] = mHasPNMTXIdx; J3DShapeMtx::sTexMtxLoadType = getTexMtxLoadType(); } /* 8031544C-803155E0 30FD8C 0194+00 1/0 0/0 0/0 .text drawFast__8J3DShapeCFv */ -#ifdef NONMATCHING void J3DShape::drawFast() const { if (sOldVcdVatCmd != mVcdVatCmd) { GXCallDisplayList(mVcdVatCmd, kVcdVatDLSize); @@ -376,18 +336,6 @@ void J3DShape::drawFast() const { getShapeDraw(i)->draw(); } } -#else - -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShape::drawFast() const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DShape/drawFast__8J3DShapeCFv.s" -} -#pragma pop - -#endif /* 803155E0-80315628 30FF20 0048+00 1/0 0/0 0/0 .text draw__8J3DShapeCFv */ void J3DShape::draw() const { diff --git a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp index dd9d77b10c..a4ecff84c0 100644 --- a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp @@ -355,8 +355,10 @@ u8* J3DShapeMtx::sCurrentScaleFlag; /* 804515B0-804515B4 -00001 0004+00 5/5 3/3 0/0 .sbss None */ /* 804515B0 0001+00 data_804515B0 None */ /* 804515B1 0003+00 data_804515B1 None */ -extern u8 struct_804515B0[4]; -u8 struct_804515B0[4]; +u8 struct_804515B0; +u8 struct_804515B1; +u8 struct_804515B2; +u8 struct_804515B3; /* 804515B4-804515B8 000AB4 0004+00 4/4 1/1 0/0 .sbss sTexMtxLoadType__11J3DShapeMtx */ u32 J3DShapeMtx::sTexMtxLoadType; diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp index 8ce7f16565..b3cf71f619 100644 --- a/libs/JSystem/J3DGraphBase/J3DSys.cpp +++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp @@ -400,5 +400,4 @@ void J3DSys::reinitPixelProc() { /* ############################################################################################## */ /* 80451598-804515A0 000A98 0004+04 0/0 1/1 0/0 .sbss j3dDefaultViewNo */ -extern u8 j3dDefaultViewNo[4 + 4 /* padding */]; -u8 j3dDefaultViewNo[4 + 4 /* padding */]; +u32 j3dDefaultViewNo;