diff --git a/Progress.md b/Progress.md index 9695e3bd758..3fa5f6200e9 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/README.md b/README.md index cea9ab8b7ff..22465789772 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=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). 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 69cb5a88b4a..00000000000 --- 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 9142b9c6fc0..00000000000 --- 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 bdda49fa9ed..00000000000 --- 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 591586e34bd..00000000000 --- 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 cbcde100c66..00000000000 --- 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 71e4debf091..00000000000 --- 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 35a241d3e03..00000000000 --- 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 fd0dd1fa48a..00000000000 --- 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 881c4b07c4d..00000000000 --- 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 08712e36241..00000000000 --- 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 a93ae24b144..00000000000 --- 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 50b79d6a06b..00000000000 --- 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 4078e9836d1..00000000000 --- 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 e78635da163..00000000000 --- 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 a335d9e0a3b..00000000000 --- 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 4e3211849ad..00000000000 --- 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 5e4541e9752..00000000000 --- 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 eabeb63f606..00000000000 --- 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 fa334326ff9..00000000000 --- 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 350a8f90e5a..00000000000 --- 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 2264b56dabe..00000000000 --- 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 499c0eff3ed..00000000000 --- 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 c2f30191304..00000000000 --- 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 81cc3c78e1e..00000000000 --- 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 050fb372da1..00000000000 --- 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 40386124283..00000000000 --- 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 ed6e74d00ed..00000000000 --- 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 ddd9c896ee4..00000000000 --- 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 93f9edc34d3..00000000000 --- 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 6cd5659f573..87ab8b94a61 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 c7c28056f5c..ed9ffd645c5 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 4ad02396d40..a2372499806 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 790e7348253..0b80f6b50b3 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 ab571a668fe..8ceaf59661f 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 01f882e3f41..fe25597bc05 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 5462140ce81..09081c52775 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 96ee30877af..27e7349deee 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 417b8b0586e..712b92f24ee 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 50729c4045a..0906182ba89 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 44a8590204d..0647c5e784c 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 b6e7a77f6ba..9a9203b05df 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 1a63461f926..da00dcdf0a1 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); } }