Merge pull request #365 from hatal175/J3DMaterial

Work on J3DMaterial
This commit is contained in:
hatal175 2023-07-09 21:38:14 +03:00 committed by GitHub
commit 78a8fb2601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 473 additions and 1603 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 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

View File

@ -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).
<!--ts-->

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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();

View File

@ -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*);

View File

@ -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*);

View File

@ -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; }

View File

@ -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; }

View File

@ -66,4 +66,7 @@ struct J3DTevSwapModeTable {
struct J3DTevSwapModeInfo {};
struct J3DNBTScale;
void loadNBTScale(J3DNBTScale& param_0);
#endif /* J3DTEVS_H */

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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"
}

View File

@ -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
*/

View File

@ -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);

View File

@ -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);
}
}