J3DShape/J3DShapeMtx: More work

This commit is contained in:
Jasper St. Pierre 2022-04-23 22:17:28 -07:00
parent fb8b3251d6
commit f1f9cc713d
28 changed files with 192 additions and 550 deletions

View File

@ -1,67 +0,0 @@
lbl_80314CBC:
/* 80314CBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314CC0 7C 08 02 A6 */ mflr r0
/* 80314CC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314CC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314CCC 93 C1 00 08 */ stw r30, 8(r1)
/* 80314CD0 7C 7F 1B 78 */ mr r31, r3
/* 80314CD4 7C 9E 23 78 */ mr r30, r4
/* 80314CD8 38 60 FF FF */ li r3, -1
/* 80314CDC 80 9F 00 30 */ lwz r4, 0x30(r31)
/* 80314CE0 38 A0 00 00 */ li r5, 0
/* 80314CE4 48 00 00 18 */ b lbl_80314CFC
lbl_80314CE8:
/* 80314CE8 2C 00 00 00 */ cmpwi r0, 0
/* 80314CEC 40 82 00 08 */ bne lbl_80314CF4
/* 80314CF0 38 60 00 00 */ li r3, 0
lbl_80314CF4:
/* 80314CF4 38 A5 00 01 */ addi r5, r5, 1
/* 80314CF8 38 84 00 08 */ addi r4, r4, 8
lbl_80314CFC:
/* 80314CFC 80 04 00 00 */ lwz r0, 0(r4)
/* 80314D00 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314D04 40 82 FF E4 */ bne lbl_80314CE8
/* 80314D08 2C 03 FF FF */ cmpwi r3, -1
/* 80314D0C 41 82 00 84 */ beq lbl_80314D90
/* 80314D10 38 05 00 02 */ addi r0, r5, 2
/* 80314D14 54 03 18 38 */ slwi r3, r0, 3
/* 80314D18 4B FB 9F AD */ bl __nwa__FUl
/* 80314D1C 38 C0 00 00 */ li r6, 0
/* 80314D20 80 BF 00 30 */ lwz r5, 0x30(r31)
/* 80314D24 7C 67 1B 78 */ mr r7, r3
/* 80314D28 38 80 00 01 */ li r4, 1
/* 80314D2C 48 00 00 3C */ b lbl_80314D68
lbl_80314D30:
/* 80314D30 7C 1E 00 00 */ cmpw r30, r0
/* 80314D34 40 80 00 1C */ bge lbl_80314D50
/* 80314D38 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80314D3C 40 82 00 14 */ bne lbl_80314D50
/* 80314D40 93 C7 00 00 */ stw r30, 0(r7)
/* 80314D44 90 87 00 04 */ stw r4, 4(r7)
/* 80314D48 38 C0 00 01 */ li r6, 1
/* 80314D4C 38 E7 00 08 */ addi r7, r7, 8
lbl_80314D50:
/* 80314D50 80 05 00 00 */ lwz r0, 0(r5)
/* 80314D54 90 07 00 00 */ stw r0, 0(r7)
/* 80314D58 80 05 00 04 */ lwz r0, 4(r5)
/* 80314D5C 90 07 00 04 */ stw r0, 4(r7)
/* 80314D60 38 E7 00 08 */ addi r7, r7, 8
/* 80314D64 38 A5 00 08 */ addi r5, r5, 8
lbl_80314D68:
/* 80314D68 80 05 00 00 */ lwz r0, 0(r5)
/* 80314D6C 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314D70 40 82 FF C0 */ bne lbl_80314D30
/* 80314D74 38 00 00 FF */ li r0, 0xff
/* 80314D78 90 07 00 00 */ stw r0, 0(r7)
/* 80314D7C 38 00 00 00 */ li r0, 0
/* 80314D80 90 07 00 04 */ stw r0, 4(r7)
/* 80314D84 90 7F 00 30 */ stw r3, 0x30(r31)
/* 80314D88 7F E3 FB 78 */ mr r3, r31
/* 80314D8C 48 00 04 D5 */ bl makeVcdVatCmd__8J3DShapeFv
lbl_80314D90:
/* 80314D90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314D94 83 C1 00 08 */ lwz r30, 8(r1)
/* 80314D98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314D9C 7C 08 03 A6 */ mtlr r0
/* 80314DA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80314DA4 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_80314DA8:
/* 80314DA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80314DAC 7C 08 02 A6 */ mflr r0
/* 80314DB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80314DB4 39 61 00 20 */ addi r11, r1, 0x20
/* 80314DB8 48 04 D4 1D */ bl _savegpr_27
/* 80314DBC 7C 7B 1B 78 */ mr r27, r3
/* 80314DC0 7C 9C 23 78 */ mr r28, r4
/* 80314DC4 7C BD 2B 78 */ mr r29, r5
/* 80314DC8 7C DE 33 78 */ mr r30, r6
/* 80314DCC 3B E0 00 00 */ li r31, 0
/* 80314DD0 48 00 00 30 */ b lbl_80314E00
lbl_80314DD4:
/* 80314DD4 80 7B 00 38 */ lwz r3, 0x38(r27)
/* 80314DD8 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d
/* 80314DDC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80314DE0 7F 84 E3 78 */ mr r4, r28
/* 80314DE4 7F A5 EB 78 */ mr r5, r29
/* 80314DE8 7F C6 F3 78 */ mr r6, r30
/* 80314DEC 81 83 00 00 */ lwz r12, 0(r3)
/* 80314DF0 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80314DF4 7D 89 03 A6 */ mtctr r12
/* 80314DF8 4E 80 04 21 */ bctrl
/* 80314DFC 3B FF 00 01 */ addi r31, r31, 1
lbl_80314E00:
/* 80314E00 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 80314E04 A0 1B 00 0A */ lhz r0, 0xa(r27)
/* 80314E08 7C 03 00 40 */ cmplw r3, r0
/* 80314E0C 41 80 FF C8 */ blt lbl_80314DD4
/* 80314E10 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E14 48 04 D4 0D */ bl _restgpr_27
/* 80314E18 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80314E1C 7C 08 03 A6 */ mtlr r0
/* 80314E20 38 21 00 20 */ addi r1, r1, 0x20
/* 80314E24 4E 80 00 20 */ blr

