mirror of https://github.com/zeldaret/tp.git
JPAExtraShape
This commit is contained in:
parent
045fefcab7
commit
32d021a889
|
|
@ -1,38 +0,0 @@
|
|||
lbl_8027AC10:
|
||||
/* 8027AC10 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8027AC14 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 8027AC18 80 63 00 20 */ lwz r3, 0x20(r3)
|
||||
/* 8027AC1C C0 84 00 84 */ lfs f4, 0x84(r4)
|
||||
/* 8027AC20 80 A3 00 00 */ lwz r5, 0(r3)
|
||||
/* 8027AC24 C0 05 00 2C */ lfs f0, 0x2c(r5)
|
||||
/* 8027AC28 FC 04 00 40 */ fcmpo cr0, f4, f0
|
||||
/* 8027AC2C 40 80 00 20 */ bge lbl_8027AC4C
|
||||
/* 8027AC30 C0 42 B8 F4 */ lfs f2, lit_2390(r2)
|
||||
/* 8027AC34 C0 25 00 34 */ lfs f1, 0x34(r5)
|
||||
/* 8027AC38 C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 8027AC3C EC 04 00 32 */ fmuls f0, f4, f0
|
||||
/* 8027AC40 EC 01 00 2A */ fadds f0, f1, f0
|
||||
/* 8027AC44 EC A2 00 32 */ fmuls f5, f2, f0
|
||||
/* 8027AC48 48 00 00 3C */ b lbl_8027AC84
|
||||
lbl_8027AC4C:
|
||||
/* 8027AC4C C0 05 00 30 */ lfs f0, 0x30(r5)
|
||||
/* 8027AC50 FC 04 00 40 */ fcmpo cr0, f4, f0
|
||||
/* 8027AC54 40 81 00 24 */ ble lbl_8027AC78
|
||||
/* 8027AC58 C0 62 B8 F4 */ lfs f3, lit_2390(r2)
|
||||
/* 8027AC5C C0 45 00 38 */ lfs f2, 0x38(r5)
|
||||
/* 8027AC60 EC 24 00 28 */ fsubs f1, f4, f0
|
||||
/* 8027AC64 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 8027AC68 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 8027AC6C EC 02 00 2A */ fadds f0, f2, f0
|
||||
/* 8027AC70 EC A3 00 32 */ fmuls f5, f3, f0
|
||||
/* 8027AC74 48 00 00 10 */ b lbl_8027AC84
|
||||
lbl_8027AC78:
|
||||
/* 8027AC78 C0 22 B8 F4 */ lfs f1, lit_2390(r2)
|
||||
/* 8027AC7C C0 05 00 38 */ lfs f0, 0x38(r5)
|
||||
/* 8027AC80 EC A1 00 32 */ fmuls f5, f1, f0
|
||||
lbl_8027AC84:
|
||||
/* 8027AC84 F0 A1 A0 08 */ psq_st f5, 8(r1), 1, 2 /* qr2 */
|
||||
/* 8027AC88 88 01 00 08 */ lbz r0, 8(r1)
|
||||
/* 8027AC8C 98 04 00 96 */ stb r0, 0x96(r4)
|
||||
/* 8027AC90 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8027AC94 4E 80 00 20 */ blr
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
lbl_8027AC98:
|
||||
/* 8027AC98 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8027AC9C 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 8027ACA0 80 63 00 20 */ lwz r3, 0x20(r3)
|
||||
/* 8027ACA4 C0 64 00 84 */ lfs f3, 0x84(r4)
|
||||
/* 8027ACA8 80 A3 00 00 */ lwz r5, 0(r3)
|
||||
/* 8027ACAC C0 05 00 2C */ lfs f0, 0x2c(r5)
|
||||
/* 8027ACB0 FC 03 00 40 */ fcmpo cr0, f3, f0
|
||||
/* 8027ACB4 40 80 00 18 */ bge lbl_8027ACCC
|
||||
/* 8027ACB8 C0 25 00 34 */ lfs f1, 0x34(r5)
|
||||
/* 8027ACBC C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 8027ACC0 EC 03 00 32 */ fmuls f0, f3, f0
|
||||
/* 8027ACC4 EC A1 00 2A */ fadds f5, f1, f0
|
||||
/* 8027ACC8 48 00 00 2C */ b lbl_8027ACF4
|
||||
lbl_8027ACCC:
|
||||
/* 8027ACCC C0 05 00 30 */ lfs f0, 0x30(r5)
|
||||
/* 8027ACD0 FC 03 00 40 */ fcmpo cr0, f3, f0
|
||||
/* 8027ACD4 40 81 00 1C */ ble lbl_8027ACF0
|
||||
/* 8027ACD8 C0 45 00 38 */ lfs f2, 0x38(r5)
|
||||
/* 8027ACDC EC 23 00 28 */ fsubs f1, f3, f0
|
||||
/* 8027ACE0 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 8027ACE4 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 8027ACE8 EC A2 00 2A */ fadds f5, f2, f0
|
||||
/* 8027ACEC 48 00 00 08 */ b lbl_8027ACF4
|
||||
lbl_8027ACF0:
|
||||
/* 8027ACF0 C0 A5 00 38 */ lfs f5, 0x38(r5)
|
||||
lbl_8027ACF4:
|
||||
/* 8027ACF4 C0 62 B8 F8 */ lfs f3, lit_2433(r2)
|
||||
/* 8027ACF8 C0 44 00 6C */ lfs f2, 0x6c(r4)
|
||||
/* 8027ACFC A8 04 00 80 */ lha r0, 0x80(r4)
|
||||
/* 8027AD00 C8 22 B8 E8 */ lfd f1, lit_2312(r2)
|
||||
/* 8027AD04 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027AD08 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8027AD0C 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 8027AD10 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 8027AD14 C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 8027AD18 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 8027AD1C EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 8027AD20 EC 23 00 32 */ fmuls f1, f3, f0
|
||||
/* 8027AD24 C0 82 B8 E0 */ lfs f4, lit_2270(r2)
|
||||
/* 8027AD28 C0 05 00 40 */ lfs f0, 0x40(r5)
|
||||
/* 8027AD2C EC 04 00 28 */ fsubs f0, f4, f0
|
||||
/* 8027AD30 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 8027AD34 FC 00 00 1E */ fctiwz f0, f0
|
||||
/* 8027AD38 D8 01 00 18 */ stfd f0, 0x18(r1)
|
||||
/* 8027AD3C 80 01 00 1C */ lwz r0, 0x1c(r1)
|
||||
/* 8027AD40 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
|
||||
/* 8027AD44 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
|
||||
/* 8027AD48 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
|
||||
/* 8027AD4C 7C 03 04 2E */ lfsx f0, r3, r0
|
||||
/* 8027AD50 C0 62 B8 F4 */ lfs f3, lit_2390(r2)
|
||||
/* 8027AD54 C0 42 B8 FC */ lfs f2, lit_2434(r2)
|
||||
/* 8027AD58 EC 20 20 28 */ fsubs f1, f0, f4
|
||||
/* 8027AD5C C0 05 00 48 */ lfs f0, 0x48(r5)
|
||||
/* 8027AD60 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 8027AD64 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 8027AD68 EC 04 00 2A */ fadds f0, f4, f0
|
||||
/* 8027AD6C EC 03 00 32 */ fmuls f0, f3, f0
|
||||
/* 8027AD70 EC A5 00 32 */ fmuls f5, f5, f0
|
||||
/* 8027AD74 F0 A1 A0 08 */ psq_st f5, 8(r1), 1, 2 /* qr2 */
|
||||
/* 8027AD78 88 01 00 08 */ lbz r0, 8(r1)
|
||||
/* 8027AD7C 98 04 00 96 */ stb r0, 0x96(r4)
|
||||
/* 8027AD80 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8027AD84 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_8027AA14:
|
||||
/* 8027AA14 C0 04 00 84 */ lfs f0, 0x84(r4)
|
||||
/* 8027AA18 D0 03 01 FC */ stfs f0, 0x1fc(r3)
|
||||
/* 8027AA1C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
lbl_8027AA20:
|
||||
/* 8027AA20 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8027AA24 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 8027AA28 80 A5 00 20 */ lwz r5, 0x20(r5)
|
||||
/* 8027AA2C 80 A5 00 00 */ lwz r5, 0(r5)
|
||||
/* 8027AA30 A8 A5 00 28 */ lha r5, 0x28(r5)
|
||||
/* 8027AA34 A8 84 00 80 */ lha r4, 0x80(r4)
|
||||
/* 8027AA38 7C 04 2B D6 */ divw r0, r4, r5
|
||||
/* 8027AA3C 7C 00 29 D6 */ mullw r0, r0, r5
|
||||
/* 8027AA40 7C 00 20 50 */ subf r0, r0, r4
|
||||
/* 8027AA44 C8 42 B8 E8 */ lfd f2, lit_2312(r2)
|
||||
/* 8027AA48 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027AA4C 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 8027AA50 3C 80 43 30 */ lis r4, 0x4330
|
||||
/* 8027AA54 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 8027AA58 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 8027AA5C EC 20 10 28 */ fsubs f1, f0, f2
|
||||
/* 8027AA60 6C A0 80 00 */ xoris r0, r5, 0x8000
|
||||
/* 8027AA64 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8027AA68 90 81 00 10 */ stw r4, 0x10(r1)
|
||||
/* 8027AA6C C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 8027AA70 EC 00 10 28 */ fsubs f0, f0, f2
|
||||
/* 8027AA74 EC 01 00 24 */ fdivs f0, f1, f0
|
||||
/* 8027AA78 D0 03 01 FC */ stfs f0, 0x1fc(r3)
|
||||
/* 8027AA7C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8027AA80 4E 80 00 20 */ blr
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
lbl_8027AA84:
|
||||
/* 8027AA84 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8027AA88 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 8027AA8C 80 A5 00 20 */ lwz r5, 0x20(r5)
|
||||
/* 8027AA90 80 A5 00 00 */ lwz r5, 0(r5)
|
||||
/* 8027AA94 A8 A5 00 2A */ lha r5, 0x2a(r5)
|
||||
/* 8027AA98 A8 84 00 80 */ lha r4, 0x80(r4)
|
||||
/* 8027AA9C 7C 04 2B D6 */ divw r0, r4, r5
|
||||
/* 8027AAA0 7C 00 29 D6 */ mullw r0, r0, r5
|
||||
/* 8027AAA4 7C 00 20 50 */ subf r0, r0, r4
|
||||
/* 8027AAA8 C8 42 B8 E8 */ lfd f2, lit_2312(r2)
|
||||
/* 8027AAAC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027AAB0 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 8027AAB4 3C 80 43 30 */ lis r4, 0x4330
|
||||
/* 8027AAB8 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 8027AABC C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 8027AAC0 EC 20 10 28 */ fsubs f1, f0, f2
|
||||
/* 8027AAC4 6C A0 80 00 */ xoris r0, r5, 0x8000
|
||||
/* 8027AAC8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8027AACC 90 81 00 10 */ stw r4, 0x10(r1)
|
||||
/* 8027AAD0 C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 8027AAD4 EC 00 10 28 */ fsubs f0, f0, f2
|
||||
/* 8027AAD8 EC 01 00 24 */ fdivs f0, f1, f0
|
||||
/* 8027AADC D0 03 01 FC */ stfs f0, 0x1fc(r3)
|
||||
/* 8027AAE0 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8027AAE4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
lbl_8027AAE8:
|
||||
/* 8027AAE8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8027AAEC 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 8027AAF0 80 A5 00 20 */ lwz r5, 0x20(r5)
|
||||
/* 8027AAF4 80 A5 00 00 */ lwz r5, 0(r5)
|
||||
/* 8027AAF8 A8 C5 00 28 */ lha r6, 0x28(r5)
|
||||
/* 8027AAFC A8 84 00 80 */ lha r4, 0x80(r4)
|
||||
/* 8027AB00 7C A4 33 D6 */ divw r5, r4, r6
|
||||
/* 8027AB04 7C 05 31 D6 */ mullw r0, r5, r6
|
||||
/* 8027AB08 7C 00 20 50 */ subf r0, r0, r4
|
||||
/* 8027AB0C C8 42 B8 E8 */ lfd f2, lit_2312(r2)
|
||||
/* 8027AB10 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027AB14 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 8027AB18 3C 80 43 30 */ lis r4, 0x4330
|
||||
/* 8027AB1C 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 8027AB20 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 8027AB24 EC 20 10 28 */ fsubs f1, f0, f2
|
||||
/* 8027AB28 6C C0 80 00 */ xoris r0, r6, 0x8000
|
||||
/* 8027AB2C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8027AB30 90 81 00 10 */ stw r4, 0x10(r1)
|
||||
/* 8027AB34 C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 8027AB38 EC 00 10 28 */ fsubs f0, f0, f2
|
||||
/* 8027AB3C EC 61 00 24 */ fdivs f3, f1, f0
|
||||
/* 8027AB40 54 A0 07 FE */ clrlwi r0, r5, 0x1f
|
||||
/* 8027AB44 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027AB48 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 8027AB4C 90 81 00 18 */ stw r4, 0x18(r1)
|
||||
/* 8027AB50 C8 01 00 18 */ lfd f0, 0x18(r1)
|
||||
/* 8027AB54 EC 40 10 28 */ fsubs f2, f0, f2
|
||||
/* 8027AB58 C0 22 B8 E0 */ lfs f1, lit_2270(r2)
|
||||
/* 8027AB5C C0 02 B8 F0 */ lfs f0, lit_2339(r2)
|
||||
/* 8027AB60 EC 00 00 F2 */ fmuls f0, f0, f3
|
||||
/* 8027AB64 EC 01 00 28 */ fsubs f0, f1, f0
|
||||
/* 8027AB68 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 8027AB6C EC 03 00 2A */ fadds f0, f3, f0
|
||||
/* 8027AB70 D0 03 01 FC */ stfs f0, 0x1fc(r3)
|
||||
/* 8027AB74 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8027AB78 4E 80 00 20 */ blr
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
lbl_8027AB7C:
|
||||
/* 8027AB7C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8027AB80 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 8027AB84 80 A5 00 20 */ lwz r5, 0x20(r5)
|
||||
/* 8027AB88 80 A5 00 00 */ lwz r5, 0(r5)
|
||||
/* 8027AB8C A8 C5 00 2A */ lha r6, 0x2a(r5)
|
||||
/* 8027AB90 A8 84 00 80 */ lha r4, 0x80(r4)
|
||||
/* 8027AB94 7C A4 33 D6 */ divw r5, r4, r6
|
||||
/* 8027AB98 7C 05 31 D6 */ mullw r0, r5, r6
|
||||
/* 8027AB9C 7C 00 20 50 */ subf r0, r0, r4
|
||||
/* 8027ABA0 C8 42 B8 E8 */ lfd f2, lit_2312(r2)
|
||||
/* 8027ABA4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027ABA8 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 8027ABAC 3C 80 43 30 */ lis r4, 0x4330
|
||||
/* 8027ABB0 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 8027ABB4 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 8027ABB8 EC 20 10 28 */ fsubs f1, f0, f2
|
||||
/* 8027ABBC 6C C0 80 00 */ xoris r0, r6, 0x8000
|
||||
/* 8027ABC0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8027ABC4 90 81 00 10 */ stw r4, 0x10(r1)
|
||||
/* 8027ABC8 C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 8027ABCC EC 00 10 28 */ fsubs f0, f0, f2
|
||||
/* 8027ABD0 EC 61 00 24 */ fdivs f3, f1, f0
|
||||
/* 8027ABD4 54 A0 07 FE */ clrlwi r0, r5, 0x1f
|
||||
/* 8027ABD8 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 8027ABDC 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 8027ABE0 90 81 00 18 */ stw r4, 0x18(r1)
|
||||
/* 8027ABE4 C8 01 00 18 */ lfd f0, 0x18(r1)
|
||||
/* 8027ABE8 EC 40 10 28 */ fsubs f2, f0, f2
|
||||
/* 8027ABEC C0 22 B8 E0 */ lfs f1, lit_2270(r2)
|
||||
/* 8027ABF0 C0 02 B8 F0 */ lfs f0, lit_2339(r2)
|
||||
/* 8027ABF4 EC 00 00 F2 */ fmuls f0, f0, f3
|
||||
/* 8027ABF8 EC 01 00 28 */ fsubs f0, f1, f0
|
||||
/* 8027ABFC EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 8027AC00 EC 03 00 2A */ fadds f0, f3, f0
|
||||
/* 8027AC04 D0 03 01 FC */ stfs f0, 0x1fc(r3)
|
||||
/* 8027AC08 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8027AC0C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_8027AA08:
|
||||
/* 8027AA08 C0 04 00 60 */ lfs f0, 0x60(r4)
|
||||
/* 8027AA0C D0 04 00 64 */ stfs f0, 0x64(r4)
|
||||
/* 8027AA10 4E 80 00 20 */ blr
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
lbl_8027A918:
|
||||
/* 8027A918 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 8027A91C 80 A5 00 20 */ lwz r5, 0x20(r5)
|
||||
/* 8027A920 C0 83 01 FC */ lfs f4, 0x1fc(r3)
|
||||
/* 8027A924 80 65 00 00 */ lwz r3, 0(r5)
|
||||
/* 8027A928 C0 03 00 0C */ lfs f0, 0xc(r3)
|
||||
/* 8027A92C FC 04 00 40 */ fcmpo cr0, f4, f0
|
||||
/* 8027A930 40 80 00 24 */ bge lbl_8027A954
|
||||
/* 8027A934 C0 44 00 68 */ lfs f2, 0x68(r4)
|
||||
/* 8027A938 C0 05 00 0C */ lfs f0, 0xc(r5)
|
||||
/* 8027A93C EC 24 00 32 */ fmuls f1, f4, f0
|
||||
/* 8027A940 C0 03 00 14 */ lfs f0, 0x14(r3)
|
||||
/* 8027A944 EC 01 00 2A */ fadds f0, f1, f0
|
||||
/* 8027A948 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 8027A94C D0 04 00 60 */ stfs f0, 0x60(r4)
|
||||
/* 8027A950 4E 80 00 20 */ blr
|
||||
lbl_8027A954:
|
||||
/* 8027A954 C0 03 00 10 */ lfs f0, 0x10(r3)
|
||||
/* 8027A958 FC 04 00 40 */ fcmpo cr0, f4, f0
|
||||
/* 8027A95C 40 81 00 28 */ ble lbl_8027A984
|
||||
/* 8027A960 C0 64 00 68 */ lfs f3, 0x68(r4)
|
||||
/* 8027A964 C0 42 B8 E0 */ lfs f2, lit_2270(r2)
|
||||
/* 8027A968 C0 25 00 14 */ lfs f1, 0x14(r5)
|
||||
/* 8027A96C EC 04 00 28 */ fsubs f0, f4, f0
|
||||
/* 8027A970 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 8027A974 EC 02 00 2A */ fadds f0, f2, f0
|
||||
/* 8027A978 EC 03 00 32 */ fmuls f0, f3, f0
|
||||
/* 8027A97C D0 04 00 60 */ stfs f0, 0x60(r4)
|
||||
/* 8027A980 4E 80 00 20 */ blr
|
||||
lbl_8027A984:
|
||||
/* 8027A984 C0 04 00 68 */ lfs f0, 0x68(r4)
|
||||
/* 8027A988 D0 04 00 60 */ stfs f0, 0x60(r4)
|
||||
/* 8027A98C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
lbl_8027A990:
|
||||
/* 8027A990 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 8027A994 80 A5 00 20 */ lwz r5, 0x20(r5)
|
||||
/* 8027A998 C0 83 01 FC */ lfs f4, 0x1fc(r3)
|
||||
/* 8027A99C 80 65 00 00 */ lwz r3, 0(r5)
|
||||
/* 8027A9A0 C0 03 00 0C */ lfs f0, 0xc(r3)
|
||||
/* 8027A9A4 FC 04 00 40 */ fcmpo cr0, f4, f0
|
||||
/* 8027A9A8 40 80 00 24 */ bge lbl_8027A9CC
|
||||
/* 8027A9AC C0 44 00 68 */ lfs f2, 0x68(r4)
|
||||
/* 8027A9B0 C0 05 00 10 */ lfs f0, 0x10(r5)
|
||||
/* 8027A9B4 EC 24 00 32 */ fmuls f1, f4, f0
|
||||
/* 8027A9B8 C0 03 00 1C */ lfs f0, 0x1c(r3)
|
||||
/* 8027A9BC EC 01 00 2A */ fadds f0, f1, f0
|
||||
/* 8027A9C0 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 8027A9C4 D0 04 00 64 */ stfs f0, 0x64(r4)
|
||||
/* 8027A9C8 4E 80 00 20 */ blr
|
||||
lbl_8027A9CC:
|
||||
/* 8027A9CC C0 03 00 10 */ lfs f0, 0x10(r3)
|
||||
/* 8027A9D0 FC 04 00 40 */ fcmpo cr0, f4, f0
|
||||
/* 8027A9D4 40 81 00 28 */ ble lbl_8027A9FC
|
||||
/* 8027A9D8 C0 64 00 68 */ lfs f3, 0x68(r4)
|
||||
/* 8027A9DC C0 42 B8 E0 */ lfs f2, lit_2270(r2)
|
||||
/* 8027A9E0 C0 25 00 18 */ lfs f1, 0x18(r5)
|
||||
/* 8027A9E4 EC 04 00 28 */ fsubs f0, f4, f0
|
||||
/* 8027A9E8 EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 8027A9EC EC 02 00 2A */ fadds f0, f2, f0
|
||||
/* 8027A9F0 EC 03 00 32 */ fmuls f0, f3, f0
|
||||
/* 8027A9F4 D0 04 00 64 */ stfs f0, 0x64(r4)
|
||||
/* 8027A9F8 4E 80 00 20 */ blr
|
||||
lbl_8027A9FC:
|
||||
/* 8027A9FC C0 04 00 68 */ lfs f0, 0x68(r4)
|
||||
/* 8027AA00 D0 04 00 64 */ stfs f0, 0x64(r4)
|
||||
/* 8027AA04 4E 80 00 20 */ blr
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
lbl_8027AD88:
|
||||
/* 8027AD88 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8027AD8C 7C 08 02 A6 */ mflr r0
|
||||
/* 8027AD90 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8027AD94 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8027AD98 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8027AD9C 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 8027ADA0 48 00 00 1D */ bl init__13JPAExtraShapeFv
|
||||
/* 8027ADA4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8027ADA8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8027ADAC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8027ADB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 8027ADB4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8027ADB8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
lbl_8027ADBC:
|
||||
/* 8027ADBC C0 02 B9 00 */ lfs f0, lit_2503(r2)
|
||||
/* 8027ADC0 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 8027ADC4 C0 44 00 2C */ lfs f2, 0x2c(r4)
|
||||
/* 8027ADC8 FC 00 10 00 */ fcmpu cr0, f0, f2
|
||||
/* 8027ADCC 41 82 00 18 */ beq lbl_8027ADE4
|
||||
/* 8027ADD0 C0 24 00 38 */ lfs f1, 0x38(r4)
|
||||
/* 8027ADD4 C0 04 00 34 */ lfs f0, 0x34(r4)
|
||||
/* 8027ADD8 EC 01 00 28 */ fsubs f0, f1, f0
|
||||
/* 8027ADDC EC 00 10 24 */ fdivs f0, f0, f2
|
||||
/* 8027ADE0 48 00 00 08 */ b lbl_8027ADE8
|
||||
lbl_8027ADE4:
|
||||
/* 8027ADE4 C0 02 B8 E0 */ lfs f0, lit_2270(r2)
|
||||
lbl_8027ADE8:
|
||||
/* 8027ADE8 D0 03 00 04 */ stfs f0, 4(r3)
|
||||
/* 8027ADEC C0 42 B8 E0 */ lfs f2, lit_2270(r2)
|
||||
/* 8027ADF0 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 8027ADF4 C0 64 00 30 */ lfs f3, 0x30(r4)
|
||||
/* 8027ADF8 FC 02 18 00 */ fcmpu cr0, f2, f3
|
||||
/* 8027ADFC 41 82 00 18 */ beq lbl_8027AE14
|
||||
/* 8027AE00 C0 24 00 3C */ lfs f1, 0x3c(r4)
|
||||
/* 8027AE04 C0 04 00 38 */ lfs f0, 0x38(r4)
|
||||
/* 8027AE08 EC 21 00 28 */ fsubs f1, f1, f0
|
||||
/* 8027AE0C EC 02 18 28 */ fsubs f0, f2, f3
|
||||
/* 8027AE10 EC 41 00 24 */ fdivs f2, f1, f0
|
||||
lbl_8027AE14:
|
||||
/* 8027AE14 D0 43 00 08 */ stfs f2, 8(r3)
|
||||
/* 8027AE18 C0 02 B9 00 */ lfs f0, lit_2503(r2)
|
||||
/* 8027AE1C 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 8027AE20 C0 44 00 0C */ lfs f2, 0xc(r4)
|
||||
/* 8027AE24 FC 00 10 00 */ fcmpu cr0, f0, f2
|
||||
/* 8027AE28 41 82 00 34 */ beq lbl_8027AE5C
|
||||
/* 8027AE2C C0 22 B8 E0 */ lfs f1, lit_2270(r2)
|
||||
/* 8027AE30 C0 04 00 14 */ lfs f0, 0x14(r4)
|
||||
/* 8027AE34 EC 01 00 28 */ fsubs f0, f1, f0
|
||||
/* 8027AE38 EC 00 10 24 */ fdivs f0, f0, f2
|
||||
/* 8027AE3C D0 03 00 0C */ stfs f0, 0xc(r3)
|
||||
/* 8027AE40 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 8027AE44 C0 04 00 1C */ lfs f0, 0x1c(r4)
|
||||
/* 8027AE48 EC 21 00 28 */ fsubs f1, f1, f0
|
||||
/* 8027AE4C C0 04 00 0C */ lfs f0, 0xc(r4)
|
||||
/* 8027AE50 EC 01 00 24 */ fdivs f0, f1, f0
|
||||
/* 8027AE54 D0 03 00 10 */ stfs f0, 0x10(r3)
|
||||
/* 8027AE58 48 00 00 10 */ b lbl_8027AE68
|
||||
lbl_8027AE5C:
|
||||
/* 8027AE5C C0 02 B8 E0 */ lfs f0, lit_2270(r2)
|
||||
/* 8027AE60 D0 03 00 10 */ stfs f0, 0x10(r3)
|
||||
/* 8027AE64 D0 03 00 0C */ stfs f0, 0xc(r3)
|
||||
lbl_8027AE68:
|
||||
/* 8027AE68 C0 42 B8 E0 */ lfs f2, lit_2270(r2)
|
||||
/* 8027AE6C 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 8027AE70 C0 64 00 10 */ lfs f3, 0x10(r4)
|
||||
/* 8027AE74 FC 02 18 00 */ fcmpu cr0, f2, f3
|
||||
/* 8027AE78 41 82 00 38 */ beq lbl_8027AEB0
|
||||
/* 8027AE7C C0 04 00 18 */ lfs f0, 0x18(r4)
|
||||
/* 8027AE80 EC 20 10 28 */ fsubs f1, f0, f2
|
||||
/* 8027AE84 EC 02 18 28 */ fsubs f0, f2, f3
|
||||
/* 8027AE88 EC 01 00 24 */ fdivs f0, f1, f0
|
||||
/* 8027AE8C D0 03 00 14 */ stfs f0, 0x14(r3)
|
||||
/* 8027AE90 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 8027AE94 C0 04 00 20 */ lfs f0, 0x20(r4)
|
||||
/* 8027AE98 EC 20 10 28 */ fsubs f1, f0, f2
|
||||
/* 8027AE9C C0 04 00 10 */ lfs f0, 0x10(r4)
|
||||
/* 8027AEA0 EC 02 00 28 */ fsubs f0, f2, f0
|
||||
/* 8027AEA4 EC 01 00 24 */ fdivs f0, f1, f0
|
||||
/* 8027AEA8 D0 03 00 18 */ stfs f0, 0x18(r3)
|
||||
/* 8027AEAC 4E 80 00 20 */ blr
|
||||
lbl_8027AEB0:
|
||||
/* 8027AEB0 D0 43 00 18 */ stfs f2, 0x18(r3)
|
||||
/* 8027AEB4 D0 43 00 14 */ stfs f2, 0x14(r3)
|
||||
/* 8027AEB8 4E 80 00 20 */ blr
|
||||
|
|
@ -17,6 +17,9 @@ struct pair {
|
|||
|
||||
struct TSinCosTable {
|
||||
std::pair<f32, f32> table[0x2000];
|
||||
|
||||
f32 sinShort(s16 v) const { return table[static_cast<u16>(v) >> 3].a1; }
|
||||
f32 cosShort(s16 v) const { return table[static_cast<u16>(v) >> 3].b1; }
|
||||
};
|
||||
|
||||
struct TAtanTable {
|
||||
|
|
@ -35,4 +38,12 @@ extern TAtanTable atanTable_;
|
|||
extern TAsinAcosTable asinAcosTable_;
|
||||
}; // namespace JMath
|
||||
|
||||
inline f32 JMASSin(s16 s) {
|
||||
return JMath::sincosTable_.sinShort(s);
|
||||
}
|
||||
|
||||
inline f32 JMASCos(s16 s) {
|
||||
return JMath::sincosTable_.cosShort(s);
|
||||
}
|
||||
|
||||
#endif /* JMATRIGONOMETRIC_H */
|
||||
|
|
|
|||
|
|
@ -3,4 +3,71 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct JPAExtraShapeData {
|
||||
// Common header.
|
||||
/* 0x00 */ u8 mMagic[4];
|
||||
/* 0x04 */ u32 mSize;
|
||||
|
||||
/* 0x08 */ u32 mFlags;
|
||||
/* 0x0C */ f32 mScaleInTiming;
|
||||
/* 0x10 */ f32 mScaleOutTiming;
|
||||
/* 0x14 */ f32 mScaleInValueX;
|
||||
/* 0x18 */ f32 mScaleOutValueX;
|
||||
/* 0x1C */ f32 mScaleInValueY;
|
||||
/* 0x20 */ f32 mScaleOutValueY;
|
||||
/* 0x24 */ f32 mScaleOutRandom;
|
||||
/* 0x28 */ s16 mScaleAnmCycleX;
|
||||
/* 0x2A */ s16 mScaleAnmCycleY;
|
||||
/* 0x2C */ f32 mAlphaInTiming;
|
||||
/* 0x30 */ f32 mAlphaOutTiming;
|
||||
/* 0x34 */ f32 mAlphaInValue;
|
||||
/* 0x38 */ f32 mAlphaBaseValue;
|
||||
/* 0x3C */ f32 mAlphaOutValue;
|
||||
/* 0x40 */ f32 mAlphaWaveFrequency;
|
||||
/* 0x44 */ f32 mAlphaWaveRandom;
|
||||
/* 0x48 */ f32 mAlphaWaveAmplitude;
|
||||
/* 0x4C */ f32 mRotateAngle;
|
||||
/* 0x50 */ f32 mRotateAngleRandom;
|
||||
/* 0x54 */ f32 mRotateSpeed;
|
||||
/* 0x58 */ f32 mRotateSpeedRandom;
|
||||
/* 0x5C */ f32 mRotateDirection;
|
||||
};
|
||||
|
||||
class JPAExtraShape {
|
||||
public:
|
||||
/* 8027AD88 */ JPAExtraShape(u8 const*);
|
||||
/* 8027ADBC */ void init();
|
||||
|
||||
f32 getScaleInTiming() const { return mpData->mScaleInTiming; }
|
||||
f32 getScaleOutTiming() const { return mpData->mScaleOutTiming; }
|
||||
f32 getScaleInValueX() const { return mpData->mScaleInValueX; }
|
||||
f32 getScaleInValueY() const { return mpData->mScaleInValueY; }
|
||||
f32 getScaleOutValueX() const { return mpData->mScaleOutValueX; }
|
||||
f32 getScaleOutValueY() const { return mpData->mScaleOutValueY; }
|
||||
s16 getScaleAnmCycleX() const { return mpData->mScaleAnmCycleX; }
|
||||
s16 getScaleAnmCycleY() const { return mpData->mScaleAnmCycleY; }
|
||||
f32 getAlphaInTiming() const { return mpData->mAlphaInTiming; }
|
||||
f32 getAlphaOutTiming() const { return mpData->mAlphaOutTiming; }
|
||||
f32 getAlphaInValue() const { return mpData->mAlphaInValue; }
|
||||
f32 getAlphaOutValue() const { return mpData->mAlphaOutValue; }
|
||||
f32 getAlphaBaseValue() const { return mpData->mAlphaBaseValue; }
|
||||
f32 getAlphaFreq() const { return mpData->mAlphaWaveFrequency; }
|
||||
f32 getAlphaAmp() const { return mpData->mAlphaWaveAmplitude; }
|
||||
f32 getScaleIncRateX() const { return mScaleIncRateX; }
|
||||
f32 getScaleDecRateX() const { return mScaleDecRateX; }
|
||||
f32 getScaleIncRateY() const { return mScaleIncRateY; }
|
||||
f32 getScaleDecRateY() const { return mScaleDecRateY; }
|
||||
f32 getAlphaIncRate() const { return mAlphaIncRate; }
|
||||
f32 getAlphaDecRate() const { return mAlphaDecRate; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ const JPAExtraShapeData* mpData;
|
||||
/* 0x04 */ f32 mAlphaIncRate;
|
||||
/* 0x08 */ f32 mAlphaDecRate;
|
||||
/* 0x0C */ f32 mScaleIncRateX;
|
||||
/* 0x10 */ f32 mScaleIncRateY;
|
||||
/* 0x14 */ f32 mScaleDecRateX;
|
||||
/* 0x18 */ f32 mScaleDecRateY;
|
||||
};
|
||||
|
||||
#endif /* JPAEXTRASHAPE_H */
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ public:
|
|||
/* 0x74 */ f32 mDrag;
|
||||
/* 0x78 */ u32 field_0x78;
|
||||
/* 0x7C */ u32 mStatus;
|
||||
/* 0x80 */ u16 mAge;
|
||||
/* 0x80 */ s16 mAge;
|
||||
/* 0x82 */ u16 mLifeTime;
|
||||
/* 0x84 */ f32 mTime;
|
||||
/* 0x88 */ u16 mRotateAngle;
|
||||
|
|
|
|||
|
|
@ -304,4 +304,22 @@ inline void* OSPhysicalToCached(u32 offset) {
|
|||
return (void*)(offset + 0x80000000);
|
||||
}
|
||||
|
||||
#endif
|
||||
static inline u8 __OSf32tou8(register f32 src) {
|
||||
f32 tmp;
|
||||
register f32 *p = &tmp;
|
||||
register u8 ret;
|
||||
|
||||
asm
|
||||
{
|
||||
psq_st src, 0(p), 1, 2
|
||||
lbz ret, 0(p)
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void OSf32tou8(register f32* src, volatile register u8* dst) {
|
||||
*dst = __OSf32tou8(*src);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -4,214 +4,144 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JParticle/JPAExtraShape.h"
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "JSystem/JParticle/JPAResource.h"
|
||||
#include "JSystem/JParticle/JPAResourceManager.h"
|
||||
#include "JSystem/JMath/JMATrigonometric.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/os/OS.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JPAExtraShape {
|
||||
/* 8027AD88 */ JPAExtraShape(u8 const*);
|
||||
/* 8027ADBC */ void init();
|
||||
};
|
||||
|
||||
struct JPAEmitterWorkData {};
|
||||
|
||||
struct JPABaseParticle {};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle();
|
||||
extern "C" void __ct__13JPAExtraShapeFPCUc();
|
||||
extern "C" void init__13JPAExtraShapeFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804552E0-804552E8 0038E0 0004+04 6/6 0/0 0/0 .sdata2 @2270 */
|
||||
SECTION_SDATA2 static f32 lit_2270[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 8027A918-8027A990 275258 0078+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleX(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
if (work->mScaleAnm < esp->getScaleInTiming()) {
|
||||
ptcl->mParticleScaleX = ptcl->mScaleOut * (esp->getScaleIncRateX() * work->mScaleAnm + esp->getScaleInValueX());
|
||||
} else if (work->mScaleAnm > esp->getScaleOutTiming()) {
|
||||
ptcl->mParticleScaleX = ptcl->mScaleOut * (esp->getScaleDecRateX() * (work->mScaleAnm - esp->getScaleOutTiming()) + 1.0f);
|
||||
} else {
|
||||
ptcl->mParticleScaleX = ptcl->mScaleOut;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8027A990-8027AA08 2752D0 0078+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleY(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
if (work->mScaleAnm < esp->getScaleInTiming()) {
|
||||
ptcl->mParticleScaleY = ptcl->mScaleOut * (esp->getScaleIncRateY() * work->mScaleAnm + esp->getScaleInValueY());
|
||||
} else if (work->mScaleAnm > esp->getScaleOutTiming()) {
|
||||
ptcl->mParticleScaleY = ptcl->mScaleOut * (esp->getScaleDecRateY() * (work->mScaleAnm - esp->getScaleOutTiming()) + 1.0f);
|
||||
} else {
|
||||
ptcl->mParticleScaleY = ptcl->mScaleOut;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8027AA08-8027AA14 275348 000C+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleCopy(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleCopy(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
ptcl->mParticleScaleY = ptcl->mParticleScaleX;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8027AA14-8027AA20 275354 000C+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleAnmNormal(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleAnmNormal(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
work->mScaleAnm = ptcl->mTime;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804552E8-804552F0 0038E8 0008+00 5/5 0/0 0/0 .sdata2 @2312 */
|
||||
SECTION_SDATA2 static f64 lit_2312 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 8027AA20-8027AA84 275360 0064+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleAnmRepeatX(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleAnmRepeatX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
work->mScaleAnm = (ptcl->mAge % esp->getScaleAnmCycleX()) / (f32)esp->getScaleAnmCycleX();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8027AA84-8027AAE8 2753C4 0064+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleAnmRepeatY(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleAnmRepeatY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
work->mScaleAnm = (ptcl->mAge % esp->getScaleAnmCycleY()) / (f32)esp->getScaleAnmCycleY();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804552F0-804552F4 0038F0 0004+00 2/2 0/0 0/0 .sdata2 @2339 */
|
||||
SECTION_SDATA2 static f32 lit_2339 = 2.0f;
|
||||
|
||||
/* 8027AAE8-8027AB7C 275428 0094+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleAnmReverseX(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleAnmReverseX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
s32 cycle = ptcl->mAge / esp->getScaleAnmCycleX();
|
||||
f32 base = (ptcl->mAge % esp->getScaleAnmCycleX()) / (f32)esp->getScaleAnmCycleX();
|
||||
work->mScaleAnm = base + ((cycle & 1) * (1.0f - base * 2.0f));
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8027AB7C-8027AC10 2754BC 0094+00 0/0 1/1 0/0 .text
|
||||
* JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcScaleAnmReverseY(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcScaleAnmReverseY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
s32 cycle = ptcl->mAge / esp->getScaleAnmCycleY();
|
||||
f32 base = (ptcl->mAge % esp->getScaleAnmCycleY()) / (f32)esp->getScaleAnmCycleY();
|
||||
work->mScaleAnm = base + ((cycle & 1) * (1.0f - base * 2.0f));
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804552F4-804552F8 0038F4 0004+00 2/2 0/0 0/0 .sdata2 @2390 */
|
||||
SECTION_SDATA2 static f32 lit_2390 = 255.0f;
|
||||
|
||||
/* 8027AC10-8027AC98 275550 0088+00 0/0 1/1 0/0 .text
|
||||
* JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcAlphaAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcAlphaAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
f32 alpha;
|
||||
if (ptcl->mTime < esp->getAlphaInTiming()) {
|
||||
alpha = 255.0f * (esp->getAlphaInValue() + esp->getAlphaIncRate() * ptcl->mTime);
|
||||
} else if (ptcl->mTime > esp->getAlphaOutTiming()) {
|
||||
alpha = 255.0f * ((ptcl->mTime - esp->getAlphaOutTiming()) * esp->getAlphaDecRate() + esp->getAlphaBaseValue());
|
||||
} else {
|
||||
alpha = 255.0f * esp->getAlphaBaseValue();
|
||||
}
|
||||
OSf32tou8(&alpha, &ptcl->mPrmColorAlphaAnm);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804552F8-804552FC 0038F8 0004+00 1/1 0/0 0/0 .sdata2 @2433 */
|
||||
SECTION_SDATA2 static f32 lit_2433 = 16384.0f;
|
||||
|
||||
/* 804552FC-80455300 0038FC 0004+00 1/1 0/0 0/0 .sdata2 @2434 */
|
||||
SECTION_SDATA2 static f32 lit_2434 = 0.5f;
|
||||
|
||||
/* 8027AC98-8027AD88 2755D8 00F0+00 0/0 1/1 0/0 .text
|
||||
* JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPACalcAlphaFlickAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s"
|
||||
void JPACalcAlphaFlickAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
|
||||
JPAExtraShape* esp = work->mpRes->getEsp();
|
||||
f32 alpha;
|
||||
if (ptcl->mTime < esp->getAlphaInTiming()) {
|
||||
alpha = (esp->getAlphaInValue() + esp->getAlphaIncRate() * ptcl->mTime);
|
||||
} else if (ptcl->mTime > esp->getAlphaOutTiming()) {
|
||||
alpha = ((ptcl->mTime - esp->getAlphaOutTiming()) * esp->getAlphaDecRate() + esp->getAlphaBaseValue());
|
||||
} else {
|
||||
alpha = esp->getAlphaBaseValue();
|
||||
}
|
||||
s32 theta = ptcl->mAlphaWaveRandom * ptcl->mAge * 16384.0f * (1.0f - esp->getAlphaFreq());
|
||||
f32 wave = JMASSin(theta);
|
||||
alpha *= (1.0f + esp->getAlphaAmp() * (wave - 1.0f) * 0.5f) * 255.0f;
|
||||
OSf32tou8(&alpha, &ptcl->mPrmColorAlphaAnm);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8027AD88-8027ADBC 2756C8 0034+00 0/0 1/1 0/0 .text __ct__13JPAExtraShapeFPCUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JPAExtraShape::JPAExtraShape(u8 const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/__ct__13JPAExtraShapeFPCUc.s"
|
||||
JPAExtraShape::JPAExtraShape(u8 const* data) {
|
||||
mpData = (const JPAExtraShapeData*)data;
|
||||
init();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455300-80455308 003900 0004+04 1/1 0/0 0/0 .sdata2 @2503 */
|
||||
SECTION_SDATA2 static f32 lit_2503[1 + 1 /* padding */] = {
|
||||
0.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 8027ADBC-8027AEBC 2756FC 0100+00 1/1 0/0 0/0 .text init__13JPAExtraShapeFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JPAExtraShape::init() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JParticle/JPAExtraShape/init__13JPAExtraShapeFv.s"
|
||||
void JPAExtraShape::init() {
|
||||
mAlphaIncRate = (getAlphaInTiming() != 0.0f) ? (getAlphaBaseValue() - getAlphaInValue()) / getAlphaInTiming() : 1.0f;
|
||||
mAlphaDecRate = (getAlphaOutTiming() != 1.0f) ? (getAlphaOutValue() - getAlphaBaseValue()) / (1.0f - getAlphaOutTiming()) : 1.0f;
|
||||
|
||||
if (getScaleInTiming() != 0.0f) {
|
||||
mScaleIncRateX = (1.0f - getScaleInValueX()) / getScaleInTiming();
|
||||
mScaleIncRateY = (1.0f - getScaleInValueY()) / getScaleInTiming();
|
||||
} else {
|
||||
mScaleIncRateX = mScaleIncRateY = 1.0f;
|
||||
}
|
||||
|
||||
if (getScaleOutTiming() != 1.0f) {
|
||||
mScaleDecRateX = (getScaleOutValueX() - 1.0f) / (1.0f - getScaleOutTiming());
|
||||
mScaleDecRateY = (getScaleOutValueY() - 1.0f) / (1.0f - getScaleOutTiming());
|
||||
} else {
|
||||
mScaleDecRateX = mScaleDecRateY = 1.0f;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
|
|
|||
Loading…
Reference in New Issue