diff --git a/asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index fdef2d156..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80277314: -/* 80277314 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80277318 80 A3 00 04 */ lwz r5, 4(r3) -/* 8027731C 80 A5 00 1C */ lwz r5, 0x1c(r5) -/* 80277320 80 C5 00 00 */ lwz r6, 0(r5) -/* 80277324 A8 A6 00 24 */ lha r5, 0x24(r6) -/* 80277328 38 E5 00 01 */ addi r7, r5, 1 -/* 8027732C 88 A4 00 95 */ lbz r5, 0x95(r4) -/* 80277330 88 06 00 2F */ lbz r0, 0x2f(r6) -/* 80277334 7C A5 00 38 */ and r5, r5, r0 -/* 80277338 C0 44 00 84 */ lfs f2, 0x84(r4) -/* 8027733C C8 22 B8 B0 */ lfd f1, lit_2623(r2) -/* 80277340 6C E0 80 00 */ xoris r0, r7, 0x8000 -/* 80277344 90 01 00 0C */ stw r0, 0xc(r1) -/* 80277348 3C 00 43 30 */ lis r0, 0x4330 -/* 8027734C 90 01 00 08 */ stw r0, 8(r1) -/* 80277350 C8 01 00 08 */ lfd f0, 8(r1) -/* 80277354 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80277358 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027735C FC 00 00 1E */ fctiwz f0, f0 -/* 80277360 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80277364 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80277368 7C 80 2A 14 */ add r4, r0, r5 -/* 8027736C 7C 04 3B D6 */ divw r0, r4, r7 -/* 80277370 7C 00 39 D6 */ mullw r0, r0, r7 -/* 80277374 7C 00 20 50 */ subf r0, r0, r4 -/* 80277378 B0 03 02 14 */ sth r0, 0x214(r3) -/* 8027737C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80277380 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 0a9dab47b..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80277B94: -/* 80277B94 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80277B98 80 63 00 04 */ lwz r3, 4(r3) -/* 80277B9C 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 80277BA0 80 E5 00 00 */ lwz r7, 0(r5) -/* 80277BA4 88 C7 00 1F */ lbz r6, 0x1f(r7) -/* 80277BA8 88 64 00 95 */ lbz r3, 0x95(r4) -/* 80277BAC 88 07 00 30 */ lbz r0, 0x30(r7) -/* 80277BB0 7C 63 00 38 */ and r3, r3, r0 -/* 80277BB4 80 A5 00 08 */ lwz r5, 8(r5) -/* 80277BB8 C8 22 B8 B0 */ lfd f1, lit_2623(r2) -/* 80277BBC 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 80277BC0 90 01 00 0C */ stw r0, 0xc(r1) -/* 80277BC4 3C 00 43 30 */ lis r0, 0x4330 -/* 80277BC8 90 01 00 08 */ stw r0, 8(r1) -/* 80277BCC C8 01 00 08 */ lfd f0, 8(r1) -/* 80277BD0 EC 20 08 28 */ fsubs f1, f0, f1 -/* 80277BD4 C0 04 00 84 */ lfs f0, 0x84(r4) -/* 80277BD8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80277BDC FC 00 00 1E */ fctiwz f0, f0 -/* 80277BE0 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80277BE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80277BE8 7C 60 1A 14 */ add r3, r0, r3 -/* 80277BEC 7C 03 33 D6 */ divw r0, r3, r6 -/* 80277BF0 7C 00 31 D6 */ mullw r0, r0, r6 -/* 80277BF4 7C 00 18 50 */ subf r0, r0, r3 -/* 80277BF8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80277BFC 7C 05 00 AE */ lbzx r0, r5, r0 -/* 80277C00 98 04 00 94 */ stb r0, 0x94(r4) -/* 80277C04 38 21 00 20 */ addi r1, r1, 0x20 -/* 80277C08 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 94c9b5db3..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_80277E88: -/* 80277E88 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80277E8C 7C 08 02 A6 */ mflr r0 -/* 80277E90 90 01 00 54 */ stw r0, 0x54(r1) -/* 80277E94 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 80277E98 93 C1 00 48 */ stw r30, 0x48(r1) -/* 80277E9C 7C 7E 1B 78 */ mr r30, r3 -/* 80277EA0 7C 9F 23 78 */ mr r31, r4 -/* 80277EA4 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 80277EA8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80277EAC 40 82 00 AC */ bne lbl_80277F58 -/* 80277EB0 38 7E 01 84 */ addi r3, r30, 0x184 -/* 80277EB4 38 A1 00 08 */ addi r5, r1, 8 -/* 80277EB8 48 0C EE B5 */ bl PSMTXMultVec -/* 80277EBC C0 3E 01 44 */ lfs f1, 0x144(r30) -/* 80277EC0 C0 1F 00 60 */ lfs f0, 0x60(r31) -/* 80277EC4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80277EC8 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80277ECC C0 01 00 08 */ lfs f0, 8(r1) -/* 80277ED0 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80277ED4 C0 3E 01 48 */ lfs f1, 0x148(r30) -/* 80277ED8 C0 1F 00 64 */ lfs f0, 0x64(r31) -/* 80277EDC EC 01 00 32 */ fmuls f0, f1, f0 -/* 80277EE0 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80277EE4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80277EE8 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80277EEC C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80277EF0 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80277EF4 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80277EF8 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80277EFC C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80277F00 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80277F04 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80277F08 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80277F0C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80277F10 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80277F14 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80277F18 38 61 00 14 */ addi r3, r1, 0x14 -/* 80277F1C 38 80 00 00 */ li r4, 0 -/* 80277F20 48 0E 83 2D */ bl GXLoadPosMtxImm -/* 80277F24 7F C3 F3 78 */ mr r3, r30 -/* 80277F28 38 81 00 14 */ addi r4, r1, 0x14 -/* 80277F2C 80 1E 02 10 */ lwz r0, 0x210(r30) -/* 80277F30 54 00 10 3A */ slwi r0, r0, 2 -/* 80277F34 3C A0 80 3C */ lis r5, p_prj@ha /* 0x803C4320@ha */ -/* 80277F38 38 A5 43 20 */ addi r5, r5, p_prj@l /* 0x803C4320@l */ -/* 80277F3C 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80277F40 7D 89 03 A6 */ mtctr r12 -/* 80277F44 4E 80 04 21 */ bctrl -/* 80277F48 3C 60 80 3C */ lis r3, jpa_dl@ha /* 0x803C42E0@ha */ -/* 80277F4C 38 63 42 E0 */ addi r3, r3, jpa_dl@l /* 0x803C42E0@l */ -/* 80277F50 38 80 00 20 */ li r4, 0x20 -/* 80277F54 48 0E 7F 9D */ bl GXCallDisplayList -lbl_80277F58: -/* 80277F58 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 80277F5C 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 80277F60 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80277F64 7C 08 03 A6 */ mtlr r0 -/* 80277F68 38 21 00 50 */ addi r1, r1, 0x50 -/* 80277F6C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index c8bbbeed4..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,141 +0,0 @@ -lbl_80278DA8: -/* 80278DA8 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 80278DAC 7C 08 02 A6 */ mflr r0 -/* 80278DB0 90 01 00 94 */ stw r0, 0x94(r1) -/* 80278DB4 DB E1 00 80 */ stfd f31, 0x80(r1) -/* 80278DB8 F3 E1 00 88 */ psq_st f31, 136(r1), 0, 0 /* qr0 */ -/* 80278DBC DB C1 00 70 */ stfd f30, 0x70(r1) -/* 80278DC0 F3 C1 00 78 */ psq_st f30, 120(r1), 0, 0 /* qr0 */ -/* 80278DC4 39 61 00 70 */ addi r11, r1, 0x70 -/* 80278DC8 48 0E 94 15 */ bl _savegpr_29 -/* 80278DCC 7C 7D 1B 78 */ mr r29, r3 -/* 80278DD0 7C 9E 23 78 */ mr r30, r4 -/* 80278DD4 3C A0 80 3C */ lis r5, jpa_dl@ha /* 0x803C42E0@ha */ -/* 80278DD8 3B E5 42 E0 */ addi r31, r5, jpa_dl@l /* 0x803C42E0@l */ -/* 80278DDC 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 80278DE0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80278DE4 40 82 01 BC */ bne lbl_80278FA0 -/* 80278DE8 38 A1 00 20 */ addi r5, r1, 0x20 -/* 80278DEC 80 1D 02 00 */ lwz r0, 0x200(r29) -/* 80278DF0 54 00 10 3A */ slwi r0, r0, 2 -/* 80278DF4 38 DF 00 4C */ addi r6, r31, 0x4c -/* 80278DF8 7D 86 00 2E */ lwzx r12, r6, r0 -/* 80278DFC 7D 89 03 A6 */ mtctr r12 -/* 80278E00 4E 80 04 21 */ bctrl -/* 80278E04 C0 5D 01 AC */ lfs f2, 0x1ac(r29) -/* 80278E08 C0 3D 01 A8 */ lfs f1, 0x1a8(r29) -/* 80278E0C C0 1D 01 A4 */ lfs f0, 0x1a4(r29) -/* 80278E10 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80278E14 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80278E18 D0 41 00 1C */ stfs f2, 0x1c(r1) -/* 80278E1C 38 61 00 20 */ addi r3, r1, 0x20 -/* 80278E20 38 81 00 14 */ addi r4, r1, 0x14 -/* 80278E24 7C 65 1B 78 */ mr r5, r3 -/* 80278E28 48 0C E3 8D */ bl PSVECCrossProduct -/* 80278E2C E0 01 00 20 */ psq_l f0, 32(r1), 0, 0 /* qr0 */ -/* 80278E30 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80278E34 C3 C1 00 28 */ lfs f30, 0x28(r1) -/* 80278E38 10 5E 07 BA */ ps_madd f2, f30, f30, f0 -/* 80278E3C 10 42 00 14 */ ps_sum0 f2, f2, f0, f0 -/* 80278E40 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 80278E44 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80278E48 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80278E4C EC 01 00 32 */ fmuls f0, f1, f0 -/* 80278E50 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80278E54 4C 40 13 82 */ cror 2, 0, 2 -/* 80278E58 41 82 01 48 */ beq lbl_80278FA0 -/* 80278E5C E0 21 00 20 */ psq_l f1, 32(r1), 0, 0 /* qr0 */ -/* 80278E60 10 21 00 72 */ ps_mul f1, f1, f1 -/* 80278E64 10 9E 0F BA */ ps_madd f4, f30, f30, f1 -/* 80278E68 10 84 08 54 */ ps_sum0 f4, f4, f1, f1 -/* 80278E6C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278E70 4C 40 13 82 */ cror 2, 0, 2 -/* 80278E74 41 82 00 5C */ beq lbl_80278ED0 -/* 80278E78 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278E7C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278E80 4C 40 13 82 */ cror 2, 0, 2 -/* 80278E84 40 82 00 0C */ bne lbl_80278E90 -/* 80278E88 FF E0 20 90 */ fmr f31, f4 -/* 80278E8C 48 00 00 2C */ b lbl_80278EB8 -lbl_80278E90: -/* 80278E90 FC 60 20 34 */ frsqrte f3, f4 -/* 80278E94 FC 60 18 18 */ frsp f3, f3 -/* 80278E98 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80278E9C EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80278EA0 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80278EA4 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80278EA8 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80278EAC EC 01 00 28 */ fsubs f0, f1, f0 -/* 80278EB0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80278EB4 FF E0 00 90 */ fmr f31, f0 -lbl_80278EB8: -/* 80278EB8 E0 01 00 20 */ psq_l f0, 32(r1), 0, 0 /* qr0 */ -/* 80278EBC E0 21 80 28 */ psq_l f1, 40(r1), 1, 0 /* qr0 */ -/* 80278EC0 10 00 07 D8 */ ps_muls0 f0, f0, f31 -/* 80278EC4 F0 01 00 20 */ psq_st f0, 32(r1), 0, 0 /* qr0 */ -/* 80278EC8 10 01 07 D8 */ ps_muls0 f0, f1, f31 -/* 80278ECC F0 01 80 28 */ psq_st f0, 40(r1), 1, 0 /* qr0 */ -lbl_80278ED0: -/* 80278ED0 38 7D 01 84 */ addi r3, r29, 0x184 -/* 80278ED4 38 81 00 20 */ addi r4, r1, 0x20 -/* 80278ED8 7C 85 23 78 */ mr r5, r4 -/* 80278EDC 48 0C DF 71 */ bl PSMTXMultVecSR -/* 80278EE0 38 7D 01 84 */ addi r3, r29, 0x184 -/* 80278EE4 7F C4 F3 78 */ mr r4, r30 -/* 80278EE8 38 A1 00 08 */ addi r5, r1, 8 -/* 80278EEC 48 0C DE 81 */ bl PSMTXMultVec -/* 80278EF0 C0 3D 01 44 */ lfs f1, 0x144(r29) -/* 80278EF4 C0 1E 00 60 */ lfs f0, 0x60(r30) -/* 80278EF8 EC 61 00 32 */ fmuls f3, f1, f0 -/* 80278EFC C0 3D 01 48 */ lfs f1, 0x148(r29) -/* 80278F00 C0 1E 00 64 */ lfs f0, 0x64(r30) -/* 80278F04 EC 81 00 32 */ fmuls f4, f1, f0 -/* 80278F08 C0 41 00 20 */ lfs f2, 0x20(r1) -/* 80278F0C EC 02 00 F2 */ fmuls f0, f2, f3 -/* 80278F10 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80278F14 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80278F18 FC 00 08 50 */ fneg f0, f1 -/* 80278F1C EC 00 01 32 */ fmuls f0, f0, f4 -/* 80278F20 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80278F24 C0 01 00 08 */ lfs f0, 8(r1) -/* 80278F28 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80278F2C EC 01 00 F2 */ fmuls f0, f1, f3 -/* 80278F30 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80278F34 EC 02 01 32 */ fmuls f0, f2, f4 -/* 80278F38 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80278F3C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80278F40 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80278F44 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80278F48 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 80278F4C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80278F50 D0 01 00 58 */ stfs f0, 0x58(r1) -/* 80278F54 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278F58 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 80278F5C D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80278F60 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80278F64 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80278F68 38 61 00 2C */ addi r3, r1, 0x2c -/* 80278F6C 38 80 00 00 */ li r4, 0 -/* 80278F70 48 0E 72 DD */ bl GXLoadPosMtxImm -/* 80278F74 7F A3 EB 78 */ mr r3, r29 -/* 80278F78 38 81 00 2C */ addi r4, r1, 0x2c -/* 80278F7C 80 1D 02 10 */ lwz r0, 0x210(r29) -/* 80278F80 54 00 10 3A */ slwi r0, r0, 2 -/* 80278F84 38 BF 00 40 */ addi r5, r31, 0x40 -/* 80278F88 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80278F8C 7D 89 03 A6 */ mtctr r12 -/* 80278F90 4E 80 04 21 */ bctrl -/* 80278F94 38 7F 00 00 */ addi r3, r31, 0 -/* 80278F98 38 80 00 20 */ li r4, 0x20 -/* 80278F9C 48 0E 6F 55 */ bl GXCallDisplayList -lbl_80278FA0: -/* 80278FA0 E3 E1 00 88 */ psq_l f31, 136(r1), 0, 0 /* qr0 */ -/* 80278FA4 CB E1 00 80 */ lfd f31, 0x80(r1) -/* 80278FA8 E3 C1 00 78 */ psq_l f30, 120(r1), 0, 0 /* qr0 */ -/* 80278FAC CB C1 00 70 */ lfd f30, 0x70(r1) -/* 80278FB0 39 61 00 70 */ addi r11, r1, 0x70 -/* 80278FB4 48 0E 92 75 */ bl _restgpr_29 -/* 80278FB8 80 01 00 94 */ lwz r0, 0x94(r1) -/* 80278FBC 7C 08 03 A6 */ mtlr r0 -/* 80278FC0 38 21 00 90 */ addi r1, r1, 0x90 -/* 80278FC4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index eb2b9cb9a..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,242 +0,0 @@ -lbl_802785F8: -/* 802785F8 94 21 FF 40 */ stwu r1, -0xc0(r1) -/* 802785FC 7C 08 02 A6 */ mflr r0 -/* 80278600 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 80278604 DB E1 00 B0 */ stfd f31, 0xb0(r1) -/* 80278608 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, 0 /* qr0 */ -/* 8027860C DB C1 00 A0 */ stfd f30, 0xa0(r1) -/* 80278610 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, 0 /* qr0 */ -/* 80278614 DB A1 00 90 */ stfd f29, 0x90(r1) -/* 80278618 F3 A1 00 98 */ psq_st f29, 152(r1), 0, 0 /* qr0 */ -/* 8027861C DB 81 00 80 */ stfd f28, 0x80(r1) -/* 80278620 F3 81 00 88 */ psq_st f28, 136(r1), 0, 0 /* qr0 */ -/* 80278624 DB 61 00 70 */ stfd f27, 0x70(r1) -/* 80278628 F3 61 00 78 */ psq_st f27, 120(r1), 0, 0 /* qr0 */ -/* 8027862C DB 41 00 60 */ stfd f26, 0x60(r1) -/* 80278630 F3 41 00 68 */ psq_st f26, 104(r1), 0, 0 /* qr0 */ -/* 80278634 39 61 00 60 */ addi r11, r1, 0x60 -/* 80278638 48 0E 9B A5 */ bl _savegpr_29 -/* 8027863C 7C 7E 1B 78 */ mr r30, r3 -/* 80278640 7C 9D 23 78 */ mr r29, r4 -/* 80278644 3C A0 80 3C */ lis r5, jpa_dl@ha /* 0x803C42E0@ha */ -/* 80278648 3B E5 42 E0 */ addi r31, r5, jpa_dl@l /* 0x803C42E0@l */ -/* 8027864C 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 80278650 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80278654 40 82 02 F8 */ bne lbl_8027894C -/* 80278658 38 A1 00 14 */ addi r5, r1, 0x14 -/* 8027865C 80 1E 02 00 */ lwz r0, 0x200(r30) -/* 80278660 54 00 10 3A */ slwi r0, r0, 2 -/* 80278664 38 DF 00 4C */ addi r6, r31, 0x4c -/* 80278668 7D 86 00 2E */ lwzx r12, r6, r0 -/* 8027866C 7D 89 03 A6 */ mtctr r12 -/* 80278670 4E 80 04 21 */ bctrl -/* 80278674 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80278678 10 00 00 32 */ ps_mul f0, f0, f0 -/* 8027867C C3 41 00 1C */ lfs f26, 0x1c(r1) -/* 80278680 10 5A 06 BA */ ps_madd f2, f26, f26, f0 -/* 80278684 10 42 00 14 */ ps_sum0 f2, f2, f0, f0 -/* 80278688 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 8027868C 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80278690 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80278694 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80278698 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8027869C 4C 40 13 82 */ cror 2, 0, 2 -/* 802786A0 41 82 02 AC */ beq lbl_8027894C -/* 802786A4 E0 21 00 14 */ psq_l f1, 20(r1), 0, 0 /* qr0 */ -/* 802786A8 10 21 00 72 */ ps_mul f1, f1, f1 -/* 802786AC 10 9A 0E BA */ ps_madd f4, f26, f26, f1 -/* 802786B0 10 84 08 54 */ ps_sum0 f4, f4, f1, f1 -/* 802786B4 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802786B8 4C 40 13 82 */ cror 2, 0, 2 -/* 802786BC 41 82 00 5C */ beq lbl_80278718 -/* 802786C0 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 802786C4 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802786C8 4C 40 13 82 */ cror 2, 0, 2 -/* 802786CC 40 82 00 0C */ bne lbl_802786D8 -/* 802786D0 FF 60 20 90 */ fmr f27, f4 -/* 802786D4 48 00 00 2C */ b lbl_80278700 -lbl_802786D8: -/* 802786D8 FC 60 20 34 */ frsqrte f3, f4 -/* 802786DC FC 60 18 18 */ frsp f3, f3 -/* 802786E0 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 802786E4 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 802786E8 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 802786EC EC 03 00 F2 */ fmuls f0, f3, f3 -/* 802786F0 EC 04 00 32 */ fmuls f0, f4, f0 -/* 802786F4 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802786F8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 802786FC FF 60 00 90 */ fmr f27, f0 -lbl_80278700: -/* 80278700 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80278704 E0 21 80 1C */ psq_l f1, 28(r1), 1, 0 /* qr0 */ -/* 80278708 10 00 06 D8 */ ps_muls0 f0, f0, f27 -/* 8027870C F0 01 00 14 */ psq_st f0, 20(r1), 0, 0 /* qr0 */ -/* 80278710 10 01 06 D8 */ ps_muls0 f0, f1, f27 -/* 80278714 F0 01 80 1C */ psq_st f0, 28(r1), 1, 0 /* qr0 */ -lbl_80278718: -/* 80278718 38 7D 00 54 */ addi r3, r29, 0x54 -/* 8027871C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80278720 38 A1 00 08 */ addi r5, r1, 8 -/* 80278724 48 0C EA 91 */ bl PSVECCrossProduct -/* 80278728 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 8027872C 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80278730 C3 A1 00 10 */ lfs f29, 0x10(r1) -/* 80278734 10 5D 07 7A */ ps_madd f2, f29, f29, f0 -/* 80278738 10 42 00 14 */ ps_sum0 f2, f2, f0, f0 -/* 8027873C C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 80278740 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80278744 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80278748 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027874C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80278750 4C 40 13 82 */ cror 2, 0, 2 -/* 80278754 41 82 01 F8 */ beq lbl_8027894C -/* 80278758 E0 21 00 08 */ psq_l f1, 8(r1), 0, 0 /* qr0 */ -/* 8027875C 10 21 00 72 */ ps_mul f1, f1, f1 -/* 80278760 10 9D 0F 7A */ ps_madd f4, f29, f29, f1 -/* 80278764 10 84 08 54 */ ps_sum0 f4, f4, f1, f1 -/* 80278768 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027876C 4C 40 13 82 */ cror 2, 0, 2 -/* 80278770 41 82 00 5C */ beq lbl_802787CC -/* 80278774 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278778 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027877C 4C 40 13 82 */ cror 2, 0, 2 -/* 80278780 40 82 00 0C */ bne lbl_8027878C -/* 80278784 FF E0 20 90 */ fmr f31, f4 -/* 80278788 48 00 00 2C */ b lbl_802787B4 -lbl_8027878C: -/* 8027878C FC 60 20 34 */ frsqrte f3, f4 -/* 80278790 FC 60 18 18 */ frsp f3, f3 -/* 80278794 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80278798 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 8027879C C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 802787A0 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 802787A4 EC 04 00 32 */ fmuls f0, f4, f0 -/* 802787A8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802787AC EC 02 00 32 */ fmuls f0, f2, f0 -/* 802787B0 FF E0 00 90 */ fmr f31, f0 -lbl_802787B4: -/* 802787B4 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 802787B8 E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */ -/* 802787BC 10 00 07 D8 */ ps_muls0 f0, f0, f31 -/* 802787C0 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 802787C4 10 01 07 D8 */ ps_muls0 f0, f1, f31 -/* 802787C8 F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -lbl_802787CC: -/* 802787CC 38 61 00 14 */ addi r3, r1, 0x14 -/* 802787D0 38 81 00 08 */ addi r4, r1, 8 -/* 802787D4 38 BD 00 54 */ addi r5, r29, 0x54 -/* 802787D8 48 0C E9 DD */ bl PSVECCrossProduct -/* 802787DC E0 1D 00 54 */ psq_l f0, 84(r29), 0, 0 /* qr0 */ -/* 802787E0 10 00 00 32 */ ps_mul f0, f0, f0 -/* 802787E4 C3 9D 00 5C */ lfs f28, 0x5c(r29) -/* 802787E8 10 9C 07 3A */ ps_madd f4, f28, f28, f0 -/* 802787EC 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 802787F0 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 802787F4 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 802787F8 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 802787FC EC 01 00 32 */ fmuls f0, f1, f0 -/* 80278800 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278804 4C 40 13 82 */ cror 2, 0, 2 -/* 80278808 41 82 00 5C */ beq lbl_80278864 -/* 8027880C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278810 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278814 4C 40 13 82 */ cror 2, 0, 2 -/* 80278818 40 82 00 0C */ bne lbl_80278824 -/* 8027881C FF C0 20 90 */ fmr f30, f4 -/* 80278820 48 00 00 2C */ b lbl_8027884C -lbl_80278824: -/* 80278824 FC 60 20 34 */ frsqrte f3, f4 -/* 80278828 FC 60 18 18 */ frsp f3, f3 -/* 8027882C C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80278830 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80278834 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80278838 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8027883C EC 04 00 32 */ fmuls f0, f4, f0 -/* 80278840 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80278844 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80278848 FF C0 00 90 */ fmr f30, f0 -lbl_8027884C: -/* 8027884C E0 1D 00 54 */ psq_l f0, 84(r29), 0, 0 /* qr0 */ -/* 80278850 E0 3D 80 5C */ psq_l f1, 92(r29), 1, 0 /* qr0 */ -/* 80278854 10 00 07 98 */ ps_muls0 f0, f0, f30 -/* 80278858 F0 1D 00 54 */ psq_st f0, 84(r29), 0, 0 /* qr0 */ -/* 8027885C 10 01 07 98 */ ps_muls0 f0, f1, f30 -/* 80278860 F0 1D 80 5C */ psq_st f0, 92(r29), 1, 0 /* qr0 */ -lbl_80278864: -/* 80278864 C0 3E 01 44 */ lfs f1, 0x144(r30) -/* 80278868 C0 1D 00 60 */ lfs f0, 0x60(r29) -/* 8027886C EC 21 00 32 */ fmuls f1, f1, f0 -/* 80278870 C0 5E 01 48 */ lfs f2, 0x148(r30) -/* 80278874 C0 1D 00 64 */ lfs f0, 0x64(r29) -/* 80278878 EC 42 00 32 */ fmuls f2, f2, f0 -/* 8027887C C0 1D 00 54 */ lfs f0, 0x54(r29) -/* 80278880 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80278884 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80278888 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8027888C C0 01 00 08 */ lfs f0, 8(r1) -/* 80278890 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80278894 C0 1D 00 00 */ lfs f0, 0(r29) -/* 80278898 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8027889C C0 1D 00 58 */ lfs f0, 0x58(r29) -/* 802788A0 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 802788A4 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 802788A8 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 802788AC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802788B0 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 802788B4 C0 1D 00 04 */ lfs f0, 4(r29) -/* 802788B8 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 802788BC C0 1D 00 5C */ lfs f0, 0x5c(r29) -/* 802788C0 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 802788C4 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 802788C8 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 802788CC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 802788D0 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 802788D4 C0 1D 00 08 */ lfs f0, 8(r29) -/* 802788D8 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 802788DC 38 61 00 20 */ addi r3, r1, 0x20 -/* 802788E0 80 1E 02 08 */ lwz r0, 0x208(r30) -/* 802788E4 54 00 10 3A */ slwi r0, r0, 2 -/* 802788E8 38 9F 00 74 */ addi r4, r31, 0x74 -/* 802788EC 7D 84 00 2E */ lwzx r12, r4, r0 -/* 802788F0 7D 89 03 A6 */ mtctr r12 -/* 802788F4 4E 80 04 21 */ bctrl -/* 802788F8 38 7E 01 84 */ addi r3, r30, 0x184 -/* 802788FC 38 81 00 20 */ addi r4, r1, 0x20 -/* 80278900 7C 85 23 78 */ mr r5, r4 -/* 80278904 48 0C DB E1 */ bl PSMTXConcat -/* 80278908 38 61 00 20 */ addi r3, r1, 0x20 -/* 8027890C 38 80 00 00 */ li r4, 0 -/* 80278910 48 0E 79 3D */ bl GXLoadPosMtxImm -/* 80278914 7F C3 F3 78 */ mr r3, r30 -/* 80278918 38 81 00 20 */ addi r4, r1, 0x20 -/* 8027891C 80 1E 02 10 */ lwz r0, 0x210(r30) -/* 80278920 54 00 10 3A */ slwi r0, r0, 2 -/* 80278924 38 BF 00 40 */ addi r5, r31, 0x40 -/* 80278928 7D 85 00 2E */ lwzx r12, r5, r0 -/* 8027892C 7D 89 03 A6 */ mtctr r12 -/* 80278930 4E 80 04 21 */ bctrl -/* 80278934 80 1E 02 0C */ lwz r0, 0x20c(r30) -/* 80278938 54 00 10 3A */ slwi r0, r0, 2 -/* 8027893C 38 6D 82 20 */ la r3, p_dl(r13) /* 804507A0-_SDA_BASE_ */ -/* 80278940 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80278944 38 80 00 20 */ li r4, 0x20 -/* 80278948 48 0E 75 A9 */ bl GXCallDisplayList -lbl_8027894C: -/* 8027894C E3 E1 00 B8 */ psq_l f31, 184(r1), 0, 0 /* qr0 */ -/* 80278950 CB E1 00 B0 */ lfd f31, 0xb0(r1) -/* 80278954 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, 0 /* qr0 */ -/* 80278958 CB C1 00 A0 */ lfd f30, 0xa0(r1) -/* 8027895C E3 A1 00 98 */ psq_l f29, 152(r1), 0, 0 /* qr0 */ -/* 80278960 CB A1 00 90 */ lfd f29, 0x90(r1) -/* 80278964 E3 81 00 88 */ psq_l f28, 136(r1), 0, 0 /* qr0 */ -/* 80278968 CB 81 00 80 */ lfd f28, 0x80(r1) -/* 8027896C E3 61 00 78 */ psq_l f27, 120(r1), 0, 0 /* qr0 */ -/* 80278970 CB 61 00 70 */ lfd f27, 0x70(r1) -/* 80278974 E3 41 00 68 */ psq_l f26, 104(r1), 0, 0 /* qr0 */ -/* 80278978 CB 41 00 60 */ lfd f26, 0x60(r1) -/* 8027897C 39 61 00 60 */ addi r11, r1, 0x60 -/* 80278980 48 0E 98 A9 */ bl _restgpr_29 -/* 80278984 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 80278988 7C 08 03 A6 */ mtlr r0 -/* 8027898C 38 21 00 C0 */ addi r1, r1, 0xc0 -/* 80278990 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 2d5ae5fd9..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_802791B0: -/* 802791B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802791B4 7C 08 02 A6 */ mflr r0 -/* 802791B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802791BC 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 802791C0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 802791C4 40 82 01 90 */ bne lbl_80279354 -/* 802791C8 E0 24 00 00 */ psq_l f1, 0(r4), 0, 0 /* qr0 */ -/* 802791CC C0 04 00 08 */ lfs f0, 8(r4) -/* 802791D0 F0 21 00 14 */ psq_st f1, 20(r1), 0, 0 /* qr0 */ -/* 802791D4 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 802791D8 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 802791DC D0 01 00 08 */ stfs f0, 8(r1) -/* 802791E0 C0 04 00 28 */ lfs f0, 0x28(r4) -/* 802791E4 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802791E8 C0 84 00 2C */ lfs f4, 0x2c(r4) -/* 802791EC D0 81 00 10 */ stfs f4, 0x10(r1) -/* 802791F0 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 802791F4 10 00 00 32 */ ps_mul f0, f0, f0 -/* 802791F8 10 44 01 3A */ ps_madd f2, f4, f4, f0 -/* 802791FC 10 42 00 14 */ ps_sum0 f2, f2, f0, f0 -/* 80279200 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 80279204 3C A0 80 45 */ lis r5, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279208 C0 05 0A EC */ lfs f0, __float_epsilon@l(r5) /* 0x80450AEC@l */ -/* 8027920C EC 61 00 32 */ fmuls f3, f1, f0 -/* 80279210 FC 02 18 40 */ fcmpo cr0, f2, f3 -/* 80279214 4C 40 13 82 */ cror 2, 0, 2 -/* 80279218 41 82 01 3C */ beq lbl_80279354 -/* 8027921C C0 43 01 48 */ lfs f2, 0x148(r3) -/* 80279220 C0 22 B8 A8 */ lfs f1, lit_2262(r2) -/* 80279224 C0 04 00 64 */ lfs f0, 0x64(r4) -/* 80279228 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8027922C EC A2 00 32 */ fmuls f5, f2, f0 -/* 80279230 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80279234 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279238 10 84 01 3A */ ps_madd f4, f4, f4, f0 -/* 8027923C 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 80279240 FC 04 18 40 */ fcmpo cr0, f4, f3 -/* 80279244 4C 40 13 82 */ cror 2, 0, 2 -/* 80279248 41 82 00 58 */ beq lbl_802792A0 -/* 8027924C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279250 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279254 4C 40 13 82 */ cror 2, 0, 2 -/* 80279258 40 82 00 08 */ bne lbl_80279260 -/* 8027925C 48 00 00 28 */ b lbl_80279284 -lbl_80279260: -/* 80279260 FC 60 20 34 */ frsqrte f3, f4 -/* 80279264 FC 60 18 18 */ frsp f3, f3 -/* 80279268 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 8027926C EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80279270 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80279274 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80279278 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8027927C EC 01 00 28 */ fsubs f0, f1, f0 -/* 80279280 EC 82 00 32 */ fmuls f4, f2, f0 -lbl_80279284: -/* 80279284 EC C4 01 72 */ fmuls f6, f4, f5 -/* 80279288 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 8027928C E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */ -/* 80279290 10 00 01 98 */ ps_muls0 f0, f0, f6 -/* 80279294 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 80279298 10 01 01 98 */ ps_muls0 f0, f1, f6 -/* 8027929C F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -lbl_802792A0: -/* 802792A0 E0 21 00 14 */ psq_l f1, 20(r1), 0, 0 /* qr0 */ -/* 802792A4 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 802792A8 10 01 00 28 */ ps_sub f0, f1, f0 -/* 802792AC F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 802792B0 E0 21 80 1C */ psq_l f1, 28(r1), 1, 0 /* qr0 */ -/* 802792B4 E0 01 80 10 */ psq_l f0, 16(r1), 1, 0 /* qr0 */ -/* 802792B8 10 01 00 28 */ ps_sub f0, f1, f0 -/* 802792BC F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -/* 802792C0 38 60 00 09 */ li r3, 9 -/* 802792C4 38 80 00 01 */ li r4, 1 -/* 802792C8 48 0E 1B F1 */ bl GXSetVtxDesc -/* 802792CC 38 60 00 0D */ li r3, 0xd -/* 802792D0 38 80 00 01 */ li r4, 1 -/* 802792D4 48 0E 1B E5 */ bl GXSetVtxDesc -/* 802792D8 38 60 00 A8 */ li r3, 0xa8 -/* 802792DC 38 80 00 01 */ li r4, 1 -/* 802792E0 38 A0 00 02 */ li r5, 2 -/* 802792E4 48 0E 34 81 */ bl GXBegin -/* 802792E8 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 802792EC 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 802792F0 D0 03 80 00 */ stfs f0, 0x8000(r3) /* 0xCC008000@l */ -/* 802792F4 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 802792F8 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 802792FC C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80279300 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80279304 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279308 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 8027930C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279310 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80279314 C0 01 00 08 */ lfs f0, 8(r1) -/* 80279318 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 8027931C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80279320 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80279324 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80279328 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 8027932C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279330 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80279334 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80279338 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 8027933C 38 60 00 09 */ li r3, 9 -/* 80279340 38 80 00 02 */ li r4, 2 -/* 80279344 48 0E 1B 75 */ bl GXSetVtxDesc -/* 80279348 38 60 00 0D */ li r3, 0xd -/* 8027934C 38 80 00 02 */ li r4, 2 -/* 80279350 48 0E 1B 69 */ bl GXSetVtxDesc -lbl_80279354: -/* 80279354 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80279358 7C 08 03 A6 */ mtlr r0 -/* 8027935C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80279360 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 3511418f8..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80279110: -/* 80279110 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80279114 7C 08 02 A6 */ mflr r0 -/* 80279118 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027911C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80279120 7C 9F 23 78 */ mr r31, r4 -/* 80279124 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 80279128 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8027912C 40 82 00 70 */ bne lbl_8027919C -/* 80279130 38 60 00 09 */ li r3, 9 -/* 80279134 38 80 00 01 */ li r4, 1 -/* 80279138 48 0E 1D 81 */ bl GXSetVtxDesc -/* 8027913C 38 60 00 0D */ li r3, 0xd -/* 80279140 38 80 00 01 */ li r4, 1 -/* 80279144 48 0E 1D 75 */ bl GXSetVtxDesc -/* 80279148 38 60 00 B8 */ li r3, 0xb8 -/* 8027914C 38 80 00 01 */ li r4, 1 -/* 80279150 38 A0 00 01 */ li r5, 1 -/* 80279154 48 0E 36 11 */ bl GXBegin -/* 80279158 C0 5F 00 08 */ lfs f2, 8(r31) -/* 8027915C C0 3F 00 04 */ lfs f1, 4(r31) -/* 80279160 C0 1F 00 00 */ lfs f0, 0(r31) -/* 80279164 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 80279168 D0 03 80 00 */ stfs f0, 0x8000(r3) /* 0xCC008000@l */ -/* 8027916C D0 23 80 00 */ stfs f1, -0x8000(r3) -/* 80279170 D0 43 80 00 */ stfs f2, -0x8000(r3) -/* 80279174 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279178 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 8027917C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279180 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80279184 38 60 00 09 */ li r3, 9 -/* 80279188 38 80 00 02 */ li r4, 2 -/* 8027918C 48 0E 1D 2D */ bl GXSetVtxDesc -/* 80279190 38 60 00 0D */ li r3, 0xd -/* 80279194 38 80 00 02 */ li r4, 2 -/* 80279198 48 0E 1D 21 */ bl GXSetVtxDesc -lbl_8027919C: -/* 8027919C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802791A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802791A4 7C 08 03 A6 */ mtlr r0 -/* 802791A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802791AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 017c624d5..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_80277F70: -/* 80277F70 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80277F74 7C 08 02 A6 */ mflr r0 -/* 80277F78 90 01 00 54 */ stw r0, 0x54(r1) -/* 80277F7C 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 80277F80 93 C1 00 48 */ stw r30, 0x48(r1) -/* 80277F84 7C 7E 1B 78 */ mr r30, r3 -/* 80277F88 7C 9F 23 78 */ mr r31, r4 -/* 80277F8C 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 80277F90 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80277F94 40 82 00 DC */ bne lbl_80278070 -/* 80277F98 38 7E 01 84 */ addi r3, r30, 0x184 -/* 80277F9C 38 A1 00 08 */ addi r5, r1, 8 -/* 80277FA0 48 0C ED CD */ bl PSMTXMultVec -/* 80277FA4 A0 1F 00 88 */ lhz r0, 0x88(r31) -/* 80277FA8 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80277FAC 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80277FB0 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80277FB4 7C 43 04 2E */ lfsx f2, r3, r0 -/* 80277FB8 7C 63 02 14 */ add r3, r3, r0 -/* 80277FBC C0 63 00 04 */ lfs f3, 4(r3) -/* 80277FC0 C0 3E 01 44 */ lfs f1, 0x144(r30) -/* 80277FC4 C0 1F 00 60 */ lfs f0, 0x60(r31) -/* 80277FC8 EC 81 00 32 */ fmuls f4, f1, f0 -/* 80277FCC C0 3E 01 48 */ lfs f1, 0x148(r30) -/* 80277FD0 C0 1F 00 64 */ lfs f0, 0x64(r31) -/* 80277FD4 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80277FD8 EC 03 01 32 */ fmuls f0, f3, f4 -/* 80277FDC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80277FE0 FC 00 10 50 */ fneg f0, f2 -/* 80277FE4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80277FE8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80277FEC C0 01 00 08 */ lfs f0, 8(r1) -/* 80277FF0 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80277FF4 EC 02 01 32 */ fmuls f0, f2, f4 -/* 80277FF8 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80277FFC EC 03 00 72 */ fmuls f0, f3, f1 -/* 80278000 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80278004 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80278008 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 8027800C C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80278010 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80278014 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80278018 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8027801C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278020 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80278024 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80278028 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8027802C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80278030 38 61 00 14 */ addi r3, r1, 0x14 -/* 80278034 38 80 00 00 */ li r4, 0 -/* 80278038 48 0E 82 15 */ bl GXLoadPosMtxImm -/* 8027803C 7F C3 F3 78 */ mr r3, r30 -/* 80278040 38 81 00 14 */ addi r4, r1, 0x14 -/* 80278044 80 1E 02 10 */ lwz r0, 0x210(r30) -/* 80278048 54 00 10 3A */ slwi r0, r0, 2 -/* 8027804C 3C A0 80 3C */ lis r5, p_prj@ha /* 0x803C4320@ha */ -/* 80278050 38 A5 43 20 */ addi r5, r5, p_prj@l /* 0x803C4320@l */ -/* 80278054 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80278058 7D 89 03 A6 */ mtctr r12 -/* 8027805C 4E 80 04 21 */ bctrl -/* 80278060 3C 60 80 3C */ lis r3, jpa_dl@ha /* 0x803C42E0@ha */ -/* 80278064 38 63 42 E0 */ addi r3, r3, jpa_dl@l /* 0x803C42E0@l */ -/* 80278068 38 80 00 20 */ li r4, 0x20 -/* 8027806C 48 0E 7E 85 */ bl GXCallDisplayList -lbl_80278070: -/* 80278070 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 80278074 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 80278078 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8027807C 7C 08 03 A6 */ mtlr r0 -/* 80278080 38 21 00 50 */ addi r1, r1, 0x50 -/* 80278084 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 0a6480501..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,272 +0,0 @@ -lbl_80278994: -/* 80278994 94 21 FE F0 */ stwu r1, -0x110(r1) -/* 80278998 7C 08 02 A6 */ mflr r0 -/* 8027899C 90 01 01 14 */ stw r0, 0x114(r1) -/* 802789A0 DB E1 01 00 */ stfd f31, 0x100(r1) -/* 802789A4 F3 E1 01 08 */ psq_st f31, 264(r1), 0, 0 /* qr0 */ -/* 802789A8 DB C1 00 F0 */ stfd f30, 0xf0(r1) -/* 802789AC F3 C1 00 F8 */ psq_st f30, 248(r1), 0, 0 /* qr0 */ -/* 802789B0 DB A1 00 E0 */ stfd f29, 0xe0(r1) -/* 802789B4 F3 A1 00 E8 */ psq_st f29, 232(r1), 0, 0 /* qr0 */ -/* 802789B8 DB 81 00 D0 */ stfd f28, 0xd0(r1) -/* 802789BC F3 81 00 D8 */ psq_st f28, 216(r1), 0, 0 /* qr0 */ -/* 802789C0 DB 61 00 C0 */ stfd f27, 0xc0(r1) -/* 802789C4 F3 61 00 C8 */ psq_st f27, 200(r1), 0, 0 /* qr0 */ -/* 802789C8 DB 41 00 B0 */ stfd f26, 0xb0(r1) -/* 802789CC F3 41 00 B8 */ psq_st f26, 184(r1), 0, 0 /* qr0 */ -/* 802789D0 DB 21 00 A0 */ stfd f25, 0xa0(r1) -/* 802789D4 F3 21 00 A8 */ psq_st f25, 168(r1), 0, 0 /* qr0 */ -/* 802789D8 DB 01 00 90 */ stfd f24, 0x90(r1) -/* 802789DC F3 01 00 98 */ psq_st f24, 152(r1), 0, 0 /* qr0 */ -/* 802789E0 39 61 00 90 */ addi r11, r1, 0x90 -/* 802789E4 48 0E 97 F9 */ bl _savegpr_29 -/* 802789E8 7C 7D 1B 78 */ mr r29, r3 -/* 802789EC 7C 9E 23 78 */ mr r30, r4 -/* 802789F0 3C A0 80 3C */ lis r5, jpa_dl@ha /* 0x803C42E0@ha */ -/* 802789F4 3B E5 42 E0 */ addi r31, r5, jpa_dl@l /* 0x803C42E0@l */ -/* 802789F8 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 802789FC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80278A00 40 82 03 50 */ bne lbl_80278D50 -/* 80278A04 A0 1E 00 88 */ lhz r0, 0x88(r30) -/* 80278A08 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80278A0C 3C A0 80 44 */ lis r5, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80278A10 38 A5 9A 20 */ addi r5, r5, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80278A14 7F 65 04 2E */ lfsx f27, r5, r0 -/* 80278A18 7C A5 02 14 */ add r5, r5, r0 -/* 80278A1C C3 45 00 04 */ lfs f26, 4(r5) -/* 80278A20 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80278A24 80 1D 02 00 */ lwz r0, 0x200(r29) -/* 80278A28 54 00 10 3A */ slwi r0, r0, 2 -/* 80278A2C 38 DF 00 4C */ addi r6, r31, 0x4c -/* 80278A30 7D 86 00 2E */ lwzx r12, r6, r0 -/* 80278A34 7D 89 03 A6 */ mtctr r12 -/* 80278A38 4E 80 04 21 */ bctrl -/* 80278A3C E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80278A40 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80278A44 C3 01 00 1C */ lfs f24, 0x1c(r1) -/* 80278A48 10 58 06 3A */ ps_madd f2, f24, f24, f0 -/* 80278A4C 10 42 00 14 */ ps_sum0 f2, f2, f0, f0 -/* 80278A50 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 80278A54 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80278A58 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80278A5C EC 01 00 32 */ fmuls f0, f1, f0 -/* 80278A60 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80278A64 4C 40 13 82 */ cror 2, 0, 2 -/* 80278A68 41 82 02 E8 */ beq lbl_80278D50 -/* 80278A6C E0 21 00 14 */ psq_l f1, 20(r1), 0, 0 /* qr0 */ -/* 80278A70 10 21 00 72 */ ps_mul f1, f1, f1 -/* 80278A74 10 98 0E 3A */ ps_madd f4, f24, f24, f1 -/* 80278A78 10 84 08 54 */ ps_sum0 f4, f4, f1, f1 -/* 80278A7C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278A80 4C 40 13 82 */ cror 2, 0, 2 -/* 80278A84 41 82 00 5C */ beq lbl_80278AE0 -/* 80278A88 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278A8C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278A90 4C 40 13 82 */ cror 2, 0, 2 -/* 80278A94 40 82 00 0C */ bne lbl_80278AA0 -/* 80278A98 FF 20 20 90 */ fmr f25, f4 -/* 80278A9C 48 00 00 2C */ b lbl_80278AC8 -lbl_80278AA0: -/* 80278AA0 FC 60 20 34 */ frsqrte f3, f4 -/* 80278AA4 FC 60 18 18 */ frsp f3, f3 -/* 80278AA8 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80278AAC EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80278AB0 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80278AB4 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80278AB8 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80278ABC EC 01 00 28 */ fsubs f0, f1, f0 -/* 80278AC0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80278AC4 FF 20 00 90 */ fmr f25, f0 -lbl_80278AC8: -/* 80278AC8 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80278ACC E0 21 80 1C */ psq_l f1, 28(r1), 1, 0 /* qr0 */ -/* 80278AD0 10 00 06 58 */ ps_muls0 f0, f0, f25 -/* 80278AD4 F0 01 00 14 */ psq_st f0, 20(r1), 0, 0 /* qr0 */ -/* 80278AD8 10 01 06 58 */ ps_muls0 f0, f1, f25 -/* 80278ADC F0 01 80 1C */ psq_st f0, 28(r1), 1, 0 /* qr0 */ -lbl_80278AE0: -/* 80278AE0 38 7E 00 54 */ addi r3, r30, 0x54 -/* 80278AE4 38 81 00 14 */ addi r4, r1, 0x14 -/* 80278AE8 38 A1 00 08 */ addi r5, r1, 8 -/* 80278AEC 48 0C E6 C9 */ bl PSVECCrossProduct -/* 80278AF0 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80278AF4 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80278AF8 C3 A1 00 10 */ lfs f29, 0x10(r1) -/* 80278AFC 10 5D 07 7A */ ps_madd f2, f29, f29, f0 -/* 80278B00 10 42 00 14 */ ps_sum0 f2, f2, f0, f0 -/* 80278B04 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 80278B08 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80278B0C C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80278B10 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80278B14 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80278B18 4C 40 13 82 */ cror 2, 0, 2 -/* 80278B1C 41 82 02 34 */ beq lbl_80278D50 -/* 80278B20 E0 21 00 08 */ psq_l f1, 8(r1), 0, 0 /* qr0 */ -/* 80278B24 10 21 00 72 */ ps_mul f1, f1, f1 -/* 80278B28 10 9D 0F 7A */ ps_madd f4, f29, f29, f1 -/* 80278B2C 10 84 08 54 */ ps_sum0 f4, f4, f1, f1 -/* 80278B30 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278B34 4C 40 13 82 */ cror 2, 0, 2 -/* 80278B38 41 82 00 5C */ beq lbl_80278B94 -/* 80278B3C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278B40 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278B44 4C 40 13 82 */ cror 2, 0, 2 -/* 80278B48 40 82 00 0C */ bne lbl_80278B54 -/* 80278B4C FF E0 20 90 */ fmr f31, f4 -/* 80278B50 48 00 00 2C */ b lbl_80278B7C -lbl_80278B54: -/* 80278B54 FC 60 20 34 */ frsqrte f3, f4 -/* 80278B58 FC 60 18 18 */ frsp f3, f3 -/* 80278B5C C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80278B60 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80278B64 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80278B68 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80278B6C EC 04 00 32 */ fmuls f0, f4, f0 -/* 80278B70 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80278B74 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80278B78 FF E0 00 90 */ fmr f31, f0 -lbl_80278B7C: -/* 80278B7C E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80278B80 E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */ -/* 80278B84 10 00 07 D8 */ ps_muls0 f0, f0, f31 -/* 80278B88 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 80278B8C 10 01 07 D8 */ ps_muls0 f0, f1, f31 -/* 80278B90 F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -lbl_80278B94: -/* 80278B94 38 61 00 14 */ addi r3, r1, 0x14 -/* 80278B98 38 81 00 08 */ addi r4, r1, 8 -/* 80278B9C 38 BE 00 54 */ addi r5, r30, 0x54 -/* 80278BA0 48 0C E6 15 */ bl PSVECCrossProduct -/* 80278BA4 E0 1E 00 54 */ psq_l f0, 84(r30), 0, 0 /* qr0 */ -/* 80278BA8 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80278BAC C3 9E 00 5C */ lfs f28, 0x5c(r30) -/* 80278BB0 10 9C 07 3A */ ps_madd f4, f28, f28, f0 -/* 80278BB4 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 80278BB8 C0 22 B8 D8 */ lfs f1, lit_3281(r2) -/* 80278BBC 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80278BC0 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80278BC4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80278BC8 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278BCC 4C 40 13 82 */ cror 2, 0, 2 -/* 80278BD0 41 82 00 5C */ beq lbl_80278C2C -/* 80278BD4 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278BD8 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80278BDC 4C 40 13 82 */ cror 2, 0, 2 -/* 80278BE0 40 82 00 0C */ bne lbl_80278BEC -/* 80278BE4 FF C0 20 90 */ fmr f30, f4 -/* 80278BE8 48 00 00 2C */ b lbl_80278C14 -lbl_80278BEC: -/* 80278BEC FC 60 20 34 */ frsqrte f3, f4 -/* 80278BF0 FC 60 18 18 */ frsp f3, f3 -/* 80278BF4 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80278BF8 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80278BFC C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80278C00 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80278C04 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80278C08 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80278C0C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80278C10 FF C0 00 90 */ fmr f30, f0 -lbl_80278C14: -/* 80278C14 E0 1E 00 54 */ psq_l f0, 84(r30), 0, 0 /* qr0 */ -/* 80278C18 E0 3E 80 5C */ psq_l f1, 92(r30), 1, 0 /* qr0 */ -/* 80278C1C 10 00 07 98 */ ps_muls0 f0, f0, f30 -/* 80278C20 F0 1E 00 54 */ psq_st f0, 84(r30), 0, 0 /* qr0 */ -/* 80278C24 10 01 07 98 */ ps_muls0 f0, f1, f30 -/* 80278C28 F0 1E 80 5C */ psq_st f0, 92(r30), 1, 0 /* qr0 */ -lbl_80278C2C: -/* 80278C2C C0 3D 01 44 */ lfs f1, 0x144(r29) -/* 80278C30 C0 1E 00 60 */ lfs f0, 0x60(r30) -/* 80278C34 EF 01 00 32 */ fmuls f24, f1, f0 -/* 80278C38 C0 3D 01 48 */ lfs f1, 0x148(r29) -/* 80278C3C C0 1E 00 64 */ lfs f0, 0x64(r30) -/* 80278C40 EF 21 00 32 */ fmuls f25, f1, f0 -/* 80278C44 FC 20 D8 90 */ fmr f1, f27 -/* 80278C48 FC 40 D0 90 */ fmr f2, f26 -/* 80278C4C 38 61 00 50 */ addi r3, r1, 0x50 -/* 80278C50 80 1D 02 04 */ lwz r0, 0x204(r29) -/* 80278C54 54 00 10 3A */ slwi r0, r0, 2 -/* 80278C58 38 9F 00 60 */ addi r4, r31, 0x60 -/* 80278C5C 7D 84 00 2E */ lwzx r12, r4, r0 -/* 80278C60 7D 89 03 A6 */ mtctr r12 -/* 80278C64 4E 80 04 21 */ bctrl -/* 80278C68 38 61 00 50 */ addi r3, r1, 0x50 -/* 80278C6C FC 20 C0 90 */ fmr f1, f24 -/* 80278C70 FC 40 C8 90 */ fmr f2, f25 -/* 80278C74 80 1D 02 08 */ lwz r0, 0x208(r29) -/* 80278C78 54 00 10 3A */ slwi r0, r0, 2 -/* 80278C7C 38 9F 00 74 */ addi r4, r31, 0x74 -/* 80278C80 7D 84 00 2E */ lwzx r12, r4, r0 -/* 80278C84 7D 89 03 A6 */ mtctr r12 -/* 80278C88 4E 80 04 21 */ bctrl -/* 80278C8C C0 1E 00 54 */ lfs f0, 0x54(r30) -/* 80278C90 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80278C94 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80278C98 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80278C9C C0 01 00 08 */ lfs f0, 8(r1) -/* 80278CA0 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80278CA4 C0 1E 00 00 */ lfs f0, 0(r30) -/* 80278CA8 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80278CAC C0 1E 00 58 */ lfs f0, 0x58(r30) -/* 80278CB0 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80278CB4 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80278CB8 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80278CBC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80278CC0 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80278CC4 C0 1E 00 04 */ lfs f0, 4(r30) -/* 80278CC8 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80278CCC C0 1E 00 5C */ lfs f0, 0x5c(r30) -/* 80278CD0 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80278CD4 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80278CD8 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80278CDC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80278CE0 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80278CE4 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80278CE8 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80278CEC 38 61 00 20 */ addi r3, r1, 0x20 -/* 80278CF0 38 81 00 50 */ addi r4, r1, 0x50 -/* 80278CF4 7C 85 23 78 */ mr r5, r4 -/* 80278CF8 48 0C D7 ED */ bl PSMTXConcat -/* 80278CFC 38 7D 01 84 */ addi r3, r29, 0x184 -/* 80278D00 38 81 00 50 */ addi r4, r1, 0x50 -/* 80278D04 38 A1 00 20 */ addi r5, r1, 0x20 -/* 80278D08 48 0C D7 DD */ bl PSMTXConcat -/* 80278D0C 38 61 00 20 */ addi r3, r1, 0x20 -/* 80278D10 38 80 00 00 */ li r4, 0 -/* 80278D14 48 0E 75 39 */ bl GXLoadPosMtxImm -/* 80278D18 7F A3 EB 78 */ mr r3, r29 -/* 80278D1C 38 81 00 20 */ addi r4, r1, 0x20 -/* 80278D20 80 1D 02 10 */ lwz r0, 0x210(r29) -/* 80278D24 54 00 10 3A */ slwi r0, r0, 2 -/* 80278D28 38 BF 00 40 */ addi r5, r31, 0x40 -/* 80278D2C 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80278D30 7D 89 03 A6 */ mtctr r12 -/* 80278D34 4E 80 04 21 */ bctrl -/* 80278D38 80 1D 02 0C */ lwz r0, 0x20c(r29) -/* 80278D3C 54 00 10 3A */ slwi r0, r0, 2 -/* 80278D40 38 6D 82 20 */ la r3, p_dl(r13) /* 804507A0-_SDA_BASE_ */ -/* 80278D44 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80278D48 38 80 00 20 */ li r4, 0x20 -/* 80278D4C 48 0E 71 A5 */ bl GXCallDisplayList -lbl_80278D50: -/* 80278D50 E3 E1 01 08 */ psq_l f31, 264(r1), 0, 0 /* qr0 */ -/* 80278D54 CB E1 01 00 */ lfd f31, 0x100(r1) -/* 80278D58 E3 C1 00 F8 */ psq_l f30, 248(r1), 0, 0 /* qr0 */ -/* 80278D5C CB C1 00 F0 */ lfd f30, 0xf0(r1) -/* 80278D60 E3 A1 00 E8 */ psq_l f29, 232(r1), 0, 0 /* qr0 */ -/* 80278D64 CB A1 00 E0 */ lfd f29, 0xe0(r1) -/* 80278D68 E3 81 00 D8 */ psq_l f28, 216(r1), 0, 0 /* qr0 */ -/* 80278D6C CB 81 00 D0 */ lfd f28, 0xd0(r1) -/* 80278D70 E3 61 00 C8 */ psq_l f27, 200(r1), 0, 0 /* qr0 */ -/* 80278D74 CB 61 00 C0 */ lfd f27, 0xc0(r1) -/* 80278D78 E3 41 00 B8 */ psq_l f26, 184(r1), 0, 0 /* qr0 */ -/* 80278D7C CB 41 00 B0 */ lfd f26, 0xb0(r1) -/* 80278D80 E3 21 00 A8 */ psq_l f25, 168(r1), 0, 0 /* qr0 */ -/* 80278D84 CB 21 00 A0 */ lfd f25, 0xa0(r1) -/* 80278D88 E3 01 00 98 */ psq_l f24, 152(r1), 0, 0 /* qr0 */ -/* 80278D8C CB 01 00 90 */ lfd f24, 0x90(r1) -/* 80278D90 39 61 00 90 */ addi r11, r1, 0x90 -/* 80278D94 48 0E 94 95 */ bl _restgpr_29 -/* 80278D98 80 01 01 14 */ lwz r0, 0x114(r1) -/* 80278D9C 7C 08 03 A6 */ mtlr r0 -/* 80278DA0 38 21 01 10 */ addi r1, r1, 0x110 -/* 80278DA4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 5d3054614..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_80278184: -/* 80278184 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80278188 7C 08 02 A6 */ mflr r0 -/* 8027818C 90 01 00 54 */ stw r0, 0x54(r1) -/* 80278190 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 80278194 93 C1 00 48 */ stw r30, 0x48(r1) -/* 80278198 7C 7E 1B 78 */ mr r30, r3 -/* 8027819C 7C 9F 23 78 */ mr r31, r4 -/* 802781A0 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 802781A4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 802781A8 40 82 00 F4 */ bne lbl_8027829C -/* 802781AC 38 7E 01 84 */ addi r3, r30, 0x184 -/* 802781B0 38 A1 00 08 */ addi r5, r1, 8 -/* 802781B4 48 0C EB B9 */ bl PSMTXMultVec -/* 802781B8 A0 1F 00 88 */ lhz r0, 0x88(r31) -/* 802781BC 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 802781C0 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 802781C4 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 802781C8 7C 43 04 2E */ lfsx f2, r3, r0 -/* 802781CC 7C 63 02 14 */ add r3, r3, r0 -/* 802781D0 C0 63 00 04 */ lfs f3, 4(r3) -/* 802781D4 C0 3E 01 44 */ lfs f1, 0x144(r30) -/* 802781D8 C0 1F 00 60 */ lfs f0, 0x60(r31) -/* 802781DC EC 81 00 32 */ fmuls f4, f1, f0 -/* 802781E0 C0 3E 01 48 */ lfs f1, 0x148(r30) -/* 802781E4 C0 1F 00 64 */ lfs f0, 0x64(r31) -/* 802781E8 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802781EC EC A2 01 32 */ fmuls f5, f2, f4 -/* 802781F0 EC C3 00 72 */ fmuls f6, f3, f1 -/* 802781F4 C0 FE 01 68 */ lfs f7, 0x168(r30) -/* 802781F8 C1 1E 01 78 */ lfs f8, 0x178(r30) -/* 802781FC EC 03 01 32 */ fmuls f0, f3, f4 -/* 80278200 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80278204 FC 00 10 50 */ fneg f0, f2 -/* 80278208 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8027820C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80278210 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80278214 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80278218 C0 01 00 08 */ lfs f0, 8(r1) -/* 8027821C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80278220 EC 05 01 F2 */ fmuls f0, f5, f7 -/* 80278224 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80278228 EC 06 01 F2 */ fmuls f0, f6, f7 -/* 8027822C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80278230 FC 00 40 50 */ fneg f0, f8 -/* 80278234 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80278238 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8027823C D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80278240 EC 05 02 32 */ fmuls f0, f5, f8 -/* 80278244 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80278248 EC 06 02 32 */ fmuls f0, f6, f8 -/* 8027824C D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80278250 D0 E1 00 3C */ stfs f7, 0x3c(r1) -/* 80278254 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80278258 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8027825C 38 61 00 14 */ addi r3, r1, 0x14 -/* 80278260 38 80 00 00 */ li r4, 0 -/* 80278264 48 0E 7F E9 */ bl GXLoadPosMtxImm -/* 80278268 7F C3 F3 78 */ mr r3, r30 -/* 8027826C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80278270 80 1E 02 10 */ lwz r0, 0x210(r30) -/* 80278274 54 00 10 3A */ slwi r0, r0, 2 -/* 80278278 3C A0 80 3C */ lis r5, p_prj@ha /* 0x803C4320@ha */ -/* 8027827C 38 A5 43 20 */ addi r5, r5, p_prj@l /* 0x803C4320@l */ -/* 80278280 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80278284 7D 89 03 A6 */ mtctr r12 -/* 80278288 4E 80 04 21 */ bctrl -/* 8027828C 3C 60 80 3C */ lis r3, jpa_dl@ha /* 0x803C42E0@ha */ -/* 80278290 38 63 42 E0 */ addi r3, r3, jpa_dl@l /* 0x803C42E0@l */ -/* 80278294 38 80 00 20 */ li r4, 0x20 -/* 80278298 48 0E 7C 59 */ bl GXCallDisplayList -lbl_8027829C: -/* 8027829C 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 802782A0 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 802782A4 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802782A8 7C 08 03 A6 */ mtlr r0 -/* 802782AC 38 21 00 50 */ addi r1, r1, 0x50 -/* 802782B0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawStripeX__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawStripeX__FP18JPAEmitterWorkData.s deleted file mode 100644 index de9e61c30..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawStripeX__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,697 +0,0 @@ -lbl_8027996C: -/* 8027996C 94 21 FE 30 */ stwu r1, -0x1d0(r1) -/* 80279970 7C 08 02 A6 */ mflr r0 -/* 80279974 90 01 01 D4 */ stw r0, 0x1d4(r1) -/* 80279978 DB E1 01 C0 */ stfd f31, 0x1c0(r1) -/* 8027997C F3 E1 01 C8 */ psq_st f31, 456(r1), 0, 0 /* qr0 */ -/* 80279980 DB C1 01 B0 */ stfd f30, 0x1b0(r1) -/* 80279984 F3 C1 01 B8 */ psq_st f30, 440(r1), 0, 0 /* qr0 */ -/* 80279988 DB A1 01 A0 */ stfd f29, 0x1a0(r1) -/* 8027998C F3 A1 01 A8 */ psq_st f29, 424(r1), 0, 0 /* qr0 */ -/* 80279990 DB 81 01 90 */ stfd f28, 0x190(r1) -/* 80279994 F3 81 01 98 */ psq_st f28, 408(r1), 0, 0 /* qr0 */ -/* 80279998 DB 61 01 80 */ stfd f27, 0x180(r1) -/* 8027999C F3 61 01 88 */ psq_st f27, 392(r1), 0, 0 /* qr0 */ -/* 802799A0 DB 41 01 70 */ stfd f26, 0x170(r1) -/* 802799A4 F3 41 01 78 */ psq_st f26, 376(r1), 0, 0 /* qr0 */ -/* 802799A8 DB 21 01 60 */ stfd f25, 0x160(r1) -/* 802799AC F3 21 01 68 */ psq_st f25, 360(r1), 0, 0 /* qr0 */ -/* 802799B0 DB 01 01 50 */ stfd f24, 0x150(r1) -/* 802799B4 F3 01 01 58 */ psq_st f24, 344(r1), 0, 0 /* qr0 */ -/* 802799B8 DA E1 01 40 */ stfd f23, 0x140(r1) -/* 802799BC F2 E1 01 48 */ psq_st f23, 328(r1), 0, 0 /* qr0 */ -/* 802799C0 DA C1 01 30 */ stfd f22, 0x130(r1) -/* 802799C4 F2 C1 01 38 */ psq_st f22, 312(r1), 0, 0 /* qr0 */ -/* 802799C8 DA A1 01 20 */ stfd f21, 0x120(r1) -/* 802799CC F2 A1 01 28 */ psq_st f21, 296(r1), 0, 0 /* qr0 */ -/* 802799D0 DA 81 01 10 */ stfd f20, 0x110(r1) -/* 802799D4 F2 81 01 18 */ psq_st f20, 280(r1), 0, 0 /* qr0 */ -/* 802799D8 DA 61 01 00 */ stfd f19, 0x100(r1) -/* 802799DC F2 61 01 08 */ psq_st f19, 264(r1), 0, 0 /* qr0 */ -/* 802799E0 DA 41 00 F0 */ stfd f18, 0xf0(r1) -/* 802799E4 F2 41 00 F8 */ psq_st f18, 248(r1), 0, 0 /* qr0 */ -/* 802799E8 DA 21 00 E0 */ stfd f17, 0xe0(r1) -/* 802799EC F2 21 00 E8 */ psq_st f17, 232(r1), 0, 0 /* qr0 */ -/* 802799F0 DA 01 00 D0 */ stfd f16, 0xd0(r1) -/* 802799F4 F2 01 00 D8 */ psq_st f16, 216(r1), 0, 0 /* qr0 */ -/* 802799F8 D9 E1 00 C0 */ stfd f15, 0xc0(r1) -/* 802799FC F1 E1 00 C8 */ psq_st f15, 200(r1), 0, 0 /* qr0 */ -/* 80279A00 D9 C1 00 B0 */ stfd f14, 0xb0(r1) -/* 80279A04 F1 C1 00 B8 */ psq_st f14, 184(r1), 0, 0 /* qr0 */ -/* 80279A08 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 80279A0C 48 0E 87 B5 */ bl _savegpr_22 -/* 80279A10 7C 79 1B 78 */ mr r25, r3 -/* 80279A14 80 63 00 04 */ lwz r3, 4(r3) -/* 80279A18 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 80279A1C 80 99 01 E4 */ lwz r4, 0x1e4(r25) -/* 80279A20 83 E4 00 08 */ lwz r31, 8(r4) -/* 80279A24 28 1F 00 02 */ cmplwi r31, 2 -/* 80279A28 41 80 09 08 */ blt lbl_8027A330 -/* 80279A2C C1 E2 B8 C0 */ lfs f15, lit_2742(r2) -/* 80279A30 FD C0 78 90 */ fmr f14, f15 -/* 80279A34 C0 62 B8 BC */ lfs f3, lit_2741(r2) -/* 80279A38 C8 22 B8 C8 */ lfd f1, lit_2744(r2) -/* 80279A3C 93 E1 00 6C */ stw r31, 0x6c(r1) -/* 80279A40 3C 00 43 30 */ lis r0, 0x4330 -/* 80279A44 90 01 00 68 */ stw r0, 0x68(r1) -/* 80279A48 C8 01 00 68 */ lfd f0, 0x68(r1) -/* 80279A4C EC 00 08 28 */ fsubs f0, f0, f1 -/* 80279A50 EC 00 18 28 */ fsubs f0, f0, f3 -/* 80279A54 EF E3 00 24 */ fdivs f31, f3, f0 -/* 80279A58 C0 B9 01 4C */ lfs f5, 0x14c(r25) -/* 80279A5C EC 23 28 2A */ fadds f1, f3, f5 -/* 80279A60 C0 42 B8 A8 */ lfs f2, lit_2262(r2) -/* 80279A64 C0 19 01 44 */ lfs f0, 0x144(r25) -/* 80279A68 EC 82 00 32 */ fmuls f4, f2, f0 -/* 80279A6C EC 01 01 32 */ fmuls f0, f1, f4 -/* 80279A70 D0 01 00 7C */ stfs f0, 0x7c(r1) -/* 80279A74 EC 03 28 28 */ fsubs f0, f3, f5 -/* 80279A78 EC 00 01 32 */ fmuls f0, f0, f4 -/* 80279A7C D0 01 00 78 */ stfs f0, 0x78(r1) -/* 80279A80 C0 99 01 50 */ lfs f4, 0x150(r25) -/* 80279A84 EC 23 20 2A */ fadds f1, f3, f4 -/* 80279A88 C0 19 01 48 */ lfs f0, 0x148(r25) -/* 80279A8C EC 42 00 32 */ fmuls f2, f2, f0 -/* 80279A90 EC 01 00 B2 */ fmuls f0, f1, f2 -/* 80279A94 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 80279A98 EC 03 20 28 */ fsubs f0, f3, f4 -/* 80279A9C EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80279AA0 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 80279AA4 80 63 00 00 */ lwz r3, 0(r3) -/* 80279AA8 80 03 00 08 */ lwz r0, 8(r3) -/* 80279AAC 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa -/* 80279AB0 41 82 00 24 */ beq lbl_80279AD4 -/* 80279AB4 83 84 00 04 */ lwz r28, 4(r4) -/* 80279AB8 3C 60 80 28 */ lis r3, func_8027936C@ha /* 0x8027936C@ha */ -/* 80279ABC 38 03 93 6C */ addi r0, r3, func_8027936C@l /* 0x8027936C@l */ -/* 80279AC0 7C 1B 03 78 */ mr r27, r0 -/* 80279AC4 FD C0 18 90 */ fmr f14, f3 -/* 80279AC8 FD E0 18 90 */ fmr f15, f3 -/* 80279ACC FF E0 F8 50 */ fneg f31, f31 -/* 80279AD0 48 00 00 14 */ b lbl_80279AE4 -lbl_80279AD4: -/* 80279AD4 83 84 00 00 */ lwz r28, 0(r4) -/* 80279AD8 3C 60 80 28 */ lis r3, func_80279364@ha /* 0x80279364@ha */ -/* 80279ADC 38 03 93 64 */ addi r0, r3, func_80279364@l /* 0x80279364@l */ -/* 80279AE0 7C 1B 03 78 */ mr r27, r0 -lbl_80279AE4: -/* 80279AE4 38 79 01 84 */ addi r3, r25, 0x184 -/* 80279AE8 38 80 00 00 */ li r4, 0 -/* 80279AEC 48 0E 67 61 */ bl GXLoadPosMtxImm -/* 80279AF0 7F 23 CB 78 */ mr r3, r25 -/* 80279AF4 38 99 01 84 */ addi r4, r25, 0x184 -/* 80279AF8 80 19 02 10 */ lwz r0, 0x210(r25) -/* 80279AFC 54 00 10 3A */ slwi r0, r0, 2 -/* 80279B00 3C A0 80 3C */ lis r5, p_prj@ha /* 0x803C4320@ha */ -/* 80279B04 38 A5 43 20 */ addi r5, r5, p_prj@l /* 0x803C4320@l */ -/* 80279B08 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80279B0C 7D 89 03 A6 */ mtctr r12 -/* 80279B10 4E 80 04 21 */ bctrl -/* 80279B14 38 60 00 09 */ li r3, 9 -/* 80279B18 38 80 00 01 */ li r4, 1 -/* 80279B1C 48 0E 13 9D */ bl GXSetVtxDesc -/* 80279B20 38 60 00 0D */ li r3, 0xd -/* 80279B24 38 80 00 01 */ li r4, 1 -/* 80279B28 48 0E 13 91 */ bl GXSetVtxDesc -/* 80279B2C 38 60 00 98 */ li r3, 0x98 -/* 80279B30 38 80 00 01 */ li r4, 1 -/* 80279B34 57 FD 08 3C */ slwi r29, r31, 1 -/* 80279B38 57 E5 0C 3C */ rlwinm r5, r31, 1, 0x10, 0x1e -/* 80279B3C 48 0E 2C 29 */ bl GXBegin -/* 80279B40 7F 9A E3 78 */ mr r26, r28 -/* 80279B44 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80279B48 3B E3 9A 20 */ addi r31, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80279B4C C3 C2 B8 C0 */ lfs f30, lit_2742(r2) -/* 80279B50 3C 60 80 3C */ lis r3, p_direction@ha /* 0x803C432C@ha */ -/* 80279B54 3A C3 43 2C */ addi r22, r3, p_direction@l /* 0x803C432C@l */ -/* 80279B58 C3 A2 B8 D8 */ lfs f29, lit_3281(r2) -/* 80279B5C 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279B60 3A E3 0A EC */ addi r23, r3, __float_epsilon@l /* 0x80450AEC@l */ -/* 80279B64 3F 00 CC 01 */ lis r24, 0xcc01 -/* 80279B68 48 00 03 BC */ b lbl_80279F24 -lbl_80279B6C: -/* 80279B6C 93 59 01 E8 */ stw r26, 0x1e8(r25) -/* 80279B70 3B DA 00 08 */ addi r30, r26, 8 -/* 80279B74 C0 1A 00 08 */ lfs f0, 8(r26) -/* 80279B78 D0 01 00 84 */ stfs f0, 0x84(r1) -/* 80279B7C C0 1A 00 0C */ lfs f0, 0xc(r26) -/* 80279B80 D0 01 00 80 */ stfs f0, 0x80(r1) -/* 80279B84 C2 1A 00 10 */ lfs f16, 0x10(r26) -/* 80279B88 A0 1A 00 90 */ lhz r0, 0x90(r26) -/* 80279B8C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80279B90 7C 7F 02 14 */ add r3, r31, r0 -/* 80279B94 C0 63 00 00 */ lfs f3, 0(r3) -/* 80279B98 C0 83 00 04 */ lfs f4, 4(r3) -/* 80279B9C C0 5A 00 68 */ lfs f2, 0x68(r26) -/* 80279BA0 FC 20 10 50 */ fneg f1, f2 -/* 80279BA4 C0 01 00 7C */ lfs f0, 0x7c(r1) -/* 80279BA8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80279BAC D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80279BB0 D3 C1 00 24 */ stfs f30, 0x24(r1) -/* 80279BB4 D3 C1 00 28 */ stfs f30, 0x28(r1) -/* 80279BB8 EC 20 00 F2 */ fmuls f1, f0, f3 -/* 80279BBC EC 00 01 32 */ fmuls f0, f0, f4 -/* 80279BC0 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80279BC4 D3 C1 00 24 */ stfs f30, 0x24(r1) -/* 80279BC8 D0 21 00 28 */ stfs f1, 0x28(r1) -/* 80279BCC C0 01 00 78 */ lfs f0, 0x78(r1) -/* 80279BD0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279BD4 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80279BD8 D3 C1 00 30 */ stfs f30, 0x30(r1) -/* 80279BDC D3 C1 00 34 */ stfs f30, 0x34(r1) -/* 80279BE0 EC 20 00 F2 */ fmuls f1, f0, f3 -/* 80279BE4 EC 00 01 32 */ fmuls f0, f0, f4 -/* 80279BE8 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80279BEC D3 C1 00 30 */ stfs f30, 0x30(r1) -/* 80279BF0 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 80279BF4 7F 23 CB 78 */ mr r3, r25 -/* 80279BF8 7F C4 F3 78 */ mr r4, r30 -/* 80279BFC 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80279C00 80 19 02 00 */ lwz r0, 0x200(r25) -/* 80279C04 54 00 10 3A */ slwi r0, r0, 2 -/* 80279C08 7D 96 00 2E */ lwzx r12, r22, r0 -/* 80279C0C 7D 89 03 A6 */ mtctr r12 -/* 80279C10 4E 80 04 21 */ bctrl -/* 80279C14 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80279C18 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279C1C C2 C1 00 1C */ lfs f22, 0x1c(r1) -/* 80279C20 10 36 05 BA */ ps_madd f1, f22, f22, f0 -/* 80279C24 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 -/* 80279C28 C0 17 00 00 */ lfs f0, 0(r23) -/* 80279C2C EC 1D 00 32 */ fmuls f0, f29, f0 -/* 80279C30 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80279C34 4C 40 13 82 */ cror 2, 0, 2 -/* 80279C38 40 82 00 1C */ bne lbl_80279C54 -/* 80279C3C C0 22 B8 C0 */ lfs f1, lit_2742(r2) -/* 80279C40 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 80279C44 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80279C48 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80279C4C D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80279C50 48 00 00 84 */ b lbl_80279CD4 -lbl_80279C54: -/* 80279C54 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80279C58 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279C5C 10 96 05 BA */ ps_madd f4, f22, f22, f0 -/* 80279C60 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 80279C64 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279C68 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80279C6C EC 1D 00 32 */ fmuls f0, f29, f0 -/* 80279C70 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279C74 4C 40 13 82 */ cror 2, 0, 2 -/* 80279C78 41 82 00 5C */ beq lbl_80279CD4 -/* 80279C7C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279C80 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279C84 4C 40 13 82 */ cror 2, 0, 2 -/* 80279C88 40 82 00 0C */ bne lbl_80279C94 -/* 80279C8C FF 80 20 90 */ fmr f28, f4 -/* 80279C90 48 00 00 2C */ b lbl_80279CBC -lbl_80279C94: -/* 80279C94 FC 60 20 34 */ frsqrte f3, f4 -/* 80279C98 FC 60 18 18 */ frsp f3, f3 -/* 80279C9C C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80279CA0 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80279CA4 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80279CA8 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80279CAC EC 04 00 32 */ fmuls f0, f4, f0 -/* 80279CB0 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80279CB4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279CB8 FF 80 00 90 */ fmr f28, f0 -lbl_80279CBC: -/* 80279CBC E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80279CC0 E0 21 80 1C */ psq_l f1, 28(r1), 1, 0 /* qr0 */ -/* 80279CC4 10 00 07 18 */ ps_muls0 f0, f0, f28 -/* 80279CC8 F0 01 00 14 */ psq_st f0, 20(r1), 0, 0 /* qr0 */ -/* 80279CCC 10 01 07 18 */ ps_muls0 f0, f1, f28 -/* 80279CD0 F0 01 80 1C */ psq_st f0, 28(r1), 1, 0 /* qr0 */ -lbl_80279CD4: -/* 80279CD4 38 7E 00 54 */ addi r3, r30, 0x54 -/* 80279CD8 38 81 00 14 */ addi r4, r1, 0x14 -/* 80279CDC 38 A1 00 08 */ addi r5, r1, 8 -/* 80279CE0 48 0C D4 D5 */ bl PSVECCrossProduct -/* 80279CE4 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80279CE8 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279CEC C2 A1 00 10 */ lfs f21, 0x10(r1) -/* 80279CF0 10 35 05 7A */ ps_madd f1, f21, f21, f0 -/* 80279CF4 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 -/* 80279CF8 C0 17 00 00 */ lfs f0, 0(r23) -/* 80279CFC EC 1D 00 32 */ fmuls f0, f29, f0 -/* 80279D00 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80279D04 4C 40 13 82 */ cror 2, 0, 2 -/* 80279D08 40 82 00 1C */ bne lbl_80279D24 -/* 80279D0C C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80279D10 D0 01 00 08 */ stfs f0, 8(r1) -/* 80279D14 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279D18 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80279D1C D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80279D20 48 00 00 84 */ b lbl_80279DA4 -lbl_80279D24: -/* 80279D24 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80279D28 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279D2C 10 95 05 7A */ ps_madd f4, f21, f21, f0 -/* 80279D30 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 80279D34 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279D38 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80279D3C EC 1D 00 32 */ fmuls f0, f29, f0 -/* 80279D40 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279D44 4C 40 13 82 */ cror 2, 0, 2 -/* 80279D48 41 82 00 5C */ beq lbl_80279DA4 -/* 80279D4C C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279D50 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279D54 4C 40 13 82 */ cror 2, 0, 2 -/* 80279D58 40 82 00 0C */ bne lbl_80279D64 -/* 80279D5C FF 60 20 90 */ fmr f27, f4 -/* 80279D60 48 00 00 2C */ b lbl_80279D8C -lbl_80279D64: -/* 80279D64 FC 60 20 34 */ frsqrte f3, f4 -/* 80279D68 FC 60 18 18 */ frsp f3, f3 -/* 80279D6C C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80279D70 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80279D74 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80279D78 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80279D7C EC 04 00 32 */ fmuls f0, f4, f0 -/* 80279D80 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80279D84 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279D88 FF 60 00 90 */ fmr f27, f0 -lbl_80279D8C: -/* 80279D8C E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80279D90 E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */ -/* 80279D94 10 00 06 D8 */ ps_muls0 f0, f0, f27 -/* 80279D98 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 80279D9C 10 01 06 D8 */ ps_muls0 f0, f1, f27 -/* 80279DA0 F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -lbl_80279DA4: -/* 80279DA4 38 61 00 14 */ addi r3, r1, 0x14 -/* 80279DA8 38 81 00 08 */ addi r4, r1, 8 -/* 80279DAC 38 BE 00 54 */ addi r5, r30, 0x54 -/* 80279DB0 48 0C D4 05 */ bl PSVECCrossProduct -/* 80279DB4 E0 1E 00 54 */ psq_l f0, 84(r30), 0, 0 /* qr0 */ -/* 80279DB8 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279DBC C2 9E 00 5C */ lfs f20, 0x5c(r30) -/* 80279DC0 10 94 05 3A */ ps_madd f4, f20, f20, f0 -/* 80279DC4 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 80279DC8 C0 17 00 00 */ lfs f0, 0(r23) -/* 80279DCC EC 1D 00 32 */ fmuls f0, f29, f0 -/* 80279DD0 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279DD4 4C 40 13 82 */ cror 2, 0, 2 -/* 80279DD8 41 82 00 5C */ beq lbl_80279E34 -/* 80279DDC C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279DE0 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80279DE4 4C 40 13 82 */ cror 2, 0, 2 -/* 80279DE8 40 82 00 0C */ bne lbl_80279DF4 -/* 80279DEC FF 40 20 90 */ fmr f26, f4 -/* 80279DF0 48 00 00 2C */ b lbl_80279E1C -lbl_80279DF4: -/* 80279DF4 FC 60 20 34 */ frsqrte f3, f4 -/* 80279DF8 FC 60 18 18 */ frsp f3, f3 -/* 80279DFC C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80279E00 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80279E04 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80279E08 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80279E0C EC 04 00 32 */ fmuls f0, f4, f0 -/* 80279E10 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80279E14 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279E18 FF 40 00 90 */ fmr f26, f0 -lbl_80279E1C: -/* 80279E1C E0 1E 00 54 */ psq_l f0, 84(r30), 0, 0 /* qr0 */ -/* 80279E20 E0 3E 80 5C */ psq_l f1, 92(r30), 1, 0 /* qr0 */ -/* 80279E24 10 00 06 98 */ ps_muls0 f0, f0, f26 -/* 80279E28 F0 1E 00 54 */ psq_st f0, 84(r30), 0, 0 /* qr0 */ -/* 80279E2C 10 01 06 98 */ ps_muls0 f0, f1, f26 -/* 80279E30 F0 1E 80 5C */ psq_st f0, 92(r30), 1, 0 /* qr0 */ -lbl_80279E34: -/* 80279E34 C0 01 00 08 */ lfs f0, 8(r1) -/* 80279E38 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80279E3C C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80279E40 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80279E44 C0 1E 00 54 */ lfs f0, 0x54(r30) -/* 80279E48 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80279E4C D3 C1 00 44 */ stfs f30, 0x44(r1) -/* 80279E50 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80279E54 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80279E58 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80279E5C D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80279E60 C0 1E 00 58 */ lfs f0, 0x58(r30) -/* 80279E64 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 80279E68 D3 C1 00 54 */ stfs f30, 0x54(r1) -/* 80279E6C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80279E70 D0 01 00 58 */ stfs f0, 0x58(r1) -/* 80279E74 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80279E78 D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 80279E7C C0 1E 00 5C */ lfs f0, 0x5c(r30) -/* 80279E80 D0 01 00 60 */ stfs f0, 0x60(r1) -/* 80279E84 D3 C1 00 64 */ stfs f30, 0x64(r1) -/* 80279E88 38 61 00 38 */ addi r3, r1, 0x38 -/* 80279E8C 38 81 00 20 */ addi r4, r1, 0x20 -/* 80279E90 7C 85 23 78 */ mr r5, r4 -/* 80279E94 38 C0 00 02 */ li r6, 2 -/* 80279E98 48 0C D0 09 */ bl PSMTXMultVecArraySR -/* 80279E9C C0 21 00 20 */ lfs f1, 0x20(r1) -/* 80279EA0 C0 01 00 84 */ lfs f0, 0x84(r1) -/* 80279EA4 EC 01 00 2A */ fadds f0, f1, f0 -/* 80279EA8 D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279EAC C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80279EB0 C0 01 00 80 */ lfs f0, 0x80(r1) -/* 80279EB4 EC 01 00 2A */ fadds f0, f1, f0 -/* 80279EB8 D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279EBC C0 01 00 28 */ lfs f0, 0x28(r1) -/* 80279EC0 EC 00 80 2A */ fadds f0, f0, f16 -/* 80279EC4 D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279EC8 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279ECC D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279ED0 D1 D8 80 00 */ stfs f14, -0x8000(r24) -/* 80279ED4 C0 21 00 2C */ lfs f1, 0x2c(r1) -/* 80279ED8 C0 01 00 84 */ lfs f0, 0x84(r1) -/* 80279EDC EC 01 00 2A */ fadds f0, f1, f0 -/* 80279EE0 D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279EE4 C0 21 00 30 */ lfs f1, 0x30(r1) -/* 80279EE8 C0 01 00 80 */ lfs f0, 0x80(r1) -/* 80279EEC EC 01 00 2A */ fadds f0, f1, f0 -/* 80279EF0 D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279EF4 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80279EF8 EC 00 80 2A */ fadds f0, f0, f16 -/* 80279EFC D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279F00 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80279F04 D0 18 80 00 */ stfs f0, -0x8000(r24) -/* 80279F08 D1 D8 80 00 */ stfs f14, -0x8000(r24) -/* 80279F0C 7F 43 D3 78 */ mr r3, r26 -/* 80279F10 7F 6C DB 78 */ mr r12, r27 -/* 80279F14 7D 89 03 A6 */ mtctr r12 -/* 80279F18 4E 80 04 21 */ bctrl -/* 80279F1C 7C 7A 1B 78 */ mr r26, r3 -/* 80279F20 ED CE F8 2A */ fadds f14, f14, f31 -lbl_80279F24: -/* 80279F24 28 1A 00 00 */ cmplwi r26, 0 -/* 80279F28 40 82 FC 44 */ bne lbl_80279B6C -/* 80279F2C FE 00 78 90 */ fmr f16, f15 -/* 80279F30 38 60 00 98 */ li r3, 0x98 -/* 80279F34 38 80 00 01 */ li r4, 1 -/* 80279F38 57 A5 04 3E */ clrlwi r5, r29, 0x10 -/* 80279F3C 48 0E 28 29 */ bl GXBegin -/* 80279F40 7F 9A E3 78 */ mr r26, r28 -/* 80279F44 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80279F48 3B E3 9A 20 */ addi r31, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80279F4C C3 A2 B8 C0 */ lfs f29, lit_2742(r2) -/* 80279F50 3C 60 80 3C */ lis r3, p_direction@ha /* 0x803C432C@ha */ -/* 80279F54 3B C3 43 2C */ addi r30, r3, p_direction@l /* 0x803C432C@l */ -/* 80279F58 C3 C2 B8 D8 */ lfs f30, lit_3281(r2) -/* 80279F5C 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279F60 3B A3 0A EC */ addi r29, r3, __float_epsilon@l /* 0x80450AEC@l */ -/* 80279F64 3F 80 CC 01 */ lis r28, 0xcc01 -/* 80279F68 48 00 03 A8 */ b lbl_8027A310 -lbl_80279F6C: -/* 80279F6C 93 59 01 E8 */ stw r26, 0x1e8(r25) -/* 80279F70 3A DA 00 08 */ addi r22, r26, 8 -/* 80279F74 C2 9A 00 08 */ lfs f20, 8(r26) -/* 80279F78 C2 BA 00 0C */ lfs f21, 0xc(r26) -/* 80279F7C C2 DA 00 10 */ lfs f22, 0x10(r26) -/* 80279F80 A0 1A 00 90 */ lhz r0, 0x90(r26) -/* 80279F84 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80279F88 7C 7F 02 14 */ add r3, r31, r0 -/* 80279F8C C0 63 00 04 */ lfs f3, 4(r3) -/* 80279F90 C0 03 00 00 */ lfs f0, 0(r3) -/* 80279F94 FC 80 00 50 */ fneg f4, f0 -/* 80279F98 C0 5A 00 6C */ lfs f2, 0x6c(r26) -/* 80279F9C FC 20 10 50 */ fneg f1, f2 -/* 80279FA0 C0 01 00 74 */ lfs f0, 0x74(r1) -/* 80279FA4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80279FA8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80279FAC D3 A1 00 24 */ stfs f29, 0x24(r1) -/* 80279FB0 D3 A1 00 28 */ stfs f29, 0x28(r1) -/* 80279FB4 EC 20 00 F2 */ fmuls f1, f0, f3 -/* 80279FB8 EC 00 01 32 */ fmuls f0, f0, f4 -/* 80279FBC D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80279FC0 D3 A1 00 24 */ stfs f29, 0x24(r1) -/* 80279FC4 D0 21 00 28 */ stfs f1, 0x28(r1) -/* 80279FC8 C0 01 00 70 */ lfs f0, 0x70(r1) -/* 80279FCC EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279FD0 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80279FD4 D3 A1 00 30 */ stfs f29, 0x30(r1) -/* 80279FD8 D3 A1 00 34 */ stfs f29, 0x34(r1) -/* 80279FDC EC 20 00 F2 */ fmuls f1, f0, f3 -/* 80279FE0 EC 00 01 32 */ fmuls f0, f0, f4 -/* 80279FE4 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80279FE8 D3 A1 00 30 */ stfs f29, 0x30(r1) -/* 80279FEC D0 21 00 34 */ stfs f1, 0x34(r1) -/* 80279FF0 7F 23 CB 78 */ mr r3, r25 -/* 80279FF4 7E C4 B3 78 */ mr r4, r22 -/* 80279FF8 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80279FFC 80 19 02 00 */ lwz r0, 0x200(r25) -/* 8027A000 54 00 10 3A */ slwi r0, r0, 2 -/* 8027A004 7D 9E 00 2E */ lwzx r12, r30, r0 -/* 8027A008 7D 89 03 A6 */ mtctr r12 -/* 8027A00C 4E 80 04 21 */ bctrl -/* 8027A010 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 8027A014 10 00 00 32 */ ps_mul f0, f0, f0 -/* 8027A018 C2 61 00 1C */ lfs f19, 0x1c(r1) -/* 8027A01C 10 33 04 FA */ ps_madd f1, f19, f19, f0 -/* 8027A020 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 -/* 8027A024 C0 1D 00 00 */ lfs f0, 0(r29) -/* 8027A028 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8027A02C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8027A030 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A034 40 82 00 1C */ bne lbl_8027A050 -/* 8027A038 C0 22 B8 C0 */ lfs f1, lit_2742(r2) -/* 8027A03C D0 21 00 14 */ stfs f1, 0x14(r1) -/* 8027A040 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 8027A044 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8027A048 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 8027A04C 48 00 00 84 */ b lbl_8027A0D0 -lbl_8027A050: -/* 8027A050 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 8027A054 10 00 00 32 */ ps_mul f0, f0, f0 -/* 8027A058 10 93 04 FA */ ps_madd f4, f19, f19, f0 -/* 8027A05C 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 8027A060 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 8027A064 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 8027A068 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8027A06C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A070 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A074 41 82 00 5C */ beq lbl_8027A0D0 -/* 8027A078 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027A07C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A080 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A084 40 82 00 0C */ bne lbl_8027A090 -/* 8027A088 FF 20 20 90 */ fmr f25, f4 -/* 8027A08C 48 00 00 2C */ b lbl_8027A0B8 -lbl_8027A090: -/* 8027A090 FC 60 20 34 */ frsqrte f3, f4 -/* 8027A094 FC 60 18 18 */ frsp f3, f3 -/* 8027A098 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 8027A09C EC 40 00 F2 */ fmuls f2, f0, f3 -/* 8027A0A0 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 8027A0A4 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8027A0A8 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8027A0AC EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027A0B0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027A0B4 FF 20 00 90 */ fmr f25, f0 -lbl_8027A0B8: -/* 8027A0B8 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 8027A0BC E0 21 80 1C */ psq_l f1, 28(r1), 1, 0 /* qr0 */ -/* 8027A0C0 10 00 06 58 */ ps_muls0 f0, f0, f25 -/* 8027A0C4 F0 01 00 14 */ psq_st f0, 20(r1), 0, 0 /* qr0 */ -/* 8027A0C8 10 01 06 58 */ ps_muls0 f0, f1, f25 -/* 8027A0CC F0 01 80 1C */ psq_st f0, 28(r1), 1, 0 /* qr0 */ -lbl_8027A0D0: -/* 8027A0D0 38 76 00 54 */ addi r3, r22, 0x54 -/* 8027A0D4 38 81 00 14 */ addi r4, r1, 0x14 -/* 8027A0D8 38 A1 00 08 */ addi r5, r1, 8 -/* 8027A0DC 48 0C D0 D9 */ bl PSVECCrossProduct -/* 8027A0E0 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 8027A0E4 10 00 00 32 */ ps_mul f0, f0, f0 -/* 8027A0E8 C2 41 00 10 */ lfs f18, 0x10(r1) -/* 8027A0EC 10 32 04 BA */ ps_madd f1, f18, f18, f0 -/* 8027A0F0 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 -/* 8027A0F4 C0 1D 00 00 */ lfs f0, 0(r29) -/* 8027A0F8 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8027A0FC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8027A100 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A104 40 82 00 1C */ bne lbl_8027A120 -/* 8027A108 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 8027A10C D0 01 00 08 */ stfs f0, 8(r1) -/* 8027A110 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027A114 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8027A118 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8027A11C 48 00 00 84 */ b lbl_8027A1A0 -lbl_8027A120: -/* 8027A120 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 8027A124 10 00 00 32 */ ps_mul f0, f0, f0 -/* 8027A128 10 92 04 BA */ ps_madd f4, f18, f18, f0 -/* 8027A12C 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 8027A130 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 8027A134 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 8027A138 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8027A13C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A140 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A144 41 82 00 5C */ beq lbl_8027A1A0 -/* 8027A148 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027A14C FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A150 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A154 40 82 00 0C */ bne lbl_8027A160 -/* 8027A158 FF 00 20 90 */ fmr f24, f4 -/* 8027A15C 48 00 00 2C */ b lbl_8027A188 -lbl_8027A160: -/* 8027A160 FC 60 20 34 */ frsqrte f3, f4 -/* 8027A164 FC 60 18 18 */ frsp f3, f3 -/* 8027A168 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 8027A16C EC 40 00 F2 */ fmuls f2, f0, f3 -/* 8027A170 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 8027A174 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8027A178 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8027A17C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027A180 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027A184 FF 00 00 90 */ fmr f24, f0 -lbl_8027A188: -/* 8027A188 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 8027A18C E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */ -/* 8027A190 10 00 06 18 */ ps_muls0 f0, f0, f24 -/* 8027A194 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 8027A198 10 01 06 18 */ ps_muls0 f0, f1, f24 -/* 8027A19C F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -lbl_8027A1A0: -/* 8027A1A0 38 61 00 14 */ addi r3, r1, 0x14 -/* 8027A1A4 38 81 00 08 */ addi r4, r1, 8 -/* 8027A1A8 38 B6 00 54 */ addi r5, r22, 0x54 -/* 8027A1AC 48 0C D0 09 */ bl PSVECCrossProduct -/* 8027A1B0 E0 16 00 54 */ psq_l f0, 84(r22), 0, 0 /* qr0 */ -/* 8027A1B4 10 00 00 32 */ ps_mul f0, f0, f0 -/* 8027A1B8 C2 36 00 5C */ lfs f17, 0x5c(r22) -/* 8027A1BC 10 91 04 7A */ ps_madd f4, f17, f17, f0 -/* 8027A1C0 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 8027A1C4 C0 1D 00 00 */ lfs f0, 0(r29) -/* 8027A1C8 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8027A1CC FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A1D0 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A1D4 41 82 00 5C */ beq lbl_8027A230 -/* 8027A1D8 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027A1DC FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027A1E0 4C 40 13 82 */ cror 2, 0, 2 -/* 8027A1E4 40 82 00 0C */ bne lbl_8027A1F0 -/* 8027A1E8 FE E0 20 90 */ fmr f23, f4 -/* 8027A1EC 48 00 00 2C */ b lbl_8027A218 -lbl_8027A1F0: -/* 8027A1F0 FC 60 20 34 */ frsqrte f3, f4 -/* 8027A1F4 FC 60 18 18 */ frsp f3, f3 -/* 8027A1F8 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 8027A1FC EC 40 00 F2 */ fmuls f2, f0, f3 -/* 8027A200 C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 8027A204 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8027A208 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8027A20C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027A210 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8027A214 FE E0 00 90 */ fmr f23, f0 -lbl_8027A218: -/* 8027A218 E0 16 00 54 */ psq_l f0, 84(r22), 0, 0 /* qr0 */ -/* 8027A21C E0 36 80 5C */ psq_l f1, 92(r22), 1, 0 /* qr0 */ -/* 8027A220 10 00 05 D8 */ ps_muls0 f0, f0, f23 -/* 8027A224 F0 16 00 54 */ psq_st f0, 84(r22), 0, 0 /* qr0 */ -/* 8027A228 10 01 05 D8 */ ps_muls0 f0, f1, f23 -/* 8027A22C F0 16 80 5C */ psq_st f0, 92(r22), 1, 0 /* qr0 */ -lbl_8027A230: -/* 8027A230 C0 01 00 08 */ lfs f0, 8(r1) -/* 8027A234 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8027A238 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8027A23C D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8027A240 C0 16 00 54 */ lfs f0, 0x54(r22) -/* 8027A244 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8027A248 D3 A1 00 44 */ stfs f29, 0x44(r1) -/* 8027A24C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8027A250 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8027A254 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 8027A258 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8027A25C C0 16 00 58 */ lfs f0, 0x58(r22) -/* 8027A260 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8027A264 D3 A1 00 54 */ stfs f29, 0x54(r1) -/* 8027A268 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8027A26C D0 01 00 58 */ stfs f0, 0x58(r1) -/* 8027A270 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8027A274 D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 8027A278 C0 16 00 5C */ lfs f0, 0x5c(r22) -/* 8027A27C D0 01 00 60 */ stfs f0, 0x60(r1) -/* 8027A280 D3 A1 00 64 */ stfs f29, 0x64(r1) -/* 8027A284 38 61 00 38 */ addi r3, r1, 0x38 -/* 8027A288 38 81 00 20 */ addi r4, r1, 0x20 -/* 8027A28C 7C 85 23 78 */ mr r5, r4 -/* 8027A290 38 C0 00 02 */ li r6, 2 -/* 8027A294 48 0C CC 0D */ bl PSMTXMultVecArraySR -/* 8027A298 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 8027A29C EC 00 A0 2A */ fadds f0, f0, f20 -/* 8027A2A0 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2A4 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 8027A2A8 EC 00 A8 2A */ fadds f0, f0, f21 -/* 8027A2AC D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2B0 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 8027A2B4 EC 00 B0 2A */ fadds f0, f0, f22 -/* 8027A2B8 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2BC C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027A2C0 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2C4 D2 1C 80 00 */ stfs f16, -0x8000(r28) -/* 8027A2C8 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 8027A2CC EC 00 A0 2A */ fadds f0, f0, f20 -/* 8027A2D0 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2D4 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 8027A2D8 EC 00 A8 2A */ fadds f0, f0, f21 -/* 8027A2DC D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2E0 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 8027A2E4 EC 00 B0 2A */ fadds f0, f0, f22 -/* 8027A2E8 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2EC C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 8027A2F0 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027A2F4 D2 1C 80 00 */ stfs f16, -0x8000(r28) -/* 8027A2F8 7F 43 D3 78 */ mr r3, r26 -/* 8027A2FC 7F 6C DB 78 */ mr r12, r27 -/* 8027A300 7D 89 03 A6 */ mtctr r12 -/* 8027A304 4E 80 04 21 */ bctrl -/* 8027A308 7C 7A 1B 78 */ mr r26, r3 -/* 8027A30C EE 10 F8 2A */ fadds f16, f16, f31 -lbl_8027A310: -/* 8027A310 28 1A 00 00 */ cmplwi r26, 0 -/* 8027A314 40 82 FC 58 */ bne lbl_80279F6C -/* 8027A318 38 60 00 09 */ li r3, 9 -/* 8027A31C 38 80 00 02 */ li r4, 2 -/* 8027A320 48 0E 0B 99 */ bl GXSetVtxDesc -/* 8027A324 38 60 00 0D */ li r3, 0xd -/* 8027A328 38 80 00 02 */ li r4, 2 -/* 8027A32C 48 0E 0B 8D */ bl GXSetVtxDesc -lbl_8027A330: -/* 8027A330 E3 E1 01 C8 */ psq_l f31, 456(r1), 0, 0 /* qr0 */ -/* 8027A334 CB E1 01 C0 */ lfd f31, 0x1c0(r1) -/* 8027A338 E3 C1 01 B8 */ psq_l f30, 440(r1), 0, 0 /* qr0 */ -/* 8027A33C CB C1 01 B0 */ lfd f30, 0x1b0(r1) -/* 8027A340 E3 A1 01 A8 */ psq_l f29, 424(r1), 0, 0 /* qr0 */ -/* 8027A344 CB A1 01 A0 */ lfd f29, 0x1a0(r1) -/* 8027A348 E3 81 01 98 */ psq_l f28, 408(r1), 0, 0 /* qr0 */ -/* 8027A34C CB 81 01 90 */ lfd f28, 0x190(r1) -/* 8027A350 E3 61 01 88 */ psq_l f27, 392(r1), 0, 0 /* qr0 */ -/* 8027A354 CB 61 01 80 */ lfd f27, 0x180(r1) -/* 8027A358 E3 41 01 78 */ psq_l f26, 376(r1), 0, 0 /* qr0 */ -/* 8027A35C CB 41 01 70 */ lfd f26, 0x170(r1) -/* 8027A360 E3 21 01 68 */ psq_l f25, 360(r1), 0, 0 /* qr0 */ -/* 8027A364 CB 21 01 60 */ lfd f25, 0x160(r1) -/* 8027A368 E3 01 01 58 */ psq_l f24, 344(r1), 0, 0 /* qr0 */ -/* 8027A36C CB 01 01 50 */ lfd f24, 0x150(r1) -/* 8027A370 E2 E1 01 48 */ psq_l f23, 328(r1), 0, 0 /* qr0 */ -/* 8027A374 CA E1 01 40 */ lfd f23, 0x140(r1) -/* 8027A378 E2 C1 01 38 */ psq_l f22, 312(r1), 0, 0 /* qr0 */ -/* 8027A37C CA C1 01 30 */ lfd f22, 0x130(r1) -/* 8027A380 E2 A1 01 28 */ psq_l f21, 296(r1), 0, 0 /* qr0 */ -/* 8027A384 CA A1 01 20 */ lfd f21, 0x120(r1) -/* 8027A388 E2 81 01 18 */ psq_l f20, 280(r1), 0, 0 /* qr0 */ -/* 8027A38C CA 81 01 10 */ lfd f20, 0x110(r1) -/* 8027A390 E2 61 01 08 */ psq_l f19, 264(r1), 0, 0 /* qr0 */ -/* 8027A394 CA 61 01 00 */ lfd f19, 0x100(r1) -/* 8027A398 E2 41 00 F8 */ psq_l f18, 248(r1), 0, 0 /* qr0 */ -/* 8027A39C CA 41 00 F0 */ lfd f18, 0xf0(r1) -/* 8027A3A0 E2 21 00 E8 */ psq_l f17, 232(r1), 0, 0 /* qr0 */ -/* 8027A3A4 CA 21 00 E0 */ lfd f17, 0xe0(r1) -/* 8027A3A8 E2 01 00 D8 */ psq_l f16, 216(r1), 0, 0 /* qr0 */ -/* 8027A3AC CA 01 00 D0 */ lfd f16, 0xd0(r1) -/* 8027A3B0 E1 E1 00 C8 */ psq_l f15, 200(r1), 0, 0 /* qr0 */ -/* 8027A3B4 C9 E1 00 C0 */ lfd f15, 0xc0(r1) -/* 8027A3B8 E1 C1 00 B8 */ psq_l f14, 184(r1), 0, 0 /* qr0 */ -/* 8027A3BC C9 C1 00 B0 */ lfd f14, 0xb0(r1) -/* 8027A3C0 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8027A3C4 48 0E 7E 49 */ bl _restgpr_22 -/* 8027A3C8 80 01 01 D4 */ lwz r0, 0x1d4(r1) -/* 8027A3CC 7C 08 03 A6 */ mtlr r0 -/* 8027A3D0 38 21 01 D0 */ addi r1, r1, 0x1d0 -/* 8027A3D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawStripe__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawStripe__FP18JPAEmitterWorkData.s deleted file mode 100644 index dc8bf1928..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawStripe__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,399 +0,0 @@ -lbl_80279374: -/* 80279374 94 21 FE 80 */ stwu r1, -0x180(r1) -/* 80279378 7C 08 02 A6 */ mflr r0 -/* 8027937C 90 01 01 84 */ stw r0, 0x184(r1) -/* 80279380 DB E1 01 70 */ stfd f31, 0x170(r1) -/* 80279384 F3 E1 01 78 */ psq_st f31, 376(r1), 0, 0 /* qr0 */ -/* 80279388 DB C1 01 60 */ stfd f30, 0x160(r1) -/* 8027938C F3 C1 01 68 */ psq_st f30, 360(r1), 0, 0 /* qr0 */ -/* 80279390 DB A1 01 50 */ stfd f29, 0x150(r1) -/* 80279394 F3 A1 01 58 */ psq_st f29, 344(r1), 0, 0 /* qr0 */ -/* 80279398 DB 81 01 40 */ stfd f28, 0x140(r1) -/* 8027939C F3 81 01 48 */ psq_st f28, 328(r1), 0, 0 /* qr0 */ -/* 802793A0 DB 61 01 30 */ stfd f27, 0x130(r1) -/* 802793A4 F3 61 01 38 */ psq_st f27, 312(r1), 0, 0 /* qr0 */ -/* 802793A8 DB 41 01 20 */ stfd f26, 0x120(r1) -/* 802793AC F3 41 01 28 */ psq_st f26, 296(r1), 0, 0 /* qr0 */ -/* 802793B0 DB 21 01 10 */ stfd f25, 0x110(r1) -/* 802793B4 F3 21 01 18 */ psq_st f25, 280(r1), 0, 0 /* qr0 */ -/* 802793B8 DB 01 01 00 */ stfd f24, 0x100(r1) -/* 802793BC F3 01 01 08 */ psq_st f24, 264(r1), 0, 0 /* qr0 */ -/* 802793C0 DA E1 00 F0 */ stfd f23, 0xf0(r1) -/* 802793C4 F2 E1 00 F8 */ psq_st f23, 248(r1), 0, 0 /* qr0 */ -/* 802793C8 DA C1 00 E0 */ stfd f22, 0xe0(r1) -/* 802793CC F2 C1 00 E8 */ psq_st f22, 232(r1), 0, 0 /* qr0 */ -/* 802793D0 DA A1 00 D0 */ stfd f21, 0xd0(r1) -/* 802793D4 F2 A1 00 D8 */ psq_st f21, 216(r1), 0, 0 /* qr0 */ -/* 802793D8 DA 81 00 C0 */ stfd f20, 0xc0(r1) -/* 802793DC F2 81 00 C8 */ psq_st f20, 200(r1), 0, 0 /* qr0 */ -/* 802793E0 DA 61 00 B0 */ stfd f19, 0xb0(r1) -/* 802793E4 F2 61 00 B8 */ psq_st f19, 184(r1), 0, 0 /* qr0 */ -/* 802793E8 DA 41 00 A0 */ stfd f18, 0xa0(r1) -/* 802793EC F2 41 00 A8 */ psq_st f18, 168(r1), 0, 0 /* qr0 */ -/* 802793F0 DA 21 00 90 */ stfd f17, 0x90(r1) -/* 802793F4 F2 21 00 98 */ psq_st f17, 152(r1), 0, 0 /* qr0 */ -/* 802793F8 39 61 00 90 */ addi r11, r1, 0x90 -/* 802793FC 48 0E 8D CD */ bl _savegpr_24 -/* 80279400 7C 7D 1B 78 */ mr r29, r3 -/* 80279404 80 63 00 04 */ lwz r3, 4(r3) -/* 80279408 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8027940C 80 9D 01 E4 */ lwz r4, 0x1e4(r29) -/* 80279410 83 24 00 08 */ lwz r25, 8(r4) -/* 80279414 28 19 00 02 */ cmplwi r25, 2 -/* 80279418 41 80 04 C4 */ blt lbl_802798DC -/* 8027941C C2 82 B8 C0 */ lfs f20, lit_2742(r2) -/* 80279420 C0 62 B8 BC */ lfs f3, lit_2741(r2) -/* 80279424 C8 22 B8 C8 */ lfd f1, lit_2744(r2) -/* 80279428 93 21 00 6C */ stw r25, 0x6c(r1) -/* 8027942C 3C 00 43 30 */ lis r0, 0x4330 -/* 80279430 90 01 00 68 */ stw r0, 0x68(r1) -/* 80279434 C8 01 00 68 */ lfd f0, 0x68(r1) -/* 80279438 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8027943C EC 00 18 28 */ fsubs f0, f0, f3 -/* 80279440 EE 63 00 24 */ fdivs f19, f3, f0 -/* 80279444 C0 9D 01 4C */ lfs f4, 0x14c(r29) -/* 80279448 EC 43 20 2A */ fadds f2, f3, f4 -/* 8027944C C0 22 B8 A8 */ lfs f1, lit_2262(r2) -/* 80279450 C0 1D 01 44 */ lfs f0, 0x144(r29) -/* 80279454 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80279458 EE 42 00 72 */ fmuls f18, f2, f1 -/* 8027945C EC 03 20 28 */ fsubs f0, f3, f4 -/* 80279460 EE 20 00 72 */ fmuls f17, f0, f1 -/* 80279464 80 63 00 00 */ lwz r3, 0(r3) -/* 80279468 80 03 00 08 */ lwz r0, 8(r3) -/* 8027946C 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa -/* 80279470 41 82 00 20 */ beq lbl_80279490 -/* 80279474 83 04 00 04 */ lwz r24, 4(r4) -/* 80279478 3C 60 80 28 */ lis r3, func_8027936C@ha /* 0x8027936C@ha */ -/* 8027947C 38 03 93 6C */ addi r0, r3, func_8027936C@l /* 0x8027936C@l */ -/* 80279480 7C 1F 03 78 */ mr r31, r0 -/* 80279484 FE 80 18 90 */ fmr f20, f3 -/* 80279488 FE 60 98 50 */ fneg f19, f19 -/* 8027948C 48 00 00 14 */ b lbl_802794A0 -lbl_80279490: -/* 80279490 83 04 00 00 */ lwz r24, 0(r4) -/* 80279494 3C 60 80 28 */ lis r3, func_80279364@ha /* 0x80279364@ha */ -/* 80279498 38 03 93 64 */ addi r0, r3, func_80279364@l /* 0x80279364@l */ -/* 8027949C 7C 1F 03 78 */ mr r31, r0 -lbl_802794A0: -/* 802794A0 38 7D 01 84 */ addi r3, r29, 0x184 -/* 802794A4 38 80 00 00 */ li r4, 0 -/* 802794A8 48 0E 6D A5 */ bl GXLoadPosMtxImm -/* 802794AC 7F A3 EB 78 */ mr r3, r29 -/* 802794B0 38 9D 01 84 */ addi r4, r29, 0x184 -/* 802794B4 80 1D 02 10 */ lwz r0, 0x210(r29) -/* 802794B8 54 00 10 3A */ slwi r0, r0, 2 -/* 802794BC 3C A0 80 3C */ lis r5, p_prj@ha /* 0x803C4320@ha */ -/* 802794C0 38 A5 43 20 */ addi r5, r5, p_prj@l /* 0x803C4320@l */ -/* 802794C4 7D 85 00 2E */ lwzx r12, r5, r0 -/* 802794C8 7D 89 03 A6 */ mtctr r12 -/* 802794CC 4E 80 04 21 */ bctrl -/* 802794D0 38 60 00 09 */ li r3, 9 -/* 802794D4 38 80 00 01 */ li r4, 1 -/* 802794D8 48 0E 19 E1 */ bl GXSetVtxDesc -/* 802794DC 38 60 00 0D */ li r3, 0xd -/* 802794E0 38 80 00 01 */ li r4, 1 -/* 802794E4 48 0E 19 D5 */ bl GXSetVtxDesc -/* 802794E8 38 60 00 98 */ li r3, 0x98 -/* 802794EC 38 80 00 01 */ li r4, 1 -/* 802794F0 57 25 0C 3C */ rlwinm r5, r25, 1, 0x10, 0x1e -/* 802794F4 48 0E 32 71 */ bl GXBegin -/* 802794F8 7F 1E C3 78 */ mr r30, r24 -/* 802794FC 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80279500 3B 23 9A 20 */ addi r25, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80279504 C3 C2 B8 C0 */ lfs f30, lit_2742(r2) -/* 80279508 3C 60 80 3C */ lis r3, p_direction@ha /* 0x803C432C@ha */ -/* 8027950C 3B 43 43 2C */ addi r26, r3, p_direction@l /* 0x803C432C@l */ -/* 80279510 C3 E2 B8 D8 */ lfs f31, lit_3281(r2) -/* 80279514 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279518 3B 63 0A EC */ addi r27, r3, __float_epsilon@l /* 0x80450AEC@l */ -/* 8027951C 3F 80 CC 01 */ lis r28, 0xcc01 -/* 80279520 48 00 03 9C */ b lbl_802798BC -lbl_80279524: -/* 80279524 93 DD 01 E8 */ stw r30, 0x1e8(r29) -/* 80279528 3B 1E 00 08 */ addi r24, r30, 8 -/* 8027952C C2 FE 00 08 */ lfs f23, 8(r30) -/* 80279530 C2 DE 00 0C */ lfs f22, 0xc(r30) -/* 80279534 C2 BE 00 10 */ lfs f21, 0x10(r30) -/* 80279538 A0 1E 00 90 */ lhz r0, 0x90(r30) -/* 8027953C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80279540 7C 79 02 14 */ add r3, r25, r0 -/* 80279544 C0 63 00 00 */ lfs f3, 0(r3) -/* 80279548 C0 83 00 04 */ lfs f4, 4(r3) -/* 8027954C C0 3E 00 68 */ lfs f1, 0x68(r30) -/* 80279550 FC 00 08 50 */ fneg f0, f1 -/* 80279554 EC 00 04 B2 */ fmuls f0, f0, f18 -/* 80279558 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8027955C D3 C1 00 24 */ stfs f30, 0x24(r1) -/* 80279560 D3 C1 00 28 */ stfs f30, 0x28(r1) -/* 80279564 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 80279568 EC 00 01 32 */ fmuls f0, f0, f4 -/* 8027956C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80279570 D3 C1 00 24 */ stfs f30, 0x24(r1) -/* 80279574 D0 41 00 28 */ stfs f2, 0x28(r1) -/* 80279578 EC 01 04 72 */ fmuls f0, f1, f17 -/* 8027957C D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80279580 D3 C1 00 30 */ stfs f30, 0x30(r1) -/* 80279584 D3 C1 00 34 */ stfs f30, 0x34(r1) -/* 80279588 EC 20 00 F2 */ fmuls f1, f0, f3 -/* 8027958C EC 00 01 32 */ fmuls f0, f0, f4 -/* 80279590 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80279594 D3 C1 00 30 */ stfs f30, 0x30(r1) -/* 80279598 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 8027959C 7F A3 EB 78 */ mr r3, r29 -/* 802795A0 7F 04 C3 78 */ mr r4, r24 -/* 802795A4 38 A1 00 14 */ addi r5, r1, 0x14 -/* 802795A8 80 1D 02 00 */ lwz r0, 0x200(r29) -/* 802795AC 54 00 10 3A */ slwi r0, r0, 2 -/* 802795B0 7D 9A 00 2E */ lwzx r12, r26, r0 -/* 802795B4 7D 89 03 A6 */ mtctr r12 -/* 802795B8 4E 80 04 21 */ bctrl -/* 802795BC E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 802795C0 10 00 00 32 */ ps_mul f0, f0, f0 -/* 802795C4 C3 41 00 1C */ lfs f26, 0x1c(r1) -/* 802795C8 10 3A 06 BA */ ps_madd f1, f26, f26, f0 -/* 802795CC 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 -/* 802795D0 C0 1B 00 00 */ lfs f0, 0(r27) -/* 802795D4 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 802795D8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802795DC 4C 40 13 82 */ cror 2, 0, 2 -/* 802795E0 40 82 00 1C */ bne lbl_802795FC -/* 802795E4 C0 22 B8 C0 */ lfs f1, lit_2742(r2) -/* 802795E8 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 802795EC C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 802795F0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 802795F4 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 802795F8 48 00 00 84 */ b lbl_8027967C -lbl_802795FC: -/* 802795FC E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80279600 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279604 10 9A 06 BA */ ps_madd f4, f26, f26, f0 -/* 80279608 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 8027960C 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 80279610 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 80279614 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 80279618 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027961C 4C 40 13 82 */ cror 2, 0, 2 -/* 80279620 41 82 00 5C */ beq lbl_8027967C -/* 80279624 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279628 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027962C 4C 40 13 82 */ cror 2, 0, 2 -/* 80279630 40 82 00 0C */ bne lbl_8027963C -/* 80279634 FF A0 20 90 */ fmr f29, f4 -/* 80279638 48 00 00 2C */ b lbl_80279664 -lbl_8027963C: -/* 8027963C FC 60 20 34 */ frsqrte f3, f4 -/* 80279640 FC 60 18 18 */ frsp f3, f3 -/* 80279644 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80279648 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 8027964C C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80279650 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80279654 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80279658 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027965C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279660 FF A0 00 90 */ fmr f29, f0 -lbl_80279664: -/* 80279664 E0 01 00 14 */ psq_l f0, 20(r1), 0, 0 /* qr0 */ -/* 80279668 E0 21 80 1C */ psq_l f1, 28(r1), 1, 0 /* qr0 */ -/* 8027966C 10 00 07 58 */ ps_muls0 f0, f0, f29 -/* 80279670 F0 01 00 14 */ psq_st f0, 20(r1), 0, 0 /* qr0 */ -/* 80279674 10 01 07 58 */ ps_muls0 f0, f1, f29 -/* 80279678 F0 01 80 1C */ psq_st f0, 28(r1), 1, 0 /* qr0 */ -lbl_8027967C: -/* 8027967C 38 78 00 54 */ addi r3, r24, 0x54 -/* 80279680 38 81 00 14 */ addi r4, r1, 0x14 -/* 80279684 38 A1 00 08 */ addi r5, r1, 8 -/* 80279688 48 0C DB 2D */ bl PSVECCrossProduct -/* 8027968C E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80279690 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279694 C3 21 00 10 */ lfs f25, 0x10(r1) -/* 80279698 10 39 06 7A */ ps_madd f1, f25, f25, f0 -/* 8027969C 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 -/* 802796A0 C0 1B 00 00 */ lfs f0, 0(r27) -/* 802796A4 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 802796A8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802796AC 4C 40 13 82 */ cror 2, 0, 2 -/* 802796B0 40 82 00 1C */ bne lbl_802796CC -/* 802796B4 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 802796B8 D0 01 00 08 */ stfs f0, 8(r1) -/* 802796BC C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 802796C0 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 802796C4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 802796C8 48 00 00 84 */ b lbl_8027974C -lbl_802796CC: -/* 802796CC E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 802796D0 10 00 00 32 */ ps_mul f0, f0, f0 -/* 802796D4 10 99 06 7A */ ps_madd f4, f25, f25, f0 -/* 802796D8 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 802796DC 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 802796E0 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 802796E4 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 802796E8 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802796EC 4C 40 13 82 */ cror 2, 0, 2 -/* 802796F0 41 82 00 5C */ beq lbl_8027974C -/* 802796F4 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 802796F8 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802796FC 4C 40 13 82 */ cror 2, 0, 2 -/* 80279700 40 82 00 0C */ bne lbl_8027970C -/* 80279704 FF 80 20 90 */ fmr f28, f4 -/* 80279708 48 00 00 2C */ b lbl_80279734 -lbl_8027970C: -/* 8027970C FC 60 20 34 */ frsqrte f3, f4 -/* 80279710 FC 60 18 18 */ frsp f3, f3 -/* 80279714 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 80279718 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 8027971C C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 80279720 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 80279724 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80279728 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8027972C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80279730 FF 80 00 90 */ fmr f28, f0 -lbl_80279734: -/* 80279734 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */ -/* 80279738 E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */ -/* 8027973C 10 00 07 18 */ ps_muls0 f0, f0, f28 -/* 80279740 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */ -/* 80279744 10 01 07 18 */ ps_muls0 f0, f1, f28 -/* 80279748 F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */ -lbl_8027974C: -/* 8027974C 38 61 00 14 */ addi r3, r1, 0x14 -/* 80279750 38 81 00 08 */ addi r4, r1, 8 -/* 80279754 38 B8 00 54 */ addi r5, r24, 0x54 -/* 80279758 48 0C DA 5D */ bl PSVECCrossProduct -/* 8027975C E0 18 00 54 */ psq_l f0, 84(r24), 0, 0 /* qr0 */ -/* 80279760 10 00 00 32 */ ps_mul f0, f0, f0 -/* 80279764 C3 18 00 5C */ lfs f24, 0x5c(r24) -/* 80279768 10 98 06 3A */ ps_madd f4, f24, f24, f0 -/* 8027976C 10 84 00 14 */ ps_sum0 f4, f4, f0, f0 -/* 80279770 C0 1B 00 00 */ lfs f0, 0(r27) -/* 80279774 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 80279778 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027977C 4C 40 13 82 */ cror 2, 0, 2 -/* 80279780 41 82 00 5C */ beq lbl_802797DC -/* 80279784 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 80279788 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8027978C 4C 40 13 82 */ cror 2, 0, 2 -/* 80279790 40 82 00 0C */ bne lbl_8027979C -/* 80279794 FF 60 20 90 */ fmr f27, f4 -/* 80279798 48 00 00 2C */ b lbl_802797C4 -lbl_8027979C: -/* 8027979C FC 60 20 34 */ frsqrte f3, f4 -/* 802797A0 FC 60 18 18 */ frsp f3, f3 -/* 802797A4 C0 02 B8 B8 */ lfs f0, lit_2740(r2) -/* 802797A8 EC 40 00 F2 */ fmuls f2, f0, f3 -/* 802797AC C0 22 B8 DC */ lfs f1, lit_3282(r2) -/* 802797B0 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 802797B4 EC 04 00 32 */ fmuls f0, f4, f0 -/* 802797B8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802797BC EC 02 00 32 */ fmuls f0, f2, f0 -/* 802797C0 FF 60 00 90 */ fmr f27, f0 -lbl_802797C4: -/* 802797C4 E0 18 00 54 */ psq_l f0, 84(r24), 0, 0 /* qr0 */ -/* 802797C8 E0 38 80 5C */ psq_l f1, 92(r24), 1, 0 /* qr0 */ -/* 802797CC 10 00 06 D8 */ ps_muls0 f0, f0, f27 -/* 802797D0 F0 18 00 54 */ psq_st f0, 84(r24), 0, 0 /* qr0 */ -/* 802797D4 10 01 06 D8 */ ps_muls0 f0, f1, f27 -/* 802797D8 F0 18 80 5C */ psq_st f0, 92(r24), 1, 0 /* qr0 */ -lbl_802797DC: -/* 802797DC C0 01 00 08 */ lfs f0, 8(r1) -/* 802797E0 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 802797E4 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 802797E8 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 802797EC C0 18 00 54 */ lfs f0, 0x54(r24) -/* 802797F0 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 802797F4 D3 C1 00 44 */ stfs f30, 0x44(r1) -/* 802797F8 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802797FC D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80279800 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80279804 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80279808 C0 18 00 58 */ lfs f0, 0x58(r24) -/* 8027980C D0 01 00 50 */ stfs f0, 0x50(r1) -/* 80279810 D3 C1 00 54 */ stfs f30, 0x54(r1) -/* 80279814 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80279818 D0 01 00 58 */ stfs f0, 0x58(r1) -/* 8027981C C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80279820 D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 80279824 C0 18 00 5C */ lfs f0, 0x5c(r24) -/* 80279828 D0 01 00 60 */ stfs f0, 0x60(r1) -/* 8027982C D3 C1 00 64 */ stfs f30, 0x64(r1) -/* 80279830 38 61 00 38 */ addi r3, r1, 0x38 -/* 80279834 38 81 00 20 */ addi r4, r1, 0x20 -/* 80279838 7C 85 23 78 */ mr r5, r4 -/* 8027983C 38 C0 00 02 */ li r6, 2 -/* 80279840 48 0C D6 61 */ bl PSMTXMultVecArraySR -/* 80279844 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80279848 EC 00 B8 2A */ fadds f0, f0, f23 -/* 8027984C D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 80279850 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 80279854 EC 00 B0 2A */ fadds f0, f0, f22 -/* 80279858 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027985C C0 01 00 28 */ lfs f0, 0x28(r1) -/* 80279860 EC 00 A8 2A */ fadds f0, f0, f21 -/* 80279864 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 80279868 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027986C D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 80279870 D2 9C 80 00 */ stfs f20, -0x8000(r28) -/* 80279874 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 80279878 EC 00 B8 2A */ fadds f0, f0, f23 -/* 8027987C D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 80279880 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 80279884 EC 00 B0 2A */ fadds f0, f0, f22 -/* 80279888 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 8027988C C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80279890 EC 00 A8 2A */ fadds f0, f0, f21 -/* 80279894 D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 80279898 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 8027989C D0 1C 80 00 */ stfs f0, -0x8000(r28) -/* 802798A0 D2 9C 80 00 */ stfs f20, -0x8000(r28) -/* 802798A4 7F C3 F3 78 */ mr r3, r30 -/* 802798A8 7F EC FB 78 */ mr r12, r31 -/* 802798AC 7D 89 03 A6 */ mtctr r12 -/* 802798B0 4E 80 04 21 */ bctrl -/* 802798B4 7C 7E 1B 78 */ mr r30, r3 -/* 802798B8 EE 94 98 2A */ fadds f20, f20, f19 -lbl_802798BC: -/* 802798BC 28 1E 00 00 */ cmplwi r30, 0 -/* 802798C0 40 82 FC 64 */ bne lbl_80279524 -/* 802798C4 38 60 00 09 */ li r3, 9 -/* 802798C8 38 80 00 02 */ li r4, 2 -/* 802798CC 48 0E 15 ED */ bl GXSetVtxDesc -/* 802798D0 38 60 00 0D */ li r3, 0xd -/* 802798D4 38 80 00 02 */ li r4, 2 -/* 802798D8 48 0E 15 E1 */ bl GXSetVtxDesc -lbl_802798DC: -/* 802798DC E3 E1 01 78 */ psq_l f31, 376(r1), 0, 0 /* qr0 */ -/* 802798E0 CB E1 01 70 */ lfd f31, 0x170(r1) -/* 802798E4 E3 C1 01 68 */ psq_l f30, 360(r1), 0, 0 /* qr0 */ -/* 802798E8 CB C1 01 60 */ lfd f30, 0x160(r1) -/* 802798EC E3 A1 01 58 */ psq_l f29, 344(r1), 0, 0 /* qr0 */ -/* 802798F0 CB A1 01 50 */ lfd f29, 0x150(r1) -/* 802798F4 E3 81 01 48 */ psq_l f28, 328(r1), 0, 0 /* qr0 */ -/* 802798F8 CB 81 01 40 */ lfd f28, 0x140(r1) -/* 802798FC E3 61 01 38 */ psq_l f27, 312(r1), 0, 0 /* qr0 */ -/* 80279900 CB 61 01 30 */ lfd f27, 0x130(r1) -/* 80279904 E3 41 01 28 */ psq_l f26, 296(r1), 0, 0 /* qr0 */ -/* 80279908 CB 41 01 20 */ lfd f26, 0x120(r1) -/* 8027990C E3 21 01 18 */ psq_l f25, 280(r1), 0, 0 /* qr0 */ -/* 80279910 CB 21 01 10 */ lfd f25, 0x110(r1) -/* 80279914 E3 01 01 08 */ psq_l f24, 264(r1), 0, 0 /* qr0 */ -/* 80279918 CB 01 01 00 */ lfd f24, 0x100(r1) -/* 8027991C E2 E1 00 F8 */ psq_l f23, 248(r1), 0, 0 /* qr0 */ -/* 80279920 CA E1 00 F0 */ lfd f23, 0xf0(r1) -/* 80279924 E2 C1 00 E8 */ psq_l f22, 232(r1), 0, 0 /* qr0 */ -/* 80279928 CA C1 00 E0 */ lfd f22, 0xe0(r1) -/* 8027992C E2 A1 00 D8 */ psq_l f21, 216(r1), 0, 0 /* qr0 */ -/* 80279930 CA A1 00 D0 */ lfd f21, 0xd0(r1) -/* 80279934 E2 81 00 C8 */ psq_l f20, 200(r1), 0, 0 /* qr0 */ -/* 80279938 CA 81 00 C0 */ lfd f20, 0xc0(r1) -/* 8027993C E2 61 00 B8 */ psq_l f19, 184(r1), 0, 0 /* qr0 */ -/* 80279940 CA 61 00 B0 */ lfd f19, 0xb0(r1) -/* 80279944 E2 41 00 A8 */ psq_l f18, 168(r1), 0, 0 /* qr0 */ -/* 80279948 CA 41 00 A0 */ lfd f18, 0xa0(r1) -/* 8027994C E2 21 00 98 */ psq_l f17, 152(r1), 0, 0 /* qr0 */ -/* 80279950 CA 21 00 90 */ lfd f17, 0x90(r1) -/* 80279954 39 61 00 90 */ addi r11, r1, 0x90 -/* 80279958 48 0E 88 BD */ bl _restgpr_24 -/* 8027995C 80 01 01 84 */ lwz r0, 0x184(r1) -/* 80279960 7C 08 03 A6 */ mtlr r0 -/* 80279964 38 21 01 80 */ addi r1, r1, 0x180 -/* 80279968 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 95a6c0dc5..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_80278088: -/* 80278088 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8027808C 7C 08 02 A6 */ mflr r0 -/* 80278090 90 01 00 54 */ stw r0, 0x54(r1) -/* 80278094 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 80278098 93 C1 00 48 */ stw r30, 0x48(r1) -/* 8027809C 7C 7E 1B 78 */ mr r30, r3 -/* 802780A0 7C 9F 23 78 */ mr r31, r4 -/* 802780A4 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 802780A8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 802780AC 40 82 00 C0 */ bne lbl_8027816C -/* 802780B0 38 7E 01 84 */ addi r3, r30, 0x184 -/* 802780B4 38 A1 00 08 */ addi r5, r1, 8 -/* 802780B8 48 0C EC B5 */ bl PSMTXMultVec -/* 802780BC C0 3E 01 48 */ lfs f1, 0x148(r30) -/* 802780C0 C0 1F 00 64 */ lfs f0, 0x64(r31) -/* 802780C4 EC 41 00 32 */ fmuls f2, f1, f0 -/* 802780C8 C0 3E 01 44 */ lfs f1, 0x144(r30) -/* 802780CC C0 1F 00 60 */ lfs f0, 0x60(r31) -/* 802780D0 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802780D4 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 802780D8 C0 01 00 08 */ lfs f0, 8(r1) -/* 802780DC D0 01 00 20 */ stfs f0, 0x20(r1) -/* 802780E0 C0 1E 01 68 */ lfs f0, 0x168(r30) -/* 802780E4 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 802780E8 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 802780EC C0 1E 01 6C */ lfs f0, 0x16c(r30) -/* 802780F0 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 802780F4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 802780F8 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 802780FC C0 1E 01 78 */ lfs f0, 0x178(r30) -/* 80278100 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80278104 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80278108 C0 1E 01 7C */ lfs f0, 0x17c(r30) -/* 8027810C D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80278110 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80278114 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80278118 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 8027811C D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80278120 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80278124 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80278128 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8027812C 38 61 00 14 */ addi r3, r1, 0x14 -/* 80278130 38 80 00 00 */ li r4, 0 -/* 80278134 48 0E 81 19 */ bl GXLoadPosMtxImm -/* 80278138 7F C3 F3 78 */ mr r3, r30 -/* 8027813C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80278140 80 1E 02 10 */ lwz r0, 0x210(r30) -/* 80278144 54 00 10 3A */ slwi r0, r0, 2 -/* 80278148 3C A0 80 3C */ lis r5, p_prj@ha /* 0x803C4320@ha */ -/* 8027814C 38 A5 43 20 */ addi r5, r5, p_prj@l /* 0x803C4320@l */ -/* 80278150 7D 85 00 2E */ lwzx r12, r5, r0 -/* 80278154 7D 89 03 A6 */ mtctr r12 -/* 80278158 4E 80 04 21 */ bctrl -/* 8027815C 3C 60 80 3C */ lis r3, jpa_dl@ha /* 0x803C42E0@ha */ -/* 80278160 38 63 42 E0 */ addi r3, r3, jpa_dl@l /* 0x803C42E0@l */ -/* 80278164 38 80 00 20 */ li r4, 0x20 -/* 80278168 48 0E 7D 89 */ bl GXCallDisplayList -lbl_8027816C: -/* 8027816C 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 80278170 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 80278174 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80278178 7C 08 03 A6 */ mtlr r0 -/* 8027817C 38 21 00 50 */ addi r1, r1, 0x50 -/* 80278180 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData.s b/asm/JSystem/JParticle/JPABaseShape/JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData.s deleted file mode 100644 index ffe678d7d..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_802775AC: -/* 802775AC 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 802775B0 7C 08 02 A6 */ mflr r0 -/* 802775B4 90 01 00 64 */ stw r0, 0x64(r1) -/* 802775B8 80 83 00 04 */ lwz r4, 4(r3) -/* 802775BC 80 A4 00 1C */ lwz r5, 0x1c(r4) -/* 802775C0 80 63 00 00 */ lwz r3, 0(r3) -/* 802775C4 80 03 01 00 */ lwz r0, 0x100(r3) -/* 802775C8 C8 82 B8 C8 */ lfd f4, lit_2744(r2) -/* 802775CC 90 01 00 3C */ stw r0, 0x3c(r1) -/* 802775D0 3C 80 43 30 */ lis r4, 0x4330 -/* 802775D4 90 81 00 38 */ stw r4, 0x38(r1) -/* 802775D8 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 802775DC EC A0 20 28 */ fsubs f5, f0, f4 -/* 802775E0 C0 62 B8 B8 */ lfs f3, lit_2740(r2) -/* 802775E4 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 802775E8 80 65 00 00 */ lwz r3, 0(r5) -/* 802775EC 80 63 00 08 */ lwz r3, 8(r3) -/* 802775F0 54 60 3F FE */ rlwinm r0, r3, 7, 0x1f, 0x1f -/* 802775F4 90 01 00 44 */ stw r0, 0x44(r1) -/* 802775F8 90 81 00 40 */ stw r4, 0x40(r1) -/* 802775FC C8 21 00 40 */ lfd f1, 0x40(r1) -/* 80277600 EC 21 20 28 */ fsubs f1, f1, f4 -/* 80277604 EC 20 08 2A */ fadds f1, f0, f1 -/* 80277608 EC 23 00 72 */ fmuls f1, f3, f1 -/* 8027760C 54 60 37 FE */ rlwinm r0, r3, 6, 0x1f, 0x1f -/* 80277610 90 01 00 4C */ stw r0, 0x4c(r1) -/* 80277614 90 81 00 48 */ stw r4, 0x48(r1) -/* 80277618 C8 41 00 48 */ lfd f2, 0x48(r1) -/* 8027761C EC 42 20 28 */ fsubs f2, f2, f4 -/* 80277620 EC 40 10 2A */ fadds f2, f0, f2 -/* 80277624 EC 43 00 B2 */ fmuls f2, f3, f2 -/* 80277628 80 65 00 04 */ lwz r3, 4(r5) -/* 8027762C C0 63 00 14 */ lfs f3, 0x14(r3) -/* 80277630 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277634 C0 63 00 00 */ lfs f3, 0(r3) -/* 80277638 ED 24 18 2A */ fadds f9, f4, f3 -/* 8027763C C0 63 00 18 */ lfs f3, 0x18(r3) -/* 80277640 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277644 C0 63 00 04 */ lfs f3, 4(r3) -/* 80277648 ED 04 18 2A */ fadds f8, f4, f3 -/* 8027764C C0 63 00 1C */ lfs f3, 0x1c(r3) -/* 80277650 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277654 C0 63 00 08 */ lfs f3, 8(r3) -/* 80277658 ED 44 18 2A */ fadds f10, f4, f3 -/* 8027765C C0 63 00 20 */ lfs f3, 0x20(r3) -/* 80277660 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277664 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 80277668 ED 64 18 2A */ fadds f11, f4, f3 -/* 8027766C C0 63 00 24 */ lfs f3, 0x24(r3) -/* 80277670 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277674 C0 63 00 10 */ lfs f3, 0x10(r3) -/* 80277678 EC 64 18 2A */ fadds f3, f4, f3 -/* 8027767C FC 60 18 1E */ fctiwz f3, f3 -/* 80277680 D8 61 00 50 */ stfd f3, 0x50(r1) -/* 80277684 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80277688 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8027768C 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80277690 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80277694 7C C3 04 2E */ lfsx f6, r3, r0 -/* 80277698 7C 63 02 14 */ add r3, r3, r0 -/* 8027769C C0 E3 00 04 */ lfs f7, 4(r3) -/* 802776A0 EC 6A 01 F2 */ fmuls f3, f10, f7 -/* 802776A4 D0 61 00 08 */ stfs f3, 8(r1) -/* 802776A8 FC 60 50 50 */ fneg f3, f10 -/* 802776AC EC 63 01 B2 */ fmuls f3, f3, f6 -/* 802776B0 D0 61 00 0C */ stfs f3, 0xc(r1) -/* 802776B4 C0 A2 B8 C0 */ lfs f5, lit_2742(r2) -/* 802776B8 D0 A1 00 10 */ stfs f5, 0x10(r1) -/* 802776BC ED 02 40 2A */ fadds f8, f2, f8 -/* 802776C0 EC 86 02 32 */ fmuls f4, f6, f8 -/* 802776C4 ED 21 48 2A */ fadds f9, f1, f9 -/* 802776C8 EC 67 02 72 */ fmuls f3, f7, f9 -/* 802776CC EC 64 18 28 */ fsubs f3, f4, f3 -/* 802776D0 EC 6A 00 F2 */ fmuls f3, f10, f3 -/* 802776D4 EC 21 18 2A */ fadds f1, f1, f3 -/* 802776D8 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 802776DC EC 2B 01 B2 */ fmuls f1, f11, f6 -/* 802776E0 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 802776E4 EC 2B 01 F2 */ fmuls f1, f11, f7 -/* 802776E8 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 802776EC D0 A1 00 20 */ stfs f5, 0x20(r1) -/* 802776F0 FC 80 58 50 */ fneg f4, f11 -/* 802776F4 EC 66 02 72 */ fmuls f3, f6, f9 -/* 802776F8 EC 27 02 32 */ fmuls f1, f7, f8 -/* 802776FC EC 23 08 2A */ fadds f1, f3, f1 -/* 80277700 EC 24 00 72 */ fmuls f1, f4, f1 -/* 80277704 EC 22 08 2A */ fadds f1, f2, f1 -/* 80277708 D0 21 00 24 */ stfs f1, 0x24(r1) -/* 8027770C D0 A1 00 28 */ stfs f5, 0x28(r1) -/* 80277710 D0 A1 00 2C */ stfs f5, 0x2c(r1) -/* 80277714 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80277718 D0 A1 00 34 */ stfs f5, 0x34(r1) -/* 8027771C 38 61 00 08 */ addi r3, r1, 8 -/* 80277720 38 80 00 1E */ li r4, 0x1e -/* 80277724 38 A0 00 01 */ li r5, 1 -/* 80277728 48 0E 8B F9 */ bl GXLoadTexMtxImm -/* 8027772C 38 60 00 00 */ li r3, 0 -/* 80277730 38 80 00 01 */ li r4, 1 -/* 80277734 38 A0 00 04 */ li r5, 4 -/* 80277738 38 C0 00 1E */ li r6, 0x1e -/* 8027773C 38 E0 00 00 */ li r7, 0 -/* 80277740 39 00 00 7D */ li r8, 0x7d -/* 80277744 48 0E 44 39 */ bl GXSetTexCoordGen2 -/* 80277748 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8027774C 7C 08 03 A6 */ mtlr r0 -/* 80277750 38 21 00 60 */ addi r1, r1, 0x60 -/* 80277754 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s b/asm/JSystem/JParticle/JPABaseShape/JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s deleted file mode 100644 index 84b669291..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_80277758: -/* 80277758 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8027775C 7C 08 02 A6 */ mflr r0 -/* 80277760 90 01 00 64 */ stw r0, 0x64(r1) -/* 80277764 80 63 00 04 */ lwz r3, 4(r3) -/* 80277768 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 8027776C A8 04 00 80 */ lha r0, 0x80(r4) -/* 80277770 C8 22 B8 B0 */ lfd f1, lit_2623(r2) -/* 80277774 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80277778 90 01 00 3C */ stw r0, 0x3c(r1) -/* 8027777C 3C 80 43 30 */ lis r4, 0x4330 -/* 80277780 90 81 00 38 */ stw r4, 0x38(r1) -/* 80277784 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 80277788 EC A0 08 28 */ fsubs f5, f0, f1 -/* 8027778C C0 82 B8 B8 */ lfs f4, lit_2740(r2) -/* 80277790 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80277794 80 65 00 00 */ lwz r3, 0(r5) -/* 80277798 80 63 00 08 */ lwz r3, 8(r3) -/* 8027779C 54 60 3F FE */ rlwinm r0, r3, 7, 0x1f, 0x1f -/* 802777A0 C8 62 B8 C8 */ lfd f3, lit_2744(r2) -/* 802777A4 90 01 00 44 */ stw r0, 0x44(r1) -/* 802777A8 90 81 00 40 */ stw r4, 0x40(r1) -/* 802777AC C8 21 00 40 */ lfd f1, 0x40(r1) -/* 802777B0 EC 21 18 28 */ fsubs f1, f1, f3 -/* 802777B4 EC 20 08 2A */ fadds f1, f0, f1 -/* 802777B8 EC 24 00 72 */ fmuls f1, f4, f1 -/* 802777BC 54 60 37 FE */ rlwinm r0, r3, 6, 0x1f, 0x1f -/* 802777C0 90 01 00 4C */ stw r0, 0x4c(r1) -/* 802777C4 90 81 00 48 */ stw r4, 0x48(r1) -/* 802777C8 C8 41 00 48 */ lfd f2, 0x48(r1) -/* 802777CC EC 42 18 28 */ fsubs f2, f2, f3 -/* 802777D0 EC 40 10 2A */ fadds f2, f0, f2 -/* 802777D4 EC 44 00 B2 */ fmuls f2, f4, f2 -/* 802777D8 80 65 00 04 */ lwz r3, 4(r5) -/* 802777DC C0 63 00 14 */ lfs f3, 0x14(r3) -/* 802777E0 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 802777E4 C0 63 00 00 */ lfs f3, 0(r3) -/* 802777E8 ED 24 18 2A */ fadds f9, f4, f3 -/* 802777EC C0 63 00 18 */ lfs f3, 0x18(r3) -/* 802777F0 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 802777F4 C0 63 00 04 */ lfs f3, 4(r3) -/* 802777F8 ED 04 18 2A */ fadds f8, f4, f3 -/* 802777FC C0 63 00 1C */ lfs f3, 0x1c(r3) -/* 80277800 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277804 C0 63 00 08 */ lfs f3, 8(r3) -/* 80277808 ED 44 18 2A */ fadds f10, f4, f3 -/* 8027780C C0 63 00 20 */ lfs f3, 0x20(r3) -/* 80277810 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277814 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 80277818 ED 64 18 2A */ fadds f11, f4, f3 -/* 8027781C C0 63 00 24 */ lfs f3, 0x24(r3) -/* 80277820 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277824 C0 63 00 10 */ lfs f3, 0x10(r3) -/* 80277828 EC 64 18 2A */ fadds f3, f4, f3 -/* 8027782C FC 60 18 1E */ fctiwz f3, f3 -/* 80277830 D8 61 00 50 */ stfd f3, 0x50(r1) -/* 80277834 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80277838 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8027783C 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80277840 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80277844 7C C3 04 2E */ lfsx f6, r3, r0 -/* 80277848 7C 63 02 14 */ add r3, r3, r0 -/* 8027784C C0 E3 00 04 */ lfs f7, 4(r3) -/* 80277850 EC 6A 01 F2 */ fmuls f3, f10, f7 -/* 80277854 D0 61 00 08 */ stfs f3, 8(r1) -/* 80277858 FC 60 50 50 */ fneg f3, f10 -/* 8027785C EC 63 01 B2 */ fmuls f3, f3, f6 -/* 80277860 D0 61 00 0C */ stfs f3, 0xc(r1) -/* 80277864 C0 A2 B8 C0 */ lfs f5, lit_2742(r2) -/* 80277868 D0 A1 00 10 */ stfs f5, 0x10(r1) -/* 8027786C ED 02 40 2A */ fadds f8, f2, f8 -/* 80277870 EC 86 02 32 */ fmuls f4, f6, f8 -/* 80277874 ED 21 48 2A */ fadds f9, f1, f9 -/* 80277878 EC 67 02 72 */ fmuls f3, f7, f9 -/* 8027787C EC 64 18 28 */ fsubs f3, f4, f3 -/* 80277880 EC 6A 00 F2 */ fmuls f3, f10, f3 -/* 80277884 EC 21 18 2A */ fadds f1, f1, f3 -/* 80277888 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 8027788C EC 2B 01 B2 */ fmuls f1, f11, f6 -/* 80277890 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80277894 EC 2B 01 F2 */ fmuls f1, f11, f7 -/* 80277898 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 8027789C D0 A1 00 20 */ stfs f5, 0x20(r1) -/* 802778A0 FC 80 58 50 */ fneg f4, f11 -/* 802778A4 EC 66 02 72 */ fmuls f3, f6, f9 -/* 802778A8 EC 27 02 32 */ fmuls f1, f7, f8 -/* 802778AC EC 23 08 2A */ fadds f1, f3, f1 -/* 802778B0 EC 24 00 72 */ fmuls f1, f4, f1 -/* 802778B4 EC 22 08 2A */ fadds f1, f2, f1 -/* 802778B8 D0 21 00 24 */ stfs f1, 0x24(r1) -/* 802778BC D0 A1 00 28 */ stfs f5, 0x28(r1) -/* 802778C0 D0 A1 00 2C */ stfs f5, 0x2c(r1) -/* 802778C4 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 802778C8 D0 A1 00 34 */ stfs f5, 0x34(r1) -/* 802778CC 38 61 00 08 */ addi r3, r1, 8 -/* 802778D0 38 80 00 1E */ li r4, 0x1e -/* 802778D4 38 A0 00 01 */ li r5, 1 -/* 802778D8 48 0E 8A 49 */ bl GXLoadTexMtxImm -/* 802778DC 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802778E0 7C 08 03 A6 */ mtlr r0 -/* 802778E4 38 21 00 60 */ addi r1, r1, 0x60 -/* 802778E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf.s b/asm/JSystem/JParticle/JPABaseShape/loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf.s deleted file mode 100644 index 77f357b42..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf.s +++ /dev/null @@ -1,113 +0,0 @@ -lbl_80277CC8: -/* 80277CC8 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80277CCC 7C 08 02 A6 */ mflr r0 -/* 80277CD0 90 01 00 64 */ stw r0, 0x64(r1) -/* 80277CD4 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 80277CD8 7C 66 1B 78 */ mr r6, r3 -/* 80277CDC 7C 9F 23 78 */ mr r31, r4 -/* 80277CE0 80 63 00 04 */ lwz r3, 4(r3) -/* 80277CE4 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 80277CE8 80 66 00 00 */ lwz r3, 0(r6) -/* 80277CEC 80 03 01 00 */ lwz r0, 0x100(r3) -/* 80277CF0 C8 82 B8 C8 */ lfd f4, lit_2744(r2) -/* 80277CF4 90 01 00 3C */ stw r0, 0x3c(r1) -/* 80277CF8 3C 80 43 30 */ lis r4, 0x4330 -/* 80277CFC 90 81 00 38 */ stw r4, 0x38(r1) -/* 80277D00 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 80277D04 EC A0 20 28 */ fsubs f5, f0, f4 -/* 80277D08 C0 62 B8 B8 */ lfs f3, lit_2740(r2) -/* 80277D0C C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80277D10 80 65 00 00 */ lwz r3, 0(r5) -/* 80277D14 80 63 00 08 */ lwz r3, 8(r3) -/* 80277D18 54 60 3F FE */ rlwinm r0, r3, 7, 0x1f, 0x1f -/* 80277D1C 90 01 00 44 */ stw r0, 0x44(r1) -/* 80277D20 90 81 00 40 */ stw r4, 0x40(r1) -/* 80277D24 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 80277D28 EC 21 20 28 */ fsubs f1, f1, f4 -/* 80277D2C EC 20 08 2A */ fadds f1, f0, f1 -/* 80277D30 EC 23 00 72 */ fmuls f1, f3, f1 -/* 80277D34 54 60 37 FE */ rlwinm r0, r3, 6, 0x1f, 0x1f -/* 80277D38 90 01 00 4C */ stw r0, 0x4c(r1) -/* 80277D3C 90 81 00 48 */ stw r4, 0x48(r1) -/* 80277D40 C8 41 00 48 */ lfd f2, 0x48(r1) -/* 80277D44 EC 42 20 28 */ fsubs f2, f2, f4 -/* 80277D48 EC 40 10 2A */ fadds f2, f0, f2 -/* 80277D4C EC 43 00 B2 */ fmuls f2, f3, f2 -/* 80277D50 80 65 00 04 */ lwz r3, 4(r5) -/* 80277D54 C0 63 00 14 */ lfs f3, 0x14(r3) -/* 80277D58 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277D5C C0 63 00 00 */ lfs f3, 0(r3) -/* 80277D60 ED 24 18 2A */ fadds f9, f4, f3 -/* 80277D64 C0 63 00 18 */ lfs f3, 0x18(r3) -/* 80277D68 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277D6C C0 63 00 04 */ lfs f3, 4(r3) -/* 80277D70 ED 04 18 2A */ fadds f8, f4, f3 -/* 80277D74 C0 63 00 1C */ lfs f3, 0x1c(r3) -/* 80277D78 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277D7C C0 63 00 08 */ lfs f3, 8(r3) -/* 80277D80 ED 44 18 2A */ fadds f10, f4, f3 -/* 80277D84 C0 63 00 20 */ lfs f3, 0x20(r3) -/* 80277D88 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277D8C C0 63 00 0C */ lfs f3, 0xc(r3) -/* 80277D90 ED 64 18 2A */ fadds f11, f4, f3 -/* 80277D94 C0 63 00 24 */ lfs f3, 0x24(r3) -/* 80277D98 EC 85 00 F2 */ fmuls f4, f5, f3 -/* 80277D9C C0 63 00 10 */ lfs f3, 0x10(r3) -/* 80277DA0 EC 64 18 2A */ fadds f3, f4, f3 -/* 80277DA4 FC 60 18 1E */ fctiwz f3, f3 -/* 80277DA8 D8 61 00 50 */ stfd f3, 0x50(r1) -/* 80277DAC 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80277DB0 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 80277DB4 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80277DB8 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80277DBC 7C C3 04 2E */ lfsx f6, r3, r0 -/* 80277DC0 7C 63 02 14 */ add r3, r3, r0 -/* 80277DC4 C0 E3 00 04 */ lfs f7, 4(r3) -/* 80277DC8 EC 6A 01 F2 */ fmuls f3, f10, f7 -/* 80277DCC D0 61 00 08 */ stfs f3, 8(r1) -/* 80277DD0 FC 60 50 50 */ fneg f3, f10 -/* 80277DD4 EC 63 01 B2 */ fmuls f3, f3, f6 -/* 80277DD8 D0 61 00 0C */ stfs f3, 0xc(r1) -/* 80277DDC ED 02 40 2A */ fadds f8, f2, f8 -/* 80277DE0 EC 86 02 32 */ fmuls f4, f6, f8 -/* 80277DE4 ED 21 48 2A */ fadds f9, f1, f9 -/* 80277DE8 EC 67 02 72 */ fmuls f3, f7, f9 -/* 80277DEC EC 64 18 28 */ fsubs f3, f4, f3 -/* 80277DF0 EC 6A 00 F2 */ fmuls f3, f10, f3 -/* 80277DF4 EC 21 18 2A */ fadds f1, f1, f3 -/* 80277DF8 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 80277DFC C0 A2 B8 C0 */ lfs f5, lit_2742(r2) -/* 80277E00 D0 A1 00 14 */ stfs f5, 0x14(r1) -/* 80277E04 EC 2B 01 B2 */ fmuls f1, f11, f6 -/* 80277E08 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80277E0C EC 2B 01 F2 */ fmuls f1, f11, f7 -/* 80277E10 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80277E14 FC 80 58 50 */ fneg f4, f11 -/* 80277E18 EC 66 02 72 */ fmuls f3, f6, f9 -/* 80277E1C EC 27 02 32 */ fmuls f1, f7, f8 -/* 80277E20 EC 23 08 2A */ fadds f1, f3, f1 -/* 80277E24 EC 24 00 72 */ fmuls f1, f4, f1 -/* 80277E28 EC 22 08 2A */ fadds f1, f2, f1 -/* 80277E2C D0 21 00 20 */ stfs f1, 0x20(r1) -/* 80277E30 D0 A1 00 24 */ stfs f5, 0x24(r1) -/* 80277E34 D0 A1 00 28 */ stfs f5, 0x28(r1) -/* 80277E38 D0 A1 00 2C */ stfs f5, 0x2c(r1) -/* 80277E3C D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80277E40 D0 A1 00 34 */ stfs f5, 0x34(r1) -/* 80277E44 38 61 00 08 */ addi r3, r1, 8 -/* 80277E48 38 86 01 B4 */ addi r4, r6, 0x1b4 -/* 80277E4C 7C 65 1B 78 */ mr r5, r3 -/* 80277E50 48 0C E6 95 */ bl PSMTXConcat -/* 80277E54 38 61 00 08 */ addi r3, r1, 8 -/* 80277E58 7F E4 FB 78 */ mr r4, r31 -/* 80277E5C 7C 65 1B 78 */ mr r5, r3 -/* 80277E60 48 0C E6 85 */ bl PSMTXConcat -/* 80277E64 38 61 00 08 */ addi r3, r1, 8 -/* 80277E68 38 80 00 1E */ li r4, 0x1e -/* 80277E6C 38 A0 00 00 */ li r5, 0 -/* 80277E70 48 0E 84 B1 */ bl GXLoadTexMtxImm -/* 80277E74 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 80277E78 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80277E7C 7C 08 03 A6 */ mtlr r0 -/* 80277E80 38 21 00 60 */ addi r1, r1, 0x60 -/* 80277E84 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap.s b/asm/JSystem/JParticle/JPABaseShape/makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap.s deleted file mode 100644 index 324ad1dbe..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap.s +++ /dev/null @@ -1,168 +0,0 @@ -lbl_8027A454: -/* 8027A454 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8027A458 7C 08 02 A6 */ mflr r0 -/* 8027A45C 90 01 00 44 */ stw r0, 0x44(r1) -/* 8027A460 39 61 00 40 */ addi r11, r1, 0x40 -/* 8027A464 48 0E 7D 75 */ bl _savegpr_28 -/* 8027A468 7C 7D 1B 78 */ mr r29, r3 -/* 8027A46C 7C 9E 23 78 */ mr r30, r4 -/* 8027A470 7C BC 2B 78 */ mr r28, r5 -/* 8027A474 7C C3 07 34 */ extsh r3, r6 -/* 8027A478 3B E3 00 01 */ addi r31, r3, 1 -/* 8027A47C 57 E3 10 3A */ slwi r3, r31, 2 -/* 8027A480 38 80 00 04 */ li r4, 4 -/* 8027A484 7C E5 3B 78 */ mr r5, r7 -/* 8027A488 48 05 3F ED */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 8027A48C C0 82 B8 C0 */ lfs f4, lit_2742(r2) -/* 8027A490 FC C0 20 90 */ fmr f6, f4 -/* 8027A494 FC A0 20 90 */ fmr f5, f4 -/* 8027A498 FC 60 20 90 */ fmr f3, f4 -/* 8027A49C 88 1E 00 02 */ lbz r0, 2(r30) -/* 8027A4A0 C8 42 B8 C8 */ lfd f2, lit_2744(r2) -/* 8027A4A4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8027A4A8 3C 80 43 30 */ lis r4, 0x4330 -/* 8027A4AC 90 81 00 08 */ stw r4, 8(r1) -/* 8027A4B0 C8 01 00 08 */ lfd f0, 8(r1) -/* 8027A4B4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8027A4B8 88 1E 00 03 */ lbz r0, 3(r30) -/* 8027A4BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8027A4C0 90 81 00 10 */ stw r4, 0x10(r1) -/* 8027A4C4 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 8027A4C8 EC E1 10 28 */ fsubs f7, f1, f2 -/* 8027A4CC 88 1E 00 04 */ lbz r0, 4(r30) -/* 8027A4D0 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8027A4D4 90 81 00 18 */ stw r4, 0x18(r1) -/* 8027A4D8 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 8027A4DC ED 01 10 28 */ fsubs f8, f1, f2 -/* 8027A4E0 88 1E 00 05 */ lbz r0, 5(r30) -/* 8027A4E4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8027A4E8 90 81 00 20 */ stw r4, 0x20(r1) -/* 8027A4EC C8 21 00 20 */ lfd f1, 0x20(r1) -/* 8027A4F0 ED 21 10 28 */ fsubs f9, f1, f2 -/* 8027A4F4 38 80 00 00 */ li r4, 0 -/* 8027A4F8 38 C0 00 00 */ li r6, 0 -/* 8027A4FC 38 A0 00 00 */ li r5, 0 -/* 8027A500 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 8027A504 48 00 01 B0 */ b lbl_8027A6B4 -lbl_8027A508: -/* 8027A508 7C AA 07 34 */ extsh r10, r5 -/* 8027A50C 7D 7E 32 14 */ add r11, r30, r6 -/* 8027A510 A8 EB 00 00 */ lha r7, 0(r11) -/* 8027A514 7C 0A 38 00 */ cmpw r10, r7 -/* 8027A518 40 82 01 40 */ bne lbl_8027A658 -/* 8027A51C 89 2B 00 02 */ lbz r9, 2(r11) -/* 8027A520 55 47 10 3A */ slwi r7, r10, 2 -/* 8027A524 7D 83 3A 14 */ add r12, r3, r7 -/* 8027A528 99 2C 00 00 */ stb r9, 0(r12) -/* 8027A52C 89 4B 00 03 */ lbz r10, 3(r11) -/* 8027A530 99 4C 00 01 */ stb r10, 1(r12) -/* 8027A534 89 0B 00 04 */ lbz r8, 4(r11) -/* 8027A538 99 0C 00 02 */ stb r8, 2(r12) -/* 8027A53C 38 EB 00 05 */ addi r7, r11, 5 -/* 8027A540 88 E7 00 00 */ lbz r7, 0(r7) -/* 8027A544 98 EC 00 03 */ stb r7, 3(r12) -/* 8027A548 C8 82 B8 C8 */ lfd f4, lit_2744(r2) -/* 8027A54C 91 21 00 24 */ stw r9, 0x24(r1) -/* 8027A550 3D 20 43 30 */ lis r9, 0x4330 -/* 8027A554 91 21 00 20 */ stw r9, 0x20(r1) -/* 8027A558 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 8027A55C EC 00 20 28 */ fsubs f0, f0, f4 -/* 8027A560 91 41 00 1C */ stw r10, 0x1c(r1) -/* 8027A564 91 21 00 18 */ stw r9, 0x18(r1) -/* 8027A568 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 8027A56C EC E1 20 28 */ fsubs f7, f1, f4 -/* 8027A570 91 01 00 14 */ stw r8, 0x14(r1) -/* 8027A574 91 21 00 10 */ stw r9, 0x10(r1) -/* 8027A578 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 8027A57C ED 01 20 28 */ fsubs f8, f1, f4 -/* 8027A580 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8027A584 91 21 00 08 */ stw r9, 8(r1) -/* 8027A588 C8 21 00 08 */ lfd f1, 8(r1) -/* 8027A58C ED 21 20 28 */ fsubs f9, f1, f4 -/* 8027A590 38 84 00 01 */ addi r4, r4, 1 -/* 8027A594 7C 04 00 00 */ cmpw r4, r0 -/* 8027A598 38 C6 00 06 */ addi r6, r6, 6 -/* 8027A59C 40 80 00 A8 */ bge lbl_8027A644 -/* 8027A5A0 C0 62 B8 BC */ lfs f3, lit_2741(r2) -/* 8027A5A4 7D 5E 32 14 */ add r10, r30, r6 -/* 8027A5A8 A9 0A FF FA */ lha r8, -6(r10) -/* 8027A5AC A8 EA 00 00 */ lha r7, 0(r10) -/* 8027A5B0 7C E8 38 50 */ subf r7, r8, r7 -/* 8027A5B4 C8 42 B8 B0 */ lfd f2, lit_2623(r2) -/* 8027A5B8 6C E7 80 00 */ xoris r7, r7, 0x8000 -/* 8027A5BC 90 E1 00 24 */ stw r7, 0x24(r1) -/* 8027A5C0 91 21 00 20 */ stw r9, 0x20(r1) -/* 8027A5C4 C8 21 00 20 */ lfd f1, 0x20(r1) -/* 8027A5C8 EC 21 10 28 */ fsubs f1, f1, f2 -/* 8027A5CC EC 43 08 24 */ fdivs f2, f3, f1 -/* 8027A5D0 88 EA 00 02 */ lbz r7, 2(r10) -/* 8027A5D4 90 E1 00 1C */ stw r7, 0x1c(r1) -/* 8027A5D8 91 21 00 18 */ stw r9, 0x18(r1) -/* 8027A5DC C8 21 00 18 */ lfd f1, 0x18(r1) -/* 8027A5E0 EC 21 20 28 */ fsubs f1, f1, f4 -/* 8027A5E4 EC 21 00 28 */ fsubs f1, f1, f0 -/* 8027A5E8 EC 62 00 72 */ fmuls f3, f2, f1 -/* 8027A5EC 88 EA 00 03 */ lbz r7, 3(r10) -/* 8027A5F0 90 E1 00 14 */ stw r7, 0x14(r1) -/* 8027A5F4 91 21 00 10 */ stw r9, 0x10(r1) -/* 8027A5F8 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 8027A5FC EC 21 20 28 */ fsubs f1, f1, f4 -/* 8027A600 EC 21 38 28 */ fsubs f1, f1, f7 -/* 8027A604 EC A2 00 72 */ fmuls f5, f2, f1 -/* 8027A608 88 EA 00 04 */ lbz r7, 4(r10) -/* 8027A60C 90 E1 00 0C */ stw r7, 0xc(r1) -/* 8027A610 91 21 00 08 */ stw r9, 8(r1) -/* 8027A614 C8 21 00 08 */ lfd f1, 8(r1) -/* 8027A618 EC 21 20 28 */ fsubs f1, f1, f4 -/* 8027A61C EC 21 40 28 */ fsubs f1, f1, f8 -/* 8027A620 EC C2 00 72 */ fmuls f6, f2, f1 -/* 8027A624 88 EA 00 05 */ lbz r7, 5(r10) -/* 8027A628 90 E1 00 2C */ stw r7, 0x2c(r1) -/* 8027A62C 91 21 00 28 */ stw r9, 0x28(r1) -/* 8027A630 C8 21 00 28 */ lfd f1, 0x28(r1) -/* 8027A634 EC 21 20 28 */ fsubs f1, f1, f4 -/* 8027A638 EC 21 48 28 */ fsubs f1, f1, f9 -/* 8027A63C EC 82 00 72 */ fmuls f4, f2, f1 -/* 8027A640 48 00 00 70 */ b lbl_8027A6B0 -lbl_8027A644: -/* 8027A644 C0 82 B8 C0 */ lfs f4, lit_2742(r2) -/* 8027A648 FC C0 20 90 */ fmr f6, f4 -/* 8027A64C FC A0 20 90 */ fmr f5, f4 -/* 8027A650 FC 60 20 90 */ fmr f3, f4 -/* 8027A654 48 00 00 5C */ b lbl_8027A6B0 -lbl_8027A658: -/* 8027A658 EC 00 18 2A */ fadds f0, f0, f3 -/* 8027A65C FC 20 00 1E */ fctiwz f1, f0 -/* 8027A660 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 8027A664 81 01 00 2C */ lwz r8, 0x2c(r1) -/* 8027A668 55 47 10 3A */ slwi r7, r10, 2 -/* 8027A66C 7D 23 3A 14 */ add r9, r3, r7 -/* 8027A670 99 09 00 00 */ stb r8, 0(r9) -/* 8027A674 EC E7 28 2A */ fadds f7, f7, f5 -/* 8027A678 FC 20 38 1E */ fctiwz f1, f7 -/* 8027A67C D8 21 00 20 */ stfd f1, 0x20(r1) -/* 8027A680 80 E1 00 24 */ lwz r7, 0x24(r1) -/* 8027A684 98 E9 00 01 */ stb r7, 1(r9) -/* 8027A688 ED 08 30 2A */ fadds f8, f8, f6 -/* 8027A68C FC 20 40 1E */ fctiwz f1, f8 -/* 8027A690 D8 21 00 18 */ stfd f1, 0x18(r1) -/* 8027A694 80 E1 00 1C */ lwz r7, 0x1c(r1) -/* 8027A698 98 E9 00 02 */ stb r7, 2(r9) -/* 8027A69C ED 29 20 2A */ fadds f9, f9, f4 -/* 8027A6A0 FC 20 48 1E */ fctiwz f1, f9 -/* 8027A6A4 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 8027A6A8 80 E1 00 14 */ lwz r7, 0x14(r1) -/* 8027A6AC 98 E9 00 03 */ stb r7, 3(r9) -lbl_8027A6B0: -/* 8027A6B0 38 A5 00 01 */ addi r5, r5, 1 -lbl_8027A6B4: -/* 8027A6B4 7C A7 07 34 */ extsh r7, r5 -/* 8027A6B8 7C 07 F8 00 */ cmpw r7, r31 -/* 8027A6BC 41 80 FE 4C */ blt lbl_8027A508 -/* 8027A6C0 90 7D 00 00 */ stw r3, 0(r29) -/* 8027A6C4 39 61 00 40 */ addi r11, r1, 0x40 -/* 8027A6C8 48 0E 7B 5D */ bl _restgpr_28 -/* 8027A6CC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8027A6D0 7C 08 03 A6 */ mtlr r0 -/* 8027A6D4 38 21 00 40 */ addi r1, r1, 0x40 -/* 8027A6D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/rotTypeXYZ__FffRA3_A4_f.s b/asm/JSystem/JParticle/JPABaseShape/rotTypeXYZ__FffRA3_A4_f.s deleted file mode 100644 index 541fbc8b0..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/rotTypeXYZ__FffRA3_A4_f.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80278494: -/* 80278494 C0 62 B8 D0 */ lfs f3, lit_3145(r2) -/* 80278498 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 8027849C EC 00 10 28 */ fsubs f0, f0, f2 -/* 802784A0 EC 63 00 32 */ fmuls f3, f3, f0 -/* 802784A4 C0 02 B8 D4 */ lfs f0, lit_3146(r2) -/* 802784A8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 802784AC EC 83 00 2A */ fadds f4, f3, f0 -/* 802784B0 EC 23 00 28 */ fsubs f1, f3, f0 -/* 802784B4 EC 63 10 2A */ fadds f3, f3, f2 -/* 802784B8 D0 63 00 00 */ stfs f3, 0(r3) -/* 802784BC D0 23 00 04 */ stfs f1, 4(r3) -/* 802784C0 D0 83 00 08 */ stfs f4, 8(r3) -/* 802784C4 C0 02 B8 C0 */ lfs f0, lit_2742(r2) -/* 802784C8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 802784CC D0 83 00 10 */ stfs f4, 0x10(r3) -/* 802784D0 D0 63 00 14 */ stfs f3, 0x14(r3) -/* 802784D4 D0 23 00 18 */ stfs f1, 0x18(r3) -/* 802784D8 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 802784DC D0 23 00 20 */ stfs f1, 0x20(r3) -/* 802784E0 D0 83 00 24 */ stfs f4, 0x24(r3) -/* 802784E4 D0 63 00 28 */ stfs f3, 0x28(r3) -/* 802784E8 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 802784EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/rotTypeX__FffRA3_A4_f.s b/asm/JSystem/JParticle/JPABaseShape/rotTypeX__FffRA3_A4_f.s deleted file mode 100644 index 80eb0187e..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/rotTypeX__FffRA3_A4_f.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80278414: -/* 80278414 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80278418 D0 03 00 00 */ stfs f0, 0(r3) -/* 8027841C C0 62 B8 C0 */ lfs f3, lit_2742(r2) -/* 80278420 D0 63 00 04 */ stfs f3, 4(r3) -/* 80278424 D0 63 00 08 */ stfs f3, 8(r3) -/* 80278428 D0 63 00 0C */ stfs f3, 0xc(r3) -/* 8027842C D0 63 00 10 */ stfs f3, 0x10(r3) -/* 80278430 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 80278434 FC 00 08 50 */ fneg f0, f1 -/* 80278438 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 8027843C D0 63 00 1C */ stfs f3, 0x1c(r3) -/* 80278440 D0 63 00 20 */ stfs f3, 0x20(r3) -/* 80278444 D0 23 00 24 */ stfs f1, 0x24(r3) -/* 80278448 D0 43 00 28 */ stfs f2, 0x28(r3) -/* 8027844C D0 63 00 2C */ stfs f3, 0x2c(r3) -/* 80278450 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/rotTypeY__FffRA3_A4_f.s b/asm/JSystem/JParticle/JPABaseShape/rotTypeY__FffRA3_A4_f.s deleted file mode 100644 index 2904d683b..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/rotTypeY__FffRA3_A4_f.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802783D4: -/* 802783D4 D0 43 00 00 */ stfs f2, 0(r3) -/* 802783D8 C0 62 B8 C0 */ lfs f3, lit_2742(r2) -/* 802783DC D0 63 00 04 */ stfs f3, 4(r3) -/* 802783E0 FC 00 08 50 */ fneg f0, f1 -/* 802783E4 D0 03 00 08 */ stfs f0, 8(r3) -/* 802783E8 D0 63 00 0C */ stfs f3, 0xc(r3) -/* 802783EC D0 63 00 10 */ stfs f3, 0x10(r3) -/* 802783F0 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 802783F4 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802783F8 D0 63 00 18 */ stfs f3, 0x18(r3) -/* 802783FC D0 63 00 1C */ stfs f3, 0x1c(r3) -/* 80278400 D0 23 00 20 */ stfs f1, 0x20(r3) -/* 80278404 D0 63 00 24 */ stfs f3, 0x24(r3) -/* 80278408 D0 43 00 28 */ stfs f2, 0x28(r3) -/* 8027840C D0 63 00 2C */ stfs f3, 0x2c(r3) -/* 80278410 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPABaseShape/rotTypeZ__FffRA3_A4_f.s b/asm/JSystem/JParticle/JPABaseShape/rotTypeZ__FffRA3_A4_f.s deleted file mode 100644 index 0e77925a5..000000000 --- a/asm/JSystem/JParticle/JPABaseShape/rotTypeZ__FffRA3_A4_f.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80278454: -/* 80278454 D0 43 00 00 */ stfs f2, 0(r3) -/* 80278458 FC 00 08 50 */ fneg f0, f1 -/* 8027845C D0 03 00 04 */ stfs f0, 4(r3) -/* 80278460 C0 62 B8 C0 */ lfs f3, lit_2742(r2) -/* 80278464 D0 63 00 08 */ stfs f3, 8(r3) -/* 80278468 D0 63 00 0C */ stfs f3, 0xc(r3) -/* 8027846C D0 23 00 10 */ stfs f1, 0x10(r3) -/* 80278470 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 80278474 D0 63 00 18 */ stfs f3, 0x18(r3) -/* 80278478 D0 63 00 1C */ stfs f3, 0x1c(r3) -/* 8027847C D0 63 00 20 */ stfs f3, 0x20(r3) -/* 80278480 D0 63 00 24 */ stfs f3, 0x24(r3) -/* 80278484 C0 02 B8 BC */ lfs f0, lit_2741(r2) -/* 80278488 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 8027848C D0 63 00 2C */ stfs f3, 0x2c(r3) -/* 80278490 4E 80 00 20 */ blr diff --git a/include/JSystem/JParticle/JPABaseShape.h b/include/JSystem/JParticle/JPABaseShape.h index 12b8dfd42..99b81f417 100644 --- a/include/JSystem/JParticle/JPABaseShape.h +++ b/include/JSystem/JParticle/JPABaseShape.h @@ -125,4 +125,9 @@ public: /* 0x10 */ GXColor* mpEnvClrAnmTbl; }; +struct JPAClrAnmKeyData { + /* 0x0 */ s16 index; + /* 0x2 */ GXColor color; +}; + #endif /* JPABASESHAPE_H */ diff --git a/libs/JSystem/JParticle/JPABaseShape.cpp b/libs/JSystem/JParticle/JPABaseShape.cpp index dd4fbfc3c..33bf4b4ea 100644 --- a/libs/JSystem/JParticle/JPABaseShape.cpp +++ b/libs/JSystem/JParticle/JPABaseShape.cpp @@ -4,157 +4,34 @@ // #include "JSystem/JParticle/JPABaseShape.h" +#include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAEmitter.h" #include "JSystem/JParticle/JPAResourceManager.h" #include "JSystem/JMath/JMATrigonometric.h" #include "dolphin/mtx.h" -#include "dol2asm.h" #include "dolphin/gx.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct JPAClrAnmKeyData {}; - -struct JKRHeap { - /* 802CE474 */ void alloc(u32, int, JKRHeap*); -}; - -// -// Forward References: -// - -extern "C" void JPASetPointSize__FP18JPAEmitterWorkData(); -extern "C" void JPASetLineWidth__FP18JPAEmitterWorkData(); -extern "C" void JPASetPointSize__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPASetLineWidth__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPARegistPrm__FP18JPAEmitterWorkData(); -extern "C" void JPARegistEnv__FP18JPAEmitterWorkData(); -extern "C" void JPARegistPrmEnv__FP18JPAEmitterWorkData(); -extern "C" void JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcClrIdxNormal__FP18JPAEmitterWorkData(); -extern "C" void JPACalcClrIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcClrIdxRepeat__FP18JPAEmitterWorkData(); -extern "C" void JPACalcClrIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcClrIdxReverse__FP18JPAEmitterWorkData(); -extern "C" void JPACalcClrIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcClrIdxMerge__FP18JPAEmitterWorkData(); -extern "C" void JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcClrIdxRandom__FP18JPAEmitterWorkData(); -extern "C" void JPACalcClrIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcPrm__FP18JPAEmitterWorkData(); -extern "C" void JPACalcPrm__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcEnv__FP18JPAEmitterWorkData(); -extern "C" void JPACalcEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcColorCopy__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPAGenTexCrdMtxIdt__FP18JPAEmitterWorkData(); -extern "C" void JPAGenTexCrdMtxAnm__FP18JPAEmitterWorkData(); -extern "C" void JPAGenTexCrdMtxPrj__FP18JPAEmitterWorkData(); -extern "C" void JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData(); -extern "C" void JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPALoadTex__FP18JPAEmitterWorkData(); -extern "C" void JPALoadTexAnm__FP18JPAEmitterWorkData(); -extern "C" void JPALoadTexAnm__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcTexIdxNormal__FP18JPAEmitterWorkData(); -extern "C" void JPACalcTexIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcTexIdxRepeat__FP18JPAEmitterWorkData(); -extern "C" void JPACalcTexIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcTexIdxReverse__FP18JPAEmitterWorkData(); -extern "C" void JPACalcTexIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcTexIdxMerge__FP18JPAEmitterWorkData(); -extern "C" void JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPACalcTexIdxRandom__FP18JPAEmitterWorkData(); -extern "C" void JPACalcTexIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPALoadPosMtxCam__FP18JPAEmitterWorkData(); -extern "C" static void loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf(); -extern "C" void JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void func_802782B4(); -extern "C" void func_802782D0(); -extern "C" void func_802782EC(); -extern "C" void func_80278320(); -extern "C" void func_8027833C(); -extern "C" static void rotTypeY__FffRA3_A4_f(); -extern "C" static void rotTypeX__FffRA3_A4_f(); -extern "C" static void rotTypeZ__FffRA3_A4_f(); -extern "C" static void rotTypeXYZ__FffRA3_A4_f(); -extern "C" static void basePlaneTypeXY__FPA4_fff(); -extern "C" static void basePlaneTypeXZ__FPA4_fff(); -extern "C" static void basePlaneTypeX__FPA4_fff(); -extern "C" void JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawRotation__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" void func_80279364(); -extern "C" void func_8027936C(); -extern "C" void JPADrawStripe__FP18JPAEmitterWorkData(); -extern "C" void JPADrawStripeX__FP18JPAEmitterWorkData(); -extern "C" void JPADrawEmitterCallBackB__FP18JPAEmitterWorkData(); -extern "C" void JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle(); -extern "C" static void makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap(); -extern "C" void __ct__12JPABaseShapeFPCUcP7JKRHeap(); -extern "C" void setGX__12JPABaseShapeCFP18JPAEmitterWorkData(); - -// -// External References: -// - -extern "C" void func_8027EEB0(); -extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); -extern "C" void load__10JUTTextureF11_GXTexMapID(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 sincosTable___5JMath[65536]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 804552A8-804552B0 0038A8 0004+04 7/7 0/0 0/0 .sdata2 @2262 */ -SECTION_SDATA2 static f32 lit_2262[1 + 1 /* padding */] = { - 25.0f, - /* padding */ - 0.0f, -}; /* 80276A90-80276ACC 2713D0 003C+00 0/0 1/1 0/0 .text JPASetPointSize__FP18JPAEmitterWorkData */ void JPASetPointSize(JPAEmitterWorkData* work) { - GXSetPointSize((u8)(lit_2262[0] * work->mGlobalPtclScl.x), GX_TO_ONE); + GXSetPointSize((u8)(25.0f * work->mGlobalPtclScl.x), GX_TO_ONE); } /* 80276ACC-80276B08 27140C 003C+00 0/0 1/1 0/0 .text JPASetLineWidth__FP18JPAEmitterWorkData */ void JPASetLineWidth(JPAEmitterWorkData* work) { - GXSetLineWidth((u8)(lit_2262[0] * work->mGlobalPtclScl.x), GX_TO_ONE); + GXSetLineWidth((u8)(25.0f * work->mGlobalPtclScl.x), GX_TO_ONE); } /* 80276B08-80276B4C 271448 0044+00 0/0 1/1 0/0 .text * JPASetPointSize__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPASetPointSize(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { - GXSetPointSize((u8)(lit_2262[0] * work->mGlobalPtclScl.x * ptcl->mParticleScaleX), GX_TO_ONE); + GXSetPointSize((u8)(ptcl->mParticleScaleX * (25.0f * work->mGlobalPtclScl.x)), GX_TO_ONE); } /* 80276B4C-80276B90 27148C 0044+00 0/0 1/1 0/0 .text * JPASetLineWidth__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPASetLineWidth(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { - GXSetLineWidth((u8)(lit_2262[0] * work->mGlobalPtclScl.x * ptcl->mParticleScaleX), GX_TO_ONE); + GXSetLineWidth((u8)(ptcl->mParticleScaleX * (25.0f * work->mGlobalPtclScl.x)), GX_TO_ONE); } /* 80276B90-80276C2C 2714D0 009C+00 0/0 1/1 0/0 .text JPARegistPrm__FP18JPAEmitterWorkData */ @@ -340,30 +217,14 @@ void JPACalcClrIdxMerge(JPAEmitterWorkData* work) { work->mClrKeyFrame = 0; } -/* ############################################################################################## */ -/* 804552B0-804552B8 0038B0 0008+00 4/4 0/0 0/0 .sdata2 @2623 */ -SECTION_SDATA2 static f64 lit_2623 = 4503601774854144.0 /* cast s32 to float */; - /* 80277314-80277384 271C54 0070+00 0/0 1/1 0/0 .text * JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPACalcClrIdxMerge(JPAEmitterWorkData* work, JPABaseParticle* param_1) { JPABaseShape* shape = work->mpRes->getBsp(); s32 maxFrm = shape->getClrAnmMaxFrm() + 1; s32 tick = (s32)(param_1->mTime * maxFrm) + shape->getClrLoopOfst(param_1->mAnmRandom); work->mClrKeyFrame = tick % maxFrm; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcClrIdxMerge(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80277384-80277390 271CC4 000C+00 0/0 1/1 0/0 .text JPACalcClrIdxRandom__FP18JPAEmitterWorkData */ @@ -430,27 +291,8 @@ void JPAGenTexCrdMtxPrj(JPAEmitterWorkData* param_0) { GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY); } -/* ############################################################################################## */ -/* 804552B8-804552BC 0038B8 0004+00 9/9 0/0 0/0 .sdata2 @2740 */ -SECTION_SDATA2 static f32 lit_2740 = 0.5f; - -/* 804552BC-804552C0 0038BC 0004+00 14/14 0/0 0/0 .sdata2 @2741 */ -SECTION_SDATA2 static f32 lit_2741 = 1.0f; - -/* 804552C0-804552C8 0038C0 0004+04 19/19 0/0 0/0 .sdata2 @2742 */ -SECTION_SDATA2 static f32 lit_2742[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 804552C8-804552D0 0038C8 0008+00 6/6 0/0 0/0 .sdata2 @2744 */ -SECTION_SDATA2 static f64 lit_2744 = 4503599627370496.0 /* cast u32 to float */; - /* 802775AC-80277758 271EEC 01AC+00 0/0 1/1 0/0 .text * JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData */ -// Matches with literals -#ifdef NONMATCHING void JPAGenCalcTexCrdMtxAnm(JPAEmitterWorkData* work) { JPABaseShape* shape = work->mpRes->getBsp(); f32 dVar16 = work->mpEmtr->mTick; @@ -481,21 +323,9 @@ void JPAGenCalcTexCrdMtxAnm(JPAEmitterWorkData* work) { GXLoadTexMtxImm(local_108, 0x1e, GX_MTX2x4); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x1e, false, 0x7d); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPAGenCalcTexCrdMtxAnm(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData.s" -} -#pragma pop -#endif /* 80277758-802778EC 272098 0194+00 0/0 1/1 0/0 .text * JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPALoadCalcTexCrdMtxAnm(JPAEmitterWorkData* work, JPABaseParticle* param_1) { JPABaseShape* shape = work->mpRes->getBsp(); f32 dVar16 = param_1->mAge; @@ -525,16 +355,6 @@ void JPALoadCalcTexCrdMtxAnm(JPAEmitterWorkData* work, JPABaseParticle* param_1) local_108[2][3] = 0.0f; GXLoadTexMtxImm(local_108, 0x1e, GX_MTX2x4); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPALoadCalcTexCrdMtxAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 802778EC-80277940 27222C 0054+00 0/0 1/1 0/0 .text JPALoadTex__FP18JPAEmitterWorkData */ @@ -557,7 +377,8 @@ void JPALoadTexAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { */ void JPACalcTexIdxNormal(JPAEmitterWorkData* work) { JPABaseShape* shape = work->mpRes->getBsp(); - u8 tick = shape->getTexAnmKeyNum() - 1 < work->mpEmtr->mTick ? shape->getTexAnmKeyNum() - 1 : work->mpEmtr->mTick; + u8 tick = shape->getTexAnmKeyNum() - 1 < work->mpEmtr->mTick + ? shape->getTexAnmKeyNum() - 1 : work->mpEmtr->mTick; work->mpEmtr->mTexAnmIdx = shape->getTexIdx(tick); } @@ -565,7 +386,8 @@ void JPACalcTexIdxNormal(JPAEmitterWorkData* work) { * JPACalcTexIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcTexIdxNormal(JPAEmitterWorkData* work, JPABaseParticle* param_1) { JPABaseShape* shape = work->mpRes->getBsp(); - u8 tick = shape->getTexAnmKeyNum() - 1 < param_1->mAge ? shape->getTexAnmKeyNum() - 1 : param_1->mAge; + u8 tick = shape->getTexAnmKeyNum() - 1 < param_1->mAge + ? shape->getTexAnmKeyNum() - 1 : param_1->mAge; param_1->mTexAnmIdx = shape->getTexIdx(tick); } @@ -580,7 +402,9 @@ void JPACalcTexIdxRepeat(JPAEmitterWorkData* work) { * JPACalcTexIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcTexIdxRepeat(JPAEmitterWorkData* work, JPABaseParticle* param_1) { JPABaseShape* shape = work->mpRes->getBsp(); - param_1->mTexAnmIdx = shape->getTexIdx(((int)shape->getTexLoopOfst(param_1->mAnmRandom) + param_1->mAge) % shape->getTexAnmKeyNum()); + param_1->mTexAnmIdx = shape->getTexIdx( + ((int)shape->getTexLoopOfst(param_1->mAnmRandom) + param_1->mAge) + % shape->getTexAnmKeyNum()); } /* 80277ACC-80277B1C 27240C 0050+00 0/0 1/1 0/0 .text JPACalcTexIdxReverse__FP18JPAEmitterWorkData @@ -613,24 +437,12 @@ void JPACalcTexIdxMerge(JPAEmitterWorkData* work) { /* 80277B94-80277C0C 2724D4 0078+00 0/0 1/1 0/0 .text * JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPACalcTexIdxMerge(JPAEmitterWorkData* work, JPABaseParticle* param_1) { JPABaseShape* shape = work->mpRes->getBsp(); s32 maxFrm = shape->getTexAnmKeyNum(); s32 tick = (s32)(maxFrm * param_1->mTime) + shape->getTexLoopOfst(param_1->mAnmRandom); param_1->mTexAnmIdx = shape->getTexIdx(tick % maxFrm); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPACalcTexIdxMerge(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80277C0C-80277C28 27254C 001C+00 0/0 1/1 0/0 .text JPACalcTexIdxRandom__FP18JPAEmitterWorkData */ @@ -642,7 +454,8 @@ void JPACalcTexIdxRandom(JPAEmitterWorkData* work) { * JPACalcTexIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcTexIdxRandom(JPAEmitterWorkData* work, JPABaseParticle* param_1) { JPABaseShape* shape = work->mpRes->getBsp(); - param_1->mTexAnmIdx = shape->getTexIdx(((int)shape->getTexLoopOfst(param_1->mAnmRandom)) % shape->getTexAnmKeyNum()); + param_1->mTexAnmIdx = shape->getTexIdx(((int)shape->getTexLoopOfst(param_1->mAnmRandom)) + % shape->getTexAnmKeyNum()); } /* 80277C64-80277C8C 2725A4 0028+00 0/0 1/1 0/0 .text JPALoadPosMtxCam__FP18JPAEmitterWorkData */ @@ -663,9 +476,7 @@ void loadPrj(JPAEmitterWorkData const* work, const Mtx srt) { } /* 80277CC8-80277E88 272608 01C0+00 1/0 0/0 0/0 .text loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf */ -// Mathces with literals -#ifdef NONMATCHING -static void loadPrjAnm(JPAEmitterWorkData const* work, f32 const (*param_1)[4]) { +static void loadPrjAnm(JPAEmitterWorkData const* work, const Mtx srt) { JPABaseShape* shape = work->mpRes->getBsp(); f32 dVar16 = work->mpEmtr->getAge(); f32 dVar15 = 0.5f * (1.0f + shape->getTilingS()); @@ -693,29 +504,18 @@ static void loadPrjAnm(JPAEmitterWorkData const* work, f32 const (*param_1)[4]) local_108[2][2] = 1.0f; local_108[2][3] = 0.0f; MTXConcat(local_108, work->mPrjMtx, local_108); - MTXConcat(local_108, param_1, local_108); + MTXConcat(local_108, srt, local_108); GXLoadTexMtxImm(local_108, 0x1e, GX_MTX3x4); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void loadPrjAnm(JPAEmitterWorkData const* param_0, f32 const (*param_1)[4]) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf.s" -} -#pragma pop -#endif -/* ############################################################################################## */ /* 803C42E0-803C4300 021400 0020+00 10/9 0/0 0/0 .data jpa_dl */ -SECTION_DATA static u8 jpa_dl[32] = { +static u8 jpa_dl[32] = { 0x80, 0x00, 0x04, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803C4300-803C4320 021420 0020+00 1/0 0/0 0/0 .data jpa_dl_x */ -SECTION_DATA static u8 jpa_dl_x[32] = { +static u8 jpa_dl_x[32] = { 0x80, 0x00, 0x08, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x48, 0x00, 0x49, 0x01, 0x4A, 0x02, 0x4B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; @@ -731,8 +531,6 @@ static projectionFunc p_prj[3] = { /* 80277E88-80277F70 2727C8 00E8+00 0/0 1/1 0/0 .text * JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_48; @@ -755,21 +553,9 @@ void JPADrawBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { GXCallDisplayList(jpa_dl, sizeof(jpa_dl)); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80277F70-80278088 2728B0 0118+00 0/0 1/1 0/0 .text * JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawRotBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_48; @@ -797,21 +583,9 @@ void JPADrawRotBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { GXCallDisplayList(jpa_dl, sizeof(jpa_dl)); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawRotBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80278088-80278184 2729C8 00FC+00 0/0 1/1 0/0 .text * JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawYBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_48; @@ -835,21 +609,9 @@ void JPADrawYBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { GXCallDisplayList(jpa_dl, sizeof(jpa_dl)); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawYBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80278184-802782B4 272AC4 0130+00 0/0 1/1 0/0 .text * JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Mathces with literals -#ifdef NONMATCHING void JPADrawRotYBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_48; @@ -880,16 +642,6 @@ void JPADrawRotYBillboard(JPAEmitterWorkData* work, JPABaseParticle* param_1) { GXCallDisplayList(jpa_dl, sizeof(jpa_dl)); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawRotYBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 802782B4-802782D0 272BF4 001C+00 1/0 0/0 0/0 .text * dirTypeVel__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 */ @@ -939,9 +691,7 @@ void dirTypePrevPtcl(JPAEmitterWorkData const* work, JPABaseParticle const* para } /* 802783D4-80278414 272D14 0040+00 1/0 0/0 0/0 .text rotTypeY__FffRA3_A4_f */ -// Matches with literals -#ifdef NONMATCHING -static void rotTypeY(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { +static void rotTypeY(f32 param_0, f32 param_1, Mtx& param_2) { param_2[0][0] = param_1; param_2[0][1] = 0.0f; param_2[0][2] = -param_0; @@ -955,21 +705,9 @@ static void rotTypeY(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { param_2[2][2] = param_1; param_2[2][3] = 0.0f; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rotTypeY(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/rotTypeY__FffRA3_A4_f.s" -} -#pragma pop -#endif /* 80278414-80278454 272D54 0040+00 1/0 0/0 0/0 .text rotTypeX__FffRA3_A4_f */ -// Matches with literals -#ifdef NONMATCHING -static void rotTypeX(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { +static void rotTypeX(f32 param_0, f32 param_1, Mtx& param_2) { param_2[0][0] = 1.0f; param_2[0][1] = 0.0f; param_2[0][2] = 0.0f; @@ -983,21 +721,9 @@ static void rotTypeX(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { param_2[2][2] = param_1; param_2[2][3] = 0.0f; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rotTypeX(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/rotTypeX__FffRA3_A4_f.s" -} -#pragma pop -#endif /* 80278454-80278494 272D94 0040+00 1/0 0/0 0/0 .text rotTypeZ__FffRA3_A4_f */ -// Matches with literals -#ifdef NONMATCHING -static void rotTypeZ(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { +static void rotTypeZ(f32 param_0, f32 param_1, Mtx& param_2) { param_2[0][0] = param_1; param_2[0][1] = -param_0; param_2[0][2] = 0.0f; @@ -1011,28 +737,9 @@ static void rotTypeZ(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { param_2[2][2] = 1.0f; param_2[2][3] = 0.0f; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rotTypeZ(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/rotTypeZ__FffRA3_A4_f.s" -} -#pragma pop -#endif - -/* ############################################################################################## */ -/* 804552D0-804552D4 0038D0 0004+00 1/1 0/0 0/0 .sdata2 @3145 */ -SECTION_SDATA2 static f32 lit_3145 = 0.33333298563957214f; - -/* 804552D4-804552D8 0038D4 0004+00 1/1 0/0 0/0 .sdata2 @3146 */ -SECTION_SDATA2 static f32 lit_3146 = 0.5773500204086304f; /* 80278494-802784F0 272DD4 005C+00 1/0 0/0 0/0 .text rotTypeXYZ__FffRA3_A4_f */ -// Matches with literals -#ifdef NONMATCHING -static void rotTypeXYZ(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { +static void rotTypeXYZ(f32 param_0, f32 param_1, Mtx& param_2) { f32 f3 = 0.33333298563957214f * (1.0f - param_1); f32 fVar1; f32 f4; @@ -1052,19 +759,9 @@ static void rotTypeXYZ(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { param_2[2][2] = f3; param_2[2][3] = 0.0f; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rotTypeXYZ(f32 param_0, f32 param_1, f32 (¶m_2)[3][4]) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/rotTypeXYZ__FffRA3_A4_f.s" -} -#pragma pop -#endif /* 802784F0-8027853C 272E30 004C+00 1/0 0/0 0/0 .text basePlaneTypeXY__FPA4_fff */ -static void basePlaneTypeXY(f32 (*param_0)[4], f32 param_1, f32 param_2) { +static void basePlaneTypeXY(MtxP param_0, f32 param_1, f32 param_2) { param_0[0][0] *= param_1; param_0[1][0] *= param_1; param_0[2][0] *= param_1; @@ -1074,7 +771,7 @@ static void basePlaneTypeXY(f32 (*param_0)[4], f32 param_1, f32 param_2) { } /* 8027853C-80278588 272E7C 004C+00 1/0 0/0 0/0 .text basePlaneTypeXZ__FPA4_fff */ -static void basePlaneTypeXZ(f32 (*param_0)[4], f32 param_1, f32 param_2) { +static void basePlaneTypeXZ(MtxP param_0, f32 param_1, f32 param_2) { param_0[0][0] *= param_1; param_0[1][0] *= param_1; param_0[2][0] *= param_1; @@ -1084,7 +781,7 @@ static void basePlaneTypeXZ(f32 (*param_0)[4], f32 param_1, f32 param_2) { } /* 80278588-802785F8 272EC8 0070+00 1/0 0/0 0/0 .text basePlaneTypeX__FPA4_fff */ -static void basePlaneTypeX(f32 (*param_0)[4], f32 param_1, f32 param_2) { +static void basePlaneTypeX(MtxP param_0, f32 param_1, f32 param_2) { param_0[0][0] *= param_1; param_0[1][0] *= param_1; param_0[2][0] *= param_1; @@ -1096,16 +793,16 @@ static void basePlaneTypeX(f32 (*param_0)[4], f32 param_1, f32 param_2) { param_0[2][2] *= param_1; } -/* ############################################################################################## */ /* 803C432C-803C4340 -00001 0014+00 2/5 0/0 0/0 .data p_direction */ -typedef void (*dirTypeFunc)(JPAEmitterWorkData const*, JPABaseParticle const*, JGeometry::TVec3*); +typedef void (*dirTypeFunc)(JPAEmitterWorkData const*, JPABaseParticle const*, + JGeometry::TVec3*); static dirTypeFunc p_direction[5] = { dirTypeVel, dirTypePos, dirTypePosInv, dirTypeEmtrDir, dirTypePrevPtcl, }; /* 803C4340-803C4354 -00001 0014+00 0/2 0/0 0/0 .data p_rot */ -typedef void (*rotTypeFunc)(f32, f32, f32 (&)[3][4]); +typedef void (*rotTypeFunc)(f32, f32, Mtx&); #pragma push #pragma force_active on static rotTypeFunc p_rot[5] = { @@ -1116,7 +813,7 @@ static rotTypeFunc p_rot[5] = { /* 803C4354-803C4360 -00001 000C+00 0/3 0/0 0/0 .data p_plane */ -typedef void (*planeFunc)(f32 (*)[4], f32, f32); +typedef void (*planeFunc)(MtxP, f32, f32); static planeFunc p_plane[3] = { basePlaneTypeXY, @@ -1125,21 +822,13 @@ static planeFunc p_plane[3] = { }; /* 804507A0-804507A8 -00001 0008+00 3/3 0/0 0/0 .sdata p_dl */ -SECTION_SDATA static u8* p_dl[2] = { +static u8* p_dl[2] = { jpa_dl, jpa_dl_x, }; -/* 804552D8-804552DC 0038D8 0004+00 6/6 0/0 0/0 .sdata2 @3281 */ -SECTION_SDATA2 static f32 lit_3281 = 32.0f; - -/* 804552DC-804552E0 0038DC 0004+00 6/6 0/0 0/0 .sdata2 @3282 */ -SECTION_SDATA2 static f32 lit_3282 = 3.0f; - /* 802785F8-80278994 272F38 039C+00 0/0 1/1 0/0 .text * JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_6c; @@ -1176,21 +865,9 @@ void JPADrawDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80278994-80278DA8 2732D4 0414+00 0/0 1/1 0/0 .text * JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawRotDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { f32 sinRot = JMASSin(param_1->mRotateAngle); @@ -1232,21 +909,9 @@ void JPADrawRotDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawRotDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80278DA8-80278FC8 2736E8 0220+00 0/0 1/1 0/0 .text * JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawDBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_70; @@ -1281,16 +946,6 @@ void JPADrawDBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawDBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80278FC8-80279110 273908 0148+00 0/0 1/1 0/0 .text * JPADrawRotation__FP18JPAEmitterWorkDataP15JPABaseParticle */ @@ -1315,8 +970,6 @@ void JPADrawRotation(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { /* 80279110-802791B0 273A50 00A0+00 0/0 1/1 0/0 .text * JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle */ -#ifdef NONMATCHING -// literal only void JPADrawPoint(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { if (!!(ptcl->mStatus & JPAPtclStts_Invisible)) return; @@ -1330,21 +983,9 @@ void JPADrawPoint(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { GXSetVtxDesc(GX_VA_POS, GX_INDEX8); GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawPoint(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 802791B0-80279364 273AF0 01B4+00 0/0 1/1 0/0 .text * JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle */ -// Matches with literals -#ifdef NONMATCHING void JPADrawLine(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { if (param_1->checkStatus(8) == 0) { JGeometry::TVec3 local_1c; @@ -1367,16 +1008,6 @@ void JPADrawLine(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawLine(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle.s" -} -#pragma pop -#endif /* 80279364-8027936C 273CA4 0008+00 2/2 0/0 0/0 .text getNext__FP26JPANode<15JPABaseParticle> */ JPANode* getNext(JPANode* param_0) { @@ -1391,121 +1022,231 @@ JPANode* getPrev(JPANode* param_0) { typedef JPANode* (*getNodeFunc)(JPANode*); /* 80279374-8027996C 273CB4 05F8+00 0/0 1/1 0/0 .text JPADrawStripe__FP18JPAEmitterWorkData */ -// local_d4 is optimized away. -#ifdef NONMATCHING void JPADrawStripe(JPAEmitterWorkData* param_0) { JPABaseShape* shape = param_0->mpRes->getBsp(); - u32 uVar5 = param_0->mpAlivePtcl->getNum(); - if (uVar5 < 2) { + u32 ptcl_num = param_0->mpAlivePtcl->getNum(); + if (ptcl_num < 2) { return; } - f32 dVar16 = 0.0f; - f32 dVar15 = 1.0f / (uVar5 - 1.0f); - f32 dVar14 = (1.0f + param_0->mPivot.x) * - (25.0f * param_0->mGlobalPtclScl.x); - f32 dVar13 = (1.0f - param_0->mPivot.x) * - (25.0f * param_0->mGlobalPtclScl.x); + f32 coord = 0.0f; + f32 step = 1.0f / (ptcl_num - 1.0f); + f32 dVar14 = (1.0f + param_0->mPivot.x) * (25.0f * param_0->mGlobalPtclScl.x); + f32 dVar13 = (1.0f - param_0->mPivot.x) * (25.0f * param_0->mGlobalPtclScl.x); Mtx local_c8; f32 dVar11; f32 dVar12; JGeometry::TVec3 local_ec; - JGeometry::TVec3 local_e0; - JGeometry::TVec3 local_d4; + JGeometry::TVec3 local_e0[2]; JGeometry::TVec3 local_f8; JGeometry::TVec3 local_104; - getNodeFunc pcVar9; + getNodeFunc node_func; JPANode* startNode; if (shape->isDrawFwdAhead()) { startNode = param_0->mpAlivePtcl->getLast(); - pcVar9 = getPrev; - dVar16 = 1.0f; - dVar15 = -dVar15; + node_func = getPrev; + coord = 1.0f; + step = -step; } else { startNode = param_0->mpAlivePtcl->getFirst(); - pcVar9 = getNext; + node_func = getNext; } GXLoadPosMtxImm(param_0->mPosCamMtx, 0); p_prj[param_0->mPrjType](param_0, param_0->mPosCamMtx); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT1, uVar5 << 1); - for (JPANode* this_00 = startNode; this_00 != param_0->mpAlivePtcl->getEnd(); - this_00 = pcVar9(this_00), dVar16 += dVar15) { - param_0->mpCurNode = this_00; - JPABaseParticle* pTVar7 = this_00->getObject(); - local_ec.set(pTVar7->mPosition); - dVar11 = JMASSin(pTVar7->mRotateAngle); - dVar12 = JMASCos(pTVar7->mRotateAngle); - local_e0.x = -pTVar7->mParticleScaleX * dVar14; - local_e0.y = 0.0f; - local_e0.z = 0.0f; - local_e0.set(local_e0.x * dVar12, 0.0f, local_e0.x * dVar11); - local_d4.x = pTVar7->mParticleScaleX * dVar13; - local_d4.y = 0.0f; - local_d4.z = 0.0f; - local_d4.set(local_d4.x * dVar12, 0.0f, local_d4.x * dVar11); - p_direction[param_0->mDirType](param_0, pTVar7, &local_f8); + GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT1, ptcl_num << 1); + for (JPANode* node = startNode; node != param_0->mpAlivePtcl->getEnd(); + node = node_func(node), coord += step) { + param_0->mpCurNode = node; + JPABaseParticle* particle = node->getObject(); + local_ec.set(particle->mPosition); + dVar11 = JMASSin(particle->mRotateAngle); + dVar12 = JMASCos(particle->mRotateAngle); + local_e0[0].set(-particle->mParticleScaleX * dVar14, 0.0f, 0.0f); + local_e0[0].set(local_e0[0].x * dVar12, 0.0f, local_e0[0].x * dVar11); + local_e0[1].set(particle->mParticleScaleX * dVar13, 0.0f, 0.0f); + local_e0[1].set(local_e0[1].x * dVar12, 0.0f, local_e0[1].x * dVar11); + p_direction[param_0->mDirType](param_0, particle, &local_f8); if (local_f8.isZero()) { local_f8.set(0.0f, 1.0f, 0.0f); } else { local_f8.normalize(); } - local_104.cross(pTVar7->mBaseAxis, local_f8); + local_104.cross(particle->mBaseAxis, local_f8); if (local_104.isZero()) { local_104.set(1.0f, 0.0f, 0.0f); } else { local_104.normalize(); } - pTVar7->mBaseAxis.cross(local_f8, local_104); - pTVar7->mBaseAxis.normalize(); + particle->mBaseAxis.cross(local_f8, local_104); + particle->mBaseAxis.normalize(); local_c8[0][0] = local_104.x; local_c8[0][1] = local_f8.x; - local_c8[0][2] = pTVar7->mBaseAxis.x; + local_c8[0][2] = particle->mBaseAxis.x; local_c8[0][3] = 0.0f; local_c8[1][0] = local_104.y; local_c8[1][1] = local_f8.y; - local_c8[1][2] = pTVar7->mBaseAxis.y; + local_c8[1][2] = particle->mBaseAxis.y; local_c8[1][3] = 0.0f; local_c8[2][0] = local_104.z; local_c8[2][1] = local_f8.z; - local_c8[2][2] = pTVar7->mBaseAxis.z; + local_c8[2][2] = particle->mBaseAxis.z; local_c8[2][3] = 0.0f; - MTXMultVecArraySR(local_c8, local_e0, local_e0, 2); - GXPosition3f32(local_e0.x + local_ec.x, local_e0.y + local_ec.y, - local_e0.z + local_ec.z); - GXTexCoord2f32(0.0f, dVar16); - GXPosition3f32(local_d4.x + local_ec.x, local_d4.y + local_ec.y, - local_d4.z + local_ec.z); - GXTexCoord2f32(1.0f, dVar16); - + MTXMultVecArraySR(local_c8, (Vec*)local_e0, (Vec*)local_e0, 2); + GXPosition3f32(local_e0[0].x + local_ec.x, local_e0[0].y + local_ec.y, + local_e0[0].z + local_ec.z); + GXTexCoord2f32(0.0f, coord); + GXPosition3f32(local_e0[1].x + local_ec.x, local_e0[1].y + local_ec.y, + local_e0[1].z + local_ec.z); + GXTexCoord2f32(1.0f, coord); } GXEnd(); GXSetVtxDesc(GX_VA_POS, GX_INDEX8); GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawStripe(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawStripe__FP18JPAEmitterWorkData.s" -} -#pragma pop -#endif /* 8027996C-8027A3D8 2742AC 0A6C+00 0/0 1/1 0/0 .text JPADrawStripeX__FP18JPAEmitterWorkData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JPADrawStripeX(JPAEmitterWorkData* param_0) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/JPADrawStripeX__FP18JPAEmitterWorkData.s" +void JPADrawStripeX(JPAEmitterWorkData* param_0) { + JPABaseShape* shape = param_0->mpRes->getBsp(); + u32 ptcl_num = param_0->mpAlivePtcl->getNum(); + if (ptcl_num < 2) { + return; + } + + f32 start_coord = 0.0f; + f32 coord = 0.0f; + f32 step = 1.0f / (ptcl_num - 1.0f); + f32 local_154 = (1.0f + param_0->mPivot.x) * (25.0f * param_0->mGlobalPtclScl.x); + f32 local_158 = (1.0f - param_0->mPivot.x) * (25.0f * param_0->mGlobalPtclScl.x); + f32 local_15c = (1.0f + param_0->mPivot.y) * (25.0f * param_0->mGlobalPtclScl.y); + f32 local_160 = (1.0f - param_0->mPivot.y) * (25.0f * param_0->mGlobalPtclScl.y); + Mtx local_90; + f32 dVar11; + f32 dVar12; + JGeometry::TVec3 local_b4; + JGeometry::TVec3 local_a8[2]; + JGeometry::TVec3 local_c0; + JGeometry::TVec3 local_cc; + JPANode* startNode; + getNodeFunc node_func; + if (shape->isDrawFwdAhead()) { + startNode = param_0->mpAlivePtcl->getLast(); + node_func = getPrev; + start_coord = coord = 1.0f; + step = -step; + } else { + startNode = param_0->mpAlivePtcl->getFirst(); + node_func = getNext; + } + + GXLoadPosMtxImm(param_0->mPosCamMtx, 0); + p_prj[param_0->mPrjType](param_0, param_0->mPosCamMtx); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT1, ptcl_num << 1); + for (JPANode* node = startNode; node != param_0->mpAlivePtcl->getEnd(); + node = node_func(node), coord += step) { + param_0->mpCurNode = node; + JPABaseParticle* particle = node->getObject(); + local_b4.set(particle->mPosition); + dVar11 = JMASSin(particle->mRotateAngle); + dVar12 = JMASCos(particle->mRotateAngle); + local_a8[0].set(-particle->mParticleScaleX * local_154, 0.0f, 0.0f); + local_a8[0].set(local_a8[0].x * dVar12, 0.0f, local_a8[0].x * dVar11); + local_a8[1].set(particle->mParticleScaleX * local_158, 0.0f, 0.0f); + local_a8[1].set(local_a8[1].x * dVar12, 0.0f, local_a8[1].x * dVar11); + p_direction[param_0->mDirType](param_0, particle, &local_c0); + if (local_c0.isZero()) { + local_c0.set(0.0f, 1.0f, 0.0f); + } else { + local_c0.normalize(); + } + local_cc.cross(particle->mBaseAxis, local_c0); + if (local_cc.isZero()) { + local_cc.set(1.0f, 0.0f, 0.0f); + } else { + local_cc.normalize(); + } + particle->mBaseAxis.cross(local_c0, local_cc); + particle->mBaseAxis.normalize(); + + local_90[0][0] = local_cc.x; + local_90[0][1] = local_c0.x; + local_90[0][2] = particle->mBaseAxis.x; + local_90[0][3] = 0.0f; + local_90[1][0] = local_cc.y; + local_90[1][1] = local_c0.y; + local_90[1][2] = particle->mBaseAxis.y; + local_90[1][3] = 0.0f; + local_90[2][0] = local_cc.z; + local_90[2][1] = local_c0.z; + local_90[2][2] = particle->mBaseAxis.z; + local_90[2][3] = 0.0f; + MTXMultVecArraySR(local_90, (Vec*)local_a8, (Vec*)local_a8, 2); + GXPosition3f32(local_a8[0].x + local_b4.x, local_a8[0].y + local_b4.y, + local_a8[0].z + local_b4.z); + GXTexCoord2f32(0.0f, coord); + GXPosition3f32(local_a8[1].x + local_b4.x, local_a8[1].y + local_b4.y, + local_a8[1].z + local_b4.z); + GXTexCoord2f32(1.0f, coord); + } + GXEnd(); + + coord = start_coord; + GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT1, ptcl_num << 1); + for (JPANode* node = startNode; node != param_0->mpAlivePtcl->getEnd(); + node = node_func(node), coord += step) { + param_0->mpCurNode = node; + JPABaseParticle* particle = node->getObject(); + local_b4.set(particle->mPosition); + dVar11 = JMASCos(particle->mRotateAngle); + dVar12 = -JMASSin(particle->mRotateAngle); + local_a8[0].set(-particle->mParticleScaleY * local_15c, 0.0f, 0.0f); + local_a8[0].set(local_a8[0].x * dVar12, 0.0f, local_a8[0].x * dVar11); + local_a8[1].set(particle->mParticleScaleY * local_160, 0.0f, 0.0f); + local_a8[1].set(local_a8[1].x * dVar12, 0.0f, local_a8[1].x * dVar11); + p_direction[param_0->mDirType](param_0, particle, &local_c0); + if (local_c0.isZero()) { + local_c0.set(0.0f, 1.0f, 0.0f); + } else { + local_c0.normalize(); + } + local_cc.cross(particle->mBaseAxis, local_c0); + if (local_cc.isZero()) { + local_cc.set(1.0f, 0.0f, 0.0f); + } else { + local_cc.normalize(); + } + particle->mBaseAxis.cross(local_c0, local_cc); + particle->mBaseAxis.normalize(); + + local_90[0][0] = local_cc.x; + local_90[0][1] = local_c0.x; + local_90[0][2] = particle->mBaseAxis.x; + local_90[0][3] = 0.0f; + local_90[1][0] = local_cc.y; + local_90[1][1] = local_c0.y; + local_90[1][2] = particle->mBaseAxis.y; + local_90[1][3] = 0.0f; + local_90[2][0] = local_cc.z; + local_90[2][1] = local_c0.z; + local_90[2][2] = particle->mBaseAxis.z; + local_90[2][3] = 0.0f; + MTXMultVecArraySR(local_90, (Vec*)local_a8, (Vec*)local_a8, 2); + GXPosition3f32(local_a8[0].x + local_b4.x, local_a8[0].y + local_b4.y, + local_a8[0].z + local_b4.z); + GXTexCoord2f32(0.0f, coord); + GXPosition3f32(local_a8[1].x + local_b4.x, local_a8[1].y + local_b4.y, + local_a8[1].z + local_b4.z); + GXTexCoord2f32(1.0f, coord); + } + GXEnd(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); } -#pragma pop /* 8027A3D8-8027A414 274D18 003C+00 0/0 1/1 0/0 .text * JPADrawEmitterCallBackB__FP18JPAEmitterWorkData */ @@ -1527,15 +1268,46 @@ void JPADrawParticleCallBack(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { /* 8027A454-8027A6DC 274D94 0288+00 1/1 0/0 0/0 .text * makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void makeColorTable(_GXColor** param_0, JPAClrAnmKeyData const* param_1, u8 param_2, - s16 param_3, JKRHeap* param_4) { - nofralloc -#include "asm/JSystem/JParticle/JPABaseShape/makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap.s" +static void makeColorTable(GXColor** o_color_table, JPAClrAnmKeyData const* i_data, u8 param_2, + s16 i_size, JKRHeap* i_heap) { + GXColor* color_table = (GXColor*)JKRAllocFromHeap(i_heap, (i_size + 1) * 4, 4); + f32 r_step, g_step, b_step, a_step; + r_step = g_step = b_step = a_step = 0.0f; + f32 r = i_data[0].color.r; + f32 g = i_data[0].color.g; + f32 b = i_data[0].color.b; + f32 a = i_data[0].color.a; + int j = 0; + for (s16 i = 0; i < i_size + 1; i++) { + if (i == i_data[j].index) { + color_table[i] = i_data[j].color; + r = i_data[j].color.r; + g = i_data[j].color.g; + b = i_data[j].color.b; + a = i_data[j].color.a; + j++; + if (j < param_2) { + f32 base_step = 1.0f / (i_data[j].index - i_data[j - 1].index); + r_step = base_step * ((f32)i_data[j].color.r - r); + g_step = base_step * ((f32)i_data[j].color.g - g); + b_step = base_step * ((f32)i_data[j].color.b - b); + a_step = base_step * ((f32)i_data[j].color.a - a); + } else { + r_step = g_step = b_step = a_step = 0.0f; + } + } else { + r += r_step; + color_table[i].r = r; + g += g_step; + color_table[i].g = g; + b += b_step; + color_table[i].b = b; + a += a_step; + color_table[i].a = a; + } + } + *o_color_table = color_table; } -#pragma pop /* 8027A6DC-8027A7E8 27501C 010C+00 0/0 1/1 0/0 .text __ct__12JPABaseShapeFPCUcP7JKRHeap */ @@ -1572,35 +1344,34 @@ JPABaseShape::JPABaseShape(u8 const* pData, JKRHeap* pHeap) { } } -/* ############################################################################################## */ /* 803C4360-803C436C 021480 000C+00 0/1 0/0 0/0 .data st_bm__12JPABaseShape */ -SECTION_DATA GXBlendMode JPABaseShape::st_bm[3] = { +GXBlendMode JPABaseShape::st_bm[3] = { GX_BM_NONE, GX_BM_BLEND, GX_BM_LOGIC, }; /* 803C436C-803C4394 02148C 0028+00 0/1 0/0 0/0 .data st_bf__12JPABaseShape */ -SECTION_DATA GXBlendFactor JPABaseShape::st_bf[10] = { +GXBlendFactor JPABaseShape::st_bf[10] = { GX_BL_ZERO, GX_BL_ONE, GX_BL_SRC_COLOR, GX_BL_INV_SRC_COLOR, GX_BL_SRC_COLOR, GX_BL_INV_SRC_COLOR, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_BL_DST_ALPHA, GX_BL_INV_DST_ALPHA, }; /* 803C4394-803C43D4 0214B4 0040+00 0/1 0/0 0/0 .data st_lo__12JPABaseShape */ -SECTION_DATA GXLogicOp JPABaseShape::st_lo[16] = { +GXLogicOp JPABaseShape::st_lo[16] = { GX_LO_CLEAR, GX_LO_SET, GX_LO_COPY, GX_LO_INV_COPY, GX_LO_NOOP, GX_LO_INV, GX_LO_AND, GX_LO_NAND, GX_LO_OR, GX_LO_NOR, GX_LO_XOR, GX_LO_EQUIV, GX_LO_REV_AND, GX_LO_INV_AND, GX_LO_REV_OR, GX_LO_INV_OR, }; /* 803C43D4-803C43F4 0214F4 0020+00 0/1 0/0 0/0 .data st_c__12JPABaseShape */ -SECTION_DATA GXCompare JPABaseShape::st_c[8] = { +GXCompare JPABaseShape::st_c[8] = { GX_NEVER, GX_LESS, GX_LEQUAL, GX_EQUAL, GX_NEQUAL, GX_GEQUAL, GX_GREATER, GX_ALWAYS, }; /* 803C43F4-803C4404 021514 0010+00 0/1 0/0 0/0 .data st_ao__12JPABaseShape */ -SECTION_DATA GXAlphaOp JPABaseShape::st_ao[4] = { +GXAlphaOp JPABaseShape::st_ao[4] = { GX_AOP_AND, GX_AOP_OR, GX_AOP_XOR, @@ -1608,7 +1379,7 @@ SECTION_DATA GXAlphaOp JPABaseShape::st_ao[4] = { }; /* 803C4404-803C4464 021524 0060+00 0/1 0/0 0/0 .data st_ca__12JPABaseShape */ -SECTION_DATA GXTevColorArg JPABaseShape::st_ca[6][4] = { +GXTevColorArg JPABaseShape::st_ca[6][4] = { { GX_CC_ZERO, GX_CC_TEXC, @@ -1648,7 +1419,7 @@ SECTION_DATA GXTevColorArg JPABaseShape::st_ca[6][4] = { }; /* 803C4464-803C4488 021584 0020+04 0/1 0/0 0/0 .data st_aa__12JPABaseShape */ -SECTION_DATA GXTevAlphaArg JPABaseShape::st_aa[2][4] = { +GXTevAlphaArg JPABaseShape::st_aa[2][4] = { { GX_CA_ZERO, GX_CA_TEXA,