View File

@ -1,31 +0,0 @@
lbl_80314E28:
/* 80314E28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80314E2C 7C 08 02 A6 */ mflr r0
/* 80314E30 90 01 00 24 */ stw r0, 0x24(r1)
/* 80314E34 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E38 48 04 D3 A1 */ bl _savegpr_28
/* 80314E3C 3B A0 00 00 */ li r29, 0
/* 80314E40 3B 80 00 00 */ li r28, 0
/* 80314E44 83 C3 00 38 */ lwz r30, 0x38(r3)
/* 80314E48 A3 E3 00 0A */ lhz r31, 0xa(r3)
/* 80314E4C 48 00 00 24 */ b lbl_80314E70
lbl_80314E50:
/* 80314E50 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 80314E54 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80314E58 81 83 00 00 */ lwz r12, 0(r3)
/* 80314E5C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80314E60 7D 89 03 A6 */ mtctr r12
/* 80314E64 4E 80 04 21 */ bctrl
/* 80314E68 7F BD 1A 14 */ add r29, r29, r3
/* 80314E6C 3B 9C 00 01 */ addi r28, r28, 1
lbl_80314E70:
/* 80314E70 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 80314E74 7C 00 F8 40 */ cmplw r0, r31
/* 80314E78 41 80 FF D8 */ blt lbl_80314E50
/* 80314E7C 7F A3 EB 78 */ mr r3, r29
/* 80314E80 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E84 48 04 D3 A1 */ bl _restgpr_28
/* 80314E88 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80314E8C 7C 08 03 A6 */ mtlr r0
/* 80314E90 38 21 00 20 */ addi r1, r1, 0x20
/* 80314E94 4E 80 00 20 */ blr

View File

@ -1,19 +0,0 @@
lbl_803155E0:
/* 803155E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803155E4 7C 08 02 A6 */ mflr r0
/* 803155E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 803155EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803155F0 7C 7F 1B 78 */ mr r31, r3
/* 803155F4 38 00 00 00 */ li r0, 0
/* 803155F8 90 0D 90 50 */ stw r0, sOldVcdVatCmd__8J3DShape(r13)
/* 803155FC 4B FF FD 05 */ bl loadPreDrawSetting__8J3DShapeCFv
/* 80315600 7F E3 FB 78 */ mr r3, r31
/* 80315604 81 9F 00 00 */ lwz r12, 0(r31)
/* 80315608 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031560C 7D 89 03 A6 */ mtctr r12
/* 80315610 4E 80 04 21 */ bctrl
/* 80315614 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315618 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031561C 7C 08 03 A6 */ mtlr r0
/* 80315620 38 21 00 10 */ addi r1, r1, 0x10
/* 80315624 4E 80 00 20 */ blr

View File

