tp/asm/JSystem/J2DGraph/J2DPictureEx/func_80304EF0.s

229 lines
9.6 KiB
ArmAsm

lbl_80304EF0:
/* 80304EF0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80304EF4 7C 08 02 A6 */ mflr r0
/* 80304EF8 90 01 00 74 */ stw r0, 0x74(r1)
/* 80304EFC DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80304F00 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */
/* 80304F04 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80304F08 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */
/* 80304F0C DB A1 00 40 */ stfd f29, 0x40(r1)
/* 80304F10 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */
/* 80304F14 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 80304F18 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0 /* qr0 */
/* 80304F1C 39 61 00 30 */ addi r11, r1, 0x30
/* 80304F20 48 05 D2 BD */ bl _savegpr_29
/* 80304F24 7C 7D 1B 78 */ mr r29, r3
/* 80304F28 7C 9E 23 78 */ mr r30, r4
/* 80304F2C 7C BF 2B 78 */ mr r31, r5
/* 80304F30 80 63 01 50 */ lwz r3, 0x150(r3)
/* 80304F34 28 03 00 00 */ cmplwi r3, 0
/* 80304F38 41 82 02 F4 */ beq lbl_8030522C
/* 80304F3C 80 03 00 70 */ lwz r0, 0x70(r3)
/* 80304F40 28 00 00 00 */ cmplwi r0, 0
/* 80304F44 41 82 02 E8 */ beq lbl_8030522C
/* 80304F48 88 1D 00 B0 */ lbz r0, 0xb0(r29)
/* 80304F4C 28 00 00 00 */ cmplwi r0, 0
/* 80304F50 41 82 02 DC */ beq lbl_8030522C
/* 80304F54 4B FE 54 39 */ bl setGX__11J2DMaterialFv
/* 80304F58 48 05 66 35 */ bl GXClearVtxDesc
/* 80304F5C 38 60 00 09 */ li r3, 9
/* 80304F60 38 80 00 01 */ li r4, 1
/* 80304F64 48 05 5F 55 */ bl GXSetVtxDesc
/* 80304F68 38 60 00 0B */ li r3, 0xb
/* 80304F6C 38 80 00 01 */ li r4, 1
/* 80304F70 48 05 5F 49 */ bl GXSetVtxDesc
/* 80304F74 38 60 00 0D */ li r3, 0xd
/* 80304F78 38 80 00 01 */ li r4, 1
/* 80304F7C 48 05 5F 3D */ bl GXSetVtxDesc
/* 80304F80 80 7D 01 50 */ lwz r3, 0x150(r29)
/* 80304F84 88 03 00 0E */ lbz r0, 0xe(r3)
/* 80304F88 28 00 00 00 */ cmplwi r0, 0
/* 80304F8C 41 82 02 A0 */ beq lbl_8030522C
/* 80304F90 88 1D 00 B2 */ lbz r0, 0xb2(r29)
/* 80304F94 98 1D 00 B3 */ stb r0, 0xb3(r29)
/* 80304F98 38 00 FF FF */ li r0, -1
/* 80304F9C 90 01 00 08 */ stw r0, 8(r1)
/* 80304FA0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80304FA4 90 01 00 10 */ stw r0, 0x10(r1)
/* 80304FA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80304FAC 38 60 00 00 */ li r3, 0
/* 80304FB0 38 00 00 04 */ li r0, 4
/* 80304FB4 7C 09 03 A6 */ mtctr r0
lbl_80304FB8:
/* 80304FB8 7C 9D 1A 14 */ add r4, r29, r3
/* 80304FBC 88 04 01 38 */ lbz r0, 0x138(r4)
/* 80304FC0 38 A1 00 08 */ addi r5, r1, 8
/* 80304FC4 7C A5 1A 14 */ add r5, r5, r3
/* 80304FC8 98 05 00 00 */ stb r0, 0(r5)
/* 80304FCC 88 04 01 39 */ lbz r0, 0x139(r4)
/* 80304FD0 98 05 00 01 */ stb r0, 1(r5)
/* 80304FD4 88 04 01 3A */ lbz r0, 0x13a(r4)
/* 80304FD8 98 05 00 02 */ stb r0, 2(r5)
/* 80304FDC 88 04 01 3B */ lbz r0, 0x13b(r4)
/* 80304FE0 98 05 00 03 */ stb r0, 3(r5)
/* 80304FE4 38 63 00 04 */ addi r3, r3, 4
/* 80304FE8 42 00 FF D0 */ bdnz lbl_80304FB8
/* 80304FEC 80 7D 01 50 */ lwz r3, 0x150(r29)
/* 80304FF0 88 03 00 0F */ lbz r0, 0xf(r3)
/* 80304FF4 2C 00 00 01 */ cmpwi r0, 1
/* 80304FF8 40 82 00 38 */ bne lbl_80305030
/* 80304FFC 38 60 00 00 */ li r3, 0
/* 80305000 38 C1 00 08 */ addi r6, r1, 8
/* 80305004 38 80 00 FF */ li r4, 0xff
/* 80305008 38 00 00 04 */ li r0, 4
/* 8030500C 7C 09 03 A6 */ mtctr r0
lbl_80305010:
/* 80305010 38 E3 00 03 */ addi r7, r3, 3
/* 80305014 88 BD 00 B3 */ lbz r5, 0xb3(r29)
/* 80305018 7C 06 38 AE */ lbzx r0, r6, r7
/* 8030501C 7C 05 01 D6 */ mullw r0, r5, r0
/* 80305020 7C 00 23 D6 */ divw r0, r0, r4
/* 80305024 7C 06 39 AE */ stbx r0, r6, r7
/* 80305028 38 63 00 04 */ addi r3, r3, 4
/* 8030502C 42 00 FF E4 */ bdnz lbl_80305010
lbl_80305030:
/* 80305030 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80305034 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80305038 EC 00 08 28 */ fsubs f0, f0, f1
/* 8030503C C0 7F 00 08 */ lfs f3, 8(r31)
/* 80305040 EC 43 08 28 */ fsubs f2, f3, f1
/* 80305044 EF E0 10 24 */ fdivs f31, f0, f2
/* 80305048 C0 22 C8 C0 */ lfs f1, lit_1517(r2)
/* 8030504C C0 1E 00 08 */ lfs f0, 8(r30)
/* 80305050 EC 00 18 28 */ fsubs f0, f0, f3
/* 80305054 EC 00 10 24 */ fdivs f0, f0, f2
/* 80305058 EF C1 00 2A */ fadds f30, f1, f0
/* 8030505C C0 5F 00 04 */ lfs f2, 4(r31)
/* 80305060 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80305064 EC 00 10 28 */ fsubs f0, f0, f2
/* 80305068 C0 7F 00 0C */ lfs f3, 0xc(r31)
/* 8030506C EC 43 10 28 */ fsubs f2, f3, f2
/* 80305070 EF A0 10 24 */ fdivs f29, f0, f2
/* 80305074 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 80305078 EC 00 18 28 */ fsubs f0, f0, f3
/* 8030507C EC 00 10 24 */ fdivs f0, f0, f2
/* 80305080 EF 81 00 2A */ fadds f28, f1, f0
/* 80305084 38 60 00 00 */ li r3, 0
/* 80305088 38 80 00 0D */ li r4, 0xd
/* 8030508C 38 A0 00 01 */ li r5, 1
/* 80305090 38 C0 00 04 */ li r6, 4
/* 80305094 38 E0 00 00 */ li r7, 0
/* 80305098 48 05 65 2D */ bl GXSetVtxAttrFmt
/* 8030509C 38 60 00 00 */ li r3, 0
/* 803050A0 38 80 00 09 */ li r4, 9
/* 803050A4 38 A0 00 01 */ li r5, 1
/* 803050A8 38 C0 00 04 */ li r6, 4
/* 803050AC 38 E0 00 00 */ li r7, 0
/* 803050B0 48 05 65 15 */ bl GXSetVtxAttrFmt
/* 803050B4 38 60 00 80 */ li r3, 0x80
/* 803050B8 38 80 00 00 */ li r4, 0
/* 803050BC 38 A0 00 04 */ li r5, 4
/* 803050C0 48 05 76 A5 */ bl GXBegin
/* 803050C4 C0 7E 00 04 */ lfs f3, 4(r30)
/* 803050C8 C0 5E 00 00 */ lfs f2, 0(r30)
/* 803050CC 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
/* 803050D0 D0 43 80 00 */ stfs f2, 0x8000(r3) /* 0xCC008000@l */
/* 803050D4 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 803050D8 C0 02 C8 C4 */ lfs f0, lit_1784(r2)
/* 803050DC D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 803050E0 80 01 00 08 */ lwz r0, 8(r1)
/* 803050E4 90 03 80 00 */ stw r0, -0x8000(r3)
/* 803050E8 D3 E3 80 00 */ stfs f31, -0x8000(r3)
/* 803050EC D3 A3 80 00 */ stfs f29, -0x8000(r3)
/* 803050F0 C0 3E 00 08 */ lfs f1, 8(r30)
/* 803050F4 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 803050F8 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 803050FC C0 02 C8 C4 */ lfs f0, lit_1784(r2)
/* 80305100 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80305104 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80305108 90 03 80 00 */ stw r0, -0x8000(r3)
/* 8030510C D3 C3 80 00 */ stfs f30, -0x8000(r3)
/* 80305110 D3 A3 80 00 */ stfs f29, -0x8000(r3)
/* 80305114 C0 7E 00 0C */ lfs f3, 0xc(r30)
/* 80305118 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8030511C D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 80305120 C0 02 C8 C4 */ lfs f0, lit_1784(r2)
/* 80305124 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80305128 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030512C 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80305130 D3 C3 80 00 */ stfs f30, -0x8000(r3)
/* 80305134 D3 83 80 00 */ stfs f28, -0x8000(r3)
/* 80305138 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8030513C D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 80305140 C0 02 C8 C4 */ lfs f0, lit_1784(r2)
/* 80305144 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80305148 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8030514C 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80305150 D3 E3 80 00 */ stfs f31, -0x8000(r3)
/* 80305154 D3 83 80 00 */ stfs f28, -0x8000(r3)
/* 80305158 38 60 00 00 */ li r3, 0
/* 8030515C 38 80 00 09 */ li r4, 9
/* 80305160 38 A0 00 01 */ li r5, 1
/* 80305164 38 C0 00 03 */ li r6, 3
/* 80305168 38 E0 00 00 */ li r7, 0
/* 8030516C 48 05 64 59 */ bl GXSetVtxAttrFmt
/* 80305170 38 60 00 00 */ li r3, 0
/* 80305174 38 80 00 0D */ li r4, 0xd
/* 80305178 38 A0 00 01 */ li r5, 1
/* 8030517C 38 C0 00 02 */ li r6, 2
/* 80305180 38 E0 00 0F */ li r7, 0xf
/* 80305184 48 05 64 41 */ bl GXSetVtxAttrFmt
/* 80305188 38 60 00 00 */ li r3, 0
/* 8030518C 48 05 6C 71 */ bl GXSetNumTexGens
/* 80305190 38 60 00 01 */ li r3, 1
/* 80305194 48 05 A6 FD */ bl GXSetNumTevStages
/* 80305198 38 60 00 00 */ li r3, 0
/* 8030519C 38 80 00 04 */ li r4, 4
/* 803051A0 48 05 9F F9 */ bl GXSetTevOp
/* 803051A4 38 60 00 00 */ li r3, 0
/* 803051A8 38 80 00 FF */ li r4, 0xff
/* 803051AC 38 A0 00 FF */ li r5, 0xff
/* 803051B0 38 C0 00 04 */ li r6, 4
/* 803051B4 48 05 A5 41 */ bl GXSetTevOrder
/* 803051B8 3B A0 00 00 */ li r29, 0
lbl_803051BC:
/* 803051BC 7F A3 EB 78 */ mr r3, r29
/* 803051C0 38 80 00 00 */ li r4, 0
/* 803051C4 38 A0 00 01 */ li r5, 1
/* 803051C8 38 C0 00 02 */ li r6, 2
/* 803051CC 38 E0 00 03 */ li r7, 3
/* 803051D0 48 05 A3 D5 */ bl GXSetTevSwapModeTable
/* 803051D4 3B BD 00 01 */ addi r29, r29, 1
/* 803051D8 2C 1D 00 04 */ cmpwi r29, 4
/* 803051DC 41 80 FF E0 */ blt lbl_803051BC
/* 803051E0 38 60 00 00 */ li r3, 0
/* 803051E4 48 05 9E F1 */ bl GXSetNumIndStages
/* 803051E8 3B A0 00 00 */ li r29, 0
lbl_803051EC:
/* 803051EC 7F A3 EB 78 */ mr r3, r29
/* 803051F0 48 05 9F 09 */ bl GXSetTevDirect
/* 803051F4 3B BD 00 01 */ addi r29, r29, 1
/* 803051F8 2C 1D 00 10 */ cmpwi r29, 0x10
/* 803051FC 41 80 FF F0 */ blt lbl_803051EC
/* 80305200 38 60 00 04 */ li r3, 4
/* 80305204 38 80 00 00 */ li r4, 0
/* 80305208 38 A0 00 00 */ li r5, 0
/* 8030520C 38 C0 00 01 */ li r6, 1
/* 80305210 38 E0 00 00 */ li r7, 0
/* 80305214 39 00 00 00 */ li r8, 0
/* 80305218 39 20 00 02 */ li r9, 2
/* 8030521C 48 05 89 51 */ bl GXSetChanCtrl
/* 80305220 38 60 00 0D */ li r3, 0xd
/* 80305224 38 80 00 00 */ li r4, 0
/* 80305228 48 05 5C 91 */ bl GXSetVtxDesc
lbl_8030522C:
/* 8030522C E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */
/* 80305230 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80305234 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */
/* 80305238 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8030523C E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */
/* 80305240 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 80305244 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0 /* qr0 */
/* 80305248 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 8030524C 39 61 00 30 */ addi r11, r1, 0x30
/* 80305250 48 05 CF D9 */ bl _restgpr_29
/* 80305254 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80305258 7C 08 03 A6 */ mtlr r0
/* 8030525C 38 21 00 70 */ addi r1, r1, 0x70
/* 80305260 4E 80 00 20 */ blr