mirror of https://github.com/zeldaret/tp.git
J3DTevs (#1950)
This commit is contained in:
parent
f5f0e57116
commit
1b5fb60a98
|
@ -1,235 +0,0 @@
|
|||
lbl_80323C0C:
|
||||
/* 80323C0C 94 21 FF 70 */ stwu r1, -0x90(r1)
|
||||
/* 80323C10 7C 08 02 A6 */ mflr r0
|
||||
/* 80323C14 90 01 00 94 */ stw r0, 0x94(r1)
|
||||
/* 80323C18 93 E1 00 8C */ stw r31, 0x8c(r1)
|
||||
/* 80323C1C 93 C1 00 88 */ stw r30, 0x88(r1)
|
||||
/* 80323C20 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80323C24 7C 9E 23 78 */ mr r30, r4
|
||||
/* 80323C28 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 80323C2C 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
|
||||
/* 80323C30 54 00 06 BE */ clrlwi r0, r0, 0x1a
|
||||
/* 80323C34 28 00 00 0B */ cmplwi r0, 0xb
|
||||
/* 80323C38 41 81 02 E4 */ bgt lbl_80323F1C
|
||||
/* 80323C3C 3C 60 80 3D */ lis r3, lit_1131@ha /* 0x803CEBB8@ha */
|
||||
/* 80323C40 38 63 EB B8 */ addi r3, r3, lit_1131@l /* 0x803CEBB8@l */
|
||||
/* 80323C44 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80323C48 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 80323C4C 7C 09 03 A6 */ mtctr r0
|
||||
/* 80323C50 4E 80 04 20 */ bctr
|
||||
/* 80323C54 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323C58 40 82 00 18 */ bne lbl_80323C70
|
||||
/* 80323C5C 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323C60 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323C64 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323C68 4B FE DE 65 */ bl J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323C6C 48 00 00 18 */ b lbl_80323C84
|
||||
lbl_80323C70:
|
||||
/* 80323C70 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323C74 40 82 00 10 */ bne lbl_80323C84
|
||||
/* 80323C78 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323C7C 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323C80 4B FE DF B5 */ bl J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323C84:
|
||||
/* 80323C84 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323C88 3C 80 80 3D */ lis r4, qMtx_1063@ha /* 0x803CEB58@ha */
|
||||
/* 80323C8C 38 84 EB 58 */ addi r4, r4, qMtx_1063@l /* 0x803CEB58@l */
|
||||
/* 80323C90 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80323C94 48 02 28 51 */ bl PSMTXConcat
|
||||
/* 80323C98 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323C9C 38 9F 00 24 */ addi r4, r31, 0x24
|
||||
/* 80323CA0 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323CA4 4B FE E1 A9 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323CA8 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323CAC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80323CB0 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323CB4 48 02 28 31 */ bl PSMTXConcat
|
||||
/* 80323CB8 48 00 02 94 */ b lbl_80323F4C
|
||||
/* 80323CBC 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323CC0 40 82 00 18 */ bne lbl_80323CD8
|
||||
/* 80323CC4 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323CC8 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323CCC 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323CD0 4B FE DD FD */ bl J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323CD4 48 00 00 18 */ b lbl_80323CEC
|
||||
lbl_80323CD8:
|
||||
/* 80323CD8 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323CDC 40 82 00 10 */ bne lbl_80323CEC
|
||||
/* 80323CE0 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323CE4 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323CE8 4B FE DF 4D */ bl J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323CEC:
|
||||
/* 80323CEC 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323CF0 3C 80 80 3D */ lis r4, qMtx_1063@ha /* 0x803CEB58@ha */
|
||||
/* 80323CF4 38 84 EB 58 */ addi r4, r4, qMtx_1063@l /* 0x803CEB58@l */
|
||||
/* 80323CF8 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80323CFC 48 02 27 E9 */ bl PSMTXConcat
|
||||
/* 80323D00 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323D04 38 9F 00 24 */ addi r4, r31, 0x24
|
||||
/* 80323D08 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323D0C 4B FE E1 41 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323D10 48 00 02 3C */ b lbl_80323F4C
|
||||
/* 80323D14 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323D18 40 82 00 18 */ bne lbl_80323D30
|
||||
/* 80323D1C 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323D20 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323D24 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323D28 4B FE DD A5 */ bl J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323D2C 48 00 00 18 */ b lbl_80323D44
|
||||
lbl_80323D30:
|
||||
/* 80323D30 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323D34 40 82 00 10 */ bne lbl_80323D44
|
||||
/* 80323D38 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323D3C 38 81 00 48 */ addi r4, r1, 0x48
|
||||
/* 80323D40 4B FE DE F5 */ bl J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323D44:
|
||||
/* 80323D44 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323D48 3C 80 80 3D */ lis r4, qMtx_1063@ha /* 0x803CEB58@ha */
|
||||
/* 80323D4C 38 84 EB 58 */ addi r4, r4, qMtx_1063@l /* 0x803CEB58@l */
|
||||
/* 80323D50 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323D54 48 02 27 91 */ bl PSMTXConcat
|
||||
/* 80323D58 48 00 01 F4 */ b lbl_80323F4C
|
||||
/* 80323D5C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323D60 40 82 00 18 */ bne lbl_80323D78
|
||||
/* 80323D64 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323D68 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323D6C 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323D70 4B FE DE 11 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323D74 48 00 00 18 */ b lbl_80323D8C
|
||||
lbl_80323D78:
|
||||
/* 80323D78 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323D7C 40 82 00 10 */ bne lbl_80323D8C
|
||||
/* 80323D80 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323D84 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323D88 4B FE DF 5D */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323D8C:
|
||||
/* 80323D8C 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323D90 3C 80 80 3D */ lis r4, qMtx2_1064@ha /* 0x803CEB88@ha */
|
||||
/* 80323D94 38 84 EB 88 */ addi r4, r4, qMtx2_1064@l /* 0x803CEB88@l */
|
||||
/* 80323D98 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80323D9C 48 02 27 49 */ bl PSMTXConcat
|
||||
/* 80323DA0 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323DA4 38 9F 00 24 */ addi r4, r31, 0x24
|
||||
/* 80323DA8 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323DAC 4B FE E0 A1 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323DB0 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323DB4 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80323DB8 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323DBC 48 02 27 29 */ bl PSMTXConcat
|
||||
/* 80323DC0 48 00 01 8C */ b lbl_80323F4C
|
||||
/* 80323DC4 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323DC8 40 82 00 18 */ bne lbl_80323DE0
|
||||
/* 80323DCC 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323DD0 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323DD4 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323DD8 4B FE DD A9 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323DDC 48 00 00 18 */ b lbl_80323DF4
|
||||
lbl_80323DE0:
|
||||
/* 80323DE0 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323DE4 40 82 00 10 */ bne lbl_80323DF4
|
||||
/* 80323DE8 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323DEC 38 81 00 48 */ addi r4, r1, 0x48
|
||||
/* 80323DF0 4B FE DE F5 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323DF4:
|
||||
/* 80323DF4 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323DF8 3C 80 80 3D */ lis r4, qMtx2_1064@ha /* 0x803CEB88@ha */
|
||||
/* 80323DFC 38 84 EB 88 */ addi r4, r4, qMtx2_1064@l /* 0x803CEB88@l */
|
||||
/* 80323E00 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323E04 48 02 26 E1 */ bl PSMTXConcat
|
||||
/* 80323E08 48 00 01 44 */ b lbl_80323F4C
|
||||
/* 80323E0C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323E10 40 82 00 18 */ bne lbl_80323E28
|
||||
/* 80323E14 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323E18 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323E1C 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323E20 4B FE DD 61 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323E24 48 00 01 28 */ b lbl_80323F4C
|
||||
lbl_80323E28:
|
||||
/* 80323E28 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323E2C 40 82 01 20 */ bne lbl_80323F4C
|
||||
/* 80323E30 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323E34 38 9F 00 64 */ addi r4, r31, 0x64
|
||||
/* 80323E38 4B FE DE AD */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
/* 80323E3C 48 00 01 10 */ b lbl_80323F4C
|
||||
/* 80323E40 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323E44 40 82 00 18 */ bne lbl_80323E5C
|
||||
/* 80323E48 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323E4C 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323E50 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323E54 4B FE DD 2D */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323E58 48 00 00 18 */ b lbl_80323E70
|
||||
lbl_80323E5C:
|
||||
/* 80323E5C 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323E60 40 82 00 10 */ bne lbl_80323E70
|
||||
/* 80323E64 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323E68 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323E6C 4B FE DE 79 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323E70:
|
||||
/* 80323E70 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323E74 38 9F 00 24 */ addi r4, r31, 0x24
|
||||
/* 80323E78 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323E7C 4B FE DF D1 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323E80 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323E84 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80323E88 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323E8C 48 02 26 59 */ bl PSMTXConcat
|
||||
/* 80323E90 48 00 00 BC */ b lbl_80323F4C
|
||||
/* 80323E94 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323E98 40 82 00 18 */ bne lbl_80323EB0
|
||||
/* 80323E9C 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323EA0 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323EA4 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323EA8 4B FE DC D9 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323EAC 48 00 00 18 */ b lbl_80323EC4
|
||||
lbl_80323EB0:
|
||||
/* 80323EB0 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323EB4 40 82 00 10 */ bne lbl_80323EC4
|
||||
/* 80323EB8 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323EBC 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323EC0 4B FE DE 25 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323EC4:
|
||||
/* 80323EC4 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323EC8 38 9F 00 24 */ addi r4, r31, 0x24
|
||||
/* 80323ECC 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323ED0 4B FE DF 7D */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323ED4 48 00 00 78 */ b lbl_80323F4C
|
||||
/* 80323ED8 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323EDC 40 82 00 18 */ bne lbl_80323EF4
|
||||
/* 80323EE0 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323EE4 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323EE8 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323EEC 4B FE DC 95 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323EF0 48 00 00 18 */ b lbl_80323F08
|
||||
lbl_80323EF4:
|
||||
/* 80323EF4 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323EF8 40 82 00 10 */ bne lbl_80323F08
|
||||
/* 80323EFC 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323F00 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323F04 4B FE DD E1 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323F08:
|
||||
/* 80323F08 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323F0C 38 9F 00 24 */ addi r4, r31, 0x24
|
||||
/* 80323F10 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323F14 4B FE DF 39 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323F18 48 00 00 34 */ b lbl_80323F4C
|
||||
lbl_80323F1C:
|
||||
/* 80323F1C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323F20 40 82 00 18 */ bne lbl_80323F38
|
||||
/* 80323F24 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323F28 38 9F 00 04 */ addi r4, r31, 4
|
||||
/* 80323F2C 38 BF 00 64 */ addi r5, r31, 0x64
|
||||
/* 80323F30 4B FE DC 51 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323F34 48 00 00 18 */ b lbl_80323F4C
|
||||
lbl_80323F38:
|
||||
/* 80323F38 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323F3C 40 82 00 10 */ bne lbl_80323F4C
|
||||
/* 80323F40 38 7F 00 10 */ addi r3, r31, 0x10
|
||||
/* 80323F44 38 9F 00 64 */ addi r4, r31, 0x64
|
||||
/* 80323F48 4B FE DD 9D */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323F4C:
|
||||
/* 80323F4C 83 E1 00 8C */ lwz r31, 0x8c(r1)
|
||||
/* 80323F50 83 C1 00 88 */ lwz r30, 0x88(r1)
|
||||
/* 80323F54 80 01 00 94 */ lwz r0, 0x94(r1)
|
||||
/* 80323F58 7C 08 03 A6 */ mtlr r0
|
||||
/* 80323F5C 38 21 00 90 */ addi r1, r1, 0x90
|
||||
/* 80323F60 4E 80 00 20 */ blr
|
|
@ -1,205 +0,0 @@
|
|||
lbl_80323920:
|
||||
/* 80323920 94 21 FF 70 */ stwu r1, -0x90(r1)
|
||||
/* 80323924 7C 08 02 A6 */ mflr r0
|
||||
/* 80323928 90 01 00 94 */ stw r0, 0x94(r1)
|
||||
/* 8032392C 93 E1 00 8C */ stw r31, 0x8c(r1)
|
||||
/* 80323930 93 C1 00 88 */ stw r30, 0x88(r1)
|
||||
/* 80323934 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80323938 7C 9F 23 78 */ mr r31, r4
|
||||
/* 8032393C 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 80323940 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
|
||||
/* 80323944 54 00 06 BE */ clrlwi r0, r0, 0x1a
|
||||
/* 80323948 28 00 00 0B */ cmplwi r0, 0xb
|
||||
/* 8032394C 41 81 02 78 */ bgt lbl_80323BC4
|
||||
/* 80323950 3C 60 80 3D */ lis r3, lit_1059@ha /* 0x803CEB28@ha */
|
||||
/* 80323954 38 63 EB 28 */ addi r3, r3, lit_1059@l /* 0x803CEB28@l */
|
||||
/* 80323958 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 8032395C 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 80323960 7C 09 03 A6 */ mtctr r0
|
||||
/* 80323964 4E 80 04 20 */ bctr
|
||||
/* 80323968 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 8032396C 40 82 00 18 */ bne lbl_80323984
|
||||
/* 80323970 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323974 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323978 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 8032397C 4B FE E1 51 */ bl J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323980 48 00 00 18 */ b lbl_80323998
|
||||
lbl_80323984:
|
||||
/* 80323984 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323988 40 82 00 10 */ bne lbl_80323998
|
||||
/* 8032398C 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323990 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323994 4B FE E2 A1 */ bl J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323998:
|
||||
/* 80323998 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8032399C 3C 80 80 3D */ lis r4, qMtx_1001@ha /* 0x803CEAC8@ha */
|
||||
/* 803239A0 38 84 EA C8 */ addi r4, r4, qMtx_1001@l /* 0x803CEAC8@l */
|
||||
/* 803239A4 7C 65 1B 78 */ mr r5, r3
|
||||
/* 803239A8 48 02 2B 3D */ bl PSMTXConcat
|
||||
/* 803239AC 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 803239B0 38 9E 00 24 */ addi r4, r30, 0x24
|
||||
/* 803239B4 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 803239B8 4B FE E4 95 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 803239BC 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 803239C0 7F E4 FB 78 */ mr r4, r31
|
||||
/* 803239C4 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 803239C8 48 02 2B 1D */ bl PSMTXConcat
|
||||
/* 803239CC 48 00 02 28 */ b lbl_80323BF4
|
||||
/* 803239D0 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 803239D4 40 82 00 18 */ bne lbl_803239EC
|
||||
/* 803239D8 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 803239DC 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 803239E0 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 803239E4 4B FE E0 E9 */ bl J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 803239E8 48 00 00 18 */ b lbl_80323A00
|
||||
lbl_803239EC:
|
||||
/* 803239EC 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 803239F0 40 82 00 10 */ bne lbl_80323A00
|
||||
/* 803239F4 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 803239F8 38 81 00 48 */ addi r4, r1, 0x48
|
||||
/* 803239FC 4B FE E2 39 */ bl J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323A00:
|
||||
/* 80323A00 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323A04 3C 80 80 3D */ lis r4, qMtx_1001@ha /* 0x803CEAC8@ha */
|
||||
/* 80323A08 38 84 EA C8 */ addi r4, r4, qMtx_1001@l /* 0x803CEAC8@l */
|
||||
/* 80323A0C 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80323A10 48 02 2A D5 */ bl PSMTXConcat
|
||||
/* 80323A14 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323A18 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80323A1C 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323A20 48 02 2A C5 */ bl PSMTXConcat
|
||||
/* 80323A24 48 00 01 D0 */ b lbl_80323BF4
|
||||
/* 80323A28 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323A2C 40 82 00 18 */ bne lbl_80323A44
|
||||
/* 80323A30 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323A34 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323A38 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323A3C 4B FE E1 45 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323A40 48 00 00 18 */ b lbl_80323A58
|
||||
lbl_80323A44:
|
||||
/* 80323A44 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323A48 40 82 00 10 */ bne lbl_80323A58
|
||||
/* 80323A4C 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323A50 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323A54 4B FE E2 91 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323A58:
|
||||
/* 80323A58 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323A5C 3C 80 80 3D */ lis r4, qMtx2_1002@ha /* 0x803CEAF8@ha */
|
||||
/* 80323A60 38 84 EA F8 */ addi r4, r4, qMtx2_1002@l /* 0x803CEAF8@l */
|
||||
/* 80323A64 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80323A68 48 02 2A 7D */ bl PSMTXConcat
|
||||
/* 80323A6C 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323A70 38 9E 00 24 */ addi r4, r30, 0x24
|
||||
/* 80323A74 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323A78 4B FE E3 D5 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323A7C 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323A80 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80323A84 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323A88 48 02 2A 5D */ bl PSMTXConcat
|
||||
/* 80323A8C 48 00 01 68 */ b lbl_80323BF4
|
||||
/* 80323A90 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323A94 40 82 00 18 */ bne lbl_80323AAC
|
||||
/* 80323A98 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323A9C 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323AA0 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323AA4 4B FE E0 DD */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323AA8 48 00 00 18 */ b lbl_80323AC0
|
||||
lbl_80323AAC:
|
||||
/* 80323AAC 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323AB0 40 82 00 10 */ bne lbl_80323AC0
|
||||
/* 80323AB4 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323AB8 38 81 00 48 */ addi r4, r1, 0x48
|
||||
/* 80323ABC 4B FE E2 29 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323AC0:
|
||||
/* 80323AC0 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323AC4 3C 80 80 3D */ lis r4, qMtx2_1002@ha /* 0x803CEAF8@ha */
|
||||
/* 80323AC8 38 84 EA F8 */ addi r4, r4, qMtx2_1002@l /* 0x803CEAF8@l */
|
||||
/* 80323ACC 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80323AD0 48 02 2A 15 */ bl PSMTXConcat
|
||||
/* 80323AD4 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323AD8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80323ADC 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323AE0 48 02 2A 05 */ bl PSMTXConcat
|
||||
/* 80323AE4 48 00 01 10 */ b lbl_80323BF4
|
||||
/* 80323AE8 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323AEC 40 82 00 18 */ bne lbl_80323B04
|
||||
/* 80323AF0 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323AF4 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323AF8 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323AFC 4B FE E0 85 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323B00 48 00 00 18 */ b lbl_80323B18
|
||||
lbl_80323B04:
|
||||
/* 80323B04 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323B08 40 82 00 10 */ bne lbl_80323B18
|
||||
/* 80323B0C 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323B10 38 81 00 48 */ addi r4, r1, 0x48
|
||||
/* 80323B14 4B FE E1 D1 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323B18:
|
||||
/* 80323B18 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323B1C 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80323B20 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323B24 48 02 29 C1 */ bl PSMTXConcat
|
||||
/* 80323B28 48 00 00 CC */ b lbl_80323BF4
|
||||
/* 80323B2C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323B30 40 82 00 18 */ bne lbl_80323B48
|
||||
/* 80323B34 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323B38 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323B3C 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323B40 4B FE E0 41 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323B44 48 00 00 18 */ b lbl_80323B5C
|
||||
lbl_80323B48:
|
||||
/* 80323B48 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323B4C 40 82 00 10 */ bne lbl_80323B5C
|
||||
/* 80323B50 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323B54 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323B58 4B FE E1 8D */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323B5C:
|
||||
/* 80323B5C 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323B60 38 9E 00 24 */ addi r4, r30, 0x24
|
||||
/* 80323B64 38 A1 00 48 */ addi r5, r1, 0x48
|
||||
/* 80323B68 4B FE E2 E5 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323B6C 38 61 00 48 */ addi r3, r1, 0x48
|
||||
/* 80323B70 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80323B74 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323B78 48 02 29 6D */ bl PSMTXConcat
|
||||
/* 80323B7C 48 00 00 78 */ b lbl_80323BF4
|
||||
/* 80323B80 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323B84 40 82 00 18 */ bne lbl_80323B9C
|
||||
/* 80323B88 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323B8C 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323B90 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80323B94 4B FE DF ED */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323B98 48 00 00 18 */ b lbl_80323BB0
|
||||
lbl_80323B9C:
|
||||
/* 80323B9C 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323BA0 40 82 00 10 */ bne lbl_80323BB0
|
||||
/* 80323BA4 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323BA8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80323BAC 4B FE E1 39 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323BB0:
|
||||
/* 80323BB0 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80323BB4 38 9E 00 24 */ addi r4, r30, 0x24
|
||||
/* 80323BB8 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323BBC 4B FE E2 91 */ bl J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
/* 80323BC0 48 00 00 34 */ b lbl_80323BF4
|
||||
lbl_80323BC4:
|
||||
/* 80323BC4 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80323BC8 40 82 00 18 */ bne lbl_80323BE0
|
||||
/* 80323BCC 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323BD0 38 9E 00 04 */ addi r4, r30, 4
|
||||
/* 80323BD4 38 BE 00 64 */ addi r5, r30, 0x64
|
||||
/* 80323BD8 4B FE DF A9 */ bl J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f
|
||||
/* 80323BDC 48 00 00 18 */ b lbl_80323BF4
|
||||
lbl_80323BE0:
|
||||
/* 80323BE0 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80323BE4 40 82 00 10 */ bne lbl_80323BF4
|
||||
/* 80323BE8 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80323BEC 38 9E 00 64 */ addi r4, r30, 0x64
|
||||
/* 80323BF0 4B FE E0 F5 */ bl J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f
|
||||
lbl_80323BF4:
|
||||
/* 80323BF4 83 E1 00 8C */ lwz r31, 0x8c(r1)
|
||||
/* 80323BF8 83 C1 00 88 */ lwz r30, 0x88(r1)
|
||||
/* 80323BFC 80 01 00 94 */ lwz r0, 0x94(r1)
|
||||
/* 80323C00 7C 08 03 A6 */ mtlr r0
|
||||
/* 80323C04 38 21 00 90 */ addi r1, r1, 0x90
|
||||
/* 80323C08 4E 80 00 20 */ blr
|
|
@ -1,4 +0,0 @@
|
|||
lbl_80323F88:
|
||||
/* 80323F88 80 03 00 01 */ lwz r0, 1(r3)
|
||||
/* 80323F8C 54 03 04 3E */ clrlwi r3, r0, 0x10
|
||||
/* 80323F90 4E 80 00 20 */ blr
|
|
@ -1,11 +0,0 @@
|
|||
lbl_80323F64:
|
||||
/* 80323F64 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 80323F68 28 00 00 80 */ cmplwi r0, 0x80
|
||||
/* 80323F6C 41 80 00 14 */ blt lbl_80323F80
|
||||
/* 80323F70 28 00 00 BB */ cmplwi r0, 0xbb
|
||||
/* 80323F74 41 81 00 0C */ bgt lbl_80323F80
|
||||
/* 80323F78 38 60 00 01 */ li r3, 1
|
||||
/* 80323F7C 4E 80 00 20 */ blr
|
||||
lbl_80323F80:
|
||||
/* 80323F80 38 60 00 00 */ li r3, 0
|
||||
/* 80323F84 4E 80 00 20 */ blr
|
|
@ -1,15 +0,0 @@
|
|||
lbl_80324160:
|
||||
/* 80324160 88 03 00 00 */ lbz r0, 0(r3)
|
||||
/* 80324164 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80324168 40 82 00 18 */ bne lbl_80324180
|
||||
/* 8032416C 38 03 00 04 */ addi r0, r3, 4
|
||||
/* 80324170 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 80324174 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 80324178 90 03 01 18 */ stw r0, 0x118(r3)
|
||||
/* 8032417C 4E 80 00 20 */ blr
|
||||
lbl_80324180:
|
||||
/* 80324180 38 00 00 00 */ li r0, 0
|
||||
/* 80324184 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 80324188 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 8032418C 90 03 01 18 */ stw r0, 0x118(r3)
|
||||
/* 80324190 4E 80 00 20 */ blr
|
|
@ -1,169 +0,0 @@
|
|||
lbl_80323644:
|
||||
/* 80323644 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80323648 7C 08 02 A6 */ mflr r0
|
||||
/* 8032364C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80323650 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80323654 48 03 EB 7D */ bl _savegpr_26
|
||||
/* 80323658 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 8032365C 7C 9D 23 78 */ mr r29, r4
|
||||
/* 80323660 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323664 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323668 57 80 18 38 */ slwi r0, r28, 3
|
||||
/* 8032366C 7C 60 1A 14 */ add r3, r0, r3
|
||||
/* 80323670 38 63 00 0A */ addi r3, r3, 0xa
|
||||
/* 80323674 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 80323678 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 8032367C 40 81 00 08 */ ble lbl_80323684
|
||||
/* 80323680 48 03 DA 55 */ bl GDOverflowed
|
||||
lbl_80323684:
|
||||
/* 80323684 38 C0 00 10 */ li r6, 0x10
|
||||
/* 80323688 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 8032368C 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323690 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323694 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323698 98 C3 00 00 */ stb r6, 0(r3)
|
||||
/* 8032369C 57 83 06 3E */ clrlwi r3, r28, 0x18
|
||||
/* 803236A0 38 A3 FF FF */ addi r5, r3, -1
|
||||
/* 803236A4 54 BF C6 3E */ rlwinm r31, r5, 0x18, 0x18, 0x1f
|
||||
/* 803236A8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 803236AC 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 803236B0 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 803236B4 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 803236B8 9B E3 00 00 */ stb r31, 0(r3)
|
||||
/* 803236BC 54 BE 06 3E */ clrlwi r30, r5, 0x18
|
||||
/* 803236C0 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 803236C4 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 803236C8 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 803236CC 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 803236D0 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 803236D4 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 803236D8 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 803236DC 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 803236E0 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 803236E4 98 C3 00 00 */ stb r6, 0(r3)
|
||||
/* 803236E8 38 A0 00 40 */ li r5, 0x40
|
||||
/* 803236EC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 803236F0 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 803236F4 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 803236F8 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 803236FC 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 80323700 3B 40 00 00 */ li r26, 0
|
||||
/* 80323704 3B 60 00 00 */ li r27, 0
|
||||
/* 80323708 48 00 00 1C */ b lbl_80323724
|
||||
lbl_8032370C:
|
||||
/* 8032370C 7C 9D DA 14 */ add r4, r29, r27
|
||||
/* 80323710 88 64 00 00 */ lbz r3, 0(r4)
|
||||
/* 80323714 88 84 00 01 */ lbz r4, 1(r4)
|
||||
/* 80323718 4B FE A9 4D */ bl J3DGDSetTexCoordGen__F13_GXTexGenType12_GXTexGenSrc
|
||||
/* 8032371C 3B 5A 00 01 */ addi r26, r26, 1
|
||||
/* 80323720 3B 7B 00 06 */ addi r27, r27, 6
|
||||
lbl_80323724:
|
||||
/* 80323724 7C 1A E0 40 */ cmplw r26, r28
|
||||
/* 80323728 41 80 FF E4 */ blt lbl_8032370C
|
||||
/* 8032372C 38 A0 00 10 */ li r5, 0x10
|
||||
/* 80323730 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323734 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323738 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 8032373C 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323740 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 80323744 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323748 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 8032374C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323750 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323754 9B E3 00 00 */ stb r31, 0(r3)
|
||||
/* 80323758 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 8032375C 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323760 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323764 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323768 9B C3 00 00 */ stb r30, 0(r3)
|
||||
/* 8032376C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323770 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323774 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323778 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 8032377C 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 80323780 38 A0 00 50 */ li r5, 0x50
|
||||
/* 80323784 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323788 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 8032378C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323790 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323794 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 80323798 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 8032379C 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 803237A0 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 803237A4 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
|
||||
/* 803237A8 41 82 00 9C */ beq lbl_80323844
|
||||
/* 803237AC 39 00 00 00 */ li r8, 0
|
||||
/* 803237B0 38 60 00 00 */ li r3, 0
|
||||
/* 803237B4 7F 89 03 A6 */ mtctr r28
|
||||
/* 803237B8 28 1C 00 00 */ cmplwi r28, 0
|
||||
/* 803237BC 40 81 00 F0 */ ble lbl_803238AC
|
||||
lbl_803237C0:
|
||||
/* 803237C0 38 03 00 02 */ addi r0, r3, 2
|
||||
/* 803237C4 7C 1D 00 AE */ lbzx r0, r29, r0
|
||||
/* 803237C8 28 00 00 3C */ cmplwi r0, 0x3c
|
||||
/* 803237CC 38 E0 00 3D */ li r7, 0x3d
|
||||
/* 803237D0 41 82 00 08 */ beq lbl_803237D8
|
||||
/* 803237D4 1C E8 00 03 */ mulli r7, r8, 3
|
||||
lbl_803237D8:
|
||||
/* 803237D8 54 E6 46 3E */ srwi r6, r7, 0x18
|
||||
/* 803237DC 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13)
|
||||
/* 803237E0 80 85 00 08 */ lwz r4, 8(r5)
|
||||
/* 803237E4 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 803237E8 90 05 00 08 */ stw r0, 8(r5)
|
||||
/* 803237EC 98 C4 00 00 */ stb r6, 0(r4)
|
||||
/* 803237F0 54 E6 86 3E */ rlwinm r6, r7, 0x10, 0x18, 0x1f
|
||||
/* 803237F4 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13)
|
||||
/* 803237F8 80 85 00 08 */ lwz r4, 8(r5)
|
||||
/* 803237FC 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 80323800 90 05 00 08 */ stw r0, 8(r5)
|
||||
/* 80323804 98 C4 00 00 */ stb r6, 0(r4)
|
||||
/* 80323808 54 E6 C6 3E */ rlwinm r6, r7, 0x18, 0x18, 0x1f
|
||||
/* 8032380C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13)
|
||||
/* 80323810 80 85 00 08 */ lwz r4, 8(r5)
|
||||
/* 80323814 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 80323818 90 05 00 08 */ stw r0, 8(r5)
|
||||
/* 8032381C 98 C4 00 00 */ stb r6, 0(r4)
|
||||
/* 80323820 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13)
|
||||
/* 80323824 80 85 00 08 */ lwz r4, 8(r5)
|
||||
/* 80323828 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 8032382C 90 05 00 08 */ stw r0, 8(r5)
|
||||
/* 80323830 98 E4 00 00 */ stb r7, 0(r4)
|
||||
/* 80323834 39 08 00 01 */ addi r8, r8, 1
|
||||
/* 80323838 38 63 00 06 */ addi r3, r3, 6
|
||||
/* 8032383C 42 00 FF 84 */ bdnz lbl_803237C0
|
||||
/* 80323840 48 00 00 6C */ b lbl_803238AC
|
||||
lbl_80323844:
|
||||
/* 80323844 7F 89 03 A6 */ mtctr r28
|
||||
/* 80323848 28 1C 00 00 */ cmplwi r28, 0
|
||||
/* 8032384C 40 81 00 60 */ ble lbl_803238AC
|
||||
lbl_80323850:
|
||||
/* 80323850 38 A0 00 00 */ li r5, 0
|
||||
/* 80323854 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323858 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 8032385C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323860 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323864 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 80323868 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 8032386C 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323870 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323874 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 80323878 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 8032387C 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323880 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323884 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80323888 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 8032388C 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 80323890 38 A0 00 3D */ li r5, 0x3d
|
||||
/* 80323894 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323898 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 8032389C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 803238A0 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 803238A4 98 A3 00 00 */ stb r5, 0(r3)
|
||||
/* 803238A8 42 00 FF A8 */ bdnz lbl_80323850
|
||||
lbl_803238AC:
|
||||
/* 803238AC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 803238B0 48 03 E9 6D */ bl _restgpr_26
|
||||
/* 803238B4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 803238B8 7C 08 03 A6 */ mtlr r0
|
||||
/* 803238BC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 803238C0 4E 80 00 20 */ blr
|
|
@ -1,111 +0,0 @@
|
|||
lbl_80323F94:
|
||||
/* 80323F94 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 80323F98 7C 08 02 A6 */ mflr r0
|
||||
/* 80323F9C 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 80323FA0 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 80323FA4 48 03 E2 35 */ bl _savegpr_28
|
||||
/* 80323FA8 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80323FAC 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 80323FB0 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 80323FB4 80 63 00 58 */ lwz r3, 0x58(r3)
|
||||
/* 80323FB8 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80323FBC A0 04 00 00 */ lhz r0, 0(r4)
|
||||
/* 80323FC0 54 00 2A F4 */ rlwinm r0, r0, 5, 0xb, 0x1a
|
||||
/* 80323FC4 7F E3 02 14 */ add r31, r3, r0
|
||||
/* 80323FC8 A0 1F 00 02 */ lhz r0, 2(r31)
|
||||
/* 80323FCC 57 C4 18 38 */ slwi r4, r30, 3
|
||||
/* 80323FD0 3C 60 80 43 */ lis r3, sTexCoordScaleTable__6J3DSys@ha /* 0x80434C2C@ha */
|
||||
/* 80323FD4 38 63 4C 2C */ addi r3, r3, sTexCoordScaleTable__6J3DSys@l /* 0x80434C2C@l */
|
||||
/* 80323FD8 7C 03 23 2E */ sthx r0, r3, r4
|
||||
/* 80323FDC A0 1F 00 04 */ lhz r0, 4(r31)
|
||||
/* 80323FE0 7C 63 22 14 */ add r3, r3, r4
|
||||
/* 80323FE4 B0 03 00 02 */ sth r0, 2(r3)
|
||||
/* 80323FE8 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 80323FEC 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 80323FF0 38 63 00 14 */ addi r3, r3, 0x14
|
||||
/* 80323FF4 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 80323FF8 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 80323FFC 40 81 00 08 */ ble lbl_80324004
|
||||
/* 80324000 48 03 D0 D5 */ bl GDOverflowed
|
||||
lbl_80324004:
|
||||
/* 80324004 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80324008 80 1F 00 1C */ lwz r0, 0x1c(r31)
|
||||
/* 8032400C 7C 9F 02 14 */ add r4, r31, r0
|
||||
/* 80324010 4B FE A6 6D */ bl J3DGDSetTexImgPtr__F11_GXTexMapIDPv
|
||||
/* 80324014 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80324018 A0 9F 00 02 */ lhz r4, 2(r31)
|
||||
/* 8032401C A0 BF 00 04 */ lhz r5, 4(r31)
|
||||
/* 80324020 88 1F 00 00 */ lbz r0, 0(r31)
|
||||
/* 80324024 54 06 07 3E */ clrlwi r6, r0, 0x1c
|
||||
/* 80324028 4B FE A5 AD */ bl J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt
|
||||
/* 8032402C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80324030 88 9F 00 06 */ lbz r4, 6(r31)
|
||||
/* 80324034 88 BF 00 07 */ lbz r5, 7(r31)
|
||||
/* 80324038 88 DF 00 14 */ lbz r6, 0x14(r31)
|
||||
/* 8032403C 88 FF 00 15 */ lbz r7, 0x15(r31)
|
||||
/* 80324040 C0 42 C9 B0 */ lfs f2, lit_1167(r2)
|
||||
/* 80324044 88 1F 00 16 */ lbz r0, 0x16(r31)
|
||||
/* 80324048 7C 00 07 74 */ extsb r0, r0
|
||||
/* 8032404C C8 82 C9 B8 */ lfd f4, lit_1171(r2)
|
||||
/* 80324050 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80324054 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80324058 3D 00 43 30 */ lis r8, 0x4330
|
||||
/* 8032405C 91 01 00 08 */ stw r8, 8(r1)
|
||||
/* 80324060 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80324064 EC 00 20 28 */ fsubs f0, f0, f4
|
||||
/* 80324068 EC 22 00 32 */ fmuls f1, f2, f0
|
||||
/* 8032406C 88 1F 00 17 */ lbz r0, 0x17(r31)
|
||||
/* 80324070 7C 00 07 74 */ extsb r0, r0
|
||||
/* 80324074 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80324078 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8032407C 91 01 00 10 */ stw r8, 0x10(r1)
|
||||
/* 80324080 C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 80324084 EC 00 20 28 */ fsubs f0, f0, f4
|
||||
/* 80324088 EC 42 00 32 */ fmuls f2, f2, f0
|
||||
/* 8032408C C0 62 C9 B4 */ lfs f3, lit_1168(r2)
|
||||
/* 80324090 A8 1F 00 1A */ lha r0, 0x1a(r31)
|
||||
/* 80324094 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80324098 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 8032409C 91 01 00 18 */ stw r8, 0x18(r1)
|
||||
/* 803240A0 C8 01 00 18 */ lfd f0, 0x18(r1)
|
||||
/* 803240A4 EC 00 20 28 */ fsubs f0, f0, f4
|
||||
/* 803240A8 EC 63 00 32 */ fmuls f3, f3, f0
|
||||
/* 803240AC 89 1F 00 12 */ lbz r8, 0x12(r31)
|
||||
/* 803240B0 89 3F 00 11 */ lbz r9, 0x11(r31)
|
||||
/* 803240B4 89 5F 00 13 */ lbz r10, 0x13(r31)
|
||||
/* 803240B8 4B FE A3 81 */ bl J3DGDSetTexLookupMode__F11_GXTexMapID14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilterfffUcUc13_GXAnisotropy
|
||||
/* 803240BC 88 1F 00 08 */ lbz r0, 8(r31)
|
||||
/* 803240C0 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 803240C4 40 82 00 60 */ bne lbl_80324124
|
||||
/* 803240C8 A0 1F 00 0A */ lhz r0, 0xa(r31)
|
||||
/* 803240CC 28 00 00 10 */ cmplwi r0, 0x10
|
||||
/* 803240D0 3B A0 00 01 */ li r29, 1
|
||||
/* 803240D4 40 81 00 08 */ ble lbl_803240DC
|
||||
/* 803240D8 3B A0 00 10 */ li r29, 0x10
|
||||
lbl_803240DC:
|
||||
/* 803240DC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13)
|
||||
/* 803240E0 80 64 00 08 */ lwz r3, 8(r4)
|
||||
/* 803240E4 38 63 00 14 */ addi r3, r3, 0x14
|
||||
/* 803240E8 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 803240EC 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 803240F0 40 81 00 08 */ ble lbl_803240F8
|
||||
/* 803240F4 48 03 CF E1 */ bl GDOverflowed
|
||||
lbl_803240F8:
|
||||
/* 803240F8 80 1F 00 0C */ lwz r0, 0xc(r31)
|
||||
/* 803240FC 7C 7F 02 14 */ add r3, r31, r0
|
||||
/* 80324100 57 C4 68 24 */ slwi r4, r30, 0xd
|
||||
/* 80324104 3F 84 00 0F */ addis r28, r4, 0xf
|
||||
/* 80324108 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8032410C 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80324110 4B FE A7 69 */ bl J3DGDLoadTlut__FPvUl11_GXTlutSize
|
||||
/* 80324114 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80324118 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8032411C 88 BF 00 09 */ lbz r5, 9(r31)
|
||||
/* 80324120 4B FE A6 C1 */ bl J3DGDSetTexTlut__F11_GXTexMapIDUl10_GXTlutFmt
|
||||
lbl_80324124:
|
||||
/* 80324124 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 80324128 48 03 E0 FD */ bl _restgpr_28
|
||||
/* 8032412C 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 80324130 7C 08 03 A6 */ mtlr r0
|
||||
/* 80324134 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80324138 4E 80 00 20 */ blr
|
|
@ -1,31 +0,0 @@
|
|||
lbl_8032423C:
|
||||
/* 8032423C 3C 60 80 43 */ lis r3, j3dAlphaCmpTable@ha /* 0x80436E60@ha */
|
||||
/* 80324240 38 A3 6E 60 */ addi r5, r3, j3dAlphaCmpTable@l /* 0x80436E60@l */
|
||||
/* 80324244 39 00 00 00 */ li r8, 0
|
||||
/* 80324248 38 60 00 00 */ li r3, 0
|
||||
lbl_8032424C:
|
||||
/* 8032424C 39 20 00 00 */ li r9, 0
|
||||
/* 80324250 38 80 00 00 */ li r4, 0
|
||||
lbl_80324254:
|
||||
/* 80324254 39 40 00 00 */ li r10, 0
|
||||
/* 80324258 7C C3 22 14 */ add r6, r3, r4
|
||||
/* 8032425C 38 00 00 08 */ li r0, 8
|
||||
/* 80324260 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80324264:
|
||||
/* 80324264 7C 0A 32 14 */ add r0, r10, r6
|
||||
/* 80324268 1C 00 00 03 */ mulli r0, r0, 3
|
||||
/* 8032426C 7C E5 02 14 */ add r7, r5, r0
|
||||
/* 80324270 99 07 00 00 */ stb r8, 0(r7)
|
||||
/* 80324274 99 27 00 01 */ stb r9, 1(r7)
|
||||
/* 80324278 99 47 00 02 */ stb r10, 2(r7)
|
||||
/* 8032427C 39 4A 00 01 */ addi r10, r10, 1
|
||||
/* 80324280 42 00 FF E4 */ bdnz lbl_80324264
|
||||
/* 80324284 39 29 00 01 */ addi r9, r9, 1
|
||||
/* 80324288 2C 09 00 04 */ cmpwi r9, 4
|
||||
/* 8032428C 38 84 00 08 */ addi r4, r4, 8
|
||||
/* 80324290 41 80 FF C4 */ blt lbl_80324254
|
||||
/* 80324294 39 08 00 01 */ addi r8, r8, 1
|
||||
/* 80324298 28 08 00 08 */ cmplwi r8, 8
|
||||
/* 8032429C 38 63 00 20 */ addi r3, r3, 0x20
|
||||
/* 803242A0 41 80 FF AC */ blt lbl_8032424C
|
||||
/* 803242A4 4E 80 00 20 */ blr
|
|
@ -1,19 +0,0 @@
|
|||
lbl_80324314:
|
||||
/* 80324314 3C 60 80 43 */ lis r3, j3dTevSwapTableTable@ha /* 0x80436A60@ha */
|
||||
/* 80324318 38 03 6A 60 */ addi r0, r3, j3dTevSwapTableTable@l /* 0x80436A60@l */
|
||||
/* 8032431C 7C 03 03 78 */ mr r3, r0
|
||||
/* 80324320 38 80 00 00 */ li r4, 0
|
||||
lbl_80324324:
|
||||
/* 80324324 7C 80 36 70 */ srawi r0, r4, 6
|
||||
/* 80324328 98 03 00 00 */ stb r0, 0(r3)
|
||||
/* 8032432C 54 80 E7 BE */ rlwinm r0, r4, 0x1c, 0x1e, 0x1f
|
||||
/* 80324330 98 03 00 01 */ stb r0, 1(r3)
|
||||
/* 80324334 54 80 F7 BE */ rlwinm r0, r4, 0x1e, 0x1e, 0x1f
|
||||
/* 80324338 98 03 00 02 */ stb r0, 2(r3)
|
||||
/* 8032433C 54 80 07 BE */ clrlwi r0, r4, 0x1e
|
||||
/* 80324340 98 03 00 03 */ stb r0, 3(r3)
|
||||
/* 80324344 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 80324348 2C 04 01 00 */ cmpwi r4, 0x100
|
||||
/* 8032434C 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 80324350 41 80 FF D4 */ blt lbl_80324324
|
||||
/* 80324354 4E 80 00 20 */ blr
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef J3DGD_H
|
||||
#define J3DGD_H
|
||||
|
||||
#include "dolphin/gx/GX.h"
|
||||
#include "dolphin/gd/GDBase.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
inline void J3DGDWrite_u8(u8 param) {
|
||||
__GDWrite(param);
|
||||
|
@ -20,15 +20,63 @@ inline void J3DGDWrite_u32(u32 param) {
|
|||
__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);
|
||||
inline void J3DGDWrite_f32(f32 param) {
|
||||
u32 tmp = *(u32*)¶m;
|
||||
J3DGDWrite_u32(tmp);
|
||||
}
|
||||
|
||||
void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode);
|
||||
inline void J3DGDWriteBPCmd(u32 param_1) {
|
||||
J3DGDWrite_u8(0x61);
|
||||
J3DGDWrite_u32(param_1);
|
||||
}
|
||||
|
||||
inline void J3DGDWriteXFCmd(u16 param_1, u32 param_2) {
|
||||
J3DGDWrite_u8(0x10);
|
||||
J3DGDWrite_u16(0);
|
||||
J3DGDWrite_u16(param_1);
|
||||
J3DGDWrite_u32(param_2);
|
||||
}
|
||||
|
||||
inline void J3DGDWriteXFCmdHdr(u16 cmd, u8 len) {
|
||||
J3DGDWrite_u8(0x10);
|
||||
J3DGDWrite_u16(len - 1);
|
||||
J3DGDWrite_u16(cmd);
|
||||
}
|
||||
|
||||
void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum,
|
||||
GXCullMode cullMode);
|
||||
void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum);
|
||||
void J3DGDSetLightAttn(GXLightID, f32, f32, f32, f32, f32, f32);
|
||||
void J3DGDSetLightColor(GXLightID, GXColor);
|
||||
void J3DGDSetLightPos(GXLightID, f32, f32, f32);
|
||||
void J3DGDSetLightDir(GXLightID, f32, f32, f32);
|
||||
void J3DGDSetVtxAttrFmtv(GXVtxFmt, GXVtxAttrFmtList const*, bool);
|
||||
void J3DGDSetTexCoordGen(GXTexGenType, GXTexGenSrc);
|
||||
void J3DGDSetTexCoordScale2(GXTexCoordID, u16, u8, u8, u16, u8, u8);
|
||||
void J3DGDSetTexLookupMode(GXTexMapID, GXTexWrapMode, GXTexWrapMode, GXTexFilter, GXTexFilter, f32,
|
||||
f32, f32, u8, u8, GXAnisotropy);
|
||||
void J3DGDSetTexImgAttr(GXTexMapID, u16, u16, GXTexFmt);
|
||||
void J3DGDSetTexImgPtr(GXTexMapID, void*);
|
||||
void J3DGDSetTexImgPtrRaw(GXTexMapID, u32);
|
||||
void J3DGDSetTexTlut(GXTexMapID, u32, _GXTlutFmt);
|
||||
void J3DGDLoadTlut(void*, u32, _GXTlutSize);
|
||||
void J3DGDSetIndTexMtx(GXIndTexMtxID, f32 (*)[3], s8);
|
||||
void J3DGDSetIndTexCoordScale(GXIndTexStageID, GXIndTexScale, GXIndTexScale, GXIndTexScale,
|
||||
GXIndTexScale);
|
||||
void J3DGDSetIndTexOrder(u32, GXTexCoordID, GXTexMapID, GXTexCoordID, GXTexMapID, GXTexCoordID,
|
||||
GXTexMapID, GXTexCoordID, GXTexMapID);
|
||||
void J3DGDSetTevOrder(GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID, GXTexCoordID, GXTexMapID,
|
||||
GXChannelID);
|
||||
void J3DGDSetTevKColor(GXTevKColorID, GXColor);
|
||||
void J3DGDSetTevColorS10(GXTevRegID, GXColorS10);
|
||||
void J3DGDSetFog(GXFogType, f32, f32, f32, f32, GXColor);
|
||||
void J3DGDSetFogRangeAdj(u8, u16, _GXFogAdjTable*);
|
||||
void J3DFifoLoadPosMtxImm(f32 (*)[4], u32);
|
||||
void J3DFifoLoadNrmMtxImm(f32 (*)[4], u32);
|
||||
void J3DFifoLoadNrmMtxImm3x3(f32 (*)[3], u32);
|
||||
void J3DFifoLoadNrmMtxToTexMtx(f32 (*)[4], u32);
|
||||
void J3DFifoLoadNrmMtxToTexMtx3x3(f32 (*)[3], u32);
|
||||
void J3DFifoLoadTexCached(GXTexMapID, u32, GXTexCacheSize, u32, GXTexCacheSize);
|
||||
|
||||
static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) {
|
||||
GFX_FIFO(u8) = cmd;
|
||||
|
|
|
@ -65,7 +65,7 @@ struct J3DTexMtxInfo {
|
|||
/* 80325794 */ void setEffectMtx(Mtx);
|
||||
|
||||
/* 0x00 */ u8 mProjection;
|
||||
/* 0x01 */ s8 mInfo;
|
||||
/* 0x01 */ u8 mInfo;
|
||||
/* 0x04 */ Vec mCenter;
|
||||
/* 0x10 */ J3DTextureSRTInfo mSRT;
|
||||
/* 0x24 */ Mtx44 mEffectMtx;
|
||||
|
@ -98,7 +98,7 @@ struct J3DFogInfo {
|
|||
struct J3DNBTScaleInfo {
|
||||
/* 8032587C */ void operator=(J3DNBTScaleInfo const&);
|
||||
|
||||
/* 0x0 */ u8 mbHasScale;
|
||||
/* 0x0 */ bool mbHasScale;
|
||||
/* 0x4 */ Vec mScale;
|
||||
}; // Size: 0x10
|
||||
|
||||
|
|
|
@ -23,6 +23,13 @@ class J3DShape;
|
|||
class J3DDrawBuffer;
|
||||
class J3DTexture;
|
||||
|
||||
struct J3DTexCoordScaleInfo {
|
||||
/* 0x0 */ u16 field_0x00;
|
||||
/* 0x2 */ u16 field_0x02;
|
||||
/* 0x4 */ u16 field_0x04;
|
||||
/* 0x6 */ u16 field_0x06;
|
||||
};
|
||||
|
||||
enum J3DSysFlag {
|
||||
J3DSysFlag_SkinPosCpu = 0x00000004,
|
||||
J3DSysFlag_SkinNrmCpu = 0x00000008,
|
||||
|
@ -131,7 +138,7 @@ struct J3DSys {
|
|||
static Mtx mCurrentMtx;
|
||||
static Vec mCurrentS;
|
||||
static Vec mParentS;
|
||||
static u16 sTexCoordScaleTable[32];
|
||||
static J3DTexCoordScaleInfo sTexCoordScaleTable[8];
|
||||
};
|
||||
|
||||
extern u32 j3dDefaultViewNo;
|
||||
|
|
|
@ -32,9 +32,9 @@ public:
|
|||
mTexMtxInfo = info;
|
||||
}
|
||||
/* 803238C4 */ void load(u32) const;
|
||||
/* 80323900 */ void calc(f32 const (*)[4]);
|
||||
/* 80323920 */ void calcTexMtx(f32 const (*)[4]);
|
||||
/* 80323C0C */ void calcPostTexMtx(f32 const (*)[4]);
|
||||
/* 80323900 */ void calc(const Mtx);
|
||||
/* 80323920 */ void calcTexMtx(const Mtx);
|
||||
/* 80323C0C */ void calcPostTexMtx(const Mtx);
|
||||
/* 80324358 */ void loadTexMtx(u32) const;
|
||||
/* 803243BC */ void loadPostTexMtx(u32) const;
|
||||
|
||||
|
@ -62,6 +62,8 @@ struct J3DTexCoord : public J3DTexCoordInfo {
|
|||
*(J3DTexCoordInfo*)this = *param_1;
|
||||
}
|
||||
|
||||
u8 getTexGenType() { return mTexGenType; }
|
||||
u8 getTexGenSrc() { return mTexGenSrc; }
|
||||
u8 getTexGenMtx() { return mTexGenMtx & 0xff; }
|
||||
u16 getTexMtxReg() { return mTexMtxReg & 0xff; }
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include "JSystem/JGeometry.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
|
||||
struct J3DTextureSRTInfo;
|
||||
|
||||
struct J3DTransformInfo {
|
||||
/* 0x00 */ JGeometry::TVec3<f32> mScale;
|
||||
/* 0x0C */ JGeometry::TVec3<s16> mRotation;
|
||||
|
@ -15,10 +17,20 @@ extern Vec const j3dDefaultScale;
|
|||
extern Mtx const j3dDefaultMtx;
|
||||
extern f32 PSMulUnit01[2];
|
||||
|
||||
void J3DGetTranslateRotateMtx(J3DTransformInfo const&, Mtx);
|
||||
void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, Mtx);
|
||||
void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]);
|
||||
void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3);
|
||||
void J3DCalcBBoardMtx(f32 (*)[4]);
|
||||
void J3DCalcYBBoardMtx(f32 (*)[4]);
|
||||
void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]);
|
||||
void J3DGetTranslateRotateMtx(const J3DTransformInfo&, Mtx);
|
||||
void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, Mtx);
|
||||
void J3DGetTextureMtx(const J3DTextureSRTInfo&, const Vec&, f32 (*)[4]);
|
||||
void J3DGetTextureMtxOld(const J3DTextureSRTInfo&, const Vec&, f32 (*)[4]);
|
||||
void J3DGetTextureMtxMaya(const J3DTextureSRTInfo&, f32 (*)[4]);
|
||||
void J3DGetTextureMtxMayaOld(const J3DTextureSRTInfo& param_0, f32 (*)[4]);
|
||||
void J3DScaleNrmMtx(f32 (*)[4], const Vec&);
|
||||
void J3DScaleNrmMtx33(f32 (*)[3], const Vec&);
|
||||
void J3DMtxProjConcat(f32 (*)[4], f32 (*)[4], f32 (*)[4]);
|
||||
void J3DPSMtxArrayConcat(f32 (*)[4], f32 (*)[4], f32 (*)[4], u32);
|
||||
|
||||
inline void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst) {
|
||||
register f32 x_y1;
|
||||
|
|
|
@ -16,23 +16,65 @@ typedef struct GDLObj {
|
|||
|
||||
extern GDLObj* __GDCurrentDL;
|
||||
|
||||
inline void GDSetCurrent(GDLObj* obj) {
|
||||
__GDCurrentDL = obj;
|
||||
}
|
||||
typedef void (*GDOverflowCallback)(void);
|
||||
|
||||
void GDInitGDLObj(GDLObj*, u8*, u32);
|
||||
void GDFlushCurrToMem();
|
||||
void GDPadCurr32();
|
||||
void GDOverflowed(void);
|
||||
|
||||
inline void __GDWrite(u8 data) {
|
||||
*__GDCurrentDL->ptr++ = data;
|
||||
}
|
||||
|
||||
inline void GDSetCurrent(GDLObj* obj) {
|
||||
__GDCurrentDL = obj;
|
||||
}
|
||||
|
||||
inline u32 GDGetGDLObjOffset(GDLObj* obj) {
|
||||
return (u32)(obj->ptr - obj->start);
|
||||
}
|
||||
|
||||
void GDInitGDLObj(GDLObj*, u8*, u32);
|
||||
void GDFlushCurrToMem();
|
||||
void GDPadCurr32();
|
||||
inline u8* GDGetCurrPointer() {
|
||||
return __GDCurrentDL->ptr;
|
||||
}
|
||||
|
||||
typedef void (*GDOverflowCallback)(void);
|
||||
inline s32 GDGetCurrOffset() {
|
||||
return __GDCurrentDL->ptr - __GDCurrentDL->start;
|
||||
}
|
||||
|
||||
inline void GDSetCurrOffset(s32 offs) {
|
||||
__GDCurrentDL->ptr = __GDCurrentDL->start + offs;
|
||||
}
|
||||
|
||||
inline void GDAdvCurrOffset(s32 offs) {
|
||||
__GDCurrentDL->ptr += offs;
|
||||
}
|
||||
|
||||
inline void GDOverflowCheck(u32 len) {
|
||||
if (__GDCurrentDL->ptr + len > __GDCurrentDL->end) {
|
||||
GDOverflowed();
|
||||
}
|
||||
}
|
||||
|
||||
inline void GDWrite_u32(u32 v) {
|
||||
GDOverflowCheck(4);
|
||||
__GDWrite((v >> 24) & 0xff);
|
||||
__GDWrite((v >> 16) & 0xff);
|
||||
__GDWrite((v >> 8) & 0xff);
|
||||
__GDWrite((v >> 0) & 0xff);
|
||||
}
|
||||
|
||||
inline void GDWrite_u16(u16 v) {
|
||||
GDOverflowCheck(2);
|
||||
__GDWrite(v >> 8);
|
||||
__GDWrite(v & 0xff);
|
||||
}
|
||||
|
||||
inline void GDWrite_u8(u8 v) {
|
||||
GDOverflowCheck(1);
|
||||
__GDWrite(v);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
|
|
|
@ -51,7 +51,7 @@ Vec J3DSys::mCurrentS;
|
|||
Vec J3DSys::mParentS;
|
||||
|
||||
/* 80434C2C-80434C70 06194C 0040+04 1/1 17/17 0/0 .bss sTexCoordScaleTable__6J3DSys */
|
||||
u16 J3DSys::sTexCoordScaleTable[32];
|
||||
J3DTexCoordScaleInfo J3DSys::sTexCoordScaleTable[8];
|
||||
|
||||
/* 8030FDE8-8030FEC0 30A728 00D8+00 1/1 0/0 0/0 .text __ct__6J3DSysFv */
|
||||
J3DSys::J3DSys() {
|
||||
|
@ -77,11 +77,11 @@ J3DSys::J3DSys() {
|
|||
mVtxNrm = NULL;
|
||||
mVtxCol = NULL;
|
||||
|
||||
for (u32 i = 0; i < 32; i += 4) {
|
||||
sTexCoordScaleTable[i + 0] = 1;
|
||||
sTexCoordScaleTable[i + 1] = 1;
|
||||
sTexCoordScaleTable[i + 2] = 0;
|
||||
sTexCoordScaleTable[i + 3] = 0;
|
||||
for (u32 i = 0; i < 8; i++) {
|
||||
sTexCoordScaleTable[i].field_0x00 = 1;
|
||||
sTexCoordScaleTable[i].field_0x02 = 1;
|
||||
sTexCoordScaleTable[i].field_0x04 = 0;
|
||||
sTexCoordScaleTable[i].field_0x06 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,16 +4,17 @@
|
|||
//
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DTevs.h"
|
||||
#include "JSystem/J3DGraphBase/J3DGD.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DTexture.h"
|
||||
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct J3DNBTScale {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
@ -47,11 +48,8 @@ extern "C" extern u8 j3dDefaultIndTexCoordScaleInfo[4];
|
|||
extern "C" extern GXColor j3dDefaultTevKColor;
|
||||
extern "C" extern u8 j3dDefaultTevSwapMode[4];
|
||||
extern "C" extern u32 j3dDefaultTevSwapModeTable;
|
||||
extern "C" extern u32 j3dDefaultBlendInfo;
|
||||
extern "C" extern u8 j3dDefaultColorChanInfo[8];
|
||||
extern "C" extern u16 data_804563F8;
|
||||
extern "C" extern u16 j3dDefaultAlphaCmpID;
|
||||
extern "C" extern u16 j3dDefaultZModeID[1 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
|
@ -81,13 +79,22 @@ extern "C" void _savegpr_28();
|
|||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" u8 sTexCoordScaleTable__6J3DSys[64 + 4 /* padding */];
|
||||
extern "C" extern u8 __GDCurrentDL[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80323590-80323644 31DED0 00B4+00 0/0 3/3 0/0 .text load__11J3DLightObjCFUl */
|
||||
// missing instruction
|
||||
#ifdef NONMATCHING
|
||||
void J3DLightObj::load(u32 param_0) const {
|
||||
GDOverflowCheck(0x48);
|
||||
J3DGDSetLightPos(GXLightID(param_0 * 2), mInfo.mLightPosition.x, mInfo.mLightPosition.y, mInfo.mLightPosition.z);
|
||||
J3DGDSetLightAttn(GXLightID(param_0 * 2), mInfo.mCosAtten.x, mInfo.mCosAtten.y, mInfo.mCosAtten.z, mInfo.mDistAtten.x, mInfo.mDistAtten.y, mInfo.mDistAtten.z);
|
||||
J3DGDSetLightColor(GXLightID(param_0 * 2), mInfo.mColor);
|
||||
J3DGDSetLightDir(GXLightID(param_0 * 2), mInfo.mLightDirection.x, mInfo.mLightDirection.y, mInfo.mLightDirection.z);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -96,17 +103,30 @@ asm void J3DLightObj::load(u32 param_0) const {
|
|||
#include "asm/JSystem/J3DGraphBase/J3DTevs/load__11J3DLightObjCFUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80323644-803238C4 31DF84 0280+00 0/0 3/3 0/0 .text loadTexCoordGens__FUlP11J3DTexCoord
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void loadTexCoordGens(u32 param_0, J3DTexCoord* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/loadTexCoordGens__FUlP11J3DTexCoord.s"
|
||||
void loadTexCoordGens(u32 param_0, J3DTexCoord* param_1) {
|
||||
GDOverflowCheck(param_0 * 8 + 10);
|
||||
J3DGDWriteXFCmdHdr(0x1040, param_0);
|
||||
for (int i = 0; i < param_0; i++) {
|
||||
J3DGDSetTexCoordGen(
|
||||
GXTexGenType(param_1[i].getTexGenType()),
|
||||
GXTexGenSrc(param_1[i].getTexGenSrc())
|
||||
);
|
||||
}
|
||||
J3DGDWriteXFCmdHdr(0x1050, param_0);
|
||||
if (j3dSys.checkFlag(0x40000000)) {
|
||||
for (int i = 0; i < param_0; i++) {
|
||||
J3DGDWrite_u32(param_1[i].getTexGenMtx() == 60 ? 61 : i * 3);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < param_0; i++) {
|
||||
J3DGDWrite_u32(61);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 803238C4-80323900 31E204 003C+00 0/0 6/6 0/0 .text load__9J3DTexMtxCFUl */
|
||||
void J3DTexMtx::load(u32 mtxIdx) const {
|
||||
|
@ -122,108 +142,224 @@ void J3DTexMtx::calc(f32 const (*param_0)[4]) {
|
|||
calcTexMtx(param_0);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CEAC8-803CEAF8 02BBE8 0030+00 1/1 0/0 0/0 .data qMtx$1001 */
|
||||
SECTION_DATA static u8 qMtx_1001[48] = {
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 803CEAF8-803CEB28 02BC18 0030+00 1/1 0/0 0/0 .data qMtx2$1002 */
|
||||
SECTION_DATA static u8 qMtx2_1002[48] = {
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 803CEB28-803CEB58 -00001 0030+00 1/1 0/0 0/0 .data @1059 */
|
||||
SECTION_DATA static void* lit_1059[12] = {
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x2A4),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x1C8),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x20C),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x20C),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x260),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x20C),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x170),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0xB0),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x48),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x48),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x108),
|
||||
(void*)(((char*)calcTexMtx__9J3DTexMtxFPA4_Cf) + 0x48),
|
||||
};
|
||||
|
||||
/* 80323920-80323C0C 31E260 02EC+00 2/1 0/0 0/0 .text calcTexMtx__9J3DTexMtxFPA4_Cf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J3DTexMtx::calcTexMtx(f32 const (*param_0)[4]) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/calcTexMtx__9J3DTexMtxFPA4_Cf.s"
|
||||
void J3DTexMtx::calcTexMtx(const Mtx param_0) {
|
||||
Mtx44 mtx1;
|
||||
Mtx44 mtx2;
|
||||
|
||||
static Mtx qMtx = {
|
||||
0.5f, 0.0f, 0.5f, 0.0f,
|
||||
0.0f, -0.5f, 0.5f, 0.0f,
|
||||
0.0f, 0.0f, 1.0f, 0.0f,
|
||||
};
|
||||
static Mtx qMtx2 = {
|
||||
0.5f, 0.0f, 0.0f, 0.5f,
|
||||
0.0f, -0.5f, 0.0f, 0.5f,
|
||||
0.0f, 0.0f, 1.0f, 0.0f,
|
||||
};
|
||||
|
||||
u8 r28 = mTexMtxInfo.mInfo & 0x3f;
|
||||
u32 r30 = (mTexMtxInfo.mInfo >> 7) & 1;
|
||||
switch (r28) {
|
||||
case 8:
|
||||
case 9:
|
||||
case 11:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
MTXConcat(mtx2, qMtx, mtx2);
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 7:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1);
|
||||
}
|
||||
MTXConcat(mtx1, qMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 10:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
MTXConcat(mtx2, qMtx2, mtx2);
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 6:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
|
||||
}
|
||||
MTXConcat(mtx1, qMtx2, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 1:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
|
||||
}
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 5:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 4:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
|
||||
break;
|
||||
default:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CEB58-803CEB88 02BC78 0030+00 1/1 0/0 0/0 .data qMtx$1063 */
|
||||
SECTION_DATA static u8 qMtx_1063[48] = {
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 803CEB88-803CEBB8 02BCA8 0030+00 1/1 0/0 0/0 .data qMtx2$1064 */
|
||||
SECTION_DATA static u8 qMtx2_1064[48] = {
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 803CEBB8-803CEBE8 -00001 0030+00 1/1 0/0 0/0 .data @1131 */
|
||||
SECTION_DATA static void* lit_1131[12] = {
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x310),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x200),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x234),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x288),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x2CC),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x234),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x1B8),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x108),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x48),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0xB0),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x150),
|
||||
(void*)(((char*)calcPostTexMtx__9J3DTexMtxFPA4_Cf) + 0x48),
|
||||
};
|
||||
|
||||
/* 80323C0C-80323F64 31E54C 0358+00 1/0 2/2 0/0 .text calcPostTexMtx__9J3DTexMtxFPA4_Cf
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J3DTexMtx::calcPostTexMtx(f32 const (*param_0)[4]) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/calcPostTexMtx__9J3DTexMtxFPA4_Cf.s"
|
||||
void J3DTexMtx::calcPostTexMtx(const Mtx param_0) {
|
||||
Mtx44 mtx1;
|
||||
Mtx44 mtx2;
|
||||
|
||||
static Mtx qMtx = {
|
||||
0.5f, 0.0f, 0.5f, 0.0f,
|
||||
0.0f, -0.5f, 0.5f, 0.0f,
|
||||
0.0f, 0.0f, 1.0f, 0.0f,
|
||||
};
|
||||
static Mtx qMtx2 = {
|
||||
0.5f, 0.0f, 0.0f, 0.5f,
|
||||
0.0f, -0.5f, 0.0f, 0.5f,
|
||||
0.0f, 0.0f, 1.0f, 0.0f,
|
||||
};
|
||||
|
||||
u8 r29 = mTexMtxInfo.mInfo & 0x3f;
|
||||
u32 r30 = (mTexMtxInfo.mInfo >> 7) & 1;
|
||||
switch (r29) {
|
||||
case 8:
|
||||
case 11:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
MTXConcat(mtx2, qMtx, mtx2);
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 9:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
MTXConcat(mtx2, qMtx, mtx2);
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
|
||||
break;
|
||||
case 7:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1);
|
||||
}
|
||||
MTXConcat(mtx1, qMtx, mMtx);
|
||||
break;
|
||||
case 10:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
MTXConcat(mtx2, qMtx2, mtx2);
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 6:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
|
||||
}
|
||||
MTXConcat(mtx1, qMtx2, mMtx);
|
||||
break;
|
||||
case 1:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 5:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
|
||||
MTXConcat(mtx1, param_0, mMtx);
|
||||
break;
|
||||
case 3:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
|
||||
break;
|
||||
case 4:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
|
||||
}
|
||||
J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
|
||||
break;
|
||||
default:
|
||||
if (r30 == 0) {
|
||||
J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
|
||||
} else if (r30 == 1) {
|
||||
J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80323F64-80323F88 31E8A4 0024+00 0/0 1/1 0/0 .text isTexNoReg__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void isTexNoReg(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/isTexNoReg__FPv.s"
|
||||
bool isTexNoReg(void* param_0) {
|
||||
u8 r31 = ((u8*)param_0)[1];
|
||||
if (r31 >= 0x80 && r31 <= 0xbb) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80323F88-80323F94 31E8C8 000C+00 0/0 1/1 0/0 .text getTexNoReg__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void getTexNoReg(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/getTexNoReg__FPv.s"
|
||||
u16 getTexNoReg(void* param_0) {
|
||||
return *(u32*)((u8*)param_0 + 1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804563B0-804563B4 0049B0 0004+00 1/1 0/0 0/0 .sdata2 @1167 */
|
||||
|
@ -236,29 +372,35 @@ SECTION_SDATA2 static f32 lit_1168 = 1.0f / 100.0f;
|
|||
SECTION_SDATA2 static f64 lit_1171 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80323F94-8032413C 31E8D4 01A8+00 0/0 20/20 0/0 .text loadTexNo__FUlRCUs */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void loadTexNo(u32 param_0, u16 const& param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/loadTexNo__FUlRCUs.s"
|
||||
void loadTexNo(u32 param_0, u16 const& param_1) {
|
||||
ResTIMG* resTIMG = j3dSys.getTexture()->getResTIMG(param_1);
|
||||
J3DSys::sTexCoordScaleTable[param_0].field_0x00 = resTIMG->width;
|
||||
J3DSys::sTexCoordScaleTable[param_0].field_0x02 = resTIMG->height;
|
||||
GDOverflowCheck(0x14);
|
||||
J3DGDSetTexImgPtr(GXTexMapID(param_0), (u8*)resTIMG + resTIMG->imageOffset);
|
||||
J3DGDSetTexImgAttr(GXTexMapID(param_0), resTIMG->width, resTIMG->height, GXTexFmt(resTIMG->format & 0x0f));
|
||||
J3DGDSetTexLookupMode(GXTexMapID(param_0), GXTexWrapMode(resTIMG->wrapS), GXTexWrapMode(resTIMG->wrapT), GXTexFilter(resTIMG->minFilter), GXTexFilter(resTIMG->magFilter), resTIMG->minLOD * 0.125f, resTIMG->maxLOD * 0.125f, resTIMG->LODBias * 0.01f, resTIMG->biasClamp, resTIMG->doEdgeLOD, GXAnisotropy(resTIMG->maxAnisotropy));
|
||||
if (resTIMG->indexTexture == true) {
|
||||
GXTlutSize tlutSize = resTIMG->numColors > 16 ? GX_TLUT_256 : GX_TLUT_16;
|
||||
GDOverflowCheck(0x14);
|
||||
J3DGDLoadTlut((u8*)resTIMG + resTIMG->paletteOffset, (param_0 << 13) + 0xf0000, tlutSize);
|
||||
J3DGDSetTexTlut(GXTexMapID(param_0), (param_0 << 13) + 0xf0000, GXTlutFmt(resTIMG->colorFormat));
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8032413C-80324160 31EA7C 0024+00 0/0 2/2 0/0 .text patchTexNo_PtrToIdx__FUlRCUs */
|
||||
void patchTexNo_PtrToIdx(u32 texID, u16 const& idx) {
|
||||
J3DGDSetTexImgPtrRaw((GXTexMapID)texID, idx);
|
||||
J3DGDSetTexImgPtrRaw(GXTexMapID(texID), idx);
|
||||
}
|
||||
|
||||
/* 80324160-80324194 31EAA0 0034+00 0/0 2/2 0/0 .text loadNBTScale__FR11J3DNBTScale */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void loadNBTScale(J3DNBTScale& param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/loadNBTScale__FR11J3DNBTScale.s"
|
||||
void loadNBTScale(J3DNBTScale& param_0) {
|
||||
if (param_0.mbHasScale == true) {
|
||||
j3dSys.setNBTScale(¶m_0.mScale);
|
||||
} else {
|
||||
j3dSys.setNBTScale(NULL);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A1EC8-803A1EFC 02E528 0034+00 0/0 9/9 24/24 .rodata j3dDefaultLightInfo */
|
||||
|
@ -313,16 +455,15 @@ SECTION_RODATA extern u8 const j3dDefaultIndTevStageInfo[12] = {
|
|||
COMPILER_STRIP_GATE(0x803A1FB0, &j3dDefaultIndTevStageInfo);
|
||||
|
||||
/* 803A1FBC-803A1FE8 02E61C 002C+00 0/0 3/3 0/0 .rodata j3dDefaultFogInfo */
|
||||
SECTION_RODATA extern u8 const j3dDefaultFogInfo[44] = {
|
||||
0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xCC, 0xCC,
|
||||
0xCD, 0x46, 0x1C, 0x40, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
SECTION_RODATA extern J3DFogInfo const j3dDefaultFogInfo = {
|
||||
0x00, 0x00, 0x0140, 0.0f, 0.0f, 0.1f, 10000.0f, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x803A1FBC, &j3dDefaultFogInfo);
|
||||
|
||||
/* 803A1FE8-803A1FF8 02E648 0010+00 0/0 3/3 0/0 .rodata j3dDefaultNBTScaleInfo */
|
||||
SECTION_RODATA extern u8 const j3dDefaultNBTScaleInfo[16] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
SECTION_RODATA extern J3DNBTScaleInfo const j3dDefaultNBTScaleInfo = {
|
||||
0x00, 1.0f, 1.0f, 1.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x803A1FE8, &j3dDefaultNBTScaleInfo);
|
||||
|
||||
|
@ -352,6 +493,24 @@ COMPILER_STRIP_GATE(0x803A1FF8, &lit_1197);
|
|||
static u8 j3dTexCoordTable[7623 + 1 /* padding */];
|
||||
|
||||
/* 80324194-8032423C 31EAD4 00A8+00 0/0 1/1 0/0 .text makeTexCoordTable__Fv */
|
||||
// regswap
|
||||
#ifdef NONMATCHING
|
||||
void makeTexCoordTable() {
|
||||
u8 bytes[] = { 0x1e, 0x21, 0x24, 0x27, 0x2a, 0x2d, 0x30, 0x33, 0x36, 0x39, 0x3c };
|
||||
|
||||
u8* table = j3dTexCoordTable;
|
||||
for (u32 i = 0; i < 11; i++) {
|
||||
for (u32 j = 0; j < 21; j++) {
|
||||
for (int k = 0; k < 11; k++) {
|
||||
u32 idx = i * 0xe7 + j * 11 + k;
|
||||
table[idx * 3] = i;
|
||||
table[idx * 3 + 1] = j;
|
||||
table[idx * 3 + 2] = bytes[k];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -360,6 +519,7 @@ asm void makeTexCoordTable() {
|
|||
#include "asm/JSystem/J3DGraphBase/J3DTevs/makeTexCoordTable__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80436A60-80436E60 063780 0400+00 1/1 3/3 0/0 .bss j3dTevSwapTableTable */
|
||||
|
@ -371,14 +531,19 @@ extern u8 j3dAlphaCmpTable[768];
|
|||
u8 j3dAlphaCmpTable[768];
|
||||
|
||||
/* 8032423C-803242A8 31EB7C 006C+00 0/0 1/1 0/0 .text makeAlphaCmpTable__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void makeAlphaCmpTable() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/makeAlphaCmpTable__Fv.s"
|
||||
void makeAlphaCmpTable() {
|
||||
u8* table = j3dAlphaCmpTable;
|
||||
for (u32 i = 0; i < 8; i++) {
|
||||
for (int j = 0; j < 4; j++) {
|
||||
for (u32 k = 0; k < 8; k++) {
|
||||
u32 idx = i * 32 + j * 8 + k;
|
||||
table[idx * 3] = i;
|
||||
table[idx * 3 + 1] = j;
|
||||
table[idx * 3 + 2] = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80437160-804371C0 063E80 0060+00 1/1 4/4 5/5 .bss j3dZModeTable */
|
||||
|
@ -386,6 +551,22 @@ extern u8 j3dZModeTable[96];
|
|||
u8 j3dZModeTable[96];
|
||||
|
||||
/* 803242A8-80324314 31EBE8 006C+00 0/0 1/1 0/0 .text makeZModeTable__Fv */
|
||||
// regswap
|
||||
#ifdef NONMATCHING
|
||||
void makeZModeTable() {
|
||||
u8* table = j3dZModeTable;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (u32 j = 0; j < 8; j++) {
|
||||
for (int k = 0; k < 2; k++) {
|
||||
u32 idx = i * 16 + j * 2 + k;
|
||||
table[idx * 3] = i;
|
||||
table[idx * 3 + 1] = j;
|
||||
table[idx * 3 + 2] = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -394,16 +575,21 @@ asm void makeZModeTable() {
|
|||
#include "asm/JSystem/J3DGraphBase/J3DTevs/makeZModeTable__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80324314-80324358 31EC54 0044+00 0/0 1/1 0/0 .text makeTevSwapTable__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void makeTevSwapTable() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphBase/J3DTevs/makeTevSwapTable__Fv.s"
|
||||
void makeTevSwapTable() {
|
||||
u8* table = j3dTevSwapTableTable;
|
||||
int i = 0;
|
||||
do {
|
||||
table[0] = i >> 6;
|
||||
table[1] = (i >> 4) & 3;
|
||||
table[2] = (i >> 2) & 3;
|
||||
table[3] = i & 3;
|
||||
i++;
|
||||
table += 4;
|
||||
} while (i < 256);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80324358-803243BC 31EC98 0064+00 1/1 0/0 0/0 .text loadTexMtx__9J3DTexMtxCFUl */
|
||||
#pragma push
|
||||
|
@ -488,7 +674,7 @@ SECTION_SDATA2 extern u8 j3dDefaultTevSwapMode[4] = {
|
|||
SECTION_SDATA2 extern u32 j3dDefaultTevSwapModeTable = 0x00010203;
|
||||
|
||||
/* 804563EC-804563F0 0049EC 0004+00 0/0 3/3 0/0 .sdata2 j3dDefaultBlendInfo */
|
||||
SECTION_SDATA2 extern u32 j3dDefaultBlendInfo = 0x01040505;
|
||||
SECTION_SDATA2 extern const J3DBlendInfo j3dDefaultBlendInfo = {GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_NOOP};
|
||||
|
||||
/* 804563F0-804563F8 0049F0 0008+00 0/0 3/3 0/0 .sdata2 j3dDefaultColorChanInfo */
|
||||
SECTION_SDATA2 extern u8 j3dDefaultColorChanInfo[8] = {
|
||||
|
@ -499,11 +685,7 @@ SECTION_SDATA2 extern u8 j3dDefaultColorChanInfo[8] = {
|
|||
SECTION_SDATA2 extern u16 data_804563F8 = 0x1B00;
|
||||
|
||||
/* 804563FA-804563FC 0049FA 0002+00 0/0 1/1 0/0 .sdata2 j3dDefaultAlphaCmpID */
|
||||
SECTION_SDATA2 extern u16 j3dDefaultAlphaCmpID = 0x00E7;
|
||||
SECTION_SDATA2 extern const u16 j3dDefaultAlphaCmpID = 0x00E7;
|
||||
|
||||
/* 804563FC-80456400 0049FC 0002+02 0/0 3/3 0/0 .sdata2 j3dDefaultZModeID */
|
||||
SECTION_SDATA2 extern u16 j3dDefaultZModeID[1 + 1 /* padding */] = {
|
||||
0x0017,
|
||||
/* padding */
|
||||
0x0000,
|
||||
};
|
||||
SECTION_SDATA2 extern const u16 j3dDefaultZModeID = 0x0017;
|
||||
|
|
Loading…
Reference in New Issue