@ -1,67 +0,0 @@
lbl_803156AC:
/* 803156AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803156B0 7C 08 02 A6 */ mflr r0
/* 803156B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803156B8 39 61 00 20 */ addi r11, r1, 0x20
/* 803156BC 48 04 CB 21 */ bl _savegpr_29
/* 803156C0 7C 7E 1B 78 */ mr r30, r3
/* 803156C4 80 0D 90 50 */ lwz r0, sOldVcdVatCmd__8J3DShape(r13)
/* 803156C8 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 803156CC 7C 00 18 40 */ cmplw r0, r3
/* 803156D0 41 82 00 14 */ beq lbl_803156E4
/* 803156D4 38 80 00 C0 */ li r4, 0xc0
/* 803156D8 48 04 A8 19 */ bl GXCallDisplayList
/* 803156DC 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 803156E0 90 0D 90 50 */ stw r0, sOldVcdVatCmd__8J3DShape(r13)
lbl_803156E4:
/* 803156E4 88 0D 90 54 */ lbz r0, data_804515D4(r13)
/* 803156E8 28 00 00 00 */ cmplwi r0, 0
/* 803156EC 41 82 00 60 */ beq lbl_8031574C
/* 803156F0 88 1E 00 48 */ lbz r0, 0x48(r30)
/* 803156F4 28 00 00 00 */ cmplwi r0, 0
/* 803156F8 40 82 00 54 */ bne lbl_8031574C
/* 803156FC 80 BE 00 40 */ lwz r5, 0x40(r30)
/* 80315700 38 80 00 08 */ li r4, 8
/* 80315704 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
/* 80315708 98 83 80 00 */ stb r4, 0x8000(r3) /* 0xCC008000@l */
/* 8031570C 38 00 00 30 */ li r0, 0x30
/* 80315710 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315714 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315718 80 DE 00 44 */ lwz r6, 0x44(r30)
/* 8031571C 98 83 80 00 */ stb r4, -0x8000(r3)
/* 80315720 38 00 00 40 */ li r0, 0x40
/* 80315724 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315728 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 8031572C 38 00 00 10 */ li r0, 0x10
/* 80315730 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315734 38 00 00 01 */ li r0, 1
/* 80315738 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 8031573C 38 00 10 18 */ li r0, 0x1018
/* 80315740 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 80315744 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315748 90 C3 80 00 */ stw r6, -0x8000(r3)
lbl_8031574C:
/* 8031574C 7F C3 F3 78 */ mr r3, r30
/* 80315750 4B FF F7 9D */ bl loadVtxArray__8J3DShapeCFv
/* 80315754 A3 FE 00 0A */ lhz r31, 0xa(r30)
/* 80315758 3B A0 00 00 */ li r29, 0
/* 8031575C 83 DE 00 3C */ lwz r30, 0x3c(r30)
/* 80315760 48 00 00 1C */ b lbl_8031577C
lbl_80315764:
/* 80315764 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d
/* 80315768 7C 7E 00 2E */ lwzx r3, r30, r0
/* 8031576C 28 03 00 00 */ cmplwi r3, 0
/* 80315770 41 82 00 08 */ beq lbl_80315778
/* 80315774 4B FF F3 61 */ bl draw__12J3DShapeDrawCFv
lbl_80315778:
/* 80315778 3B BD 00 01 */ addi r29, r29, 1
lbl_8031577C:
/* 8031577C 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 80315780 7C 00 F8 40 */ cmplw r0, r31
/* 80315784 41 80 FF E0 */ blt lbl_80315764
/* 80315788 39 61 00 20 */ addi r11, r1, 0x20
/* 8031578C 48 04 CA 9D */ bl _restgpr_29
/* 80315790 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80315794 7C 08 03 A6 */ mtlr r0
/* 80315798 38 21 00 20 */ addi r1, r1, 0x20
/* 8031579C 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_803147E0:
/* 803147E0 3C 60 53 4D */ lis r3, 0x534D /* 0x534D5458@ha */
/* 803147E4 38 63 54 58 */ addi r3, r3, 0x5458 /* 0x534D5458@l */
/* 803147E8 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_8031470C:
/* 8031470C 3C 60 53 4D */ lis r3, 0x534D /* 0x534D4D4C@ha */
/* 80314710 38 63 4D 4C */ addi r3, r3, 0x4D4C /* 0x534D4D4C@l */
/* 80314714 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_8031478C:
/* 8031478C 3C 60 53 4D */ lis r3, 0x534D /* 0x534D4356@ha */
/* 80314790 38 63 43 56 */ addi r3, r3, 0x4356 /* 0x534D4356@l */
/* 80314794 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_80314688:
/* 80314688 3C 60 53 4D */ lis r3, 0x534D /* 0x534D4D43@ha */
/* 8031468C 38 63 4D 43 */ addi r3, r3, 0x4D43 /* 0x534D4D43@l */
/* 80314690 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_80314610:
/* 80314610 3C 60 53 4D */ lis r3, 0x534D /* 0x534D4242@ha */
/* 80314614 38 63 42 42 */ addi r3, r3, 0x4242 /* 0x534D4242@l */
/* 80314618 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_8031458C:
/* 8031458C 3C 60 53 4D */ lis r3, 0x534D /* 0x534D5942@ha */
/* 80314590 38 63 59 42 */ addi r3, r3, 0x5942 /* 0x534D5942@l */
/* 80314594 4E 80 00 20 */ blr

View File

@ -1,3 +0,0 @@
lbl_8031459C:
/* 8031459C A0 63 00 04 */ lhz r3, 4(r3)
/* 803145A0 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_80314720:
/* 80314720 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80314724 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e
/* 80314728 7C 63 02 2E */ lhzx r3, r3, r0
/* 8031472C 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_8031469C:
/* 8031469C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 803146A0 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e
/* 803146A4 7C 63 02 2E */ lhzx r3, r3, r0
/* 803146A8 4E 80 00 20 */ blr

View File

@ -1,3 +0,0 @@
lbl_80314718:
/* 80314718 A0 63 00 08 */ lhz r3, 8(r3)
/* 8031471C 4E 80 00 20 */ blr

View File

@ -1,3 +0,0 @@
lbl_80314694:
/* 80314694 A0 63 00 08 */ lhz r3, 8(r3)
/* 80314698 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80313188:
/* 80313188 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031318C 7C 08 02 A6 */ mflr r0
/* 80313190 90 01 00 14 */ stw r0, 0x14(r1)
/* 80313194 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80313198 7C 9F 23 78 */ mr r31, r4
/* 8031319C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 803131A0 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 803131A4 4B FF CD 1D */ bl loadPosMtxIndx__6J3DSysCFiUs
/* 803131A8 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 803131AC 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 803131B0 80 63 00 40 */ lwz r3, 0x40(r3)
/* 803131B4 80 63 00 30 */ lwz r3, 0x30(r3)
/* 803131B8 1C 9F 00 03 */ mulli r4, r31, 3
/* 803131BC 4B FF C9 A5 */ bl J3DFifoLoadNrmMtxImm__FPA4_fUl
/* 803131C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803131C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803131C8 7C 08 03 A6 */ mtlr r0
/* 803131CC 38 21 00 10 */ addi r1, r1, 0x10
/* 803131D0 4E 80 00 20 */ blr

View File

