split and named symbols in text.s (#2)

* split and named symbols in text.s

* Update makefile for better compatiblity
This commit is contained in:
notyouraveragehooman
2020-09-01 17:26:31 -07:00
committed by GitHub
parent c72fc0c64a
commit f61bfb39dd
599 changed files with 993262 additions and 986329 deletions
+555
View File
@@ -0,0 +1,555 @@
.include "macros.inc"
.section .text, "ax" # 80324f08
.global J3DDrawBuffer_NS_initialize
J3DDrawBuffer_NS_initialize:
/* 80324F08 00321E48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80324F0C 00321E4C 38 00 00 00 */ li r0, 0
/* 80324F10 00321E50 90 03 00 08 */ stw r0, 8(r3)
/* 80324F14 00321E54 90 03 00 0C */ stw r0, 0xc(r3)
/* 80324F18 00321E58 C0 02 CA 00 */ lfs f0, lbl_80456400-_SDA2_BASE_(r2)
/* 80324F1C 00321E5C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80324F20 00321E60 C0 02 CA 04 */ lfs f0, lbl_80456404-_SDA2_BASE_(r2)
/* 80324F24 00321E64 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80324F28 00321E68 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80324F2C 00321E6C 90 03 00 20 */ stw r0, 0x20(r3)
/* 80324F30 00321E70 38 00 00 20 */ li r0, 0x20
/* 80324F34 00321E74 90 03 00 04 */ stw r0, 4(r3)
/* 80324F38 00321E78 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 80324F3C 00321E7C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80324F40 00321E80 EC 41 00 28 */ fsubs f2, f1, f0
/* 80324F44 00321E84 80 03 00 04 */ lwz r0, 4(r3)
/* 80324F48 00321E88 C8 22 CA 08 */ lfd f1, lbl_80456408-_SDA2_BASE_(r2)
/* 80324F4C 00321E8C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80324F50 00321E90 3C 00 43 30 */ lis r0, 0x4330
/* 80324F54 00321E94 90 01 00 08 */ stw r0, 8(r1)
/* 80324F58 00321E98 C8 01 00 08 */ lfd f0, 8(r1)
/* 80324F5C 00321E9C EC 00 08 28 */ fsubs f0, f0, f1
/* 80324F60 00321EA0 EC 02 00 24 */ fdivs f0, f2, f0
/* 80324F64 00321EA4 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80324F68 00321EA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80324F6C 00321EAC 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_allocBuffer
J3DDrawBuffer_NS_allocBuffer:
/* 80324F70 00321EB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80324F74 00321EB4 7C 08 02 A6 */ mflr r0
/* 80324F78 00321EB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80324F7C 00321EBC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80324F80 00321EC0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80324F84 00321EC4 7C 7E 1B 78 */ mr r30, r3
/* 80324F88 00321EC8 7C 9F 23 78 */ mr r31, r4
/* 80324F8C 00321ECC 54 83 10 3A */ slwi r3, r4, 2
/* 80324F90 00321ED0 38 80 00 20 */ li r4, 0x20
/* 80324F94 00321ED4 4B FA 9D 59 */ bl __nwa_X1_
/* 80324F98 00321ED8 90 7E 00 00 */ stw r3, 0(r30)
/* 80324F9C 00321EDC 80 1E 00 00 */ lwz r0, 0(r30)
/* 80324FA0 00321EE0 28 00 00 00 */ cmplwi r0, 0
/* 80324FA4 00321EE4 40 82 00 0C */ bne lbl_80324FB0
/* 80324FA8 00321EE8 38 60 00 04 */ li r3, 4
/* 80324FAC 00321EEC 48 00 00 44 */ b lbl_80324FF0
lbl_80324FB0:
/* 80324FB0 00321EF0 93 FE 00 04 */ stw r31, 4(r30)
/* 80324FB4 00321EF4 7F C3 F3 78 */ mr r3, r30
/* 80324FB8 00321EF8 48 00 00 B1 */ bl J3DDrawBuffer_NS_frameInit
/* 80324FBC 00321EFC C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 80324FC0 00321F00 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 80324FC4 00321F04 EC 41 00 28 */ fsubs f2, f1, f0
/* 80324FC8 00321F08 80 1E 00 04 */ lwz r0, 4(r30)
/* 80324FCC 00321F0C C8 22 CA 08 */ lfd f1, lbl_80456408-_SDA2_BASE_(r2)
/* 80324FD0 00321F10 90 01 00 0C */ stw r0, 0xc(r1)
/* 80324FD4 00321F14 3C 00 43 30 */ lis r0, 0x4330
/* 80324FD8 00321F18 90 01 00 08 */ stw r0, 8(r1)
/* 80324FDC 00321F1C C8 01 00 08 */ lfd f0, 8(r1)
/* 80324FE0 00321F20 EC 00 08 28 */ fsubs f0, f0, f1
/* 80324FE4 00321F24 EC 02 00 24 */ fdivs f0, f2, f0
/* 80324FE8 00321F28 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 80324FEC 00321F2C 38 60 00 00 */ li r3, 0
lbl_80324FF0:
/* 80324FF0 00321F30 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80324FF4 00321F34 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80324FF8 00321F38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80324FFC 00321F3C 7C 08 03 A6 */ mtlr r0
/* 80325000 00321F40 38 21 00 20 */ addi r1, r1, 0x20
/* 80325004 00321F44 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_dtor
J3DDrawBuffer_NS_dtor:
/* 80325008 00321F48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032500C 00321F4C 7C 08 02 A6 */ mflr r0
/* 80325010 00321F50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325014 00321F54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80325018 00321F58 93 C1 00 08 */ stw r30, 8(r1)
/* 8032501C 00321F5C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80325020 00321F60 7C 9F 23 78 */ mr r31, r4
/* 80325024 00321F64 41 82 00 28 */ beq lbl_8032504C
/* 80325028 00321F68 48 00 00 41 */ bl J3DDrawBuffer_NS_frameInit
/* 8032502C 00321F6C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80325030 00321F70 4B FA 9D 31 */ bl __dla
/* 80325034 00321F74 38 00 00 00 */ li r0, 0
/* 80325038 00321F78 90 1E 00 00 */ stw r0, 0(r30)
/* 8032503C 00321F7C 7F E0 07 35 */ extsh. r0, r31
/* 80325040 00321F80 40 81 00 0C */ ble lbl_8032504C
/* 80325044 00321F84 7F C3 F3 78 */ mr r3, r30
/* 80325048 00321F88 4B FA 9C F5 */ bl __dl
lbl_8032504C:
/* 8032504C 00321F8C 7F C3 F3 78 */ mr r3, r30
/* 80325050 00321F90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80325054 00321F94 83 C1 00 08 */ lwz r30, 8(r1)
/* 80325058 00321F98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032505C 00321F9C 7C 08 03 A6 */ mtlr r0
/* 80325060 00321FA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80325064 00321FA4 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_frameInit
J3DDrawBuffer_NS_frameInit:
/* 80325068 00321FA8 80 A3 00 04 */ lwz r5, 4(r3)
/* 8032506C 00321FAC 38 80 00 00 */ li r4, 0
/* 80325070 00321FB0 7C 80 23 78 */ mr r0, r4
/* 80325074 00321FB4 7C A9 03 A6 */ mtctr r5
/* 80325078 00321FB8 28 05 00 00 */ cmplwi r5, 0
/* 8032507C 00321FBC 40 81 00 14 */ ble lbl_80325090
lbl_80325080:
/* 80325080 00321FC0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80325084 00321FC4 7C 05 21 2E */ stwx r0, r5, r4
/* 80325088 00321FC8 38 84 00 04 */ addi r4, r4, 4
/* 8032508C 00321FCC 42 00 FF F4 */ bdnz lbl_80325080
lbl_80325090:
/* 80325090 00321FD0 38 00 00 00 */ li r0, 0
/* 80325094 00321FD4 90 03 00 20 */ stw r0, 0x20(r3)
/* 80325098 00321FD8 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_entryMatSort
J3DDrawBuffer_NS_entryMatSort:
/* 8032509C 00321FDC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803250A0 00321FE0 7C 08 02 A6 */ mflr r0
/* 803250A4 00321FE4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803250A8 00321FE8 39 61 00 20 */ addi r11, r1, 0x20
/* 803250AC 00321FEC 48 03 D1 2D */ bl func_803621D8
/* 803250B0 00321FF0 7C 7E 1B 78 */ mr r30, r3
/* 803250B4 00321FF4 7C 9F 23 78 */ mr r31, r4
/* 803250B8 00321FF8 38 00 00 00 */ li r0, 0
/* 803250BC 00321FFC 90 04 00 04 */ stw r0, 4(r4)
/* 803250C0 00322000 90 04 00 08 */ stw r0, 8(r4)
/* 803250C4 00322004 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 803250C8 00322008 90 03 00 04 */ stw r0, 4(r3)
/* 803250CC 0032200C 90 03 00 08 */ stw r0, 8(r3)
/* 803250D0 00322010 80 04 00 34 */ lwz r0, 0x34(r4)
/* 803250D4 00322014 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 803250D8 00322018 41 82 00 20 */ beq lbl_803250F8
/* 803250DC 0032201C 80 7E 00 00 */ lwz r3, 0(r30)
/* 803250E0 00322020 80 03 00 00 */ lwz r0, 0(r3)
/* 803250E4 00322024 90 1F 00 04 */ stw r0, 4(r31)
/* 803250E8 00322028 80 7E 00 00 */ lwz r3, 0(r30)
/* 803250EC 0032202C 93 E3 00 00 */ stw r31, 0(r3)
/* 803250F0 00322030 38 60 00 01 */ li r3, 1
/* 803250F4 00322034 48 00 00 D8 */ b lbl_803251CC
lbl_803250F8:
/* 803250F8 00322038 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 803250FC 0032203C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80325100 00322040 83 A3 00 58 */ lwz r29, 0x58(r3)
/* 80325104 00322044 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 80325108 00322048 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8032510C 0032204C 38 80 00 00 */ li r4, 0
/* 80325110 00322050 81 83 00 00 */ lwz r12, 0(r3)
/* 80325114 00322054 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 80325118 00322058 7D 89 03 A6 */ mtctr r12
/* 8032511C 0032205C 4E 80 04 21 */ bctrl
/* 80325120 00322060 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80325124 00322064 28 00 FF FF */ cmplwi r0, 0xffff
/* 80325128 00322068 40 82 00 0C */ bne lbl_80325134
/* 8032512C 0032206C 38 80 00 00 */ li r4, 0
/* 80325130 00322070 48 00 00 1C */ b lbl_8032514C
lbl_80325134:
/* 80325134 00322074 80 9D 00 04 */ lwz r4, 4(r29)
/* 80325138 00322078 54 60 2A F4 */ rlwinm r0, r3, 5, 0xb, 0x1a
/* 8032513C 0032207C 7C 64 02 14 */ add r3, r4, r0
/* 80325140 00322080 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80325144 00322084 7C 03 02 14 */ add r0, r3, r0
/* 80325148 00322088 54 04 D9 7E */ srwi r4, r0, 5
lbl_8032514C:
/* 8032514C 0032208C 80 7E 00 04 */ lwz r3, 4(r30)
/* 80325150 00322090 38 03 FF FF */ addi r0, r3, -1
/* 80325154 00322094 7C 80 00 38 */ and r0, r4, r0
/* 80325158 00322098 80 7E 00 00 */ lwz r3, 0(r30)
/* 8032515C 0032209C 54 1D 10 3A */ slwi r29, r0, 2
/* 80325160 003220A0 7C 03 E8 2E */ lwzx r0, r3, r29
/* 80325164 003220A4 28 00 00 00 */ cmplwi r0, 0
/* 80325168 003220A8 40 82 00 10 */ bne lbl_80325178
/* 8032516C 003220AC 7F E3 E9 2E */ stwx r31, r3, r29
/* 80325170 003220B0 38 60 00 01 */ li r3, 1
/* 80325174 003220B4 48 00 00 58 */ b lbl_803251CC
lbl_80325178:
/* 80325178 003220B8 7C 1C 03 78 */ mr r28, r0
/* 8032517C 003220BC 48 00 00 30 */ b lbl_803251AC
lbl_80325180:
/* 80325180 003220C0 7F 83 E3 78 */ mr r3, r28
/* 80325184 003220C4 7F E4 FB 78 */ mr r4, r31
/* 80325188 003220C8 4B FE D8 ED */ bl J3DMatPacket_NS_isSame
/* 8032518C 003220CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80325190 003220D0 41 82 00 18 */ beq lbl_803251A8
/* 80325194 003220D4 7F 83 E3 78 */ mr r3, r28
/* 80325198 003220D8 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8032519C 003220DC 4B FE D8 69 */ bl J3DMatPacket_NS_addShapePacket
/* 803251A0 003220E0 38 60 00 00 */ li r3, 0
/* 803251A4 003220E4 48 00 00 28 */ b lbl_803251CC
lbl_803251A8:
/* 803251A8 003220E8 83 9C 00 04 */ lwz r28, 4(r28)
lbl_803251AC:
/* 803251AC 003220EC 28 1C 00 00 */ cmplwi r28, 0
/* 803251B0 003220F0 40 82 FF D0 */ bne lbl_80325180
/* 803251B4 003220F4 80 7E 00 00 */ lwz r3, 0(r30)
/* 803251B8 003220F8 7C 03 E8 2E */ lwzx r0, r3, r29
/* 803251BC 003220FC 90 1F 00 04 */ stw r0, 4(r31)
/* 803251C0 00322100 80 7E 00 00 */ lwz r3, 0(r30)
/* 803251C4 00322104 7F E3 E9 2E */ stwx r31, r3, r29
/* 803251C8 00322108 38 60 00 01 */ li r3, 1
lbl_803251CC:
/* 803251CC 0032210C 39 61 00 20 */ addi r11, r1, 0x20
/* 803251D0 00322110 48 03 D0 55 */ bl func_80362224
/* 803251D4 00322114 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803251D8 00322118 7C 08 03 A6 */ mtlr r0
/* 803251DC 0032211C 38 21 00 20 */ addi r1, r1, 0x20
/* 803251E0 00322120 4E 80 00 20 */ blr
/* 803251E4 00322124 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803251E8 00322128 7C 08 02 A6 */ mflr r0
/* 803251EC 0032212C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803251F0 00322130 81 04 00 3C */ lwz r8, 0x3c(r4)
/* 803251F4 00322134 80 A3 00 04 */ lwz r5, 4(r3)
/* 803251F8 00322138 38 05 FF FF */ addi r0, r5, -1
/* 803251FC 0032213C 7D 06 00 38 */ and r6, r8, r0
/* 80325200 00322140 28 08 00 00 */ cmplwi r8, 0
/* 80325204 00322144 40 82 00 0C */ bne lbl_80325210
/* 80325208 00322148 4B FF FE 95 */ bl J3DDrawBuffer_NS_entryMatSort
/* 8032520C 0032214C 48 00 00 80 */ b lbl_8032528C
lbl_80325210:
/* 80325210 00322150 38 00 00 00 */ li r0, 0
/* 80325214 00322154 90 04 00 04 */ stw r0, 4(r4)
/* 80325218 00322158 90 04 00 08 */ stw r0, 8(r4)
/* 8032521C 0032215C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325220 00322160 90 05 00 04 */ stw r0, 4(r5)
/* 80325224 00322164 90 05 00 08 */ stw r0, 8(r5)
/* 80325228 00322168 80 A3 00 00 */ lwz r5, 0(r3)
/* 8032522C 0032216C 54 C7 10 3A */ slwi r7, r6, 2
/* 80325230 00322170 7C C5 38 2E */ lwzx r6, r5, r7
/* 80325234 00322174 28 06 00 00 */ cmplwi r6, 0
/* 80325238 00322178 40 82 00 10 */ bne lbl_80325248
/* 8032523C 0032217C 7C 85 39 2E */ stwx r4, r5, r7
/* 80325240 00322180 38 60 00 01 */ li r3, 1
/* 80325244 00322184 48 00 00 48 */ b lbl_8032528C
lbl_80325248:
/* 80325248 00322188 7C C5 33 78 */ mr r5, r6
/* 8032524C 0032218C 48 00 00 28 */ b lbl_80325274
lbl_80325250:
/* 80325250 00322190 80 05 00 3C */ lwz r0, 0x3c(r5)
/* 80325254 00322194 7C 00 40 40 */ cmplw r0, r8
/* 80325258 00322198 40 82 00 18 */ bne lbl_80325270
/* 8032525C 0032219C 7C A3 2B 78 */ mr r3, r5
/* 80325260 003221A0 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80325264 003221A4 4B FE D7 A1 */ bl J3DMatPacket_NS_addShapePacket
/* 80325268 003221A8 38 60 00 00 */ li r3, 0
/* 8032526C 003221AC 48 00 00 20 */ b lbl_8032528C
lbl_80325270:
/* 80325270 003221B0 80 A5 00 04 */ lwz r5, 4(r5)
lbl_80325274:
/* 80325274 003221B4 28 05 00 00 */ cmplwi r5, 0
/* 80325278 003221B8 40 82 FF D8 */ bne lbl_80325250
/* 8032527C 003221BC 90 C4 00 04 */ stw r6, 4(r4)
/* 80325280 003221C0 80 63 00 00 */ lwz r3, 0(r3)
/* 80325284 003221C4 7C 83 39 2E */ stwx r4, r3, r7
/* 80325288 003221C8 38 60 00 01 */ li r3, 1
lbl_8032528C:
/* 8032528C 003221CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325290 003221D0 7C 08 03 A6 */ mtlr r0
/* 80325294 003221D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80325298 003221D8 4E 80 00 20 */ blr
/* 8032529C 003221DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803252A0 003221E0 7C 08 02 A6 */ mflr r0
/* 803252A4 003221E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 803252A8 003221E8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803252AC 003221EC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803252B0 003221F0 7C 7E 1B 78 */ mr r30, r3
/* 803252B4 003221F4 7C 9F 23 78 */ mr r31, r4
/* 803252B8 003221F8 38 00 00 00 */ li r0, 0
/* 803252BC 003221FC 90 04 00 04 */ stw r0, 4(r4)
/* 803252C0 00322200 90 04 00 08 */ stw r0, 8(r4)
/* 803252C4 00322204 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 803252C8 00322208 90 03 00 04 */ stw r0, 4(r3)
/* 803252CC 0032220C 90 03 00 08 */ stw r0, 8(r3)
/* 803252D0 00322210 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 803252D4 00322214 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 803252D8 00322218 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 803252DC 0032221C C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 803252E0 00322220 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 803252E4 00322224 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 803252E8 00322228 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 803252EC 0032222C 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803252F0 00322230 80 01 00 18 */ lwz r0, 0x18(r1)
/* 803252F4 00322234 90 61 00 08 */ stw r3, 8(r1)
/* 803252F8 00322238 90 01 00 0C */ stw r0, 0xc(r1)
/* 803252FC 0032223C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80325300 00322240 90 01 00 10 */ stw r0, 0x10(r1)
/* 80325304 00322244 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80325308 00322248 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 8032530C 0032224C C0 22 CA 00 */ lfs f1, lbl_80456400-_SDA2_BASE_(r2)
/* 80325310 00322250 E0 01 00 08 */ psq_l f0, 8(r1), 0, qr0
/* 80325314 00322254 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 80325318 00322258 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8032531C 0032225C E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
/* 80325320 00322260 10 42 0C 20 */ ps_merge00 f2, f2, f1
/* 80325324 00322264 10 80 01 32 */ ps_mul f4, f0, f4
/* 80325328 00322268 10 62 20 FA */ ps_madd f3, f2, f3, f4
/* 8032532C 0032226C 10 63 18 D4 */ ps_sum0 f3, f3, f3, f3
/* 80325330 00322270 FC 40 18 50 */ fneg f2, f3
/* 80325334 00322274 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 80325338 00322278 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 8032533C 0032227C EC 00 08 2A */ fadds f0, f0, f1
/* 80325340 00322280 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80325344 00322284 40 80 00 2C */ bge lbl_80325370
/* 80325348 00322288 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8032534C 0032228C EC 00 08 28 */ fsubs f0, f0, f1
/* 80325350 00322290 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80325354 00322294 40 81 00 10 */ ble lbl_80325364
/* 80325358 00322298 EC 22 08 24 */ fdivs f1, f2, f1
/* 8032535C 0032229C 48 03 CD 51 */ bl func_803620AC
/* 80325360 003222A0 48 00 00 14 */ b lbl_80325374
lbl_80325364:
/* 80325364 003222A4 80 7E 00 04 */ lwz r3, 4(r30)
/* 80325368 003222A8 38 63 FF FF */ addi r3, r3, -1
/* 8032536C 003222AC 48 00 00 08 */ b lbl_80325374
lbl_80325370:
/* 80325370 003222B0 38 60 00 00 */ li r3, 0
lbl_80325374:
/* 80325374 003222B4 80 9E 00 04 */ lwz r4, 4(r30)
/* 80325378 003222B8 38 04 FF FF */ addi r0, r4, -1
/* 8032537C 003222BC 7C 03 00 50 */ subf r0, r3, r0
/* 80325380 003222C0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80325384 003222C4 54 04 10 3A */ slwi r4, r0, 2
/* 80325388 003222C8 7C 03 20 2E */ lwzx r0, r3, r4
/* 8032538C 003222CC 90 1F 00 04 */ stw r0, 4(r31)
/* 80325390 003222D0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80325394 003222D4 7F E3 21 2E */ stwx r31, r3, r4
/* 80325398 003222D8 38 60 00 01 */ li r3, 1
/* 8032539C 003222DC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803253A0 003222E0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803253A4 003222E4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803253A8 003222E8 7C 08 03 A6 */ mtlr r0
/* 803253AC 003222EC 38 21 00 30 */ addi r1, r1, 0x30
/* 803253B0 003222F0 4E 80 00 20 */ blr
/* 803253B4 003222F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803253B8 003222F8 7C 08 02 A6 */ mflr r0
/* 803253BC 003222FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803253C0 00322300 38 00 00 00 */ li r0, 0
/* 803253C4 00322304 90 04 00 04 */ stw r0, 4(r4)
/* 803253C8 00322308 90 04 00 08 */ stw r0, 8(r4)
/* 803253CC 0032230C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 803253D0 00322310 90 05 00 04 */ stw r0, 4(r5)
/* 803253D4 00322314 90 05 00 08 */ stw r0, 8(r5)
/* 803253D8 00322318 80 63 00 20 */ lwz r3, 0x20(r3)
/* 803253DC 0032231C 28 03 00 00 */ cmplwi r3, 0
/* 803253E0 00322320 41 82 00 10 */ beq lbl_803253F0
/* 803253E4 00322324 4B FE D3 75 */ bl J3DPacket_NS_addChildPacket
/* 803253E8 00322328 38 60 00 01 */ li r3, 1
/* 803253EC 0032232C 48 00 00 08 */ b lbl_803253F4
lbl_803253F0:
/* 803253F0 00322330 38 60 00 00 */ li r3, 0
lbl_803253F4:
/* 803253F4 00322334 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803253F8 00322338 7C 08 03 A6 */ mtlr r0
/* 803253FC 0032233C 38 21 00 10 */ addi r1, r1, 0x10
/* 80325400 00322340 4E 80 00 20 */ blr
/* 80325404 00322344 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325408 00322348 7C 08 02 A6 */ mflr r0
/* 8032540C 0032234C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325410 00322350 38 00 00 00 */ li r0, 0
/* 80325414 00322354 90 04 00 04 */ stw r0, 4(r4)
/* 80325418 00322358 90 04 00 08 */ stw r0, 8(r4)
/* 8032541C 0032235C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325420 00322360 90 05 00 04 */ stw r0, 4(r5)
/* 80325424 00322364 90 05 00 08 */ stw r0, 8(r5)
/* 80325428 00322368 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8032542C 0032236C 28 03 00 00 */ cmplwi r3, 0
/* 80325430 00322370 41 82 00 14 */ beq lbl_80325444
/* 80325434 00322374 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80325438 00322378 4B FE D3 21 */ bl J3DPacket_NS_addChildPacket
/* 8032543C 0032237C 38 60 00 01 */ li r3, 1
/* 80325440 00322380 48 00 00 08 */ b lbl_80325448
lbl_80325444:
/* 80325444 00322384 38 60 00 00 */ li r3, 0
lbl_80325448:
/* 80325448 00322388 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032544C 0032238C 7C 08 03 A6 */ mtlr r0
/* 80325450 00322390 38 21 00 10 */ addi r1, r1, 0x10
/* 80325454 00322394 4E 80 00 20 */ blr
/* 80325458 00322398 38 00 00 00 */ li r0, 0
/* 8032545C 0032239C 90 04 00 04 */ stw r0, 4(r4)
/* 80325460 003223A0 90 04 00 08 */ stw r0, 8(r4)
/* 80325464 003223A4 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325468 003223A8 90 05 00 04 */ stw r0, 4(r5)
/* 8032546C 003223AC 90 05 00 08 */ stw r0, 8(r5)
/* 80325470 003223B0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80325474 003223B4 80 05 00 00 */ lwz r0, 0(r5)
/* 80325478 003223B8 90 04 00 04 */ stw r0, 4(r4)
/* 8032547C 003223BC 80 63 00 00 */ lwz r3, 0(r3)
/* 80325480 003223C0 90 83 00 00 */ stw r4, 0(r3)
/* 80325484 003223C4 38 60 00 01 */ li r3, 1
/* 80325488 003223C8 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_entryImm
J3DDrawBuffer_NS_entryImm:
/* 8032548C 003223CC 80 C3 00 00 */ lwz r6, 0(r3)
/* 80325490 003223D0 54 A5 13 BA */ rlwinm r5, r5, 2, 0xe, 0x1d
/* 80325494 003223D4 7C 06 28 2E */ lwzx r0, r6, r5
/* 80325498 003223D8 90 04 00 04 */ stw r0, 4(r4)
/* 8032549C 003223DC 80 63 00 00 */ lwz r3, 0(r3)
/* 803254A0 003223E0 7C 83 29 2E */ stwx r4, r3, r5
/* 803254A4 003223E4 38 60 00 01 */ li r3, 1
/* 803254A8 003223E8 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_draw
J3DDrawBuffer_NS_draw:
/* 803254AC 003223EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803254B0 003223F0 7C 08 02 A6 */ mflr r0
/* 803254B4 003223F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803254B8 003223F8 80 03 00 08 */ lwz r0, 8(r3)
/* 803254BC 003223FC 1C A0 00 0C */ mulli r5, r0, 0xc
/* 803254C0 00322400 3C 80 80 3D */ lis r4, lbl_803CEC90@ha
/* 803254C4 00322404 38 04 EC 90 */ addi r0, r4, lbl_803CEC90@l
/* 803254C8 00322408 7C A0 2A 14 */ add r5, r0, r5
/* 803254CC 0032240C 80 85 00 00 */ lwz r4, 0(r5)
/* 803254D0 00322410 80 05 00 04 */ lwz r0, 4(r5)
/* 803254D4 00322414 90 81 00 08 */ stw r4, 8(r1)
/* 803254D8 00322418 90 01 00 0C */ stw r0, 0xc(r1)
/* 803254DC 0032241C 80 05 00 08 */ lwz r0, 8(r5)
/* 803254E0 00322420 90 01 00 10 */ stw r0, 0x10(r1)
/* 803254E4 00322424 39 81 00 08 */ addi r12, r1, 8
/* 803254E8 00322428 48 03 CB 9D */ bl func_80362084
/* 803254EC 0032242C 60 00 00 00 */ nop
/* 803254F0 00322430 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803254F4 00322434 7C 08 03 A6 */ mtlr r0
/* 803254F8 00322438 38 21 00 20 */ addi r1, r1, 0x20
/* 803254FC 0032243C 4E 80 00 20 */ blr
/* 80325500 00322440 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80325504 00322444 7C 08 02 A6 */ mflr r0
/* 80325508 00322448 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032550C 0032244C 39 61 00 20 */ addi r11, r1, 0x20
/* 80325510 00322450 48 03 CC C5 */ bl func_803621D4
/* 80325514 00322454 83 C3 00 04 */ lwz r30, 4(r3)
/* 80325518 00322458 83 A3 00 00 */ lwz r29, 0(r3)
/* 8032551C 0032245C 3B 80 00 00 */ li r28, 0
/* 80325520 00322460 3B E0 00 00 */ li r31, 0
/* 80325524 00322464 48 00 00 34 */ b lbl_80325558
lbl_80325528:
/* 80325528 00322468 7F 7D F8 2E */ lwzx r27, r29, r31
/* 8032552C 0032246C 48 00 00 1C */ b lbl_80325548
lbl_80325530:
/* 80325530 00322470 7F 63 DB 78 */ mr r3, r27
/* 80325534 00322474 81 9B 00 00 */ lwz r12, 0(r27)
/* 80325538 00322478 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8032553C 0032247C 7D 89 03 A6 */ mtctr r12
/* 80325540 00322480 4E 80 04 21 */ bctrl
/* 80325544 00322484 83 7B 00 04 */ lwz r27, 4(r27)
lbl_80325548:
/* 80325548 00322488 28 1B 00 00 */ cmplwi r27, 0
/* 8032554C 0032248C 40 82 FF E4 */ bne lbl_80325530
/* 80325550 00322490 3B 9C 00 01 */ addi r28, r28, 1
/* 80325554 00322494 3B FF 00 04 */ addi r31, r31, 4
lbl_80325558:
/* 80325558 00322498 7C 1C F0 40 */ cmplw r28, r30
/* 8032555C 0032249C 41 80 FF CC */ blt lbl_80325528
/* 80325560 003224A0 39 61 00 20 */ addi r11, r1, 0x20
/* 80325564 003224A4 48 03 CC BD */ bl func_80362220
/* 80325568 003224A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032556C 003224AC 7C 08 03 A6 */ mtlr r0
/* 80325570 003224B0 38 21 00 20 */ addi r1, r1, 0x20
/* 80325574 003224B4 4E 80 00 20 */ blr
/* 80325578 003224B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032557C 003224BC 7C 08 02 A6 */ mflr r0
/* 80325580 003224C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80325584 003224C4 39 61 00 20 */ addi r11, r1, 0x20
/* 80325588 003224C8 48 03 CC 51 */ bl func_803621D8
/* 8032558C 003224CC 80 83 00 04 */ lwz r4, 4(r3)
/* 80325590 003224D0 3B A4 FF FF */ addi r29, r4, -1
/* 80325594 003224D4 83 C3 00 00 */ lwz r30, 0(r3)
/* 80325598 003224D8 57 BF 10 3A */ slwi r31, r29, 2
/* 8032559C 003224DC 48 00 00 34 */ b lbl_803255D0
lbl_803255A0:
/* 803255A0 003224E0 7F 9E F8 2E */ lwzx r28, r30, r31
/* 803255A4 003224E4 48 00 00 1C */ b lbl_803255C0
lbl_803255A8:
/* 803255A8 003224E8 7F 83 E3 78 */ mr r3, r28
/* 803255AC 003224EC 81 9C 00 00 */ lwz r12, 0(r28)
/* 803255B0 003224F0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803255B4 003224F4 7D 89 03 A6 */ mtctr r12
/* 803255B8 003224F8 4E 80 04 21 */ bctrl
/* 803255BC 003224FC 83 9C 00 04 */ lwz r28, 4(r28)
lbl_803255C0:
/* 803255C0 00322500 28 1C 00 00 */ cmplwi r28, 0
/* 803255C4 00322504 40 82 FF E4 */ bne lbl_803255A8
/* 803255C8 00322508 3B BD FF FF */ addi r29, r29, -1
/* 803255CC 0032250C 3B FF FF FC */ addi r31, r31, -4
lbl_803255D0:
/* 803255D0 00322510 2C 1D 00 00 */ cmpwi r29, 0
/* 803255D4 00322514 40 80 FF CC */ bge lbl_803255A0
/* 803255D8 00322518 39 61 00 20 */ addi r11, r1, 0x20
/* 803255DC 0032251C 48 03 CC 49 */ bl func_80362224
/* 803255E0 00322520 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803255E4 00322524 7C 08 03 A6 */ mtlr r0
/* 803255E8 00322528 38 21 00 20 */ addi r1, r1, 0x20
/* 803255EC 0032252C 4E 80 00 20 */ blr
/* 803255F0 00322530 3C 60 80 3D */ lis r3, lbl_803CEBE8@ha
/* 803255F4 00322534 38 A3 EB E8 */ addi r5, r3, lbl_803CEBE8@l
/* 803255F8 00322538 80 65 00 00 */ lwz r3, 0(r5)
/* 803255FC 0032253C 80 05 00 04 */ lwz r0, 4(r5)
/* 80325600 00322540 90 65 00 48 */ stw r3, 0x48(r5)
/* 80325604 00322544 90 05 00 4C */ stw r0, 0x4c(r5)
/* 80325608 00322548 80 05 00 08 */ lwz r0, 8(r5)
/* 8032560C 0032254C 90 05 00 50 */ stw r0, 0x50(r5)
/* 80325610 00322550 38 85 00 48 */ addi r4, r5, 0x48
/* 80325614 00322554 80 65 00 0C */ lwz r3, 0xc(r5)
/* 80325618 00322558 80 05 00 10 */ lwz r0, 0x10(r5)
/* 8032561C 0032255C 90 64 00 0C */ stw r3, 0xc(r4)
/* 80325620 00322560 90 04 00 10 */ stw r0, 0x10(r4)
/* 80325624 00322564 80 05 00 14 */ lwz r0, 0x14(r5)
/* 80325628 00322568 90 04 00 14 */ stw r0, 0x14(r4)
/* 8032562C 0032256C 80 65 00 18 */ lwz r3, 0x18(r5)
/* 80325630 00322570 80 05 00 1C */ lwz r0, 0x1c(r5)
/* 80325634 00322574 90 64 00 18 */ stw r3, 0x18(r4)
/* 80325638 00322578 90 04 00 1C */ stw r0, 0x1c(r4)
/* 8032563C 0032257C 80 05 00 20 */ lwz r0, 0x20(r5)
/* 80325640 00322580 90 04 00 20 */ stw r0, 0x20(r4)
/* 80325644 00322584 80 65 00 24 */ lwz r3, 0x24(r5)
/* 80325648 00322588 80 05 00 28 */ lwz r0, 0x28(r5)
/* 8032564C 0032258C 90 64 00 24 */ stw r3, 0x24(r4)
/* 80325650 00322590 90 04 00 28 */ stw r0, 0x28(r4)
/* 80325654 00322594 80 05 00 2C */ lwz r0, 0x2c(r5)
/* 80325658 00322598 90 04 00 2C */ stw r0, 0x2c(r4)
/* 8032565C 0032259C 80 65 00 30 */ lwz r3, 0x30(r5)
/* 80325660 003225A0 80 05 00 34 */ lwz r0, 0x34(r5)
/* 80325664 003225A4 90 64 00 30 */ stw r3, 0x30(r4)
/* 80325668 003225A8 90 04 00 34 */ stw r0, 0x34(r4)
/* 8032566C 003225AC 80 05 00 38 */ lwz r0, 0x38(r5)
/* 80325670 003225B0 90 04 00 38 */ stw r0, 0x38(r4)
/* 80325674 003225B4 80 65 00 3C */ lwz r3, 0x3c(r5)
/* 80325678 003225B8 80 05 00 40 */ lwz r0, 0x40(r5)
/* 8032567C 003225BC 90 64 00 3C */ stw r3, 0x3c(r4)
/* 80325680 003225C0 90 04 00 40 */ stw r0, 0x40(r4)
/* 80325684 003225C4 80 05 00 44 */ lwz r0, 0x44(r5)
/* 80325688 003225C8 90 04 00 44 */ stw r0, 0x44(r4)
/* 8032568C 003225CC 80 65 00 90 */ lwz r3, 0x90(r5)
/* 80325690 003225D0 80 05 00 94 */ lwz r0, 0x94(r5)
/* 80325694 003225D4 90 65 00 A8 */ stw r3, 0xa8(r5)
/* 80325698 003225D8 90 05 00 AC */ stw r0, 0xac(r5)
/* 8032569C 003225DC 80 05 00 98 */ lwz r0, 0x98(r5)
/* 803256A0 003225E0 90 05 00 B0 */ stw r0, 0xb0(r5)
/* 803256A4 003225E4 38 85 00 A8 */ addi r4, r5, 0xa8
/* 803256A8 003225E8 80 65 00 9C */ lwz r3, 0x9c(r5)
/* 803256AC 003225EC 80 05 00 A0 */ lwz r0, 0xa0(r5)
/* 803256B0 003225F0 90 64 00 0C */ stw r3, 0xc(r4)
/* 803256B4 003225F4 90 04 00 10 */ stw r0, 0x10(r4)
/* 803256B8 003225F8 80 05 00 A4 */ lwz r0, 0xa4(r5)
/* 803256BC 003225FC 90 04 00 14 */ stw r0, 0x14(r4)
/* 803256C0 00322600 4E 80 00 20 */ blr
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+912
View File
@@ -0,0 +1,912 @@
.include "macros.inc"
.section .text, "ax" # 80312488
.global J3DDisplayListObj_NS_newDisplayList
J3DDisplayListObj_NS_newDisplayList:
/* 80312488 0030F3C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031248C 0030F3CC 7C 08 02 A6 */ mflr r0
/* 80312490 0030F3D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312494 0030F3D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312498 0030F3D8 7C 7F 1B 78 */ mr r31, r3
/* 8031249C 0030F3DC 38 04 00 1F */ addi r0, r4, 0x1f
/* 803124A0 0030F3E0 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 803124A4 0030F3E4 90 03 00 0C */ stw r0, 0xc(r3)
/* 803124A8 0030F3E8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 803124AC 0030F3EC 38 80 00 20 */ li r4, 0x20
/* 803124B0 0030F3F0 4B FB C8 3D */ bl __nwa_X1_
/* 803124B4 0030F3F4 90 7F 00 00 */ stw r3, 0(r31)
/* 803124B8 0030F3F8 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803124BC 0030F3FC 38 80 00 20 */ li r4, 0x20
/* 803124C0 0030F400 4B FB C8 2D */ bl __nwa_X1_
/* 803124C4 0030F404 90 7F 00 04 */ stw r3, 4(r31)
/* 803124C8 0030F408 38 00 00 00 */ li r0, 0
/* 803124CC 0030F40C 90 1F 00 08 */ stw r0, 8(r31)
/* 803124D0 0030F410 80 1F 00 00 */ lwz r0, 0(r31)
/* 803124D4 0030F414 28 00 00 00 */ cmplwi r0, 0
/* 803124D8 0030F418 41 82 00 10 */ beq lbl_803124E8
/* 803124DC 0030F41C 80 1F 00 04 */ lwz r0, 4(r31)
/* 803124E0 0030F420 28 00 00 00 */ cmplwi r0, 0
/* 803124E4 0030F424 40 82 00 0C */ bne lbl_803124F0
lbl_803124E8:
/* 803124E8 0030F428 38 60 00 04 */ li r3, 4
/* 803124EC 0030F42C 48 00 00 08 */ b lbl_803124F4
lbl_803124F0:
/* 803124F0 0030F430 38 60 00 00 */ li r3, 0
lbl_803124F4:
/* 803124F4 0030F434 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803124F8 0030F438 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803124FC 0030F43C 7C 08 03 A6 */ mtlr r0
/* 80312500 0030F440 38 21 00 10 */ addi r1, r1, 0x10
/* 80312504 0030F444 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_newSingleDisplayList
J3DDisplayListObj_NS_newSingleDisplayList:
/* 80312508 0030F448 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031250C 0030F44C 7C 08 02 A6 */ mflr r0
/* 80312510 0030F450 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312514 0030F454 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312518 0030F458 7C 7F 1B 78 */ mr r31, r3
/* 8031251C 0030F45C 38 04 00 1F */ addi r0, r4, 0x1f
/* 80312520 0030F460 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 80312524 0030F464 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312528 0030F468 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8031252C 0030F46C 38 80 00 20 */ li r4, 0x20
/* 80312530 0030F470 4B FB C7 BD */ bl __nwa_X1_
/* 80312534 0030F474 90 7F 00 00 */ stw r3, 0(r31)
/* 80312538 0030F478 80 1F 00 00 */ lwz r0, 0(r31)
/* 8031253C 0030F47C 90 1F 00 04 */ stw r0, 4(r31)
/* 80312540 0030F480 38 60 00 00 */ li r3, 0
/* 80312544 0030F484 90 7F 00 08 */ stw r3, 8(r31)
/* 80312548 0030F488 80 1F 00 00 */ lwz r0, 0(r31)
/* 8031254C 0030F48C 28 00 00 00 */ cmplwi r0, 0
/* 80312550 0030F490 40 82 00 08 */ bne lbl_80312558
/* 80312554 0030F494 38 60 00 04 */ li r3, 4
lbl_80312558:
/* 80312558 0030F498 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031255C 0030F49C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312560 0030F4A0 7C 08 03 A6 */ mtlr r0
/* 80312564 0030F4A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80312568 0030F4A8 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_single_To_Double
J3DDisplayListObj_NS_single_To_Double:
/* 8031256C 0030F4AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312570 0030F4B0 7C 08 02 A6 */ mflr r0
/* 80312574 0030F4B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312578 0030F4B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8031257C 0030F4BC 7C 7F 1B 78 */ mr r31, r3
/* 80312580 0030F4C0 80 63 00 00 */ lwz r3, 0(r3)
/* 80312584 0030F4C4 80 1F 00 04 */ lwz r0, 4(r31)
/* 80312588 0030F4C8 7C 03 00 40 */ cmplw r3, r0
/* 8031258C 0030F4CC 40 82 00 40 */ bne lbl_803125CC
/* 80312590 0030F4D0 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80312594 0030F4D4 38 80 00 20 */ li r4, 0x20
/* 80312598 0030F4D8 4B FB C7 55 */ bl __nwa_X1_
/* 8031259C 0030F4DC 90 7F 00 04 */ stw r3, 4(r31)
/* 803125A0 0030F4E0 80 7F 00 04 */ lwz r3, 4(r31)
/* 803125A4 0030F4E4 28 03 00 00 */ cmplwi r3, 0
/* 803125A8 0030F4E8 40 82 00 0C */ bne lbl_803125B4
/* 803125AC 0030F4EC 38 60 00 04 */ li r3, 4
/* 803125B0 0030F4F0 48 00 00 20 */ b lbl_803125D0
lbl_803125B4:
/* 803125B4 0030F4F4 80 9F 00 00 */ lwz r4, 0(r31)
/* 803125B8 0030F4F8 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 803125BC 0030F4FC 4B CF 0F 85 */ bl func_80003540
/* 803125C0 0030F500 80 7F 00 04 */ lwz r3, 4(r31)
/* 803125C4 0030F504 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803125C8 0030F508 48 02 90 15 */ bl DCStoreRange
lbl_803125CC:
/* 803125CC 0030F50C 38 60 00 00 */ li r3, 0
lbl_803125D0:
/* 803125D0 0030F510 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803125D4 0030F514 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803125D8 0030F518 7C 08 03 A6 */ mtlr r0
/* 803125DC 0030F51C 38 21 00 10 */ addi r1, r1, 0x10
/* 803125E0 0030F520 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_setSingleDisplayList
J3DDisplayListObj_NS_setSingleDisplayList:
/* 803125E4 0030F524 38 05 00 1F */ addi r0, r5, 0x1f
/* 803125E8 0030F528 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 803125EC 0030F52C 90 03 00 0C */ stw r0, 0xc(r3)
/* 803125F0 0030F530 90 83 00 00 */ stw r4, 0(r3)
/* 803125F4 0030F534 80 03 00 00 */ lwz r0, 0(r3)
/* 803125F8 0030F538 90 03 00 04 */ stw r0, 4(r3)
/* 803125FC 0030F53C 90 A3 00 08 */ stw r5, 8(r3)
/* 80312600 0030F540 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_swapBuffer
J3DDisplayListObj_NS_swapBuffer:
/* 80312604 0030F544 80 83 00 00 */ lwz r4, 0(r3)
/* 80312608 0030F548 80 03 00 04 */ lwz r0, 4(r3)
/* 8031260C 0030F54C 90 03 00 00 */ stw r0, 0(r3)
/* 80312610 0030F550 90 83 00 04 */ stw r4, 4(r3)
/* 80312614 0030F554 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_callDL
J3DDisplayListObj_NS_callDL:
/* 80312618 0030F558 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031261C 0030F55C 7C 08 02 A6 */ mflr r0
/* 80312620 0030F560 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312624 0030F564 7C 64 1B 78 */ mr r4, r3
/* 80312628 0030F568 80 63 00 00 */ lwz r3, 0(r3)
/* 8031262C 0030F56C 80 84 00 08 */ lwz r4, 8(r4)
/* 80312630 0030F570 48 04 D8 C1 */ bl GXCallDisplayList
/* 80312634 0030F574 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312638 0030F578 7C 08 03 A6 */ mtlr r0
/* 8031263C 0030F57C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312640 0030F580 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_beginDL
J3DDisplayListObj_NS_beginDL:
/* 80312644 0030F584 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312648 0030F588 7C 08 02 A6 */ mflr r0
/* 8031264C 0030F58C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312650 0030F590 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312654 0030F594 7C 7F 1B 78 */ mr r31, r3
/* 80312658 0030F598 4B FF FF AD */ bl J3DDisplayListObj_NS_swapBuffer
/* 8031265C 0030F59C 48 02 B0 99 */ bl __RAS_OSDisableInterrupts_begin
/* 80312660 0030F5A0 90 6D 90 20 */ stw r3, lbl_804515A0-_SDA_BASE_(r13)
/* 80312664 0030F5A4 3C 60 80 43 */ lis r3, lbl_80434C70@ha
/* 80312668 0030F5A8 38 63 4C 70 */ addi r3, r3, lbl_80434C70@l
/* 8031266C 0030F5AC 80 9F 00 00 */ lwz r4, 0(r31)
/* 80312670 0030F5B0 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80312674 0030F5B4 48 04 E9 25 */ bl GDInitGDLObj
/* 80312678 0030F5B8 3C 60 80 43 */ lis r3, lbl_80434C70@ha
/* 8031267C 0030F5BC 38 03 4C 70 */ addi r0, r3, lbl_80434C70@l
/* 80312680 0030F5C0 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 80312684 0030F5C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312688 0030F5C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031268C 0030F5CC 7C 08 03 A6 */ mtlr r0
/* 80312690 0030F5D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80312694 0030F5D4 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_endDL
J3DDisplayListObj_NS_endDL:
/* 80312698 0030F5D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031269C 0030F5DC 7C 08 02 A6 */ mflr r0
/* 803126A0 0030F5E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803126A4 0030F5E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803126A8 0030F5E8 7C 7F 1B 78 */ mr r31, r3
/* 803126AC 0030F5EC 48 04 E9 31 */ bl GDPadCurr32
/* 803126B0 0030F5F0 80 6D 90 20 */ lwz r3, lbl_804515A0-_SDA_BASE_(r13)
/* 803126B4 0030F5F4 48 02 B0 69 */ bl OSRestoreInterrupts
/* 803126B8 0030F5F8 3C 60 80 43 */ lis r3, lbl_80434C70@ha
/* 803126BC 0030F5FC 38 83 4C 70 */ addi r4, r3, lbl_80434C70@l
/* 803126C0 0030F600 80 64 00 00 */ lwz r3, 0(r4)
/* 803126C4 0030F604 80 04 00 08 */ lwz r0, 8(r4)
/* 803126C8 0030F608 7C 03 00 50 */ subf r0, r3, r0
/* 803126CC 0030F60C 90 1F 00 08 */ stw r0, 8(r31)
/* 803126D0 0030F610 48 04 E8 E1 */ bl GDFlushCurrToMem
/* 803126D4 0030F614 38 00 00 00 */ li r0, 0
/* 803126D8 0030F618 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 803126DC 0030F61C 80 7F 00 08 */ lwz r3, 8(r31)
/* 803126E0 0030F620 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803126E4 0030F624 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803126E8 0030F628 7C 08 03 A6 */ mtlr r0
/* 803126EC 0030F62C 38 21 00 10 */ addi r1, r1, 0x10
/* 803126F0 0030F630 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_beginPatch
J3DDisplayListObj_NS_beginPatch:
/* 803126F4 0030F634 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803126F8 0030F638 7C 08 02 A6 */ mflr r0
/* 803126FC 0030F63C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312700 0030F640 4B FF FF 45 */ bl J3DDisplayListObj_NS_beginDL
/* 80312704 0030F644 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312708 0030F648 7C 08 03 A6 */ mtlr r0
/* 8031270C 0030F64C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312710 0030F650 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_endPatch
J3DDisplayListObj_NS_endPatch:
/* 80312714 0030F654 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312718 0030F658 7C 08 02 A6 */ mflr r0
/* 8031271C 0030F65C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312720 0030F660 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312724 0030F664 7C 7F 1B 78 */ mr r31, r3
/* 80312728 0030F668 80 6D 90 20 */ lwz r3, lbl_804515A0-_SDA_BASE_(r13)
/* 8031272C 0030F66C 48 02 AF F1 */ bl OSRestoreInterrupts
/* 80312730 0030F670 38 00 00 00 */ li r0, 0
/* 80312734 0030F674 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 80312738 0030F678 80 7F 00 08 */ lwz r3, 8(r31)
/* 8031273C 0030F67C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312740 0030F680 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312744 0030F684 7C 08 03 A6 */ mtlr r0
/* 80312748 0030F688 38 21 00 10 */ addi r1, r1, 0x10
/* 8031274C 0030F68C 4E 80 00 20 */ blr
/* 80312750 0030F690 38 60 00 01 */ li r3, 1
/* 80312754 0030F694 4E 80 00 20 */ blr
.global J3DPacket_NS_addChildPacket
J3DPacket_NS_addChildPacket:
/* 80312758 0030F698 80 03 00 08 */ lwz r0, 8(r3)
/* 8031275C 0030F69C 28 00 00 00 */ cmplwi r0, 0
/* 80312760 0030F6A0 40 82 00 0C */ bne lbl_8031276C
/* 80312764 0030F6A4 90 83 00 08 */ stw r4, 8(r3)
/* 80312768 0030F6A8 4E 80 00 20 */ blr
lbl_8031276C:
/* 8031276C 0030F6AC 90 04 00 04 */ stw r0, 4(r4)
/* 80312770 0030F6B0 90 83 00 08 */ stw r4, 8(r3)
/* 80312774 0030F6B4 4E 80 00 20 */ blr
.global J3DDrawPacket
J3DDrawPacket:
/* 80312778 0030F6B8 3C 80 80 3D */ lis r4, lbl_803CD97C@ha
/* 8031277C 0030F6BC 38 04 D9 7C */ addi r0, r4, lbl_803CD97C@l
/* 80312780 0030F6C0 90 03 00 00 */ stw r0, 0(r3)
/* 80312784 0030F6C4 38 A0 00 00 */ li r5, 0
/* 80312788 0030F6C8 90 A3 00 04 */ stw r5, 4(r3)
/* 8031278C 0030F6CC 90 A3 00 08 */ stw r5, 8(r3)
/* 80312790 0030F6D0 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80312794 0030F6D4 3C 80 80 3D */ lis r4, lbl_803CD968@ha
/* 80312798 0030F6D8 38 04 D9 68 */ addi r0, r4, lbl_803CD968@l
/* 8031279C 0030F6DC 90 03 00 00 */ stw r0, 0(r3)
/* 803127A0 0030F6E0 90 A3 00 10 */ stw r5, 0x10(r3)
/* 803127A4 0030F6E4 90 A3 00 20 */ stw r5, 0x20(r3)
/* 803127A8 0030F6E8 90 A3 00 24 */ stw r5, 0x24(r3)
/* 803127AC 0030F6EC 4E 80 00 20 */ blr
.global J3DDrawPacket_NS_dtor
J3DDrawPacket_NS_dtor:
/* 803127B0 0030F6F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803127B4 0030F6F4 7C 08 02 A6 */ mflr r0
/* 803127B8 0030F6F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 803127BC 0030F6FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803127C0 0030F700 7C 7F 1B 79 */ or. r31, r3, r3
/* 803127C4 0030F704 41 82 00 30 */ beq lbl_803127F4
/* 803127C8 0030F708 3C 60 80 3D */ lis r3, lbl_803CD968@ha
/* 803127CC 0030F70C 38 03 D9 68 */ addi r0, r3, lbl_803CD968@l
/* 803127D0 0030F710 90 1F 00 00 */ stw r0, 0(r31)
/* 803127D4 0030F714 41 82 00 10 */ beq lbl_803127E4
/* 803127D8 0030F718 3C 60 80 3D */ lis r3, lbl_803CD97C@ha
/* 803127DC 0030F71C 38 03 D9 7C */ addi r0, r3, lbl_803CD97C@l
/* 803127E0 0030F720 90 1F 00 00 */ stw r0, 0(r31)
lbl_803127E4:
/* 803127E4 0030F724 7C 80 07 35 */ extsh. r0, r4
/* 803127E8 0030F728 40 81 00 0C */ ble lbl_803127F4
/* 803127EC 0030F72C 7F E3 FB 78 */ mr r3, r31
/* 803127F0 0030F730 4B FB C5 4D */ bl __dl
lbl_803127F4:
/* 803127F4 0030F734 7F E3 FB 78 */ mr r3, r31
/* 803127F8 0030F738 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803127FC 0030F73C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312800 0030F740 7C 08 03 A6 */ mtlr r0
/* 80312804 0030F744 38 21 00 10 */ addi r1, r1, 0x10
/* 80312808 0030F748 4E 80 00 20 */ blr
.global J3DDrawPacket_NS_newDisplayList
J3DDrawPacket_NS_newDisplayList:
/* 8031280C 0030F74C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312810 0030F750 7C 08 02 A6 */ mflr r0
/* 80312814 0030F754 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312818 0030F758 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8031281C 0030F75C 93 C1 00 08 */ stw r30, 8(r1)
/* 80312820 0030F760 7C 7E 1B 78 */ mr r30, r3
/* 80312824 0030F764 7C 9F 23 78 */ mr r31, r4
/* 80312828 0030F768 38 60 00 10 */ li r3, 0x10
/* 8031282C 0030F76C 4B FB C4 21 */ bl __nw
/* 80312830 0030F770 28 03 00 00 */ cmplwi r3, 0
/* 80312834 0030F774 41 82 00 18 */ beq lbl_8031284C
/* 80312838 0030F778 38 00 00 00 */ li r0, 0
/* 8031283C 0030F77C 90 03 00 00 */ stw r0, 0(r3)
/* 80312840 0030F780 90 03 00 04 */ stw r0, 4(r3)
/* 80312844 0030F784 90 03 00 08 */ stw r0, 8(r3)
/* 80312848 0030F788 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8031284C:
/* 8031284C 0030F78C 90 7E 00 20 */ stw r3, 0x20(r30)
/* 80312850 0030F790 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80312854 0030F794 28 03 00 00 */ cmplwi r3, 0
/* 80312858 0030F798 40 82 00 0C */ bne lbl_80312864
/* 8031285C 0030F79C 38 60 00 04 */ li r3, 4
/* 80312860 0030F7A0 48 00 00 20 */ b lbl_80312880
lbl_80312864:
/* 80312864 0030F7A4 7F E4 FB 78 */ mr r4, r31
/* 80312868 0030F7A8 4B FF FC 21 */ bl J3DDisplayListObj_NS_newDisplayList
/* 8031286C 0030F7AC 2C 03 00 00 */ cmpwi r3, 0
/* 80312870 0030F7B0 38 00 00 00 */ li r0, 0
/* 80312874 0030F7B4 41 82 00 08 */ beq lbl_8031287C
/* 80312878 0030F7B8 7C 60 1B 78 */ mr r0, r3
lbl_8031287C:
/* 8031287C 0030F7BC 7C 03 03 78 */ mr r3, r0
lbl_80312880:
/* 80312880 0030F7C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312884 0030F7C4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312888 0030F7C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031288C 0030F7CC 7C 08 03 A6 */ mtlr r0
/* 80312890 0030F7D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80312894 0030F7D4 4E 80 00 20 */ blr
.global J3DDrawPacket_NS_newSingleDisplayList
J3DDrawPacket_NS_newSingleDisplayList:
/* 80312898 0030F7D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031289C 0030F7DC 7C 08 02 A6 */ mflr r0
/* 803128A0 0030F7E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803128A4 0030F7E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803128A8 0030F7E8 93 C1 00 08 */ stw r30, 8(r1)
/* 803128AC 0030F7EC 7C 7E 1B 78 */ mr r30, r3
/* 803128B0 0030F7F0 7C 9F 23 78 */ mr r31, r4
/* 803128B4 0030F7F4 38 60 00 10 */ li r3, 0x10
/* 803128B8 0030F7F8 4B FB C3 95 */ bl __nw
/* 803128BC 0030F7FC 28 03 00 00 */ cmplwi r3, 0
/* 803128C0 0030F800 41 82 00 18 */ beq lbl_803128D8
/* 803128C4 0030F804 38 00 00 00 */ li r0, 0
/* 803128C8 0030F808 90 03 00 00 */ stw r0, 0(r3)
/* 803128CC 0030F80C 90 03 00 04 */ stw r0, 4(r3)
/* 803128D0 0030F810 90 03 00 08 */ stw r0, 8(r3)
/* 803128D4 0030F814 90 03 00 0C */ stw r0, 0xc(r3)
lbl_803128D8:
/* 803128D8 0030F818 90 7E 00 20 */ stw r3, 0x20(r30)
/* 803128DC 0030F81C 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 803128E0 0030F820 28 03 00 00 */ cmplwi r3, 0
/* 803128E4 0030F824 40 82 00 0C */ bne lbl_803128F0
/* 803128E8 0030F828 38 60 00 04 */ li r3, 4
/* 803128EC 0030F82C 48 00 00 20 */ b lbl_8031290C
lbl_803128F0:
/* 803128F0 0030F830 7F E4 FB 78 */ mr r4, r31
/* 803128F4 0030F834 4B FF FC 15 */ bl J3DDisplayListObj_NS_newSingleDisplayList
/* 803128F8 0030F838 2C 03 00 00 */ cmpwi r3, 0
/* 803128FC 0030F83C 38 00 00 00 */ li r0, 0
/* 80312900 0030F840 41 82 00 08 */ beq lbl_80312908
/* 80312904 0030F844 7C 60 1B 78 */ mr r0, r3
lbl_80312908:
/* 80312908 0030F848 7C 03 03 78 */ mr r3, r0
lbl_8031290C:
/* 8031290C 0030F84C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312910 0030F850 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312914 0030F854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312918 0030F858 7C 08 03 A6 */ mtlr r0
/* 8031291C 0030F85C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312920 0030F860 4E 80 00 20 */ blr
/* 80312924 0030F864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312928 0030F868 7C 08 02 A6 */ mflr r0
/* 8031292C 0030F86C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312930 0030F870 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80312934 0030F874 4B FF FC E5 */ bl J3DDisplayListObj_NS_callDL
/* 80312938 0030F878 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031293C 0030F87C 7C 08 03 A6 */ mtlr r0
/* 80312940 0030F880 38 21 00 10 */ addi r1, r1, 0x10
/* 80312944 0030F884 4E 80 00 20 */ blr
.global J3DMatPacket
J3DMatPacket:
/* 80312948 0030F888 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031294C 0030F88C 7C 08 02 A6 */ mflr r0
/* 80312950 0030F890 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312954 0030F894 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312958 0030F898 7C 7F 1B 78 */ mr r31, r3
/* 8031295C 0030F89C 4B FF FE 1D */ bl J3DDrawPacket
/* 80312960 0030F8A0 3C 60 80 3D */ lis r3, lbl_803CD954@ha
/* 80312964 0030F8A4 38 03 D9 54 */ addi r0, r3, lbl_803CD954@l
/* 80312968 0030F8A8 90 1F 00 00 */ stw r0, 0(r31)
/* 8031296C 0030F8AC 38 60 00 00 */ li r3, 0
/* 80312970 0030F8B0 90 7F 00 28 */ stw r3, 0x28(r31)
/* 80312974 0030F8B4 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 80312978 0030F8B8 90 7F 00 30 */ stw r3, 0x30(r31)
/* 8031297C 0030F8BC 38 00 FF FF */ li r0, -1
/* 80312980 0030F8C0 90 1F 00 34 */ stw r0, 0x34(r31)
/* 80312984 0030F8C4 90 7F 00 38 */ stw r3, 0x38(r31)
/* 80312988 0030F8C8 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 8031298C 0030F8CC 7F E3 FB 78 */ mr r3, r31
/* 80312990 0030F8D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312994 0030F8D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312998 0030F8D8 7C 08 03 A6 */ mtlr r0
/* 8031299C 0030F8DC 38 21 00 10 */ addi r1, r1, 0x10
/* 803129A0 0030F8E0 4E 80 00 20 */ blr
.global J3DMatPacket_NS_dtor
J3DMatPacket_NS_dtor:
/* 803129A4 0030F8E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803129A8 0030F8E8 7C 08 02 A6 */ mflr r0
/* 803129AC 0030F8EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803129B0 0030F8F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803129B4 0030F8F4 93 C1 00 08 */ stw r30, 8(r1)
/* 803129B8 0030F8F8 7C 7E 1B 79 */ or. r30, r3, r3
/* 803129BC 0030F8FC 7C 9F 23 78 */ mr r31, r4
/* 803129C0 0030F900 41 82 00 28 */ beq lbl_803129E8
/* 803129C4 0030F904 3C 80 80 3D */ lis r4, lbl_803CD954@ha
/* 803129C8 0030F908 38 04 D9 54 */ addi r0, r4, lbl_803CD954@l
/* 803129CC 0030F90C 90 1E 00 00 */ stw r0, 0(r30)
/* 803129D0 0030F910 38 80 00 00 */ li r4, 0
/* 803129D4 0030F914 4B FF FD DD */ bl J3DDrawPacket_NS_dtor
/* 803129D8 0030F918 7F E0 07 35 */ extsh. r0, r31
/* 803129DC 0030F91C 40 81 00 0C */ ble lbl_803129E8
/* 803129E0 0030F920 7F C3 F3 78 */ mr r3, r30
/* 803129E4 0030F924 4B FB C3 59 */ bl __dl
lbl_803129E8:
/* 803129E8 0030F928 7F C3 F3 78 */ mr r3, r30
/* 803129EC 0030F92C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803129F0 0030F930 83 C1 00 08 */ lwz r30, 8(r1)
/* 803129F4 0030F934 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803129F8 0030F938 7C 08 03 A6 */ mtlr r0
/* 803129FC 0030F93C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312A00 0030F940 4E 80 00 20 */ blr
.global J3DMatPacket_NS_addShapePacket
J3DMatPacket_NS_addShapePacket:
/* 80312A04 0030F944 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80312A08 0030F948 28 00 00 00 */ cmplwi r0, 0
/* 80312A0C 0030F94C 40 82 00 0C */ bne lbl_80312A18
/* 80312A10 0030F950 90 83 00 2C */ stw r4, 0x2c(r3)
/* 80312A14 0030F954 4E 80 00 20 */ blr
lbl_80312A18:
/* 80312A18 0030F958 90 04 00 04 */ stw r0, 4(r4)
/* 80312A1C 0030F95C 90 83 00 2C */ stw r4, 0x2c(r3)
/* 80312A20 0030F960 4E 80 00 20 */ blr
.global J3DMatPacket_NS_beginDiff
J3DMatPacket_NS_beginDiff:
/* 80312A24 0030F964 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312A28 0030F968 7C 08 02 A6 */ mflr r0
/* 80312A2C 0030F96C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312A30 0030F970 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312A34 0030F974 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80312A38 0030F978 4B FF FC 0D */ bl J3DDisplayListObj_NS_beginDL
/* 80312A3C 0030F97C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312A40 0030F980 7C 08 03 A6 */ mtlr r0
/* 80312A44 0030F984 38 21 00 10 */ addi r1, r1, 0x10
/* 80312A48 0030F988 4E 80 00 20 */ blr
.global J3DMatPacket_NS_endDiff
J3DMatPacket_NS_endDiff:
/* 80312A4C 0030F98C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312A50 0030F990 7C 08 02 A6 */ mflr r0
/* 80312A54 0030F994 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312A58 0030F998 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312A5C 0030F99C 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80312A60 0030F9A0 4B FF FC 39 */ bl J3DDisplayListObj_NS_endDL
/* 80312A64 0030F9A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312A68 0030F9A8 7C 08 03 A6 */ mtlr r0
/* 80312A6C 0030F9AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80312A70 0030F9B0 4E 80 00 20 */ blr
.global J3DMatPacket_NS_isSame
J3DMatPacket_NS_isSame:
/* 80312A74 0030F9B4 38 A0 00 00 */ li r5, 0
/* 80312A78 0030F9B8 80 63 00 34 */ lwz r3, 0x34(r3)
/* 80312A7C 0030F9BC 80 04 00 34 */ lwz r0, 0x34(r4)
/* 80312A80 0030F9C0 7C 03 00 40 */ cmplw r3, r0
/* 80312A84 0030F9C4 40 82 00 10 */ bne lbl_80312A94
/* 80312A88 0030F9C8 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f
/* 80312A8C 0030F9CC 40 82 00 08 */ bne lbl_80312A94
/* 80312A90 0030F9D0 38 A0 00 01 */ li r5, 1
lbl_80312A94:
/* 80312A94 0030F9D4 7C A3 2B 78 */ mr r3, r5
/* 80312A98 0030F9D8 4E 80 00 20 */ blr
/* 80312A9C 0030F9DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312AA0 0030F9E0 7C 08 02 A6 */ mflr r0
/* 80312AA4 0030F9E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312AA8 0030F9E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312AAC 0030F9EC 7C 7F 1B 78 */ mr r31, r3
/* 80312AB0 0030F9F0 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80312AB4 0030F9F4 81 83 00 00 */ lwz r12, 0(r3)
/* 80312AB8 0030F9F8 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80312ABC 0030F9FC 7D 89 03 A6 */ mtctr r12
/* 80312AC0 0030FA00 4E 80 04 21 */ bctrl
/* 80312AC4 0030FA04 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80312AC8 0030FA08 4B FF FB 51 */ bl J3DDisplayListObj_NS_callDL
/* 80312ACC 0030FA0C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80312AD0 0030FA10 7C 7F 1B 78 */ mr r31, r3
/* 80312AD4 0030FA14 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312AD8 0030FA18 48 00 28 29 */ bl J3DShape_NS_loadPreDrawSetting
/* 80312ADC 0030FA1C 48 00 00 20 */ b lbl_80312AFC
lbl_80312AE0:
/* 80312AE0 0030FA20 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80312AE4 0030FA24 28 03 00 00 */ cmplwi r3, 0
/* 80312AE8 0030FA28 41 82 00 08 */ beq lbl_80312AF0
/* 80312AEC 0030FA2C 4B FF FB 2D */ bl J3DDisplayListObj_NS_callDL
lbl_80312AF0:
/* 80312AF0 0030FA30 7F E3 FB 78 */ mr r3, r31
/* 80312AF4 0030FA34 48 00 04 C9 */ bl J3DShapePacket_NS_drawFast
/* 80312AF8 0030FA38 83 FF 00 04 */ lwz r31, 4(r31)
lbl_80312AFC:
/* 80312AFC 0030FA3C 28 1F 00 00 */ cmplwi r31, 0
/* 80312B00 0030FA40 40 82 FF E0 */ bne lbl_80312AE0
/* 80312B04 0030FA44 38 00 00 00 */ li r0, 0
/* 80312B08 0030FA48 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80312B0C 0030FA4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312B10 0030FA50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312B14 0030FA54 7C 08 03 A6 */ mtlr r0
/* 80312B18 0030FA58 38 21 00 10 */ addi r1, r1, 0x10
/* 80312B1C 0030FA5C 4E 80 00 20 */ blr
.global J3DShapePacket
J3DShapePacket:
/* 80312B20 0030FA60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312B24 0030FA64 7C 08 02 A6 */ mflr r0
/* 80312B28 0030FA68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312B2C 0030FA6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312B30 0030FA70 7C 7F 1B 78 */ mr r31, r3
/* 80312B34 0030FA74 4B FF FC 45 */ bl J3DDrawPacket
/* 80312B38 0030FA78 3C 60 80 3D */ lis r3, lbl_803CD940@ha
/* 80312B3C 0030FA7C 38 03 D9 40 */ addi r0, r3, lbl_803CD940@l
/* 80312B40 0030FA80 90 1F 00 00 */ stw r0, 0(r31)
/* 80312B44 0030FA84 38 00 00 00 */ li r0, 0
/* 80312B48 0030FA88 90 1F 00 28 */ stw r0, 0x28(r31)
/* 80312B4C 0030FA8C 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 80312B50 0030FA90 90 1F 00 30 */ stw r0, 0x30(r31)
/* 80312B54 0030FA94 90 1F 00 34 */ stw r0, 0x34(r31)
/* 80312B58 0030FA98 90 1F 00 38 */ stw r0, 0x38(r31)
/* 80312B5C 0030FA9C 7F E3 FB 78 */ mr r3, r31
/* 80312B60 0030FAA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312B64 0030FAA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312B68 0030FAA8 7C 08 03 A6 */ mtlr r0
/* 80312B6C 0030FAAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80312B70 0030FAB0 4E 80 00 20 */ blr
.global J3DShapePacket_NS_dtor
J3DShapePacket_NS_dtor:
/* 80312B74 0030FAB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312B78 0030FAB8 7C 08 02 A6 */ mflr r0
/* 80312B7C 0030FABC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312B80 0030FAC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312B84 0030FAC4 93 C1 00 08 */ stw r30, 8(r1)
/* 80312B88 0030FAC8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80312B8C 0030FACC 7C 9F 23 78 */ mr r31, r4
/* 80312B90 0030FAD0 41 82 00 28 */ beq lbl_80312BB8
/* 80312B94 0030FAD4 3C 80 80 3D */ lis r4, lbl_803CD940@ha
/* 80312B98 0030FAD8 38 04 D9 40 */ addi r0, r4, lbl_803CD940@l
/* 80312B9C 0030FADC 90 1E 00 00 */ stw r0, 0(r30)
/* 80312BA0 0030FAE0 38 80 00 00 */ li r4, 0
/* 80312BA4 0030FAE4 4B FF FC 0D */ bl J3DDrawPacket_NS_dtor
/* 80312BA8 0030FAE8 7F E0 07 35 */ extsh. r0, r31
/* 80312BAC 0030FAEC 40 81 00 0C */ ble lbl_80312BB8
/* 80312BB0 0030FAF0 7F C3 F3 78 */ mr r3, r30
/* 80312BB4 0030FAF4 4B FB C1 89 */ bl __dl
lbl_80312BB8:
/* 80312BB8 0030FAF8 7F C3 F3 78 */ mr r3, r30
/* 80312BBC 0030FAFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312BC0 0030FB00 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312BC4 0030FB04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312BC8 0030FB08 7C 08 03 A6 */ mtlr r0
/* 80312BCC 0030FB0C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312BD0 0030FB10 4E 80 00 20 */ blr
.global J3DShapePacket_NS_calcDifferedBufferSize
J3DShapePacket_NS_calcDifferedBufferSize:
/* 80312BD4 0030FB14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80312BD8 0030FB18 7C 08 02 A6 */ mflr r0
/* 80312BDC 0030FB1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80312BE0 0030FB20 39 61 00 20 */ addi r11, r1, 0x20
/* 80312BE4 0030FB24 48 04 F5 F5 */ bl func_803621D8
/* 80312BE8 0030FB28 7C 7D 1B 78 */ mr r29, r3
/* 80312BEC 0030FB2C 7C 9E 23 78 */ mr r30, r4
/* 80312BF0 0030FB30 3B E0 00 00 */ li r31, 0
/* 80312BF4 0030FB34 38 60 00 00 */ li r3, 0
/* 80312BF8 0030FB38 3C 80 80 3D */ lis r4, lbl_803CD900@ha
/* 80312BFC 0030FB3C 38 A4 D9 00 */ addi r5, r4, lbl_803CD900@l
/* 80312C00 0030FB40 3C 80 80 3D */ lis r4, lbl_803CD920@ha
/* 80312C04 0030FB44 38 84 D9 20 */ addi r4, r4, lbl_803CD920@l
/* 80312C08 0030FB48 38 00 00 08 */ li r0, 8
/* 80312C0C 0030FB4C 7C 09 03 A6 */ mtctr r0
lbl_80312C10:
/* 80312C10 0030FB50 7C 05 18 2E */ lwzx r0, r5, r3
/* 80312C14 0030FB54 7F C0 00 39 */ and. r0, r30, r0
/* 80312C18 0030FB58 41 82 00 0C */ beq lbl_80312C24
/* 80312C1C 0030FB5C 7C 04 18 2E */ lwzx r0, r4, r3
/* 80312C20 0030FB60 7F FF 02 14 */ add r31, r31, r0
lbl_80312C24:
/* 80312C24 0030FB64 38 63 00 04 */ addi r3, r3, 4
/* 80312C28 0030FB68 42 00 FF E8 */ bdnz lbl_80312C10
/* 80312C2C 0030FB6C 57 C0 E7 3E */ rlwinm r0, r30, 0x1c, 0x1c, 0x1f
/* 80312C30 0030FB70 1C 00 00 48 */ mulli r0, r0, 0x48
/* 80312C34 0030FB74 7F FF 02 14 */ add r31, r31, r0
/* 80312C38 0030FB78 57 DC C7 3F */ rlwinm. r28, r30, 0x18, 0x1c, 0x1f
/* 80312C3C 0030FB7C 41 82 00 4C */ beq lbl_80312C88
/* 80312C40 0030FB80 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312C44 0030FB84 80 63 00 04 */ lwz r3, 4(r3)
/* 80312C48 0030FB88 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312C4C 0030FB8C 81 83 00 00 */ lwz r12, 0(r3)
/* 80312C50 0030FB90 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80312C54 0030FB94 7D 89 03 A6 */ mtctr r12
/* 80312C58 0030FB98 4E 80 04 21 */ bctrl
/* 80312C5C 0030FB9C 7C 1C 18 40 */ cmplw r28, r3
/* 80312C60 0030FBA0 40 81 00 08 */ ble lbl_80312C68
/* 80312C64 0030FBA4 7F 83 E3 78 */ mr r3, r28
lbl_80312C68:
/* 80312C68 0030FBA8 57 C0 04 E7 */ rlwinm. r0, r30, 0, 0x13, 0x13
/* 80312C6C 0030FBAC 41 82 00 14 */ beq lbl_80312C80
/* 80312C70 0030FBB0 1C 03 00 3D */ mulli r0, r3, 0x3d
/* 80312C74 0030FBB4 7F E0 FA 14 */ add r31, r0, r31
/* 80312C78 0030FBB8 3B FF 00 0A */ addi r31, r31, 0xa
/* 80312C7C 0030FBBC 48 00 00 0C */ b lbl_80312C88
lbl_80312C80:
/* 80312C80 0030FBC0 1C 03 00 35 */ mulli r0, r3, 0x35
/* 80312C84 0030FBC4 7F FF 02 14 */ add r31, r31, r0
lbl_80312C88:
/* 80312C88 0030FBC8 57 DC 87 3F */ rlwinm. r28, r30, 0x10, 0x1c, 0x1f
/* 80312C8C 0030FBCC 41 82 00 90 */ beq lbl_80312D1C
/* 80312C90 0030FBD0 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312C94 0030FBD4 80 63 00 04 */ lwz r3, 4(r3)
/* 80312C98 0030FBD8 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312C9C 0030FBDC 81 83 00 00 */ lwz r12, 0(r3)
/* 80312CA0 0030FBE0 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312CA4 0030FBE4 7D 89 03 A6 */ mtctr r12
/* 80312CA8 0030FBE8 4E 80 04 21 */ bctrl
/* 80312CAC 0030FBEC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312CB0 0030FBF0 28 00 00 08 */ cmplwi r0, 8
/* 80312CB4 0030FBF4 40 81 00 0C */ ble lbl_80312CC0
/* 80312CB8 0030FBF8 38 60 00 08 */ li r3, 8
/* 80312CBC 0030FBFC 48 00 00 20 */ b lbl_80312CDC
lbl_80312CC0:
/* 80312CC0 0030FC00 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312CC4 0030FC04 80 63 00 04 */ lwz r3, 4(r3)
/* 80312CC8 0030FC08 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312CCC 0030FC0C 81 83 00 00 */ lwz r12, 0(r3)
/* 80312CD0 0030FC10 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312CD4 0030FC14 7D 89 03 A6 */ mtctr r12
/* 80312CD8 0030FC18 4E 80 04 21 */ bctrl
lbl_80312CDC:
/* 80312CDC 0030FC1C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312CE0 0030FC20 7C 1C 00 40 */ cmplw r28, r0
/* 80312CE4 0030FC24 7C 03 03 78 */ mr r3, r0
/* 80312CE8 0030FC28 40 81 00 08 */ ble lbl_80312CF0
/* 80312CEC 0030FC2C 7F 83 E3 78 */ mr r3, r28
lbl_80312CF0:
/* 80312CF0 0030FC30 57 C0 01 4B */ rlwinm. r0, r30, 0, 5, 5
/* 80312CF4 0030FC34 41 82 00 20 */ beq lbl_80312D14
/* 80312CF8 0030FC38 1C 83 00 37 */ mulli r4, r3, 0x37
/* 80312CFC 0030FC3C 38 03 00 01 */ addi r0, r3, 1
/* 80312D00 0030FC40 54 00 F8 7E */ srwi r0, r0, 1
/* 80312D04 0030FC44 1C 00 00 37 */ mulli r0, r0, 0x37
/* 80312D08 0030FC48 7C 84 02 14 */ add r4, r4, r0
/* 80312D0C 0030FC4C 7F FF 22 14 */ add r31, r31, r4
/* 80312D10 0030FC50 48 00 00 0C */ b lbl_80312D1C
lbl_80312D14:
/* 80312D14 0030FC54 1C 03 00 37 */ mulli r0, r3, 0x37
/* 80312D18 0030FC58 7F FF 02 14 */ add r31, r31, r0
lbl_80312D1C:
/* 80312D1C 0030FC5C 57 DC 67 3F */ rlwinm. r28, r30, 0xc, 0x1c, 0x1f
/* 80312D20 0030FC60 41 82 00 7C */ beq lbl_80312D9C
/* 80312D24 0030FC64 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312D28 0030FC68 80 63 00 04 */ lwz r3, 4(r3)
/* 80312D2C 0030FC6C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312D30 0030FC70 81 83 00 00 */ lwz r12, 0(r3)
/* 80312D34 0030FC74 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312D38 0030FC78 7D 89 03 A6 */ mtctr r12
/* 80312D3C 0030FC7C 4E 80 04 21 */ bctrl
/* 80312D40 0030FC80 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312D44 0030FC84 28 00 00 08 */ cmplwi r0, 8
/* 80312D48 0030FC88 40 81 00 0C */ ble lbl_80312D54
/* 80312D4C 0030FC8C 38 60 00 08 */ li r3, 8
/* 80312D50 0030FC90 48 00 00 20 */ b lbl_80312D70
lbl_80312D54:
/* 80312D54 0030FC94 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312D58 0030FC98 80 63 00 04 */ lwz r3, 4(r3)
/* 80312D5C 0030FC9C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312D60 0030FCA0 81 83 00 00 */ lwz r12, 0(r3)
/* 80312D64 0030FCA4 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312D68 0030FCA8 7D 89 03 A6 */ mtctr r12
/* 80312D6C 0030FCAC 4E 80 04 21 */ bctrl
lbl_80312D70:
/* 80312D70 0030FCB0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312D74 0030FCB4 7C 1C 00 40 */ cmplw r28, r0
/* 80312D78 0030FCB8 7C 03 03 78 */ mr r3, r0
/* 80312D7C 0030FCBC 40 81 00 08 */ ble lbl_80312D84
/* 80312D80 0030FCC0 7F 83 E3 78 */ mr r3, r28
lbl_80312D84:
/* 80312D84 0030FCC4 1C 03 00 0A */ mulli r0, r3, 0xa
/* 80312D88 0030FCC8 7F FF 02 14 */ add r31, r31, r0
/* 80312D8C 0030FCCC 57 C0 01 09 */ rlwinm. r0, r30, 0, 4, 4
/* 80312D90 0030FCD0 41 82 00 0C */ beq lbl_80312D9C
/* 80312D94 0030FCD4 1C 03 00 05 */ mulli r0, r3, 5
/* 80312D98 0030FCD8 7F FF 02 14 */ add r31, r31, r0
lbl_80312D9C:
/* 80312D9C 0030FCDC 38 1F 00 1F */ addi r0, r31, 0x1f
/* 80312DA0 0030FCE0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
/* 80312DA4 0030FCE4 39 61 00 20 */ addi r11, r1, 0x20
/* 80312DA8 0030FCE8 48 04 F4 7D */ bl func_80362224
/* 80312DAC 0030FCEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80312DB0 0030FCF0 7C 08 03 A6 */ mtlr r0
/* 80312DB4 0030FCF4 38 21 00 20 */ addi r1, r1, 0x20
/* 80312DB8 0030FCF8 4E 80 00 20 */ blr
.global J3DShapePacket_NS_newDifferedDisplayList
J3DShapePacket_NS_newDifferedDisplayList:
/* 80312DBC 0030FCFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312DC0 0030FD00 7C 08 02 A6 */ mflr r0
/* 80312DC4 0030FD04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312DC8 0030FD08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312DCC 0030FD0C 7C 7F 1B 78 */ mr r31, r3
/* 80312DD0 0030FD10 90 83 00 34 */ stw r4, 0x34(r3)
/* 80312DD4 0030FD14 4B FF FE 01 */ bl J3DShapePacket_NS_calcDifferedBufferSize
/* 80312DD8 0030FD18 7C 64 1B 78 */ mr r4, r3
/* 80312DDC 0030FD1C 7F E3 FB 78 */ mr r3, r31
/* 80312DE0 0030FD20 4B FF FA 2D */ bl J3DDrawPacket_NS_newDisplayList
/* 80312DE4 0030FD24 2C 03 00 00 */ cmpwi r3, 0
/* 80312DE8 0030FD28 41 82 00 08 */ beq lbl_80312DF0
/* 80312DEC 0030FD2C 48 00 00 08 */ b lbl_80312DF4
lbl_80312DF0:
/* 80312DF0 0030FD30 38 60 00 00 */ li r3, 0
lbl_80312DF4:
/* 80312DF4 0030FD34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312DF8 0030FD38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312DFC 0030FD3C 7C 08 03 A6 */ mtlr r0
/* 80312E00 0030FD40 38 21 00 10 */ addi r1, r1, 0x10
/* 80312E04 0030FD44 4E 80 00 20 */ blr
.global J3DShapePacket_NS_prepareDraw
J3DShapePacket_NS_prepareDraw:
/* 80312E08 0030FD48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312E0C 0030FD4C 7C 08 02 A6 */ mflr r0
/* 80312E10 0030FD50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312E14 0030FD54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312E18 0030FD58 7C 7F 1B 78 */ mr r31, r3
/* 80312E1C 0030FD5C 80 63 00 38 */ lwz r3, 0x38(r3)
/* 80312E20 0030FD60 38 63 00 88 */ addi r3, r3, 0x88
/* 80312E24 0030FD64 4B FF E2 49 */ bl J3DVertexBuffer_NS_setArray
/* 80312E28 0030FD68 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 80312E2C 0030FD6C 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80312E30 0030FD70 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80312E34 0030FD74 90 83 00 38 */ stw r4, 0x38(r3)
/* 80312E38 0030FD78 93 E3 00 40 */ stw r31, 0x40(r3)
/* 80312E3C 0030FD7C 80 04 00 08 */ lwz r0, 8(r4)
/* 80312E40 0030FD80 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f
/* 80312E44 0030FD84 98 0D 90 31 */ stb r0, lbl_804515B1-_SDA_BASE_(r13)
/* 80312E48 0030FD88 80 04 00 08 */ lwz r0, 8(r4)
/* 80312E4C 0030FD8C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80312E50 0030FD90 41 82 00 18 */ beq lbl_80312E68
/* 80312E54 0030FD94 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312E58 0030FD98 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E5C 0030FD9C 60 00 00 04 */ ori r0, r0, 4
/* 80312E60 0030FDA0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312E64 0030FDA4 48 00 00 14 */ b lbl_80312E78
lbl_80312E68:
/* 80312E68 0030FDA8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312E6C 0030FDAC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E70 0030FDB0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80312E74 0030FDB4 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80312E78:
/* 80312E78 0030FDB8 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 80312E7C 0030FDBC 80 03 00 08 */ lwz r0, 8(r3)
/* 80312E80 0030FDC0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80312E84 0030FDC4 41 82 00 24 */ beq lbl_80312EA8
/* 80312E88 0030FDC8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312E8C 0030FDCC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E90 0030FDD0 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f
/* 80312E94 0030FDD4 40 82 00 14 */ bne lbl_80312EA8
/* 80312E98 0030FDD8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E9C 0030FDDC 60 00 00 08 */ ori r0, r0, 8
/* 80312EA0 0030FDE0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312EA4 0030FDE4 48 00 00 14 */ b lbl_80312EB8
lbl_80312EA8:
/* 80312EA8 0030FDE8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312EAC 0030FDEC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312EB0 0030FDF0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80312EB4 0030FDF4 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80312EB8:
/* 80312EB8 0030FDF8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80312EBC 0030FDFC 38 03 00 30 */ addi r0, r3, 0x30
/* 80312EC0 0030FE00 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 80312EC4 0030FE04 90 04 00 60 */ stw r0, 0x60(r4)
/* 80312EC8 0030FE08 80 03 00 04 */ lwz r0, 4(r3)
/* 80312ECC 0030FE0C 90 04 00 54 */ stw r0, 0x54(r4)
/* 80312ED0 0030FE10 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80312ED4 0030FE14 90 04 00 58 */ stw r0, 0x58(r4)
/* 80312ED8 0030FE18 88 04 00 34 */ lbz r0, 0x34(r4)
/* 80312EDC 0030FE1C 28 00 00 00 */ cmplwi r0, 0
/* 80312EE0 0030FE20 40 82 00 10 */ bne lbl_80312EF0
/* 80312EE4 0030FE24 80 03 00 20 */ lwz r0, 0x20(r3)
/* 80312EE8 0030FE28 90 04 00 5C */ stw r0, 0x5c(r4)
/* 80312EEC 0030FE2C 48 00 00 18 */ b lbl_80312F04
lbl_80312EF0:
/* 80312EF0 0030FE30 80 04 00 64 */ lwz r0, 0x64(r4)
/* 80312EF4 0030FE34 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312EF8 0030FE38 54 00 10 3A */ slwi r0, r0, 2
/* 80312EFC 0030FE3C 7C 03 00 2E */ lwzx r0, r3, r0
/* 80312F00 0030FE40 90 04 00 5C */ stw r0, 0x5c(r4)
lbl_80312F04:
/* 80312F04 0030FE44 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 80312F08 0030FE48 80 63 00 04 */ lwz r3, 4(r3)
/* 80312F0C 0030FE4C 48 01 31 ED */ bl J3DModelData_NS_syncJ3DSysFlags
/* 80312F10 0030FE50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312F14 0030FE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312F18 0030FE58 7C 08 03 A6 */ mtlr r0
/* 80312F1C 0030FE5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312F20 0030FE60 4E 80 00 20 */ blr
/* 80312F24 0030FE64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312F28 0030FE68 7C 08 02 A6 */ mflr r0
/* 80312F2C 0030FE6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312F30 0030FE70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312F34 0030FE74 7C 7F 1B 78 */ mr r31, r3
/* 80312F38 0030FE78 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80312F3C 0030FE7C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80312F40 0030FE80 40 82 00 68 */ bne lbl_80312FA8
/* 80312F44 0030FE84 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80312F48 0030FE88 28 00 00 00 */ cmplwi r0, 0
/* 80312F4C 0030FE8C 41 82 00 5C */ beq lbl_80312FA8
/* 80312F50 0030FE90 4B FF FE B9 */ bl J3DShapePacket_NS_prepareDraw
/* 80312F54 0030FE94 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80312F58 0030FE98 28 00 00 00 */ cmplwi r0, 0
/* 80312F5C 0030FE9C 41 82 00 20 */ beq lbl_80312F7C
/* 80312F60 0030FEA0 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312F64 0030FEA4 80 63 00 04 */ lwz r3, 4(r3)
/* 80312F68 0030FEA8 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80312F6C 0030FEAC 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
/* 80312F70 0030FEB0 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80312F74 0030FEB4 90 0D 90 44 */ stw r0, lbl_804515C4-_SDA_BASE_(r13)
/* 80312F78 0030FEB8 48 00 00 0C */ b lbl_80312F84
lbl_80312F7C:
/* 80312F7C 0030FEBC 38 00 00 00 */ li r0, 0
/* 80312F80 0030FEC0 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
lbl_80312F84:
/* 80312F84 0030FEC4 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80312F88 0030FEC8 28 03 00 00 */ cmplwi r3, 0
/* 80312F8C 0030FECC 41 82 00 08 */ beq lbl_80312F94
/* 80312F90 0030FED0 4B FF F6 89 */ bl J3DDisplayListObj_NS_callDL
lbl_80312F94:
/* 80312F94 0030FED4 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312F98 0030FED8 81 83 00 00 */ lwz r12, 0(r3)
/* 80312F9C 0030FEDC 81 8C 00 08 */ lwz r12, 8(r12)
/* 80312FA0 0030FEE0 7D 89 03 A6 */ mtctr r12
/* 80312FA4 0030FEE4 4E 80 04 21 */ bctrl
lbl_80312FA8:
/* 80312FA8 0030FEE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312FAC 0030FEEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312FB0 0030FEF0 7C 08 03 A6 */ mtlr r0
/* 80312FB4 0030FEF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80312FB8 0030FEF8 4E 80 00 20 */ blr
.global J3DShapePacket_NS_drawFast
J3DShapePacket_NS_drawFast:
/* 80312FBC 0030FEFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312FC0 0030FF00 7C 08 02 A6 */ mflr r0
/* 80312FC4 0030FF04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312FC8 0030FF08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312FCC 0030FF0C 7C 7F 1B 78 */ mr r31, r3
/* 80312FD0 0030FF10 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80312FD4 0030FF14 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80312FD8 0030FF18 40 82 00 58 */ bne lbl_80313030
/* 80312FDC 0030FF1C 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80312FE0 0030FF20 28 00 00 00 */ cmplwi r0, 0
/* 80312FE4 0030FF24 41 82 00 4C */ beq lbl_80313030
/* 80312FE8 0030FF28 4B FF FE 21 */ bl J3DShapePacket_NS_prepareDraw
/* 80312FEC 0030FF2C 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80312FF0 0030FF30 28 00 00 00 */ cmplwi r0, 0
/* 80312FF4 0030FF34 41 82 00 20 */ beq lbl_80313014
/* 80312FF8 0030FF38 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312FFC 0030FF3C 80 63 00 04 */ lwz r3, 4(r3)
/* 80313000 0030FF40 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80313004 0030FF44 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
/* 80313008 0030FF48 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8031300C 0030FF4C 90 0D 90 44 */ stw r0, lbl_804515C4-_SDA_BASE_(r13)
/* 80313010 0030FF50 48 00 00 0C */ b lbl_8031301C
lbl_80313014:
/* 80313014 0030FF54 38 00 00 00 */ li r0, 0
/* 80313018 0030FF58 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
lbl_8031301C:
/* 8031301C 0030FF5C 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80313020 0030FF60 81 83 00 00 */ lwz r12, 0(r3)
/* 80313024 0030FF64 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80313028 0030FF68 7D 89 03 A6 */ mtctr r12
/* 8031302C 0030FF6C 4E 80 04 21 */ bctrl
lbl_80313030:
/* 80313030 0030FF70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80313034 0030FF74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80313038 0030FF78 7C 08 03 A6 */ mtlr r0
/* 8031303C 0030FF7C 38 21 00 10 */ addi r1, r1, 0x10
/* 80313040 0030FF80 4E 80 00 20 */ blr
/* 80313044 0030FF84 4E 80 00 20 */ blr
/* 80313048 0030FF88 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031304C 0030FF8C 7C 08 02 A6 */ mflr r0
/* 80313050 0030FF90 90 01 00 24 */ stw r0, 0x24(r1)
/* 80313054 0030FF94 7C 66 1B 78 */ mr r6, r3
/* 80313058 0030FF98 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8031305C 0030FF9C 1C A0 00 0C */ mulli r5, r0, 0xc
/* 80313060 0030FFA0 3C 60 80 3D */ lis r3, lbl_803CEC30@ha
/* 80313064 0030FFA4 38 03 EC 30 */ addi r0, r3, lbl_803CEC30@l
/* 80313068 0030FFA8 7C A0 2A 14 */ add r5, r0, r5
/* 8031306C 0030FFAC 80 65 00 00 */ lwz r3, 0(r5)
/* 80313070 0030FFB0 80 05 00 04 */ lwz r0, 4(r5)
/* 80313074 0030FFB4 90 61 00 08 */ stw r3, 8(r1)
/* 80313078 0030FFB8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8031307C 0030FFBC 80 05 00 08 */ lwz r0, 8(r5)
/* 80313080 0030FFC0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80313084 0030FFC4 7C 83 23 78 */ mr r3, r4
/* 80313088 0030FFC8 7C C4 33 78 */ mr r4, r6
/* 8031308C 0030FFCC 39 81 00 08 */ addi r12, r1, 8
/* 80313090 0030FFD0 48 04 EF F5 */ bl func_80362084
/* 80313094 0030FFD4 60 00 00 00 */ nop
/* 80313098 0030FFD8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031309C 0030FFDC 7C 08 03 A6 */ mtlr r0
/* 803130A0 0030FFE0 38 21 00 20 */ addi r1, r1, 0x20
/* 803130A4 0030FFE4 4E 80 00 20 */ blr
+900
View File
@@ -0,0 +1,900 @@
.include "macros.inc"
.section .text, "ax" # 80314b48
.global J3DShape_NS_initialize
J3DShape_NS_initialize:
/* 80314B48 00311A88 38 A0 00 00 */ li r5, 0
/* 80314B4C 00311A8C 90 A3 00 04 */ stw r5, 4(r3)
/* 80314B50 00311A90 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80314B54 00311A94 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 80314B58 00311A98 B0 03 00 08 */ sth r0, 8(r3)
/* 80314B5C 00311A9C B0 A3 00 0A */ sth r5, 0xa(r3)
/* 80314B60 00311AA0 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80314B64 00311AA4 C0 02 C9 A0 */ lfs f0, lbl_804563A0-_SDA2_BASE_(r2)
/* 80314B68 00311AA8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80314B6C 00311AAC D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80314B70 00311AB0 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80314B74 00311AB4 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80314B78 00311AB8 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80314B7C 00311ABC D0 03 00 24 */ stfs f0, 0x24(r3)
/* 80314B80 00311AC0 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 80314B84 00311AC4 90 A3 00 30 */ stw r5, 0x30(r3)
/* 80314B88 00311AC8 90 A3 00 38 */ stw r5, 0x38(r3)
/* 80314B8C 00311ACC 90 A3 00 3C */ stw r5, 0x3c(r3)
/* 80314B90 00311AD0 90 A3 00 4C */ stw r5, 0x4c(r3)
/* 80314B94 00311AD4 90 A3 00 50 */ stw r5, 0x50(r3)
/* 80314B98 00311AD8 90 A3 00 54 */ stw r5, 0x54(r3)
/* 80314B9C 00311ADC 90 A3 00 58 */ stw r5, 0x58(r3)
/* 80314BA0 00311AE0 90 A3 00 5C */ stw r5, 0x5c(r3)
/* 80314BA4 00311AE4 38 0D 90 18 */ addi r0, r13, lbl_80451598-_SDA_BASE_
/* 80314BA8 00311AE8 90 03 00 60 */ stw r0, 0x60(r3)
/* 80314BAC 00311AEC 98 A3 00 34 */ stb r5, 0x34(r3)
/* 80314BB0 00311AF0 98 A3 00 48 */ stb r5, 0x48(r3)
/* 80314BB4 00311AF4 4E 80 00 20 */ blr
.global J3DShape_NS_addTexMtxIndexInDL
J3DShape_NS_addTexMtxIndexInDL:
/* 80314BB8 00311AF8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80314BBC 00311AFC 7C 08 02 A6 */ mflr r0
/* 80314BC0 00311B00 90 01 00 34 */ stw r0, 0x34(r1)
/* 80314BC4 00311B04 39 61 00 30 */ addi r11, r1, 0x30
/* 80314BC8 00311B08 48 04 D6 0D */ bl func_803621D4
/* 80314BCC 00311B0C 7C 7F 1B 78 */ mr r31, r3
/* 80314BD0 00311B10 3C 60 80 3A */ lis r3, lbl_803A1E98@ha
/* 80314BD4 00311B14 38 C3 1E 98 */ addi r6, r3, lbl_803A1E98@l
/* 80314BD8 00311B18 80 66 00 00 */ lwz r3, 0(r6)
/* 80314BDC 00311B1C 80 06 00 04 */ lwz r0, 4(r6)
/* 80314BE0 00311B20 90 61 00 08 */ stw r3, 8(r1)
/* 80314BE4 00311B24 90 01 00 0C */ stw r0, 0xc(r1)
/* 80314BE8 00311B28 80 66 00 08 */ lwz r3, 8(r6)
/* 80314BEC 00311B2C 80 06 00 0C */ lwz r0, 0xc(r6)
/* 80314BF0 00311B30 90 61 00 10 */ stw r3, 0x10(r1)
/* 80314BF4 00311B34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314BF8 00311B38 38 C0 FF FF */ li r6, -1
/* 80314BFC 00311B3C 38 E0 FF FF */ li r7, -1
/* 80314C00 00311B40 39 00 00 00 */ li r8, 0
/* 80314C04 00311B44 39 20 00 00 */ li r9, 0
/* 80314C08 00311B48 81 5F 00 30 */ lwz r10, 0x30(r31)
/* 80314C0C 00311B4C 38 61 00 08 */ addi r3, r1, 8
/* 80314C10 00311B50 48 00 00 3C */ b lbl_80314C4C
lbl_80314C14:
/* 80314C14 00311B54 2C 00 00 00 */ cmpwi r0, 0
/* 80314C18 00311B58 40 82 00 08 */ bne lbl_80314C20
/* 80314C1C 00311B5C 7D 06 43 78 */ mr r6, r8
lbl_80314C20:
/* 80314C20 00311B60 7C 04 00 00 */ cmpw r4, r0
/* 80314C24 00311B64 40 80 00 14 */ bge lbl_80314C38
/* 80314C28 00311B68 55 20 06 3F */ clrlwi. r0, r9, 0x18
/* 80314C2C 00311B6C 40 82 00 0C */ bne lbl_80314C38
/* 80314C30 00311B70 7D 07 43 78 */ mr r7, r8
/* 80314C34 00311B74 39 20 00 01 */ li r9, 1
lbl_80314C38:
/* 80314C38 00311B78 80 0A 00 04 */ lwz r0, 4(r10)
/* 80314C3C 00311B7C 54 00 10 3A */ slwi r0, r0, 2
/* 80314C40 00311B80 7C 03 00 2E */ lwzx r0, r3, r0
/* 80314C44 00311B84 7D 08 02 14 */ add r8, r8, r0
/* 80314C48 00311B88 39 4A 00 08 */ addi r10, r10, 8
lbl_80314C4C:
/* 80314C4C 00311B8C 80 0A 00 00 */ lwz r0, 0(r10)
/* 80314C50 00311B90 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314C54 00311B94 40 82 FF C0 */ bne lbl_80314C14
/* 80314C58 00311B98 2C 06 FF FF */ cmpwi r6, -1
/* 80314C5C 00311B9C 41 82 00 48 */ beq lbl_80314CA4
/* 80314C60 00311BA0 3B 60 00 00 */ li r27, 0
/* 80314C64 00311BA4 7C BE 2B 78 */ mr r30, r5
/* 80314C68 00311BA8 7C FD 3B 78 */ mr r29, r7
/* 80314C6C 00311BAC 7D 1C 43 78 */ mr r28, r8
/* 80314C70 00311BB0 48 00 00 24 */ b lbl_80314C94
lbl_80314C74:
/* 80314C74 00311BB4 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 80314C78 00311BB8 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 80314C7C 00311BBC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80314C80 00311BC0 7F 84 E3 78 */ mr r4, r28
/* 80314C84 00311BC4 7F A5 EB 78 */ mr r5, r29
/* 80314C88 00311BC8 7F C6 F3 78 */ mr r6, r30
/* 80314C8C 00311BCC 4B FF FC E9 */ bl J3DShapeDraw_NS_addTexMtxIndexInDL
/* 80314C90 00311BD0 3B 7B 00 01 */ addi r27, r27, 1
lbl_80314C94:
/* 80314C94 00311BD4 57 63 04 3E */ clrlwi r3, r27, 0x10
/* 80314C98 00311BD8 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80314C9C 00311BDC 7C 03 00 40 */ cmplw r3, r0
/* 80314CA0 00311BE0 41 80 FF D4 */ blt lbl_80314C74
lbl_80314CA4:
/* 80314CA4 00311BE4 39 61 00 30 */ addi r11, r1, 0x30
/* 80314CA8 00311BE8 48 04 D5 79 */ bl func_80362220
/* 80314CAC 00311BEC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80314CB0 00311BF0 7C 08 03 A6 */ mtlr r0
/* 80314CB4 00311BF4 38 21 00 30 */ addi r1, r1, 0x30
/* 80314CB8 00311BF8 4E 80 00 20 */ blr
.global J3DShape_NS_addTexMtxIndexInVcd
J3DShape_NS_addTexMtxIndexInVcd:
/* 80314CBC 00311BFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314CC0 00311C00 7C 08 02 A6 */ mflr r0
/* 80314CC4 00311C04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314CC8 00311C08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314CCC 00311C0C 93 C1 00 08 */ stw r30, 8(r1)
/* 80314CD0 00311C10 7C 7F 1B 78 */ mr r31, r3
/* 80314CD4 00311C14 7C 9E 23 78 */ mr r30, r4
/* 80314CD8 00311C18 38 60 FF FF */ li r3, -1
/* 80314CDC 00311C1C 80 9F 00 30 */ lwz r4, 0x30(r31)
/* 80314CE0 00311C20 38 A0 00 00 */ li r5, 0
/* 80314CE4 00311C24 48 00 00 18 */ b lbl_80314CFC
lbl_80314CE8:
/* 80314CE8 00311C28 2C 00 00 00 */ cmpwi r0, 0
/* 80314CEC 00311C2C 40 82 00 08 */ bne lbl_80314CF4
/* 80314CF0 00311C30 38 60 00 00 */ li r3, 0
lbl_80314CF4:
/* 80314CF4 00311C34 38 A5 00 01 */ addi r5, r5, 1
/* 80314CF8 00311C38 38 84 00 08 */ addi r4, r4, 8
lbl_80314CFC:
/* 80314CFC 00311C3C 80 04 00 00 */ lwz r0, 0(r4)
/* 80314D00 00311C40 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314D04 00311C44 40 82 FF E4 */ bne lbl_80314CE8
/* 80314D08 00311C48 2C 03 FF FF */ cmpwi r3, -1
/* 80314D0C 00311C4C 41 82 00 84 */ beq lbl_80314D90
/* 80314D10 00311C50 38 05 00 02 */ addi r0, r5, 2
/* 80314D14 00311C54 54 03 18 38 */ slwi r3, r0, 3
/* 80314D18 00311C58 4B FB 9F AD */ bl __nwa
/* 80314D1C 00311C5C 38 C0 00 00 */ li r6, 0
/* 80314D20 00311C60 80 BF 00 30 */ lwz r5, 0x30(r31)
/* 80314D24 00311C64 7C 67 1B 78 */ mr r7, r3
/* 80314D28 00311C68 38 80 00 01 */ li r4, 1
/* 80314D2C 00311C6C 48 00 00 3C */ b lbl_80314D68
lbl_80314D30:
/* 80314D30 00311C70 7C 1E 00 00 */ cmpw r30, r0
/* 80314D34 00311C74 40 80 00 1C */ bge lbl_80314D50
/* 80314D38 00311C78 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80314D3C 00311C7C 40 82 00 14 */ bne lbl_80314D50
/* 80314D40 00311C80 93 C7 00 00 */ stw r30, 0(r7)
/* 80314D44 00311C84 90 87 00 04 */ stw r4, 4(r7)
/* 80314D48 00311C88 38 C0 00 01 */ li r6, 1
/* 80314D4C 00311C8C 38 E7 00 08 */ addi r7, r7, 8
lbl_80314D50:
/* 80314D50 00311C90 80 05 00 00 */ lwz r0, 0(r5)
/* 80314D54 00311C94 90 07 00 00 */ stw r0, 0(r7)
/* 80314D58 00311C98 80 05 00 04 */ lwz r0, 4(r5)
/* 80314D5C 00311C9C 90 07 00 04 */ stw r0, 4(r7)
/* 80314D60 00311CA0 38 E7 00 08 */ addi r7, r7, 8
/* 80314D64 00311CA4 38 A5 00 08 */ addi r5, r5, 8
lbl_80314D68:
/* 80314D68 00311CA8 80 05 00 00 */ lwz r0, 0(r5)
/* 80314D6C 00311CAC 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314D70 00311CB0 40 82 FF C0 */ bne lbl_80314D30
/* 80314D74 00311CB4 38 00 00 FF */ li r0, 0xff
/* 80314D78 00311CB8 90 07 00 00 */ stw r0, 0(r7)
/* 80314D7C 00311CBC 38 00 00 00 */ li r0, 0
/* 80314D80 00311CC0 90 07 00 04 */ stw r0, 4(r7)
/* 80314D84 00311CC4 90 7F 00 30 */ stw r3, 0x30(r31)
/* 80314D88 00311CC8 7F E3 FB 78 */ mr r3, r31
/* 80314D8C 00311CCC 48 00 04 D5 */ bl J3DShape_NS_makeVcdVatCmd
lbl_80314D90:
/* 80314D90 00311CD0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314D94 00311CD4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80314D98 00311CD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314D9C 00311CDC 7C 08 03 A6 */ mtlr r0
/* 80314DA0 00311CE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80314DA4 00311CE4 4E 80 00 20 */ blr
.global J3DShape_NS_calcNBTScale
J3DShape_NS_calcNBTScale:
/* 80314DA8 00311CE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80314DAC 00311CEC 7C 08 02 A6 */ mflr r0
/* 80314DB0 00311CF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80314DB4 00311CF4 39 61 00 20 */ addi r11, r1, 0x20
/* 80314DB8 00311CF8 48 04 D4 1D */ bl func_803621D4
/* 80314DBC 00311CFC 7C 7B 1B 78 */ mr r27, r3
/* 80314DC0 00311D00 7C 9C 23 78 */ mr r28, r4
/* 80314DC4 00311D04 7C BD 2B 78 */ mr r29, r5
/* 80314DC8 00311D08 7C DE 33 78 */ mr r30, r6
/* 80314DCC 00311D0C 3B E0 00 00 */ li r31, 0
/* 80314DD0 00311D10 48 00 00 30 */ b lbl_80314E00
lbl_80314DD4:
/* 80314DD4 00311D14 80 7B 00 38 */ lwz r3, 0x38(r27)
/* 80314DD8 00311D18 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d
/* 80314DDC 00311D1C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80314DE0 00311D20 7F 84 E3 78 */ mr r4, r28
/* 80314DE4 00311D24 7F A5 EB 78 */ mr r5, r29
/* 80314DE8 00311D28 7F C6 F3 78 */ mr r6, r30
/* 80314DEC 00311D2C 81 83 00 00 */ lwz r12, 0(r3)
/* 80314DF0 00311D30 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80314DF4 00311D34 7D 89 03 A6 */ mtctr r12
/* 80314DF8 00311D38 4E 80 04 21 */ bctrl
/* 80314DFC 00311D3C 3B FF 00 01 */ addi r31, r31, 1
lbl_80314E00:
/* 80314E00 00311D40 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 80314E04 00311D44 A0 1B 00 0A */ lhz r0, 0xa(r27)
/* 80314E08 00311D48 7C 03 00 40 */ cmplw r3, r0
/* 80314E0C 00311D4C 41 80 FF C8 */ blt lbl_80314DD4
/* 80314E10 00311D50 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E14 00311D54 48 04 D4 0D */ bl func_80362220
/* 80314E18 00311D58 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80314E1C 00311D5C 7C 08 03 A6 */ mtlr r0
/* 80314E20 00311D60 38 21 00 20 */ addi r1, r1, 0x20
/* 80314E24 00311D64 4E 80 00 20 */ blr
.global J3DShape_NS_countBumpMtxNum
J3DShape_NS_countBumpMtxNum:
/* 80314E28 00311D68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80314E2C 00311D6C 7C 08 02 A6 */ mflr r0
/* 80314E30 00311D70 90 01 00 24 */ stw r0, 0x24(r1)
/* 80314E34 00311D74 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E38 00311D78 48 04 D3 A1 */ bl func_803621D8
/* 80314E3C 00311D7C 3B A0 00 00 */ li r29, 0
/* 80314E40 00311D80 3B 80 00 00 */ li r28, 0
/* 80314E44 00311D84 83 C3 00 38 */ lwz r30, 0x38(r3)
/* 80314E48 00311D88 A3 E3 00 0A */ lhz r31, 0xa(r3)
/* 80314E4C 00311D8C 48 00 00 24 */ b lbl_80314E70
lbl_80314E50:
/* 80314E50 00311D90 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 80314E54 00311D94 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80314E58 00311D98 81 83 00 00 */ lwz r12, 0(r3)
/* 80314E5C 00311D9C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80314E60 00311DA0 7D 89 03 A6 */ mtctr r12
/* 80314E64 00311DA4 4E 80 04 21 */ bctrl
/* 80314E68 00311DA8 7F BD 1A 14 */ add r29, r29, r3
/* 80314E6C 00311DAC 3B 9C 00 01 */ addi r28, r28, 1
lbl_80314E70:
/* 80314E70 00311DB0 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 80314E74 00311DB4 7C 00 F8 40 */ cmplw r0, r31
/* 80314E78 00311DB8 41 80 FF D8 */ blt lbl_80314E50
/* 80314E7C 00311DBC 7F A3 EB 78 */ mr r3, r29
/* 80314E80 00311DC0 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E84 00311DC4 48 04 D3 A1 */ bl func_80362224
/* 80314E88 00311DC8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80314E8C 00311DCC 7C 08 03 A6 */ mtlr r0
/* 80314E90 00311DD0 38 21 00 20 */ addi r1, r1, 0x20
/* 80314E94 00311DD4 4E 80 00 20 */ blr
.global J3DLoadCPCmd
J3DLoadCPCmd:
/* 80314E98 00311DD8 38 00 00 08 */ li r0, 8
/* 80314E9C 00311DDC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80314EA0 00311DE0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80314EA4 00311DE4 98 65 80 00 */ stb r3, -0x8000(r5)
/* 80314EA8 00311DE8 90 85 80 00 */ stw r4, -0x8000(r5)
/* 80314EAC 00311DEC 4E 80 00 20 */ blr
.global J3DLoadArrayBasePtr
J3DLoadArrayBasePtr:
/* 80314EB0 00311DF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314EB4 00311DF4 7C 08 02 A6 */ mflr r0
/* 80314EB8 00311DF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314EBC 00311DFC 2C 03 00 19 */ cmpwi r3, 0x19
/* 80314EC0 00311E00 38 A0 00 01 */ li r5, 1
/* 80314EC4 00311E04 41 82 00 08 */ beq lbl_80314ECC
/* 80314EC8 00311E08 38 A3 FF F7 */ addi r5, r3, -9
lbl_80314ECC:
/* 80314ECC 00311E0C 38 05 00 A0 */ addi r0, r5, 0xa0
/* 80314ED0 00311E10 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80314ED4 00311E14 54 84 00 7E */ clrlwi r4, r4, 1
/* 80314ED8 00311E18 4B FF FF C1 */ bl J3DLoadCPCmd
/* 80314EDC 00311E1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314EE0 00311E20 7C 08 03 A6 */ mtlr r0
/* 80314EE4 00311E24 38 21 00 10 */ addi r1, r1, 0x10
/* 80314EE8 00311E28 4E 80 00 20 */ blr
.global J3DShape_NS_loadVtxArray
J3DShape_NS_loadVtxArray:
/* 80314EEC 00311E2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314EF0 00311E30 7C 08 02 A6 */ mflr r0
/* 80314EF4 00311E34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314EF8 00311E38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314EFC 00311E3C 7C 7F 1B 78 */ mr r31, r3
/* 80314F00 00311E40 38 60 00 09 */ li r3, 9
/* 80314F04 00311E44 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80314F08 00311E48 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80314F0C 00311E4C 80 84 01 0C */ lwz r4, 0x10c(r4)
/* 80314F10 00311E50 4B FF FF A1 */ bl J3DLoadArrayBasePtr
/* 80314F14 00311E54 88 1F 00 34 */ lbz r0, 0x34(r31)
/* 80314F18 00311E58 28 00 00 00 */ cmplwi r0, 0
/* 80314F1C 00311E5C 40 82 00 18 */ bne lbl_80314F34
/* 80314F20 00311E60 38 60 00 0A */ li r3, 0xa
/* 80314F24 00311E64 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80314F28 00311E68 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80314F2C 00311E6C 80 84 01 10 */ lwz r4, 0x110(r4)
/* 80314F30 00311E70 4B FF FF 81 */ bl J3DLoadArrayBasePtr
lbl_80314F34:
/* 80314F34 00311E74 38 60 00 0B */ li r3, 0xb
/* 80314F38 00311E78 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80314F3C 00311E7C 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80314F40 00311E80 80 84 01 14 */ lwz r4, 0x114(r4)
/* 80314F44 00311E84 4B FF FF 6D */ bl J3DLoadArrayBasePtr
/* 80314F48 00311E88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314F4C 00311E8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314F50 00311E90 7C 08 03 A6 */ mtlr r0
/* 80314F54 00311E94 38 21 00 10 */ addi r1, r1, 0x10
/* 80314F58 00311E98 4E 80 00 20 */ blr
.global J3DShape_NS_isSameVcdVatCmd
J3DShape_NS_isSameVcdVatCmd:
/* 80314F5C 00311E9C 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80314F60 00311EA0 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80314F64 00311EA4 38 00 00 C0 */ li r0, 0xc0
/* 80314F68 00311EA8 7C 09 03 A6 */ mtctr r0
lbl_80314F6C:
/* 80314F6C 00311EAC 88 A4 00 00 */ lbz r5, 0(r4)
/* 80314F70 00311EB0 88 03 00 00 */ lbz r0, 0(r3)
/* 80314F74 00311EB4 7C 05 00 40 */ cmplw r5, r0
/* 80314F78 00311EB8 41 82 00 0C */ beq lbl_80314F84
/* 80314F7C 00311EBC 38 60 00 00 */ li r3, 0
/* 80314F80 00311EC0 4E 80 00 20 */ blr
lbl_80314F84:
/* 80314F84 00311EC4 38 63 00 01 */ addi r3, r3, 1
/* 80314F88 00311EC8 38 84 00 01 */ addi r4, r4, 1
/* 80314F8C 00311ECC 42 00 FF E0 */ bdnz lbl_80314F6C
/* 80314F90 00311ED0 38 60 00 01 */ li r3, 1
/* 80314F94 00311ED4 4E 80 00 20 */ blr
.global J3DShape_NS_makeVtxArrayCmd
J3DShape_NS_makeVtxArrayCmd:
/* 80314F98 00311ED8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80314F9C 00311EDC 7C 08 02 A6 */ mflr r0
/* 80314FA0 00311EE0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80314FA4 00311EE4 39 61 00 60 */ addi r11, r1, 0x60
/* 80314FA8 00311EE8 48 04 D2 2D */ bl func_803621D4
/* 80314FAC 00311EEC 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 80314FB0 00311EF0 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80314FB4 00311EF4 38 A0 00 00 */ li r5, 0
/* 80314FB8 00311EF8 39 00 00 00 */ li r8, 0
/* 80314FBC 00311EFC 38 E1 00 14 */ addi r7, r1, 0x14
/* 80314FC0 00311F00 38 C1 00 08 */ addi r6, r1, 8
/* 80314FC4 00311F04 38 00 00 0C */ li r0, 0xc
/* 80314FC8 00311F08 7C 09 03 A6 */ mtctr r0
lbl_80314FCC:
/* 80314FCC 00311F0C 99 06 00 00 */ stb r8, 0(r6)
/* 80314FD0 00311F10 7D 07 29 2E */ stwx r8, r7, r5
/* 80314FD4 00311F14 38 A5 00 04 */ addi r5, r5, 4
/* 80314FD8 00311F18 38 C6 00 01 */ addi r6, r6, 1
/* 80314FDC 00311F1C 42 00 FF F0 */ bdnz lbl_80314FCC
/* 80314FE0 00311F20 48 00 01 90 */ b lbl_80315170
lbl_80314FE4:
/* 80314FE4 00311F24 2C 07 00 0A */ cmpwi r7, 0xa
/* 80314FE8 00311F28 41 82 00 8C */ beq lbl_80315074
/* 80314FEC 00311F2C 40 80 00 10 */ bge lbl_80314FFC
/* 80314FF0 00311F30 2C 07 00 09 */ cmpwi r7, 9
/* 80314FF4 00311F34 40 80 00 1C */ bge lbl_80315010
/* 80314FF8 00311F38 48 00 01 74 */ b lbl_8031516C
lbl_80314FFC:
/* 80314FFC 00311F3C 2C 07 00 15 */ cmpwi r7, 0x15
/* 80315000 00311F40 40 80 01 6C */ bge lbl_8031516C
/* 80315004 00311F44 2C 07 00 0D */ cmpwi r7, 0xd
/* 80315008 00311F48 40 80 01 0C */ bge lbl_80315114
/* 8031500C 00311F4C 48 00 00 CC */ b lbl_803150D8
lbl_80315010:
/* 80315010 00311F50 80 04 00 08 */ lwz r0, 8(r4)
/* 80315014 00311F54 2C 00 00 04 */ cmpwi r0, 4
/* 80315018 00311F58 40 82 00 18 */ bne lbl_80315030
/* 8031501C 00311F5C 38 C0 00 0C */ li r6, 0xc
/* 80315020 00311F60 38 A1 00 08 */ addi r5, r1, 8
/* 80315024 00311F64 38 07 FF F7 */ addi r0, r7, -9
/* 80315028 00311F68 7C C5 01 AE */ stbx r6, r5, r0
/* 8031502C 00311F6C 48 00 00 14 */ b lbl_80315040
lbl_80315030:
/* 80315030 00311F70 38 C0 00 06 */ li r6, 6
/* 80315034 00311F74 38 A1 00 08 */ addi r5, r1, 8
/* 80315038 00311F78 38 07 FF F7 */ addi r0, r7, -9
/* 8031503C 00311F7C 7C C5 01 AE */ stbx r6, r5, r0
lbl_80315040:
/* 80315040 00311F80 80 E3 00 4C */ lwz r7, 0x4c(r3)
/* 80315044 00311F84 81 07 00 18 */ lwz r8, 0x18(r7)
/* 80315048 00311F88 80 04 00 00 */ lwz r0, 0(r4)
/* 8031504C 00311F8C 54 06 10 3A */ slwi r6, r0, 2
/* 80315050 00311F90 38 A1 00 14 */ addi r5, r1, 0x14
/* 80315054 00311F94 38 06 FF DC */ addi r0, r6, -36
/* 80315058 00311F98 7D 05 01 2E */ stwx r8, r5, r0
/* 8031505C 00311F9C 88 04 00 0C */ lbz r0, 0xc(r4)
/* 80315060 00311FA0 98 07 00 4C */ stb r0, 0x4c(r7)
/* 80315064 00311FA4 80 04 00 08 */ lwz r0, 8(r4)
/* 80315068 00311FA8 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 8031506C 00311FAC 90 05 00 50 */ stw r0, 0x50(r5)
/* 80315070 00311FB0 48 00 00 FC */ b lbl_8031516C
lbl_80315074:
/* 80315074 00311FB4 80 04 00 08 */ lwz r0, 8(r4)
/* 80315078 00311FB8 2C 00 00 04 */ cmpwi r0, 4
/* 8031507C 00311FBC 40 82 00 18 */ bne lbl_80315094
/* 80315080 00311FC0 38 C0 00 0C */ li r6, 0xc
/* 80315084 00311FC4 38 A1 00 08 */ addi r5, r1, 8
/* 80315088 00311FC8 38 07 FF F7 */ addi r0, r7, -9
/* 8031508C 00311FCC 7C C5 01 AE */ stbx r6, r5, r0
/* 80315090 00311FD0 48 00 00 14 */ b lbl_803150A4
lbl_80315094:
/* 80315094 00311FD4 38 C0 00 06 */ li r6, 6
/* 80315098 00311FD8 38 A1 00 08 */ addi r5, r1, 8
/* 8031509C 00311FDC 38 07 FF F7 */ addi r0, r7, -9
/* 803150A0 00311FE0 7C C5 01 AE */ stbx r6, r5, r0
lbl_803150A4:
/* 803150A4 00311FE4 80 E3 00 4C */ lwz r7, 0x4c(r3)
/* 803150A8 00311FE8 81 07 00 1C */ lwz r8, 0x1c(r7)
/* 803150AC 00311FEC 80 04 00 00 */ lwz r0, 0(r4)
/* 803150B0 00311FF0 54 06 10 3A */ slwi r6, r0, 2
/* 803150B4 00311FF4 38 A1 00 14 */ addi r5, r1, 0x14
/* 803150B8 00311FF8 38 06 FF DC */ addi r0, r6, -36
/* 803150BC 00311FFC 7D 05 01 2E */ stwx r8, r5, r0
/* 803150C0 00312000 88 04 00 0C */ lbz r0, 0xc(r4)
/* 803150C4 00312004 98 07 00 54 */ stb r0, 0x54(r7)
/* 803150C8 00312008 80 04 00 08 */ lwz r0, 8(r4)
/* 803150CC 0031200C 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 803150D0 00312010 90 05 00 58 */ stw r0, 0x58(r5)
/* 803150D4 00312014 48 00 00 98 */ b lbl_8031516C
lbl_803150D8:
/* 803150D8 00312018 38 C0 00 04 */ li r6, 4
/* 803150DC 0031201C 38 A1 00 08 */ addi r5, r1, 8
/* 803150E0 00312020 38 07 FF F7 */ addi r0, r7, -9
/* 803150E4 00312024 7C C5 01 AE */ stbx r6, r5, r0
/* 803150E8 00312028 80 C3 00 4C */ lwz r6, 0x4c(r3)
/* 803150EC 0031202C 81 04 00 00 */ lwz r8, 0(r4)
/* 803150F0 00312030 38 08 FF F5 */ addi r0, r8, -11
/* 803150F4 00312034 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d
/* 803150F8 00312038 38 05 00 24 */ addi r0, r5, 0x24
/* 803150FC 0031203C 7C E6 00 2E */ lwzx r7, r6, r0
/* 80315100 00312040 55 06 10 3A */ slwi r6, r8, 2
/* 80315104 00312044 38 A1 00 14 */ addi r5, r1, 0x14
/* 80315108 00312048 38 06 FF DC */ addi r0, r6, -36
/* 8031510C 0031204C 7C E5 01 2E */ stwx r7, r5, r0
/* 80315110 00312050 48 00 00 5C */ b lbl_8031516C
lbl_80315114:
/* 80315114 00312054 80 04 00 08 */ lwz r0, 8(r4)
/* 80315118 00312058 2C 00 00 04 */ cmpwi r0, 4
/* 8031511C 0031205C 40 82 00 18 */ bne lbl_80315134
/* 80315120 00312060 38 C0 00 08 */ li r6, 8
/* 80315124 00312064 38 A1 00 08 */ addi r5, r1, 8
/* 80315128 00312068 38 07 FF F7 */ addi r0, r7, -9
/* 8031512C 0031206C 7C C5 01 AE */ stbx r6, r5, r0
/* 80315130 00312070 48 00 00 14 */ b lbl_80315144
lbl_80315134:
/* 80315134 00312074 38 C0 00 04 */ li r6, 4
/* 80315138 00312078 38 A1 00 08 */ addi r5, r1, 8
/* 8031513C 0031207C 38 07 FF F7 */ addi r0, r7, -9
/* 80315140 00312080 7C C5 01 AE */ stbx r6, r5, r0
lbl_80315144:
/* 80315144 00312084 80 C3 00 4C */ lwz r6, 0x4c(r3)
/* 80315148 00312088 81 04 00 00 */ lwz r8, 0(r4)
/* 8031514C 0031208C 38 08 FF F3 */ addi r0, r8, -13
/* 80315150 00312090 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d
/* 80315154 00312094 38 05 00 2C */ addi r0, r5, 0x2c
/* 80315158 00312098 7C E6 00 2E */ lwzx r7, r6, r0
/* 8031515C 0031209C 55 06 10 3A */ slwi r6, r8, 2
/* 80315160 003120A0 38 A1 00 14 */ addi r5, r1, 0x14
/* 80315164 003120A4 38 06 FF DC */ addi r0, r6, -36
/* 80315168 003120A8 7C E5 01 2E */ stwx r7, r5, r0
lbl_8031516C:
/* 8031516C 003120AC 38 84 00 10 */ addi r4, r4, 0x10
lbl_80315170:
/* 80315170 003120B0 80 E4 00 00 */ lwz r7, 0(r4)
/* 80315174 003120B4 2C 07 00 FF */ cmpwi r7, 0xff
/* 80315178 003120B8 40 82 FE 6C */ bne lbl_80314FE4
/* 8031517C 003120BC 80 A3 00 30 */ lwz r5, 0x30(r3)
/* 80315180 003120C0 38 00 00 00 */ li r0, 0
/* 80315184 003120C4 98 03 00 48 */ stb r0, 0x48(r3)
/* 80315188 003120C8 48 00 00 5C */ b lbl_803151E4
lbl_8031518C:
/* 8031518C 003120CC 2C 04 00 19 */ cmpwi r4, 0x19
/* 80315190 003120D0 40 82 00 34 */ bne lbl_803151C4
/* 80315194 003120D4 80 05 00 04 */ lwz r0, 4(r5)
/* 80315198 003120D8 2C 00 00 00 */ cmpwi r0, 0
/* 8031519C 003120DC 41 82 00 28 */ beq lbl_803151C4
/* 803151A0 003120E0 38 00 00 01 */ li r0, 1
/* 803151A4 003120E4 98 03 00 34 */ stb r0, 0x34(r3)
/* 803151A8 003120E8 88 01 00 09 */ lbz r0, 9(r1)
/* 803151AC 003120EC 1C 00 00 03 */ mulli r0, r0, 3
/* 803151B0 003120F0 98 01 00 09 */ stb r0, 9(r1)
/* 803151B4 003120F4 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 803151B8 003120F8 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803151BC 003120FC 90 01 00 18 */ stw r0, 0x18(r1)
/* 803151C0 00312100 48 00 00 20 */ b lbl_803151E0
lbl_803151C4:
/* 803151C4 00312104 2C 04 00 00 */ cmpwi r4, 0
/* 803151C8 00312108 40 82 00 18 */ bne lbl_803151E0
/* 803151CC 0031210C 80 05 00 04 */ lwz r0, 4(r5)
/* 803151D0 00312110 2C 00 00 00 */ cmpwi r0, 0
/* 803151D4 00312114 41 82 00 0C */ beq lbl_803151E0
/* 803151D8 00312118 38 00 00 01 */ li r0, 1
/* 803151DC 0031211C 98 03 00 48 */ stb r0, 0x48(r3)
lbl_803151E0:
/* 803151E0 00312120 38 A5 00 08 */ addi r5, r5, 8
lbl_803151E4:
/* 803151E4 00312124 80 85 00 00 */ lwz r4, 0(r5)
/* 803151E8 00312128 2C 04 00 FF */ cmpwi r4, 0xff
/* 803151EC 0031212C 40 82 FF A0 */ bne lbl_8031518C
/* 803151F0 00312130 3B 60 00 00 */ li r27, 0
/* 803151F4 00312134 3B A0 00 00 */ li r29, 0
/* 803151F8 00312138 3B 81 00 14 */ addi r28, r1, 0x14
/* 803151FC 0031213C 3B C1 00 08 */ addi r30, r1, 8
/* 80315200 00312140 7F DF F3 78 */ mr r31, r30
lbl_80315204:
/* 80315204 00312144 7C 9C E8 2E */ lwzx r4, r28, r29
/* 80315208 00312148 28 04 00 00 */ cmplwi r4, 0
/* 8031520C 0031214C 41 82 00 14 */ beq lbl_80315220
/* 80315210 00312150 38 7B 00 09 */ addi r3, r27, 9
/* 80315214 00312154 88 BE 00 00 */ lbz r5, 0(r30)
/* 80315218 00312158 48 04 C4 E9 */ bl GDSetArray
/* 8031521C 0031215C 48 00 00 14 */ b lbl_80315230
lbl_80315220:
/* 80315220 00312160 38 7B 00 09 */ addi r3, r27, 9
/* 80315224 00312164 38 80 00 00 */ li r4, 0
/* 80315228 00312168 88 BF 00 00 */ lbz r5, 0(r31)
/* 8031522C 0031216C 48 04 C6 E1 */ bl GDSetArrayRaw
lbl_80315230:
/* 80315230 00312170 3B 7B 00 01 */ addi r27, r27, 1
/* 80315234 00312174 28 1B 00 0C */ cmplwi r27, 0xc
/* 80315238 00312178 3B FF 00 01 */ addi r31, r31, 1
/* 8031523C 0031217C 3B DE 00 01 */ addi r30, r30, 1
/* 80315240 00312180 3B BD 00 04 */ addi r29, r29, 4
/* 80315244 00312184 41 80 FF C0 */ blt lbl_80315204
/* 80315248 00312188 39 61 00 60 */ addi r11, r1, 0x60
/* 8031524C 0031218C 48 04 CF D5 */ bl func_80362220
/* 80315250 00312190 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80315254 00312194 7C 08 03 A6 */ mtlr r0
/* 80315258 00312198 38 21 00 60 */ addi r1, r1, 0x60
/* 8031525C 0031219C 4E 80 00 20 */ blr
.global J3DShape_NS_makeVcdVatCmd
J3DShape_NS_makeVcdVatCmd:
/* 80315260 003121A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315264 003121A4 7C 08 02 A6 */ mflr r0
/* 80315268 003121A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031526C 003121AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80315270 003121B0 7C 7F 1B 78 */ mr r31, r3
/* 80315274 003121B4 88 0D 90 4C */ lbz r0, lbl_804515CC-_SDA_BASE_(r13)
/* 80315278 003121B8 7C 00 07 75 */ extsb. r0, r0
/* 8031527C 003121BC 40 82 00 14 */ bne lbl_80315290
/* 80315280 003121C0 48 02 84 75 */ bl __RAS_OSDisableInterrupts_begin
/* 80315284 003121C4 90 6D 90 48 */ stw r3, lbl_804515C8-_SDA_BASE_(r13)
/* 80315288 003121C8 38 00 00 01 */ li r0, 1
/* 8031528C 003121CC 98 0D 90 4C */ stb r0, lbl_804515CC-_SDA_BASE_(r13)
lbl_80315290:
/* 80315290 003121D0 48 02 BA 35 */ bl OSDisableScheduler
/* 80315294 003121D4 38 61 00 08 */ addi r3, r1, 8
/* 80315298 003121D8 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8031529C 003121DC 38 A0 00 C0 */ li r5, 0xc0
/* 803152A0 003121E0 48 04 BC F9 */ bl GDInitGDLObj
/* 803152A4 003121E4 38 01 00 08 */ addi r0, r1, 8
/* 803152A8 003121E8 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 803152AC 003121EC 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 803152B0 003121F0 48 04 BE 55 */ bl GDSetVtxDescv
/* 803152B4 003121F4 7F E3 FB 78 */ mr r3, r31
/* 803152B8 003121F8 4B FF FC E1 */ bl J3DShape_NS_makeVtxArrayCmd
/* 803152BC 003121FC 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 803152C0 00312200 80 83 00 14 */ lwz r4, 0x14(r3)
/* 803152C4 00312204 38 60 00 00 */ li r3, 0
/* 803152C8 00312208 88 BF 00 34 */ lbz r5, 0x34(r31)
/* 803152CC 0031220C 4B FF 88 39 */ bl J3DGDSetVtxAttrFmtv
/* 803152D0 00312210 48 04 BD 0D */ bl GDPadCurr32
/* 803152D4 00312214 48 04 BC DD */ bl GDFlushCurrToMem
/* 803152D8 00312218 38 00 00 00 */ li r0, 0
/* 803152DC 0031221C 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 803152E0 00312220 48 02 BA 25 */ bl OSEnableScheduler
/* 803152E4 00312224 80 6D 90 48 */ lwz r3, lbl_804515C8-_SDA_BASE_(r13)
/* 803152E8 00312228 48 02 84 35 */ bl OSRestoreInterrupts
/* 803152EC 0031222C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803152F0 00312230 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803152F4 00312234 7C 08 03 A6 */ mtlr r0
/* 803152F8 00312238 38 21 00 20 */ addi r1, r1, 0x20
/* 803152FC 0031223C 4E 80 00 20 */ blr
.global J3DShape_NS_loadPreDrawSetting
J3DShape_NS_loadPreDrawSetting:
/* 80315300 00312240 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315304 00312244 7C 08 02 A6 */ mflr r0
/* 80315308 00312248 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031530C 0031224C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80315310 00312250 7C 7F 1B 78 */ mr r31, r3
/* 80315314 00312254 80 0D 90 50 */ lwz r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80315318 00312258 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8031531C 0031225C 7C 00 18 40 */ cmplw r0, r3
/* 80315320 00312260 41 82 00 14 */ beq lbl_80315334
/* 80315324 00312264 38 80 00 C0 */ li r4, 0xc0
/* 80315328 00312268 48 04 AB C9 */ bl GXCallDisplayList
/* 8031532C 0031226C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80315330 00312270 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
lbl_80315334:
/* 80315334 00312274 80 BF 00 40 */ lwz r5, 0x40(r31)
/* 80315338 00312278 38 80 00 08 */ li r4, 8
/* 8031533C 0031227C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80315340 00312280 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80315344 00312284 38 00 00 30 */ li r0, 0x30
/* 80315348 00312288 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8031534C 0031228C 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315350 00312290 80 DF 00 44 */ lwz r6, 0x44(r31)
/* 80315354 00312294 98 83 80 00 */ stb r4, -0x8000(r3)
/* 80315358 00312298 38 00 00 40 */ li r0, 0x40
/* 8031535C 0031229C 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315360 003122A0 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 80315364 003122A4 38 00 00 10 */ li r0, 0x10
/* 80315368 003122A8 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8031536C 003122AC 38 00 00 01 */ li r0, 1
/* 80315370 003122B0 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 80315374 003122B4 38 00 10 18 */ li r0, 0x1018
/* 80315378 003122B8 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 8031537C 003122BC 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315380 003122C0 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 80315384 003122C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315388 003122C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031538C 003122CC 7C 08 03 A6 */ mtlr r0
/* 80315390 003122D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80315394 003122D4 4E 80 00 20 */ blr
.global J3DShape_NS_setArrayAndBindPipeline
J3DShape_NS_setArrayAndBindPipeline:
/* 80315398 003122D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031539C 003122DC 7C 08 02 A6 */ mflr r0
/* 803153A0 003122E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803153A4 003122E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803153A8 003122E8 7C 7F 1B 78 */ mr r31, r3
/* 803153AC 003122EC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803153B0 003122F0 54 00 F7 7E */ rlwinm r0, r0, 0x1e, 0x1d, 0x1f
/* 803153B4 003122F4 90 0D 90 28 */ stw r0, lbl_804515A8-_SDA_BASE_(r13)
/* 803153B8 003122F8 4B FF FB 35 */ bl J3DShape_NS_loadVtxArray
/* 803153BC 003122FC 80 9F 00 58 */ lwz r4, 0x58(r31)
/* 803153C0 00312300 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 803153C4 00312304 80 03 00 00 */ lwz r0, 0(r3)
/* 803153C8 00312308 54 00 10 3A */ slwi r0, r0, 2
/* 803153CC 0031230C 7C 84 00 2E */ lwzx r4, r4, r0
/* 803153D0 00312310 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 803153D4 00312314 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 803153D8 00312318 90 83 01 04 */ stw r4, 0x104(r3)
/* 803153DC 0031231C 38 60 00 15 */ li r3, 0x15
/* 803153E0 00312320 38 A0 00 30 */ li r5, 0x30
/* 803153E4 00312324 48 04 67 45 */ bl GXSetArray
/* 803153E8 00312328 80 9F 00 5C */ lwz r4, 0x5c(r31)
/* 803153EC 0031232C 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 803153F0 00312330 80 03 00 00 */ lwz r0, 0(r3)
/* 803153F4 00312334 54 00 10 3A */ slwi r0, r0, 2
/* 803153F8 00312338 7C 84 00 2E */ lwzx r4, r4, r0
/* 803153FC 0031233C 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80315400 00312340 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80315404 00312344 90 83 01 08 */ stw r4, 0x108(r3)
/* 80315408 00312348 38 60 00 16 */ li r3, 0x16
/* 8031540C 0031234C 38 A0 00 24 */ li r5, 0x24
/* 80315410 00312350 48 04 67 19 */ bl GXSetArray
/* 80315414 00312354 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 80315418 00312358 90 0D 90 2C */ stw r0, lbl_804515AC-_SDA_BASE_(r13)
/* 8031541C 0031235C 88 1F 00 34 */ lbz r0, 0x34(r31)
/* 80315420 00312360 98 0D 90 30 */ stb r0, lbl_804515B0-_SDA_BASE_(r13)
/* 80315424 00312364 88 1F 00 48 */ lbz r0, 0x48(r31)
/* 80315428 00312368 98 0D 90 54 */ stb r0, lbl_804515D4-_SDA_BASE_(r13)
/* 8031542C 0031236C 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80315430 00312370 54 00 04 26 */ rlwinm r0, r0, 0, 0x10, 0x13
/* 80315434 00312374 90 0D 90 34 */ stw r0, lbl_804515B4-_SDA_BASE_(r13)
/* 80315438 00312378 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031543C 0031237C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315440 00312380 7C 08 03 A6 */ mtlr r0
/* 80315444 00312384 38 21 00 10 */ addi r1, r1, 0x10
/* 80315448 00312388 4E 80 00 20 */ blr
/* 8031544C 0031238C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315450 00312390 7C 08 02 A6 */ mflr r0
/* 80315454 00312394 90 01 00 24 */ stw r0, 0x24(r1)
/* 80315458 00312398 39 61 00 20 */ addi r11, r1, 0x20
/* 8031545C 0031239C 48 04 CD 79 */ bl func_803621D4
/* 80315460 003123A0 7C 7F 1B 78 */ mr r31, r3
/* 80315464 003123A4 80 0D 90 50 */ lwz r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80315468 003123A8 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8031546C 003123AC 7C 00 18 40 */ cmplw r0, r3
/* 80315470 003123B0 41 82 00 14 */ beq lbl_80315484
/* 80315474 003123B4 38 80 00 C0 */ li r4, 0xc0
/* 80315478 003123B8 48 04 AA 79 */ bl GXCallDisplayList
/* 8031547C 003123BC 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80315480 003123C0 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
lbl_80315484:
/* 80315484 003123C4 88 0D 90 54 */ lbz r0, lbl_804515D4-_SDA_BASE_(r13)
/* 80315488 003123C8 28 00 00 00 */ cmplwi r0, 0
/* 8031548C 003123CC 41 82 00 60 */ beq lbl_803154EC
/* 80315490 003123D0 88 1F 00 48 */ lbz r0, 0x48(r31)
/* 80315494 003123D4 28 00 00 00 */ cmplwi r0, 0
/* 80315498 003123D8 40 82 00 54 */ bne lbl_803154EC
/* 8031549C 003123DC 80 BF 00 40 */ lwz r5, 0x40(r31)
/* 803154A0 003123E0 38 80 00 08 */ li r4, 8
/* 803154A4 003123E4 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 803154A8 003123E8 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 803154AC 003123EC 38 00 00 30 */ li r0, 0x30
/* 803154B0 003123F0 98 03 80 00 */ stb r0, -0x8000(r3)
/* 803154B4 003123F4 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 803154B8 003123F8 80 DF 00 44 */ lwz r6, 0x44(r31)
/* 803154BC 003123FC 98 83 80 00 */ stb r4, -0x8000(r3)
/* 803154C0 00312400 38 00 00 40 */ li r0, 0x40
/* 803154C4 00312404 98 03 80 00 */ stb r0, -0x8000(r3)
/* 803154C8 00312408 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 803154CC 0031240C 38 00 00 10 */ li r0, 0x10
/* 803154D0 00312410 98 03 80 00 */ stb r0, -0x8000(r3)
/* 803154D4 00312414 38 00 00 01 */ li r0, 1
/* 803154D8 00312418 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 803154DC 0031241C 38 00 10 18 */ li r0, 0x1018
/* 803154E0 00312420 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 803154E4 00312424 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 803154E8 00312428 90 C3 80 00 */ stw r6, -0x8000(r3)
lbl_803154EC:
/* 803154EC 0031242C 7F E3 FB 78 */ mr r3, r31
/* 803154F0 00312430 4B FF FE A9 */ bl J3DShape_NS_setArrayAndBindPipeline
/* 803154F4 00312434 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803154F8 00312438 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 803154FC 0031243C 40 82 00 6C */ bne lbl_80315568
/* 80315500 00312440 88 0D 90 31 */ lbz r0, lbl_804515B1-_SDA_BASE_(r13)
/* 80315504 00312444 28 00 00 00 */ cmplwi r0, 0
/* 80315508 00312448 41 82 00 08 */ beq lbl_80315510
/* 8031550C 0031244C 4B FF DB 9D */ bl J3DShapeMtx_NS_resetMtxLoadCache
lbl_80315510:
/* 80315510 00312450 A3 DF 00 0A */ lhz r30, 0xa(r31)
/* 80315514 00312454 3B 60 00 00 */ li r27, 0
/* 80315518 00312458 83 BF 00 38 */ lwz r29, 0x38(r31)
/* 8031551C 0031245C 83 FF 00 3C */ lwz r31, 0x3c(r31)
/* 80315520 00312460 48 00 00 38 */ b lbl_80315558
lbl_80315524:
/* 80315524 00312464 57 7C 13 BA */ rlwinm r28, r27, 2, 0xe, 0x1d
/* 80315528 00312468 7C 7D E0 2E */ lwzx r3, r29, r28
/* 8031552C 0031246C 28 03 00 00 */ cmplwi r3, 0
/* 80315530 00312470 41 82 00 14 */ beq lbl_80315544
/* 80315534 00312474 81 83 00 00 */ lwz r12, 0(r3)
/* 80315538 00312478 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8031553C 0031247C 7D 89 03 A6 */ mtctr r12
/* 80315540 00312480 4E 80 04 21 */ bctrl
lbl_80315544:
/* 80315544 00312484 7C 7F E0 2E */ lwzx r3, r31, r28
/* 80315548 00312488 28 03 00 00 */ cmplwi r3, 0
/* 8031554C 0031248C 41 82 00 08 */ beq lbl_80315554
/* 80315550 00312490 4B FF F5 85 */ bl J3DShapeDraw_NS_draw
lbl_80315554:
/* 80315554 00312494 3B 7B 00 01 */ addi r27, r27, 1
lbl_80315558:
/* 80315558 00312498 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 8031555C 0031249C 7C 00 F0 40 */ cmplw r0, r30
/* 80315560 003124A0 41 80 FF C4 */ blt lbl_80315524
/* 80315564 003124A4 48 00 00 64 */ b lbl_803155C8
lbl_80315568:
/* 80315568 003124A8 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 8031556C 003124AC 3B C3 4A C8 */ addi r30, r3, lbl_80434AC8@l
/* 80315570 003124B0 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 80315574 003124B4 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80315578 003124B8 38 80 00 00 */ li r4, 0
/* 8031557C 003124BC 4B FF A5 65 */ bl J3DFifoLoadPosMtxImm
/* 80315580 003124C0 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 80315584 003124C4 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80315588 003124C8 38 80 00 00 */ li r4, 0
/* 8031558C 003124CC 4B FF A5 D5 */ bl J3DFifoLoadNrmMtxImm
/* 80315590 003124D0 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80315594 003124D4 3B 60 00 00 */ li r27, 0
/* 80315598 003124D8 83 DF 00 3C */ lwz r30, 0x3c(r31)
/* 8031559C 003124DC 54 1F 04 3E */ clrlwi r31, r0, 0x10
/* 803155A0 003124E0 48 00 00 1C */ b lbl_803155BC
lbl_803155A4:
/* 803155A4 003124E4 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 803155A8 003124E8 7C 7E 00 2E */ lwzx r3, r30, r0
/* 803155AC 003124EC 28 03 00 00 */ cmplwi r3, 0
/* 803155B0 003124F0 41 82 00 08 */ beq lbl_803155B8
/* 803155B4 003124F4 4B FF F5 21 */ bl J3DShapeDraw_NS_draw
lbl_803155B8:
/* 803155B8 003124F8 3B 7B 00 01 */ addi r27, r27, 1
lbl_803155BC:
/* 803155BC 003124FC 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 803155C0 00312500 7C 00 F8 40 */ cmplw r0, r31
/* 803155C4 00312504 41 80 FF E0 */ blt lbl_803155A4
lbl_803155C8:
/* 803155C8 00312508 39 61 00 20 */ addi r11, r1, 0x20
/* 803155CC 0031250C 48 04 CC 55 */ bl func_80362220
/* 803155D0 00312510 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803155D4 00312514 7C 08 03 A6 */ mtlr r0
/* 803155D8 00312518 38 21 00 20 */ addi r1, r1, 0x20
/* 803155DC 0031251C 4E 80 00 20 */ blr
/* 803155E0 00312520 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803155E4 00312524 7C 08 02 A6 */ mflr r0
/* 803155E8 00312528 90 01 00 14 */ stw r0, 0x14(r1)
/* 803155EC 0031252C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803155F0 00312530 7C 7F 1B 78 */ mr r31, r3
/* 803155F4 00312534 38 00 00 00 */ li r0, 0
/* 803155F8 00312538 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
/* 803155FC 0031253C 4B FF FD 05 */ bl J3DShape_NS_loadPreDrawSetting
/* 80315600 00312540 7F E3 FB 78 */ mr r3, r31
/* 80315604 00312544 81 9F 00 00 */ lwz r12, 0(r31)
/* 80315608 00312548 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031560C 0031254C 7D 89 03 A6 */ mtctr r12
/* 80315610 00312550 4E 80 04 21 */ bctrl
/* 80315614 00312554 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315618 00312558 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031561C 0031255C 7C 08 03 A6 */ mtlr r0
/* 80315620 00312560 38 21 00 10 */ addi r1, r1, 0x10
/* 80315624 00312564 4E 80 00 20 */ blr
/* 80315628 00312568 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031562C 0031256C 7C 08 02 A6 */ mflr r0
/* 80315630 00312570 90 01 00 24 */ stw r0, 0x24(r1)
/* 80315634 00312574 39 61 00 20 */ addi r11, r1, 0x20
/* 80315638 00312578 48 04 CB A5 */ bl func_803621DC
/* 8031563C 0031257C 7C 7E 1B 78 */ mr r30, r3
/* 80315640 00312580 38 00 00 00 */ li r0, 0
/* 80315644 00312584 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80315648 00312588 4B FF FC B9 */ bl J3DShape_NS_loadPreDrawSetting
/* 8031564C 0031258C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80315650 00312590 54 00 F7 7E */ rlwinm r0, r0, 0x1e, 0x1d, 0x1f
/* 80315654 00312594 90 0D 90 28 */ stw r0, lbl_804515A8-_SDA_BASE_(r13)
/* 80315658 00312598 7F C3 F3 78 */ mr r3, r30
/* 8031565C 0031259C 4B FF F8 91 */ bl J3DShape_NS_loadVtxArray
/* 80315660 003125A0 A3 FE 00 0A */ lhz r31, 0xa(r30)
/* 80315664 003125A4 3B A0 00 00 */ li r29, 0
/* 80315668 003125A8 83 DE 00 3C */ lwz r30, 0x3c(r30)
/* 8031566C 003125AC 48 00 00 1C */ b lbl_80315688
lbl_80315670:
/* 80315670 003125B0 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d
/* 80315674 003125B4 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80315678 003125B8 28 03 00 00 */ cmplwi r3, 0
/* 8031567C 003125BC 41 82 00 08 */ beq lbl_80315684
/* 80315680 003125C0 4B FF F4 55 */ bl J3DShapeDraw_NS_draw
lbl_80315684:
/* 80315684 003125C4 3B BD 00 01 */ addi r29, r29, 1
lbl_80315688:
/* 80315688 003125C8 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8031568C 003125CC 7C 00 F8 40 */ cmplw r0, r31
/* 80315690 003125D0 41 80 FF E0 */ blt lbl_80315670
/* 80315694 003125D4 39 61 00 20 */ addi r11, r1, 0x20
/* 80315698 003125D8 48 04 CB 91 */ bl func_80362228
/* 8031569C 003125DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803156A0 003125E0 7C 08 03 A6 */ mtlr r0
/* 803156A4 003125E4 38 21 00 20 */ addi r1, r1, 0x20
/* 803156A8 003125E8 4E 80 00 20 */ blr
/* 803156AC 003125EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803156B0 003125F0 7C 08 02 A6 */ mflr r0
/* 803156B4 003125F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803156B8 003125F8 39 61 00 20 */ addi r11, r1, 0x20
/* 803156BC 003125FC 48 04 CB 21 */ bl func_803621DC
/* 803156C0 00312600 7C 7E 1B 78 */ mr r30, r3
/* 803156C4 00312604 80 0D 90 50 */ lwz r0, lbl_804515D0-_SDA_BASE_(r13)
/* 803156C8 00312608 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 803156CC 0031260C 7C 00 18 40 */ cmplw r0, r3
/* 803156D0 00312610 41 82 00 14 */ beq lbl_803156E4
/* 803156D4 00312614 38 80 00 C0 */ li r4, 0xc0
/* 803156D8 00312618 48 04 A8 19 */ bl GXCallDisplayList
/* 803156DC 0031261C 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 803156E0 00312620 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
lbl_803156E4:
/* 803156E4 00312624 88 0D 90 54 */ lbz r0, lbl_804515D4-_SDA_BASE_(r13)
/* 803156E8 00312628 28 00 00 00 */ cmplwi r0, 0
/* 803156EC 0031262C 41 82 00 60 */ beq lbl_8031574C
/* 803156F0 00312630 88 1E 00 48 */ lbz r0, 0x48(r30)
/* 803156F4 00312634 28 00 00 00 */ cmplwi r0, 0
/* 803156F8 00312638 40 82 00 54 */ bne lbl_8031574C
/* 803156FC 0031263C 80 BE 00 40 */ lwz r5, 0x40(r30)
/* 80315700 00312640 38 80 00 08 */ li r4, 8
/* 80315704 00312644 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80315708 00312648 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 8031570C 0031264C 38 00 00 30 */ li r0, 0x30
/* 80315710 00312650 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315714 00312654 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315718 00312658 80 DE 00 44 */ lwz r6, 0x44(r30)
/* 8031571C 0031265C 98 83 80 00 */ stb r4, -0x8000(r3)
/* 80315720 00312660 38 00 00 40 */ li r0, 0x40
/* 80315724 00312664 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315728 00312668 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 8031572C 0031266C 38 00 00 10 */ li r0, 0x10
/* 80315730 00312670 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315734 00312674 38 00 00 01 */ li r0, 1
/* 80315738 00312678 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 8031573C 0031267C 38 00 10 18 */ li r0, 0x1018
/* 80315740 00312680 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 80315744 00312684 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315748 00312688 90 C3 80 00 */ stw r6, -0x8000(r3)
lbl_8031574C:
/* 8031574C 0031268C 7F C3 F3 78 */ mr r3, r30
/* 80315750 00312690 4B FF F7 9D */ bl J3DShape_NS_loadVtxArray
/* 80315754 00312694 A3 FE 00 0A */ lhz r31, 0xa(r30)
/* 80315758 00312698 3B A0 00 00 */ li r29, 0
/* 8031575C 0031269C 83 DE 00 3C */ lwz r30, 0x3c(r30)
/* 80315760 003126A0 48 00 00 1C */ b lbl_8031577C
lbl_80315764:
/* 80315764 003126A4 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d
/* 80315768 003126A8 7C 7E 00 2E */ lwzx r3, r30, r0
/* 8031576C 003126AC 28 03 00 00 */ cmplwi r3, 0
/* 80315770 003126B0 41 82 00 08 */ beq lbl_80315778
/* 80315774 003126B4 4B FF F3 61 */ bl J3DShapeDraw_NS_draw
lbl_80315778:
/* 80315778 003126B8 3B BD 00 01 */ addi r29, r29, 1
lbl_8031577C:
/* 8031577C 003126BC 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 80315780 003126C0 7C 00 F8 40 */ cmplw r0, r31
/* 80315784 003126C4 41 80 FF E0 */ blt lbl_80315764
/* 80315788 003126C8 39 61 00 20 */ addi r11, r1, 0x20
/* 8031578C 003126CC 48 04 CA 9D */ bl func_80362228
/* 80315790 003126D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80315794 003126D4 7C 08 03 A6 */ mtlr r0
/* 80315798 003126D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8031579C 003126DC 4E 80 00 20 */ blr
+167
View File
@@ -0,0 +1,167 @@
.include "macros.inc"
.section .text, "ax" # 80314924
.global J3DShapeDraw_NS_countVertex
J3DShapeDraw_NS_countVertex:
/* 80314924 00311864 38 A0 00 00 */ li r5, 0
/* 80314928 00311868 80 C3 00 08 */ lwz r6, 8(r3)
/* 8031492C 0031186C 7C C7 33 78 */ mr r7, r6
/* 80314930 00311870 80 63 00 04 */ lwz r3, 4(r3)
/* 80314934 00311874 48 00 00 2C */ b lbl_80314960
lbl_80314938:
/* 80314938 00311878 88 07 00 00 */ lbz r0, 0(r7)
/* 8031493C 0031187C 28 00 00 A0 */ cmplwi r0, 0xa0
/* 80314940 00311880 41 82 00 0C */ beq lbl_8031494C
/* 80314944 00311884 28 00 00 98 */ cmplwi r0, 0x98
/* 80314948 00311888 40 82 00 24 */ bne lbl_8031496C
lbl_8031494C:
/* 8031494C 0031188C A0 07 00 01 */ lhz r0, 1(r7)
/* 80314950 00311890 7C A5 02 14 */ add r5, r5, r0
/* 80314954 00311894 7C 04 01 D6 */ mullw r0, r4, r0
/* 80314958 00311898 7C E7 02 14 */ add r7, r7, r0
/* 8031495C 0031189C 38 E7 00 03 */ addi r7, r7, 3
lbl_80314960:
/* 80314960 003118A0 7C 06 38 50 */ subf r0, r6, r7
/* 80314964 003118A4 7C 00 18 40 */ cmplw r0, r3
/* 80314968 003118A8 41 80 FF D0 */ blt lbl_80314938
lbl_8031496C:
/* 8031496C 003118AC 7C A3 2B 78 */ mr r3, r5
/* 80314970 003118B0 4E 80 00 20 */ blr
.global J3DShapeDraw_NS_addTexMtxIndexInDL
J3DShapeDraw_NS_addTexMtxIndexInDL:
/* 80314974 003118B4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80314978 003118B8 7C 08 02 A6 */ mflr r0
/* 8031497C 003118BC 90 01 00 44 */ stw r0, 0x44(r1)
/* 80314980 003118C0 39 61 00 40 */ addi r11, r1, 0x40
/* 80314984 003118C4 48 04 D8 2D */ bl func_803621B0
/* 80314988 003118C8 7C 79 1B 78 */ mr r25, r3
/* 8031498C 003118CC 7C 9A 23 78 */ mr r26, r4
/* 80314990 003118D0 7C BB 2B 78 */ mr r27, r5
/* 80314994 003118D4 7C DC 33 78 */ mr r28, r6
/* 80314998 003118D8 4B FF FF 8D */ bl J3DShapeDraw_NS_countVertex
/* 8031499C 003118DC 80 99 00 04 */ lwz r4, 4(r25)
/* 803149A0 003118E0 38 03 00 1F */ addi r0, r3, 0x1f
/* 803149A4 003118E4 7C 04 02 14 */ add r0, r4, r0
/* 803149A8 003118E8 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 803149AC 003118EC 7F E3 FB 78 */ mr r3, r31
/* 803149B0 003118F0 38 80 00 20 */ li r4, 0x20
/* 803149B4 003118F4 4B FB A3 39 */ bl __nwa_X1_
/* 803149B8 003118F8 7C 7E 1B 78 */ mr r30, r3
/* 803149BC 003118FC 82 F9 00 08 */ lwz r23, 8(r25)
/* 803149C0 00311900 7E F6 BB 78 */ mr r22, r23
/* 803149C4 00311904 7F DD F3 78 */ mr r29, r30
/* 803149C8 00311908 7F 1B D0 50 */ subf r24, r27, r26
/* 803149CC 0031190C 48 00 00 8C */ b lbl_80314A58
lbl_803149D0:
/* 803149D0 00311910 88 16 00 00 */ lbz r0, 0(r22)
/* 803149D4 00311914 98 1D 00 00 */ stb r0, 0(r29)
/* 803149D8 00311918 28 00 00 A0 */ cmplwi r0, 0xa0
/* 803149DC 0031191C 3B BD 00 01 */ addi r29, r29, 1
/* 803149E0 00311920 41 82 00 0C */ beq lbl_803149EC
/* 803149E4 00311924 28 00 00 98 */ cmplwi r0, 0x98
/* 803149E8 00311928 40 82 00 80 */ bne lbl_80314A68
lbl_803149EC:
/* 803149EC 0031192C A2 B6 00 01 */ lhz r21, 1(r22)
/* 803149F0 00311930 B2 BD 00 00 */ sth r21, 0(r29)
/* 803149F4 00311934 3A 80 00 00 */ li r20, 0
/* 803149F8 00311938 3B BD 00 02 */ addi r29, r29, 2
/* 803149FC 0031193C 48 00 00 48 */ b lbl_80314A44
lbl_80314A00:
/* 80314A00 00311940 7C 1A A1 D6 */ mullw r0, r26, r20
/* 80314A04 00311944 7E 76 02 14 */ add r19, r22, r0
/* 80314A08 00311948 8E 53 00 03 */ lbzu r18, 3(r19)
/* 80314A0C 0031194C 7F A3 EB 78 */ mr r3, r29
/* 80314A10 00311950 7E 64 9B 78 */ mr r4, r19
/* 80314A14 00311954 7F 65 DB 78 */ mr r5, r27
/* 80314A18 00311958 4B CE EB 29 */ bl func_80003540
/* 80314A1C 0031195C 7F BD DA 14 */ add r29, r29, r27
/* 80314A20 00311960 7C 1C 92 14 */ add r0, r28, r18
/* 80314A24 00311964 98 1D 00 00 */ stb r0, 0(r29)
/* 80314A28 00311968 3B BD 00 01 */ addi r29, r29, 1
/* 80314A2C 0031196C 7F A3 EB 78 */ mr r3, r29
/* 80314A30 00311970 7C 93 DA 14 */ add r4, r19, r27
/* 80314A34 00311974 7F 05 C3 78 */ mr r5, r24
/* 80314A38 00311978 4B CE EB 09 */ bl func_80003540
/* 80314A3C 0031197C 7F BD C2 14 */ add r29, r29, r24
/* 80314A40 00311980 3A 94 00 01 */ addi r20, r20, 1
lbl_80314A44:
/* 80314A44 00311984 7C 14 A8 00 */ cmpw r20, r21
/* 80314A48 00311988 41 80 FF B8 */ blt lbl_80314A00
/* 80314A4C 0031198C 7C 1A A9 D6 */ mullw r0, r26, r21
/* 80314A50 00311990 7E D6 02 14 */ add r22, r22, r0
/* 80314A54 00311994 3A D6 00 03 */ addi r22, r22, 3
lbl_80314A58:
/* 80314A58 00311998 7C 77 B0 50 */ subf r3, r23, r22
/* 80314A5C 0031199C 80 19 00 04 */ lwz r0, 4(r25)
/* 80314A60 003119A0 7C 03 00 40 */ cmplw r3, r0
/* 80314A64 003119A4 41 80 FF 6C */ blt lbl_803149D0
lbl_80314A68:
/* 80314A68 003119A8 7C 7E E8 50 */ subf r3, r30, r29
/* 80314A6C 003119AC 38 03 00 1F */ addi r0, r3, 0x1f
/* 80314A70 003119B0 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
/* 80314A74 003119B4 38 60 00 00 */ li r3, 0
/* 80314A78 003119B8 48 00 00 0C */ b lbl_80314A84
lbl_80314A7C:
/* 80314A7C 003119BC 98 7D 00 00 */ stb r3, 0(r29)
/* 80314A80 003119C0 3B BD 00 01 */ addi r29, r29, 1
lbl_80314A84:
/* 80314A84 003119C4 7C 1E E8 50 */ subf r0, r30, r29
/* 80314A88 003119C8 7C 00 F8 40 */ cmplw r0, r31
/* 80314A8C 003119CC 41 80 FF F0 */ blt lbl_80314A7C
/* 80314A90 003119D0 90 99 00 04 */ stw r4, 4(r25)
/* 80314A94 003119D4 93 D9 00 08 */ stw r30, 8(r25)
/* 80314A98 003119D8 7F C3 F3 78 */ mr r3, r30
/* 80314A9C 003119DC 80 99 00 04 */ lwz r4, 4(r25)
/* 80314AA0 003119E0 48 02 6B 3D */ bl DCStoreRange
/* 80314AA4 003119E4 39 61 00 40 */ addi r11, r1, 0x40
/* 80314AA8 003119E8 48 04 D7 55 */ bl func_803621FC
/* 80314AAC 003119EC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80314AB0 003119F0 7C 08 03 A6 */ mtlr r0
/* 80314AB4 003119F4 38 21 00 40 */ addi r1, r1, 0x40
/* 80314AB8 003119F8 4E 80 00 20 */ blr
.global J3DShapeDraw
J3DShapeDraw:
/* 80314ABC 003119FC 3C C0 80 3D */ lis r6, lbl_803CDC68@ha
/* 80314AC0 00311A00 38 06 DC 68 */ addi r0, r6, lbl_803CDC68@l
/* 80314AC4 00311A04 90 03 00 00 */ stw r0, 0(r3)
/* 80314AC8 00311A08 90 83 00 08 */ stw r4, 8(r3)
/* 80314ACC 00311A0C 90 A3 00 04 */ stw r5, 4(r3)
/* 80314AD0 00311A10 4E 80 00 20 */ blr
.global J3DShapeDraw_NS_draw
J3DShapeDraw_NS_draw:
/* 80314AD4 00311A14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314AD8 00311A18 7C 08 02 A6 */ mflr r0
/* 80314ADC 00311A1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314AE0 00311A20 7C 64 1B 78 */ mr r4, r3
/* 80314AE4 00311A24 80 63 00 08 */ lwz r3, 8(r3)
/* 80314AE8 00311A28 80 84 00 04 */ lwz r4, 4(r4)
/* 80314AEC 00311A2C 48 04 B4 05 */ bl GXCallDisplayList
/* 80314AF0 00311A30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314AF4 00311A34 7C 08 03 A6 */ mtlr r0
/* 80314AF8 00311A38 38 21 00 10 */ addi r1, r1, 0x10
/* 80314AFC 00311A3C 4E 80 00 20 */ blr
/* 80314B00 00311A40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314B04 00311A44 7C 08 02 A6 */ mflr r0
/* 80314B08 00311A48 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314B0C 00311A4C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314B10 00311A50 7C 7F 1B 79 */ or. r31, r3, r3
/* 80314B14 00311A54 41 82 00 1C */ beq lbl_80314B30
/* 80314B18 00311A58 3C A0 80 3D */ lis r5, lbl_803CDC68@ha
/* 80314B1C 00311A5C 38 05 DC 68 */ addi r0, r5, lbl_803CDC68@l
/* 80314B20 00311A60 90 1F 00 00 */ stw r0, 0(r31)
/* 80314B24 00311A64 7C 80 07 35 */ extsh. r0, r4
/* 80314B28 00311A68 40 81 00 08 */ ble lbl_80314B30
/* 80314B2C 00311A6C 4B FB A2 11 */ bl __dl
lbl_80314B30:
/* 80314B30 00311A70 7F E3 FB 78 */ mr r3, r31
/* 80314B34 00311A74 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314B38 00311A78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314B3C 00311A7C 7C 08 03 A6 */ mtlr r0
/* 80314B40 00311A80 38 21 00 10 */ addi r1, r1, 0x10
/* 80314B44 00311A84 4E 80 00 20 */ blr
File diff suppressed because it is too large Load Diff
+142
View File
@@ -0,0 +1,142 @@
.include "macros.inc"
.section .text, "ax" # 803256c4
.global J3DLightInfo_NS___as
J3DLightInfo_NS___as:
/* 803256C4 00322604 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 803256C8 00322608 E0 24 00 08 */ psq_l f1, 8(r4), 0, qr0
/* 803256CC 0032260C E0 04 00 10 */ psq_l f0, 16(r4), 0, qr0
/* 803256D0 00322610 F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
/* 803256D4 00322614 F0 23 00 08 */ psq_st f1, 8(r3), 0, qr0
/* 803256D8 00322618 F0 03 00 10 */ psq_st f0, 16(r3), 0, qr0
/* 803256DC 0032261C 88 04 00 18 */ lbz r0, 0x18(r4)
/* 803256E0 00322620 98 03 00 18 */ stb r0, 0x18(r3)
/* 803256E4 00322624 88 04 00 19 */ lbz r0, 0x19(r4)
/* 803256E8 00322628 98 03 00 19 */ stb r0, 0x19(r3)
/* 803256EC 0032262C 88 04 00 1A */ lbz r0, 0x1a(r4)
/* 803256F0 00322630 98 03 00 1A */ stb r0, 0x1a(r3)
/* 803256F4 00322634 88 04 00 1B */ lbz r0, 0x1b(r4)
/* 803256F8 00322638 98 03 00 1B */ stb r0, 0x1b(r3)
/* 803256FC 0032263C E0 44 00 1C */ psq_l f2, 28(r4), 0, qr0
/* 80325700 00322640 E0 24 00 24 */ psq_l f1, 36(r4), 0, qr0
/* 80325704 00322644 E0 04 00 2C */ psq_l f0, 44(r4), 0, qr0
/* 80325708 00322648 F0 43 00 1C */ psq_st f2, 28(r3), 0, qr0
/* 8032570C 0032264C F0 23 00 24 */ psq_st f1, 36(r3), 0, qr0
/* 80325710 00322650 F0 03 00 2C */ psq_st f0, 44(r3), 0, qr0
/* 80325714 00322654 4E 80 00 20 */ blr
.global J3DTexMtxInfo_NS___as
J3DTexMtxInfo_NS___as:
/* 80325718 00322658 88 04 00 00 */ lbz r0, 0(r4)
/* 8032571C 0032265C 98 03 00 00 */ stb r0, 0(r3)
/* 80325720 00322660 88 04 00 01 */ lbz r0, 1(r4)
/* 80325724 00322664 98 03 00 01 */ stb r0, 1(r3)
/* 80325728 00322668 E0 24 00 04 */ psq_l f1, 4(r4), 0, qr0
/* 8032572C 0032266C C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80325730 00322670 F0 23 00 04 */ psq_st f1, 4(r3), 0, qr0
/* 80325734 00322674 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80325738 00322678 E0 04 00 10 */ psq_l f0, 16(r4), 0, qr0
/* 8032573C 0032267C F0 03 00 10 */ psq_st f0, 16(r3), 0, qr0
/* 80325740 00322680 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80325744 00322684 90 03 00 18 */ stw r0, 0x18(r3)
/* 80325748 00322688 E0 04 00 1C */ psq_l f0, 28(r4), 0, qr0
/* 8032574C 0032268C F0 03 00 1C */ psq_st f0, 28(r3), 0, qr0
/* 80325750 00322690 E0 E4 00 24 */ psq_l f7, 36(r4), 0, qr0
/* 80325754 00322694 E0 C4 00 2C */ psq_l f6, 44(r4), 0, qr0
/* 80325758 00322698 E0 A4 00 34 */ psq_l f5, 52(r4), 0, qr0
/* 8032575C 0032269C E0 84 00 3C */ psq_l f4, 60(r4), 0, qr0
/* 80325760 003226A0 E0 64 00 44 */ psq_l f3, 68(r4), 0, qr0
/* 80325764 003226A4 E0 44 00 4C */ psq_l f2, 76(r4), 0, qr0
/* 80325768 003226A8 E0 24 00 54 */ psq_l f1, 84(r4), 0, qr0
/* 8032576C 003226AC E0 04 00 5C */ psq_l f0, 92(r4), 0, qr0
/* 80325770 003226B0 F0 E3 00 24 */ psq_st f7, 36(r3), 0, qr0
/* 80325774 003226B4 F0 C3 00 2C */ psq_st f6, 44(r3), 0, qr0
/* 80325778 003226B8 F0 A3 00 34 */ psq_st f5, 52(r3), 0, qr0
/* 8032577C 003226BC F0 83 00 3C */ psq_st f4, 60(r3), 0, qr0
/* 80325780 003226C0 F0 63 00 44 */ psq_st f3, 68(r3), 0, qr0
/* 80325784 003226C4 F0 43 00 4C */ psq_st f2, 76(r3), 0, qr0
/* 80325788 003226C8 F0 23 00 54 */ psq_st f1, 84(r3), 0, qr0
/* 8032578C 003226CC F0 03 00 5C */ psq_st f0, 92(r3), 0, qr0
/* 80325790 003226D0 4E 80 00 20 */ blr
.global J3DTexMtxInfo_NS_setEffectMtx
J3DTexMtxInfo_NS_setEffectMtx:
/* 80325794 003226D4 E0 A4 00 00 */ psq_l f5, 0(r4), 0, qr0
/* 80325798 003226D8 E0 84 00 08 */ psq_l f4, 8(r4), 0, qr0
/* 8032579C 003226DC E0 64 00 10 */ psq_l f3, 16(r4), 0, qr0
/* 803257A0 003226E0 E0 44 00 18 */ psq_l f2, 24(r4), 0, qr0
/* 803257A4 003226E4 E0 24 00 20 */ psq_l f1, 32(r4), 0, qr0
/* 803257A8 003226E8 E0 04 00 28 */ psq_l f0, 40(r4), 0, qr0
/* 803257AC 003226EC F0 A3 00 24 */ psq_st f5, 36(r3), 0, qr0
/* 803257B0 003226F0 F0 83 00 2C */ psq_st f4, 44(r3), 0, qr0
/* 803257B4 003226F4 F0 63 00 34 */ psq_st f3, 52(r3), 0, qr0
/* 803257B8 003226F8 F0 43 00 3C */ psq_st f2, 60(r3), 0, qr0
/* 803257BC 003226FC F0 23 00 44 */ psq_st f1, 68(r3), 0, qr0
/* 803257C0 00322700 F0 03 00 4C */ psq_st f0, 76(r3), 0, qr0
/* 803257C4 00322704 C0 C2 CA 14 */ lfs f6, lbl_80456414-_SDA2_BASE_(r2)
/* 803257C8 00322708 F0 C3 00 54 */ psq_st f6, 84(r3), 0, qr0
/* 803257CC 0032270C D0 C3 00 5C */ stfs f6, 0x5c(r3)
/* 803257D0 00322710 C0 02 CA 10 */ lfs f0, lbl_80456410-_SDA2_BASE_(r2)
/* 803257D4 00322714 D0 03 00 60 */ stfs f0, 0x60(r3)
/* 803257D8 00322718 4E 80 00 20 */ blr
.global J3DIndTexMtxInfo_NS___as
J3DIndTexMtxInfo_NS___as:
/* 803257DC 0032271C E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 803257E0 00322720 E0 24 00 08 */ psq_l f1, 8(r4), 0, qr0
/* 803257E4 00322724 E0 04 00 10 */ psq_l f0, 16(r4), 0, qr0
/* 803257E8 00322728 F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
/* 803257EC 0032272C F0 23 00 08 */ psq_st f1, 8(r3), 0, qr0
/* 803257F0 00322730 F0 03 00 10 */ psq_st f0, 16(r3), 0, qr0
/* 803257F4 00322734 88 04 00 18 */ lbz r0, 0x18(r4)
/* 803257F8 00322738 98 03 00 18 */ stb r0, 0x18(r3)
/* 803257FC 0032273C 4E 80 00 20 */ blr
.global J3DFogInfo_NS___as
J3DFogInfo_NS___as:
/* 80325800 00322740 88 04 00 00 */ lbz r0, 0(r4)
/* 80325804 00322744 98 03 00 00 */ stb r0, 0(r3)
/* 80325808 00322748 88 04 00 01 */ lbz r0, 1(r4)
/* 8032580C 0032274C 98 03 00 01 */ stb r0, 1(r3)
/* 80325810 00322750 A0 04 00 02 */ lhz r0, 2(r4)
/* 80325814 00322754 B0 03 00 02 */ sth r0, 2(r3)
/* 80325818 00322758 C0 04 00 04 */ lfs f0, 4(r4)
/* 8032581C 0032275C D0 03 00 04 */ stfs f0, 4(r3)
/* 80325820 00322760 C0 04 00 08 */ lfs f0, 8(r4)
/* 80325824 00322764 D0 03 00 08 */ stfs f0, 8(r3)
/* 80325828 00322768 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8032582C 0032276C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80325830 00322770 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80325834 00322774 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80325838 00322778 88 04 00 14 */ lbz r0, 0x14(r4)
/* 8032583C 0032277C 98 03 00 14 */ stb r0, 0x14(r3)
/* 80325840 00322780 88 04 00 15 */ lbz r0, 0x15(r4)
/* 80325844 00322784 98 03 00 15 */ stb r0, 0x15(r3)
/* 80325848 00322788 88 04 00 16 */ lbz r0, 0x16(r4)
/* 8032584C 0032278C 98 03 00 16 */ stb r0, 0x16(r3)
/* 80325850 00322790 88 04 00 17 */ lbz r0, 0x17(r4)
/* 80325854 00322794 98 03 00 17 */ stb r0, 0x17(r3)
/* 80325858 00322798 38 A0 00 00 */ li r5, 0
/* 8032585C 0032279C 38 00 00 0A */ li r0, 0xa
/* 80325860 003227A0 7C 09 03 A6 */ mtctr r0
lbl_80325864:
/* 80325864 003227A4 38 C5 00 18 */ addi r6, r5, 0x18
/* 80325868 003227A8 7C 04 32 2E */ lhzx r0, r4, r6
/* 8032586C 003227AC 7C 03 33 2E */ sthx r0, r3, r6
/* 80325870 003227B0 38 A5 00 02 */ addi r5, r5, 2
/* 80325874 003227B4 42 00 FF F0 */ bdnz lbl_80325864
/* 80325878 003227B8 4E 80 00 20 */ blr
.global J3DNBTScaleInfo_NS___as
J3DNBTScaleInfo_NS___as:
/* 8032587C 003227BC 88 04 00 00 */ lbz r0, 0(r4)
/* 80325880 003227C0 98 03 00 00 */ stb r0, 0(r3)
/* 80325884 003227C4 C0 04 00 04 */ lfs f0, 4(r4)
/* 80325888 003227C8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032588C 003227CC C0 04 00 08 */ lfs f0, 8(r4)
/* 80325890 003227D0 D0 03 00 08 */ stfs f0, 8(r3)
/* 80325894 003227D4 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80325898 003227D8 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8032589C 003227DC 4E 80 00 20 */ blr
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+294
View File
@@ -0,0 +1,294 @@
.include "macros.inc"
.section .text, "ax" # 8031204c
.global J3DTexture_NS_loadGX
J3DTexture_NS_loadGX:
/* 8031204C 0030EF8C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80312050 0030EF90 7C 08 02 A6 */ mflr r0
/* 80312054 0030EF94 90 01 00 64 */ stw r0, 0x64(r1)
/* 80312058 0030EF98 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8031205C 0030EF9C 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80312060 0030EFA0 7C BE 2B 78 */ mr r30, r5
/* 80312064 0030EFA4 80 63 00 04 */ lwz r3, 4(r3)
/* 80312068 0030EFA8 54 80 2A F4 */ rlwinm r0, r4, 5, 0xb, 0x1a
/* 8031206C 0030EFAC 7F E3 02 14 */ add r31, r3, r0
/* 80312070 0030EFB0 88 1F 00 08 */ lbz r0, 8(r31)
/* 80312074 0030EFB4 28 00 00 00 */ cmplwi r0, 0
/* 80312078 0030EFB8 40 82 00 30 */ bne lbl_803120A8
/* 8031207C 0030EFBC 38 61 00 1C */ addi r3, r1, 0x1c
/* 80312080 0030EFC0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80312084 0030EFC4 7C 9F 02 14 */ add r4, r31, r0
/* 80312088 0030EFC8 A0 BF 00 02 */ lhz r5, 2(r31)
/* 8031208C 0030EFCC A0 DF 00 04 */ lhz r6, 4(r31)
/* 80312090 0030EFD0 88 FF 00 00 */ lbz r7, 0(r31)
/* 80312094 0030EFD4 89 1F 00 06 */ lbz r8, 6(r31)
/* 80312098 0030EFD8 89 3F 00 07 */ lbz r9, 7(r31)
/* 8031209C 0030EFDC 89 5F 00 10 */ lbz r10, 0x10(r31)
/* 803120A0 0030EFE0 48 04 BD A1 */ bl GXInitTexObj
/* 803120A4 0030EFE4 48 00 00 54 */ b lbl_803120F8
lbl_803120A8:
/* 803120A8 0030EFE8 93 C1 00 08 */ stw r30, 8(r1)
/* 803120AC 0030EFEC 38 61 00 1C */ addi r3, r1, 0x1c
/* 803120B0 0030EFF0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803120B4 0030EFF4 7C 9F 02 14 */ add r4, r31, r0
/* 803120B8 0030EFF8 A0 BF 00 02 */ lhz r5, 2(r31)
/* 803120BC 0030EFFC A0 DF 00 04 */ lhz r6, 4(r31)
/* 803120C0 0030F000 88 FF 00 00 */ lbz r7, 0(r31)
/* 803120C4 0030F004 89 1F 00 06 */ lbz r8, 6(r31)
/* 803120C8 0030F008 89 3F 00 07 */ lbz r9, 7(r31)
/* 803120CC 0030F00C 89 5F 00 10 */ lbz r10, 0x10(r31)
/* 803120D0 0030F010 48 04 BF BD */ bl GXInitTexObjCI
/* 803120D4 0030F014 38 61 00 10 */ addi r3, r1, 0x10
/* 803120D8 0030F018 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803120DC 0030F01C 7C 9F 02 14 */ add r4, r31, r0
/* 803120E0 0030F020 88 BF 00 09 */ lbz r5, 9(r31)
/* 803120E4 0030F024 A0 DF 00 0A */ lhz r6, 0xa(r31)
/* 803120E8 0030F028 48 04 C3 81 */ bl GXInitTlutObj
/* 803120EC 0030F02C 38 61 00 10 */ addi r3, r1, 0x10
/* 803120F0 0030F030 7F C4 F3 78 */ mr r4, r30
/* 803120F4 0030F034 48 04 C3 AD */ bl GXLoadTlut
lbl_803120F8:
/* 803120F8 0030F038 38 61 00 1C */ addi r3, r1, 0x1c
/* 803120FC 0030F03C 88 9F 00 14 */ lbz r4, 0x14(r31)
/* 80312100 0030F040 88 BF 00 15 */ lbz r5, 0x15(r31)
/* 80312104 0030F044 C0 42 C9 88 */ lfs f2, lbl_80456388-_SDA2_BASE_(r2)
/* 80312108 0030F048 88 1F 00 16 */ lbz r0, 0x16(r31)
/* 8031210C 0030F04C 7C 00 07 74 */ extsb r0, r0
/* 80312110 0030F050 C8 82 C9 90 */ lfd f4, lbl_80456390-_SDA2_BASE_(r2)
/* 80312114 0030F054 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80312118 0030F058 90 01 00 44 */ stw r0, 0x44(r1)
/* 8031211C 0030F05C 3C C0 43 30 */ lis r6, 0x4330
/* 80312120 0030F060 90 C1 00 40 */ stw r6, 0x40(r1)
/* 80312124 0030F064 C8 01 00 40 */ lfd f0, 0x40(r1)
/* 80312128 0030F068 EC 00 20 28 */ fsubs f0, f0, f4
/* 8031212C 0030F06C EC 22 00 32 */ fmuls f1, f2, f0
/* 80312130 0030F070 88 1F 00 17 */ lbz r0, 0x17(r31)
/* 80312134 0030F074 7C 00 07 74 */ extsb r0, r0
/* 80312138 0030F078 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8031213C 0030F07C 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80312140 0030F080 90 C1 00 48 */ stw r6, 0x48(r1)
/* 80312144 0030F084 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80312148 0030F088 EC 00 20 28 */ fsubs f0, f0, f4
/* 8031214C 0030F08C EC 42 00 32 */ fmuls f2, f2, f0
/* 80312150 0030F090 C0 62 C9 8C */ lfs f3, lbl_8045638C-_SDA2_BASE_(r2)
/* 80312154 0030F094 A8 1F 00 1A */ lha r0, 0x1a(r31)
/* 80312158 0030F098 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8031215C 0030F09C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80312160 0030F0A0 90 C1 00 50 */ stw r6, 0x50(r1)
/* 80312164 0030F0A4 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80312168 0030F0A8 EC 00 20 28 */ fsubs f0, f0, f4
/* 8031216C 0030F0AC EC 63 00 32 */ fmuls f3, f3, f0
/* 80312170 0030F0B0 88 DF 00 12 */ lbz r6, 0x12(r31)
/* 80312174 0030F0B4 88 FF 00 11 */ lbz r7, 0x11(r31)
/* 80312178 0030F0B8 89 1F 00 13 */ lbz r8, 0x13(r31)
/* 8031217C 0030F0BC 48 04 BF 59 */ bl GXInitTexObjLOD
/* 80312180 0030F0C0 38 61 00 1C */ addi r3, r1, 0x1c
/* 80312184 0030F0C4 7F C4 F3 78 */ mr r4, r30
/* 80312188 0030F0C8 48 04 C2 8D */ bl GXLoadTexObj
/* 8031218C 0030F0CC 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80312190 0030F0D0 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80312194 0030F0D4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80312198 0030F0D8 7C 08 03 A6 */ mtlr r0
/* 8031219C 0030F0DC 38 21 00 60 */ addi r1, r1, 0x60
/* 803121A0 0030F0E0 4E 80 00 20 */ blr
.global J3DTexture_NS_entryNum
J3DTexture_NS_entryNum:
/* 803121A4 0030F0E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803121A8 0030F0E8 7C 08 02 A6 */ mflr r0
/* 803121AC 0030F0EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803121B0 0030F0F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803121B4 0030F0F4 7C 7F 1B 78 */ mr r31, r3
/* 803121B8 0030F0F8 B0 83 00 00 */ sth r4, 0(r3)
/* 803121BC 0030F0FC 54 83 2A F4 */ rlwinm r3, r4, 5, 0xb, 0x1a
/* 803121C0 0030F100 4B FB CB 05 */ bl __nwa
/* 803121C4 0030F104 90 7F 00 04 */ stw r3, 4(r31)
/* 803121C8 0030F108 38 E0 00 00 */ li r7, 0
/* 803121CC 0030F10C 38 60 00 00 */ li r3, 0
/* 803121D0 0030F110 7C 66 1B 78 */ mr r6, r3
/* 803121D4 0030F114 7C 65 1B 78 */ mr r5, r3
/* 803121D8 0030F118 48 00 00 24 */ b lbl_803121FC
lbl_803121DC:
/* 803121DC 0030F11C 80 9F 00 04 */ lwz r4, 4(r31)
/* 803121E0 0030F120 38 03 00 0C */ addi r0, r3, 0xc
/* 803121E4 0030F124 7C C4 01 2E */ stwx r6, r4, r0
/* 803121E8 0030F128 80 9F 00 04 */ lwz r4, 4(r31)
/* 803121EC 0030F12C 38 03 00 1C */ addi r0, r3, 0x1c
/* 803121F0 0030F130 7C A4 01 2E */ stwx r5, r4, r0
/* 803121F4 0030F134 38 E7 00 01 */ addi r7, r7, 1
/* 803121F8 0030F138 38 63 00 20 */ addi r3, r3, 0x20
lbl_803121FC:
/* 803121FC 0030F13C A0 1F 00 00 */ lhz r0, 0(r31)
/* 80312200 0030F140 7C 07 00 00 */ cmpw r7, r0
/* 80312204 0030F144 41 80 FF D8 */ blt lbl_803121DC
/* 80312208 0030F148 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031220C 0030F14C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312210 0030F150 7C 08 03 A6 */ mtlr r0
/* 80312214 0030F154 38 21 00 10 */ addi r1, r1, 0x10
/* 80312218 0030F158 4E 80 00 20 */ blr
.global J3DTexture_NS_addResTIMG
J3DTexture_NS_addResTIMG:
/* 8031221C 0030F15C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80312220 0030F160 7C 08 02 A6 */ mflr r0
/* 80312224 0030F164 90 01 00 24 */ stw r0, 0x24(r1)
/* 80312228 0030F168 39 61 00 20 */ addi r11, r1, 0x20
/* 8031222C 0030F16C 48 04 FF AD */ bl func_803621D8
/* 80312230 0030F170 7C 7C 1B 78 */ mr r28, r3
/* 80312234 0030F174 7C BD 2B 78 */ mr r29, r5
/* 80312238 0030F178 54 80 04 3F */ clrlwi. r0, r4, 0x10
/* 8031223C 0030F17C 41 82 02 34 */ beq lbl_80312470
/* 80312240 0030F180 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80312244 0030F184 7C 1F 03 78 */ mr r31, r0
/* 80312248 0030F188 83 DC 00 04 */ lwz r30, 4(r28)
/* 8031224C 0030F18C 7C 00 22 14 */ add r0, r0, r4
/* 80312250 0030F190 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80312254 0030F194 4B FF FF 51 */ bl J3DTexture_NS_entryNum
/* 80312258 0030F198 38 A0 00 00 */ li r5, 0
/* 8031225C 0030F19C 57 E6 04 3E */ clrlwi r6, r31, 0x10
/* 80312260 0030F1A0 48 00 00 F8 */ b lbl_80312358
lbl_80312264:
/* 80312264 0030F1A4 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312268 0030F1A8 54 A0 2A F4 */ rlwinm r0, r5, 5, 0xb, 0x1a
/* 8031226C 0030F1AC 7C 63 02 14 */ add r3, r3, r0
/* 80312270 0030F1B0 7C 9E 02 14 */ add r4, r30, r0
/* 80312274 0030F1B4 88 E4 00 00 */ lbz r7, 0(r4)
/* 80312278 0030F1B8 98 E3 00 00 */ stb r7, 0(r3)
/* 8031227C 0030F1BC 88 E4 00 01 */ lbz r7, 1(r4)
/* 80312280 0030F1C0 98 E3 00 01 */ stb r7, 1(r3)
/* 80312284 0030F1C4 A0 E4 00 02 */ lhz r7, 2(r4)
/* 80312288 0030F1C8 B0 E3 00 02 */ sth r7, 2(r3)
/* 8031228C 0030F1CC A0 E4 00 04 */ lhz r7, 4(r4)
/* 80312290 0030F1D0 B0 E3 00 04 */ sth r7, 4(r3)
/* 80312294 0030F1D4 88 E4 00 06 */ lbz r7, 6(r4)
/* 80312298 0030F1D8 98 E3 00 06 */ stb r7, 6(r3)
/* 8031229C 0030F1DC 88 E4 00 07 */ lbz r7, 7(r4)
/* 803122A0 0030F1E0 98 E3 00 07 */ stb r7, 7(r3)
/* 803122A4 0030F1E4 88 E4 00 08 */ lbz r7, 8(r4)
/* 803122A8 0030F1E8 98 E3 00 08 */ stb r7, 8(r3)
/* 803122AC 0030F1EC 88 E4 00 09 */ lbz r7, 9(r4)
/* 803122B0 0030F1F0 98 E3 00 09 */ stb r7, 9(r3)
/* 803122B4 0030F1F4 A0 E4 00 0A */ lhz r7, 0xa(r4)
/* 803122B8 0030F1F8 B0 E3 00 0A */ sth r7, 0xa(r3)
/* 803122BC 0030F1FC 80 E4 00 0C */ lwz r7, 0xc(r4)
/* 803122C0 0030F200 90 E3 00 0C */ stw r7, 0xc(r3)
/* 803122C4 0030F204 88 E4 00 10 */ lbz r7, 0x10(r4)
/* 803122C8 0030F208 98 E3 00 10 */ stb r7, 0x10(r3)
/* 803122CC 0030F20C 88 E4 00 11 */ lbz r7, 0x11(r4)
/* 803122D0 0030F210 98 E3 00 11 */ stb r7, 0x11(r3)
/* 803122D4 0030F214 88 E4 00 12 */ lbz r7, 0x12(r4)
/* 803122D8 0030F218 98 E3 00 12 */ stb r7, 0x12(r3)
/* 803122DC 0030F21C 88 E4 00 13 */ lbz r7, 0x13(r4)
/* 803122E0 0030F220 98 E3 00 13 */ stb r7, 0x13(r3)
/* 803122E4 0030F224 88 E4 00 14 */ lbz r7, 0x14(r4)
/* 803122E8 0030F228 98 E3 00 14 */ stb r7, 0x14(r3)
/* 803122EC 0030F22C 88 E4 00 15 */ lbz r7, 0x15(r4)
/* 803122F0 0030F230 98 E3 00 15 */ stb r7, 0x15(r3)
/* 803122F4 0030F234 88 E4 00 16 */ lbz r7, 0x16(r4)
/* 803122F8 0030F238 98 E3 00 16 */ stb r7, 0x16(r3)
/* 803122FC 0030F23C 88 E4 00 17 */ lbz r7, 0x17(r4)
/* 80312300 0030F240 98 E3 00 17 */ stb r7, 0x17(r3)
/* 80312304 0030F244 88 E4 00 18 */ lbz r7, 0x18(r4)
/* 80312308 0030F248 98 E3 00 18 */ stb r7, 0x18(r3)
/* 8031230C 0030F24C 88 E4 00 19 */ lbz r7, 0x19(r4)
/* 80312310 0030F250 98 E3 00 19 */ stb r7, 0x19(r3)
/* 80312314 0030F254 A8 E4 00 1A */ lha r7, 0x1a(r4)
/* 80312318 0030F258 B0 E3 00 1A */ sth r7, 0x1a(r3)
/* 8031231C 0030F25C 80 E4 00 1C */ lwz r7, 0x1c(r4)
/* 80312320 0030F260 90 E3 00 1C */ stw r7, 0x1c(r3)
/* 80312324 0030F264 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312328 0030F268 7C E3 02 14 */ add r7, r3, r0
/* 8031232C 0030F26C 80 67 00 1C */ lwz r3, 0x1c(r7)
/* 80312330 0030F270 7C 64 1A 14 */ add r3, r4, r3
/* 80312334 0030F274 7C 67 18 50 */ subf r3, r7, r3
/* 80312338 0030F278 90 67 00 1C */ stw r3, 0x1c(r7)
/* 8031233C 0030F27C 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312340 0030F280 7C 63 02 14 */ add r3, r3, r0
/* 80312344 0030F284 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312348 0030F288 7C 04 02 14 */ add r0, r4, r0
/* 8031234C 0030F28C 7C 03 00 50 */ subf r0, r3, r0
/* 80312350 0030F290 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312354 0030F294 38 A5 00 01 */ addi r5, r5, 1
lbl_80312358:
/* 80312358 0030F298 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8031235C 0030F29C 7C 00 30 40 */ cmplw r0, r6
/* 80312360 0030F2A0 41 80 FF 04 */ blt lbl_80312264
/* 80312364 0030F2A4 7F E4 FB 78 */ mr r4, r31
/* 80312368 0030F2A8 48 00 00 F8 */ b lbl_80312460
lbl_8031236C:
/* 8031236C 0030F2AC 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312370 0030F2B0 54 80 2A F4 */ rlwinm r0, r4, 5, 0xb, 0x1a
/* 80312374 0030F2B4 7C C3 02 14 */ add r6, r3, r0
/* 80312378 0030F2B8 7C 7D 02 14 */ add r3, r29, r0
/* 8031237C 0030F2BC 88 A3 00 00 */ lbz r5, 0(r3)
/* 80312380 0030F2C0 98 A6 00 00 */ stb r5, 0(r6)
/* 80312384 0030F2C4 88 A3 00 01 */ lbz r5, 1(r3)
/* 80312388 0030F2C8 98 A6 00 01 */ stb r5, 1(r6)
/* 8031238C 0030F2CC A0 A3 00 02 */ lhz r5, 2(r3)
/* 80312390 0030F2D0 B0 A6 00 02 */ sth r5, 2(r6)
/* 80312394 0030F2D4 A0 A3 00 04 */ lhz r5, 4(r3)
/* 80312398 0030F2D8 B0 A6 00 04 */ sth r5, 4(r6)
/* 8031239C 0030F2DC 88 A3 00 06 */ lbz r5, 6(r3)
/* 803123A0 0030F2E0 98 A6 00 06 */ stb r5, 6(r6)
/* 803123A4 0030F2E4 88 A3 00 07 */ lbz r5, 7(r3)
/* 803123A8 0030F2E8 98 A6 00 07 */ stb r5, 7(r6)
/* 803123AC 0030F2EC 88 A3 00 08 */ lbz r5, 8(r3)
/* 803123B0 0030F2F0 98 A6 00 08 */ stb r5, 8(r6)
/* 803123B4 0030F2F4 88 A3 00 09 */ lbz r5, 9(r3)
/* 803123B8 0030F2F8 98 A6 00 09 */ stb r5, 9(r6)
/* 803123BC 0030F2FC A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 803123C0 0030F300 B0 A6 00 0A */ sth r5, 0xa(r6)
/* 803123C4 0030F304 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803123C8 0030F308 90 A6 00 0C */ stw r5, 0xc(r6)
/* 803123CC 0030F30C 88 A3 00 10 */ lbz r5, 0x10(r3)
/* 803123D0 0030F310 98 A6 00 10 */ stb r5, 0x10(r6)
/* 803123D4 0030F314 88 A3 00 11 */ lbz r5, 0x11(r3)
/* 803123D8 0030F318 98 A6 00 11 */ stb r5, 0x11(r6)
/* 803123DC 0030F31C 88 A3 00 12 */ lbz r5, 0x12(r3)
/* 803123E0 0030F320 98 A6 00 12 */ stb r5, 0x12(r6)
/* 803123E4 0030F324 88 A3 00 13 */ lbz r5, 0x13(r3)
/* 803123E8 0030F328 98 A6 00 13 */ stb r5, 0x13(r6)
/* 803123EC 0030F32C 88 A3 00 14 */ lbz r5, 0x14(r3)
/* 803123F0 0030F330 98 A6 00 14 */ stb r5, 0x14(r6)
/* 803123F4 0030F334 88 A3 00 15 */ lbz r5, 0x15(r3)
/* 803123F8 0030F338 98 A6 00 15 */ stb r5, 0x15(r6)
/* 803123FC 0030F33C 88 A3 00 16 */ lbz r5, 0x16(r3)
/* 80312400 0030F340 98 A6 00 16 */ stb r5, 0x16(r6)
/* 80312404 0030F344 88 A3 00 17 */ lbz r5, 0x17(r3)
/* 80312408 0030F348 98 A6 00 17 */ stb r5, 0x17(r6)
/* 8031240C 0030F34C 88 A3 00 18 */ lbz r5, 0x18(r3)
/* 80312410 0030F350 98 A6 00 18 */ stb r5, 0x18(r6)
/* 80312414 0030F354 88 A3 00 19 */ lbz r5, 0x19(r3)
/* 80312418 0030F358 98 A6 00 19 */ stb r5, 0x19(r6)
/* 8031241C 0030F35C A8 A3 00 1A */ lha r5, 0x1a(r3)
/* 80312420 0030F360 B0 A6 00 1A */ sth r5, 0x1a(r6)
/* 80312424 0030F364 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 80312428 0030F368 90 A6 00 1C */ stw r5, 0x1c(r6)
/* 8031242C 0030F36C 80 BC 00 04 */ lwz r5, 4(r28)
/* 80312430 0030F370 7C C5 02 14 */ add r6, r5, r0
/* 80312434 0030F374 80 A6 00 1C */ lwz r5, 0x1c(r6)
/* 80312438 0030F378 7C A3 2A 14 */ add r5, r3, r5
/* 8031243C 0030F37C 7C A6 28 50 */ subf r5, r6, r5
/* 80312440 0030F380 90 A6 00 1C */ stw r5, 0x1c(r6)
/* 80312444 0030F384 80 BC 00 04 */ lwz r5, 4(r28)
/* 80312448 0030F388 7C A5 02 14 */ add r5, r5, r0
/* 8031244C 0030F38C 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80312450 0030F390 7C 03 02 14 */ add r0, r3, r0
/* 80312454 0030F394 7C 05 00 50 */ subf r0, r5, r0
/* 80312458 0030F398 90 05 00 0C */ stw r0, 0xc(r5)
/* 8031245C 0030F39C 38 84 00 01 */ addi r4, r4, 1
lbl_80312460:
/* 80312460 0030F3A0 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 80312464 0030F3A4 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80312468 0030F3A8 7C 03 00 40 */ cmplw r3, r0
/* 8031246C 0030F3AC 41 80 FF 00 */ blt lbl_8031236C
lbl_80312470:
/* 80312470 0030F3B0 39 61 00 20 */ addi r11, r1, 0x20
/* 80312474 0030F3B4 48 04 FD B1 */ bl func_80362224
/* 80312478 0030F3B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031247C 0030F3BC 7C 08 03 A6 */ mtlr r0
/* 80312480 0030F3C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80312484 0030F3C4 4E 80 00 20 */ blr
+714
View File
@@ -0,0 +1,714 @@
.include "macros.inc"
.section .text, "ax" # 80311630
.global __MTGQR7
__MTGQR7:
/* 80311630 0030E570 7C 77 E3 A6 */ mtspr 0x397, r3
/* 80311634 0030E574 4E 80 00 20 */ blr
.global J3DGQRSetup7
J3DGQRSetup7:
/* 80311638 0030E578 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031163C 0030E57C 7C 08 02 A6 */ mflr r0
/* 80311640 0030E580 90 01 00 14 */ stw r0, 0x14(r1)
/* 80311644 0030E584 54 60 40 2E */ slwi r0, r3, 8
/* 80311648 0030E588 7C 00 22 14 */ add r0, r0, r4
/* 8031164C 0030E58C 54 03 80 1E */ slwi r3, r0, 0x10
/* 80311650 0030E590 54 A0 40 2E */ slwi r0, r5, 8
/* 80311654 0030E594 7C 00 32 14 */ add r0, r0, r6
/* 80311658 0030E598 7C 63 03 78 */ or r3, r3, r0
/* 8031165C 0030E59C 4B FF FF D5 */ bl __MTGQR7
/* 80311660 0030E5A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80311664 0030E5A4 7C 08 03 A6 */ mtlr r0
/* 80311668 0030E5A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8031166C 0030E5AC 4E 80 00 20 */ blr
.global J3DCalcBBoardMtx
J3DCalcBBoardMtx:
/* 80311670 0030E5B0 C0 23 00 20 */ lfs f1, 0x20(r3)
/* 80311674 0030E5B4 EC 61 00 72 */ fmuls f3, f1, f1
/* 80311678 0030E5B8 C0 23 00 00 */ lfs f1, 0(r3)
/* 8031167C 0030E5BC EC 41 00 72 */ fmuls f2, f1, f1
/* 80311680 0030E5C0 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80311684 0030E5C4 EC 21 00 72 */ fmuls f1, f1, f1
/* 80311688 0030E5C8 EC 22 08 2A */ fadds f1, f2, f1
/* 8031168C 0030E5CC EC 83 08 2A */ fadds f4, f3, f1
/* 80311690 0030E5D0 C0 23 00 24 */ lfs f1, 0x24(r3)
/* 80311694 0030E5D4 EC 61 00 72 */ fmuls f3, f1, f1
/* 80311698 0030E5D8 C0 23 00 04 */ lfs f1, 4(r3)
/* 8031169C 0030E5DC EC 41 00 72 */ fmuls f2, f1, f1
/* 803116A0 0030E5E0 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 803116A4 0030E5E4 EC 21 00 72 */ fmuls f1, f1, f1
/* 803116A8 0030E5E8 EC 22 08 2A */ fadds f1, f2, f1
/* 803116AC 0030E5EC EC A3 08 2A */ fadds f5, f3, f1
/* 803116B0 0030E5F0 C0 23 00 28 */ lfs f1, 0x28(r3)
/* 803116B4 0030E5F4 EC 61 00 72 */ fmuls f3, f1, f1
/* 803116B8 0030E5F8 C0 23 00 08 */ lfs f1, 8(r3)
/* 803116BC 0030E5FC EC 41 00 72 */ fmuls f2, f1, f1
/* 803116C0 0030E600 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 803116C4 0030E604 EC 21 00 72 */ fmuls f1, f1, f1
/* 803116C8 0030E608 EC 22 08 2A */ fadds f1, f2, f1
/* 803116CC 0030E60C EC 43 08 2A */ fadds f2, f3, f1
/* 803116D0 0030E610 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 803116D4 0030E614 FC 04 08 40 */ fcmpo cr0, f4, f1
/* 803116D8 0030E618 40 81 00 1C */ ble lbl_803116F4
/* 803116DC 0030E61C 40 81 00 10 */ ble lbl_803116EC
/* 803116E0 0030E620 FC 20 20 34 */ frsqrte f1, f4
/* 803116E4 0030E624 EC 21 01 32 */ fmuls f1, f1, f4
/* 803116E8 0030E628 48 00 00 08 */ b lbl_803116F0
lbl_803116EC:
/* 803116EC 0030E62C FC 20 20 90 */ fmr f1, f4
lbl_803116F0:
/* 803116F0 0030E630 FC 80 08 90 */ fmr f4, f1
lbl_803116F4:
/* 803116F4 0030E634 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 803116F8 0030E638 FC 05 08 40 */ fcmpo cr0, f5, f1
/* 803116FC 0030E63C 40 81 00 1C */ ble lbl_80311718
/* 80311700 0030E640 40 81 00 10 */ ble lbl_80311710
/* 80311704 0030E644 FC 20 28 34 */ frsqrte f1, f5
/* 80311708 0030E648 EC 21 01 72 */ fmuls f1, f1, f5
/* 8031170C 0030E64C 48 00 00 08 */ b lbl_80311714
lbl_80311710:
/* 80311710 0030E650 FC 20 28 90 */ fmr f1, f5
lbl_80311714:
/* 80311714 0030E654 FC A0 08 90 */ fmr f5, f1
lbl_80311718:
/* 80311718 0030E658 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 8031171C 0030E65C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80311720 0030E660 40 81 00 1C */ ble lbl_8031173C
/* 80311724 0030E664 40 81 00 10 */ ble lbl_80311734
/* 80311728 0030E668 FC 20 10 34 */ frsqrte f1, f2
/* 8031172C 0030E66C EC 21 00 B2 */ fmuls f1, f1, f2
/* 80311730 0030E670 48 00 00 08 */ b lbl_80311738
lbl_80311734:
/* 80311734 0030E674 FC 20 10 90 */ fmr f1, f2
lbl_80311738:
/* 80311738 0030E678 FC 40 08 90 */ fmr f2, f1
lbl_8031173C:
/* 8031173C 0030E67C C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311740 0030E680 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
/* 80311744 0030E684 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
/* 80311748 0030E688 D0 83 00 00 */ stfs f4, 0(r3)
/* 8031174C 0030E68C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80311750 0030E690 D0 A3 00 14 */ stfs f5, 0x14(r3)
/* 80311754 0030E694 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80311758 0030E698 D0 43 00 28 */ stfs f2, 0x28(r3)
/* 8031175C 0030E69C 4E 80 00 20 */ blr
.global J3DCalcYBBoardMtx
J3DCalcYBBoardMtx:
/* 80311760 0030E6A0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80311764 0030E6A4 7C 08 02 A6 */ mflr r0
/* 80311768 0030E6A8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8031176C 0030E6AC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80311770 0030E6B0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80311774 0030E6B4 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80311778 0030E6B8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8031177C 0030E6BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80311780 0030E6C0 7C 7F 1B 78 */ mr r31, r3
/* 80311784 0030E6C4 C0 03 00 20 */ lfs f0, 0x20(r3)
/* 80311788 0030E6C8 EC 40 00 32 */ fmuls f2, f0, f0
/* 8031178C 0030E6CC C0 03 00 00 */ lfs f0, 0(r3)
/* 80311790 0030E6D0 EC 20 00 32 */ fmuls f1, f0, f0
/* 80311794 0030E6D4 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80311798 0030E6D8 EC 00 00 32 */ fmuls f0, f0, f0
/* 8031179C 0030E6DC EC 01 00 2A */ fadds f0, f1, f0
/* 803117A0 0030E6E0 EF E2 00 2A */ fadds f31, f2, f0
/* 803117A4 0030E6E4 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 803117A8 0030E6E8 EC 40 00 32 */ fmuls f2, f0, f0
/* 803117AC 0030E6EC C0 03 00 08 */ lfs f0, 8(r3)
/* 803117B0 0030E6F0 EC 20 00 32 */ fmuls f1, f0, f0
/* 803117B4 0030E6F4 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 803117B8 0030E6F8 EC 00 00 32 */ fmuls f0, f0, f0
/* 803117BC 0030E6FC EC 01 00 2A */ fadds f0, f1, f0
/* 803117C0 0030E700 EF C2 00 2A */ fadds f30, f2, f0
/* 803117C4 0030E704 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 803117C8 0030E708 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 803117CC 0030E70C 40 81 00 1C */ ble lbl_803117E8
/* 803117D0 0030E710 40 81 00 10 */ ble lbl_803117E0
/* 803117D4 0030E714 FC 00 F8 34 */ frsqrte f0, f31
/* 803117D8 0030E718 EC 00 07 F2 */ fmuls f0, f0, f31
/* 803117DC 0030E71C 48 00 00 08 */ b lbl_803117E4
lbl_803117E0:
/* 803117E0 0030E720 FC 00 F8 90 */ fmr f0, f31
lbl_803117E4:
/* 803117E4 0030E724 FF E0 00 90 */ fmr f31, f0
lbl_803117E8:
/* 803117E8 0030E728 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 803117EC 0030E72C FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 803117F0 0030E730 40 81 00 1C */ ble lbl_8031180C
/* 803117F4 0030E734 40 81 00 10 */ ble lbl_80311804
/* 803117F8 0030E738 FC 00 F0 34 */ frsqrte f0, f30
/* 803117FC 0030E73C EC 00 07 B2 */ fmuls f0, f0, f30
/* 80311800 0030E740 48 00 00 08 */ b lbl_80311808
lbl_80311804:
/* 80311804 0030E744 FC 00 F0 90 */ fmr f0, f30
lbl_80311808:
/* 80311808 0030E748 FF C0 00 90 */ fmr f30, f0
lbl_8031180C:
/* 8031180C 0030E74C 3C 60 80 3A */ lis r3, lbl_803A1E8C@ha
/* 80311810 0030E750 38 83 1E 8C */ addi r4, r3, lbl_803A1E8C@l
/* 80311814 0030E754 80 64 00 00 */ lwz r3, 0(r4)
/* 80311818 0030E758 80 04 00 04 */ lwz r0, 4(r4)
/* 8031181C 0030E75C 90 61 00 08 */ stw r3, 8(r1)
/* 80311820 0030E760 90 01 00 0C */ stw r0, 0xc(r1)
/* 80311824 0030E764 80 04 00 08 */ lwz r0, 8(r4)
/* 80311828 0030E768 90 01 00 10 */ stw r0, 0x10(r1)
/* 8031182C 0030E76C C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 80311830 0030E770 FC 00 00 50 */ fneg f0, f0
/* 80311834 0030E774 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80311838 0030E778 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8031183C 0030E77C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80311840 0030E780 38 61 00 08 */ addi r3, r1, 8
/* 80311844 0030E784 7C 64 1B 78 */ mr r4, r3
/* 80311848 0030E788 48 03 58 AD */ bl PSVECNormalize
/* 8031184C 0030E78C D3 FF 00 00 */ stfs f31, 0(r31)
/* 80311850 0030E790 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 80311854 0030E794 D0 3F 00 08 */ stfs f1, 8(r31)
/* 80311858 0030E798 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 8031185C 0030E79C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80311860 0030E7A0 EC 00 07 B2 */ fmuls f0, f0, f30
/* 80311864 0030E7A4 D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 80311868 0030E7A8 D0 3F 00 20 */ stfs f1, 0x20(r31)
/* 8031186C 0030E7AC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80311870 0030E7B0 EC 00 07 B2 */ fmuls f0, f0, f30
/* 80311874 0030E7B4 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80311878 0030E7B8 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8031187C 0030E7BC CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80311880 0030E7C0 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 80311884 0030E7C4 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 80311888 0030E7C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8031188C 0030E7CC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80311890 0030E7D0 7C 08 03 A6 */ mtlr r0
/* 80311894 0030E7D4 38 21 00 40 */ addi r1, r1, 0x40
/* 80311898 0030E7D8 4E 80 00 20 */ blr
.global J3DPSCalcInverseTranspose
J3DPSCalcInverseTranspose:
/* 8031189C 0030E7DC E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
/* 803118A0 0030E7E0 E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
/* 803118A4 0030E7E4 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
/* 803118A8 0030E7E8 10 C1 04 A0 */ ps_merge10 f6, f1, f0
/* 803118AC 0030E7EC E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
/* 803118B0 0030E7F0 E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
/* 803118B4 0030E7F4 10 E3 14 A0 */ ps_merge10 f7, f3, f2
/* 803118B8 0030E7F8 E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
/* 803118BC 0030E7FC 11 63 01 B2 */ ps_mul f11, f3, f6
/* 803118C0 0030E800 11 05 24 A0 */ ps_merge10 f8, f5, f4
/* 803118C4 0030E804 11 A5 01 F2 */ ps_mul f13, f5, f7
/* 803118C8 0030E808 11 61 59 F8 */ ps_msub f11, f1, f7, f11
/* 803118CC 0030E80C 11 81 02 32 */ ps_mul f12, f1, f8
/* 803118D0 0030E810 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
/* 803118D4 0030E814 11 85 61 B8 */ ps_msub f12, f5, f6, f12
/* 803118D8 0030E818 11 43 01 32 */ ps_mul f10, f3, f4
/* 803118DC 0030E81C 11 20 01 72 */ ps_mul f9, f0, f5
/* 803118E0 0030E820 11 01 00 B2 */ ps_mul f8, f1, f2
/* 803118E4 0030E824 11 42 51 78 */ ps_msub f10, f2, f5, f10
/* 803118E8 0030E828 11 21 49 38 */ ps_msub f9, f1, f4, f9
/* 803118EC 0030E82C 11 00 40 F8 */ ps_msub f8, f0, f3, f8
/* 803118F0 0030E830 10 E0 03 72 */ ps_mul f7, f0, f13
/* 803118F4 0030E834 10 21 08 28 */ ps_sub f1, f1, f1
/* 803118F8 0030E838 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
/* 803118FC 0030E83C 10 E4 3A FA */ ps_madd f7, f4, f11, f7
/* 80311900 0030E840 10 07 08 40 */ ps_cmpo0 cr0, f7, f1
/* 80311904 0030E844 40 82 00 0C */ bne lbl_80311910
/* 80311908 0030E848 38 60 00 00 */ li r3, 0
/* 8031190C 0030E84C 4E 80 00 20 */ blr
lbl_80311910:
/* 80311910 0030E850 EC 00 38 30 */ fres f0, f7
/* 80311914 0030E854 10 C0 00 2A */ ps_add f6, f0, f0
/* 80311918 0030E858 10 A0 00 32 */ ps_mul f5, f0, f0
/* 8031191C 0030E85C 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
/* 80311920 0030E860 10 C0 00 2A */ ps_add f6, f0, f0
/* 80311924 0030E864 10 A0 00 32 */ ps_mul f5, f0, f0
/* 80311928 0030E868 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
/* 8031192C 0030E86C 11 AD 00 18 */ ps_muls0 f13, f13, f0
/* 80311930 0030E870 11 8C 00 18 */ ps_muls0 f12, f12, f0
/* 80311934 0030E874 F1 A4 00 00 */ psq_st f13, 0(r4), 0, qr0
/* 80311938 0030E878 11 6B 00 18 */ ps_muls0 f11, f11, f0
/* 8031193C 0030E87C F1 84 00 0C */ psq_st f12, 12(r4), 0, qr0
/* 80311940 0030E880 11 4A 00 18 */ ps_muls0 f10, f10, f0
/* 80311944 0030E884 F1 64 00 18 */ psq_st f11, 24(r4), 0, qr0
/* 80311948 0030E888 11 29 00 18 */ ps_muls0 f9, f9, f0
/* 8031194C 0030E88C F1 44 80 08 */ psq_st f10, 8(r4), 1, qr0
/* 80311950 0030E890 11 08 00 18 */ ps_muls0 f8, f8, f0
/* 80311954 0030E894 F1 24 80 14 */ psq_st f9, 20(r4), 1, qr0
/* 80311958 0030E898 38 60 00 01 */ li r3, 1
/* 8031195C 0030E89C F1 04 80 20 */ psq_st f8, 32(r4), 1, qr0
/* 80311960 0030E8A0 4E 80 00 20 */ blr
.global J3DGetTranslateRotateMtx
J3DGetTranslateRotateMtx:
/* 80311964 0030E8A4 A8 03 00 0C */ lha r0, 0xc(r3)
/* 80311968 0030E8A8 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 8031196C 0030E8AC 3C A0 80 44 */ lis r5, lbl_80439A20@ha
/* 80311970 0030E8B0 38 A5 9A 20 */ addi r5, r5, lbl_80439A20@l
/* 80311974 0030E8B4 7C 25 04 2E */ lfsx f1, r5, r0
/* 80311978 0030E8B8 38 C5 00 04 */ addi r6, r5, 4
/* 8031197C 0030E8BC 7C 46 04 2E */ lfsx f2, r6, r0
/* 80311980 0030E8C0 A8 03 00 0E */ lha r0, 0xe(r3)
/* 80311984 0030E8C4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311988 0030E8C8 7C 65 04 2E */ lfsx f3, r5, r0
/* 8031198C 0030E8CC 7C 86 04 2E */ lfsx f4, r6, r0
/* 80311990 0030E8D0 A8 03 00 10 */ lha r0, 0x10(r3)
/* 80311994 0030E8D4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311998 0030E8D8 7C A5 04 2E */ lfsx f5, r5, r0
/* 8031199C 0030E8DC 7C C6 04 2E */ lfsx f6, r6, r0
/* 803119A0 0030E8E0 FC 00 18 50 */ fneg f0, f3
/* 803119A4 0030E8E4 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 803119A8 0030E8E8 EC 06 01 32 */ fmuls f0, f6, f4
/* 803119AC 0030E8EC D0 04 00 00 */ stfs f0, 0(r4)
/* 803119B0 0030E8F0 EC 05 01 32 */ fmuls f0, f5, f4
/* 803119B4 0030E8F4 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 803119B8 0030E8F8 EC 04 00 72 */ fmuls f0, f4, f1
/* 803119BC 0030E8FC D0 04 00 24 */ stfs f0, 0x24(r4)
/* 803119C0 0030E900 EC 04 00 B2 */ fmuls f0, f4, f2
/* 803119C4 0030E904 D0 04 00 28 */ stfs f0, 0x28(r4)
/* 803119C8 0030E908 EC 82 01 72 */ fmuls f4, f2, f5
/* 803119CC 0030E90C EC E1 01 B2 */ fmuls f7, f1, f6
/* 803119D0 0030E910 EC 07 00 F2 */ fmuls f0, f7, f3
/* 803119D4 0030E914 EC 00 20 28 */ fsubs f0, f0, f4
/* 803119D8 0030E918 D0 04 00 04 */ stfs f0, 4(r4)
/* 803119DC 0030E91C EC 04 00 F2 */ fmuls f0, f4, f3
/* 803119E0 0030E920 EC 00 38 28 */ fsubs f0, f0, f7
/* 803119E4 0030E924 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 803119E8 0030E928 EC 21 01 72 */ fmuls f1, f1, f5
/* 803119EC 0030E92C EC 42 01 B2 */ fmuls f2, f2, f6
/* 803119F0 0030E930 EC 02 00 F2 */ fmuls f0, f2, f3
/* 803119F4 0030E934 EC 01 00 2A */ fadds f0, f1, f0
/* 803119F8 0030E938 D0 04 00 08 */ stfs f0, 8(r4)
/* 803119FC 0030E93C EC 01 00 F2 */ fmuls f0, f1, f3
/* 80311A00 0030E940 EC 02 00 2A */ fadds f0, f2, f0
/* 80311A04 0030E944 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80311A08 0030E948 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 80311A0C 0030E94C D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80311A10 0030E950 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80311A14 0030E954 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80311A18 0030E958 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 80311A1C 0030E95C D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80311A20 0030E960 4E 80 00 20 */ blr
.global J3DGetTranslateRotateMtx_X1_
J3DGetTranslateRotateMtx_X1_:
/* 80311A24 0030E964 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c
/* 80311A28 0030E968 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 80311A2C 0030E96C 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 80311A30 0030E970 7C 83 04 2E */ lfsx f4, r3, r0
/* 80311A34 0030E974 38 E3 00 04 */ addi r7, r3, 4
/* 80311A38 0030E978 7C A7 04 2E */ lfsx f5, r7, r0
/* 80311A3C 0030E97C 54 80 04 38 */ rlwinm r0, r4, 0, 0x10, 0x1c
/* 80311A40 0030E980 7C C3 04 2E */ lfsx f6, r3, r0
/* 80311A44 0030E984 7C E7 04 2E */ lfsx f7, r7, r0
/* 80311A48 0030E988 54 A0 04 38 */ rlwinm r0, r5, 0, 0x10, 0x1c
/* 80311A4C 0030E98C 7D 03 04 2E */ lfsx f8, r3, r0
/* 80311A50 0030E990 7D 27 04 2E */ lfsx f9, r7, r0
/* 80311A54 0030E994 FC 00 30 50 */ fneg f0, f6
/* 80311A58 0030E998 D0 06 00 20 */ stfs f0, 0x20(r6)
/* 80311A5C 0030E99C EC 09 01 F2 */ fmuls f0, f9, f7
/* 80311A60 0030E9A0 D0 06 00 00 */ stfs f0, 0(r6)
/* 80311A64 0030E9A4 EC 08 01 F2 */ fmuls f0, f8, f7
/* 80311A68 0030E9A8 D0 06 00 10 */ stfs f0, 0x10(r6)
/* 80311A6C 0030E9AC EC 07 01 32 */ fmuls f0, f7, f4
/* 80311A70 0030E9B0 D0 06 00 24 */ stfs f0, 0x24(r6)
/* 80311A74 0030E9B4 EC 07 01 72 */ fmuls f0, f7, f5
/* 80311A78 0030E9B8 D0 06 00 28 */ stfs f0, 0x28(r6)
/* 80311A7C 0030E9BC EC E5 02 32 */ fmuls f7, f5, f8
/* 80311A80 0030E9C0 ED 44 02 72 */ fmuls f10, f4, f9
/* 80311A84 0030E9C4 EC 0A 01 B2 */ fmuls f0, f10, f6
/* 80311A88 0030E9C8 EC 00 38 28 */ fsubs f0, f0, f7
/* 80311A8C 0030E9CC D0 06 00 04 */ stfs f0, 4(r6)
/* 80311A90 0030E9D0 EC 07 01 B2 */ fmuls f0, f7, f6
/* 80311A94 0030E9D4 EC 00 50 28 */ fsubs f0, f0, f10
/* 80311A98 0030E9D8 D0 06 00 18 */ stfs f0, 0x18(r6)
/* 80311A9C 0030E9DC EC 84 02 32 */ fmuls f4, f4, f8
/* 80311AA0 0030E9E0 EC A5 02 72 */ fmuls f5, f5, f9
/* 80311AA4 0030E9E4 EC 05 01 B2 */ fmuls f0, f5, f6
/* 80311AA8 0030E9E8 EC 04 00 2A */ fadds f0, f4, f0
/* 80311AAC 0030E9EC D0 06 00 08 */ stfs f0, 8(r6)
/* 80311AB0 0030E9F0 EC 04 01 B2 */ fmuls f0, f4, f6
/* 80311AB4 0030E9F4 EC 05 00 2A */ fadds f0, f5, f0
/* 80311AB8 0030E9F8 D0 06 00 14 */ stfs f0, 0x14(r6)
/* 80311ABC 0030E9FC D0 26 00 0C */ stfs f1, 0xc(r6)
/* 80311AC0 0030EA00 D0 46 00 1C */ stfs f2, 0x1c(r6)
/* 80311AC4 0030EA04 D0 66 00 2C */ stfs f3, 0x2c(r6)
/* 80311AC8 0030EA08 4E 80 00 20 */ blr
.global J3DGetTextureMtx
J3DGetTextureMtx:
/* 80311ACC 0030EA0C A8 03 00 08 */ lha r0, 8(r3)
/* 80311AD0 0030EA10 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311AD4 0030EA14 3C C0 80 44 */ lis r6, lbl_80439A20@ha
/* 80311AD8 0030EA18 38 C6 9A 20 */ addi r6, r6, lbl_80439A20@l
/* 80311ADC 0030EA1C 7C 06 04 2E */ lfsx f0, r6, r0
/* 80311AE0 0030EA20 7C C6 02 14 */ add r6, r6, r0
/* 80311AE4 0030EA24 C0 26 00 04 */ lfs f1, 4(r6)
/* 80311AE8 0030EA28 C0 43 00 00 */ lfs f2, 0(r3)
/* 80311AEC 0030EA2C EC 62 00 72 */ fmuls f3, f2, f1
/* 80311AF0 0030EA30 EC A2 00 32 */ fmuls f5, f2, f0
/* 80311AF4 0030EA34 C0 43 00 04 */ lfs f2, 4(r3)
/* 80311AF8 0030EA38 EC C2 00 32 */ fmuls f6, f2, f0
/* 80311AFC 0030EA3C EC E2 00 72 */ fmuls f7, f2, f1
/* 80311B00 0030EA40 D0 65 00 00 */ stfs f3, 0(r5)
/* 80311B04 0030EA44 FC 00 28 50 */ fneg f0, f5
/* 80311B08 0030EA48 D0 05 00 04 */ stfs f0, 4(r5)
/* 80311B0C 0030EA4C C0 43 00 0C */ lfs f2, 0xc(r3)
/* 80311B10 0030EA50 C0 84 00 00 */ lfs f4, 0(r4)
/* 80311B14 0030EA54 FC 00 18 50 */ fneg f0, f3
/* 80311B18 0030EA58 EC 20 01 32 */ fmuls f1, f0, f4
/* 80311B1C 0030EA5C C0 64 00 04 */ lfs f3, 4(r4)
/* 80311B20 0030EA60 EC 05 00 F2 */ fmuls f0, f5, f3
/* 80311B24 0030EA64 EC 01 00 2A */ fadds f0, f1, f0
/* 80311B28 0030EA68 EC 04 00 2A */ fadds f0, f4, f0
/* 80311B2C 0030EA6C EC 02 00 2A */ fadds f0, f2, f0
/* 80311B30 0030EA70 D0 05 00 08 */ stfs f0, 8(r5)
/* 80311B34 0030EA74 D0 C5 00 10 */ stfs f6, 0x10(r5)
/* 80311B38 0030EA78 D0 E5 00 14 */ stfs f7, 0x14(r5)
/* 80311B3C 0030EA7C C0 43 00 10 */ lfs f2, 0x10(r3)
/* 80311B40 0030EA80 FC 00 30 50 */ fneg f0, f6
/* 80311B44 0030EA84 EC 20 01 32 */ fmuls f1, f0, f4
/* 80311B48 0030EA88 EC 07 00 F2 */ fmuls f0, f7, f3
/* 80311B4C 0030EA8C EC 01 00 28 */ fsubs f0, f1, f0
/* 80311B50 0030EA90 EC 03 00 2A */ fadds f0, f3, f0
/* 80311B54 0030EA94 EC 02 00 2A */ fadds f0, f2, f0
/* 80311B58 0030EA98 D0 05 00 18 */ stfs f0, 0x18(r5)
/* 80311B5C 0030EA9C C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311B60 0030EAA0 D0 05 00 2C */ stfs f0, 0x2c(r5)
/* 80311B64 0030EAA4 D0 05 00 24 */ stfs f0, 0x24(r5)
/* 80311B68 0030EAA8 D0 05 00 20 */ stfs f0, 0x20(r5)
/* 80311B6C 0030EAAC D0 05 00 1C */ stfs f0, 0x1c(r5)
/* 80311B70 0030EAB0 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80311B74 0030EAB4 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311B78 0030EAB8 D0 05 00 28 */ stfs f0, 0x28(r5)
/* 80311B7C 0030EABC 4E 80 00 20 */ blr
.global J3DGetTextureMtxOld
J3DGetTextureMtxOld:
/* 80311B80 0030EAC0 A8 03 00 08 */ lha r0, 8(r3)
/* 80311B84 0030EAC4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311B88 0030EAC8 3C C0 80 44 */ lis r6, lbl_80439A20@ha
/* 80311B8C 0030EACC 38 C6 9A 20 */ addi r6, r6, lbl_80439A20@l
/* 80311B90 0030EAD0 7C 06 04 2E */ lfsx f0, r6, r0
/* 80311B94 0030EAD4 7C C6 02 14 */ add r6, r6, r0
/* 80311B98 0030EAD8 C0 26 00 04 */ lfs f1, 4(r6)
/* 80311B9C 0030EADC C0 43 00 00 */ lfs f2, 0(r3)
/* 80311BA0 0030EAE0 EC 62 00 72 */ fmuls f3, f2, f1
/* 80311BA4 0030EAE4 EC A2 00 32 */ fmuls f5, f2, f0
/* 80311BA8 0030EAE8 C0 43 00 04 */ lfs f2, 4(r3)
/* 80311BAC 0030EAEC EC C2 00 32 */ fmuls f6, f2, f0
/* 80311BB0 0030EAF0 EC E2 00 72 */ fmuls f7, f2, f1
/* 80311BB4 0030EAF4 D0 65 00 00 */ stfs f3, 0(r5)
/* 80311BB8 0030EAF8 FC 00 28 50 */ fneg f0, f5
/* 80311BBC 0030EAFC D0 05 00 04 */ stfs f0, 4(r5)
/* 80311BC0 0030EB00 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 80311BC4 0030EB04 C0 84 00 00 */ lfs f4, 0(r4)
/* 80311BC8 0030EB08 FC 00 18 50 */ fneg f0, f3
/* 80311BCC 0030EB0C EC 20 01 32 */ fmuls f1, f0, f4
/* 80311BD0 0030EB10 C0 64 00 04 */ lfs f3, 4(r4)
/* 80311BD4 0030EB14 EC 05 00 F2 */ fmuls f0, f5, f3
/* 80311BD8 0030EB18 EC 01 00 2A */ fadds f0, f1, f0
/* 80311BDC 0030EB1C EC 04 00 2A */ fadds f0, f4, f0
/* 80311BE0 0030EB20 EC 02 00 2A */ fadds f0, f2, f0
/* 80311BE4 0030EB24 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80311BE8 0030EB28 D0 C5 00 10 */ stfs f6, 0x10(r5)
/* 80311BEC 0030EB2C D0 E5 00 14 */ stfs f7, 0x14(r5)
/* 80311BF0 0030EB30 C0 43 00 10 */ lfs f2, 0x10(r3)
/* 80311BF4 0030EB34 FC 00 30 50 */ fneg f0, f6
/* 80311BF8 0030EB38 EC 20 01 32 */ fmuls f1, f0, f4
/* 80311BFC 0030EB3C EC 07 00 F2 */ fmuls f0, f7, f3
/* 80311C00 0030EB40 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311C04 0030EB44 EC 03 00 2A */ fadds f0, f3, f0
/* 80311C08 0030EB48 EC 02 00 2A */ fadds f0, f2, f0
/* 80311C0C 0030EB4C D0 05 00 1C */ stfs f0, 0x1c(r5)
/* 80311C10 0030EB50 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311C14 0030EB54 D0 05 00 2C */ stfs f0, 0x2c(r5)
/* 80311C18 0030EB58 D0 05 00 24 */ stfs f0, 0x24(r5)
/* 80311C1C 0030EB5C D0 05 00 20 */ stfs f0, 0x20(r5)
/* 80311C20 0030EB60 D0 05 00 18 */ stfs f0, 0x18(r5)
/* 80311C24 0030EB64 D0 05 00 08 */ stfs f0, 8(r5)
/* 80311C28 0030EB68 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311C2C 0030EB6C D0 05 00 28 */ stfs f0, 0x28(r5)
/* 80311C30 0030EB70 4E 80 00 20 */ blr
.global J3DGetTextureMtxMaya
J3DGetTextureMtxMaya:
/* 80311C34 0030EB74 A8 03 00 08 */ lha r0, 8(r3)
/* 80311C38 0030EB78 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311C3C 0030EB7C 3C A0 80 44 */ lis r5, lbl_80439A20@ha
/* 80311C40 0030EB80 38 A5 9A 20 */ addi r5, r5, lbl_80439A20@l
/* 80311C44 0030EB84 7C C5 04 2E */ lfsx f6, r5, r0
/* 80311C48 0030EB88 7C A5 02 14 */ add r5, r5, r0
/* 80311C4C 0030EB8C C0 E5 00 04 */ lfs f7, 4(r5)
/* 80311C50 0030EB90 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80311C54 0030EB94 C0 A2 C9 80 */ lfs f5, lbl_80456380-_SDA2_BASE_(r2)
/* 80311C58 0030EB98 ED 00 28 28 */ fsubs f8, f0, f5
/* 80311C5C 0030EB9C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80311C60 0030EBA0 EC 40 28 28 */ fsubs f2, f0, f5
/* 80311C64 0030EBA4 C0 83 00 00 */ lfs f4, 0(r3)
/* 80311C68 0030EBA8 EC 04 01 F2 */ fmuls f0, f4, f7
/* 80311C6C 0030EBAC D0 04 00 00 */ stfs f0, 0(r4)
/* 80311C70 0030EBB0 C0 63 00 04 */ lfs f3, 4(r3)
/* 80311C74 0030EBB4 EC 03 01 B2 */ fmuls f0, f3, f6
/* 80311C78 0030EBB8 D0 04 00 04 */ stfs f0, 4(r4)
/* 80311C7C 0030EBBC EC 28 01 F2 */ fmuls f1, f8, f7
/* 80311C80 0030EBC0 EC 42 18 2A */ fadds f2, f2, f3
/* 80311C84 0030EBC4 EC 06 00 B2 */ fmuls f0, f6, f2
/* 80311C88 0030EBC8 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311C8C 0030EBCC EC 05 00 2A */ fadds f0, f5, f0
/* 80311C90 0030EBD0 D0 04 00 08 */ stfs f0, 8(r4)
/* 80311C94 0030EBD4 FC 00 20 50 */ fneg f0, f4
/* 80311C98 0030EBD8 EC 00 01 B2 */ fmuls f0, f0, f6
/* 80311C9C 0030EBDC D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80311CA0 0030EBE0 EC 03 01 F2 */ fmuls f0, f3, f7
/* 80311CA4 0030EBE4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80311CA8 0030EBE8 FC 00 40 50 */ fneg f0, f8
/* 80311CAC 0030EBEC EC 20 01 B2 */ fmuls f1, f0, f6
/* 80311CB0 0030EBF0 EC 07 00 B2 */ fmuls f0, f7, f2
/* 80311CB4 0030EBF4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311CB8 0030EBF8 EC 05 00 2A */ fadds f0, f5, f0
/* 80311CBC 0030EBFC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80311CC0 0030EC00 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311CC4 0030EC04 D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80311CC8 0030EC08 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 80311CCC 0030EC0C D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80311CD0 0030EC10 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80311CD4 0030EC14 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80311CD8 0030EC18 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311CDC 0030EC1C D0 04 00 28 */ stfs f0, 0x28(r4)
/* 80311CE0 0030EC20 4E 80 00 20 */ blr
.global J3DGetTextureMtxMayaOld
J3DGetTextureMtxMayaOld:
/* 80311CE4 0030EC24 A8 03 00 08 */ lha r0, 8(r3)
/* 80311CE8 0030EC28 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311CEC 0030EC2C 3C A0 80 44 */ lis r5, lbl_80439A20@ha
/* 80311CF0 0030EC30 38 A5 9A 20 */ addi r5, r5, lbl_80439A20@l
/* 80311CF4 0030EC34 7C C5 04 2E */ lfsx f6, r5, r0
/* 80311CF8 0030EC38 7C A5 02 14 */ add r5, r5, r0
/* 80311CFC 0030EC3C C0 E5 00 04 */ lfs f7, 4(r5)
/* 80311D00 0030EC40 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80311D04 0030EC44 C0 A2 C9 80 */ lfs f5, lbl_80456380-_SDA2_BASE_(r2)
/* 80311D08 0030EC48 ED 00 28 28 */ fsubs f8, f0, f5
/* 80311D0C 0030EC4C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80311D10 0030EC50 EC 40 28 28 */ fsubs f2, f0, f5
/* 80311D14 0030EC54 C0 83 00 00 */ lfs f4, 0(r3)
/* 80311D18 0030EC58 EC 04 01 F2 */ fmuls f0, f4, f7
/* 80311D1C 0030EC5C D0 04 00 00 */ stfs f0, 0(r4)
/* 80311D20 0030EC60 C0 63 00 04 */ lfs f3, 4(r3)
/* 80311D24 0030EC64 EC 03 01 B2 */ fmuls f0, f3, f6
/* 80311D28 0030EC68 D0 04 00 04 */ stfs f0, 4(r4)
/* 80311D2C 0030EC6C EC 28 01 F2 */ fmuls f1, f8, f7
/* 80311D30 0030EC70 EC 42 18 2A */ fadds f2, f2, f3
/* 80311D34 0030EC74 EC 06 00 B2 */ fmuls f0, f6, f2
/* 80311D38 0030EC78 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311D3C 0030EC7C EC 05 00 2A */ fadds f0, f5, f0
/* 80311D40 0030EC80 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80311D44 0030EC84 FC 00 20 50 */ fneg f0, f4
/* 80311D48 0030EC88 EC 00 01 B2 */ fmuls f0, f0, f6
/* 80311D4C 0030EC8C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80311D50 0030EC90 EC 03 01 F2 */ fmuls f0, f3, f7
/* 80311D54 0030EC94 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80311D58 0030EC98 FC 00 40 50 */ fneg f0, f8
/* 80311D5C 0030EC9C EC 20 01 B2 */ fmuls f1, f0, f6
/* 80311D60 0030ECA0 EC 07 00 B2 */ fmuls f0, f7, f2
/* 80311D64 0030ECA4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311D68 0030ECA8 EC 05 00 2A */ fadds f0, f5, f0
/* 80311D6C 0030ECAC D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80311D70 0030ECB0 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311D74 0030ECB4 D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80311D78 0030ECB8 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 80311D7C 0030ECBC D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80311D80 0030ECC0 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80311D84 0030ECC4 D0 04 00 08 */ stfs f0, 8(r4)
/* 80311D88 0030ECC8 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311D8C 0030ECCC D0 04 00 28 */ stfs f0, 0x28(r4)
/* 80311D90 0030ECD0 4E 80 00 20 */ blr
.global J3DScaleNrmMtx
J3DScaleNrmMtx:
/* 80311D94 0030ECD4 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 80311D98 0030ECD8 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80311D9C 0030ECDC C0 64 00 08 */ lfs f3, 8(r4)
/* 80311DA0 0030ECE0 C0 23 00 08 */ lfs f1, 8(r3)
/* 80311DA4 0030ECE4 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80311DA8 0030ECE8 F0 83 00 00 */ psq_st f4, 0(r3), 0, qr0
/* 80311DAC 0030ECEC EC 81 00 F2 */ fmuls f4, f1, f3
/* 80311DB0 0030ECF0 D0 83 00 08 */ stfs f4, 8(r3)
/* 80311DB4 0030ECF4 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 80311DB8 0030ECF8 E0 03 00 10 */ psq_l f0, 16(r3), 0, qr0
/* 80311DBC 0030ECFC C0 64 00 08 */ lfs f3, 8(r4)
/* 80311DC0 0030ED00 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 80311DC4 0030ED04 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80311DC8 0030ED08 F0 83 00 10 */ psq_st f4, 16(r3), 0, qr0
/* 80311DCC 0030ED0C EC 81 00 F2 */ fmuls f4, f1, f3
/* 80311DD0 0030ED10 D0 83 00 18 */ stfs f4, 0x18(r3)
/* 80311DD4 0030ED14 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 80311DD8 0030ED18 E0 03 00 20 */ psq_l f0, 32(r3), 0, qr0
/* 80311DDC 0030ED1C C0 64 00 08 */ lfs f3, 8(r4)
/* 80311DE0 0030ED20 C0 23 00 28 */ lfs f1, 0x28(r3)
/* 80311DE4 0030ED24 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80311DE8 0030ED28 F0 83 00 20 */ psq_st f4, 32(r3), 0, qr0
/* 80311DEC 0030ED2C EC 81 00 F2 */ fmuls f4, f1, f3
/* 80311DF0 0030ED30 D0 83 00 28 */ stfs f4, 0x28(r3)
/* 80311DF4 0030ED34 4E 80 00 20 */ blr
.global J3DScaleNrmMtx33
J3DScaleNrmMtx33:
/* 80311DF8 0030ED38 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80311DFC 0030ED3C E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
/* 80311E00 0030ED40 C0 23 00 08 */ lfs f1, 8(r3)
/* 80311E04 0030ED44 C0 E4 00 08 */ lfs f7, 8(r4)
/* 80311E08 0030ED48 10 00 01 B2 */ ps_mul f0, f0, f6
/* 80311E0C 0030ED4C E0 43 00 0C */ psq_l f2, 12(r3), 0, qr0
/* 80311E10 0030ED50 EC 21 01 F2 */ fmuls f1, f1, f7
/* 80311E14 0030ED54 C0 63 00 14 */ lfs f3, 0x14(r3)
/* 80311E18 0030ED58 10 42 01 B2 */ ps_mul f2, f2, f6
/* 80311E1C 0030ED5C E0 83 00 18 */ psq_l f4, 24(r3), 0, qr0
/* 80311E20 0030ED60 EC 63 01 F2 */ fmuls f3, f3, f7
/* 80311E24 0030ED64 C0 A3 00 20 */ lfs f5, 0x20(r3)
/* 80311E28 0030ED68 10 84 01 B2 */ ps_mul f4, f4, f6
/* 80311E2C 0030ED6C F0 03 00 00 */ psq_st f0, 0(r3), 0, qr0
/* 80311E30 0030ED70 EC A5 01 F2 */ fmuls f5, f5, f7
/* 80311E34 0030ED74 D0 23 00 08 */ stfs f1, 8(r3)
/* 80311E38 0030ED78 F0 43 00 0C */ psq_st f2, 12(r3), 0, qr0
/* 80311E3C 0030ED7C D0 63 00 14 */ stfs f3, 0x14(r3)
/* 80311E40 0030ED80 F0 83 00 18 */ psq_st f4, 24(r3), 0, qr0
/* 80311E44 0030ED84 D0 A3 00 20 */ stfs f5, 0x20(r3)
/* 80311E48 0030ED88 4E 80 00 20 */ blr
.global J3DMtxProjConcat
J3DMtxProjConcat:
/* 80311E4C 0030ED8C E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
/* 80311E50 0030ED90 E0 63 00 08 */ psq_l f3, 8(r3), 0, qr0
/* 80311E54 0030ED94 10 C2 14 20 */ ps_merge00 f6, f2, f2
/* 80311E58 0030ED98 10 E2 14 E0 */ ps_merge11 f7, f2, f2
/* 80311E5C 0030ED9C 11 03 1C 20 */ ps_merge00 f8, f3, f3
/* 80311E60 0030EDA0 11 23 1C E0 */ ps_merge11 f9, f3, f3
/* 80311E64 0030EDA4 E1 44 00 00 */ psq_l f10, 0(r4), 0, qr0
/* 80311E68 0030EDA8 E1 64 00 10 */ psq_l f11, 16(r4), 0, qr0
/* 80311E6C 0030EDAC E1 84 00 20 */ psq_l f12, 32(r4), 0, qr0
/* 80311E70 0030EDB0 E1 A4 00 30 */ psq_l f13, 48(r4), 0, qr0
/* 80311E74 0030EDB4 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311E78 0030EDB8 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311E7C 0030EDBC 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311E80 0030EDC0 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311E84 0030EDC4 F0 05 00 00 */ psq_st f0, 0(r5), 0, qr0
/* 80311E88 0030EDC8 E1 44 00 08 */ psq_l f10, 8(r4), 0, qr0
/* 80311E8C 0030EDCC E1 64 00 18 */ psq_l f11, 24(r4), 0, qr0
/* 80311E90 0030EDD0 E1 84 00 28 */ psq_l f12, 40(r4), 0, qr0
/* 80311E94 0030EDD4 E1 A4 00 38 */ psq_l f13, 56(r4), 0, qr0
/* 80311E98 0030EDD8 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311E9C 0030EDDC 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311EA0 0030EDE0 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311EA4 0030EDE4 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311EA8 0030EDE8 F0 05 00 08 */ psq_st f0, 8(r5), 0, qr0
/* 80311EAC 0030EDEC E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 80311EB0 0030EDF0 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 80311EB4 0030EDF4 10 C2 14 20 */ ps_merge00 f6, f2, f2
/* 80311EB8 0030EDF8 10 E2 14 E0 */ ps_merge11 f7, f2, f2
/* 80311EBC 0030EDFC 11 03 1C 20 */ ps_merge00 f8, f3, f3
/* 80311EC0 0030EE00 11 23 1C E0 */ ps_merge11 f9, f3, f3
/* 80311EC4 0030EE04 E1 44 00 00 */ psq_l f10, 0(r4), 0, qr0
/* 80311EC8 0030EE08 E1 64 00 10 */ psq_l f11, 16(r4), 0, qr0
/* 80311ECC 0030EE0C E1 84 00 20 */ psq_l f12, 32(r4), 0, qr0
/* 80311ED0 0030EE10 E1 A4 00 30 */ psq_l f13, 48(r4), 0, qr0
/* 80311ED4 0030EE14 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311ED8 0030EE18 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311EDC 0030EE1C 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311EE0 0030EE20 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311EE4 0030EE24 F0 05 00 10 */ psq_st f0, 16(r5), 0, qr0
/* 80311EE8 0030EE28 E1 44 00 08 */ psq_l f10, 8(r4), 0, qr0
/* 80311EEC 0030EE2C E1 64 00 18 */ psq_l f11, 24(r4), 0, qr0
/* 80311EF0 0030EE30 E1 84 00 28 */ psq_l f12, 40(r4), 0, qr0
/* 80311EF4 0030EE34 E1 A4 00 38 */ psq_l f13, 56(r4), 0, qr0
/* 80311EF8 0030EE38 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311EFC 0030EE3C 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311F00 0030EE40 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311F04 0030EE44 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311F08 0030EE48 F0 05 00 18 */ psq_st f0, 24(r5), 0, qr0
/* 80311F0C 0030EE4C E0 43 00 20 */ psq_l f2, 32(r3), 0, qr0
/* 80311F10 0030EE50 E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
/* 80311F14 0030EE54 10 C2 14 20 */ ps_merge00 f6, f2, f2
/* 80311F18 0030EE58 10 E2 14 E0 */ ps_merge11 f7, f2, f2
/* 80311F1C 0030EE5C 11 03 1C 20 */ ps_merge00 f8, f3, f3
/* 80311F20 0030EE60 11 23 1C E0 */ ps_merge11 f9, f3, f3
/* 80311F24 0030EE64 E1 44 00 00 */ psq_l f10, 0(r4), 0, qr0
/* 80311F28 0030EE68 E1 64 00 10 */ psq_l f11, 16(r4), 0, qr0
/* 80311F2C 0030EE6C E1 84 00 20 */ psq_l f12, 32(r4), 0, qr0
/* 80311F30 0030EE70 E1 A4 00 30 */ psq_l f13, 48(r4), 0, qr0
/* 80311F34 0030EE74 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311F38 0030EE78 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311F3C 0030EE7C 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311F40 0030EE80 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311F44 0030EE84 F0 05 00 20 */ psq_st f0, 32(r5), 0, qr0
/* 80311F48 0030EE88 E1 44 00 08 */ psq_l f10, 8(r4), 0, qr0
/* 80311F4C 0030EE8C E1 64 00 18 */ psq_l f11, 24(r4), 0, qr0
/* 80311F50 0030EE90 E1 84 00 28 */ psq_l f12, 40(r4), 0, qr0
/* 80311F54 0030EE94 E1 A4 00 38 */ psq_l f13, 56(r4), 0, qr0
/* 80311F58 0030EE98 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311F5C 0030EE9C 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311F60 0030EEA0 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311F64 0030EEA4 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311F68 0030EEA8 F0 05 00 28 */ psq_st f0, 40(r5), 0, qr0
/* 80311F6C 0030EEAC 4E 80 00 20 */ blr
.global J3DPSMtxArrayConcat
J3DPSMtxArrayConcat:
/* 80311F70 0030EEB0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80311F74 0030EEB4 D9 C1 00 08 */ stfd f14, 8(r1)
/* 80311F78 0030EEB8 3C E0 80 45 */ lis r7, lbl_80450958@ha
/* 80311F7C 0030EEBC D9 E1 00 10 */ stfd f15, 0x10(r1)
/* 80311F80 0030EEC0 38 E7 09 58 */ addi r7, r7, lbl_80450958@l
/* 80311F84 0030EEC4 DB E1 00 28 */ stfd f31, 0x28(r1)
/* 80311F88 0030EEC8 38 84 FF F8 */ addi r4, r4, -8
/* 80311F8C 0030EECC 38 A5 FF F8 */ addi r5, r5, -8
/* 80311F90 0030EED0 7C C9 03 A6 */ mtctr r6
lbl_80311F94:
/* 80311F94 0030EED4 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80311F98 0030EED8 E0 C4 00 08 */ psq_l f6, 8(r4), 0, qr0
/* 80311F9C 0030EEDC E0 E4 00 10 */ psq_l f7, 16(r4), 0, qr0
/* 80311FA0 0030EEE0 E1 04 00 18 */ psq_l f8, 24(r4), 0, qr0
/* 80311FA4 0030EEE4 11 86 00 18 */ ps_muls0 f12, f6, f0
/* 80311FA8 0030EEE8 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 80311FAC 0030EEEC 11 A7 00 18 */ ps_muls0 f13, f7, f0
/* 80311FB0 0030EEF0 E3 E7 00 00 */ psq_l f31, 0(r7), 0, qr0
/* 80311FB4 0030EEF4 11 C6 00 98 */ ps_muls0 f14, f6, f2
/* 80311FB8 0030EEF8 E1 24 00 20 */ psq_l f9, 32(r4), 0, qr0
/* 80311FBC 0030EEFC 11 E7 00 98 */ ps_muls0 f15, f7, f2
/* 80311FC0 0030EF00 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 80311FC4 0030EF04 11 88 60 1E */ ps_madds1 f12, f8, f0, f12
/* 80311FC8 0030EF08 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 80311FCC 0030EF0C 11 C8 70 9E */ ps_madds1 f14, f8, f2, f14
/* 80311FD0 0030EF10 E1 44 00 28 */ psq_l f10, 40(r4), 0, qr0
/* 80311FD4 0030EF14 11 A9 68 1E */ ps_madds1 f13, f9, f0, f13
/* 80311FD8 0030EF18 E5 64 00 30 */ psq_lu f11, 48(r4), 0, qr0
/* 80311FDC 0030EF1C 11 E9 78 9E */ ps_madds1 f15, f9, f2, f15
/* 80311FE0 0030EF20 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 80311FE4 0030EF24 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 80311FE8 0030EF28 11 8A 60 5C */ ps_madds0 f12, f10, f1, f12
/* 80311FEC 0030EF2C 11 AB 68 5C */ ps_madds0 f13, f11, f1, f13
/* 80311FF0 0030EF30 11 CA 70 DC */ ps_madds0 f14, f10, f3, f14
/* 80311FF4 0030EF34 11 EB 78 DC */ ps_madds0 f15, f11, f3, f15
/* 80311FF8 0030EF38 F1 85 00 08 */ psq_st f12, 8(r5), 0, qr0
/* 80311FFC 0030EF3C 10 46 01 18 */ ps_muls0 f2, f6, f4
/* 80312000 0030EF40 11 BF 68 5E */ ps_madds1 f13, f31, f1, f13
/* 80312004 0030EF44 10 07 01 18 */ ps_muls0 f0, f7, f4
/* 80312008 0030EF48 F1 C5 00 18 */ psq_st f14, 24(r5), 0, qr0
/* 8031200C 0030EF4C 11 FF 78 DE */ ps_madds1 f15, f31, f3, f15
/* 80312010 0030EF50 F1 A5 00 10 */ psq_st f13, 16(r5), 0, qr0
/* 80312014 0030EF54 10 48 11 1E */ ps_madds1 f2, f8, f4, f2
/* 80312018 0030EF58 10 09 01 1E */ ps_madds1 f0, f9, f4, f0
/* 8031201C 0030EF5C 10 4A 11 5C */ ps_madds0 f2, f10, f5, f2
/* 80312020 0030EF60 F1 E5 00 20 */ psq_st f15, 32(r5), 0, qr0
/* 80312024 0030EF64 10 0B 01 5C */ ps_madds0 f0, f11, f5, f0
/* 80312028 0030EF68 F0 45 00 28 */ psq_st f2, 40(r5), 0, qr0
/* 8031202C 0030EF6C 10 1F 01 5E */ ps_madds1 f0, f31, f5, f0
/* 80312030 0030EF70 F4 05 00 30 */ psq_stu f0, 48(r5), 0, qr0
/* 80312034 0030EF74 42 00 FF 60 */ bdnz lbl_80311F94
/* 80312038 0030EF78 C9 C1 00 08 */ lfd f14, 8(r1)
/* 8031203C 0030EF7C C9 E1 00 10 */ lfd f15, 0x10(r1)
/* 80312040 0030EF80 CB E1 00 28 */ lfd f31, 0x28(r1)
/* 80312044 0030EF84 38 21 00 40 */ addi r1, r1, 0x40
/* 80312048 0030EF88 4E 80 00 20 */ blr
+544
View File
@@ -0,0 +1,544 @@
.include "macros.inc"
.section .text, "ax" # 80310ef8
.global J3DVertexData
J3DVertexData:
/* 80310EF8 0030DE38 38 A0 00 00 */ li r5, 0
/* 80310EFC 0030DE3C 90 A3 00 00 */ stw r5, 0(r3)
/* 80310F00 0030DE40 90 A3 00 04 */ stw r5, 4(r3)
/* 80310F04 0030DE44 90 A3 00 08 */ stw r5, 8(r3)
/* 80310F08 0030DE48 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80310F0C 0030DE4C 90 A3 00 10 */ stw r5, 0x10(r3)
/* 80310F10 0030DE50 90 A3 00 14 */ stw r5, 0x14(r3)
/* 80310F14 0030DE54 90 A3 00 18 */ stw r5, 0x18(r3)
/* 80310F18 0030DE58 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 80310F1C 0030DE5C 90 A3 00 20 */ stw r5, 0x20(r3)
/* 80310F20 0030DE60 7C A4 2B 78 */ mr r4, r5
/* 80310F24 0030DE64 38 00 00 02 */ li r0, 2
/* 80310F28 0030DE68 7C 09 03 A6 */ mtctr r0
lbl_80310F2C:
/* 80310F2C 0030DE6C 38 04 00 24 */ addi r0, r4, 0x24
/* 80310F30 0030DE70 7C A3 01 2E */ stwx r5, r3, r0
/* 80310F34 0030DE74 38 84 00 04 */ addi r4, r4, 4
/* 80310F38 0030DE78 42 00 FF F4 */ bdnz lbl_80310F2C
/* 80310F3C 0030DE7C 38 80 00 00 */ li r4, 0
/* 80310F40 0030DE80 38 A0 00 00 */ li r5, 0
/* 80310F44 0030DE84 38 00 00 08 */ li r0, 8
/* 80310F48 0030DE88 7C 09 03 A6 */ mtctr r0
lbl_80310F4C:
/* 80310F4C 0030DE8C 38 04 00 2C */ addi r0, r4, 0x2c
/* 80310F50 0030DE90 7C A3 01 2E */ stwx r5, r3, r0
/* 80310F54 0030DE94 38 84 00 04 */ addi r4, r4, 4
/* 80310F58 0030DE98 42 00 FF F4 */ bdnz lbl_80310F4C
/* 80310F5C 0030DE9C 38 80 00 00 */ li r4, 0
/* 80310F60 0030DEA0 98 83 00 4C */ stb r4, 0x4c(r3)
/* 80310F64 0030DEA4 38 00 00 04 */ li r0, 4
/* 80310F68 0030DEA8 90 03 00 50 */ stw r0, 0x50(r3)
/* 80310F6C 0030DEAC 98 83 00 54 */ stb r4, 0x54(r3)
/* 80310F70 0030DEB0 90 03 00 58 */ stw r0, 0x58(r3)
/* 80310F74 0030DEB4 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_setVertexData
J3DVertexBuffer_NS_setVertexData:
/* 80310F78 0030DEB8 90 83 00 00 */ stw r4, 0(r3)
/* 80310F7C 0030DEBC 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80310F80 0030DEC0 90 03 00 04 */ stw r0, 4(r3)
/* 80310F84 0030DEC4 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80310F88 0030DEC8 90 03 00 0C */ stw r0, 0xc(r3)
/* 80310F8C 0030DECC 80 04 00 24 */ lwz r0, 0x24(r4)
/* 80310F90 0030DED0 90 03 00 14 */ stw r0, 0x14(r3)
/* 80310F94 0030DED4 38 A0 00 00 */ li r5, 0
/* 80310F98 0030DED8 90 A3 00 08 */ stw r5, 8(r3)
/* 80310F9C 0030DEDC 90 A3 00 10 */ stw r5, 0x10(r3)
/* 80310FA0 0030DEE0 90 A3 00 18 */ stw r5, 0x18(r3)
/* 80310FA4 0030DEE4 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80310FA8 0030DEE8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80310FAC 0030DEEC 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80310FB0 0030DEF0 90 03 00 24 */ stw r0, 0x24(r3)
/* 80310FB4 0030DEF4 90 A3 00 20 */ stw r5, 0x20(r3)
/* 80310FB8 0030DEF8 90 A3 00 28 */ stw r5, 0x28(r3)
/* 80310FBC 0030DEFC 80 03 00 04 */ lwz r0, 4(r3)
/* 80310FC0 0030DF00 90 03 00 2C */ stw r0, 0x2c(r3)
/* 80310FC4 0030DF04 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80310FC8 0030DF08 90 03 00 30 */ stw r0, 0x30(r3)
/* 80310FCC 0030DF0C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80310FD0 0030DF10 90 03 00 34 */ stw r0, 0x34(r3)
/* 80310FD4 0030DF14 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_init
J3DVertexBuffer_NS_init:
/* 80310FD8 0030DF18 38 00 00 00 */ li r0, 0
/* 80310FDC 0030DF1C 90 03 00 00 */ stw r0, 0(r3)
/* 80310FE0 0030DF20 90 03 00 08 */ stw r0, 8(r3)
/* 80310FE4 0030DF24 90 03 00 04 */ stw r0, 4(r3)
/* 80310FE8 0030DF28 90 03 00 10 */ stw r0, 0x10(r3)
/* 80310FEC 0030DF2C 90 03 00 0C */ stw r0, 0xc(r3)
/* 80310FF0 0030DF30 90 03 00 18 */ stw r0, 0x18(r3)
/* 80310FF4 0030DF34 90 03 00 14 */ stw r0, 0x14(r3)
/* 80310FF8 0030DF38 90 03 00 20 */ stw r0, 0x20(r3)
/* 80310FFC 0030DF3C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80311000 0030DF40 90 03 00 28 */ stw r0, 0x28(r3)
/* 80311004 0030DF44 90 03 00 24 */ stw r0, 0x24(r3)
/* 80311008 0030DF48 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8031100C 0030DF4C 90 03 00 30 */ stw r0, 0x30(r3)
/* 80311010 0030DF50 90 03 00 34 */ stw r0, 0x34(r3)
/* 80311014 0030DF54 80 03 00 04 */ lwz r0, 4(r3)
/* 80311018 0030DF58 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8031101C 0030DF5C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80311020 0030DF60 90 03 00 30 */ stw r0, 0x30(r3)
/* 80311024 0030DF64 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80311028 0030DF68 90 03 00 34 */ stw r0, 0x34(r3)
/* 8031102C 0030DF6C 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_dtor
J3DVertexBuffer_NS_dtor:
/* 80311030 0030DF70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80311034 0030DF74 7C 08 02 A6 */ mflr r0
/* 80311038 0030DF78 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031103C 0030DF7C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80311040 0030DF80 7C 7F 1B 79 */ or. r31, r3, r3
/* 80311044 0030DF84 41 82 00 10 */ beq lbl_80311054
/* 80311048 0030DF88 7C 80 07 35 */ extsh. r0, r4
/* 8031104C 0030DF8C 40 81 00 08 */ ble lbl_80311054
/* 80311050 0030DF90 4B FB DC ED */ bl __dl
lbl_80311054:
/* 80311054 0030DF94 7F E3 FB 78 */ mr r3, r31
/* 80311058 0030DF98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031105C 0030DF9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80311060 0030DFA0 7C 08 03 A6 */ mtlr r0
/* 80311064 0030DFA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80311068 0030DFA8 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_setArray
J3DVertexBuffer_NS_setArray:
/* 8031106C 0030DFAC 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80311070 0030DFB0 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80311074 0030DFB4 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80311078 0030DFB8 90 04 01 0C */ stw r0, 0x10c(r4)
/* 8031107C 0030DFBC 80 03 00 30 */ lwz r0, 0x30(r3)
/* 80311080 0030DFC0 90 04 01 10 */ stw r0, 0x110(r4)
/* 80311084 0030DFC4 80 03 00 34 */ lwz r0, 0x34(r3)
/* 80311088 0030DFC8 90 04 01 14 */ stw r0, 0x114(r4)
/* 8031108C 0030DFCC 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_copyLocalVtxPosArray
J3DVertexBuffer_NS_copyLocalVtxPosArray:
/* 80311090 0030DFD0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80311094 0030DFD4 7C 08 02 A6 */ mflr r0
/* 80311098 0030DFD8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031109C 0030DFDC 39 61 00 20 */ addi r11, r1, 0x20
/* 803110A0 0030DFE0 48 05 11 39 */ bl func_803621D8
/* 803110A4 0030DFE4 7C 7F 1B 78 */ mr r31, r3
/* 803110A8 0030DFE8 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 803110AC 0030DFEC 41 82 00 78 */ beq lbl_80311124
/* 803110B0 0030DFF0 3B 80 00 00 */ li r28, 0
/* 803110B4 0030DFF4 3B C0 00 00 */ li r30, 0
lbl_803110B8:
/* 803110B8 0030DFF8 80 7F 00 00 */ lwz r3, 0(r31)
/* 803110BC 0030DFFC 80 03 00 00 */ lwz r0, 0(r3)
/* 803110C0 0030E000 1C 60 00 0C */ mulli r3, r0, 0xc
/* 803110C4 0030E004 38 80 00 20 */ li r4, 0x20
/* 803110C8 0030E008 4B FB DC 25 */ bl __nwa_X1_
/* 803110CC 0030E00C 3B BE 00 04 */ addi r29, r30, 4
/* 803110D0 0030E010 7C 7F E9 2E */ stwx r3, r31, r29
/* 803110D4 0030E014 7C 7F E8 2E */ lwzx r3, r31, r29
/* 803110D8 0030E018 28 03 00 00 */ cmplwi r3, 0
/* 803110DC 0030E01C 40 82 00 0C */ bne lbl_803110E8
/* 803110E0 0030E020 38 60 00 04 */ li r3, 4
/* 803110E4 0030E024 48 00 00 B4 */ b lbl_80311198
lbl_803110E8:
/* 803110E8 0030E028 80 9F 00 00 */ lwz r4, 0(r31)
/* 803110EC 0030E02C 80 04 00 00 */ lwz r0, 0(r4)
/* 803110F0 0030E030 80 84 00 18 */ lwz r4, 0x18(r4)
/* 803110F4 0030E034 1C A0 00 0C */ mulli r5, r0, 0xc
/* 803110F8 0030E038 4B CF 24 49 */ bl func_80003540
/* 803110FC 0030E03C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311100 0030E040 80 03 00 00 */ lwz r0, 0(r3)
/* 80311104 0030E044 7C 7F E8 2E */ lwzx r3, r31, r29
/* 80311108 0030E048 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8031110C 0030E04C 48 02 A4 D1 */ bl DCStoreRange
/* 80311110 0030E050 3B 9C 00 01 */ addi r28, r28, 1
/* 80311114 0030E054 2C 1C 00 02 */ cmpwi r28, 2
/* 80311118 0030E058 3B DE 00 04 */ addi r30, r30, 4
/* 8031111C 0030E05C 41 80 FF 9C */ blt lbl_803110B8
/* 80311120 0030E060 48 00 00 74 */ b lbl_80311194
lbl_80311124:
/* 80311124 0030E064 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311128 0030E068 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8031112C 0030E06C 90 1F 00 04 */ stw r0, 4(r31)
/* 80311130 0030E070 80 1F 00 08 */ lwz r0, 8(r31)
/* 80311134 0030E074 28 00 00 00 */ cmplwi r0, 0
/* 80311138 0030E078 40 82 00 30 */ bne lbl_80311168
/* 8031113C 0030E07C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311140 0030E080 80 03 00 00 */ lwz r0, 0(r3)
/* 80311144 0030E084 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80311148 0030E088 38 80 00 20 */ li r4, 0x20
/* 8031114C 0030E08C 4B FB DB A1 */ bl __nwa_X1_
/* 80311150 0030E090 90 7F 00 08 */ stw r3, 8(r31)
/* 80311154 0030E094 80 1F 00 08 */ lwz r0, 8(r31)
/* 80311158 0030E098 28 00 00 00 */ cmplwi r0, 0
/* 8031115C 0030E09C 40 82 00 0C */ bne lbl_80311168
/* 80311160 0030E0A0 38 60 00 04 */ li r3, 4
/* 80311164 0030E0A4 48 00 00 34 */ b lbl_80311198
lbl_80311168:
/* 80311168 0030E0A8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8031116C 0030E0AC 80 03 00 00 */ lwz r0, 0(r3)
/* 80311170 0030E0B0 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80311174 0030E0B4 80 7F 00 08 */ lwz r3, 8(r31)
/* 80311178 0030E0B8 1C A0 00 0C */ mulli r5, r0, 0xc
/* 8031117C 0030E0BC 4B CF 23 C5 */ bl func_80003540
/* 80311180 0030E0C0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311184 0030E0C4 80 03 00 00 */ lwz r0, 0(r3)
/* 80311188 0030E0C8 80 7F 00 08 */ lwz r3, 8(r31)
/* 8031118C 0030E0CC 1C 80 00 0C */ mulli r4, r0, 0xc
/* 80311190 0030E0D0 48 02 A4 4D */ bl DCStoreRange
lbl_80311194:
/* 80311194 0030E0D4 38 60 00 00 */ li r3, 0
lbl_80311198:
/* 80311198 0030E0D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8031119C 0030E0DC 48 05 10 89 */ bl func_80362224
/* 803111A0 0030E0E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803111A4 0030E0E4 7C 08 03 A6 */ mtlr r0
/* 803111A8 0030E0E8 38 21 00 20 */ addi r1, r1, 0x20
/* 803111AC 0030E0EC 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_copyLocalVtxNrmArray
J3DVertexBuffer_NS_copyLocalVtxNrmArray:
/* 803111B0 0030E0F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803111B4 0030E0F4 7C 08 02 A6 */ mflr r0
/* 803111B8 0030E0F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 803111BC 0030E0FC 39 61 00 20 */ addi r11, r1, 0x20
/* 803111C0 0030E100 48 05 10 19 */ bl func_803621D8
/* 803111C4 0030E104 7C 7F 1B 78 */ mr r31, r3
/* 803111C8 0030E108 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 803111CC 0030E10C 41 82 00 78 */ beq lbl_80311244
/* 803111D0 0030E110 3B 80 00 00 */ li r28, 0
/* 803111D4 0030E114 3B C0 00 00 */ li r30, 0
lbl_803111D8:
/* 803111D8 0030E118 80 7F 00 00 */ lwz r3, 0(r31)
/* 803111DC 0030E11C 80 03 00 04 */ lwz r0, 4(r3)
/* 803111E0 0030E120 1C 60 00 0C */ mulli r3, r0, 0xc
/* 803111E4 0030E124 38 80 00 20 */ li r4, 0x20
/* 803111E8 0030E128 4B FB DB 05 */ bl __nwa_X1_
/* 803111EC 0030E12C 3B BE 00 0C */ addi r29, r30, 0xc
/* 803111F0 0030E130 7C 7F E9 2E */ stwx r3, r31, r29
/* 803111F4 0030E134 7C 7F E8 2E */ lwzx r3, r31, r29
/* 803111F8 0030E138 28 03 00 00 */ cmplwi r3, 0
/* 803111FC 0030E13C 40 82 00 0C */ bne lbl_80311208
/* 80311200 0030E140 38 60 00 04 */ li r3, 4
/* 80311204 0030E144 48 00 00 B4 */ b lbl_803112B8
lbl_80311208:
/* 80311208 0030E148 80 9F 00 00 */ lwz r4, 0(r31)
/* 8031120C 0030E14C 80 04 00 04 */ lwz r0, 4(r4)
/* 80311210 0030E150 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 80311214 0030E154 1C A0 00 0C */ mulli r5, r0, 0xc
/* 80311218 0030E158 4B CF 23 29 */ bl func_80003540
/* 8031121C 0030E15C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311220 0030E160 80 03 00 04 */ lwz r0, 4(r3)
/* 80311224 0030E164 7C 7F E8 2E */ lwzx r3, r31, r29
/* 80311228 0030E168 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8031122C 0030E16C 48 02 A3 B1 */ bl DCStoreRange
/* 80311230 0030E170 3B 9C 00 01 */ addi r28, r28, 1
/* 80311234 0030E174 2C 1C 00 02 */ cmpwi r28, 2
/* 80311238 0030E178 3B DE 00 04 */ addi r30, r30, 4
/* 8031123C 0030E17C 41 80 FF 9C */ blt lbl_803111D8
/* 80311240 0030E180 48 00 00 74 */ b lbl_803112B4
lbl_80311244:
/* 80311244 0030E184 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311248 0030E188 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8031124C 0030E18C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80311250 0030E190 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80311254 0030E194 28 00 00 00 */ cmplwi r0, 0
/* 80311258 0030E198 40 82 00 30 */ bne lbl_80311288
/* 8031125C 0030E19C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311260 0030E1A0 80 03 00 04 */ lwz r0, 4(r3)
/* 80311264 0030E1A4 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80311268 0030E1A8 38 80 00 20 */ li r4, 0x20
/* 8031126C 0030E1AC 4B FB DA 81 */ bl __nwa_X1_
/* 80311270 0030E1B0 90 7F 00 10 */ stw r3, 0x10(r31)
/* 80311274 0030E1B4 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80311278 0030E1B8 28 00 00 00 */ cmplwi r0, 0
/* 8031127C 0030E1BC 40 82 00 0C */ bne lbl_80311288
/* 80311280 0030E1C0 38 60 00 04 */ li r3, 4
/* 80311284 0030E1C4 48 00 00 34 */ b lbl_803112B8
lbl_80311288:
/* 80311288 0030E1C8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8031128C 0030E1CC 80 03 00 04 */ lwz r0, 4(r3)
/* 80311290 0030E1D0 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80311294 0030E1D4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80311298 0030E1D8 1C A0 00 0C */ mulli r5, r0, 0xc
/* 8031129C 0030E1DC 4B CF 22 A5 */ bl func_80003540
/* 803112A0 0030E1E0 80 7F 00 00 */ lwz r3, 0(r31)
/* 803112A4 0030E1E4 80 03 00 04 */ lwz r0, 4(r3)
/* 803112A8 0030E1E8 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803112AC 0030E1EC 1C 80 00 0C */ mulli r4, r0, 0xc
/* 803112B0 0030E1F0 48 02 A3 2D */ bl DCStoreRange
lbl_803112B4:
/* 803112B4 0030E1F4 38 60 00 00 */ li r3, 0
lbl_803112B8:
/* 803112B8 0030E1F8 39 61 00 20 */ addi r11, r1, 0x20
/* 803112BC 0030E1FC 48 05 0F 69 */ bl func_80362224
/* 803112C0 0030E200 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803112C4 0030E204 7C 08 03 A6 */ mtlr r0
/* 803112C8 0030E208 38 21 00 20 */ addi r1, r1, 0x20
/* 803112CC 0030E20C 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_copyLocalVtxArray
J3DVertexBuffer_NS_copyLocalVtxArray:
/* 803112D0 0030E210 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803112D4 0030E214 7C 08 02 A6 */ mflr r0
/* 803112D8 0030E218 90 01 00 44 */ stw r0, 0x44(r1)
/* 803112DC 0030E21C 39 61 00 40 */ addi r11, r1, 0x40
/* 803112E0 0030E220 48 05 0E E9 */ bl func_803621C8
/* 803112E4 0030E224 7C 7E 1B 78 */ mr r30, r3
/* 803112E8 0030E228 7C 9F 23 78 */ mr r31, r4
/* 803112EC 0030E22C 38 60 00 00 */ li r3, 0
/* 803112F0 0030E230 38 81 00 10 */ addi r4, r1, 0x10
/* 803112F4 0030E234 38 00 00 02 */ li r0, 2
/* 803112F8 0030E238 7C 09 03 A6 */ mtctr r0
lbl_803112FC:
/* 803112FC 0030E23C 38 03 00 04 */ addi r0, r3, 4
/* 80311300 0030E240 7C 1E 00 2E */ lwzx r0, r30, r0
/* 80311304 0030E244 7C 04 19 2E */ stwx r0, r4, r3
/* 80311308 0030E248 38 63 00 04 */ addi r3, r3, 4
/* 8031130C 0030E24C 42 00 FF F0 */ bdnz lbl_803112FC
/* 80311310 0030E250 7F FB F8 F8 */ nor r27, r31, r31
/* 80311314 0030E254 57 60 07 BD */ rlwinm. r0, r27, 0, 0x1e, 0x1e
/* 80311318 0030E258 41 82 00 68 */ beq lbl_80311380
/* 8031131C 0030E25C 7F C3 F3 78 */ mr r3, r30
/* 80311320 0030E260 7F E4 FB 78 */ mr r4, r31
/* 80311324 0030E264 4B FF FD 6D */ bl J3DVertexBuffer_NS_copyLocalVtxPosArray
/* 80311328 0030E268 7C 7A 1B 79 */ or. r26, r3, r3
/* 8031132C 0030E26C 41 82 00 64 */ beq lbl_80311390
/* 80311330 0030E270 3B 20 00 00 */ li r25, 0
/* 80311334 0030E274 3B E0 00 00 */ li r31, 0
/* 80311338 0030E278 3B 81 00 10 */ addi r28, r1, 0x10
lbl_8031133C:
/* 8031133C 0030E27C 7F BC F8 2E */ lwzx r29, r28, r31
/* 80311340 0030E280 3B 7F 00 04 */ addi r27, r31, 4
/* 80311344 0030E284 7C 7E D8 2E */ lwzx r3, r30, r27
/* 80311348 0030E288 7C 1D 18 40 */ cmplw r29, r3
/* 8031134C 0030E28C 41 82 00 1C */ beq lbl_80311368
/* 80311350 0030E290 80 9E 00 00 */ lwz r4, 0(r30)
/* 80311354 0030E294 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80311358 0030E298 7C 03 00 40 */ cmplw r3, r0
/* 8031135C 0030E29C 41 82 00 08 */ beq lbl_80311364
/* 80311360 0030E2A0 4B FB D9 DD */ bl __dl
lbl_80311364:
/* 80311364 0030E2A4 7F BE D9 2E */ stwx r29, r30, r27
lbl_80311368:
/* 80311368 0030E2A8 3B 39 00 01 */ addi r25, r25, 1
/* 8031136C 0030E2AC 2C 19 00 02 */ cmpwi r25, 2
/* 80311370 0030E2B0 3B FF 00 04 */ addi r31, r31, 4
/* 80311374 0030E2B4 41 80 FF C8 */ blt lbl_8031133C
/* 80311378 0030E2B8 7F 43 D3 78 */ mr r3, r26
/* 8031137C 0030E2BC 48 00 00 E4 */ b lbl_80311460
lbl_80311380:
/* 80311380 0030E2C0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80311384 0030E2C4 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80311388 0030E2C8 90 1E 00 08 */ stw r0, 8(r30)
/* 8031138C 0030E2CC 90 1E 00 04 */ stw r0, 4(r30)
lbl_80311390:
/* 80311390 0030E2D0 38 60 00 00 */ li r3, 0
/* 80311394 0030E2D4 38 81 00 08 */ addi r4, r1, 8
/* 80311398 0030E2D8 38 00 00 02 */ li r0, 2
/* 8031139C 0030E2DC 7C 09 03 A6 */ mtctr r0
lbl_803113A0:
/* 803113A0 0030E2E0 38 03 00 0C */ addi r0, r3, 0xc
/* 803113A4 0030E2E4 7C 1E 00 2E */ lwzx r0, r30, r0
/* 803113A8 0030E2E8 7C 04 19 2E */ stwx r0, r4, r3
/* 803113AC 0030E2EC 38 63 00 04 */ addi r3, r3, 4
/* 803113B0 0030E2F0 42 00 FF F0 */ bdnz lbl_803113A0
/* 803113B4 0030E2F4 57 60 07 7B */ rlwinm. r0, r27, 0, 0x1d, 0x1d
/* 803113B8 0030E2F8 41 82 00 94 */ beq lbl_8031144C
/* 803113BC 0030E2FC 7F C3 F3 78 */ mr r3, r30
/* 803113C0 0030E300 7F E4 FB 78 */ mr r4, r31
/* 803113C4 0030E304 4B FF FD ED */ bl J3DVertexBuffer_NS_copyLocalVtxNrmArray
/* 803113C8 0030E308 7C 79 1B 79 */ or. r25, r3, r3
/* 803113CC 0030E30C 41 82 00 90 */ beq lbl_8031145C
/* 803113D0 0030E310 3B 00 00 00 */ li r24, 0
/* 803113D4 0030E314 3B E0 00 00 */ li r31, 0
/* 803113D8 0030E318 3B 81 00 10 */ addi r28, r1, 0x10
/* 803113DC 0030E31C 3B A1 00 08 */ addi r29, r1, 8
lbl_803113E0:
/* 803113E0 0030E320 7F 7C F8 2E */ lwzx r27, r28, r31
/* 803113E4 0030E324 7F 5E FA 14 */ add r26, r30, r31
/* 803113E8 0030E328 80 7A 00 04 */ lwz r3, 4(r26)
/* 803113EC 0030E32C 7C 1B 18 40 */ cmplw r27, r3
/* 803113F0 0030E330 41 82 00 1C */ beq lbl_8031140C
/* 803113F4 0030E334 80 9E 00 00 */ lwz r4, 0(r30)
/* 803113F8 0030E338 80 04 00 18 */ lwz r0, 0x18(r4)
/* 803113FC 0030E33C 7C 03 00 40 */ cmplw r3, r0
/* 80311400 0030E340 41 82 00 08 */ beq lbl_80311408
/* 80311404 0030E344 4B FB D9 39 */ bl __dl
lbl_80311408:
/* 80311408 0030E348 93 7A 00 04 */ stw r27, 4(r26)
lbl_8031140C:
/* 8031140C 0030E34C 7F 7D F8 2E */ lwzx r27, r29, r31
/* 80311410 0030E350 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80311414 0030E354 7C 1B 18 40 */ cmplw r27, r3
/* 80311418 0030E358 41 82 00 1C */ beq lbl_80311434
/* 8031141C 0030E35C 80 9E 00 00 */ lwz r4, 0(r30)
/* 80311420 0030E360 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80311424 0030E364 7C 03 00 40 */ cmplw r3, r0
/* 80311428 0030E368 41 82 00 08 */ beq lbl_80311430
/* 8031142C 0030E36C 4B FB D9 11 */ bl __dl
lbl_80311430:
/* 80311430 0030E370 93 7A 00 0C */ stw r27, 0xc(r26)
lbl_80311434:
/* 80311434 0030E374 3B 18 00 01 */ addi r24, r24, 1
/* 80311438 0030E378 2C 18 00 02 */ cmpwi r24, 2
/* 8031143C 0030E37C 3B FF 00 04 */ addi r31, r31, 4
/* 80311440 0030E380 41 80 FF A0 */ blt lbl_803113E0
/* 80311444 0030E384 7F 23 CB 78 */ mr r3, r25
/* 80311448 0030E388 48 00 00 18 */ b lbl_80311460
lbl_8031144C:
/* 8031144C 0030E38C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80311450 0030E390 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80311454 0030E394 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80311458 0030E398 90 1E 00 0C */ stw r0, 0xc(r30)
lbl_8031145C:
/* 8031145C 0030E39C 38 60 00 00 */ li r3, 0
lbl_80311460:
/* 80311460 0030E3A0 39 61 00 40 */ addi r11, r1, 0x40
/* 80311464 0030E3A4 48 05 0D B1 */ bl func_80362214
/* 80311468 0030E3A8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8031146C 0030E3AC 7C 08 03 A6 */ mtlr r0
/* 80311470 0030E3B0 38 21 00 40 */ addi r1, r1, 0x40
/* 80311474 0030E3B4 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_allocTransformedVtxPosArray
J3DVertexBuffer_NS_allocTransformedVtxPosArray:
/* 80311478 0030E3B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031147C 0030E3BC 7C 08 02 A6 */ mflr r0
/* 80311480 0030E3C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80311484 0030E3C4 39 61 00 20 */ addi r11, r1, 0x20
/* 80311488 0030E3C8 48 05 0D 55 */ bl func_803621DC
/* 8031148C 0030E3CC 7C 7D 1B 78 */ mr r29, r3
/* 80311490 0030E3D0 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80311494 0030E3D4 28 00 00 00 */ cmplwi r0, 0
/* 80311498 0030E3D8 41 82 00 18 */ beq lbl_803114B0
/* 8031149C 0030E3DC 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 803114A0 0030E3E0 28 00 00 00 */ cmplwi r0, 0
/* 803114A4 0030E3E4 41 82 00 0C */ beq lbl_803114B0
/* 803114A8 0030E3E8 38 60 00 00 */ li r3, 0
/* 803114AC 0030E3EC 48 00 00 68 */ b lbl_80311514
lbl_803114B0:
/* 803114B0 0030E3F0 3B C0 00 00 */ li r30, 0
/* 803114B4 0030E3F4 3B E0 00 00 */ li r31, 0
lbl_803114B8:
/* 803114B8 0030E3F8 2C 1E 00 00 */ cmpwi r30, 0
/* 803114BC 0030E3FC 41 82 00 14 */ beq lbl_803114D0
/* 803114C0 0030E400 38 1F 00 1C */ addi r0, r31, 0x1c
/* 803114C4 0030E404 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803114C8 0030E408 28 00 00 00 */ cmplwi r0, 0
/* 803114CC 0030E40C 40 82 00 34 */ bne lbl_80311500
lbl_803114D0:
/* 803114D0 0030E410 80 7D 00 00 */ lwz r3, 0(r29)
/* 803114D4 0030E414 80 03 00 00 */ lwz r0, 0(r3)
/* 803114D8 0030E418 1C 60 00 0C */ mulli r3, r0, 0xc
/* 803114DC 0030E41C 38 80 00 20 */ li r4, 0x20
/* 803114E0 0030E420 4B FB D8 0D */ bl __nwa_X1_
/* 803114E4 0030E424 38 1F 00 1C */ addi r0, r31, 0x1c
/* 803114E8 0030E428 7C 7D 01 2E */ stwx r3, r29, r0
/* 803114EC 0030E42C 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803114F0 0030E430 28 00 00 00 */ cmplwi r0, 0
/* 803114F4 0030E434 40 82 00 0C */ bne lbl_80311500
/* 803114F8 0030E438 38 60 00 04 */ li r3, 4
/* 803114FC 0030E43C 48 00 00 18 */ b lbl_80311514
lbl_80311500:
/* 80311500 0030E440 3B DE 00 01 */ addi r30, r30, 1
/* 80311504 0030E444 2C 1E 00 02 */ cmpwi r30, 2
/* 80311508 0030E448 3B FF 00 04 */ addi r31, r31, 4
/* 8031150C 0030E44C 41 80 FF AC */ blt lbl_803114B8
/* 80311510 0030E450 38 60 00 00 */ li r3, 0
lbl_80311514:
/* 80311514 0030E454 39 61 00 20 */ addi r11, r1, 0x20
/* 80311518 0030E458 48 05 0D 11 */ bl func_80362228
/* 8031151C 0030E45C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80311520 0030E460 7C 08 03 A6 */ mtlr r0
/* 80311524 0030E464 38 21 00 20 */ addi r1, r1, 0x20
/* 80311528 0030E468 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_allocTransformedVtxNrmArray
J3DVertexBuffer_NS_allocTransformedVtxNrmArray:
/* 8031152C 0030E46C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80311530 0030E470 7C 08 02 A6 */ mflr r0
/* 80311534 0030E474 90 01 00 24 */ stw r0, 0x24(r1)
/* 80311538 0030E478 39 61 00 20 */ addi r11, r1, 0x20
/* 8031153C 0030E47C 48 05 0C A1 */ bl func_803621DC
/* 80311540 0030E480 7C 7D 1B 78 */ mr r29, r3
/* 80311544 0030E484 80 03 00 24 */ lwz r0, 0x24(r3)
/* 80311548 0030E488 28 00 00 00 */ cmplwi r0, 0
/* 8031154C 0030E48C 41 82 00 18 */ beq lbl_80311564
/* 80311550 0030E490 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 80311554 0030E494 28 00 00 00 */ cmplwi r0, 0
/* 80311558 0030E498 41 82 00 0C */ beq lbl_80311564
/* 8031155C 0030E49C 38 60 00 00 */ li r3, 0
/* 80311560 0030E4A0 48 00 00 68 */ b lbl_803115C8
lbl_80311564:
/* 80311564 0030E4A4 3B C0 00 00 */ li r30, 0
/* 80311568 0030E4A8 3B E0 00 00 */ li r31, 0
lbl_8031156C:
/* 8031156C 0030E4AC 2C 1E 00 00 */ cmpwi r30, 0
/* 80311570 0030E4B0 41 82 00 14 */ beq lbl_80311584
/* 80311574 0030E4B4 38 1F 00 24 */ addi r0, r31, 0x24
/* 80311578 0030E4B8 7C 1D 00 2E */ lwzx r0, r29, r0
/* 8031157C 0030E4BC 28 00 00 00 */ cmplwi r0, 0
/* 80311580 0030E4C0 40 82 00 34 */ bne lbl_803115B4
lbl_80311584:
/* 80311584 0030E4C4 80 7D 00 00 */ lwz r3, 0(r29)
/* 80311588 0030E4C8 80 03 00 04 */ lwz r0, 4(r3)
/* 8031158C 0030E4CC 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80311590 0030E4D0 38 80 00 20 */ li r4, 0x20
/* 80311594 0030E4D4 4B FB D7 59 */ bl __nwa_X1_
/* 80311598 0030E4D8 38 1F 00 24 */ addi r0, r31, 0x24
/* 8031159C 0030E4DC 7C 7D 01 2E */ stwx r3, r29, r0
/* 803115A0 0030E4E0 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803115A4 0030E4E4 28 00 00 00 */ cmplwi r0, 0
/* 803115A8 0030E4E8 40 82 00 0C */ bne lbl_803115B4
/* 803115AC 0030E4EC 38 60 00 04 */ li r3, 4
/* 803115B0 0030E4F0 48 00 00 18 */ b lbl_803115C8
lbl_803115B4:
/* 803115B4 0030E4F4 3B DE 00 01 */ addi r30, r30, 1
/* 803115B8 0030E4F8 2C 1E 00 02 */ cmpwi r30, 2
/* 803115BC 0030E4FC 3B FF 00 04 */ addi r31, r31, 4
/* 803115C0 0030E500 41 80 FF AC */ blt lbl_8031156C
/* 803115C4 0030E504 38 60 00 00 */ li r3, 0
lbl_803115C8:
/* 803115C8 0030E508 39 61 00 20 */ addi r11, r1, 0x20
/* 803115CC 0030E50C 48 05 0C 5D */ bl func_80362228
/* 803115D0 0030E510 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803115D4 0030E514 7C 08 03 A6 */ mtlr r0
/* 803115D8 0030E518 38 21 00 20 */ addi r1, r1, 0x20
/* 803115DC 0030E51C 4E 80 00 20 */ blr
.global J3DDrawMtxData
J3DDrawMtxData:
/* 803115E0 0030E520 38 00 00 00 */ li r0, 0
/* 803115E4 0030E524 B0 03 00 00 */ sth r0, 0(r3)
/* 803115E8 0030E528 90 03 00 04 */ stw r0, 4(r3)
/* 803115EC 0030E52C 90 03 00 08 */ stw r0, 8(r3)
/* 803115F0 0030E530 4E 80 00 20 */ blr
.global J3DDrawMtxData_NS_dtor
J3DDrawMtxData_NS_dtor:
/* 803115F4 0030E534 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803115F8 0030E538 7C 08 02 A6 */ mflr r0
/* 803115FC 0030E53C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80311600 0030E540 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80311604 0030E544 7C 7F 1B 79 */ or. r31, r3, r3
/* 80311608 0030E548 41 82 00 10 */ beq lbl_80311618
/* 8031160C 0030E54C 7C 80 07 35 */ extsh. r0, r4
/* 80311610 0030E550 40 81 00 08 */ ble lbl_80311618
/* 80311614 0030E554 4B FB D7 29 */ bl __dl
lbl_80311618:
/* 80311618 0030E558 7F E3 FB 78 */ mr r3, r31
/* 8031161C 0030E55C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80311620 0030E560 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80311624 0030E564 7C 08 03 A6 */ mtlr r0
/* 80311628 0030E568 38 21 00 10 */ addi r1, r1, 0x10
/* 8031162C 0030E56C 4E 80 00 20 */ blr