@ -1,25 +0,0 @@
lbl_80313128:
/* 80313128 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031312C 7C 08 02 A6 */ mflr r0
/* 80313130 90 01 00 14 */ stw r0, 0x14(r1)
/* 80313134 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80313138 93 C1 00 08 */ stw r30, 8(r1)
/* 8031313C 7C 9E 23 78 */ mr r30, r4
/* 80313140 7C BF 2B 78 */ mr r31, r5
/* 80313144 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80313148 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 8031314C 80 63 00 40 */ lwz r3, 0x40(r3)
/* 80313150 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80313154 1C 9E 00 03 */ mulli r4, r30, 3
/* 80313158 4B FF C9 89 */ bl J3DFifoLoadPosMtxImm__FPA4_fUl
/* 8031315C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80313160 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 80313164 7F C4 F3 78 */ mr r4, r30
/* 80313168 7F E5 FB 78 */ mr r5, r31
/* 8031316C 4B FF CD 79 */ bl loadNrmMtxIndx__6J3DSysCFiUs
/* 80313170 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80313174 83 C1 00 08 */ lwz r30, 8(r1)
/* 80313178 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031317C 7C 08 03 A6 */ mtlr r0
/* 80313180 38 21 00 10 */ addi r1, r1, 0x10
/* 80313184 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_803131D4:
/* 803131D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803131D8 7C 08 02 A6 */ mflr r0
/* 803131DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803131E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803131E4 93 C1 00 08 */ stw r30, 8(r1)
/* 803131E8 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 803131EC 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
/* 803131F0 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 803131F4 80 63 00 30 */ lwz r3, 0x30(r3)
/* 803131F8 1F C4 00 03 */ mulli r30, r4, 3
/* 803131FC 7F C4 F3 78 */ mr r4, r30
/* 80313200 4B FF C8 E1 */ bl J3DFifoLoadPosMtxImm__FPA4_fUl
/* 80313204 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80313208 80 63 00 30 */ lwz r3, 0x30(r3)
/* 8031320C 7F C4 F3 78 */ mr r4, r30
/* 80313210 4B FF C9 51 */ bl J3DFifoLoadNrmMtxImm__FPA4_fUl
/* 80313214 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80313218 83 C1 00 08 */ lwz r30, 8(r1)
/* 8031321C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80313220 7C 08 03 A6 */ mtlr r0
/* 80313224 38 21 00 10 */ addi r1, r1, 0x10
/* 80313228 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_803130E4:
/* 803130E4 38 00 00 20 */ li r0, 0x20
/* 803130E8 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */
/* 803130EC 98 06 80 00 */ stb r0, 0x8000(r6) /* 0xCC008000@l */
/* 803130F0 B0 A6 80 00 */ sth r5, -0x8000(r6)
/* 803130F4 1C 04 00 0C */ mulli r0, r4, 0xc
/* 803130F8 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 803130FC 60 00 B0 00 */ ori r0, r0, 0xb000
/* 80313100 B0 06 80 00 */ sth r0, -0x8000(r6)
/* 80313104 38 00 00 28 */ li r0, 0x28
/* 80313108 98 06 80 00 */ stb r0, -0x8000(r6)
/* 8031310C B0 A6 80 00 */ sth r5, -0x8000(r6)
/* 80313110 1C 64 00 09 */ mulli r3, r4, 9
/* 80313114 38 03 04 00 */ addi r0, r3, 0x400
/* 80313118 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8031311C 60 00 80 00 */ ori r0, r0, 0x8000
/* 80313120 B0 06 80 00 */ sth r0, -0x8000(r6)
/* 80313124 4E 80 00 20 */ blr

View File

@ -37,6 +37,7 @@ public:
J3DJoint* getRootNode() { return mRootNode; }
J3DJoint* getJointNodePointer(u16 idx) const { return mJointNodePointer[idx]; }
J3DMtxCalc* getBasicMtxCalc() const { return mBasicMtxCalc; }
Mtx& getInvJointMtx(s32 idx) const { return mInvJointMtx[idx]; }
private:
/* 0x04 */ J3DModelHierarchy* mHierarchy;

View File

@ -33,12 +33,13 @@ public:
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); }
J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); }
J3DJointTree& getJointTree() { return mJointTree; }
Mtx& getInvJointMtx(s32 idx) const { return mJointTree.getInvJointMtx(idx); }
J3DTexture* getTexture() const { return mMaterialTable.getTexture(); }
JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); }
u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); }
void* getVtxPosArray() const { return mVertexData.getVtxPosArray(); }
void* getVtxNrmArray() const { return mVertexData.getVtxNrmArray(); }
_GXColor* getVtxColorArray(u8 idx) const { return mVertexData.getVtxColorArray(idx); }
GXColor* getVtxColorArray(u8 idx) const { return mVertexData.getVtxColorArray(idx); }
bool checkFlag(u32 flag) const { return !!(mFlags & flag); }
bool checkBumpFlag() const { return mbHasBumpArray; }
bool checkBBoardFlag() const { return mbHasBillboard == 1; }

View File

@ -58,7 +58,7 @@ public:
/* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32);
/* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr);
/* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
/* 80314E28 */ void countBumpMtxNum() const;
/* 80314E28 */ u32 countBumpMtxNum() const;
/* 80314EEC */ void loadVtxArray() const;
/* 80314F5C */ bool isSameVcdVatCmd(J3DShape*);
/* 80314F98 */ void makeVtxArrayCmd();

View File

@ -9,7 +9,12 @@ class J3DTexGenBlock;
class J3DDifferedTexMtx {
public:
/* 8031322C */ void loadExecute(f32 const (*)[4]);
/* 8031322C */ static void loadExecute(f32 const (*)[4]);
static inline void load(Mtx m) {
if (sTexGenBlock != NULL)
loadExecute(m);
}
static J3DTexGenBlock* sTexGenBlock;
static J3DTexMtx* sTexMtxObj;
@ -26,9 +31,9 @@ public:
/* 803131D4 */ void loadMtxIndx_PNCPU(int, u16) const;
/* 80314798 */ virtual ~J3DShapeMtx();
/* 803147E0 */ virtual void getType() const;
/* 80273E08 */ virtual bool getUseMtxNum() const;
/* 8031459C */ virtual void getUseMtxIndex(u16) const;
/* 803147E0 */ virtual u32 getType() const;
/* 80273E08 */ virtual u32 getUseMtxNum() const;
/* 8031459C */ virtual u32 getUseMtxIndex(u16) const;
/* 80313B94 */ virtual void load() const;
/* 80313BF0 */ virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
@ -50,7 +55,7 @@ private:
class J3DShapeMtxConcatView : public J3DShapeMtx {
public:
/* 80314730 */ virtual ~J3DShapeMtxConcatView();
/* 8031478C */ virtual void getType() const;
/* 803147E0 */ virtual u32 getType() const;
/* 80313C54 */ virtual void load() const;
/* 80314598 */ virtual void loadNrmMtx(int, u16) const;
/* 80313D28 */ virtual void loadNrmMtx(int, u16, f32 (*)[4]) const;
@ -69,23 +74,23 @@ public:
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
public:
/* 80314520 */ virtual ~J3DShapeMtxYBBoardConcatView();
/* 8031458C */ virtual void getType() const;
/* 803147E0 */ virtual u32 getType() const;
/* 803143E4 */ virtual void load() const;
};
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
public:
/* 803145A4 */ virtual ~J3DShapeMtxBBoardConcatView();
/* 80314610 */ virtual void getType() const;
/* 803147E0 */ virtual u32 getType() const;
/* 803142D4 */ virtual void load() const;
};
class J3DShapeMtxMulti : public J3DShapeMtx {
public:
/* 803146B0 */ virtual ~J3DShapeMtxMulti();
/* 8031470C */ virtual void getType() const;
/* 80314718 */ virtual void getUseMtxNum() const;
/* 80314720 */ virtual void getUseMtxIndex(u16) const;
/* 803147E0 */ virtual u32 getType() const;
/* 80273E08 */ virtual u32 getUseMtxNum() const;
/* 8031459C */ virtual u32 getUseMtxIndex(u16) const;
/* 80313E4C */ virtual void load() const;
/* 80313EEC */ virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
@ -97,9 +102,9 @@ private:
class J3DShapeMtxMultiConcatView : public J3DShapeMtx {
public:
/* 8031461C */ virtual ~J3DShapeMtxMultiConcatView();
/* 80314688 */ virtual void getType() const;
/* 80314694 */ virtual void getUseMtxNum() const;
/* 8031469C */ virtual void getUseMtxIndex(u16) const;
/* 803147E0 */ virtual u32 getType() const;
/* 80273E08 */ virtual u32 getUseMtxNum() const;
/* 8031459C */ virtual u32 getUseMtxIndex(u16) const;
/* 80313FA4 */ virtual void load() const;
/* 803146AC */ virtual void loadNrmMtx(int, u16) const;
/* 8031419C */ virtual void loadNrmMtx(int, u16, f32 (*)[4]) const;

View File

@ -118,6 +118,9 @@ struct J3DSys {
// Type 1: Xlu Buffer
J3DDrawBuffer* getDrawBuffer(int type) { return mDrawBuffer[type]; }
Mtx& getModelDrawMtx(u16 no) const { return mModelDrawMtx[no]; }
J3DShapePacket* getShapePacket() const { return mShapePacket; }
void setViewMtx(Mtx m) { PSMTXCopy(m, mViewMtx); }
static Mtx mCurrentMtx;

View File

@ -826,9 +826,9 @@ typedef enum _GXPTTexMtx {
};
typedef struct _GXVtxDescList {
GXAttr attr;
GXAttrType type;
} GXVtxDescList;
/* 0x0 */ GXAttr attr;
/* 0x4 */ GXAttrType type;
} GXVtxDescList; // Size: 0x08
typedef enum _GXFBClamp {
/* 0x0 */ GX_CLAMP_NONE,

View File

@ -90,6 +90,36 @@ asm void J3DShape::initialize() {
}
#pragma pop
/* 80314BB8-80314CBC 30F4F8 0104+00 0/0 1/1 0/0 .text addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl */
#ifdef NONMATCHING
void J3DShape::addTexMtxIndexInDL(GXAttr attr, u32 param_1) {
u32 kSize[] = { 0, 1, 1, 2 };
s32 pnmtxidxOffs = -1;
s32 attrOffs = -1;
u32 stride = 0;
bool found = false;
for (GXVtxDescList* vtxDesc = mVtxDesc; vtxDesc->attr != GX_VA_NULL; vtxDesc++) {
if (vtxDesc->attr == GX_VA_PNMTXIDX)
pnmtxidxOffs = stride;
if (attr < vtxDesc->attr && !found) {
attrOffs = stride;
found = true;
}
stride = stride + kSize[vtxDesc->type];
}
if (pnmtxidxOffs == -1)
return;
for (u16 i = 0; i < mMtxGroupNum; i++)
mShapeDraw[i]->addTexMtxIndexInDL(stride, attrOffs, param_1);
}
#else
/* ############################################################################################## */
/* 803A1E98-803A1EA8 02E4F8 0010+00 1/1 0/0 0/0 .rodata @697 */
SECTION_RODATA static u8 const lit_697[16] = {
@ -97,7 +127,6 @@ SECTION_RODATA static u8 const lit_697[16] = {
};
COMPILER_STRIP_GATE(0x803A1E98, &lit_697);
/* 80314BB8-80314CBC 30F4F8 0104+00 0/0 1/1 0/0 .text addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -107,36 +136,58 @@ asm void J3DShape::addTexMtxIndexInDL(_GXAttr param_0, u32 param_1) {
}
#pragma pop
#endif
/* 80314CBC-80314DA8 30F5FC 00EC+00 0/0 1/1 0/0 .text addTexMtxIndexInVcd__8J3DShapeF7_GXAttr */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShape::addTexMtxIndexInVcd(_GXAttr param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShape/addTexMtxIndexInVcd__8J3DShapeF7_GXAttr.s"
void J3DShape::addTexMtxIndexInVcd(GXAttr attr) {
s32 attrIdx = -1;
GXVtxDescList* vtxDesc = mVtxDesc;
s32 attrCount = 0;
for (; vtxDesc->attr != GX_VA_NULL; attrCount++, vtxDesc++) {
if (vtxDesc->attr == GX_VA_PNMTXIDX)
attrIdx = 0;
}
if (attrIdx == -1)
return;
GXVtxDescList* newVtxDesc = new GXVtxDescList[attrCount + 2];
bool inserted = false;
vtxDesc = mVtxDesc;
GXVtxDescList* dst = newVtxDesc;
for (; vtxDesc->attr != GX_VA_NULL; dst++, vtxDesc++) {
if ((attr < vtxDesc->attr) && !inserted) {
dst->attr = attr;
dst->type = GX_DIRECT;
inserted = true;
dst++;
}
*dst = *vtxDesc;
}
dst->attr = GX_VA_NULL;
dst->type = GX_NONE;
mVtxDesc = newVtxDesc;
makeVcdVatCmd();
}
#pragma pop
/* 80314DA8-80314E28 30F6E8 0080+00 0/0 1/1 0/0 .text
* calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShape::calcNBTScale(Vec const& param_0, f32 (*param_1)[3][3], f32 (*param_2)[3][3]) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShape/calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f.s"
void J3DShape::calcNBTScale(Vec const& param_0, f32 (*param_1)[3][3], f32 (*param_2)[3][3]) {
for (u16 i = 0; i < mMtxGroupNum; i++)
mShapeMtx[i]->calcNBTScale(param_0, param_1, param_2);
}
#pragma pop
/* 80314E28-80314E98 30F768 0070+00 0/0 1/1 0/0 .text countBumpMtxNum__8J3DShapeCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShape::countBumpMtxNum() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShape/countBumpMtxNum__8J3DShapeCFv.s"
u32 J3DShape::countBumpMtxNum() const {
u32 num = 0;
for (u16 i = 0; i < mMtxGroupNum; i++)
num += mShapeMtx[i]->getUseMtxNum();
return num;
}
#pragma pop
/* 80314E98-80314EB0 30F7D8 0018+00 1/1 0/0 0/0 .text J3DLoadCPCmd__FUcUl */
void J3DLoadCPCmd(u8 cmd, u32 param) {

View File

@ -4,20 +4,13 @@
//
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct J3DTextureSRTInfo {};
struct J3DSys {
/* 8030FEC0 */ void loadPosMtxIndx(int, u16) const;
/* 8030FEE4 */ void loadNrmMtxIndx(int, u16) const;
};
//
// Forward References:
//
@ -78,6 +71,12 @@ extern "C" u8 sTexMtxObj__17J3DDifferedTexMtx[4];
// External References:
//
void J3DFifoLoadPosMtxImm(Mtx, u32);
void J3DFifoLoadNrmMtxImm(Mtx, u32);
void J3DFifoLoadNrmMtxImm3x3(Mtx33, u32);
void J3DFifoLoadNrmMtxToTexMtx(Mtx, u32);
void J3DFifoLoadNrmMtxToTexMtx33(Mtx33, u32);
extern "C" bool getUseMtxNum__11J3DShapeMtxCFv();
extern "C" void __dl__FPv();
extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl();
@ -97,8 +96,6 @@ extern "C" void J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f();
extern "C" void J3DScaleNrmMtx__FPA4_fRC3Vec();
extern "C" void J3DScaleNrmMtx33__FPA3_fRC3Vec();
extern "C" void J3DMtxProjConcat__FPA4_fPA4_fPA4_f();
extern "C" void GXSetArray();
extern "C" void GXLoadTexMtxImm();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_22();
extern "C" void _savegpr_25();
@ -110,7 +107,6 @@ extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 j3dSys[284];
//
// Declarations:
@ -135,45 +131,37 @@ void J3DShapeMtx::resetMtxLoadCache() {
sMtxLoadCache[0] = 0xFFFF;
}
/* 803130E4-80313128 30DA24 0044+00 1/0 0/0 0/0 .text loadMtxIndx_PNGP__11J3DShapeMtxCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtx::loadMtxIndx_PNGP(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxIndx_PNGP__11J3DShapeMtxCFiUs.s"
static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) {
GFX_FIFO(u8) = cmd;
GFX_FIFO(u16) = indx;
GFX_FIFO(u16) = addr;
}
/* 803130E4-80313128 30DA24 0044+00 1/0 0/0 0/0 .text loadMtxIndx_PNGP__11J3DShapeMtxCFiUs */
void J3DShapeMtx::loadMtxIndx_PNGP(int slot, u16 indx) const {
// inlined J3DFifoLoadPosMtxIndx
J3DFifoLoadIndx(GX_CMD_LOAD_INDX_A, indx, 0xB000 | ((u16)(slot * 0x0C)));
// inlined J3DFifoLoadNrmMtxIndx3x3
J3DFifoLoadIndx(GX_CMD_LOAD_INDX_B, indx, 0x8000 | ((u16)((slot * 0x09) + 0x400)));
}
#pragma pop
/* 80313128-80313188 30DA68 0060+00 1/0 0/0 0/0 .text loadMtxIndx_PCPU__11J3DShapeMtxCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtx::loadMtxIndx_PCPU(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxIndx_PCPU__11J3DShapeMtxCFiUs.s"
void J3DShapeMtx::loadMtxIndx_PCPU(int slot, u16 indx) const {
J3DFifoLoadPosMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
j3dSys.loadNrmMtxIndx(slot, indx);
}
#pragma pop
/* 80313188-803131D4 30DAC8 004C+00 1/0 0/0 0/0 .text loadMtxIndx_NCPU__11J3DShapeMtxCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtx::loadMtxIndx_NCPU(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxIndx_NCPU__11J3DShapeMtxCFiUs.s"
void J3DShapeMtx::loadMtxIndx_NCPU(int slot, u16 indx) const {
j3dSys.loadPosMtxIndx(slot, indx);
J3DFifoLoadNrmMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
}
#pragma pop
/* 803131D4-8031322C 30DB14 0058+00 1/0 0/0 0/0 .text loadMtxIndx_PNCPU__11J3DShapeMtxCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtx::loadMtxIndx_PNCPU(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxIndx_PNCPU__11J3DShapeMtxCFiUs.s"
void J3DShapeMtx::loadMtxIndx_PNCPU(int slot, u16 indx) const {
J3DFifoLoadPosMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
J3DFifoLoadNrmMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
}
#pragma pop
/* ############################################################################################## */
/* 803CD990-803CD99C -00001 000C+00 1/1 0/0 0/0 .data @832 */
@ -409,58 +397,60 @@ asm void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
/* 80313828-803138C8 30E168 00A0+00 1/0 0/0 0/0 .text
* loadMtxConcatView_PNGP__21J3DShapeMtxConcatViewCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxConcatView::loadMtxConcatView_PNGP(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxConcatView_PNGP__21J3DShapeMtxConcatViewCFiUs.s"
void J3DShapeMtxConcatView::loadMtxConcatView_PNGP(int slot, u16 drw) const {
Mtx m;
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
J3DDifferedTexMtx::load(m);
J3DFifoLoadPosMtxImm(m, slot * 3);
loadNrmMtx(slot, drw, m);
}
#pragma pop
/* 803138C8-8031396C 30E208 00A4+00 2/0 0/0 0/0 .text
* loadMtxConcatView_PCPU__21J3DShapeMtxConcatViewCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxConcatView::loadMtxConcatView_PCPU(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxConcatView_PCPU__21J3DShapeMtxConcatViewCFiUs.s"
void J3DShapeMtxConcatView::loadMtxConcatView_PCPU(int slot, u16 drw) const {
Mtx m;
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
J3DDifferedTexMtx::load(m);
J3DFifoLoadPosMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
loadNrmMtx(slot, drw, m);
}
#pragma pop
/* 8031396C-80313A14 30E2AC 00A8+00 2/0 0/0 0/0 .text
* loadMtxConcatView_NCPU__21J3DShapeMtxConcatViewCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxConcatView::loadMtxConcatView_NCPU(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxConcatView_NCPU__21J3DShapeMtxConcatViewCFiUs.s"
void J3DShapeMtxConcatView::loadMtxConcatView_NCPU(int slot, u16 drw) const {
Mtx m;
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
J3DDifferedTexMtx::load(m);
J3DFifoLoadPosMtxImm(m, slot * 3);
J3DFifoLoadNrmMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
if (J3DShapeMtx::sTexMtxLoadType == 0x2000)
J3DFifoLoadNrmMtxToTexMtx(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3 + GX_TEXMTX0);
}
#pragma pop
/* 80313A14-80313AC8 30E354 00B4+00 2/0 0/0 0/0 .text
* loadMtxConcatView_PNCPU__21J3DShapeMtxConcatViewCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxConcatView::loadMtxConcatView_PNCPU(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxConcatView_PNCPU__21J3DShapeMtxConcatViewCFiUs.s"
void J3DShapeMtxConcatView::loadMtxConcatView_PNCPU(int slot, u16 drw) const {
Mtx m;
if (J3DDifferedTexMtx::sTexGenBlock != NULL) {
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
J3DDifferedTexMtx::loadExecute(m);
}
J3DFifoLoadPosMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
J3DFifoLoadNrmMtxImm(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3);
if (J3DShapeMtx::sTexMtxLoadType == 0x2000)
J3DFifoLoadNrmMtxToTexMtx(*j3dSys.getShapePacket()->getBaseMtxPtr(), slot * 3 + GX_TEXMTX0);
}
#pragma pop
/* 80313AC8-80313B94 30E408 00CC+00 1/0 0/0 0/0 .text
* loadMtxConcatView_PNGP_LOD__21J3DShapeMtxConcatViewCFiUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxConcatView::loadMtxConcatView_PNGP_LOD(int param_0, u16 param_1) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/loadMtxConcatView_PNGP_LOD__21J3DShapeMtxConcatViewCFiUs.s"
void J3DShapeMtxConcatView::loadMtxConcatView_PNGP_LOD(int slot, u16 drw) const {
Mtx m;
PSMTXConcat(*j3dSys.getShapePacket()->getBaseMtxPtr(), j3dSys.getModelDrawMtx(drw), m);
PSMTXConcat(m, j3dSys.mModel->getModelData()->getInvJointMtx(drw), m);
J3DDifferedTexMtx::load(m);
J3DFifoLoadPosMtxImm(m, slot * 3);
loadNrmMtx(slot, drw, m);
}
#pragma pop
/* 80313B94-80313BF0 30E4D4 005C+00 1/0 0/0 0/0 .text load__11J3DShapeMtxCFv */
#pragma push
@ -678,14 +668,9 @@ extern "C" asm void __dt__28J3DShapeMtxYBBoardConcatViewFv() {
/* 8031458C-80314598 30EECC 000C+00 1/0 0/0 0/0 .text getType__28J3DShapeMtxYBBoardConcatViewCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxYBBoardConcatView::getType() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getType__28J3DShapeMtxYBBoardConcatViewCFv.s"
u32 J3DShapeMtxYBBoardConcatView::getType() const {
return 'SMYB';
}
#pragma pop
/* 80314598-8031459C 30EED8 0004+00 3/0 0/0 0/0 .text loadNrmMtx__21J3DShapeMtxConcatViewCFiUs */
void J3DShapeMtxConcatView::loadNrmMtx(int param_0, u16 param_1) const {
@ -694,14 +679,9 @@ void J3DShapeMtxConcatView::loadNrmMtx(int param_0, u16 param_1) const {
/* 8031459C-803145A4 30EEDC 0008+00 4/0 0/0 0/0 .text getUseMtxIndex__11J3DShapeMtxCFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtx::getUseMtxIndex(u16 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getUseMtxIndex__11J3DShapeMtxCFUs.s"
u32 J3DShapeMtx::getUseMtxIndex(u16 param_0) const {
return mUseMtxIndex;
}
#pragma pop
/* 803145A4-80314610 30EEE4 006C+00 1/0 0/0 0/0 .text __dt__27J3DShapeMtxBBoardConcatViewFv */
#pragma push
@ -715,14 +695,9 @@ extern "C" asm void __dt__27J3DShapeMtxBBoardConcatViewFv() {
#pragma pop
/* 80314610-8031461C 30EF50 000C+00 1/0 0/0 0/0 .text getType__27J3DShapeMtxBBoardConcatViewCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxBBoardConcatView::getType() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getType__27J3DShapeMtxBBoardConcatViewCFv.s"
u32 J3DShapeMtxBBoardConcatView::getType() const {
return 'SMBB';
}
#pragma pop
/* 8031461C-80314688 30EF5C 006C+00 1/0 0/0 0/0 .text __dt__26J3DShapeMtxMultiConcatViewFv */
#pragma push
@ -736,36 +711,21 @@ extern "C" asm void __dt__26J3DShapeMtxMultiConcatViewFv() {
#pragma pop
/* 80314688-80314694 30EFC8 000C+00 1/0 0/0 0/0 .text getType__26J3DShapeMtxMultiConcatViewCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxMultiConcatView::getType() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getType__26J3DShapeMtxMultiConcatViewCFv.s"
u32 J3DShapeMtxMultiConcatView::getType() const {
return 'SMMC';
}
#pragma pop
/* 80314694-8031469C 30EFD4 0008+00 1/0 0/0 0/0 .text
* getUseMtxNum__26J3DShapeMtxMultiConcatViewCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxMultiConcatView::getUseMtxNum() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getUseMtxNum__26J3DShapeMtxMultiConcatViewCFv.s"
u32 J3DShapeMtxMultiConcatView::getUseMtxNum() const {
return mUseMtxNum;
}
#pragma pop
/* 8031469C-803146AC 30EFDC 0010+00 1/0 0/0 0/0 .text
* getUseMtxIndex__26J3DShapeMtxMultiConcatViewCFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxMultiConcatView::getUseMtxIndex(u16 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getUseMtxIndex__26J3DShapeMtxMultiConcatViewCFUs.s"
u32 J3DShapeMtxMultiConcatView::getUseMtxIndex(u16 no) const {
return mUseMtxIndex[no];
}
#pragma pop
/* 803146AC-803146B0 30EFEC 0004+00 1/0 0/0 0/0 .text
* loadNrmMtx__26J3DShapeMtxMultiConcatViewCFiUs */
@ -785,35 +745,20 @@ extern "C" asm void __dt__16J3DShapeMtxMultiFv() {
#pragma pop
/* 8031470C-80314718 30F04C 000C+00 1/0 0/0 0/0 .text getType__16J3DShapeMtxMultiCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxMulti::getType() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getType__16J3DShapeMtxMultiCFv.s"
u32 J3DShapeMtxMulti::getType() const {
return 'SMML';
}
#pragma pop
/* 80314718-80314720 30F058 0008+00 1/0 0/0 0/0 .text getUseMtxNum__16J3DShapeMtxMultiCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxMulti::getUseMtxNum() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getUseMtxNum__16J3DShapeMtxMultiCFv.s"
u32 J3DShapeMtxMulti::getUseMtxNum() const {
return mUseMtxNum;
}
#pragma pop
/* 80314720-80314730 30F060 0010+00 1/0 0/0 0/0 .text getUseMtxIndex__16J3DShapeMtxMultiCFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxMulti::getUseMtxIndex(u16 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getUseMtxIndex__16J3DShapeMtxMultiCFUs.s"
u32 J3DShapeMtxMulti::getUseMtxIndex(u16 no) const {
return mUseMtxIndex[no];
}
#pragma pop
/* 80314730-8031478C 30F070 005C+00 1/0 0/0 0/0 .text __dt__21J3DShapeMtxConcatViewFv */
#pragma push
@ -828,34 +773,18 @@ extern "C" asm void __dt__21J3DShapeMtxConcatViewFv() {
/* 8031478C-80314798 30F0CC 000C+00 1/0 0/0 0/0 .text getType__21J3DShapeMtxConcatViewCFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtxConcatView::getType() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getType__21J3DShapeMtxConcatViewCFv.s"
u32 J3DShapeMtxConcatView::getType() const {
return 'SMCV';
}
#pragma pop
/* 80314798-803147E0 30F0D8 0048+00 1/0 0/0 0/0 .text __dt__11J3DShapeMtxFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DShapeMtx::~J3DShapeMtx() {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/__dt__11J3DShapeMtxFv.s"
J3DShapeMtx::~J3DShapeMtx() {
}
#pragma pop
/* 803147E0-803147EC 30F120 000C+00 1/0 0/0 0/0 .text getType__11J3DShapeMtxCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeMtx::getType() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShapeMtx/getType__11J3DShapeMtxCFv.s"
u32 J3DShapeMtx::getType() const {
return 'SMTX';
}
#pragma pop
/* 803147EC-80314924 30F12C 0138+00 0/0 1/0 0/0 .text __sinit_J3DShapeMtx_cpp */
#pragma push