Match & link CIntElement

This commit is contained in:
Luke Street 2022-10-09 12:34:58 -04:00
parent ac068fd97d
commit a110979970
36 changed files with 2011 additions and 1349 deletions

View File

@ -19,8 +19,8 @@ lbl_805A96B0:
.section .text, "ax"
.global sub_8036ca64
sub_8036ca64:
.global __dl__8IElementFPvUl
__dl__8IElementFPvUl:
/* 8036CA64 003699C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CA68 003699C8 7C 08 02 A6 */ mflr r0
/* 8036CA6C 003699CC 90 01 00 14 */ stw r0, 0x14(r1)
@ -30,8 +30,8 @@ sub_8036ca64:
/* 8036CA7C 003699DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8036CA80 003699E0 4E 80 00 20 */ blr
.global __nw__FUlPCcPCc_0
__nw__FUlPCcPCc_0:
.global __nw__8IElementFUl
__nw__8IElementFUl:
/* 8036CA84 003699E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036CA88 003699E8 7C 08 02 A6 */ mflr r0
/* 8036CA8C 003699EC 90 01 00 14 */ stw r0, 0x14(r1)
@ -415,4 +415,3 @@ lbl_803D8568:
# ROM: 0x3D5568
.asciz "??(??)"
.balign 4

View File

@ -164,19 +164,19 @@ __dt__16CCEParticleColor:
/* 803163E4 00313344 38 03 DA 00 */ addi r0, r3, lbl_803EDA00@l
/* 803163E8 00313348 90 1F 00 00 */ stw r0, 0(r31)
/* 803163EC 0031334C 41 82 00 20 */ beq lbl_8031640C
/* 803163F0 00313350 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 803163F4 00313354 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 803163F0 00313350 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803163F4 00313354 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803163F8 00313358 90 1F 00 00 */ stw r0, 0(r31)
/* 803163FC 0031335C 41 82 00 10 */ beq lbl_8031640C
/* 80316400 00313360 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80316404 00313364 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80316400 00313360 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316404 00313364 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316408 00313368 90 1F 00 00 */ stw r0, 0(r31)
lbl_8031640C:
/* 8031640C 0031336C 7C 80 07 35 */ extsh. r0, r4
/* 80316410 00313370 40 81 00 10 */ ble lbl_80316420
/* 80316414 00313374 7F E3 FB 78 */ mr r3, r31
/* 80316418 00313378 38 80 00 04 */ li r4, 4
/* 8031641C 0031337C 48 05 66 49 */ bl sub_8036ca64
/* 8031641C 0031337C 48 05 66 49 */ bl __dl__8IElementFPvUl
lbl_80316420:
/* 80316420 00313380 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80316424 00313384 7F E3 FB 78 */ mr r3, r31
@ -204,7 +204,7 @@ GetValue__18CCEKeyframeEmitterCFiR6CColor:
/* 80316464 003133C4 2C 00 00 00 */ cmpwi r0, 0
/* 80316468 003133C8 40 82 00 A0 */ bne lbl_80316508
/* 8031646C 003133CC 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80316470 003133D0 80 ED A8 D8 */ lwz r7, lbl_805A9498@sda21(r13)
/* 80316470 003133D0 80 ED A8 D8 */ lwz r7, mEmitterTime__16CParticleGlobals@sda21(r13)
/* 80316474 003133D4 28 00 00 00 */ cmplwi r0, 0
/* 80316478 003133D8 90 E1 00 10 */ stw r7, 0x10(r1)
/* 8031647C 003133DC 41 82 00 50 */ beq lbl_803164CC
@ -247,7 +247,7 @@ lbl_80316500:
/* 80316500 00313460 38 60 00 00 */ li r3, 0
/* 80316504 00313464 48 00 00 54 */ b lbl_80316558
lbl_80316508:
/* 80316508 00313468 80 8D A8 E0 */ lwz r4, lbl_805A94A0@sda21(r13)
/* 80316508 00313468 80 8D A8 E0 */ lwz r4, mParticleLifetimePercentage__16CParticleGlobals@sda21(r13)
/* 8031650C 0031346C 2C 04 00 64 */ cmpwi r4, 0x64
/* 80316510 00313470 40 82 00 18 */ bne lbl_80316528
/* 80316514 00313474 80 63 00 24 */ lwz r3, 0x24(r3)
@ -259,7 +259,7 @@ lbl_80316528:
/* 80316528 00313488 38 04 00 01 */ addi r0, r4, 1
/* 8031652C 0031348C 80 C3 00 24 */ lwz r6, 0x24(r3)
/* 80316530 00313490 54 03 10 3A */ slwi r3, r0, 2
/* 80316534 00313494 C0 2D A8 E8 */ lfs f1, lbl_805A94A8@sda21(r13)
/* 80316534 00313494 C0 2D A8 E8 */ lfs f1, mParticleLifetimePercentageRemainder__16CParticleGlobals@sda21(r13)
/* 80316538 00313498 54 80 10 3A */ slwi r0, r4, 2
/* 8031653C 0031349C 7C A6 1A 14 */ add r5, r6, r3
/* 80316540 003134A0 38 61 00 08 */ addi r3, r1, 8
@ -312,19 +312,19 @@ lbl_803165CC:
lbl_803165E0:
/* 803165E0 00313540 28 1E 00 00 */ cmplwi r30, 0
/* 803165E4 00313544 41 82 00 20 */ beq lbl_80316604
/* 803165E8 00313548 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 803165EC 0031354C 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 803165E8 00313548 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803165EC 0031354C 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803165F0 00313550 90 1E 00 00 */ stw r0, 0(r30)
/* 803165F4 00313554 41 82 00 10 */ beq lbl_80316604
/* 803165F8 00313558 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803165FC 0031355C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803165F8 00313558 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803165FC 0031355C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316600 00313560 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316604:
/* 80316604 00313564 7F E0 07 35 */ extsh. r0, r31
/* 80316608 00313568 40 81 00 10 */ ble lbl_80316618
/* 8031660C 0031356C 7F C3 F3 78 */ mr r3, r30
/* 80316610 00313570 38 80 00 28 */ li r4, 0x28
/* 80316614 00313574 48 05 64 51 */ bl sub_8036ca64
/* 80316614 00313574 48 05 64 51 */ bl __dl__8IElementFPvUl
lbl_80316618:
/* 80316618 00313578 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031661C 0031357C 7F C3 F3 78 */ mr r3, r30
@ -338,20 +338,20 @@ lbl_80316618:
__ct__18CCEKeyframeEmitterFR12CInputStream:
/* 80316634 00313594 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80316638 00313598 7C 08 02 A6 */ mflr r0
/* 8031663C 0031359C 3C A0 80 3F */ lis r5, lbl_803EC5B4@ha
/* 8031663C 0031359C 3C A0 80 3F */ lis r5, __vt__13CColorElement@ha
/* 80316640 003135A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80316644 003135A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80316648 003135A8 7C 9F 23 78 */ mr r31, r4
/* 8031664C 003135AC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80316650 003135B0 7C 7E 1B 78 */ mr r30, r3
/* 80316654 003135B4 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80316654 003135B4 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316658 003135B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8031665C 003135BC 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 8031665C 003135BC 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316660 003135C0 3C 60 80 3F */ lis r3, lbl_803EDA10@ha
/* 80316664 003135C4 7F C6 F3 78 */ mr r6, r30
/* 80316668 003135C8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8031666C 003135CC 90 1E 00 00 */ stw r0, 0(r30)
/* 80316670 003135D0 38 05 C5 B4 */ addi r0, r5, lbl_803EC5B4@l
/* 80316670 003135D0 38 05 C5 B4 */ addi r0, r5, __vt__13CColorElement@l
/* 80316674 003135D4 90 1E 00 00 */ stw r0, 0(r30)
/* 80316678 003135D8 38 03 DA 10 */ addi r0, r3, lbl_803EDA10@l
/* 8031667C 003135DC 7F E3 FB 78 */ mr r3, r31
@ -557,19 +557,19 @@ lbl_80316930:
lbl_80316950:
/* 80316950 003138B0 28 1E 00 00 */ cmplwi r30, 0
/* 80316954 003138B4 41 82 00 20 */ beq lbl_80316974
/* 80316958 003138B8 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 8031695C 003138BC 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 80316958 003138B8 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 8031695C 003138BC 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80316960 003138C0 90 1E 00 00 */ stw r0, 0(r30)
/* 80316964 003138C4 41 82 00 10 */ beq lbl_80316974
/* 80316968 003138C8 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 8031696C 003138CC 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80316968 003138C8 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8031696C 003138CC 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316970 003138D0 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316974:
/* 80316974 003138D4 7F E0 07 35 */ extsh. r0, r31
/* 80316978 003138D8 40 81 00 10 */ ble lbl_80316988
/* 8031697C 003138DC 7F C3 F3 78 */ mr r3, r30
/* 80316980 003138E0 38 80 00 14 */ li r4, 0x14
/* 80316984 003138E4 48 05 60 E1 */ bl sub_8036ca64
/* 80316984 003138E4 48 05 60 E1 */ bl __dl__8IElementFPvUl
lbl_80316988:
/* 80316988 003138E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031698C 003138EC 7F C3 F3 78 */ mr r3, r30
@ -581,12 +581,12 @@ lbl_80316988:
.global __ct__8CCEPulseFP11CIntElementP11CIntElementP13CColorElementP13CColorElement
__ct__8CCEPulseFP11CIntElementP11CIntElementP13CColorElementP13CColorElement:
/* 803169A4 00313904 3D 40 80 3F */ lis r10, lbl_803EC5A8@ha
/* 803169A8 00313908 3D 20 80 3F */ lis r9, lbl_803EC5B4@ha
/* 803169AC 0031390C 38 0A C5 A8 */ addi r0, r10, lbl_803EC5A8@l
/* 803169A4 00313904 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 803169A8 00313908 3D 20 80 3F */ lis r9, __vt__13CColorElement@ha
/* 803169AC 0031390C 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 803169B0 00313910 3D 00 80 3F */ lis r8, lbl_803EDA20@ha
/* 803169B4 00313914 90 03 00 00 */ stw r0, 0(r3)
/* 803169B8 00313918 39 29 C5 B4 */ addi r9, r9, lbl_803EC5B4@l
/* 803169B8 00313918 39 29 C5 B4 */ addi r9, r9, __vt__13CColorElement@l
/* 803169BC 0031391C 38 08 DA 20 */ addi r0, r8, lbl_803EDA20@l
/* 803169C0 00313920 91 23 00 00 */ stw r9, 0(r3)
/* 803169C4 00313924 90 03 00 00 */ stw r0, 0(r3)
@ -683,19 +683,19 @@ lbl_80316AE8:
lbl_80316B08:
/* 80316B08 00313A68 28 1E 00 00 */ cmplwi r30, 0
/* 80316B0C 00313A6C 41 82 00 20 */ beq lbl_80316B2C
/* 80316B10 00313A70 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 80316B14 00313A74 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 80316B10 00313A70 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 80316B14 00313A74 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80316B18 00313A78 90 1E 00 00 */ stw r0, 0(r30)
/* 80316B1C 00313A7C 41 82 00 10 */ beq lbl_80316B2C
/* 80316B20 00313A80 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80316B24 00313A84 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80316B20 00313A80 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316B24 00313A84 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316B28 00313A88 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316B2C:
/* 80316B2C 00313A8C 7F E0 07 35 */ extsh. r0, r31
/* 80316B30 00313A90 40 81 00 10 */ ble lbl_80316B40
/* 80316B34 00313A94 7F C3 F3 78 */ mr r3, r30
/* 80316B38 00313A98 38 80 00 10 */ li r4, 0x10
/* 80316B3C 00313A9C 48 05 5F 29 */ bl sub_8036ca64
/* 80316B3C 00313A9C 48 05 5F 29 */ bl __dl__8IElementFPvUl
lbl_80316B40:
/* 80316B40 00313AA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80316B44 00313AA4 7F C3 F3 78 */ mr r3, r30
@ -707,12 +707,12 @@ lbl_80316B40:
.global __ct__12CCETimeChainFP13CColorElementP13CColorElementP11CIntElement
__ct__12CCETimeChainFP13CColorElementP13CColorElementP11CIntElement:
/* 80316B5C 00313ABC 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 80316B60 00313AC0 3D 00 80 3F */ lis r8, lbl_803EC5B4@ha
/* 80316B64 00313AC4 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 80316B5C 00313ABC 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80316B60 00313AC0 3D 00 80 3F */ lis r8, __vt__13CColorElement@ha
/* 80316B64 00313AC4 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80316B68 00313AC8 3C E0 80 3F */ lis r7, lbl_803EDA30@ha
/* 80316B6C 00313ACC 90 03 00 00 */ stw r0, 0(r3)
/* 80316B70 00313AD0 39 08 C5 B4 */ addi r8, r8, lbl_803EC5B4@l
/* 80316B70 00313AD0 39 08 C5 B4 */ addi r8, r8, __vt__13CColorElement@l
/* 80316B74 00313AD4 38 07 DA 30 */ addi r0, r7, lbl_803EDA30@l
/* 80316B78 00313AD8 91 03 00 00 */ stw r8, 0(r3)
/* 80316B7C 00313ADC 90 03 00 00 */ stw r0, 0(r3)
@ -893,19 +893,19 @@ lbl_80316DEC:
lbl_80316E0C:
/* 80316E0C 00313D6C 28 1E 00 00 */ cmplwi r30, 0
/* 80316E10 00313D70 41 82 00 20 */ beq lbl_80316E30
/* 80316E14 00313D74 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 80316E18 00313D78 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 80316E14 00313D74 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 80316E18 00313D78 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80316E1C 00313D7C 90 1E 00 00 */ stw r0, 0(r30)
/* 80316E20 00313D80 41 82 00 10 */ beq lbl_80316E30
/* 80316E24 00313D84 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80316E28 00313D88 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80316E24 00313D84 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80316E28 00313D88 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80316E2C 00313D8C 90 1E 00 00 */ stw r0, 0(r30)
lbl_80316E30:
/* 80316E30 00313D90 7F E0 07 35 */ extsh. r0, r31
/* 80316E34 00313D94 40 81 00 10 */ ble lbl_80316E44
/* 80316E38 00313D98 7F C3 F3 78 */ mr r3, r30
/* 80316E3C 00313D9C 38 80 00 14 */ li r4, 0x14
/* 80316E40 00313DA0 48 05 5C 25 */ bl sub_8036ca64
/* 80316E40 00313DA0 48 05 5C 25 */ bl __dl__8IElementFPvUl
lbl_80316E44:
/* 80316E44 00313DA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80316E48 00313DA8 7F C3 F3 78 */ mr r3, r30
@ -917,12 +917,12 @@ lbl_80316E44:
.global __ct__10CCEFadeEndFP13CColorElementP13CColorElementP12CRealElementP12CRealElement
__ct__10CCEFadeEndFP13CColorElementP13CColorElementP12CRealElementP12CRealElement:
/* 80316E60 00313DC0 3D 40 80 3F */ lis r10, lbl_803EC5A8@ha
/* 80316E64 00313DC4 3D 20 80 3F */ lis r9, lbl_803EC5B4@ha
/* 80316E68 00313DC8 38 0A C5 A8 */ addi r0, r10, lbl_803EC5A8@l
/* 80316E60 00313DC0 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 80316E64 00313DC4 3D 20 80 3F */ lis r9, __vt__13CColorElement@ha
/* 80316E68 00313DC8 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 80316E6C 00313DCC 3D 00 80 3F */ lis r8, lbl_803EDA40@ha
/* 80316E70 00313DD0 90 03 00 00 */ stw r0, 0(r3)
/* 80316E74 00313DD4 39 29 C5 B4 */ addi r9, r9, lbl_803EC5B4@l
/* 80316E74 00313DD4 39 29 C5 B4 */ addi r9, r9, __vt__13CColorElement@l
/* 80316E78 00313DD8 38 08 DA 40 */ addi r0, r8, lbl_803EDA40@l
/* 80316E7C 00313DDC 91 23 00 00 */ stw r9, 0(r3)
/* 80316E80 00313DE0 90 03 00 00 */ stw r0, 0(r3)
@ -1086,19 +1086,19 @@ lbl_803170B0:
lbl_803170D0:
/* 803170D0 00314030 28 1E 00 00 */ cmplwi r30, 0
/* 803170D4 00314034 41 82 00 20 */ beq lbl_803170F4
/* 803170D8 00314038 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 803170DC 0031403C 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 803170D8 00314038 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803170DC 0031403C 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803170E0 00314040 90 1E 00 00 */ stw r0, 0(r30)
/* 803170E4 00314044 41 82 00 10 */ beq lbl_803170F4
/* 803170E8 00314048 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803170EC 0031404C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803170E8 00314048 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803170EC 0031404C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803170F0 00314050 90 1E 00 00 */ stw r0, 0(r30)
lbl_803170F4:
/* 803170F4 00314054 7F E0 07 35 */ extsh. r0, r31
/* 803170F8 00314058 40 81 00 10 */ ble lbl_80317108
/* 803170FC 0031405C 7F C3 F3 78 */ mr r3, r30
/* 80317100 00314060 38 80 00 10 */ li r4, 0x10
/* 80317104 00314064 48 05 59 61 */ bl sub_8036ca64
/* 80317104 00314064 48 05 59 61 */ bl __dl__8IElementFPvUl
lbl_80317108:
/* 80317108 00314068 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031710C 0031406C 7F C3 F3 78 */ mr r3, r30
@ -1110,12 +1110,12 @@ lbl_80317108:
.global __ct__7CCEFadeFP13CColorElementP13CColorElementP12CRealElement
__ct__7CCEFadeFP13CColorElementP13CColorElementP12CRealElement:
/* 80317124 00314084 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 80317128 00314088 3D 00 80 3F */ lis r8, lbl_803EC5B4@ha
/* 8031712C 0031408C 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 80317124 00314084 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80317128 00314088 3D 00 80 3F */ lis r8, __vt__13CColorElement@ha
/* 8031712C 0031408C 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80317130 00314090 3C E0 80 3F */ lis r7, lbl_803EDA50@ha
/* 80317134 00314094 90 03 00 00 */ stw r0, 0(r3)
/* 80317138 00314098 39 08 C5 B4 */ addi r8, r8, lbl_803EC5B4@l
/* 80317138 00314098 39 08 C5 B4 */ addi r8, r8, __vt__13CColorElement@l
/* 8031713C 0031409C 38 07 DA 50 */ addi r0, r7, lbl_803EDA50@l
/* 80317140 003140A0 91 03 00 00 */ stw r8, 0(r3)
/* 80317144 003140A4 90 03 00 00 */ stw r0, 0(r3)
@ -1143,19 +1143,19 @@ __dt__15CCEFastConstantFv:
/* 80317184 003140E4 38 03 DA 60 */ addi r0, r3, lbl_803EDA60@l
/* 80317188 003140E8 90 1F 00 00 */ stw r0, 0(r31)
/* 8031718C 003140EC 41 82 00 20 */ beq lbl_803171AC
/* 80317190 003140F0 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 80317194 003140F4 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 80317190 003140F0 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 80317194 003140F4 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 80317198 003140F8 90 1F 00 00 */ stw r0, 0(r31)
/* 8031719C 003140FC 41 82 00 10 */ beq lbl_803171AC
/* 803171A0 00314100 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803171A4 00314104 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803171A0 00314100 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803171A4 00314104 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803171A8 00314108 90 1F 00 00 */ stw r0, 0(r31)
lbl_803171AC:
/* 803171AC 0031410C 7C 80 07 35 */ extsh. r0, r4
/* 803171B0 00314110 40 81 00 10 */ ble lbl_803171C0
/* 803171B4 00314114 7F E3 FB 78 */ mr r3, r31
/* 803171B8 00314118 38 80 00 08 */ li r4, 8
/* 803171BC 0031411C 48 05 58 A9 */ bl sub_8036ca64
/* 803171BC 0031411C 48 05 58 A9 */ bl __dl__8IElementFPvUl
lbl_803171C0:
/* 803171C0 00314120 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803171C4 00314124 7F E3 FB 78 */ mr r3, r31
@ -1177,11 +1177,11 @@ __ct__15CCEFastConstantFffff:
/* 803171F8 00314158 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
/* 803171FC 0031415C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80317200 00314160 7C 7F 1B 78 */ mr r31, r3
/* 80317204 00314164 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80317208 00314168 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 8031720C 0031416C 3C 80 80 3F */ lis r4, lbl_803EC5B4@ha
/* 80317204 00314164 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80317208 00314168 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 8031720C 0031416C 3C 80 80 3F */ lis r4, __vt__13CColorElement@ha
/* 80317210 00314170 90 1F 00 00 */ stw r0, 0(r31)
/* 80317214 00314174 38 04 C5 B4 */ addi r0, r4, lbl_803EC5B4@l
/* 80317214 00314174 38 04 C5 B4 */ addi r0, r4, __vt__13CColorElement@l
/* 80317218 00314178 3C 60 80 3F */ lis r3, lbl_803EDA60@ha
/* 8031721C 0031417C 38 C0 00 FF */ li r6, 0xff
/* 80317220 00314180 90 1F 00 00 */ stw r0, 0(r31)
@ -1361,19 +1361,19 @@ lbl_80317494:
lbl_803174B4:
/* 803174B4 00314414 28 1E 00 00 */ cmplwi r30, 0
/* 803174B8 00314418 41 82 00 20 */ beq lbl_803174D8
/* 803174BC 0031441C 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 803174C0 00314420 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 803174BC 0031441C 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 803174C0 00314420 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 803174C4 00314424 90 1E 00 00 */ stw r0, 0(r30)
/* 803174C8 00314428 41 82 00 10 */ beq lbl_803174D8
/* 803174CC 0031442C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803174D0 00314430 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803174CC 0031442C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803174D0 00314430 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803174D4 00314434 90 1E 00 00 */ stw r0, 0(r30)
lbl_803174D8:
/* 803174D8 00314438 7F E0 07 35 */ extsh. r0, r31
/* 803174DC 0031443C 40 81 00 10 */ ble lbl_803174EC
/* 803174E0 00314440 7F C3 F3 78 */ mr r3, r30
/* 803174E4 00314444 38 80 00 14 */ li r4, 0x14
/* 803174E8 00314448 48 05 55 7D */ bl sub_8036ca64
/* 803174E8 00314448 48 05 55 7D */ bl __dl__8IElementFPvUl
lbl_803174EC:
/* 803174EC 0031444C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803174F0 00314450 7F C3 F3 78 */ mr r3, r30
@ -1385,12 +1385,12 @@ lbl_803174EC:
.global __ct__11CCEConstantFP12CRealElementP12CRealElementP12CRealElementP12CRealElement
__ct__11CCEConstantFP12CRealElementP12CRealElementP12CRealElementP12CRealElement:
/* 80317508 00314468 3D 40 80 3F */ lis r10, lbl_803EC5A8@ha
/* 8031750C 0031446C 3D 20 80 3F */ lis r9, lbl_803EC5B4@ha
/* 80317510 00314470 38 0A C5 A8 */ addi r0, r10, lbl_803EC5A8@l
/* 80317508 00314468 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 8031750C 0031446C 3D 20 80 3F */ lis r9, __vt__13CColorElement@ha
/* 80317510 00314470 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 80317514 00314474 3D 00 80 3F */ lis r8, lbl_803EDA70@ha
/* 80317518 00314478 90 03 00 00 */ stw r0, 0(r3)
/* 8031751C 0031447C 39 29 C5 B4 */ addi r9, r9, lbl_803EC5B4@l
/* 8031751C 0031447C 39 29 C5 B4 */ addi r9, r9, __vt__13CColorElement@l
/* 80317520 00314480 38 08 DA 70 */ addi r0, r8, lbl_803EDA70@l
/* 80317524 00314484 91 23 00 00 */ stw r9, 0(r3)
/* 80317528 00314488 90 03 00 00 */ stw r0, 0(r3)
@ -1492,4 +1492,3 @@ lbl_803D7840:
# ROM: 0x3D4840
.asciz "??(??)"
.balign 4

View File

@ -77,28 +77,28 @@ lbl_805A88D0:
.section .bss
.balign 8
.lcomm lbl_804BFE28, 0x20, 4
.lcomm lbl_804BFE48, 0x20, 4
.lcomm lbl_804BFE68, 0x4C, 4
.lcomm lbl_804BFEB4, 0x4C, 4
.lcomm mStaticParticleList, 0x20, 4
.lcomm mStaticFreeList, 0x20, 4
.lcomm "ModulatePreviousTEVWithRasColor$6239", 0x4C, 4
.lcomm "ModulatePreviousTEVWithRasColor$6760", 0x4C, 4
.section .sbss, "wa"
.balign 8
# TODO this probably isn't split properly
.global lbl_805A9470
lbl_805A9470:
.global mParticleAliveCount__11CElementGen
mParticleAliveCount__11CElementGen:
.skip 0x4
.global lbl_805A9474
lbl_805A9474:
.global mParticleSystemAliveCount__11CElementGen
mParticleSystemAliveCount__11CElementGen:
.skip 0x4
.global lbl_805A9478
lbl_805A9478:
.global sMoveRedToAlphaBuffer__11CElementGen
sMoveRedToAlphaBuffer__11CElementGen:
.skip 0x1
.global lbl_805A9479
lbl_805A9479:
.global sSubtractBlend__11CElementGen
sSubtractBlend__11CElementGen:
.skip 0x1
.global lbl_805A947A
lbl_805A947A:
.global sStaticListInitialized
sStaticListInitialized:
.skip 0x1
.global lbl_805A947B
lbl_805A947B:
@ -392,8 +392,8 @@ SystemHasLight__11CElementGenCFv:
/* 8031797C 003148DC 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80317980 003148E0 4E 80 00 20 */ blr
.global GetEmitterTime__11CElementGenFv
GetEmitterTime__11CElementGenFv:
.global GetEmitterTime__11CElementGenCFv
GetEmitterTime__11CElementGenCFv:
/* 80317984 003148E4 80 63 00 74 */ lwz r3, 0x74(r3)
/* 80317988 003148E8 4E 80 00 20 */ blr
@ -822,7 +822,7 @@ lbl_80317F48:
/* 80317F74 00314ED4 88 64 00 31 */ lbz r3, 0x31(r4)
/* 80317F78 00314ED8 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 80317F7C 00314EDC 41 82 02 A8 */ beq lbl_80318224
/* 80317F80 00314EE0 88 0D A8 B8 */ lbz r0, lbl_805A9478@sda21(r13)
/* 80317F80 00314EE0 88 0D A8 B8 */ lbz r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 80317F84 00314EE4 3A 80 00 00 */ li r20, 0
/* 80317F88 00314EE8 28 00 00 00 */ cmplwi r0, 0
/* 80317F8C 00314EEC 41 82 00 1C */ beq lbl_80317FA8
@ -1441,7 +1441,7 @@ lbl_80318848:
/* 803188C8 00315828 4B FF 2B 49 */ bl StreamEnd__9CGraphicsFv
/* 803188CC 0031582C 48 00 01 80 */ b lbl_80318A4C
lbl_803188D0:
/* 803188D0 00315830 88 0D A8 B9 */ lbz r0, lbl_805A9479@sda21(r13)
/* 803188D0 00315830 88 0D A8 B9 */ lbz r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 803188D4 00315834 83 84 00 50 */ lwz r28, 0x50(r4)
/* 803188D8 00315838 28 00 00 00 */ cmplwi r0, 0
/* 803188DC 0031583C 41 82 00 6C */ beq lbl_80318948
@ -1784,9 +1784,9 @@ lbl_80318CBC:
/* 80318DEC 00315D4C 38 80 00 0F */ li r4, 0xf
/* 80318DF0 00315D50 4B FF 03 35 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 80318DF4 00315D54 80 A1 00 28 */ lwz r5, 0x28(r1)
/* 80318DF8 00315D58 3C 60 80 4C */ lis r3, lbl_804BFEB4@ha
/* 80318DF8 00315D58 3C 60 80 4C */ lis r3, "ModulatePreviousTEVWithRasColor$6760"@ha
/* 80318DFC 00315D5C 81 21 00 24 */ lwz r9, 0x24(r1)
/* 80318E00 00315D60 38 63 FE B4 */ addi r3, r3, lbl_804BFEB4@l
/* 80318E00 00315D60 38 63 FE B4 */ addi r3, r3, "ModulatePreviousTEVWithRasColor$6760"@l
/* 80318E04 00315D64 81 01 00 20 */ lwz r8, 0x20(r1)
/* 80318E08 00315D68 38 81 00 78 */ addi r4, r1, 0x78
/* 80318E0C 00315D6C 80 01 00 1C */ lwz r0, 0x1c(r1)
@ -1801,9 +1801,9 @@ lbl_80318CBC:
/* 80318E30 00315D90 38 00 00 01 */ li r0, 1
/* 80318E34 00315D94 98 0D A8 C5 */ stb r0, lbl_805A9485@sda21(r13)
lbl_80318E38:
/* 80318E38 00315D98 3C 80 80 4C */ lis r4, lbl_804BFEB4@ha
/* 80318E38 00315D98 3C 80 80 4C */ lis r4, "ModulatePreviousTEVWithRasColor$6760"@ha
/* 80318E3C 00315D9C 38 60 00 01 */ li r3, 1
/* 80318E40 00315DA0 38 84 FE B4 */ addi r4, r4, lbl_804BFEB4@l
/* 80318E40 00315DA0 38 84 FE B4 */ addi r4, r4, "ModulatePreviousTEVWithRasColor$6760"@l
/* 80318E44 00315DA4 4B FF 14 75 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80318E48 00315DA8 48 00 00 10 */ b lbl_80318E58
lbl_80318E4C:
@ -2928,7 +2928,7 @@ sub_80319e3c:
/* 80319F20 00316E80 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13)
/* 80319F24 00316E84 38 60 00 01 */ li r3, 1
/* 80319F28 00316E88 4B FF 03 91 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80319F2C 00316E8C 8B AD A8 B8 */ lbz r29, lbl_805A9478@sda21(r13)
/* 80319F2C 00316E8C 8B AD A8 B8 */ lbz r29, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 80319F30 00316E90 7F D0 F3 78 */ mr r16, r30
/* 80319F34 00316E94 3A 20 00 00 */ li r17, 0
/* 80319F38 00316E98 48 00 00 4C */ b lbl_80319F84
@ -3158,7 +3158,7 @@ lbl_8031A27C:
/* 8031A28C 003171EC 57 93 13 BA */ rlwinm r19, r28, 2, 0xe, 0x1d
/* 8031A290 003171F0 7E BE 98 2E */ lwzx r21, r30, r19
/* 8031A294 003171F4 7E A3 AB 78 */ mr r3, r21
/* 8031A298 003171F8 4B FF D6 ED */ bl GetEmitterTime__11CElementGenFv
/* 8031A298 003171F8 4B FF D6 ED */ bl GetEmitterTime__11CElementGenCFv
/* 8031A29C 003171FC 7C 9E 98 2E */ lwzx r4, r30, r19
/* 8031A2A0 00317200 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 8031A2A4 00317204 7C 77 1B 78 */ mr r23, r3
@ -3619,9 +3619,9 @@ lbl_8031A858:
/* 8031A988 003178E8 38 80 00 0F */ li r4, 0xf
/* 8031A98C 003178EC 4B FE E7 99 */ bl __ct__Q213CTevCombiners8ColorVarFQ213CTevCombiners9EColorSrc
/* 8031A990 003178F0 80 BF 00 30 */ lwz r5, 0x30(r31)
/* 8031A994 003178F4 3C 60 80 4C */ lis r3, lbl_804BFE68@ha
/* 8031A994 003178F4 3C 60 80 4C */ lis r3, "ModulatePreviousTEVWithRasColor$6239"@ha
/* 8031A998 003178F8 81 3F 00 2C */ lwz r9, 0x2c(r31)
/* 8031A99C 003178FC 38 63 FE 68 */ addi r3, r3, lbl_804BFE68@l
/* 8031A99C 003178FC 38 63 FE 68 */ addi r3, r3, "ModulatePreviousTEVWithRasColor$6239"@l
/* 8031A9A0 00317900 81 1F 00 28 */ lwz r8, 0x28(r31)
/* 8031A9A4 00317904 38 9F 01 0C */ addi r4, r31, 0x10c
/* 8031A9A8 00317908 80 1F 00 24 */ lwz r0, 0x24(r31)
@ -3636,9 +3636,9 @@ lbl_8031A858:
/* 8031A9CC 0031792C 38 00 00 01 */ li r0, 1
/* 8031A9D0 00317930 98 0D A8 BB */ stb r0, lbl_805A947B@sda21(r13)
lbl_8031A9D4:
/* 8031A9D4 00317934 3C 80 80 4C */ lis r4, lbl_804BFE68@ha
/* 8031A9D4 00317934 3C 80 80 4C */ lis r4, "ModulatePreviousTEVWithRasColor$6239"@ha
/* 8031A9D8 00317938 38 60 00 01 */ li r3, 1
/* 8031A9DC 0031793C 38 84 FE 68 */ addi r4, r4, lbl_804BFE68@l
/* 8031A9DC 0031793C 38 84 FE 68 */ addi r4, r4, "ModulatePreviousTEVWithRasColor$6239"@l
/* 8031A9E0 00317940 4B FE F8 D9 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 8031A9E4 00317944 48 00 00 10 */ b lbl_8031A9F4
lbl_8031A9E8:
@ -3716,8 +3716,8 @@ lbl_8031AAF0:
/* 8031AAF4 00317A54 4B FE E3 5D */ bl SetNumChans__3CGXFUc
/* 8031AAF8 00317A58 3B 60 00 01 */ li r27, 1
lbl_8031AAFC:
/* 8031AAFC 00317A5C 88 0D A8 B9 */ lbz r0, lbl_805A9479@sda21(r13)
/* 8031AB00 00317A60 8B 4D A8 B8 */ lbz r26, lbl_805A9478@sda21(r13)
/* 8031AAFC 00317A5C 88 0D A8 B9 */ lbz r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8031AB00 00317A60 8B 4D A8 B8 */ lbz r26, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 8031AB04 00317A64 28 00 00 00 */ cmplwi r0, 0
/* 8031AB08 00317A68 41 82 00 98 */ beq lbl_8031ABA0
/* 8031AB0C 00317A6C 88 1E 02 6C */ lbz r0, 0x26c(r30)
@ -5511,14 +5511,14 @@ lbl_8031C5A4:
/* 8031C5B0 00319510 7C 03 02 14 */ add r0, r3, r0
/* 8031C5B4 00319514 7C 1C 00 40 */ cmplw r28, r0
/* 8031C5B8 00319518 40 82 FF D4 */ bne lbl_8031C58C
/* 8031C5BC 0031951C 80 6D A8 F4 */ lwz r3, lbl_805A94B4@sda21(r13)
/* 8031C5BC 0031951C 80 6D A8 F4 */ lwz r3, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 8031C5C0 00319520 3C 80 50 41 */ lis r4, 0x50415254@ha
/* 8031C5C4 00319524 38 84 52 54 */ addi r4, r4, 0x50415254@l
/* 8031C5C8 00319528 38 01 00 08 */ addi r0, r1, 8
/* 8031C5CC 0031952C 90 81 00 08 */ stw r4, 8(r1)
/* 8031C5D0 00319530 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8031C5D4 00319534 90 61 00 10 */ stw r3, 0x10(r1)
/* 8031C5D8 00319538 90 0D A8 F4 */ stw r0, lbl_805A94B4@sda21(r13)
/* 8031C5D8 00319538 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 8031C5DC 0031953C 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 8031C5E0 00319540 2C 00 00 00 */ cmpwi r0, 0
/* 8031C5E4 00319544 40 81 00 48 */ ble lbl_8031C62C
@ -5555,7 +5555,7 @@ lbl_8031C62C:
/* 8031C650 003195B0 D0 1D 02 D0 */ stfs f0, 0x2d0(r29)
/* 8031C654 003195B4 41 82 00 0C */ beq lbl_8031C660
/* 8031C658 003195B8 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8031C65C 003195BC 90 0D A8 F4 */ stw r0, lbl_805A94B4@sda21(r13)
/* 8031C65C 003195BC 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
lbl_8031C660:
/* 8031C660 003195C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8031C664 003195C4 83 E1 00 2C */ lwz r31, 0x2c(r1)
@ -5622,10 +5622,10 @@ DestroyParticles__11CElementGenFv:
/* 8031C72C 0031968C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8031C730 00319690 7C 7F 1B 78 */ mr r31, r3
/* 8031C734 00319694 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8031C738 00319698 80 0D A8 B0 */ lwz r0, lbl_805A9470@sda21(r13)
/* 8031C738 00319698 80 0D A8 B0 */ lwz r0, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031C73C 0031969C 80 63 00 34 */ lwz r3, 0x34(r3)
/* 8031C740 003196A0 7C 03 00 50 */ subf r0, r3, r0
/* 8031C744 003196A4 90 0D A8 B0 */ stw r0, lbl_805A9470@sda21(r13)
/* 8031C744 003196A4 90 0D A8 B0 */ stw r0, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031C748 003196A8 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 8031C74C 003196AC 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 8031C750 003196B0 1C 00 00 38 */ mulli r0, r0, 0x38
@ -5747,11 +5747,11 @@ ForceParticleCreation__11CElementGenFi:
/* 8031C8DC 0031983C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8031C8E0 00319840 7C 7E 1B 78 */ mr r30, r3
/* 8031C8E4 00319844 38 66 52 54 */ addi r3, r6, 0x50415254@l
/* 8031C8E8 00319848 80 AD A8 F4 */ lwz r5, lbl_805A94B4@sda21(r13)
/* 8031C8E8 00319848 80 AD A8 F4 */ lwz r5, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 8031C8EC 0031984C 93 C1 00 0C */ stw r30, 0xc(r1)
/* 8031C8F0 00319850 90 61 00 08 */ stw r3, 8(r1)
/* 8031C8F4 00319854 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8031C8F8 00319858 90 0D A8 F4 */ stw r0, lbl_805A94B4@sda21(r13)
/* 8031C8F8 00319858 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 8031C8FC 0031985C 80 7E 00 74 */ lwz r3, 0x74(r30)
/* 8031C900 00319860 48 00 DE 49 */ bl SetEmitterTime__16CParticleGlobalsFi
/* 8031C904 00319864 7F C3 F3 78 */ mr r3, r30
@ -5760,7 +5760,7 @@ ForceParticleCreation__11CElementGenFi:
/* 8031C910 00319870 34 01 00 08 */ addic. r0, r1, 8
/* 8031C914 00319874 41 82 00 0C */ beq lbl_8031C920
/* 8031C918 00319878 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8031C91C 0031987C 90 0D A8 F4 */ stw r0, lbl_805A94B4@sda21(r13)
/* 8031C91C 0031987C 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
lbl_8031C920:
/* 8031C920 00319880 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031C924 00319884 83 E1 00 1C */ lwz r31, 0x1c(r1)
@ -6735,7 +6735,7 @@ CreateNewParticles__11CElementGenFi:
/* 8031D6F0 0031A650 BF 41 01 28 */ stmw r26, 0x128(r1)
/* 8031D6F4 0031A654 7C 7A 1B 78 */ mr r26, r3
/* 8031D6F8 0031A658 7C 9B 23 78 */ mr r27, r4
/* 8031D6FC 0031A65C 88 0D A8 BA */ lbz r0, lbl_805A947A@sda21(r13)
/* 8031D6FC 0031A65C 88 0D A8 BA */ lbz r0, sStaticListInitialized@sda21(r13)
/* 8031D700 0031A660 28 00 00 00 */ cmplwi r0, 0
/* 8031D704 0031A664 40 82 00 08 */ bne lbl_8031D70C
/* 8031D708 0031A668 48 00 1A 61 */ bl Initialize__11CElementGenFv
@ -6750,7 +6750,7 @@ lbl_8031D70C:
/* 8031D728 0031A688 40 81 00 08 */ ble lbl_8031D730
/* 8031D72C 0031A68C 7F A3 20 50 */ subf r29, r3, r4
lbl_8031D730:
/* 8031D730 0031A690 80 6D A8 B0 */ lwz r3, lbl_805A9470@sda21(r13)
/* 8031D730 0031A690 80 6D A8 B0 */ lwz r3, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031D734 0031A694 7C 1D 1A 14 */ add r0, r29, r3
/* 8031D738 0031A698 2C 00 0A 00 */ cmpwi r0, 0xa00
/* 8031D73C 0031A69C 40 81 00 08 */ ble lbl_8031D744
@ -6784,8 +6784,8 @@ lbl_8031D7A0:
/* 8031D7A0 0031A700 80 83 00 00 */ lwz r4, 0(r3)
/* 8031D7A4 0031A704 38 7A 00 60 */ addi r3, r26, 0x60
/* 8031D7A8 0031A708 48 00 2E 75 */ bl "reserve__Q24rstl69vector<Q211CElementGen17CParticleListItem,Q24rstl17rmemory_allocator>Fi"
/* 8031D7AC 0031A70C 3C 60 80 4C */ lis r3, lbl_804BFE48@ha
/* 8031D7B0 0031A710 3B E3 FE 48 */ addi r31, r3, lbl_804BFE48@l
/* 8031D7AC 0031A70C 3C 60 80 4C */ lis r3, mStaticFreeList@ha
/* 8031D7B0 0031A710 3B E3 FE 48 */ addi r31, r3, mStaticFreeList@l
/* 8031D7B4 0031A714 48 00 00 CC */ b lbl_8031D880
lbl_8031D7B8:
/* 8031D7B8 0031A718 80 1A 00 64 */ lwz r0, 0x64(r26)
@ -6878,10 +6878,10 @@ lbl_8031D8A8:
/* 8031D8FC 0031A85C 98 A1 01 22 */ stb r5, 0x122(r1)
/* 8031D900 0031A860 98 A1 01 23 */ stb r5, 0x123(r1)
/* 8031D904 0031A864 48 00 03 81 */ bl sub_8031dc84
/* 8031D908 0031A868 80 6D A8 B0 */ lwz r3, lbl_805A9470@sda21(r13)
/* 8031D908 0031A868 80 6D A8 B0 */ lwz r3, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031D90C 0031A86C 80 9A 00 34 */ lwz r4, 0x34(r26)
/* 8031D910 0031A870 38 03 00 01 */ addi r0, r3, 1
/* 8031D914 0031A874 90 0D A8 B0 */ stw r0, lbl_805A9470@sda21(r13)
/* 8031D914 0031A874 90 0D A8 B0 */ stw r0, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031D918 0031A878 3B 64 FF FF */ addi r27, r4, -1
/* 8031D91C 0031A87C 80 7A 02 5C */ lwz r3, 0x25c(r26)
/* 8031D920 0031A880 38 03 00 01 */ addi r0, r3, 1
@ -7205,10 +7205,10 @@ lbl_8031DDA8:
/* 8031DDAC 0031AD0C 80 1D 00 74 */ lwz r0, 0x74(r29)
/* 8031DDB0 0031AD10 7C 03 00 00 */ cmpw r3, r0
/* 8031DDB4 0031AD14 40 80 01 84 */ bge lbl_8031DF38
/* 8031DDB8 0031AD18 80 6D A8 B0 */ lwz r3, lbl_805A9470@sda21(r13)
/* 8031DDB8 0031AD18 80 6D A8 B0 */ lwz r3, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031DDBC 0031AD1C 38 1F 00 38 */ addi r0, r31, 0x38
/* 8031DDC0 0031AD20 38 63 FF FF */ addi r3, r3, -1
/* 8031DDC4 0031AD24 90 6D A8 B0 */ stw r3, lbl_805A9470@sda21(r13)
/* 8031DDC4 0031AD24 90 6D A8 B0 */ stw r3, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031DDC8 0031AD28 80 9D 00 34 */ lwz r4, 0x34(r29)
/* 8031DDCC 0031AD2C 80 BD 00 3C */ lwz r5, 0x3c(r29)
/* 8031DDD0 0031AD30 1C 64 00 38 */ mulli r3, r4, 0x38
@ -8104,11 +8104,11 @@ Update__11CElementGenFd:
/* 8031EAAC 0031BA0C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8031EAB0 0031BA10 7C 7F 1B 78 */ mr r31, r3
/* 8031EAB4 0031BA14 38 65 52 54 */ addi r3, r5, 0x50415254@l
/* 8031EAB8 0031BA18 80 8D A8 F4 */ lwz r4, lbl_805A94B4@sda21(r13)
/* 8031EAB8 0031BA18 80 8D A8 F4 */ lwz r4, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 8031EABC 0031BA1C 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8031EAC0 0031BA20 90 61 00 0C */ stw r3, 0xc(r1)
/* 8031EAC4 0031BA24 90 81 00 14 */ stw r4, 0x14(r1)
/* 8031EAC8 0031BA28 90 0D A8 F4 */ stw r0, lbl_805A94B4@sda21(r13)
/* 8031EAC8 0031BA28 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 8031EACC 0031BA2C 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 8031EAD0 0031BA30 80 03 00 04 */ lwz r0, 4(r3)
/* 8031EAD4 0031BA34 28 00 00 00 */ cmplwi r0, 0
@ -8149,7 +8149,7 @@ lbl_8031EB50:
/* 8031EB5C 0031BABC 34 01 00 0C */ addic. r0, r1, 0xc
/* 8031EB60 0031BAC0 41 82 00 0C */ beq lbl_8031EB6C
/* 8031EB64 0031BAC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031EB68 0031BAC8 90 0D A8 F4 */ stw r0, lbl_805A94B4@sda21(r13)
/* 8031EB68 0031BAC8 90 0D A8 F4 */ stw r0, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
lbl_8031EB6C:
/* 8031EB6C 0031BACC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8031EB70 0031BAD0 CB E1 00 28 */ lfd f31, 0x28(r1)
@ -8579,19 +8579,19 @@ lbl_8031F124:
.global ShutDown__11CElementGenFv
ShutDown__11CElementGenFv:
/* 8031F15C 0031C0BC 38 00 00 00 */ li r0, 0
/* 8031F160 0031C0C0 98 0D A8 BA */ stb r0, lbl_805A947A@sda21(r13)
/* 8031F160 0031C0C0 98 0D A8 BA */ stb r0, sStaticListInitialized@sda21(r13)
/* 8031F164 0031C0C4 4E 80 00 20 */ blr
.global Initialize__11CElementGenFv
Initialize__11CElementGenFv:
/* 8031F168 0031C0C8 88 0D A8 BA */ lbz r0, lbl_805A947A@sda21(r13)
/* 8031F168 0031C0C8 88 0D A8 BA */ lbz r0, sStaticListInitialized@sda21(r13)
/* 8031F16C 0031C0CC 28 00 00 00 */ cmplwi r0, 0
/* 8031F170 0031C0D0 4C 82 00 20 */ bnelr
/* 8031F174 0031C0D4 38 60 00 00 */ li r3, 0
/* 8031F178 0031C0D8 38 00 00 01 */ li r0, 1
/* 8031F17C 0031C0DC 90 6D A8 B0 */ stw r3, lbl_805A9470@sda21(r13)
/* 8031F180 0031C0E0 90 6D A8 B4 */ stw r3, lbl_805A9474@sda21(r13)
/* 8031F184 0031C0E4 98 0D A8 BA */ stb r0, lbl_805A947A@sda21(r13)
/* 8031F17C 0031C0DC 90 6D A8 B0 */ stw r3, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031F180 0031C0E0 90 6D A8 B4 */ stw r3, mParticleSystemAliveCount__11CElementGen@sda21(r13)
/* 8031F184 0031C0E4 98 0D A8 BA */ stb r0, sStaticListInitialized@sda21(r13)
/* 8031F188 0031C0E8 4E 80 00 20 */ blr
.global __dt__11CElementGenFv
@ -8608,13 +8608,13 @@ __dt__11CElementGenFv:
/* 8031F1B0 0031C110 3C 60 80 3F */ lis r3, lbl_803EDA80@ha
/* 8031F1B4 0031C114 38 03 DA 80 */ addi r0, r3, lbl_803EDA80@l
/* 8031F1B8 0031C118 90 1E 00 00 */ stw r0, 0(r30)
/* 8031F1BC 0031C11C 80 6D A8 B4 */ lwz r3, lbl_805A9474@sda21(r13)
/* 8031F1C0 0031C120 80 0D A8 B0 */ lwz r0, lbl_805A9470@sda21(r13)
/* 8031F1BC 0031C11C 80 6D A8 B4 */ lwz r3, mParticleSystemAliveCount__11CElementGen@sda21(r13)
/* 8031F1C0 0031C120 80 0D A8 B0 */ lwz r0, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031F1C4 0031C124 38 63 FF FF */ addi r3, r3, -1
/* 8031F1C8 0031C128 90 6D A8 B4 */ stw r3, lbl_805A9474@sda21(r13)
/* 8031F1C8 0031C128 90 6D A8 B4 */ stw r3, mParticleSystemAliveCount__11CElementGen@sda21(r13)
/* 8031F1CC 0031C12C 80 7E 00 34 */ lwz r3, 0x34(r30)
/* 8031F1D0 0031C130 7C 03 00 50 */ subf r0, r3, r0
/* 8031F1D4 0031C134 90 0D A8 B0 */ stw r0, lbl_805A9470@sda21(r13)
/* 8031F1D4 0031C134 90 0D A8 B0 */ stw r0, mParticleAliveCount__11CElementGen@sda21(r13)
/* 8031F1D8 0031C138 83 BE 02 9C */ lwz r29, 0x29c(r30)
/* 8031F1DC 0031C13C 48 00 00 28 */ b lbl_8031F204
lbl_8031F1E0:
@ -9005,9 +9005,9 @@ lbl_8031F780:
/* 8031F780 0031C6E0 A8 9F 00 94 */ lha r4, 0x94(r31)
/* 8031F784 0031C6E4 38 7F 02 7C */ addi r3, r31, 0x27c
/* 8031F788 0031C6E8 4B FF 2E 5D */ bl SetSeed__9CRandom16FUi
/* 8031F78C 0031C6EC 80 6D A8 B4 */ lwz r3, lbl_805A9474@sda21(r13)
/* 8031F78C 0031C6EC 80 6D A8 B4 */ lwz r3, mParticleSystemAliveCount__11CElementGen@sda21(r13)
/* 8031F790 0031C6F0 38 03 00 01 */ addi r0, r3, 1
/* 8031F794 0031C6F4 90 0D A8 B4 */ stw r0, lbl_805A9474@sda21(r13)
/* 8031F794 0031C6F4 90 0D A8 B4 */ stw r0, mParticleSystemAliveCount__11CElementGen@sda21(r13)
/* 8031F798 0031C6F8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 8031F79C 0031C6FC 88 1F 02 6C */ lbz r0, 0x26c(r31)
/* 8031F7A0 0031C700 88 63 00 30 */ lbz r3, 0x30(r3)
@ -9368,9 +9368,9 @@ lbl_8031FCBC:
/* 8031FCC8 0031CC28 88 1F 02 6D */ lbz r0, 0x26d(r31)
/* 8031FCCC 0031CC2C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8031FCD0 0031CC30 41 82 00 5C */ beq lbl_8031FD2C
/* 8031FCD4 0031CC34 3C 60 80 4C */ lis r3, lbl_804BFE28@ha
/* 8031FCD4 0031CC34 3C 60 80 4C */ lis r3, mStaticParticleList@ha
/* 8031FCD8 0031CC38 38 A1 00 20 */ addi r5, r1, 0x20
/* 8031FCDC 0031CC3C 3B A3 FE 28 */ addi r29, r3, lbl_804BFE28@l
/* 8031FCDC 0031CC3C 3B A3 FE 28 */ addi r29, r3, mStaticParticleList@l
/* 8031FCE0 0031CC40 7F C4 F3 78 */ mr r4, r30
/* 8031FCE4 0031CC44 81 9D 00 00 */ lwz r12, 0(r29)
/* 8031FCE8 0031CC48 38 7F 00 60 */ addi r3, r31, 0x60

View File

@ -288,15 +288,15 @@ lbl_80356CAC:
/* 80356CB8 00353C18 38 03 F7 58 */ addi r0, r3, lbl_803EF758@l
/* 80356CBC 00353C1C 90 1E 00 00 */ stw r0, 0(r30)
/* 80356CC0 00353C20 41 82 00 10 */ beq lbl_80356CD0
/* 80356CC4 00353C24 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80356CC8 00353C28 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80356CC4 00353C24 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80356CC8 00353C28 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80356CCC 00353C2C 90 1E 00 00 */ stw r0, 0(r30)
lbl_80356CD0:
/* 80356CD0 00353C30 7F E0 07 35 */ extsh. r0, r31
/* 80356CD4 00353C34 40 81 00 10 */ ble lbl_80356CE4
/* 80356CD8 00353C38 7F C3 F3 78 */ mr r3, r30
/* 80356CDC 00353C3C 38 80 00 20 */ li r4, 0x20
/* 80356CE0 00353C40 48 01 5D 85 */ bl sub_8036ca64
/* 80356CE0 00353C40 48 01 5D 85 */ bl __dl__8IElementFPvUl
lbl_80356CE4:
/* 80356CE4 00353C44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80356CE8 00353C48 7F C3 F3 78 */ mr r3, r30
@ -313,8 +313,8 @@ __ct__14CVEAngleSphereFP14CVectorElementP12CRealElementP12CRealElementP12CRealEl
/* 80356D08 00353C68 39 8C F7 58 */ addi r12, r12, lbl_803EF758@l
/* 80356D0C 00353C6C 3D 60 80 3F */ lis r11, lbl_803EF748@ha
/* 80356D10 00353C70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80356D14 00353C74 3F E0 80 3F */ lis r31, lbl_803EC5A8@ha
/* 80356D18 00353C78 38 1F C5 A8 */ addi r0, r31, lbl_803EC5A8@l
/* 80356D14 00353C74 3F E0 80 3F */ lis r31, __vt__8IElement@ha
/* 80356D18 00353C78 38 1F C5 A8 */ addi r0, r31, __vt__8IElement@l
/* 80356D1C 00353C7C 90 03 00 00 */ stw r0, 0(r3)
/* 80356D20 00353C80 38 0B F7 48 */ addi r0, r11, lbl_803EF748@l
/* 80356D24 00353C84 91 83 00 00 */ stw r12, 0(r3)
@ -342,15 +342,15 @@ __dt__15CEmitterElement:
/* 80356D70 00353CD0 38 03 F7 58 */ addi r0, r3, lbl_803EF758@l
/* 80356D74 00353CD4 90 1F 00 00 */ stw r0, 0(r31)
/* 80356D78 00353CD8 41 82 00 10 */ beq lbl_80356D88
/* 80356D7C 00353CDC 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80356D80 00353CE0 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80356D7C 00353CDC 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80356D80 00353CE0 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80356D84 00353CE4 90 1F 00 00 */ stw r0, 0(r31)
lbl_80356D88:
/* 80356D88 00353CE8 7C 80 07 35 */ extsh. r0, r4
/* 80356D8C 00353CEC 40 81 00 10 */ ble lbl_80356D9C
/* 80356D90 00353CF0 7F E3 FB 78 */ mr r3, r31
/* 80356D94 00353CF4 38 80 00 04 */ li r4, 4
/* 80356D98 00353CF8 48 01 5C CD */ bl sub_8036ca64
/* 80356D98 00353CF8 48 01 5C CD */ bl __dl__8IElementFPvUl
lbl_80356D9C:
/* 80356D9C 00353CFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80356DA0 00353D00 7F E3 FB 78 */ mr r3, r31
@ -589,15 +589,15 @@ lbl_80357104:
/* 80357110 00354070 38 03 F7 58 */ addi r0, r3, lbl_803EF758@l
/* 80357114 00354074 90 1E 00 00 */ stw r0, 0(r30)
/* 80357118 00354078 41 82 00 10 */ beq lbl_80357128
/* 8035711C 0035407C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80357120 00354080 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 8035711C 0035407C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80357120 00354080 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80357124 00354084 90 1E 00 00 */ stw r0, 0(r30)
lbl_80357128:
/* 80357128 00354088 7F E0 07 35 */ extsh. r0, r31
/* 8035712C 0035408C 40 81 00 10 */ ble lbl_8035713C
/* 80357130 00354090 7F C3 F3 78 */ mr r3, r30
/* 80357134 00354094 38 80 00 10 */ li r4, 0x10
/* 80357138 00354098 48 01 59 2D */ bl sub_8036ca64
/* 80357138 00354098 48 01 59 2D */ bl __dl__8IElementFPvUl
lbl_8035713C:
/* 8035713C 0035409C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80357140 003540A0 7F C3 F3 78 */ mr r3, r30
@ -609,9 +609,9 @@ lbl_8035713C:
.global __ct__9CVESphereFP14CVectorElementP12CRealElementP12CRealElement
__ct__9CVESphereFP14CVectorElementP12CRealElementP12CRealElement:
/* 80357158 003540B8 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 80357158 003540B8 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 8035715C 003540BC 3D 00 80 3F */ lis r8, lbl_803EF758@ha
/* 80357160 003540C0 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 80357160 003540C0 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80357164 003540C4 3C E0 80 3F */ lis r7, lbl_803EF768@ha
/* 80357168 003540C8 90 03 00 00 */ stw r0, 0(r3)
/* 8035716C 003540CC 39 08 F7 58 */ addi r8, r8, lbl_803EF758@l
@ -704,15 +704,15 @@ lbl_80357294:
/* 803572A0 00354200 38 03 F7 58 */ addi r0, r3, lbl_803EF758@l
/* 803572A4 00354204 90 1E 00 00 */ stw r0, 0(r30)
/* 803572A8 00354208 41 82 00 10 */ beq lbl_803572B8
/* 803572AC 0035420C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803572B0 00354210 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803572AC 0035420C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803572B0 00354210 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803572B4 00354214 90 1E 00 00 */ stw r0, 0(r30)
lbl_803572B8:
/* 803572B8 00354218 7F E0 07 35 */ extsh. r0, r31
/* 803572BC 0035421C 40 81 00 10 */ ble lbl_803572CC
/* 803572C0 00354220 7F C3 F3 78 */ mr r3, r30
/* 803572C4 00354224 38 80 00 0C */ li r4, 0xc
/* 803572C8 00354228 48 01 57 9D */ bl sub_8036ca64
/* 803572C8 00354228 48 01 57 9D */ bl __dl__8IElementFPvUl
lbl_803572CC:
/* 803572CC 0035422C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803572D0 00354230 7F C3 F3 78 */ mr r3, r30
@ -724,9 +724,9 @@ lbl_803572CC:
.global __ct__16CEESimpleEmitterFP14CVectorElementP14CVectorElement
__ct__16CEESimpleEmitterFP14CVectorElementP14CVectorElement:
/* 803572E8 00354248 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 803572E8 00354248 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 803572EC 0035424C 3C E0 80 3F */ lis r7, lbl_803EF758@ha
/* 803572F0 00354250 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 803572F0 00354250 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 803572F4 00354254 3C C0 80 3F */ lis r6, lbl_803EF778@ha
/* 803572F8 00354258 90 03 00 00 */ stw r0, 0(r3)
/* 803572FC 0035425C 38 E7 F7 58 */ addi r7, r7, lbl_803EF758@l
@ -759,4 +759,3 @@ lbl_805AE9D0:
lbl_805AE9D8:
# ROM: 0x3FB278
.double 4.503601774854144E15

File diff suppressed because it is too large Load Diff

View File

@ -168,19 +168,19 @@ __dt__15CMVESetPositionFv:
lbl_80322A78:
/* 80322A78 0031F9D8 28 1E 00 00 */ cmplwi r30, 0
/* 80322A7C 0031F9DC 41 82 00 20 */ beq lbl_80322A9C
/* 80322A80 0031F9E0 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 80322A84 0031F9E4 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80322A80 0031F9E0 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 80322A84 0031F9E4 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80322A88 0031F9E8 90 1E 00 00 */ stw r0, 0(r30)
/* 80322A8C 0031F9EC 41 82 00 10 */ beq lbl_80322A9C
/* 80322A90 0031F9F0 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80322A94 0031F9F4 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80322A90 0031F9F0 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80322A94 0031F9F4 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80322A98 0031F9F8 90 1E 00 00 */ stw r0, 0(r30)
lbl_80322A9C:
/* 80322A9C 0031F9FC 7F E0 07 35 */ extsh. r0, r31
/* 80322AA0 0031FA00 40 81 00 10 */ ble lbl_80322AB0
/* 80322AA4 0031FA04 7F C3 F3 78 */ mr r3, r30
/* 80322AA8 0031FA08 38 80 00 08 */ li r4, 8
/* 80322AAC 0031FA0C 48 04 9F B9 */ bl sub_8036ca64
/* 80322AAC 0031FA0C 48 04 9F B9 */ bl __dl__8IElementFPvUl
lbl_80322AB0:
/* 80322AB0 0031FA10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80322AB4 0031FA14 7F C3 F3 78 */ mr r3, r30
@ -192,12 +192,12 @@ lbl_80322AB0:
.global __ct__15CMVESetPositionFP14CVectorElement
__ct__15CMVESetPositionFP14CVectorElement:
/* 80322ACC 0031FA2C 3C E0 80 3F */ lis r7, lbl_803EC5A8@ha
/* 80322AD0 0031FA30 3C C0 80 3F */ lis r6, lbl_803EC5C8@ha
/* 80322AD4 0031FA34 38 07 C5 A8 */ addi r0, r7, lbl_803EC5A8@l
/* 80322ACC 0031FA2C 3C E0 80 3F */ lis r7, __vt__8IElement@ha
/* 80322AD0 0031FA30 3C C0 80 3F */ lis r6, __vt__17CModVectorElement@ha
/* 80322AD4 0031FA34 38 07 C5 A8 */ addi r0, r7, __vt__8IElement@l
/* 80322AD8 0031FA38 3C A0 80 3F */ lis r5, __vt__15CMVESetPosition@ha
/* 80322ADC 0031FA3C 90 03 00 00 */ stw r0, 0(r3)
/* 80322AE0 0031FA40 38 C6 C5 C8 */ addi r6, r6, lbl_803EC5C8@l
/* 80322AE0 0031FA40 38 C6 C5 C8 */ addi r6, r6, __vt__17CModVectorElement@l
/* 80322AE4 0031FA44 38 05 DC 38 */ addi r0, r5, __vt__15CMVESetPosition@l
/* 80322AE8 0031FA48 90 C3 00 00 */ stw r6, 0(r3)
/* 80322AEC 0031FA4C 90 03 00 00 */ stw r0, 0(r3)
@ -435,19 +435,19 @@ lbl_80322E34:
lbl_80322E54:
/* 80322E54 0031FDB4 28 1E 00 00 */ cmplwi r30, 0
/* 80322E58 0031FDB8 41 82 00 20 */ beq lbl_80322E78
/* 80322E5C 0031FDBC 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 80322E60 0031FDC0 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80322E5C 0031FDBC 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 80322E60 0031FDC0 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80322E64 0031FDC4 90 1E 00 00 */ stw r0, 0(r30)
/* 80322E68 0031FDC8 41 82 00 10 */ beq lbl_80322E78
/* 80322E6C 0031FDCC 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80322E70 0031FDD0 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80322E6C 0031FDCC 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80322E70 0031FDD0 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80322E74 0031FDD4 90 1E 00 00 */ stw r0, 0(r30)
lbl_80322E78:
/* 80322E78 0031FDD8 7F E0 07 35 */ extsh. r0, r31
/* 80322E7C 0031FDDC 40 81 00 10 */ ble lbl_80322E8C
/* 80322E80 0031FDE0 7F C3 F3 78 */ mr r3, r30
/* 80322E84 0031FDE4 38 80 00 28 */ li r4, 0x28
/* 80322E88 0031FDE8 48 04 9B DD */ bl sub_8036ca64
/* 80322E88 0031FDE8 48 04 9B DD */ bl __dl__8IElementFPvUl
lbl_80322E8C:
/* 80322E8C 0031FDEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80322E90 0031FDF0 7F C3 F3 78 */ mr r3, r30
@ -461,7 +461,7 @@ lbl_80322E8C:
__ct__10CMVEBounceFP14CVectorElementP14CVectorElementP12CRealElementP12CRealElementb:
/* 80322EA8 0031FE08 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80322EAC 0031FE0C 7C 08 02 A6 */ mflr r0
/* 80322EB0 0031FE10 3D 20 80 3F */ lis r9, lbl_803EC5C8@ha
/* 80322EB0 0031FE10 3D 20 80 3F */ lis r9, __vt__17CModVectorElement@ha
/* 80322EB4 0031FE14 C0 02 CA 68 */ lfs f0, lbl_805AE788@sda21(r2)
/* 80322EB8 0031FE18 90 01 00 34 */ stw r0, 0x34(r1)
/* 80322EBC 0031FE1C 93 E1 00 2C */ stw r31, 0x2c(r1)
@ -470,11 +470,11 @@ __ct__10CMVEBounceFP14CVectorElementP14CVectorElementP12CRealElementP12CRealElem
/* 80322EC8 0031FE28 7C 9E 23 79 */ or. r30, r4, r4
/* 80322ECC 0031FE2C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80322ED0 0031FE30 7C 7D 1B 78 */ mr r29, r3
/* 80322ED4 0031FE34 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80322ED8 0031FE38 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80322ED4 0031FE34 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80322ED8 0031FE38 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80322EDC 0031FE3C 7F AA EB 78 */ mr r10, r29
/* 80322EE0 0031FE40 90 1D 00 00 */ stw r0, 0(r29)
/* 80322EE4 0031FE44 38 09 C5 C8 */ addi r0, r9, lbl_803EC5C8@l
/* 80322EE4 0031FE44 38 09 C5 C8 */ addi r0, r9, __vt__17CModVectorElement@l
/* 80322EE8 0031FE48 3C 60 80 3F */ lis r3, __vt__10CMVEBounce@ha
/* 80322EEC 0031FE4C 90 1D 00 00 */ stw r0, 0(r29)
/* 80322EF0 0031FE50 38 63 DC 48 */ addi r3, r3, __vt__10CMVEBounce@l
@ -745,19 +745,19 @@ lbl_803232C8:
lbl_803232E8:
/* 803232E8 00320248 28 1E 00 00 */ cmplwi r30, 0
/* 803232EC 0032024C 41 82 00 20 */ beq lbl_8032330C
/* 803232F0 00320250 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 803232F4 00320254 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 803232F0 00320250 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 803232F4 00320254 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 803232F8 00320258 90 1E 00 00 */ stw r0, 0(r30)
/* 803232FC 0032025C 41 82 00 10 */ beq lbl_8032330C
/* 80323300 00320260 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80323304 00320264 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80323300 00320260 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80323304 00320264 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80323308 00320268 90 1E 00 00 */ stw r0, 0(r30)
lbl_8032330C:
/* 8032330C 0032026C 7F E0 07 35 */ extsh. r0, r31
/* 80323310 00320270 40 81 00 10 */ ble lbl_80323320
/* 80323314 00320274 7F C3 F3 78 */ mr r3, r30
/* 80323318 00320278 38 80 00 14 */ li r4, 0x14
/* 8032331C 0032027C 48 04 97 49 */ bl sub_8036ca64
/* 8032331C 0032027C 48 04 97 49 */ bl __dl__8IElementFPvUl
lbl_80323320:
/* 80323320 00320280 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80323324 00320284 7F C3 F3 78 */ mr r3, r30
@ -769,12 +769,12 @@ lbl_80323320:
.global __ct__9CMVESwirlFP14CVectorElementP14CVectorElementP12CRealElementP12CRealElement
__ct__9CMVESwirlFP14CVectorElementP14CVectorElementP12CRealElementP12CRealElement:
/* 8032333C 0032029C 3D 40 80 3F */ lis r10, lbl_803EC5A8@ha
/* 80323340 003202A0 3D 20 80 3F */ lis r9, lbl_803EC5C8@ha
/* 80323344 003202A4 38 0A C5 A8 */ addi r0, r10, lbl_803EC5A8@l
/* 8032333C 0032029C 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 80323340 003202A0 3D 20 80 3F */ lis r9, __vt__17CModVectorElement@ha
/* 80323344 003202A4 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 80323348 003202A8 3D 00 80 3F */ lis r8, __vt__9CMVESwirl@ha
/* 8032334C 003202AC 90 03 00 00 */ stw r0, 0(r3)
/* 80323350 003202B0 39 29 C5 C8 */ addi r9, r9, lbl_803EC5C8@l
/* 80323350 003202B0 39 29 C5 C8 */ addi r9, r9, __vt__17CModVectorElement@l
/* 80323354 003202B4 38 08 DC 58 */ addi r0, r8, __vt__9CMVESwirl@l
/* 80323358 003202B8 91 23 00 00 */ stw r9, 0(r3)
/* 8032335C 003202BC 90 03 00 00 */ stw r0, 0(r3)
@ -966,19 +966,19 @@ lbl_803235F0:
lbl_80323610:
/* 80323610 00320570 28 1E 00 00 */ cmplwi r30, 0
/* 80323614 00320574 41 82 00 20 */ beq lbl_80323634
/* 80323618 00320578 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 8032361C 0032057C 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80323618 00320578 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 8032361C 0032057C 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80323620 00320580 90 1E 00 00 */ stw r0, 0(r30)
/* 80323624 00320584 41 82 00 10 */ beq lbl_80323634
/* 80323628 00320588 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 8032362C 0032058C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80323628 00320588 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8032362C 0032058C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80323630 00320590 90 1E 00 00 */ stw r0, 0(r30)
lbl_80323634:
/* 80323634 00320594 7F E0 07 35 */ extsh. r0, r31
/* 80323638 00320598 40 81 00 10 */ ble lbl_80323648
/* 8032363C 0032059C 7F C3 F3 78 */ mr r3, r30
/* 80323640 003205A0 38 80 00 18 */ li r4, 0x18
/* 80323644 003205A4 48 04 94 21 */ bl sub_8036ca64
/* 80323644 003205A4 48 04 94 21 */ bl __dl__8IElementFPvUl
lbl_80323648:
/* 80323648 003205A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032364C 003205AC 7F C3 F3 78 */ mr r3, r30
@ -990,12 +990,12 @@ lbl_80323648:
.global __ct__24CMVEExponentialImplosionFP14CVectorElementP12CRealElementP12CRealElementP12CRealElementb
__ct__24CMVEExponentialImplosionFP14CVectorElementP12CRealElementP12CRealElementP12CRealElementb:
/* 80323664 003205C4 3D 60 80 3F */ lis r11, lbl_803EC5A8@ha
/* 80323668 003205C8 3D 40 80 3F */ lis r10, lbl_803EC5C8@ha
/* 8032366C 003205CC 38 0B C5 A8 */ addi r0, r11, lbl_803EC5A8@l
/* 80323664 003205C4 3D 60 80 3F */ lis r11, __vt__8IElement@ha
/* 80323668 003205C8 3D 40 80 3F */ lis r10, __vt__17CModVectorElement@ha
/* 8032366C 003205CC 38 0B C5 A8 */ addi r0, r11, __vt__8IElement@l
/* 80323670 003205D0 3D 20 80 3F */ lis r9, __vt__24CMVEExponentialImplosion@ha
/* 80323674 003205D4 90 03 00 00 */ stw r0, 0(r3)
/* 80323678 003205D8 39 4A C5 C8 */ addi r10, r10, lbl_803EC5C8@l
/* 80323678 003205D8 39 4A C5 C8 */ addi r10, r10, __vt__17CModVectorElement@l
/* 8032367C 003205DC 38 09 DC 68 */ addi r0, r9, __vt__24CMVEExponentialImplosion@l
/* 80323680 003205E0 91 43 00 00 */ stw r10, 0(r3)
/* 80323684 003205E4 90 03 00 00 */ stw r0, 0(r3)
@ -1175,19 +1175,19 @@ lbl_803238E8:
lbl_80323908:
/* 80323908 00320868 28 1E 00 00 */ cmplwi r30, 0
/* 8032390C 0032086C 41 82 00 20 */ beq lbl_8032392C
/* 80323910 00320870 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 80323914 00320874 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80323910 00320870 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 80323914 00320874 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80323918 00320878 90 1E 00 00 */ stw r0, 0(r30)
/* 8032391C 0032087C 41 82 00 10 */ beq lbl_8032392C
/* 80323920 00320880 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80323924 00320884 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80323920 00320880 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80323924 00320884 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80323928 00320888 90 1E 00 00 */ stw r0, 0(r30)
lbl_8032392C:
/* 8032392C 0032088C 7F E0 07 35 */ extsh. r0, r31
/* 80323930 00320890 40 81 00 10 */ ble lbl_80323940
/* 80323934 00320894 7F C3 F3 78 */ mr r3, r30
/* 80323938 00320898 38 80 00 18 */ li r4, 0x18
/* 8032393C 0032089C 48 04 91 29 */ bl sub_8036ca64
/* 8032393C 0032089C 48 04 91 29 */ bl __dl__8IElementFPvUl
lbl_80323940:
/* 80323940 003208A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80323944 003208A4 7F C3 F3 78 */ mr r3, r30
@ -1199,12 +1199,12 @@ lbl_80323940:
.global __ct__19CMVELinearImplosionFP14CVectorElementP12CRealElementP12CRealElementP12CRealElementb
__ct__19CMVELinearImplosionFP14CVectorElementP12CRealElementP12CRealElementP12CRealElementb:
/* 8032395C 003208BC 3D 60 80 3F */ lis r11, lbl_803EC5A8@ha
/* 80323960 003208C0 3D 40 80 3F */ lis r10, lbl_803EC5C8@ha
/* 80323964 003208C4 38 0B C5 A8 */ addi r0, r11, lbl_803EC5A8@l
/* 8032395C 003208BC 3D 60 80 3F */ lis r11, __vt__8IElement@ha
/* 80323960 003208C0 3D 40 80 3F */ lis r10, __vt__17CModVectorElement@ha
/* 80323964 003208C4 38 0B C5 A8 */ addi r0, r11, __vt__8IElement@l
/* 80323968 003208C8 3D 20 80 3F */ lis r9, __vt__19CMVELinearImplosion@ha
/* 8032396C 003208CC 90 03 00 00 */ stw r0, 0(r3)
/* 80323970 003208D0 39 4A C5 C8 */ addi r10, r10, lbl_803EC5C8@l
/* 80323970 003208D0 39 4A C5 C8 */ addi r10, r10, __vt__17CModVectorElement@l
/* 80323974 003208D4 38 09 DC 78 */ addi r0, r9, __vt__19CMVELinearImplosion@l
/* 80323978 003208D8 91 43 00 00 */ stw r10, 0(r3)
/* 8032397C 003208DC 90 03 00 00 */ stw r0, 0(r3)
@ -1390,19 +1390,19 @@ lbl_80323BF8:
lbl_80323C18:
/* 80323C18 00320B78 28 1E 00 00 */ cmplwi r30, 0
/* 80323C1C 00320B7C 41 82 00 20 */ beq lbl_80323C3C
/* 80323C20 00320B80 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 80323C24 00320B84 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80323C20 00320B80 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 80323C24 00320B84 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80323C28 00320B88 90 1E 00 00 */ stw r0, 0(r30)
/* 80323C2C 00320B8C 41 82 00 10 */ beq lbl_80323C3C
/* 80323C30 00320B90 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80323C34 00320B94 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80323C30 00320B90 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80323C34 00320B94 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80323C38 00320B98 90 1E 00 00 */ stw r0, 0(r30)
lbl_80323C3C:
/* 80323C3C 00320B9C 7F E0 07 35 */ extsh. r0, r31
/* 80323C40 00320BA0 40 81 00 10 */ ble lbl_80323C50
/* 80323C44 00320BA4 7F C3 F3 78 */ mr r3, r30
/* 80323C48 00320BA8 38 80 00 18 */ li r4, 0x18
/* 80323C4C 00320BAC 48 04 8E 19 */ bl sub_8036ca64
/* 80323C4C 00320BAC 48 04 8E 19 */ bl __dl__8IElementFPvUl
lbl_80323C50:
/* 80323C50 00320BB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80323C54 00320BB4 7F C3 F3 78 */ mr r3, r30
@ -1414,12 +1414,12 @@ lbl_80323C50:
.global __ct__13CMVEImplosionFP14CVectorElementP12CRealElementP12CRealElementP12CRealElementb
__ct__13CMVEImplosionFP14CVectorElementP12CRealElementP12CRealElementP12CRealElementb:
/* 80323C6C 00320BCC 3D 60 80 3F */ lis r11, lbl_803EC5A8@ha
/* 80323C70 00320BD0 3D 40 80 3F */ lis r10, lbl_803EC5C8@ha
/* 80323C74 00320BD4 38 0B C5 A8 */ addi r0, r11, lbl_803EC5A8@l
/* 80323C6C 00320BCC 3D 60 80 3F */ lis r11, __vt__8IElement@ha
/* 80323C70 00320BD0 3D 40 80 3F */ lis r10, __vt__17CModVectorElement@ha
/* 80323C74 00320BD4 38 0B C5 A8 */ addi r0, r11, __vt__8IElement@l
/* 80323C78 00320BD8 3D 20 80 3F */ lis r9, __vt__13CMVEImplosion@ha
/* 80323C7C 00320BDC 90 03 00 00 */ stw r0, 0(r3)
/* 80323C80 00320BE0 39 4A C5 C8 */ addi r10, r10, lbl_803EC5C8@l
/* 80323C80 00320BE0 39 4A C5 C8 */ addi r10, r10, __vt__17CModVectorElement@l
/* 80323C84 00320BE4 38 09 DC 88 */ addi r0, r9, __vt__13CMVEImplosion@l
/* 80323C88 00320BE8 91 43 00 00 */ stw r10, 0(r3)
/* 80323C8C 00320BEC 90 03 00 00 */ stw r0, 0(r3)
@ -1560,19 +1560,19 @@ lbl_80323E54:
lbl_80323E74:
/* 80323E74 00320DD4 28 1E 00 00 */ cmplwi r30, 0
/* 80323E78 00320DD8 41 82 00 20 */ beq lbl_80323E98
/* 80323E7C 00320DDC 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 80323E80 00320DE0 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80323E7C 00320DDC 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 80323E80 00320DE0 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80323E84 00320DE4 90 1E 00 00 */ stw r0, 0(r30)
/* 80323E88 00320DE8 41 82 00 10 */ beq lbl_80323E98
/* 80323E8C 00320DEC 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80323E90 00320DF0 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80323E8C 00320DEC 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80323E90 00320DF0 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80323E94 00320DF4 90 1E 00 00 */ stw r0, 0(r30)
lbl_80323E98:
/* 80323E98 00320DF8 7F E0 07 35 */ extsh. r0, r31
/* 80323E9C 00320DFC 40 81 00 10 */ ble lbl_80323EAC
/* 80323EA0 00320E00 7F C3 F3 78 */ mr r3, r30
/* 80323EA4 00320E04 38 80 00 14 */ li r4, 0x14
/* 80323EA8 00320E08 48 04 8B BD */ bl sub_8036ca64
/* 80323EA8 00320E08 48 04 8B BD */ bl __dl__8IElementFPvUl
lbl_80323EAC:
/* 80323EAC 00320E0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80323EB0 00320E10 7F C3 F3 78 */ mr r3, r30
@ -1584,12 +1584,12 @@ lbl_80323EAC:
.global __ct__9CMVEPulseFP11CIntElementP11CIntElementP17CModVectorElementP17CModVectorElement
__ct__9CMVEPulseFP11CIntElementP11CIntElementP17CModVectorElementP17CModVectorElement:
/* 80323EC8 00320E28 3D 40 80 3F */ lis r10, lbl_803EC5A8@ha
/* 80323ECC 00320E2C 3D 20 80 3F */ lis r9, lbl_803EC5C8@ha
/* 80323ED0 00320E30 38 0A C5 A8 */ addi r0, r10, lbl_803EC5A8@l
/* 80323EC8 00320E28 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 80323ECC 00320E2C 3D 20 80 3F */ lis r9, __vt__17CModVectorElement@ha
/* 80323ED0 00320E30 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 80323ED4 00320E34 3D 00 80 3F */ lis r8, __vt__9CMVEPulse@ha
/* 80323ED8 00320E38 90 03 00 00 */ stw r0, 0(r3)
/* 80323EDC 00320E3C 39 29 C5 C8 */ addi r9, r9, lbl_803EC5C8@l
/* 80323EDC 00320E3C 39 29 C5 C8 */ addi r9, r9, __vt__17CModVectorElement@l
/* 80323EE0 00320E40 38 08 DC 98 */ addi r0, r8, __vt__9CMVEPulse@l
/* 80323EE4 00320E44 91 23 00 00 */ stw r9, 0(r3)
/* 80323EE8 00320E48 90 03 00 00 */ stw r0, 0(r3)
@ -1691,19 +1691,19 @@ lbl_80324020:
lbl_80324040:
/* 80324040 00320FA0 28 1E 00 00 */ cmplwi r30, 0
/* 80324044 00320FA4 41 82 00 20 */ beq lbl_80324064
/* 80324048 00320FA8 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 8032404C 00320FAC 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80324048 00320FA8 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 8032404C 00320FAC 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80324050 00320FB0 90 1E 00 00 */ stw r0, 0(r30)
/* 80324054 00320FB4 41 82 00 10 */ beq lbl_80324064
/* 80324058 00320FB8 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 8032405C 00320FBC 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80324058 00320FB8 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8032405C 00320FBC 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80324060 00320FC0 90 1E 00 00 */ stw r0, 0(r30)
lbl_80324064:
/* 80324064 00320FC4 7F E0 07 35 */ extsh. r0, r31
/* 80324068 00320FC8 40 81 00 10 */ ble lbl_80324078
/* 8032406C 00320FCC 7F C3 F3 78 */ mr r3, r30
/* 80324070 00320FD0 38 80 00 10 */ li r4, 0x10
/* 80324074 00320FD4 48 04 89 F1 */ bl sub_8036ca64
/* 80324074 00320FD4 48 04 89 F1 */ bl __dl__8IElementFPvUl
lbl_80324078:
/* 80324078 00320FD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032407C 00320FDC 7F C3 F3 78 */ mr r3, r30
@ -1715,12 +1715,12 @@ lbl_80324078:
.global __ct__13CMVETimeChainFP17CModVectorElementP17CModVectorElementP11CIntElement
__ct__13CMVETimeChainFP17CModVectorElementP17CModVectorElementP11CIntElement:
/* 80324094 00320FF4 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 80324098 00320FF8 3D 00 80 3F */ lis r8, lbl_803EC5C8@ha
/* 8032409C 00320FFC 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 80324094 00320FF4 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80324098 00320FF8 3D 00 80 3F */ lis r8, __vt__17CModVectorElement@ha
/* 8032409C 00320FFC 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 803240A0 00321000 3C E0 80 3F */ lis r7, __vt__13CMVETimeChain@ha
/* 803240A4 00321004 90 03 00 00 */ stw r0, 0(r3)
/* 803240A8 00321008 39 08 C5 C8 */ addi r8, r8, lbl_803EC5C8@l
/* 803240A8 00321008 39 08 C5 C8 */ addi r8, r8, __vt__17CModVectorElement@l
/* 803240AC 0032100C 38 07 DC A8 */ addi r0, r7, __vt__13CMVETimeChain@l
/* 803240B0 00321010 91 03 00 00 */ stw r8, 0(r3)
/* 803240B4 00321014 90 03 00 00 */ stw r0, 0(r3)
@ -1866,19 +1866,19 @@ lbl_8032429C:
lbl_803242BC:
/* 803242BC 0032121C 28 1E 00 00 */ cmplwi r30, 0
/* 803242C0 00321220 41 82 00 20 */ beq lbl_803242E0
/* 803242C4 00321224 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 803242C8 00321228 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 803242C4 00321224 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 803242C8 00321228 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 803242CC 0032122C 90 1E 00 00 */ stw r0, 0(r30)
/* 803242D0 00321230 41 82 00 10 */ beq lbl_803242E0
/* 803242D4 00321234 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803242D8 00321238 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803242D4 00321234 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803242D8 00321238 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803242DC 0032123C 90 1E 00 00 */ stw r0, 0(r30)
lbl_803242E0:
/* 803242E0 00321240 7F E0 07 35 */ extsh. r0, r31
/* 803242E4 00321244 40 81 00 10 */ ble lbl_803242F4
/* 803242E8 00321248 7F C3 F3 78 */ mr r3, r30
/* 803242EC 0032124C 38 80 00 0C */ li r4, 0xc
/* 803242F0 00321250 48 04 87 75 */ bl sub_8036ca64
/* 803242F0 00321250 48 04 87 75 */ bl __dl__8IElementFPvUl
lbl_803242F4:
/* 803242F4 00321254 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803242F8 00321258 7F C3 F3 78 */ mr r3, r30
@ -1890,12 +1890,12 @@ lbl_803242F4:
.global __ct__11CMVEExplodeFP12CRealElementP12CRealElement
__ct__11CMVEExplodeFP12CRealElementP12CRealElement:
/* 80324310 00321270 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 80324314 00321274 3C E0 80 3F */ lis r7, lbl_803EC5C8@ha
/* 80324318 00321278 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 80324310 00321270 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 80324314 00321274 3C E0 80 3F */ lis r7, __vt__17CModVectorElement@ha
/* 80324318 00321278 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 8032431C 0032127C 3C C0 80 3F */ lis r6, __vt__11CMVEExplode@ha
/* 80324320 00321280 90 03 00 00 */ stw r0, 0(r3)
/* 80324324 00321284 38 E7 C5 C8 */ addi r7, r7, lbl_803EC5C8@l
/* 80324324 00321284 38 E7 C5 C8 */ addi r7, r7, __vt__17CModVectorElement@l
/* 80324328 00321288 38 06 DC B8 */ addi r0, r6, __vt__11CMVEExplode@l
/* 8032432C 0032128C 90 E3 00 00 */ stw r7, 0(r3)
/* 80324330 00321290 90 03 00 00 */ stw r0, 0(r3)
@ -2007,19 +2007,19 @@ lbl_8032449C:
lbl_803244BC:
/* 803244BC 0032141C 28 1E 00 00 */ cmplwi r30, 0
/* 803244C0 00321420 41 82 00 20 */ beq lbl_803244E0
/* 803244C4 00321424 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 803244C8 00321428 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 803244C4 00321424 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 803244C8 00321428 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 803244CC 0032142C 90 1E 00 00 */ stw r0, 0(r30)
/* 803244D0 00321430 41 82 00 10 */ beq lbl_803244E0
/* 803244D4 00321434 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803244D8 00321438 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803244D4 00321434 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803244D8 00321438 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803244DC 0032143C 90 1E 00 00 */ stw r0, 0(r30)
lbl_803244E0:
/* 803244E0 00321440 7F E0 07 35 */ extsh. r0, r31
/* 803244E4 00321444 40 81 00 10 */ ble lbl_803244F4
/* 803244E8 00321448 7F C3 F3 78 */ mr r3, r30
/* 803244EC 0032144C 38 80 00 0C */ li r4, 0xc
/* 803244F0 00321450 48 04 85 75 */ bl sub_8036ca64
/* 803244F0 00321450 48 04 85 75 */ bl __dl__8IElementFPvUl
lbl_803244F4:
/* 803244F4 00321454 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803244F8 00321458 7F C3 F3 78 */ mr r3, r30
@ -2031,12 +2031,12 @@ lbl_803244F4:
.global __ct__8CMVEWindFP14CVectorElementP12CRealElement
__ct__8CMVEWindFP14CVectorElementP12CRealElement:
/* 80324510 00321470 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 80324514 00321474 3C E0 80 3F */ lis r7, lbl_803EC5C8@ha
/* 80324518 00321478 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 80324510 00321470 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 80324514 00321474 3C E0 80 3F */ lis r7, __vt__17CModVectorElement@ha
/* 80324518 00321478 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 8032451C 0032147C 3C C0 80 3F */ lis r6, __vt__8CMVEWind@ha
/* 80324520 00321480 90 03 00 00 */ stw r0, 0(r3)
/* 80324524 00321484 38 E7 C5 C8 */ addi r7, r7, lbl_803EC5C8@l
/* 80324524 00321484 38 E7 C5 C8 */ addi r7, r7, __vt__17CModVectorElement@l
/* 80324528 00321488 38 06 DC C8 */ addi r0, r6, __vt__8CMVEWind@l
/* 8032452C 0032148C 90 E3 00 00 */ stw r7, 0(r3)
/* 80324530 00321490 90 03 00 00 */ stw r0, 0(r3)
@ -2104,19 +2104,19 @@ __dt__11CMVEGravityFv:
lbl_80324610:
/* 80324610 00321570 28 1E 00 00 */ cmplwi r30, 0
/* 80324614 00321574 41 82 00 20 */ beq lbl_80324634
/* 80324618 00321578 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 8032461C 0032157C 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80324618 00321578 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 8032461C 0032157C 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 80324620 00321580 90 1E 00 00 */ stw r0, 0(r30)
/* 80324624 00321584 41 82 00 10 */ beq lbl_80324634
/* 80324628 00321588 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 8032462C 0032158C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80324628 00321588 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8032462C 0032158C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80324630 00321590 90 1E 00 00 */ stw r0, 0(r30)
lbl_80324634:
/* 80324634 00321594 7F E0 07 35 */ extsh. r0, r31
/* 80324638 00321598 40 81 00 10 */ ble lbl_80324648
/* 8032463C 0032159C 7F C3 F3 78 */ mr r3, r30
/* 80324640 003215A0 38 80 00 08 */ li r4, 8
/* 80324644 003215A4 48 04 84 21 */ bl sub_8036ca64
/* 80324644 003215A4 48 04 84 21 */ bl __dl__8IElementFPvUl
lbl_80324648:
/* 80324648 003215A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032464C 003215AC 7F C3 F3 78 */ mr r3, r30
@ -2128,12 +2128,12 @@ lbl_80324648:
.global __ct__11CMVEGravityFP14CVectorElement
__ct__11CMVEGravityFP14CVectorElement:
/* 80324664 003215C4 3C E0 80 3F */ lis r7, lbl_803EC5A8@ha
/* 80324668 003215C8 3C C0 80 3F */ lis r6, lbl_803EC5C8@ha
/* 8032466C 003215CC 38 07 C5 A8 */ addi r0, r7, lbl_803EC5A8@l
/* 80324664 003215C4 3C E0 80 3F */ lis r7, __vt__8IElement@ha
/* 80324668 003215C8 3C C0 80 3F */ lis r6, __vt__17CModVectorElement@ha
/* 8032466C 003215CC 38 07 C5 A8 */ addi r0, r7, __vt__8IElement@l
/* 80324670 003215D0 3C A0 80 3F */ lis r5, __vt__11CMVEGravity@ha
/* 80324674 003215D4 90 03 00 00 */ stw r0, 0(r3)
/* 80324678 003215D8 38 C6 C5 C8 */ addi r6, r6, lbl_803EC5C8@l
/* 80324678 003215D8 38 C6 C5 C8 */ addi r6, r6, __vt__17CModVectorElement@l
/* 8032467C 003215DC 38 05 DC D8 */ addi r0, r5, __vt__11CMVEGravity@l
/* 80324680 003215E0 90 C3 00 00 */ stw r6, 0(r3)
/* 80324684 003215E4 90 03 00 00 */ stw r0, 0(r3)
@ -2163,19 +2163,19 @@ __dt__16CMVEFastConstantFv:
/* 803246CC 0032162C 38 03 DC E8 */ addi r0, r3, __vt__16CMVEFastConstant@l
/* 803246D0 00321630 90 1F 00 00 */ stw r0, 0(r31)
/* 803246D4 00321634 41 82 00 20 */ beq lbl_803246F4
/* 803246D8 00321638 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 803246DC 0032163C 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 803246D8 00321638 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 803246DC 0032163C 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 803246E0 00321640 90 1F 00 00 */ stw r0, 0(r31)
/* 803246E4 00321644 41 82 00 10 */ beq lbl_803246F4
/* 803246E8 00321648 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803246EC 0032164C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803246E8 00321648 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803246EC 0032164C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803246F0 00321650 90 1F 00 00 */ stw r0, 0(r31)
lbl_803246F4:
/* 803246F4 00321654 7C 80 07 35 */ extsh. r0, r4
/* 803246F8 00321658 40 81 00 10 */ ble lbl_80324708
/* 803246FC 0032165C 7F E3 FB 78 */ mr r3, r31
/* 80324700 00321660 38 80 00 10 */ li r4, 0x10
/* 80324704 00321664 48 04 83 61 */ bl sub_8036ca64
/* 80324704 00321664 48 04 83 61 */ bl __dl__8IElementFPvUl
lbl_80324708:
/* 80324708 00321668 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032470C 0032166C 7F E3 FB 78 */ mr r3, r31
@ -2186,12 +2186,12 @@ lbl_80324708:
.global __ct__16CMVEFastConstantFfff
__ct__16CMVEFastConstantFfff:
/* 80324720 00321680 3C C0 80 3F */ lis r6, lbl_803EC5A8@ha
/* 80324724 00321684 3C A0 80 3F */ lis r5, lbl_803EC5C8@ha
/* 80324728 00321688 38 06 C5 A8 */ addi r0, r6, lbl_803EC5A8@l
/* 80324720 00321680 3C C0 80 3F */ lis r6, __vt__8IElement@ha
/* 80324724 00321684 3C A0 80 3F */ lis r5, __vt__17CModVectorElement@ha
/* 80324728 00321688 38 06 C5 A8 */ addi r0, r6, __vt__8IElement@l
/* 8032472C 0032168C 3C 80 80 3F */ lis r4, __vt__16CMVEFastConstant@ha
/* 80324730 00321690 90 03 00 00 */ stw r0, 0(r3)
/* 80324734 00321694 38 A5 C5 C8 */ addi r5, r5, lbl_803EC5C8@l
/* 80324734 00321694 38 A5 C5 C8 */ addi r5, r5, __vt__17CModVectorElement@l
/* 80324738 00321698 38 04 DC E8 */ addi r0, r4, __vt__16CMVEFastConstant@l
/* 8032473C 0032169C 90 A3 00 00 */ stw r5, 0(r3)
/* 80324740 003216A0 90 03 00 00 */ stw r0, 0(r3)
@ -2288,19 +2288,19 @@ lbl_8032486C:
lbl_8032488C:
/* 8032488C 003217EC 28 1E 00 00 */ cmplwi r30, 0
/* 80324890 003217F0 41 82 00 20 */ beq lbl_803248B0
/* 80324894 003217F4 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 80324898 003217F8 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 80324894 003217F4 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 80324898 003217F8 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 8032489C 003217FC 90 1E 00 00 */ stw r0, 0(r30)
/* 803248A0 00321800 41 82 00 10 */ beq lbl_803248B0
/* 803248A4 00321804 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803248A8 00321808 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803248A4 00321804 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803248A8 00321808 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803248AC 0032180C 90 1E 00 00 */ stw r0, 0(r30)
lbl_803248B0:
/* 803248B0 00321810 7F E0 07 35 */ extsh. r0, r31
/* 803248B4 00321814 40 81 00 10 */ ble lbl_803248C4
/* 803248B8 00321818 7F C3 F3 78 */ mr r3, r30
/* 803248BC 0032181C 38 80 00 10 */ li r4, 0x10
/* 803248C0 00321820 48 04 81 A5 */ bl sub_8036ca64
/* 803248C0 00321820 48 04 81 A5 */ bl __dl__8IElementFPvUl
lbl_803248C4:
/* 803248C4 00321824 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803248C8 00321828 7F C3 F3 78 */ mr r3, r30
@ -2312,12 +2312,12 @@ lbl_803248C4:
.global __ct__12CMVEConstantFP12CRealElementP12CRealElementP12CRealElement
__ct__12CMVEConstantFP12CRealElementP12CRealElementP12CRealElement:
/* 803248E0 00321840 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 803248E4 00321844 3D 00 80 3F */ lis r8, lbl_803EC5C8@ha
/* 803248E8 00321848 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 803248E0 00321840 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 803248E4 00321844 3D 00 80 3F */ lis r8, __vt__17CModVectorElement@ha
/* 803248E8 00321848 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 803248EC 0032184C 3C E0 80 3F */ lis r7, __vt__12CMVEConstant@ha
/* 803248F0 00321850 90 03 00 00 */ stw r0, 0(r3)
/* 803248F4 00321854 39 08 C5 C8 */ addi r8, r8, lbl_803EC5C8@l
/* 803248F4 00321854 39 08 C5 C8 */ addi r8, r8, __vt__17CModVectorElement@l
/* 803248F8 00321858 38 07 DC F8 */ addi r0, r7, __vt__12CMVEConstant@l
/* 803248FC 0032185C 91 03 00 00 */ stw r8, 0(r3)
/* 80324900 00321860 90 03 00 00 */ stw r0, 0(r3)

File diff suppressed because it is too large Load Diff

View File

@ -3,39 +3,39 @@
.section .sbss, "wa"
.balign 8
.global lbl_805A9490
lbl_805A9490:
.global mParticleLifetime__16CParticleGlobals
mParticleLifetime__16CParticleGlobals:
.skip 0x4
.global lbl_805A9494
lbl_805A9494:
.global mParticleLifetimeReal__16CParticleGlobals
mParticleLifetimeReal__16CParticleGlobals:
.skip 0x4
.global lbl_805A9498
lbl_805A9498:
.global mEmitterTime__16CParticleGlobals
mEmitterTime__16CParticleGlobals:
.skip 0x4
.global lbl_805A949C
lbl_805A949C:
.global mEmitterTimeReal__16CParticleGlobals
mEmitterTimeReal__16CParticleGlobals:
.skip 0x4
.global lbl_805A94A0
lbl_805A94A0:
.global mParticleLifetimePercentage__16CParticleGlobals
mParticleLifetimePercentage__16CParticleGlobals:
.skip 0x4
.global lbl_805A94A4
lbl_805A94A4:
.global mParticleLifetimePercentageReal__16CParticleGlobals
mParticleLifetimePercentageReal__16CParticleGlobals:
.skip 0x4
.global lbl_805A94A8
lbl_805A94A8:
.global mParticleLifetimePercentageRemainder__16CParticleGlobals
mParticleLifetimePercentageRemainder__16CParticleGlobals:
.skip 0x4
# mCurrentParticle
.global lbl_805A94AC
lbl_805A94AC:
.skip 0x4
# mParticleAccessParameters
.global lbl_805A94B0
lbl_805A94B0:
.skip 0x4
.global lbl_805A94B4
lbl_805A94B4:
# mCurrentParticleSystem
.global mCurrentParticleSystem__16CParticleGlobals
mCurrentParticleSystem__16CParticleGlobals:
.skip 0x4
.global lbl_805A94B8
lbl_805A94B8:
.skip 0x8
.section .text, "ax"
@ -44,7 +44,7 @@ UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi:
/* 8032A67C 003275DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032A680 003275E0 3C 00 43 30 */ lis r0, 0x4330
/* 8032A684 003275E4 C8 22 CA 88 */ lfd f1, lbl_805AE7A8@sda21(r2)
/* 8032A688 003275E8 80 8D A8 D0 */ lwz r4, lbl_805A9490@sda21(r13)
/* 8032A688 003275E8 80 8D A8 D0 */ lwz r4, mParticleLifetime__16CParticleGlobals@sda21(r13)
/* 8032A68C 003275EC 90 01 00 08 */ stw r0, 8(r1)
/* 8032A690 003275F0 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 8032A694 003275F4 C0 42 CA 7C */ lfs f2, lbl_805AE79C@sda21(r2)
@ -73,26 +73,26 @@ lbl_8032A6C4:
/* 8032A6E8 00327648 EC 01 00 32 */ fmuls f0, f1, f0
/* 8032A6EC 0032764C EC 20 18 24 */ fdivs f1, f0, f3
/* 8032A6F0 00327650 FC 00 08 1E */ fctiwz f0, f1
/* 8032A6F4 00327654 D0 2D A8 E4 */ stfs f1, lbl_805A94A4@sda21(r13)
/* 8032A6F4 00327654 D0 2D A8 E4 */ stfs f1, mParticleLifetimePercentageReal__16CParticleGlobals@sda21(r13)
/* 8032A6F8 00327658 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8032A6FC 0032765C 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8032A700 00327660 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8032A704 00327664 2C 03 00 00 */ cmpwi r3, 0
/* 8032A708 00327668 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8032A70C 0032766C C8 01 00 28 */ lfd f0, 0x28(r1)
/* 8032A710 00327670 90 6D A8 E0 */ stw r3, lbl_805A94A0@sda21(r13)
/* 8032A710 00327670 90 6D A8 E0 */ stw r3, mParticleLifetimePercentage__16CParticleGlobals@sda21(r13)
/* 8032A714 00327674 EC 00 10 28 */ fsubs f0, f0, f2
/* 8032A718 00327678 EC 01 00 28 */ fsubs f0, f1, f0
/* 8032A71C 0032767C D0 0D A8 E8 */ stfs f0, lbl_805A94A8@sda21(r13)
/* 8032A71C 0032767C D0 0D A8 E8 */ stfs f0, mParticleLifetimePercentageRemainder__16CParticleGlobals@sda21(r13)
/* 8032A720 00327680 40 80 00 10 */ bge lbl_8032A730
/* 8032A724 00327684 38 00 00 00 */ li r0, 0
/* 8032A728 00327688 90 0D A8 E0 */ stw r0, lbl_805A94A0@sda21(r13)
/* 8032A728 00327688 90 0D A8 E0 */ stw r0, mParticleLifetimePercentage__16CParticleGlobals@sda21(r13)
/* 8032A72C 0032768C 48 00 00 14 */ b lbl_8032A740
lbl_8032A730:
/* 8032A730 00327690 2C 03 00 64 */ cmpwi r3, 0x64
/* 8032A734 00327694 40 81 00 0C */ ble lbl_8032A740
/* 8032A738 00327698 38 00 00 64 */ li r0, 0x64
/* 8032A73C 0032769C 90 0D A8 E0 */ stw r0, lbl_805A94A0@sda21(r13)
/* 8032A73C 0032769C 90 0D A8 E0 */ stw r0, mParticleLifetimePercentage__16CParticleGlobals@sda21(r13)
lbl_8032A740:
/* 8032A740 003276A0 38 21 00 30 */ addi r1, r1, 0x30
/* 8032A744 003276A4 4E 80 00 20 */ blr
@ -106,9 +106,9 @@ SetEmitterTime__16CParticleGlobalsFi:
/* 8032A758 003276B8 90 81 00 0C */ stw r4, 0xc(r1)
/* 8032A75C 003276BC 90 01 00 08 */ stw r0, 8(r1)
/* 8032A760 003276C0 C8 01 00 08 */ lfd f0, 8(r1)
/* 8032A764 003276C4 90 6D A8 D8 */ stw r3, lbl_805A9498@sda21(r13)
/* 8032A764 003276C4 90 6D A8 D8 */ stw r3, mEmitterTime__16CParticleGlobals@sda21(r13)
/* 8032A768 003276C8 EC 00 08 28 */ fsubs f0, f0, f1
/* 8032A76C 003276CC D0 0D A8 DC */ stfs f0, lbl_805A949C@sda21(r13)
/* 8032A76C 003276CC D0 0D A8 DC */ stfs f0, mEmitterTimeReal__16CParticleGlobals@sda21(r13)
/* 8032A770 003276D0 38 21 00 10 */ addi r1, r1, 0x10
/* 8032A774 003276D4 4E 80 00 20 */ blr
@ -121,9 +121,9 @@ SetParticleLifetime__16CParticleGlobalsFi:
/* 8032A788 003276E8 90 81 00 0C */ stw r4, 0xc(r1)
/* 8032A78C 003276EC 90 01 00 08 */ stw r0, 8(r1)
/* 8032A790 003276F0 C8 01 00 08 */ lfd f0, 8(r1)
/* 8032A794 003276F4 90 6D A8 D0 */ stw r3, lbl_805A9490@sda21(r13)
/* 8032A794 003276F4 90 6D A8 D0 */ stw r3, mParticleLifetime__16CParticleGlobals@sda21(r13)
/* 8032A798 003276F8 EC 00 08 28 */ fsubs f0, f0, f1
/* 8032A79C 003276FC D0 0D A8 D4 */ stfs f0, lbl_805A9494@sda21(r13)
/* 8032A79C 003276FC D0 0D A8 D4 */ stfs f0, mParticleLifetimeReal__16CParticleGlobals@sda21(r13)
/* 8032A7A0 00327700 38 21 00 10 */ addi r1, r1, 0x10
/* 8032A7A4 00327704 4E 80 00 20 */ blr
@ -149,4 +149,3 @@ lbl_805AE7A0:
lbl_805AE7A8:
# ROM: 0x3FB048
.double 4.503601774854144E15

View File

@ -50,6 +50,13 @@ lbl_805A88DC:
# ROM: 0x3F627C
.4byte 0
.section .sbss, "wa"
.balign 8
.global mSwooshAliveCount__15CParticleSwoosh
mSwooshAliveCount__15CParticleSwoosh:
.skip 0x8
.section .text, "ax"
.global GetTranslation__15CParticleSwooshCFv
@ -4755,9 +4762,9 @@ __dt__15CParticleSwooshFv:
/* 8032EC00 0032BB60 34 1E 01 9C */ addic. r0, r30, 0x19c
/* 8032EC04 0032BB64 38 03 DD 80 */ addi r0, r3, lbl_803EDD80@l
/* 8032EC08 0032BB68 90 1E 00 00 */ stw r0, 0(r30)
/* 8032EC0C 0032BB6C 80 6D A8 F8 */ lwz r3, lbl_805A94B8@sda21(r13)
/* 8032EC0C 0032BB6C 80 6D A8 F8 */ lwz r3, mSwooshAliveCount__15CParticleSwoosh@sda21(r13)
/* 8032EC10 0032BB70 38 03 FF FF */ addi r0, r3, -1
/* 8032EC14 0032BB74 90 0D A8 F8 */ stw r0, lbl_805A94B8@sda21(r13)
/* 8032EC14 0032BB74 90 0D A8 F8 */ stw r0, mSwooshAliveCount__15CParticleSwoosh@sda21(r13)
/* 8032EC18 0032BB78 41 82 00 44 */ beq lbl_8032EC5C
/* 8032EC1C 0032BB7C 80 1E 01 A0 */ lwz r0, 0x1a0(r30)
/* 8032EC20 0032BB80 80 7E 01 A8 */ lwz r3, 0x1a8(r30)
@ -5058,10 +5065,10 @@ lbl_8032EFA0:
/* 8032F060 0032BFC0 D0 3F 02 08 */ stfs f1, 0x208(r31)
/* 8032F064 0032BFC4 90 1F 02 0C */ stw r0, 0x20c(r31)
/* 8032F068 0032BFC8 4B FE 36 19 */ bl __ct__13CGlobalRandomFR9CRandom16
/* 8032F06C 0032BFCC 80 6D A8 F8 */ lwz r3, lbl_805A94B8@sda21(r13)
/* 8032F06C 0032BFCC 80 6D A8 F8 */ lwz r3, mSwooshAliveCount__15CParticleSwoosh@sda21(r13)
/* 8032F070 0032BFD0 2C 1E 00 00 */ cmpwi r30, 0
/* 8032F074 0032BFD4 38 03 00 01 */ addi r0, r3, 1
/* 8032F078 0032BFD8 90 0D A8 F8 */ stw r0, lbl_805A94B8@sda21(r13)
/* 8032F078 0032BFD8 90 0D A8 F8 */ stw r0, mSwooshAliveCount__15CParticleSwoosh@sda21(r13)
/* 8032F07C 0032BFDC 40 81 00 0C */ ble lbl_8032F088
/* 8032F080 0032BFE0 93 DF 01 B4 */ stw r30, 0x1b4(r31)
/* 8032F084 0032BFE4 48 00 00 2C */ b lbl_8032F0B0

File diff suppressed because it is too large Load Diff

View File

@ -220,19 +220,19 @@ lbl_803341E4:
lbl_80334200:
/* 80334200 00331160 28 1F 00 00 */ cmplwi r31, 0
/* 80334204 00331164 41 82 00 20 */ beq lbl_80334224
/* 80334208 00331168 3C 60 80 3F */ lis r3, lbl_803EC568@ha
/* 8033420C 0033116C 38 03 C5 68 */ addi r0, r3, lbl_803EC568@l
/* 80334208 00331168 3C 60 80 3F */ lis r3, __vt__10CUVElement@ha
/* 8033420C 0033116C 38 03 C5 68 */ addi r0, r3, __vt__10CUVElement@l
/* 80334210 00331170 90 1F 00 00 */ stw r0, 0(r31)
/* 80334214 00331174 41 82 00 10 */ beq lbl_80334224
/* 80334218 00331178 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 8033421C 0033117C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80334218 00331178 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8033421C 0033117C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80334220 00331180 90 1F 00 00 */ stw r0, 0(r31)
lbl_80334224:
/* 80334224 00331184 7F C0 07 35 */ extsh. r0, r30
/* 80334228 00331188 40 81 00 10 */ ble lbl_80334238
/* 8033422C 0033118C 7F E3 FB 78 */ mr r3, r31
/* 80334230 00331190 38 80 00 3C */ li r4, 0x3c
/* 80334234 00331194 48 03 88 31 */ bl sub_8036ca64
/* 80334234 00331194 48 03 88 31 */ bl __dl__8IElementFPvUl
lbl_80334238:
/* 80334238 00331198 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8033423C 0033119C 7F E3 FB 78 */ mr r3, r31
@ -251,11 +251,11 @@ lbl_80334238:
/* 80334264 003311C4 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 80334268 003311C8 BF 01 00 70 */ stmw r24, 0x70(r1)
/* 8033426C 003311CC 7C 79 1B 78 */ mr r25, r3
/* 80334270 003311D0 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80334274 003311D4 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80334278 003311D8 3D 60 80 3F */ lis r11, lbl_803EC568@ha
/* 80334270 003311D0 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80334274 003311D4 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80334278 003311D8 3D 60 80 3F */ lis r11, __vt__10CUVElement@ha
/* 8033427C 003311DC 90 19 00 00 */ stw r0, 0(r25)
/* 80334280 003311E0 38 0B C5 68 */ addi r0, r11, lbl_803EC568@l
/* 80334280 003311E0 38 0B C5 68 */ addi r0, r11, __vt__10CUVElement@l
/* 80334284 003311E4 3C 60 80 3F */ lis r3, lbl_803EE118@ha
/* 80334288 003311E8 3B 19 00 04 */ addi r24, r25, 4
/* 8033428C 003311EC 90 19 00 00 */ stw r0, 0(r25)
@ -542,19 +542,19 @@ __dt__12CUVEConstantFv:
lbl_80334698:
/* 80334698 003315F8 28 1E 00 00 */ cmplwi r30, 0
/* 8033469C 003315FC 41 82 00 20 */ beq lbl_803346BC
/* 803346A0 00331600 3C 60 80 3F */ lis r3, lbl_803EC568@ha
/* 803346A4 00331604 38 03 C5 68 */ addi r0, r3, lbl_803EC568@l
/* 803346A0 00331600 3C 60 80 3F */ lis r3, __vt__10CUVElement@ha
/* 803346A4 00331604 38 03 C5 68 */ addi r0, r3, __vt__10CUVElement@l
/* 803346A8 00331608 90 1E 00 00 */ stw r0, 0(r30)
/* 803346AC 0033160C 41 82 00 10 */ beq lbl_803346BC
/* 803346B0 00331610 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803346B4 00331614 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803346B0 00331610 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803346B4 00331614 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803346B8 00331618 90 1E 00 00 */ stw r0, 0(r30)
lbl_803346BC:
/* 803346BC 0033161C 7F E0 07 35 */ extsh. r0, r31
/* 803346C0 00331620 40 81 00 10 */ ble lbl_803346D0
/* 803346C4 00331624 7F C3 F3 78 */ mr r3, r30
/* 803346C8 00331628 38 80 00 10 */ li r4, 0x10
/* 803346CC 0033162C 48 03 83 99 */ bl sub_8036ca64
/* 803346CC 0033162C 48 03 83 99 */ bl __dl__8IElementFPvUl
lbl_803346D0:
/* 803346D0 00331630 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803346D4 00331634 7F C3 F3 78 */ mr r3, r30
@ -568,17 +568,17 @@ lbl_803346D0:
"__ct__12CUVEConstantF17TToken<8CTexture>":
/* 803346EC 0033164C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803346F0 00331650 7C 08 02 A6 */ mflr r0
/* 803346F4 00331654 3C A0 80 3F */ lis r5, lbl_803EC568@ha
/* 803346F4 00331654 3C A0 80 3F */ lis r5, __vt__10CUVElement@ha
/* 803346F8 00331658 90 01 00 14 */ stw r0, 0x14(r1)
/* 803346FC 0033165C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80334700 00331660 7C 7F 1B 78 */ mr r31, r3
/* 80334704 00331664 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80334704 00331664 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80334708 00331668 93 C1 00 08 */ stw r30, 8(r1)
/* 8033470C 0033166C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 8033470C 0033166C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80334710 00331670 3C 60 80 3F */ lis r3, lbl_803EE134@ha
/* 80334714 00331674 3B DF 00 04 */ addi r30, r31, 4
/* 80334718 00331678 90 1F 00 00 */ stw r0, 0(r31)
/* 8033471C 0033167C 38 05 C5 68 */ addi r0, r5, lbl_803EC568@l
/* 8033471C 0033167C 38 05 C5 68 */ addi r0, r5, __vt__10CUVElement@l
/* 80334720 00331680 7F E6 FB 78 */ mr r6, r31
/* 80334724 00331684 90 1F 00 00 */ stw r0, 0(r31)
/* 80334728 00331688 38 03 E1 34 */ addi r0, r3, lbl_803EE134@l
@ -709,4 +709,3 @@ lbl_803D7980:
# ROM: 0x3D4980
.asciz "??(??)"
.balign 4

View File

@ -268,19 +268,19 @@ __dt__7CVECVTC:
lbl_80334958:
/* 80334958 003318B8 28 1E 00 00 */ cmplwi r30, 0
/* 8033495C 003318BC 41 82 00 20 */ beq lbl_8033497C
/* 80334960 003318C0 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80334964 003318C4 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80334960 003318C0 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80334964 003318C4 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80334968 003318C8 90 1E 00 00 */ stw r0, 0(r30)
/* 8033496C 003318CC 41 82 00 10 */ beq lbl_8033497C
/* 80334970 003318D0 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80334974 003318D4 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80334970 003318D0 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80334974 003318D4 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80334978 003318D8 90 1E 00 00 */ stw r0, 0(r30)
lbl_8033497C:
/* 8033497C 003318DC 7F E0 07 35 */ extsh. r0, r31
/* 80334980 003318E0 40 81 00 10 */ ble lbl_80334990
/* 80334984 003318E4 7F C3 F3 78 */ mr r3, r30
/* 80334988 003318E8 38 80 00 08 */ li r4, 8
/* 8033498C 003318EC 48 03 80 D9 */ bl sub_8036ca64
/* 8033498C 003318EC 48 03 80 D9 */ bl __dl__8IElementFPvUl
lbl_80334990:
/* 80334990 003318F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80334994 003318F4 7F C3 F3 78 */ mr r3, r30
@ -292,12 +292,12 @@ lbl_80334990:
.global __ct__7CVECTVCFP13CColorElement
__ct__7CVECTVCFP13CColorElement:
/* 803349AC 0033190C 3C E0 80 3F */ lis r7, lbl_803EC5A8@ha
/* 803349B0 00331910 3C C0 80 3F */ lis r6, lbl_803EC594@ha
/* 803349B4 00331914 38 07 C5 A8 */ addi r0, r7, lbl_803EC5A8@l
/* 803349AC 0033190C 3C E0 80 3F */ lis r7, __vt__8IElement@ha
/* 803349B0 00331910 3C C0 80 3F */ lis r6, __vt__14CVectorElement@ha
/* 803349B4 00331914 38 07 C5 A8 */ addi r0, r7, __vt__8IElement@l
/* 803349B8 00331918 3C A0 80 3F */ lis r5, lbl_803EE150@ha
/* 803349BC 0033191C 90 03 00 00 */ stw r0, 0(r3)
/* 803349C0 00331920 38 C6 C5 94 */ addi r6, r6, lbl_803EC594@l
/* 803349C0 00331920 38 C6 C5 94 */ addi r6, r6, __vt__14CVectorElement@l
/* 803349C4 00331924 38 05 E1 50 */ addi r0, r5, lbl_803EE150@l
/* 803349C8 00331928 90 C3 00 00 */ stw r6, 0(r3)
/* 803349CC 0033192C 90 03 00 00 */ stw r0, 0(r3)
@ -393,19 +393,19 @@ lbl_80334AF8:
lbl_80334B18:
/* 80334B18 00331A78 28 1E 00 00 */ cmplwi r30, 0
/* 80334B1C 00331A7C 41 82 00 20 */ beq lbl_80334B3C
/* 80334B20 00331A80 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80334B24 00331A84 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80334B20 00331A80 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80334B24 00331A84 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80334B28 00331A88 90 1E 00 00 */ stw r0, 0(r30)
/* 80334B2C 00331A8C 41 82 00 10 */ beq lbl_80334B3C
/* 80334B30 00331A90 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80334B34 00331A94 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80334B30 00331A90 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80334B34 00331A94 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80334B38 00331A98 90 1E 00 00 */ stw r0, 0(r30)
lbl_80334B3C:
/* 80334B3C 00331A9C 7F E0 07 35 */ extsh. r0, r31
/* 80334B40 00331AA0 40 81 00 10 */ ble lbl_80334B50
/* 80334B44 00331AA4 7F C3 F3 78 */ mr r3, r30
/* 80334B48 00331AA8 38 80 00 0C */ li r4, 0xc
/* 80334B4C 00331AAC 48 03 7F 19 */ bl sub_8036ca64
/* 80334B4C 00331AAC 48 03 7F 19 */ bl __dl__8IElementFPvUl
lbl_80334B50:
/* 80334B50 00331AB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80334B54 00331AB4 7F C3 F3 78 */ mr r3, r30
@ -417,12 +417,12 @@ lbl_80334B50:
.global __ct__10CVESubractFP14CVectorElementP14CVectorElement
__ct__10CVESubractFP14CVectorElementP14CVectorElement:
/* 80334B6C 00331ACC 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 80334B70 00331AD0 3C E0 80 3F */ lis r7, lbl_803EC594@ha
/* 80334B74 00331AD4 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 80334B6C 00331ACC 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 80334B70 00331AD0 3C E0 80 3F */ lis r7, __vt__14CVectorElement@ha
/* 80334B74 00331AD4 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 80334B78 00331AD8 3C C0 80 3F */ lis r6, lbl_803EE164@ha
/* 80334B7C 00331ADC 90 03 00 00 */ stw r0, 0(r3)
/* 80334B80 00331AE0 38 E7 C5 94 */ addi r7, r7, lbl_803EC594@l
/* 80334B80 00331AE0 38 E7 C5 94 */ addi r7, r7, __vt__14CVectorElement@l
/* 80334B84 00331AE4 38 06 E1 64 */ addi r0, r6, lbl_803EE164@l
/* 80334B88 00331AE8 90 E3 00 00 */ stw r7, 0(r3)
/* 80334B8C 00331AEC 90 03 00 00 */ stw r0, 0(r3)
@ -437,7 +437,7 @@ GetValue__28CVEParticleSystemTranslationCFiR9CVector3f:
/* 80334BA4 00331B04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80334BA8 00331B08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80334BAC 00331B0C 7C BF 2B 78 */ mr r31, r5
/* 80334BB0 00331B10 80 6D A8 F4 */ lwz r3, lbl_805A94B4@sda21(r13)
/* 80334BB0 00331B10 80 6D A8 F4 */ lwz r3, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 80334BB4 00331B14 80 63 00 04 */ lwz r3, 4(r3)
/* 80334BB8 00331B18 81 83 00 00 */ lwz r12, 0(r3)
/* 80334BBC 00331B1C 81 8C 00 3C */ lwz r12, 0x3c(r12)
@ -463,7 +463,7 @@ GetValue__33CVEParticleSystemOrientationRightCFiR9CVector3f:
/* 80334C00 00331B60 90 01 00 14 */ stw r0, 0x14(r1)
/* 80334C04 00331B64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80334C08 00331B68 7C BF 2B 78 */ mr r31, r5
/* 80334C0C 00331B6C 80 6D A8 F4 */ lwz r3, lbl_805A94B4@sda21(r13)
/* 80334C0C 00331B6C 80 6D A8 F4 */ lwz r3, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 80334C10 00331B70 80 63 00 04 */ lwz r3, 4(r3)
/* 80334C14 00331B74 81 83 00 00 */ lwz r12, 0(r3)
/* 80334C18 00331B78 81 8C 00 38 */ lwz r12, 0x38(r12)
@ -489,7 +489,7 @@ GetValue__31CVEParticleSystemOrienatationUpCFiR9CVector3f:
/* 80334C5C 00331BBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80334C60 00331BC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80334C64 00331BC4 7C BF 2B 78 */ mr r31, r5
/* 80334C68 00331BC8 80 6D A8 F4 */ lwz r3, lbl_805A94B4@sda21(r13)
/* 80334C68 00331BC8 80 6D A8 F4 */ lwz r3, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 80334C6C 00331BCC 80 63 00 04 */ lwz r3, 4(r3)
/* 80334C70 00331BD0 81 83 00 00 */ lwz r12, 0(r3)
/* 80334C74 00331BD4 81 8C 00 38 */ lwz r12, 0x38(r12)
@ -515,7 +515,7 @@ GetValue__33CVEParticleSystemOrientationFrontCFiR9CVector3f:
/* 80334CB8 00331C18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80334CBC 00331C1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80334CC0 00331C20 7C BF 2B 78 */ mr r31, r5
/* 80334CC4 00331C24 80 6D A8 F4 */ lwz r3, lbl_805A94B4@sda21(r13)
/* 80334CC4 00331C24 80 6D A8 F4 */ lwz r3, mCurrentParticleSystem__16CParticleGlobals@sda21(r13)
/* 80334CC8 00331C28 80 63 00 04 */ lwz r3, 4(r3)
/* 80334CCC 00331C2C 81 83 00 00 */ lwz r12, 0(r3)
/* 80334CD0 00331C30 81 8C 00 38 */ lwz r12, 0x38(r12)
@ -620,19 +620,19 @@ __dt__15CVERealToVector:
lbl_80334E20:
/* 80334E20 00331D80 28 1E 00 00 */ cmplwi r30, 0
/* 80334E24 00331D84 41 82 00 20 */ beq lbl_80334E44
/* 80334E28 00331D88 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80334E2C 00331D8C 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80334E28 00331D88 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80334E2C 00331D8C 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80334E30 00331D90 90 1E 00 00 */ stw r0, 0(r30)
/* 80334E34 00331D94 41 82 00 10 */ beq lbl_80334E44
/* 80334E38 00331D98 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80334E3C 00331D9C 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80334E38 00331D98 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80334E3C 00331D9C 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80334E40 00331DA0 90 1E 00 00 */ stw r0, 0(r30)
lbl_80334E44:
/* 80334E44 00331DA4 7F E0 07 35 */ extsh. r0, r31
/* 80334E48 00331DA8 40 81 00 10 */ ble lbl_80334E58
/* 80334E4C 00331DAC 7F C3 F3 78 */ mr r3, r30
/* 80334E50 00331DB0 38 80 00 08 */ li r4, 8
/* 80334E54 00331DB4 48 03 7C 11 */ bl sub_8036ca64
/* 80334E54 00331DB4 48 03 7C 11 */ bl __dl__8IElementFPvUl
lbl_80334E58:
/* 80334E58 00331DB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80334E5C 00331DBC 7F C3 F3 78 */ mr r3, r30
@ -644,12 +644,12 @@ lbl_80334E58:
.global __ct__15CVERealToVectorFP12CRealElement
__ct__15CVERealToVectorFP12CRealElement:
/* 80334E74 00331DD4 3C E0 80 3F */ lis r7, lbl_803EC5A8@ha
/* 80334E78 00331DD8 3C C0 80 3F */ lis r6, lbl_803EC594@ha
/* 80334E7C 00331DDC 38 07 C5 A8 */ addi r0, r7, lbl_803EC5A8@l
/* 80334E74 00331DD4 3C E0 80 3F */ lis r7, __vt__8IElement@ha
/* 80334E78 00331DD8 3C C0 80 3F */ lis r6, __vt__14CVectorElement@ha
/* 80334E7C 00331DDC 38 07 C5 A8 */ addi r0, r7, __vt__8IElement@l
/* 80334E80 00331DE0 3C A0 80 3F */ lis r5, lbl_803EE204@ha
/* 80334E84 00331DE4 90 03 00 00 */ stw r0, 0(r3)
/* 80334E88 00331DE8 38 C6 C5 94 */ addi r6, r6, lbl_803EC594@l
/* 80334E88 00331DE8 38 C6 C5 94 */ addi r6, r6, __vt__14CVectorElement@l
/* 80334E8C 00331DEC 38 05 E2 04 */ addi r0, r5, lbl_803EE204@l
/* 80334E90 00331DF0 90 C3 00 00 */ stw r6, 0(r3)
/* 80334E94 00331DF4 90 03 00 00 */ stw r0, 0(r3)
@ -663,7 +663,7 @@ GetValue__18CVEKeyframeEmitterCFiR9CVector3f:
/* 80334EA8 00331E08 2C 00 00 00 */ cmpwi r0, 0
/* 80334EAC 00331E0C 40 82 00 C8 */ bne lbl_80334F74
/* 80334EB0 00331E10 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80334EB4 00331E14 81 0D A8 D8 */ lwz r8, lbl_805A9498@sda21(r13)
/* 80334EB4 00331E14 81 0D A8 D8 */ lwz r8, mEmitterTime__16CParticleGlobals@sda21(r13)
/* 80334EB8 00331E18 28 00 00 00 */ cmplwi r0, 0
/* 80334EBC 00331E1C 91 01 00 0C */ stw r8, 0xc(r1)
/* 80334EC0 00331E20 41 82 00 64 */ beq lbl_80334F24
@ -716,7 +716,7 @@ lbl_80334F6C:
/* 80334F6C 00331ECC 38 60 00 00 */ li r3, 0
/* 80334F70 00331ED0 48 00 00 A8 */ b lbl_80335018
lbl_80334F74:
/* 80334F74 00331ED4 80 8D A8 E0 */ lwz r4, lbl_805A94A0@sda21(r13)
/* 80334F74 00331ED4 80 8D A8 E0 */ lwz r4, mParticleLifetimePercentage__16CParticleGlobals@sda21(r13)
/* 80334F78 00331ED8 2C 04 00 64 */ cmpwi r4, 0x64
/* 80334F7C 00331EDC 40 82 00 2C */ bne lbl_80334FA8
/* 80334F80 00331EE0 1C 04 00 0C */ mulli r0, r4, 0xc
@ -733,7 +733,7 @@ lbl_80334FA8:
/* 80334FA8 00331F08 38 04 00 01 */ addi r0, r4, 1
/* 80334FAC 00331F0C 80 C3 00 24 */ lwz r6, 0x24(r3)
/* 80334FB0 00331F10 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80334FB4 00331F14 C0 ED A8 E8 */ lfs f7, lbl_805A94A8@sda21(r13)
/* 80334FB4 00331F14 C0 ED A8 E8 */ lfs f7, mParticleLifetimePercentageRemainder__16CParticleGlobals@sda21(r13)
/* 80334FB8 00331F18 C0 02 CB 58 */ lfs f0, lbl_805AE878@sda21(r2)
/* 80334FBC 00331F1C 7C 66 02 14 */ add r3, r6, r0
/* 80334FC0 00331F20 ED 00 38 28 */ fsubs f8, f0, f7
@ -799,19 +799,19 @@ lbl_80335080:
lbl_80335094:
/* 80335094 00331FF4 28 1E 00 00 */ cmplwi r30, 0
/* 80335098 00331FF8 41 82 00 20 */ beq lbl_803350B8
/* 8033509C 00331FFC 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 803350A0 00332000 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 8033509C 00331FFC 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 803350A0 00332000 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 803350A4 00332004 90 1E 00 00 */ stw r0, 0(r30)
/* 803350A8 00332008 41 82 00 10 */ beq lbl_803350B8
/* 803350AC 0033200C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803350B0 00332010 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803350AC 0033200C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803350B0 00332010 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803350B4 00332014 90 1E 00 00 */ stw r0, 0(r30)
lbl_803350B8:
/* 803350B8 00332018 7F E0 07 35 */ extsh. r0, r31
/* 803350BC 0033201C 40 81 00 10 */ ble lbl_803350CC
/* 803350C0 00332020 7F C3 F3 78 */ mr r3, r30
/* 803350C4 00332024 38 80 00 28 */ li r4, 0x28
/* 803350C8 00332028 48 03 79 9D */ bl sub_8036ca64
/* 803350C8 00332028 48 03 79 9D */ bl __dl__8IElementFPvUl
lbl_803350CC:
/* 803350CC 0033202C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803350D0 00332030 7F C3 F3 78 */ mr r3, r30
@ -825,20 +825,20 @@ lbl_803350CC:
__ct__18CVEKeyframeEmitterFR12CInputStream:
/* 803350E8 00332048 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803350EC 0033204C 7C 08 02 A6 */ mflr r0
/* 803350F0 00332050 3C A0 80 3F */ lis r5, lbl_803EC594@ha
/* 803350F0 00332050 3C A0 80 3F */ lis r5, __vt__14CVectorElement@ha
/* 803350F4 00332054 90 01 00 34 */ stw r0, 0x34(r1)
/* 803350F8 00332058 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803350FC 0033205C 7C 9F 23 78 */ mr r31, r4
/* 80335100 00332060 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80335104 00332064 7C 7E 1B 78 */ mr r30, r3
/* 80335108 00332068 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80335108 00332068 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8033510C 0033206C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80335110 00332070 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80335110 00332070 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80335114 00332074 3C 60 80 3F */ lis r3, lbl_803EE218@ha
/* 80335118 00332078 7F C6 F3 78 */ mr r6, r30
/* 8033511C 0033207C 93 81 00 20 */ stw r28, 0x20(r1)
/* 80335120 00332080 90 1E 00 00 */ stw r0, 0(r30)
/* 80335124 00332084 38 05 C5 94 */ addi r0, r5, lbl_803EC594@l
/* 80335124 00332084 38 05 C5 94 */ addi r0, r5, __vt__14CVectorElement@l
/* 80335128 00332088 90 1E 00 00 */ stw r0, 0(r30)
/* 8033512C 0033208C 38 03 E2 18 */ addi r0, r3, lbl_803EE218@l
/* 80335130 00332090 7F E3 FB 78 */ mr r3, r31
@ -1041,19 +1041,19 @@ lbl_803353DC:
lbl_803353FC:
/* 803353FC 0033235C 28 1E 00 00 */ cmplwi r30, 0
/* 80335400 00332360 41 82 00 20 */ beq lbl_80335420
/* 80335404 00332364 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80335408 00332368 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80335404 00332364 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80335408 00332368 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 8033540C 0033236C 90 1E 00 00 */ stw r0, 0(r30)
/* 80335410 00332370 41 82 00 10 */ beq lbl_80335420
/* 80335414 00332374 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80335418 00332378 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80335414 00332374 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80335418 00332378 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 8033541C 0033237C 90 1E 00 00 */ stw r0, 0(r30)
lbl_80335420:
/* 80335420 00332380 7F E0 07 35 */ extsh. r0, r31
/* 80335424 00332384 40 81 00 10 */ ble lbl_80335434
/* 80335428 00332388 7F C3 F3 78 */ mr r3, r30
/* 8033542C 0033238C 38 80 00 14 */ li r4, 0x14
/* 80335430 00332390 48 03 76 35 */ bl sub_8036ca64
/* 80335430 00332390 48 03 76 35 */ bl __dl__8IElementFPvUl
lbl_80335434:
/* 80335434 00332394 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80335438 00332398 7F C3 F3 78 */ mr r3, r30
@ -1065,12 +1065,12 @@ lbl_80335434:
.global __ct__8CVEPulseFP11CIntElementP11CIntElementP14CVectorElementP14CVectorElement
__ct__8CVEPulseFP11CIntElementP11CIntElementP14CVectorElementP14CVectorElement:
/* 80335450 003323B0 3D 40 80 3F */ lis r10, lbl_803EC5A8@ha
/* 80335454 003323B4 3D 20 80 3F */ lis r9, lbl_803EC594@ha
/* 80335458 003323B8 38 0A C5 A8 */ addi r0, r10, lbl_803EC5A8@l
/* 80335450 003323B0 3D 40 80 3F */ lis r10, __vt__8IElement@ha
/* 80335454 003323B4 3D 20 80 3F */ lis r9, __vt__14CVectorElement@ha
/* 80335458 003323B8 38 0A C5 A8 */ addi r0, r10, __vt__8IElement@l
/* 8033545C 003323BC 3D 00 80 3F */ lis r8, lbl_803EE22C@ha
/* 80335460 003323C0 90 03 00 00 */ stw r0, 0(r3)
/* 80335464 003323C4 39 29 C5 94 */ addi r9, r9, lbl_803EC594@l
/* 80335464 003323C4 39 29 C5 94 */ addi r9, r9, __vt__14CVectorElement@l
/* 80335468 003323C8 38 08 E2 2C */ addi r0, r8, lbl_803EE22C@l
/* 8033546C 003323CC 91 23 00 00 */ stw r9, 0(r3)
/* 80335470 003323D0 90 03 00 00 */ stw r0, 0(r3)
@ -1169,19 +1169,19 @@ lbl_803355A8:
lbl_803355C8:
/* 803355C8 00332528 28 1E 00 00 */ cmplwi r30, 0
/* 803355CC 0033252C 41 82 00 20 */ beq lbl_803355EC
/* 803355D0 00332530 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 803355D4 00332534 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 803355D0 00332530 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 803355D4 00332534 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 803355D8 00332538 90 1E 00 00 */ stw r0, 0(r30)
/* 803355DC 0033253C 41 82 00 10 */ beq lbl_803355EC
/* 803355E0 00332540 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803355E4 00332544 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803355E0 00332540 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803355E4 00332544 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803355E8 00332548 90 1E 00 00 */ stw r0, 0(r30)
lbl_803355EC:
/* 803355EC 0033254C 7F E0 07 35 */ extsh. r0, r31
/* 803355F0 00332550 40 81 00 10 */ ble lbl_80335600
/* 803355F4 00332554 7F C3 F3 78 */ mr r3, r30
/* 803355F8 00332558 38 80 00 0C */ li r4, 0xc
/* 803355FC 0033255C 48 03 74 69 */ bl sub_8036ca64
/* 803355FC 0033255C 48 03 74 69 */ bl __dl__8IElementFPvUl
lbl_80335600:
/* 80335600 00332560 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80335604 00332564 7F C3 F3 78 */ mr r3, r30
@ -1193,12 +1193,12 @@ lbl_80335600:
.global __ct__11CVEMultiplyFP14CVectorElementP14CVectorElement
__ct__11CVEMultiplyFP14CVectorElementP14CVectorElement:
/* 8033561C 0033257C 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 80335620 00332580 3C E0 80 3F */ lis r7, lbl_803EC594@ha
/* 80335624 00332584 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 8033561C 0033257C 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 80335620 00332580 3C E0 80 3F */ lis r7, __vt__14CVectorElement@ha
/* 80335624 00332584 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 80335628 00332588 3C C0 80 3F */ lis r6, lbl_803EE240@ha
/* 8033562C 0033258C 90 03 00 00 */ stw r0, 0(r3)
/* 80335630 00332590 38 E7 C5 94 */ addi r7, r7, lbl_803EC594@l
/* 80335630 00332590 38 E7 C5 94 */ addi r7, r7, __vt__14CVectorElement@l
/* 80335634 00332594 38 06 E2 40 */ addi r0, r6, lbl_803EE240@l
/* 80335638 00332598 90 E3 00 00 */ stw r7, 0(r3)
/* 8033563C 0033259C 90 03 00 00 */ stw r0, 0(r3)
@ -1295,19 +1295,19 @@ lbl_8033576C:
lbl_8033578C:
/* 8033578C 003326EC 28 1E 00 00 */ cmplwi r30, 0
/* 80335790 003326F0 41 82 00 20 */ beq lbl_803357B0
/* 80335794 003326F4 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80335798 003326F8 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80335794 003326F4 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80335798 003326F8 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 8033579C 003326FC 90 1E 00 00 */ stw r0, 0(r30)
/* 803357A0 00332700 41 82 00 10 */ beq lbl_803357B0
/* 803357A4 00332704 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803357A8 00332708 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803357A4 00332704 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803357A8 00332708 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803357AC 0033270C 90 1E 00 00 */ stw r0, 0(r30)
lbl_803357B0:
/* 803357B0 00332710 7F E0 07 35 */ extsh. r0, r31
/* 803357B4 00332714 40 81 00 10 */ ble lbl_803357C4
/* 803357B8 00332718 7F C3 F3 78 */ mr r3, r30
/* 803357BC 0033271C 38 80 00 0C */ li r4, 0xc
/* 803357C0 00332720 48 03 72 A5 */ bl sub_8036ca64
/* 803357C0 00332720 48 03 72 A5 */ bl __dl__8IElementFPvUl
lbl_803357C4:
/* 803357C4 00332724 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803357C8 00332728 7F C3 F3 78 */ mr r3, r30
@ -1319,12 +1319,12 @@ lbl_803357C4:
.global __ct__6CVEAddFP14CVectorElementP14CVectorElement
__ct__6CVEAddFP14CVectorElementP14CVectorElement:
/* 803357E0 00332740 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 803357E4 00332744 3C E0 80 3F */ lis r7, lbl_803EC594@ha
/* 803357E8 00332748 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 803357E0 00332740 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 803357E4 00332744 3C E0 80 3F */ lis r7, __vt__14CVectorElement@ha
/* 803357E8 00332748 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 803357EC 0033274C 3C C0 80 3F */ lis r6, lbl_803EE254@ha
/* 803357F0 00332750 90 03 00 00 */ stw r0, 0(r3)
/* 803357F4 00332754 38 E7 C5 94 */ addi r7, r7, lbl_803EC594@l
/* 803357F4 00332754 38 E7 C5 94 */ addi r7, r7, __vt__14CVectorElement@l
/* 803357F8 00332758 38 06 E2 54 */ addi r0, r6, lbl_803EE254@l
/* 803357FC 0033275C 90 E3 00 00 */ stw r7, 0(r3)
/* 80335800 00332760 90 03 00 00 */ stw r0, 0(r3)
@ -1475,19 +1475,19 @@ lbl_80335A08:
lbl_80335A28:
/* 80335A28 00332988 28 1E 00 00 */ cmplwi r30, 0
/* 80335A2C 0033298C 41 82 00 20 */ beq lbl_80335A4C
/* 80335A30 00332990 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80335A34 00332994 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80335A30 00332990 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80335A34 00332994 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80335A38 00332998 90 1E 00 00 */ stw r0, 0(r30)
/* 80335A3C 0033299C 41 82 00 10 */ beq lbl_80335A4C
/* 80335A40 003329A0 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80335A44 003329A4 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80335A40 003329A0 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80335A44 003329A4 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80335A48 003329A8 90 1E 00 00 */ stw r0, 0(r30)
lbl_80335A4C:
/* 80335A4C 003329AC 7F E0 07 35 */ extsh. r0, r31
/* 80335A50 003329B0 40 81 00 10 */ ble lbl_80335A60
/* 80335A54 003329B4 7F C3 F3 78 */ mr r3, r30
/* 80335A58 003329B8 38 80 00 28 */ li r4, 0x28
/* 80335A5C 003329BC 48 03 70 09 */ bl sub_8036ca64
/* 80335A5C 003329BC 48 03 70 09 */ bl __dl__8IElementFPvUl
lbl_80335A60:
/* 80335A60 003329C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80335A64 003329C4 7F C3 F3 78 */ mr r3, r30
@ -1511,13 +1511,13 @@ __ct__16CVECircleClusterFP14CVectorElementP14CVectorElementP11CIntElementP12CRea
/* 80335AA0 00332A00 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80335AA4 00332A04 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80335AA8 00332A08 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80335AAC 00332A0C 3D 00 80 3F */ lis r8, lbl_803EC5A8@ha
/* 80335AAC 00332A0C 3D 00 80 3F */ lis r8, __vt__8IElement@ha
/* 80335AB0 00332A10 7C 7F 1B 78 */ mr r31, r3
/* 80335AB4 00332A14 38 08 C5 A8 */ addi r0, r8, lbl_803EC5A8@l
/* 80335AB4 00332A14 38 08 C5 A8 */ addi r0, r8, __vt__8IElement@l
/* 80335AB8 00332A18 7C BD 2B 78 */ mr r29, r5
/* 80335ABC 00332A1C 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80335ABC 00332A1C 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80335AC0 00332A20 90 1F 00 00 */ stw r0, 0(r31)
/* 80335AC4 00332A24 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80335AC4 00332A24 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80335AC8 00332A28 3D 00 80 3F */ lis r8, lbl_803EE268@ha
/* 80335ACC 00332A2C 90 1F 00 00 */ stw r0, 0(r31)
/* 80335AD0 00332A30 38 08 E2 68 */ addi r0, r8, lbl_803EE268@l
@ -1762,19 +1762,19 @@ lbl_80335E2C:
lbl_80335E4C:
/* 80335E4C 00332DAC 28 1E 00 00 */ cmplwi r30, 0
/* 80335E50 00332DB0 41 82 00 20 */ beq lbl_80335E70
/* 80335E54 00332DB4 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80335E58 00332DB8 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80335E54 00332DB4 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80335E58 00332DB8 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80335E5C 00332DBC 90 1E 00 00 */ stw r0, 0(r30)
/* 80335E60 00332DC0 41 82 00 10 */ beq lbl_80335E70
/* 80335E64 00332DC4 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80335E68 00332DC8 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80335E64 00332DC4 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80335E68 00332DC8 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80335E6C 00332DCC 90 1E 00 00 */ stw r0, 0(r30)
lbl_80335E70:
/* 80335E70 00332DD0 7F E0 07 35 */ extsh. r0, r31
/* 80335E74 00332DD4 40 81 00 10 */ ble lbl_80335E84
/* 80335E78 00332DD8 7F C3 F3 78 */ mr r3, r30
/* 80335E7C 00332DDC 38 80 00 10 */ li r4, 0x10
/* 80335E80 00332DE0 48 03 6B E5 */ bl sub_8036ca64
/* 80335E80 00332DE0 48 03 6B E5 */ bl __dl__8IElementFPvUl
lbl_80335E84:
/* 80335E84 00332DE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80335E88 00332DE8 7F C3 F3 78 */ mr r3, r30
@ -1786,12 +1786,12 @@ lbl_80335E84:
.global __ct__12CVETimeChainFP14CVectorElementP14CVectorElementP11CIntElement
__ct__12CVETimeChainFP14CVectorElementP14CVectorElementP11CIntElement:
/* 80335EA0 00332E00 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 80335EA4 00332E04 3D 00 80 3F */ lis r8, lbl_803EC594@ha
/* 80335EA8 00332E08 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 80335EA0 00332E00 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80335EA4 00332E04 3D 00 80 3F */ lis r8, __vt__14CVectorElement@ha
/* 80335EA8 00332E08 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80335EAC 00332E0C 3C E0 80 3F */ lis r7, lbl_803EE27C@ha
/* 80335EB0 00332E10 90 03 00 00 */ stw r0, 0(r3)
/* 80335EB4 00332E14 39 08 C5 94 */ addi r8, r8, lbl_803EC594@l
/* 80335EB4 00332E14 39 08 C5 94 */ addi r8, r8, __vt__14CVectorElement@l
/* 80335EB8 00332E18 38 07 E2 7C */ addi r0, r7, lbl_803EE27C@l
/* 80335EBC 00332E1C 91 03 00 00 */ stw r8, 0(r3)
/* 80335EC0 00332E20 90 03 00 00 */ stw r0, 0(r3)
@ -1964,19 +1964,19 @@ lbl_80336118:
lbl_80336138:
/* 80336138 00333098 28 1E 00 00 */ cmplwi r30, 0
/* 8033613C 0033309C 41 82 00 20 */ beq lbl_8033615C
/* 80336140 003330A0 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336144 003330A4 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336140 003330A0 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336144 003330A4 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336148 003330A8 90 1E 00 00 */ stw r0, 0(r30)
/* 8033614C 003330AC 41 82 00 10 */ beq lbl_8033615C
/* 80336150 003330B0 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336154 003330B4 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336150 003330B0 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336154 003330B4 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336158 003330B8 90 1E 00 00 */ stw r0, 0(r30)
lbl_8033615C:
/* 8033615C 003330BC 7F E0 07 35 */ extsh. r0, r31
/* 80336160 003330C0 40 81 00 10 */ ble lbl_80336170
/* 80336164 003330C4 7F C3 F3 78 */ mr r3, r30
/* 80336168 003330C8 38 80 00 2C */ li r4, 0x2c
/* 8033616C 003330CC 48 03 68 F9 */ bl sub_8036ca64
/* 8033616C 003330CC 48 03 68 F9 */ bl __dl__8IElementFPvUl
lbl_80336170:
/* 80336170 003330D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336174 003330D4 7F C3 F3 78 */ mr r3, r30
@ -1996,12 +1996,12 @@ __ct__9CVECircleFP14CVectorElementP14CVectorElementP12CRealElementP12CRealElemen
/* 803361A0 00333100 7C BF 2B 78 */ mr r31, r5
/* 803361A4 00333104 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803361A8 00333108 7C 7E 1B 78 */ mr r30, r3
/* 803361AC 0033310C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803361B0 00333110 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803361AC 0033310C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803361B0 00333110 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803361B4 00333114 7F C9 F3 78 */ mr r9, r30
/* 803361B8 00333118 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 803361B8 00333118 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 803361BC 0033311C 90 1E 00 00 */ stw r0, 0(r30)
/* 803361C0 00333120 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 803361C0 00333120 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 803361C4 00333124 7D 25 4B 78 */ mr r5, r9
/* 803361C8 00333128 3C 60 80 3F */ lis r3, lbl_803EE290@ha
/* 803361CC 0033312C 90 09 00 00 */ stw r0, 0(r9)
@ -2272,19 +2272,19 @@ lbl_8033659C:
lbl_803365BC:
/* 803365BC 0033351C 28 1E 00 00 */ cmplwi r30, 0
/* 803365C0 00333520 41 82 00 20 */ beq lbl_803365E0
/* 803365C4 00333524 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 803365C8 00333528 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 803365C4 00333524 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 803365C8 00333528 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 803365CC 0033352C 90 1E 00 00 */ stw r0, 0(r30)
/* 803365D0 00333530 41 82 00 10 */ beq lbl_803365E0
/* 803365D4 00333534 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 803365D8 00333538 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 803365D4 00333534 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 803365D8 00333538 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 803365DC 0033353C 90 1E 00 00 */ stw r0, 0(r30)
lbl_803365E0:
/* 803365E0 00333540 7F E0 07 35 */ extsh. r0, r31
/* 803365E4 00333544 40 81 00 10 */ ble lbl_803365F4
/* 803365E8 00333548 7F C3 F3 78 */ mr r3, r30
/* 803365EC 0033354C 38 80 00 18 */ li r4, 0x18
/* 803365F0 00333550 48 03 64 75 */ bl sub_8036ca64
/* 803365F0 00333550 48 03 64 75 */ bl __dl__8IElementFPvUl
lbl_803365F4:
/* 803365F4 00333554 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803365F8 00333558 7F C3 F3 78 */ mr r3, r30
@ -2296,12 +2296,12 @@ lbl_803365F4:
.global __ct__12CVEAngleConeFP12CRealElementP12CRealElementP12CRealElementP12CRealElementP12CRealElement
__ct__12CVEAngleConeFP12CRealElementP12CRealElementP12CRealElementP12CRealElementP12CRealElement:
/* 80336610 00333570 3D 60 80 3F */ lis r11, lbl_803EC5A8@ha
/* 80336614 00333574 3D 40 80 3F */ lis r10, lbl_803EC594@ha
/* 80336618 00333578 38 0B C5 A8 */ addi r0, r11, lbl_803EC5A8@l
/* 80336610 00333570 3D 60 80 3F */ lis r11, __vt__8IElement@ha
/* 80336614 00333574 3D 40 80 3F */ lis r10, __vt__14CVectorElement@ha
/* 80336618 00333578 38 0B C5 A8 */ addi r0, r11, __vt__8IElement@l
/* 8033661C 0033357C 3D 20 80 3F */ lis r9, lbl_803EE2A4@ha
/* 80336620 00333580 90 03 00 00 */ stw r0, 0(r3)
/* 80336624 00333584 39 4A C5 94 */ addi r10, r10, lbl_803EC594@l
/* 80336624 00333584 39 4A C5 94 */ addi r10, r10, __vt__14CVectorElement@l
/* 80336628 00333588 38 09 E2 A4 */ addi r0, r9, lbl_803EE2A4@l
/* 8033662C 0033358C 91 43 00 00 */ stw r10, 0(r3)
/* 80336630 00333590 90 03 00 00 */ stw r0, 0(r3)
@ -2453,19 +2453,19 @@ lbl_80336830:
lbl_80336850:
/* 80336850 003337B0 28 1E 00 00 */ cmplwi r30, 0
/* 80336854 003337B4 41 82 00 20 */ beq lbl_80336874
/* 80336858 003337B8 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 8033685C 003337BC 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336858 003337B8 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 8033685C 003337BC 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336860 003337C0 90 1E 00 00 */ stw r0, 0(r30)
/* 80336864 003337C4 41 82 00 10 */ beq lbl_80336874
/* 80336868 003337C8 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 8033686C 003337CC 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336868 003337C8 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 8033686C 003337CC 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336870 003337D0 90 1E 00 00 */ stw r0, 0(r30)
lbl_80336874:
/* 80336874 003337D4 7F E0 07 35 */ extsh. r0, r31
/* 80336878 003337D8 40 81 00 10 */ ble lbl_80336888
/* 8033687C 003337DC 7F C3 F3 78 */ mr r3, r30
/* 80336880 003337E0 38 80 00 24 */ li r4, 0x24
/* 80336884 003337E4 48 03 61 E1 */ bl sub_8036ca64
/* 80336884 003337E4 48 03 61 E1 */ bl __dl__8IElementFPvUl
lbl_80336888:
/* 80336888 003337E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033688C 003337EC 7F C3 F3 78 */ mr r3, r30
@ -2479,16 +2479,16 @@ lbl_80336888:
__ct__7CVEConeFP14CVectorElementP12CRealElement:
/* 803368A4 00333804 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803368A8 00333808 7C 08 02 A6 */ mflr r0
/* 803368AC 0033380C 3C C0 80 3F */ lis r6, lbl_803EC5A8@ha
/* 803368AC 0033380C 3C C0 80 3F */ lis r6, __vt__8IElement@ha
/* 803368B0 00333810 C0 02 CB 54 */ lfs f0, lbl_805AE874@sda21(r2)
/* 803368B4 00333814 90 01 00 34 */ stw r0, 0x34(r1)
/* 803368B8 00333818 38 06 C5 A8 */ addi r0, r6, lbl_803EC5A8@l
/* 803368B8 00333818 38 06 C5 A8 */ addi r0, r6, __vt__8IElement@l
/* 803368BC 0033381C 3C C0 80 3F */ lis r6, lbl_803EE2B8@ha
/* 803368C0 00333820 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803368C4 00333824 7C 7F 1B 78 */ mr r31, r3
/* 803368C8 00333828 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 803368C8 00333828 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 803368CC 0033382C 90 1F 00 00 */ stw r0, 0(r31)
/* 803368D0 00333830 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 803368D0 00333830 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 803368D4 00333834 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 803368D8 00333838 7F E7 FB 78 */ mr r7, r31
/* 803368DC 0033383C 90 1F 00 00 */ stw r0, 0(r31)
@ -2600,19 +2600,19 @@ __dt__15CVEFastConstant:
/* 80336A64 003339C4 38 03 E2 CC */ addi r0, r3, lbl_803EE2CC@l
/* 80336A68 003339C8 90 1F 00 00 */ stw r0, 0(r31)
/* 80336A6C 003339CC 41 82 00 20 */ beq lbl_80336A8C
/* 80336A70 003339D0 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336A74 003339D4 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336A70 003339D0 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336A74 003339D4 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336A78 003339D8 90 1F 00 00 */ stw r0, 0(r31)
/* 80336A7C 003339DC 41 82 00 10 */ beq lbl_80336A8C
/* 80336A80 003339E0 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336A84 003339E4 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336A80 003339E0 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336A84 003339E4 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336A88 003339E8 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336A8C:
/* 80336A8C 003339EC 7C 80 07 35 */ extsh. r0, r4
/* 80336A90 003339F0 40 81 00 10 */ ble lbl_80336AA0
/* 80336A94 003339F4 7F E3 FB 78 */ mr r3, r31
/* 80336A98 003339F8 38 80 00 10 */ li r4, 0x10
/* 80336A9C 003339FC 48 03 5F C9 */ bl sub_8036ca64
/* 80336A9C 003339FC 48 03 5F C9 */ bl __dl__8IElementFPvUl
lbl_80336AA0:
/* 80336AA0 00333A00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336AA4 00333A04 7F E3 FB 78 */ mr r3, r31
@ -2623,12 +2623,12 @@ lbl_80336AA0:
.global __ct__15CVEFastConstantFfff
__ct__15CVEFastConstantFfff:
/* 80336AB8 00333A18 3C C0 80 3F */ lis r6, lbl_803EC5A8@ha
/* 80336ABC 00333A1C 3C A0 80 3F */ lis r5, lbl_803EC594@ha
/* 80336AC0 00333A20 38 06 C5 A8 */ addi r0, r6, lbl_803EC5A8@l
/* 80336AB8 00333A18 3C C0 80 3F */ lis r6, __vt__8IElement@ha
/* 80336ABC 00333A1C 3C A0 80 3F */ lis r5, __vt__14CVectorElement@ha
/* 80336AC0 00333A20 38 06 C5 A8 */ addi r0, r6, __vt__8IElement@l
/* 80336AC4 00333A24 3C 80 80 3F */ lis r4, lbl_803EE2CC@ha
/* 80336AC8 00333A28 90 03 00 00 */ stw r0, 0(r3)
/* 80336ACC 00333A2C 38 A5 C5 94 */ addi r5, r5, lbl_803EC594@l
/* 80336ACC 00333A2C 38 A5 C5 94 */ addi r5, r5, __vt__14CVectorElement@l
/* 80336AD0 00333A30 38 04 E2 CC */ addi r0, r4, lbl_803EE2CC@l
/* 80336AD4 00333A34 90 A3 00 00 */ stw r5, 0(r3)
/* 80336AD8 00333A38 90 03 00 00 */ stw r0, 0(r3)
@ -2725,19 +2725,19 @@ lbl_80336C04:
lbl_80336C24:
/* 80336C24 00333B84 28 1E 00 00 */ cmplwi r30, 0
/* 80336C28 00333B88 41 82 00 20 */ beq lbl_80336C48
/* 80336C2C 00333B8C 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336C30 00333B90 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336C2C 00333B8C 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336C30 00333B90 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336C34 00333B94 90 1E 00 00 */ stw r0, 0(r30)
/* 80336C38 00333B98 41 82 00 10 */ beq lbl_80336C48
/* 80336C3C 00333B9C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336C40 00333BA0 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336C3C 00333B9C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336C40 00333BA0 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336C44 00333BA4 90 1E 00 00 */ stw r0, 0(r30)
lbl_80336C48:
/* 80336C48 00333BA8 7F E0 07 35 */ extsh. r0, r31
/* 80336C4C 00333BAC 40 81 00 10 */ ble lbl_80336C5C
/* 80336C50 00333BB0 7F C3 F3 78 */ mr r3, r30
/* 80336C54 00333BB4 38 80 00 10 */ li r4, 0x10
/* 80336C58 00333BB8 48 03 5E 0D */ bl sub_8036ca64
/* 80336C58 00333BB8 48 03 5E 0D */ bl __dl__8IElementFPvUl
lbl_80336C5C:
/* 80336C5C 00333BBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336C60 00333BC0 7F C3 F3 78 */ mr r3, r30
@ -2749,12 +2749,12 @@ lbl_80336C5C:
.global __ct__11CVEConstantFP12CRealElementP12CRealElementP12CRealElement
__ct__11CVEConstantFP12CRealElementP12CRealElementP12CRealElement:
/* 80336C78 00333BD8 3D 20 80 3F */ lis r9, lbl_803EC5A8@ha
/* 80336C7C 00333BDC 3D 00 80 3F */ lis r8, lbl_803EC594@ha
/* 80336C80 00333BE0 38 09 C5 A8 */ addi r0, r9, lbl_803EC5A8@l
/* 80336C78 00333BD8 3D 20 80 3F */ lis r9, __vt__8IElement@ha
/* 80336C7C 00333BDC 3D 00 80 3F */ lis r8, __vt__14CVectorElement@ha
/* 80336C80 00333BE0 38 09 C5 A8 */ addi r0, r9, __vt__8IElement@l
/* 80336C84 00333BE4 3C E0 80 3F */ lis r7, lbl_803EE2E0@ha
/* 80336C88 00333BE8 90 03 00 00 */ stw r0, 0(r3)
/* 80336C8C 00333BEC 39 08 C5 94 */ addi r8, r8, lbl_803EC594@l
/* 80336C8C 00333BEC 39 08 C5 94 */ addi r8, r8, __vt__14CVectorElement@l
/* 80336C90 00333BF0 38 07 E2 E0 */ addi r0, r7, lbl_803EE2E0@l
/* 80336C94 00333BF4 91 03 00 00 */ stw r8, 0(r3)
/* 80336C98 00333BF8 90 03 00 00 */ stw r0, 0(r3)
@ -2775,19 +2775,19 @@ __dt__28CVEParticleSystemTranslationFv:
/* 80336CC8 00333C28 38 03 E1 78 */ addi r0, r3, lbl_803EE178@l
/* 80336CCC 00333C2C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336CD0 00333C30 41 82 00 20 */ beq lbl_80336CF0
/* 80336CD4 00333C34 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336CD8 00333C38 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336CD4 00333C34 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336CD8 00333C38 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336CDC 00333C3C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336CE0 00333C40 41 82 00 10 */ beq lbl_80336CF0
/* 80336CE4 00333C44 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336CE8 00333C48 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336CE4 00333C44 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336CE8 00333C48 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336CEC 00333C4C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336CF0:
/* 80336CF0 00333C50 7C 80 07 35 */ extsh. r0, r4
/* 80336CF4 00333C54 40 81 00 10 */ ble lbl_80336D04
/* 80336CF8 00333C58 7F E3 FB 78 */ mr r3, r31
/* 80336CFC 00333C5C 38 80 00 04 */ li r4, 4
/* 80336D00 00333C60 48 03 5D 65 */ bl sub_8036ca64
/* 80336D00 00333C60 48 03 5D 65 */ bl __dl__8IElementFPvUl
lbl_80336D04:
/* 80336D04 00333C64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336D08 00333C68 7F E3 FB 78 */ mr r3, r31
@ -2808,19 +2808,19 @@ __dt__33CVEParticleSystemOrientationRightF:
/* 80336D38 00333C98 38 03 E1 8C */ addi r0, r3, lbl_803EE18C@l
/* 80336D3C 00333C9C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336D40 00333CA0 41 82 00 20 */ beq lbl_80336D60
/* 80336D44 00333CA4 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336D48 00333CA8 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336D44 00333CA4 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336D48 00333CA8 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336D4C 00333CAC 90 1F 00 00 */ stw r0, 0(r31)
/* 80336D50 00333CB0 41 82 00 10 */ beq lbl_80336D60
/* 80336D54 00333CB4 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336D58 00333CB8 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336D54 00333CB4 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336D58 00333CB8 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336D5C 00333CBC 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336D60:
/* 80336D60 00333CC0 7C 80 07 35 */ extsh. r0, r4
/* 80336D64 00333CC4 40 81 00 10 */ ble lbl_80336D74
/* 80336D68 00333CC8 7F E3 FB 78 */ mr r3, r31
/* 80336D6C 00333CCC 38 80 00 04 */ li r4, 4
/* 80336D70 00333CD0 48 03 5C F5 */ bl sub_8036ca64
/* 80336D70 00333CD0 48 03 5C F5 */ bl __dl__8IElementFPvUl
lbl_80336D74:
/* 80336D74 00333CD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336D78 00333CD8 7F E3 FB 78 */ mr r3, r31
@ -2841,19 +2841,19 @@ __dt__31CVEParticleSystemOrienatationUpF:
/* 80336DA8 00333D08 38 03 E1 A0 */ addi r0, r3, lbl_803EE1A0@l
/* 80336DAC 00333D0C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336DB0 00333D10 41 82 00 20 */ beq lbl_80336DD0
/* 80336DB4 00333D14 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336DB8 00333D18 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336DB4 00333D14 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336DB8 00333D18 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336DBC 00333D1C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336DC0 00333D20 41 82 00 10 */ beq lbl_80336DD0
/* 80336DC4 00333D24 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336DC8 00333D28 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336DC4 00333D24 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336DC8 00333D28 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336DCC 00333D2C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336DD0:
/* 80336DD0 00333D30 7C 80 07 35 */ extsh. r0, r4
/* 80336DD4 00333D34 40 81 00 10 */ ble lbl_80336DE4
/* 80336DD8 00333D38 7F E3 FB 78 */ mr r3, r31
/* 80336DDC 00333D3C 38 80 00 04 */ li r4, 4
/* 80336DE0 00333D40 48 03 5C 85 */ bl sub_8036ca64
/* 80336DE0 00333D40 48 03 5C 85 */ bl __dl__8IElementFPvUl
lbl_80336DE4:
/* 80336DE4 00333D44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336DE8 00333D48 7F E3 FB 78 */ mr r3, r31
@ -2874,19 +2874,19 @@ __dt__33CVEParticleSystemOrientationFrontF:
/* 80336E18 00333D78 38 03 E1 B4 */ addi r0, r3, lbl_803EE1B4@l
/* 80336E1C 00333D7C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336E20 00333D80 41 82 00 20 */ beq lbl_80336E40
/* 80336E24 00333D84 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336E28 00333D88 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336E24 00333D84 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336E28 00333D88 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336E2C 00333D8C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336E30 00333D90 41 82 00 10 */ beq lbl_80336E40
/* 80336E34 00333D94 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336E38 00333D98 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336E34 00333D94 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336E38 00333D98 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336E3C 00333D9C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336E40:
/* 80336E40 00333DA0 7C 80 07 35 */ extsh. r0, r4
/* 80336E44 00333DA4 40 81 00 10 */ ble lbl_80336E54
/* 80336E48 00333DA8 7F E3 FB 78 */ mr r3, r31
/* 80336E4C 00333DAC 38 80 00 04 */ li r4, 4
/* 80336E50 00333DB0 48 03 5C 15 */ bl sub_8036ca64
/* 80336E50 00333DB0 48 03 5C 15 */ bl __dl__8IElementFPvUl
lbl_80336E54:
/* 80336E54 00333DB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336E58 00333DB8 7F E3 FB 78 */ mr r3, r31
@ -2907,19 +2907,19 @@ __dt__19CVEParticleVelocityF:
/* 80336E88 00333DE8 38 03 E1 C8 */ addi r0, r3, lbl_803EE1C8@l
/* 80336E8C 00333DEC 90 1F 00 00 */ stw r0, 0(r31)
/* 80336E90 00333DF0 41 82 00 20 */ beq lbl_80336EB0
/* 80336E94 00333DF4 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336E98 00333DF8 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336E94 00333DF4 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336E98 00333DF8 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336E9C 00333DFC 90 1F 00 00 */ stw r0, 0(r31)
/* 80336EA0 00333E00 41 82 00 10 */ beq lbl_80336EB0
/* 80336EA4 00333E04 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336EA8 00333E08 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336EA4 00333E04 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336EA8 00333E08 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336EAC 00333E0C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336EB0:
/* 80336EB0 00333E10 7C 80 07 35 */ extsh. r0, r4
/* 80336EB4 00333E14 40 81 00 10 */ ble lbl_80336EC4
/* 80336EB8 00333E18 7F E3 FB 78 */ mr r3, r31
/* 80336EBC 00333E1C 38 80 00 04 */ li r4, 4
/* 80336EC0 00333E20 48 03 5B A5 */ bl sub_8036ca64
/* 80336EC0 00333E20 48 03 5B A5 */ bl __dl__8IElementFPvUl
lbl_80336EC4:
/* 80336EC4 00333E24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336EC8 00333E28 7F E3 FB 78 */ mr r3, r31
@ -2940,19 +2940,19 @@ __dt__16CVEParticleColorF:
/* 80336EF8 00333E58 38 03 E1 DC */ addi r0, r3, lbl_803EE1DC@l
/* 80336EFC 00333E5C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336F00 00333E60 41 82 00 20 */ beq lbl_80336F20
/* 80336F04 00333E64 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336F08 00333E68 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336F04 00333E64 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336F08 00333E68 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336F0C 00333E6C 90 1F 00 00 */ stw r0, 0(r31)
/* 80336F10 00333E70 41 82 00 10 */ beq lbl_80336F20
/* 80336F14 00333E74 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336F18 00333E78 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336F14 00333E74 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336F18 00333E78 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336F1C 00333E7C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336F20:
/* 80336F20 00333E80 7C 80 07 35 */ extsh. r0, r4
/* 80336F24 00333E84 40 81 00 10 */ ble lbl_80336F34
/* 80336F28 00333E88 7F E3 FB 78 */ mr r3, r31
/* 80336F2C 00333E8C 38 80 00 04 */ li r4, 4
/* 80336F30 00333E90 48 03 5B 35 */ bl sub_8036ca64
/* 80336F30 00333E90 48 03 5B 35 */ bl __dl__8IElementFPvUl
lbl_80336F34:
/* 80336F34 00333E94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336F38 00333E98 7F E3 FB 78 */ mr r3, r31
@ -2973,19 +2973,19 @@ __dt__19CVEParticleLocation:
/* 80336F68 00333EC8 38 03 E1 F0 */ addi r0, r3, lbl_803EE1F0@l
/* 80336F6C 00333ECC 90 1F 00 00 */ stw r0, 0(r31)
/* 80336F70 00333ED0 41 82 00 20 */ beq lbl_80336F90
/* 80336F74 00333ED4 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 80336F78 00333ED8 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 80336F74 00333ED4 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 80336F78 00333ED8 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 80336F7C 00333EDC 90 1F 00 00 */ stw r0, 0(r31)
/* 80336F80 00333EE0 41 82 00 10 */ beq lbl_80336F90
/* 80336F84 00333EE4 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 80336F88 00333EE8 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 80336F84 00333EE4 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 80336F88 00333EE8 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 80336F8C 00333EEC 90 1F 00 00 */ stw r0, 0(r31)
lbl_80336F90:
/* 80336F90 00333EF0 7C 80 07 35 */ extsh. r0, r4
/* 80336F94 00333EF4 40 81 00 10 */ ble lbl_80336FA4
/* 80336F98 00333EF8 7F E3 FB 78 */ mr r3, r31
/* 80336F9C 00333EFC 38 80 00 04 */ li r4, 4
/* 80336FA0 00333F00 48 03 5A C5 */ bl sub_8036ca64
/* 80336FA0 00333F00 48 03 5A C5 */ bl __dl__8IElementFPvUl
lbl_80336FA4:
/* 80336FA4 00333F04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336FA8 00333F08 7F E3 FB 78 */ mr r3, r31
@ -3047,4 +3047,3 @@ lbl_805AE898:
# ROM: 0x3FB138
.float 2.0
.4byte 0

View File

@ -3753,7 +3753,7 @@ SetThermal__13CCubeRendererFbfRC6CColor:
/* 802B8F9C 002B5EFC 80 85 00 00 */ lwz r4, 0(r5)
/* 802B8FA0 002B5F00 90 83 02 F4 */ stw r4, 0x2f4(r3)
/* 802B8FA4 002B5F04 98 0D A5 EC */ stb r0, sMoveRedToAlphaBuffer__6CDecal@sda21(r13)
/* 802B8FA8 002B5F08 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 802B8FA8 002B5F08 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 802B8FAC 002B5F0C 4E 80 00 20 */ blr
.global ReallyRenderFogVolume__13CCubeRendererFRC6CColorRC6CAABoxPC6CModelPC13CSkinnedModel
@ -5381,7 +5381,7 @@ DoThermalBlendHot__13CCubeRendererFv:
/* 802BA7B8 002B7718 38 61 00 24 */ addi r3, r1, 0x24
/* 802BA7BC 002B771C 48 05 1F 91 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 802BA7C0 002B7720 38 00 00 00 */ li r0, 0
/* 802BA7C4 002B7724 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 802BA7C4 002B7724 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 802BA7C8 002B7728 98 0D A5 EC */ stb r0, sMoveRedToAlphaBuffer__6CDecal@sda21(r13)
/* 802BA7CC 002B772C BB 41 00 88 */ lmw r26, 0x88(r1)
/* 802BA7D0 002B7730 80 01 00 A4 */ lwz r0, 0xa4(r1)
@ -5785,7 +5785,7 @@ lbl_802BAA1C:
/* 802BADEC 002B7D4C 38 61 00 64 */ addi r3, r1, 0x64
/* 802BADF0 002B7D50 48 05 19 5D */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 802BADF4 002B7D54 38 00 00 01 */ li r0, 1
/* 802BADF8 002B7D58 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 802BADF8 002B7D58 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 802BADFC 002B7D5C 98 0D A5 EC */ stb r0, sMoveRedToAlphaBuffer__6CDecal@sda21(r13)
/* 802BAE00 002B7D60 E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0
/* 802BAE04 002B7D64 CB E1 00 F0 */ lfd f31, 0xf0(r1)

View File

@ -73,7 +73,7 @@ Render__10CExplosionCFRC13CStateManager:
/* 8005A140 000570A0 41 82 00 3C */ beq lbl_8005A17C
/* 8005A144 000570A4 38 00 00 01 */ li r0, 1
/* 8005A148 000570A8 38 60 00 01 */ li r3, 1
/* 8005A14C 000570AC 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A14C 000570AC 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8005A150 000570B0 48 2E B6 99 */ bl SetRenderModelBlack__10CCubeModelFb
/* 8005A154 000570B4 80 7E 00 E8 */ lwz r3, 0xe8(r30)
/* 8005A158 000570B8 81 83 00 00 */ lwz r12, 0(r3)
@ -83,14 +83,14 @@ Render__10CExplosionCFRC13CStateManager:
/* 8005A168 000570C8 38 60 00 00 */ li r3, 0
/* 8005A16C 000570CC 48 2E B6 7D */ bl SetRenderModelBlack__10CCubeModelFb
/* 8005A170 000570D0 38 00 00 00 */ li r0, 0
/* 8005A174 000570D4 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A174 000570D4 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8005A178 000570D8 48 00 00 64 */ b lbl_8005A1DC
lbl_8005A17C:
/* 8005A17C 000570DC 88 1E 00 F4 */ lbz r0, 0xf4(r30)
/* 8005A180 000570E0 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 8005A184 000570E4 7C 00 00 34 */ cntlzw r0, r0
/* 8005A188 000570E8 54 00 D9 7E */ srwi r0, r0, 5
/* 8005A18C 000570EC 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A18C 000570EC 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8005A190 000570F0 48 2E FE 25 */ bl Black__6CColorFv
/* 8005A194 000570F4 C0 22 86 A8 */ lfs f1, lbl_805AA3C8@sda21(r2)
/* 8005A198 000570F8 7C 64 1B 78 */ mr r4, r3
@ -109,7 +109,7 @@ lbl_8005A17C:
/* 8005A1CC 0005712C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8005A1D0 00057130 4B FE CB B1 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 8005A1D4 00057134 38 00 00 00 */ li r0, 0
/* 8005A1D8 00057138 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A1D8 00057138 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
lbl_8005A1DC:
/* 8005A1DC 0005713C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005A1E0 00057140 83 E1 00 1C */ lwz r31, 0x1c(r1)

View File

@ -582,8 +582,8 @@ lbl_8022E9D0:
/* 8022E9DC 0022B93C 2C 03 00 01 */ cmpwi r3, 1
/* 8022E9E0 0022B940 40 82 00 60 */ bne lbl_8022EA40
/* 8022E9E4 0022B944 38 00 00 01 */ li r0, 1
/* 8022E9E8 0022B948 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8022E9EC 0022B94C 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 8022E9E8 0022B948 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8022E9EC 0022B94C 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 8022E9F0 0022B950 48 11 B5 C5 */ bl Black__6CColorFv
/* 8022E9F4 0022B954 C0 22 B6 3C */ lfs f1, lbl_805AD35C@sda21(r2)
/* 8022E9F8 0022B958 7C 64 1B 78 */ mr r4, r3
@ -602,8 +602,8 @@ lbl_8022E9D0:
/* 8022EA2C 0022B98C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8022EA30 0022B990 4B E1 83 51 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 8022EA34 0022B994 38 00 00 00 */ li r0, 0
/* 8022EA38 0022B998 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8022EA3C 0022B99C 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 8022EA38 0022B998 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8022EA3C 0022B99C 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
lbl_8022EA40:
/* 8022EA40 0022B9A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8022EA44 0022B9A4 83 E1 00 1C */ lwz r31, 0x1c(r1)

View File

@ -2946,8 +2946,8 @@ lbl_801417E8:
/* 8014180C 0013E76C 54 9F D9 7E */ srwi r31, r4, 5
/* 80141810 0013E770 41 82 00 4C */ beq lbl_8014185C
/* 80141814 0013E774 38 00 00 01 */ li r0, 1
/* 80141818 0013E778 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8014181C 0013E77C 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 80141818 0013E778 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8014181C 0013E77C 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 80141820 0013E780 48 20 87 95 */ bl Black__6CColorFv
/* 80141824 0013E784 C0 22 9B 5C */ lfs f1, lbl_805AB87C@sda21(r2)
/* 80141828 0013E788 7C 64 1B 78 */ mr r4, r3
@ -2985,8 +2985,8 @@ lbl_8014185C:
/* 801418A4 0013E804 90 01 00 08 */ stw r0, 8(r1)
/* 801418A8 0013E808 4B F0 54 D9 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 801418AC 0013E80C 38 00 00 00 */ li r0, 0
/* 801418B0 0013E810 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 801418B4 0013E814 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 801418B0 0013E810 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 801418B4 0013E814 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
lbl_801418B8:
/* 801418B8 0013E818 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801418BC 0013E81C 83 E1 00 2C */ lwz r31, 0x2c(r1)

View File

@ -3852,8 +3852,8 @@ lbl_80161E5C:
/* 80161E80 0015EDE0 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80161E84 0015EDE4 41 82 00 4C */ beq lbl_80161ED0
/* 80161E88 0015EDE8 38 00 00 01 */ li r0, 1
/* 80161E8C 0015EDEC 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 80161E90 0015EDF0 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 80161E8C 0015EDEC 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 80161E90 0015EDF0 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 80161E94 0015EDF4 48 1E 81 21 */ bl Black__6CColorFv
/* 80161E98 0015EDF8 C0 22 9F 68 */ lfs f1, lbl_805ABC88@sda21(r2)
/* 80161E9C 0015EDFC 7C 64 1B 78 */ mr r4, r3
@ -3893,8 +3893,8 @@ lbl_80161ED0:
/* 80161F20 0015EE80 90 01 00 14 */ stw r0, 0x14(r1)
/* 80161F24 0015EE84 4B EE 4E 5D */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 80161F28 0015EE88 38 00 00 00 */ li r0, 0
/* 80161F2C 0015EE8C 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 80161F30 0015EE90 98 0D A8 B8 */ stb r0, lbl_805A9478@sda21(r13)
/* 80161F2C 0015EE8C 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 80161F30 0015EE90 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
lbl_80161F34:
/* 80161F34 0015EE94 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80161F38 0015EE98 41 82 00 F0 */ beq lbl_80162028

View File

@ -5518,7 +5518,7 @@ lbl_80275548:
.global sub_802755a4
sub_802755a4:
/* 802755A4 00272504 80 6D A8 F8 */ lwz r3, lbl_805A94B8@sda21(r13)
/* 802755A4 00272504 80 6D A8 F8 */ lwz r3, mSwooshAliveCount__15CParticleSwoosh@sda21(r13)
/* 802755A8 00272508 4E 80 00 20 */ blr
.global sub_802755ac

View File

@ -1076,7 +1076,7 @@ lbl_802149D8:
/* 802149EC 0021194C 20 04 00 08 */ subfic r0, r4, 8
/* 802149F0 00211950 7C 60 03 78 */ or r0, r3, r0
/* 802149F4 00211954 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802149F8 00211958 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 802149F8 00211958 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 802149FC 0021195C 48 13 55 B9 */ bl Black__6CColorFv
/* 80214A00 00211960 C0 22 B3 10 */ lfs f1, lbl_805AD030@sda21(r2)
/* 80214A04 00211964 7C 64 1B 78 */ mr r4, r3
@ -1095,7 +1095,7 @@ lbl_802149D8:
/* 80214A38 00211998 90 01 00 14 */ stw r0, 0x14(r1)
/* 80214A3C 0021199C 4B E3 23 45 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 80214A40 002119A0 38 00 00 00 */ li r0, 0
/* 80214A44 002119A4 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 80214A44 002119A4 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 80214A48 002119A8 48 00 00 6C */ b lbl_80214AB4
lbl_80214A4C:
/* 80214A4C 002119AC 80 1E 00 E8 */ lwz r0, 0xe8(r30)
@ -1107,7 +1107,7 @@ lbl_80214A4C:
/* 80214A64 002119C4 40 82 00 44 */ bne lbl_80214AA8
/* 80214A68 002119C8 38 00 00 01 */ li r0, 1
/* 80214A6C 002119CC 38 7E 01 70 */ addi r3, r30, 0x170
/* 80214A70 002119D0 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 80214A70 002119D0 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 80214A74 002119D4 48 09 AB CD */ bl RenderParticles__17CProjectileWeaponCFv
/* 80214A78 002119D8 7F C3 F3 78 */ mr r3, r30
/* 80214A7C 002119DC 7F E4 FB 78 */ mr r4, r31
@ -1119,7 +1119,7 @@ lbl_80214A4C:
/* 80214A94 002119F4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80214A98 002119F8 4B E3 22 E9 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 80214A9C 002119FC 38 00 00 00 */ li r0, 0
/* 80214AA0 00211A00 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 80214AA0 00211A00 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 80214AA4 00211A04 48 00 00 10 */ b lbl_80214AB4
lbl_80214AA8:
/* 80214AA8 00211A08 7F C3 F3 78 */ mr r3, r30

View File

@ -2654,7 +2654,7 @@ DrawMuzzleFx__10CGunWeaponCFRC13CStateManager:
/* 801BC170 001B90D0 40 82 00 38 */ bne lbl_801BC1A8
/* 801BC174 001B90D4 80 1E 02 08 */ lwz r0, 0x208(r30)
/* 801BC178 001B90D8 38 60 00 01 */ li r3, 1
/* 801BC17C 001B90DC 98 6D A8 B9 */ stb r3, lbl_805A9479@sda21(r13)
/* 801BC17C 001B90DC 98 6D A8 B9 */ stb r3, sSubtractBlend__11CElementGen@sda21(r13)
/* 801BC180 001B90E0 54 03 18 38 */ slwi r3, r0, 3
/* 801BC184 001B90E4 38 03 00 04 */ addi r0, r3, 4
/* 801BC188 001B90E8 7C 7F 00 2E */ lwzx r3, r31, r0
@ -2663,7 +2663,7 @@ DrawMuzzleFx__10CGunWeaponCFRC13CStateManager:
/* 801BC194 001B90F4 7D 89 03 A6 */ mtctr r12
/* 801BC198 001B90F8 4E 80 04 21 */ bctrl
/* 801BC19C 001B90FC 38 00 00 00 */ li r0, 0
/* 801BC1A0 001B9100 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 801BC1A0 001B9100 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 801BC1A4 001B9104 48 00 00 24 */ b lbl_801BC1C8
lbl_801BC1A8:
/* 801BC1A8 001B9108 80 1E 02 08 */ lwz r0, 0x208(r30)

View File

@ -600,7 +600,7 @@ PostRenderGunFx__8CIceBeamFRC13CStateManagerRC12CTransform4f:
/* 800E16B8 000DE618 54 7F D9 7E */ srwi r31, r3, 5
/* 800E16BC 000DE61C 41 82 00 0C */ beq lbl_800E16C8
/* 800E16C0 000DE620 38 00 00 01 */ li r0, 1
/* 800E16C4 000DE624 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 800E16C4 000DE624 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
lbl_800E16C8:
/* 800E16C8 000DE628 80 7C 02 40 */ lwz r3, 0x240(r28)
/* 800E16CC 000DE62C 28 03 00 00 */ cmplwi r3, 0
@ -628,7 +628,7 @@ lbl_800E170C:
/* 800E171C 000DE67C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 800E1720 000DE680 41 82 00 0C */ beq lbl_800E172C
/* 800E1724 000DE684 38 00 00 00 */ li r0, 0
/* 800E1728 000DE688 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 800E1728 000DE688 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
lbl_800E172C:
/* 800E172C 000DE68C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800E1730 000DE690 83 E1 00 1C */ lwz r31, 0x1c(r1)
@ -859,4 +859,3 @@ lbl_803CE598:
.asciz "2nd_2"
.balign 4
.4byte 0

View File

@ -1936,7 +1936,7 @@ Render__10CIceImpactCFRC13CStateManager:
/* 801B768C 001B45EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801B7690 001B45F0 7C 7F 1B 78 */ mr r31, r3
/* 801B7694 001B45F4 38 60 00 01 */ li r3, 1
/* 801B7698 001B45F8 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 801B7698 001B45F8 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 801B769C 001B45FC 48 18 E1 4D */ bl SetRenderModelBlack__10CCubeModelFb
/* 801B76A0 001B4600 80 7F 00 E8 */ lwz r3, 0xe8(r31)
/* 801B76A4 001B4604 81 83 00 00 */ lwz r12, 0(r3)
@ -1945,7 +1945,7 @@ Render__10CIceImpactCFRC13CStateManager:
/* 801B76B0 001B4610 4E 80 04 21 */ bctrl
/* 801B76B4 001B4614 38 00 00 00 */ li r0, 0
/* 801B76B8 001B4618 38 60 00 00 */ li r3, 0
/* 801B76BC 001B461C 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 801B76BC 001B461C 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 801B76C0 001B4620 48 18 E1 29 */ bl SetRenderModelBlack__10CCubeModelFb
/* 801B76C4 001B4624 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B76C8 001B4628 83 E1 00 0C */ lwz r31, 0xc(r1)

View File

@ -3,15 +3,15 @@
.section .data
.balign 8
.global lbl_803EC548
lbl_803EC548:
.global "__vt__45TObjOwnerDerivedFromIObj<17CDecalDescription>"
"__vt__45TObjOwnerDerivedFromIObj<17CDecalDescription>":
# ROM: 0x3E9548
.4byte 0
.4byte 0
.4byte sub_802b4218
.4byte "__dt__45TObjOwnerDerivedFromIObj<17CDecalDescription>Fv"
.global lbl_803EC554
lbl_803EC554:
.global __vt__12CRealElement
__vt__12CRealElement:
# ROM: 0x3E9554
.4byte 0
.4byte 0
@ -19,8 +19,8 @@ lbl_803EC554:
.4byte 0
.4byte IsConstant__12CRealElementCFv
.global lbl_803EC568
lbl_803EC568:
.global __vt__10CUVElement
__vt__10CUVElement:
# ROM: 0x3E9568
.4byte 0
.4byte 0
@ -30,36 +30,36 @@ lbl_803EC568:
.4byte 0
.4byte 0
.global lbl_803EC584
lbl_803EC584:
.global __vt__11CIntElement
__vt__11CIntElement:
# ROM: 0x3E9584
.4byte 0
.4byte 0
.4byte __dt__11CIntElement
.4byte __dt__11CIntElementFv
.4byte 0
.global lbl_803EC594
lbl_803EC594:
.global __vt__14CVectorElement
__vt__14CVectorElement:
# ROM: 0x3E9594
.4byte 0
.4byte 0
.4byte __dt__14CVectorElement
.4byte __dt__14CVectorElementFv
.4byte 0
.4byte IsFastConstant__14CVectorElementCFv
.global lbl_803EC5A8
lbl_803EC5A8:
.global __vt__8IElement
__vt__8IElement:
# ROM: 0x3E95A8
.4byte 0
.4byte 0
.4byte 0
.global lbl_803EC5B4
lbl_803EC5B4:
.global __vt__13CColorElement
__vt__13CColorElement:
# ROM: 0x3E95B4
.4byte 0
.4byte 0
.4byte __dt__13CColorElement
.4byte __dt__13CColorElementFv
.4byte 0
.4byte 0
@ -465,27 +465,27 @@ lbl_802B3CF0:
/* 802B3CFC 002B0C5C 38 21 00 70 */ addi r1, r1, 0x70
/* 802B3D00 002B0C60 4E 80 00 20 */ blr
.global __dt__13CColorElement
__dt__13CColorElement:
.global __dt__13CColorElementFv
__dt__13CColorElementFv:
/* 802B3D04 002B0C64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B3D08 002B0C68 7C 08 02 A6 */ mflr r0
/* 802B3D0C 002B0C6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B3D10 002B0C70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B3D14 002B0C74 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B3D18 002B0C78 41 82 00 34 */ beq lbl_802B3D4C
/* 802B3D1C 002B0C7C 3C 60 80 3F */ lis r3, lbl_803EC5B4@ha
/* 802B3D20 002B0C80 38 03 C5 B4 */ addi r0, r3, lbl_803EC5B4@l
/* 802B3D1C 002B0C7C 3C 60 80 3F */ lis r3, __vt__13CColorElement@ha
/* 802B3D20 002B0C80 38 03 C5 B4 */ addi r0, r3, __vt__13CColorElement@l
/* 802B3D24 002B0C84 90 1F 00 00 */ stw r0, 0(r31)
/* 802B3D28 002B0C88 41 82 00 10 */ beq lbl_802B3D38
/* 802B3D2C 002B0C8C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 802B3D30 002B0C90 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 802B3D2C 002B0C8C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 802B3D30 002B0C90 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 802B3D34 002B0C94 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B3D38:
/* 802B3D38 002B0C98 7C 80 07 35 */ extsh. r0, r4
/* 802B3D3C 002B0C9C 40 81 00 10 */ ble lbl_802B3D4C
/* 802B3D40 002B0CA0 7F E3 FB 78 */ mr r3, r31
/* 802B3D44 002B0CA4 38 80 00 04 */ li r4, 4
/* 802B3D48 002B0CA8 48 0B 8D 1D */ bl sub_8036ca64
/* 802B3D48 002B0CA8 48 0B 8D 1D */ bl __dl__8IElementFPvUl
lbl_802B3D4C:
/* 802B3D4C 002B0CAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B3D50 002B0CB0 7F E3 FB 78 */ mr r3, r31
@ -494,27 +494,27 @@ lbl_802B3D4C:
/* 802B3D5C 002B0CBC 38 21 00 10 */ addi r1, r1, 0x10
/* 802B3D60 002B0CC0 4E 80 00 20 */ blr
.global __dt__14CVectorElement
__dt__14CVectorElement:
.global __dt__14CVectorElementFv
__dt__14CVectorElementFv:
/* 802B3D64 002B0CC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B3D68 002B0CC8 7C 08 02 A6 */ mflr r0
/* 802B3D6C 002B0CCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B3D70 002B0CD0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B3D74 002B0CD4 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B3D78 002B0CD8 41 82 00 34 */ beq lbl_802B3DAC
/* 802B3D7C 002B0CDC 3C 60 80 3F */ lis r3, lbl_803EC594@ha
/* 802B3D80 002B0CE0 38 03 C5 94 */ addi r0, r3, lbl_803EC594@l
/* 802B3D7C 002B0CDC 3C 60 80 3F */ lis r3, __vt__14CVectorElement@ha
/* 802B3D80 002B0CE0 38 03 C5 94 */ addi r0, r3, __vt__14CVectorElement@l
/* 802B3D84 002B0CE4 90 1F 00 00 */ stw r0, 0(r31)
/* 802B3D88 002B0CE8 41 82 00 10 */ beq lbl_802B3D98
/* 802B3D8C 002B0CEC 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 802B3D90 002B0CF0 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 802B3D8C 002B0CEC 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 802B3D90 002B0CF0 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 802B3D94 002B0CF4 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B3D98:
/* 802B3D98 002B0CF8 7C 80 07 35 */ extsh. r0, r4
/* 802B3D9C 002B0CFC 40 81 00 10 */ ble lbl_802B3DAC
/* 802B3DA0 002B0D00 7F E3 FB 78 */ mr r3, r31
/* 802B3DA4 002B0D04 38 80 00 04 */ li r4, 4
/* 802B3DA8 002B0D08 48 0B 8C BD */ bl sub_8036ca64
/* 802B3DA8 002B0D08 48 0B 8C BD */ bl __dl__8IElementFPvUl
lbl_802B3DAC:
/* 802B3DAC 002B0D0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B3DB0 002B0D10 7F E3 FB 78 */ mr r3, r31
@ -523,27 +523,27 @@ lbl_802B3DAC:
/* 802B3DBC 002B0D1C 38 21 00 10 */ addi r1, r1, 0x10
/* 802B3DC0 002B0D20 4E 80 00 20 */ blr
.global __dt__11CIntElement
__dt__11CIntElement:
.global __dt__11CIntElementFv
__dt__11CIntElementFv:
/* 802B3DC4 002B0D24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B3DC8 002B0D28 7C 08 02 A6 */ mflr r0
/* 802B3DCC 002B0D2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B3DD0 002B0D30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B3DD4 002B0D34 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B3DD8 002B0D38 41 82 00 34 */ beq lbl_802B3E0C
/* 802B3DDC 002B0D3C 3C 60 80 3F */ lis r3, lbl_803EC584@ha
/* 802B3DE0 002B0D40 38 03 C5 84 */ addi r0, r3, lbl_803EC584@l
/* 802B3DDC 002B0D3C 3C 60 80 3F */ lis r3, __vt__11CIntElement@ha
/* 802B3DE0 002B0D40 38 03 C5 84 */ addi r0, r3, __vt__11CIntElement@l
/* 802B3DE4 002B0D44 90 1F 00 00 */ stw r0, 0(r31)
/* 802B3DE8 002B0D48 41 82 00 10 */ beq lbl_802B3DF8
/* 802B3DEC 002B0D4C 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 802B3DF0 002B0D50 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 802B3DEC 002B0D4C 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 802B3DF0 002B0D50 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 802B3DF4 002B0D54 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B3DF8:
/* 802B3DF8 002B0D58 7C 80 07 35 */ extsh. r0, r4
/* 802B3DFC 002B0D5C 40 81 00 10 */ ble lbl_802B3E0C
/* 802B3E00 002B0D60 7F E3 FB 78 */ mr r3, r31
/* 802B3E04 002B0D64 38 80 00 04 */ li r4, 4
/* 802B3E08 002B0D68 48 0B 8C 5D */ bl sub_8036ca64
/* 802B3E08 002B0D68 48 0B 8C 5D */ bl __dl__8IElementFPvUl
lbl_802B3E0C:
/* 802B3E0C 002B0D6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B3E10 002B0D70 7F E3 FB 78 */ mr r3, r31
@ -745,19 +745,19 @@ __dt__10CUVElementFv:
/* 802B40B8 002B1018 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B40BC 002B101C 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B40C0 002B1020 41 82 00 34 */ beq lbl_802B40F4
/* 802B40C4 002B1024 3C 60 80 3F */ lis r3, lbl_803EC568@ha
/* 802B40C8 002B1028 38 03 C5 68 */ addi r0, r3, lbl_803EC568@l
/* 802B40C4 002B1024 3C 60 80 3F */ lis r3, __vt__10CUVElement@ha
/* 802B40C8 002B1028 38 03 C5 68 */ addi r0, r3, __vt__10CUVElement@l
/* 802B40CC 002B102C 90 1F 00 00 */ stw r0, 0(r31)
/* 802B40D0 002B1030 41 82 00 10 */ beq lbl_802B40E0
/* 802B40D4 002B1034 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 802B40D8 002B1038 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 802B40D4 002B1034 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 802B40D8 002B1038 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 802B40DC 002B103C 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B40E0:
/* 802B40E0 002B1040 7C 80 07 35 */ extsh. r0, r4
/* 802B40E4 002B1044 40 81 00 10 */ ble lbl_802B40F4
/* 802B40E8 002B1048 7F E3 FB 78 */ mr r3, r31
/* 802B40EC 002B104C 38 80 00 04 */ li r4, 4
/* 802B40F0 002B1050 48 0B 89 75 */ bl sub_8036ca64
/* 802B40F0 002B1050 48 0B 89 75 */ bl __dl__8IElementFPvUl
lbl_802B40F4:
/* 802B40F4 002B1054 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B40F8 002B1058 7F E3 FB 78 */ mr r3, r31
@ -774,19 +774,19 @@ __dt__12CRealElementFv:
/* 802B4118 002B1078 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B411C 002B107C 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B4120 002B1080 41 82 00 34 */ beq lbl_802B4154
/* 802B4124 002B1084 3C 60 80 3F */ lis r3, lbl_803EC554@ha
/* 802B4128 002B1088 38 03 C5 54 */ addi r0, r3, lbl_803EC554@l
/* 802B4124 002B1084 3C 60 80 3F */ lis r3, __vt__12CRealElement@ha
/* 802B4128 002B1088 38 03 C5 54 */ addi r0, r3, __vt__12CRealElement@l
/* 802B412C 002B108C 90 1F 00 00 */ stw r0, 0(r31)
/* 802B4130 002B1090 41 82 00 10 */ beq lbl_802B4140
/* 802B4134 002B1094 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 802B4138 002B1098 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 802B4134 002B1094 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 802B4138 002B1098 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 802B413C 002B109C 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B4140:
/* 802B4140 002B10A0 7C 80 07 35 */ extsh. r0, r4
/* 802B4144 002B10A4 40 81 00 10 */ ble lbl_802B4154
/* 802B4148 002B10A8 7F E3 FB 78 */ mr r3, r31
/* 802B414C 002B10AC 38 80 00 04 */ li r4, 4
/* 802B4150 002B10B0 48 0B 89 15 */ bl sub_8036ca64
/* 802B4150 002B10B0 48 0B 89 15 */ bl __dl__8IElementFPvUl
lbl_802B4154:
/* 802B4154 002B10B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B4158 002B10B8 7F E3 FB 78 */ mr r3, r31
@ -847,8 +847,8 @@ GetGeneratorDesc__17CDecalDataFactoryFR12CInputStreamP11CSimplePool:
/* 802B4210 002B1170 38 21 00 10 */ addi r1, r1, 0x10
/* 802B4214 002B1174 4E 80 00 20 */ blr
.global sub_802b4218
sub_802b4218:
.global "__dt__45TObjOwnerDerivedFromIObj<17CDecalDescription>Fv"
"__dt__45TObjOwnerDerivedFromIObj<17CDecalDescription>Fv":
/* 802B4218 002B1178 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B421C 002B117C 7C 08 02 A6 */ mflr r0
/* 802B4220 002B1180 90 01 00 14 */ stw r0, 0x14(r1)
@ -857,8 +857,8 @@ sub_802b4218:
/* 802B422C 002B118C 93 C1 00 08 */ stw r30, 8(r1)
/* 802B4230 002B1190 7C 7E 1B 79 */ or. r30, r3, r3
/* 802B4234 002B1194 41 82 00 58 */ beq lbl_802B428C
/* 802B4238 002B1198 3C 60 80 3F */ lis r3, lbl_803EC548@ha
/* 802B423C 002B119C 38 03 C5 48 */ addi r0, r3, lbl_803EC548@l
/* 802B4238 002B1198 3C 60 80 3F */ lis r3, "__vt__45TObjOwnerDerivedFromIObj<17CDecalDescription>"@ha
/* 802B423C 002B119C 38 03 C5 48 */ addi r0, r3, "__vt__45TObjOwnerDerivedFromIObj<17CDecalDescription>"@l
/* 802B4240 002B11A0 90 1E 00 00 */ stw r0, 0(r30)
/* 802B4244 002B11A4 80 7E 00 04 */ lwz r3, 4(r30)
/* 802B4248 002B11A8 28 03 00 00 */ cmplwi r3, 0
@ -1226,11 +1226,11 @@ lbl_802B46C8:
/* 802B4754 002B16B4 3C 80 80 3E */ lis r4, __vt__4IObj@ha
/* 802B4758 002B16B8 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 802B475C 002B16BC 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l
/* 802B4760 002B16C0 3C 80 80 3F */ lis r4, lbl_803EC548@ha
/* 802B4760 002B16C0 3C 80 80 3F */ lis r4, "__vt__45TObjOwnerDerivedFromIObj<17CDecalDescription>"@ha
/* 802B4764 002B16C4 90 03 00 00 */ stw r0, 0(r3)
/* 802B4768 002B16C8 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 802B476C 002B16CC 38 A0 00 00 */ li r5, 0
/* 802B4770 002B16D0 38 04 C5 48 */ addi r0, r4, lbl_803EC548@l
/* 802B4770 002B16D0 38 04 C5 48 */ addi r0, r4, "__vt__45TObjOwnerDerivedFromIObj<17CDecalDescription>"@l
/* 802B4774 002B16D4 90 C3 00 00 */ stw r6, 0(r3)
/* 802B4778 002B16D8 98 BF 00 00 */ stb r5, 0(r31)
/* 802B477C 002B16DC 80 9F 00 04 */ lwz r4, 4(r31)
@ -1296,4 +1296,3 @@ lbl_803D6548:
# ROM: 0x3D3548
.asciz "??(??)"
.balign 4

View File

@ -3,12 +3,12 @@
.section .data
.balign 8
.global lbl_803EC5C8
lbl_803EC5C8:
.global __vt__17CModVectorElement
__vt__17CModVectorElement:
# ROM: 0x3E95C8
.4byte 0
.4byte 0
.4byte __dt__17CModVectorElement
.4byte __dt__17CModVectorElementFv
.4byte 0
.section .text, "ax"
@ -249,27 +249,27 @@ lbl_802B5BBC:
/* 802B5BD0 002B2B30 38 21 00 10 */ addi r1, r1, 0x10
/* 802B5BD4 002B2B34 4E 80 00 20 */ blr
.global __dt__17CModVectorElement
__dt__17CModVectorElement:
.global __dt__17CModVectorElementFv
__dt__17CModVectorElementFv:
/* 802B5BD8 002B2B38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B5BDC 002B2B3C 7C 08 02 A6 */ mflr r0
/* 802B5BE0 002B2B40 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B5BE4 002B2B44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B5BE8 002B2B48 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B5BEC 002B2B4C 41 82 00 34 */ beq lbl_802B5C20
/* 802B5BF0 002B2B50 3C 60 80 3F */ lis r3, lbl_803EC5C8@ha
/* 802B5BF4 002B2B54 38 03 C5 C8 */ addi r0, r3, lbl_803EC5C8@l
/* 802B5BF0 002B2B50 3C 60 80 3F */ lis r3, __vt__17CModVectorElement@ha
/* 802B5BF4 002B2B54 38 03 C5 C8 */ addi r0, r3, __vt__17CModVectorElement@l
/* 802B5BF8 002B2B58 90 1F 00 00 */ stw r0, 0(r31)
/* 802B5BFC 002B2B5C 41 82 00 10 */ beq lbl_802B5C0C
/* 802B5C00 002B2B60 3C 60 80 3F */ lis r3, lbl_803EC5A8@ha
/* 802B5C04 002B2B64 38 03 C5 A8 */ addi r0, r3, lbl_803EC5A8@l
/* 802B5C00 002B2B60 3C 60 80 3F */ lis r3, __vt__8IElement@ha
/* 802B5C04 002B2B64 38 03 C5 A8 */ addi r0, r3, __vt__8IElement@l
/* 802B5C08 002B2B68 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B5C0C:
/* 802B5C0C 002B2B6C 7C 80 07 35 */ extsh. r0, r4
/* 802B5C10 002B2B70 40 81 00 10 */ ble lbl_802B5C20
/* 802B5C14 002B2B74 7F E3 FB 78 */ mr r3, r31
/* 802B5C18 002B2B78 38 80 00 04 */ li r4, 4
/* 802B5C1C 002B2B7C 48 0B 6E 49 */ bl sub_8036ca64
/* 802B5C1C 002B2B7C 48 0B 6E 49 */ bl __dl__8IElementFPvUl
lbl_802B5C20:
/* 802B5C20 002B2B80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B5C24 002B2B84 7F E3 FB 78 */ mr r3, r31

View File

@ -51,6 +51,7 @@ COMPLETE_OBJECTS = [
"Kyoto/Basics/CSWDataDolphin",
"Kyoto/Audio/CSfxHandle",
"Kyoto/Graphics/CGX",
"Kyoto/Particles/CIntElement",
"Kyoto/Particles/CWarp",
"Kyoto/Math/CPlane",
"Kyoto/Math/CUnitVector3f",

View File

@ -41,6 +41,8 @@ inline uchar ToUint8(float in) { return static_cast< uchar >(in); }
inline float ToReal32(uchar in) { return static_cast< float >(in); }
inline short FtoS(float in) { return static_cast< short >(in); }
#endif
inline int ToInt32(float in) { return static_cast< int >(in); }
} // namespace CCast
#endif // _CCAST

View File

@ -38,13 +38,18 @@ public:
virtual CColor GetModulationColor() const;
virtual bool IsSystemDeletable() const;
virtual CAABox GetBounds() const;
virtual int GetParticleCOunt() const;
virtual int GetParticleCount() const;
virtual bool SystemHasLight() const;
virtual CLight GetLight();
virtual void DestroyParticles();
virtual void AddModifier(CWarp*);
virtual uint Get4CharId() const;
int GetEmitterTime() const;
// TODO
int GetCumulativeParticleCount() const { return *reinterpret_cast< const int* >(&x4_pad[0x25c]); }
static void Initialize();
static void ShutDown();

View File

@ -0,0 +1,209 @@
#ifndef _CINTELEMENT
#define _CINTELEMENT
#include "types.h"
#include "Kyoto/Particles/IElement.hpp"
#include "rstl/single_ptr.hpp"
#include "rstl/vector.hpp"
class CInputStream;
class CIEConstant : public CIntElement {
int x4_val;
public:
CIEConstant(int val);
~CIEConstant() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEDeath : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIEDeath(CIntElement* a, CIntElement* b);
~CIEDeath() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEAdd : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIEAdd(CIntElement* a, CIntElement* b);
~CIEAdd() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEMultiply : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIEMultiply(CIntElement* a, CIntElement* b);
~CIEMultiply() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEModulo : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIEModulo(CIntElement* a, CIntElement* b);
~CIEModulo() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIERandom : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIERandom(CIntElement* a, CIntElement* b);
~CIERandom() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIESampleAndHold : public CIntElement {
CIntElement* x4_sampleSource;
mutable int x8_nextSampleFrame;
CIntElement* xc_waitFramesMin;
CIntElement* x10_waitFramesMax;
mutable int x14_holdVal;
public:
CIESampleAndHold(CIntElement* a, CIntElement* b, CIntElement* c);
~CIESampleAndHold() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEImpulse : public CIntElement {
CIntElement* x4_a;
public:
CIEImpulse(CIntElement* a);
~CIEImpulse() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIETimescale : public CIntElement {
CRealElement* x4_a;
public:
CIETimescale(CRealElement* a);
~CIETimescale();
bool GetValue(int frame, int& valOut) const override;
};
class CIEInitialRandom : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIEInitialRandom(CIntElement* a, CIntElement* b);
~CIEInitialRandom() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIETimeChain : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
CIntElement* xc_swFrame;
public:
CIETimeChain(CIntElement* a, CIntElement* b, CIntElement* c);
~CIETimeChain() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEClamp : public CIntElement {
CIntElement* x4_min;
CIntElement* x8_max;
CIntElement* xc_val;
public:
CIEClamp(CIntElement* a, CIntElement* b, CIntElement* c);
~CIEClamp() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEPulse : public CIntElement {
CIntElement* x4_aDuration;
CIntElement* x8_bDuration;
CIntElement* xc_aVal;
CIntElement* x10_bVal;
public:
CIEPulse(CIntElement* a, CIntElement* b, CIntElement* c, CIntElement* d);
~CIEPulse() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIELifetimePercent : public CIntElement {
CIntElement* x4_percentVal;
public:
CIELifetimePercent(CIntElement* a);
~CIELifetimePercent() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEKeyframeEmitter : public CIntElement {
int x4_percent;
int x8_unk1;
bool xc_loop;
bool xd_unk2;
int x10_loopEnd;
int x14_loopStart;
rstl::vector< int > x18_keys;
public:
CIEKeyframeEmitter(CInputStream& in);
~CIEKeyframeEmitter() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIESubtract : public CIntElement {
CIntElement* x4_a;
CIntElement* x8_b;
public:
CIESubtract(CIntElement* a, CIntElement* b);
~CIESubtract() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIERealToInt : public CIntElement {
CRealElement* x4_a;
CRealElement* x8_b;
public:
CIERealToInt(CRealElement* a, CRealElement* b);
~CIERealToInt() override;
bool GetValue(int frame, int& valOut) const override;
};
class CIEGetCumulativeParticleCount : public CIntElement {
public:
~CIEGetCumulativeParticleCount() override {}
bool GetValue(int frame, int& valOut) const override;
};
class CIEGetActiveParticleCount : public CIntElement {
public:
~CIEGetActiveParticleCount() override {}
bool GetValue(int frame, int& valOut) const override;
};
class CIEGetEmitterTime : public CIntElement {
public:
~CIEGetEmitterTime() override;
bool GetValue(int frame, int& valOut) const override;
};
#endif // _CINTELEMENT

View File

@ -32,7 +32,7 @@ public:
virtual float GetGeneratorRate() const { return 1.f; }
virtual bool IsSystemDeletable() const = 0;
virtual CAABox GetBounds() const = 0;
virtual int GetParticleCOunt() const = 0;
virtual int GetParticleCount() const = 0;
virtual bool SystemHasLight() const = 0;
virtual CLight GetLight() = 0;
virtual void DestroyParticles() = 0;

View File

@ -1,11 +1,43 @@
#ifndef _CPARTICLEGLOBALS
#define _CPARTICLEGLOBALS
#include "types.h"
#include "Kyoto/SObjectTag.hpp"
class CElementGen;
class CParticleGlobals {
public:
struct SParticleSystem {
FourCC x0_type;
CElementGen* x4_system;
};
static void SetEmitterTime(int time);
static void SetParticleLifetime(int lifetime);
static void UpdateParticleLifetimeTweenValues(int time);
static int GetParticleLifetime() { return mParticleLifetime; }
static float GetParticleLifetimeReal() { return mParticleLifetimeReal; }
static int GetEmitterTime() { return mEmitterTime; }
static float GetEmitterTimeReal() { return mEmitterTimeReal; }
static int GetParticleLifetimePercentage() { return mParticleLifetimePercentage; }
static float GetParticleLifetimePercentageReal() { return mParticleLifetimePercentageReal; }
static float GetParticleLifetimePercentageRemainder() {
return mParticleLifetimePercentageRemainder;
}
static SParticleSystem* GetCurrentParticleSystem() { return mCurrentParticleSystem; }
private:
static int mParticleLifetime;
static float mParticleLifetimeReal;
static int mEmitterTime;
static float mEmitterTimeReal;
static int mParticleLifetimePercentage;
static float mParticleLifetimePercentageReal;
static float mParticleLifetimePercentageRemainder;
static SParticleSystem* mCurrentParticleSystem;
};
#endif // _CPARTICLEGLOBALS

View File

@ -0,0 +1,51 @@
#ifndef _IELEMENT
#define _IELEMENT
#include "types.h"
class CColor;
class CVector3f;
class IElement {
public:
virtual ~IElement(){};
// -> CFrameDelayedKiller
void* operator new(unsigned long sz);
void operator delete(void* ptr, size_t sz);
};
class CRealElement : public IElement {
public:
virtual bool GetValue(int frame, float& valOut) const = 0;
virtual bool IsConstant() const { return false; }
};
class CIntElement : public IElement {
public:
~CIntElement() override{};
virtual bool GetValue(int frame, int& valOut) const = 0;
};
class CVectorElement : public IElement {
public:
virtual bool GetValue(int frame, CVector3f& valOut) const = 0;
virtual bool IsFastConstant() const { return false; }
};
class CModVectorElement : public IElement {
public:
virtual bool GetValue(int frame, CVector3f& pVel, CVector3f& pPos) const = 0;
};
class CColorElement : public IElement {
public:
virtual bool GetValue(int frame, CColor& colorOut) const = 0;
};
class CEmitterElement : public IElement {
public:
virtual bool GetValue(int frame, CVector3f& pPos, CVector3f& pVel) const = 0;
};
#endif // _IELEMENT

View File

@ -33,6 +33,11 @@ public:
bool ReadPackedBool() { return ReadBits(1) != 0; }
// TODO: this cast to uint fixes regalloc in
// CIEKeyframeEmitter / rstl::vector(CInputStream&)
// why?
int ReadInt32() { return static_cast< uint >(Get(TType< int >())); }
private:
bool GrabAnotherBlock();
bool InternalReadNext();
@ -63,6 +68,14 @@ template <>
inline float cinput_stream_helper(const TType< float >& type, CInputStream& in) {
return in.ReadFloat();
}
template <>
inline short cinput_stream_helper(const TType< short >& type, CInputStream& in) {
return in.ReadShort();
}
template <>
inline ushort cinput_stream_helper(const TType< ushort >& type, CInputStream& in) {
return in.ReadShort();
}
// rstl
#include "rstl/pair.hpp"
@ -75,4 +88,15 @@ inline rstl::pair< L, R > cinput_stream_helper(const TType< rstl::pair< L, R > >
return result;
}
#include "rstl/vector.hpp"
template < typename T, typename A >
inline rstl::vector< T, A >::vector(CInputStream& in)
: x4_count(0), x8_capacity(0), xc_items(nullptr) {
int count = in.ReadInt32();
reserve(count);
for (int i = 0; i < count; i++) {
push_back(in.Get(TType< T >()));
}
}
#endif // _CINPUTSTREAM

View File

@ -1,7 +1,5 @@
#ifndef _WEAPONCOMMON
#define _WEAPONCOMMON
#ifndef _WEAPONCOMMON_HPP
#define _WEAPONCOMMON_HPP
#include "rstl/vector.hpp"
@ -30,6 +28,4 @@ void get_token_vector(const CAnimData& animData, int begin, int end,
} // namespace NWeaponTypes
#endif _WEAPONCOMMON_HPP
#endif // _WEAPONCOMMON

View File

@ -6,6 +6,8 @@
#include "rstl/pointer_iterator.hpp"
#include "rstl/rmemory_allocator.hpp"
class CInputStream;
namespace rstl {
// template < typename T, typename Alloc >
// struct allocator_auto_ptr {
@ -53,6 +55,7 @@ public:
uninitialized_copy_n(other.xc_items, x4_count, xc_items);
}
}
vector(CInputStream& in);
~vector() {
destroy(begin(), end());
x0_allocator.deallocate(xc_items);

View File

@ -535,7 +535,7 @@ KYOTO_1 :=\
$(BUILD_DIR)/asm/Kyoto/PVS/CPVSVisSet.o\
$(BUILD_DIR)/asm/Kyoto/Particles/CColorElement.o\
$(BUILD_DIR)/asm/Kyoto/Particles/CElementGen.o\
$(BUILD_DIR)/asm/Kyoto/Particles/CIntElement.o\
$(BUILD_DIR)/src/Kyoto/Particles/CIntElement.o\
$(BUILD_DIR)/asm/Kyoto/Particles/CModVectorElement.o\
$(BUILD_DIR)/asm/Kyoto/Particles/CParticleDataFactory.o\
$(BUILD_DIR)/asm/Kyoto/Particles/CParticleGen.o\

View File

@ -0,0 +1,341 @@
#include "Kyoto/Particles/CIntElement.hpp"
#include "Kyoto/Basics/CCast.hpp"
#include "Kyoto/CRandom16.hpp"
#include "Kyoto/Math/CMath.hpp"
#include "Kyoto/Particles/CParticleGlobals.hpp"
#include "Kyoto/Particles/CElementGen.hpp"
#include "Kyoto/Streams/CInputStream.hpp"
#include "rstl/math.hpp"
CIEConstant::CIEConstant(int val) : x4_val(val) {}
CIEConstant::~CIEConstant() {}
bool CIEConstant::GetValue(int frame, int& valOut) const {
valOut = x4_val;
return false;
}
CIEDeath::CIEDeath(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIEDeath::~CIEDeath() {
delete x4_a;
delete x8_b;
}
bool CIEDeath::GetValue(int frame, int& valOut) const {
int b;
x4_a->GetValue(frame, valOut);
x8_b->GetValue(frame, b);
return frame >= b ? TRUE : FALSE;
}
CIEAdd::CIEAdd(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIEAdd::~CIEAdd() {
delete x4_a;
delete x8_b;
}
bool CIEAdd::GetValue(int frame, int& valOut) const {
int a, b;
x4_a->GetValue(frame, a);
x8_b->GetValue(frame, b);
valOut = a + b;
return false;
}
CIEMultiply::CIEMultiply(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIEMultiply::~CIEMultiply() {
delete x4_a;
delete x8_b;
}
bool CIEMultiply::GetValue(int frame, int& valOut) const {
int a, b;
x4_a->GetValue(frame, a);
x8_b->GetValue(frame, b);
valOut = a * b;
return false;
}
CIEModulo::CIEModulo(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIEModulo::~CIEModulo() {
delete x4_a;
delete x8_b;
}
bool CIEModulo::GetValue(int frame, int& valOut) const {
int a, b;
x4_a->GetValue(frame, a);
x8_b->GetValue(frame, b);
if (b != 0) {
valOut = a % b;
} else {
valOut = a;
}
return false;
}
CIERandom::CIERandom(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIERandom::~CIERandom() {
delete x4_a;
delete x8_b;
}
bool CIERandom::GetValue(int frame, int& valOut) const {
int a, b;
x4_a->GetValue(frame, a);
x8_b->GetValue(frame, b);
if (a > 0) {
valOut = CRandom16::GetRandomNumber()->Range(a, b);
} else {
valOut = CRandom16::GetRandomNumber()->Next();
}
return false;
}
CIESampleAndHold::CIESampleAndHold(CIntElement* a, CIntElement* b, CIntElement* c)
: x4_sampleSource(a), x8_nextSampleFrame(0), xc_waitFramesMin(b), x10_waitFramesMax(c) {}
CIESampleAndHold::~CIESampleAndHold() {
delete x4_sampleSource;
delete xc_waitFramesMin;
delete x10_waitFramesMax;
}
bool CIESampleAndHold::GetValue(int frame, int& valOut) const {
bool ret;
if (x8_nextSampleFrame < frame) {
int b, c;
xc_waitFramesMin->GetValue(frame, b);
x10_waitFramesMax->GetValue(frame, c);
x8_nextSampleFrame = CRandom16::GetRandomNumber()->Range(b, c) + frame;
ret = x4_sampleSource->GetValue(frame, valOut);
x14_holdVal = valOut;
} else {
valOut = x14_holdVal;
ret = false;
}
return ret;
}
CIEImpulse::CIEImpulse(CIntElement* a) : x4_a(a) {}
CIEImpulse::~CIEImpulse() { delete x4_a; }
bool CIEImpulse::GetValue(int frame, int& valOut) const {
if (frame == 0) {
x4_a->GetValue(frame, valOut);
} else {
valOut = 0;
}
return false;
}
CIETimescale::CIETimescale(CRealElement* a) : x4_a(a) {}
CIETimescale::~CIETimescale() { delete x4_a; }
bool CIETimescale::GetValue(int frame, int& valOut) const {
float a;
x4_a->GetValue(frame, a);
valOut = static_cast< float >(frame) * a;
return false;
}
CIEInitialRandom::CIEInitialRandom(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIEInitialRandom::~CIEInitialRandom() {
delete x4_a;
delete x8_b;
}
bool CIEInitialRandom::GetValue(int frame, int& valOut) const {
if (frame == 0) {
int a, b;
x4_a->GetValue(frame, a);
x8_b->GetValue(frame, b);
valOut = CRandom16::GetRandomNumber()->Range(a, b);
}
return false;
}
CIETimeChain::CIETimeChain(CIntElement* a, CIntElement* b, CIntElement* c)
: x4_a(a), x8_b(b), xc_swFrame(c) {}
CIETimeChain::~CIETimeChain() {
delete x4_a;
delete x8_b;
delete xc_swFrame;
}
bool CIETimeChain::GetValue(int frame, int& valOut) const {
int v;
xc_swFrame->GetValue(frame, v);
if (frame < v) {
return x4_a->GetValue(frame, valOut);
} else {
return x8_b->GetValue(frame - v, valOut);
}
}
CIEClamp::CIEClamp(CIntElement* a, CIntElement* b, CIntElement* c)
: x4_min(a), x8_max(b), xc_val(c) {}
CIEClamp::~CIEClamp() {
delete x4_min;
delete x8_max;
delete xc_val;
}
bool CIEClamp::GetValue(int frame, int& valOut) const {
int a, b;
x4_min->GetValue(frame, a);
x8_max->GetValue(frame, b);
xc_val->GetValue(frame, valOut);
if (valOut > b) {
valOut = b;
}
if (valOut < a) {
valOut = a;
}
return false;
}
CIEPulse::CIEPulse(CIntElement* a, CIntElement* b, CIntElement* c, CIntElement* d)
: x4_aDuration(a), x8_bDuration(b), xc_aVal(c), x10_bVal(d) {}
CIEPulse::~CIEPulse() {
delete x4_aDuration;
delete x8_bDuration;
delete xc_aVal;
delete x10_bVal;
}
bool CIEPulse::GetValue(int frame, int& valOut) const {
int a, b;
x4_aDuration->GetValue(frame, a);
x8_bDuration->GetValue(frame, b);
int cv = a + b + 1;
if (cv < 0) {
cv = 1;
}
if (b >= 1) {
if (frame % cv > a) {
x10_bVal->GetValue(frame, valOut);
} else {
xc_aVal->GetValue(frame, valOut);
}
} else {
xc_aVal->GetValue(frame, valOut);
}
return false;
}
CIELifetimePercent::CIELifetimePercent(CIntElement* a) : x4_percentVal(a) {}
CIELifetimePercent::~CIELifetimePercent() { delete x4_percentVal; }
bool CIELifetimePercent::GetValue(int frame, int& valOut) const {
int a = 0;
x4_percentVal->GetValue(frame, a);
if (a < 0) {
a = 0;
}
valOut = (a / 100.0f) * CParticleGlobals::GetParticleLifetimeReal() + 0.5f;
return false;
}
CIEKeyframeEmitter::CIEKeyframeEmitter(CInputStream& in)
: x4_percent(in.ReadLong())
, x8_unk1(in.ReadLong())
, xc_loop(in.ReadBool())
, xd_unk2(in.ReadBool())
, x10_loopEnd(in.ReadLong())
, x14_loopStart(in.ReadLong())
, x18_keys(in) {}
CIEKeyframeEmitter::~CIEKeyframeEmitter() {}
bool CIEKeyframeEmitter::GetValue(int frame, int& valOut) const {
if (x4_percent == 0) {
int emitterTime = CParticleGlobals::GetEmitterTime();
if (xc_loop) {
if (emitterTime >= x10_loopEnd) {
emitterTime -= x14_loopStart;
emitterTime = emitterTime % (x10_loopEnd - x14_loopStart);
emitterTime += x14_loopStart;
}
valOut = x18_keys[emitterTime];
} else {
emitterTime = rstl::min_val(emitterTime, x10_loopEnd - 1);
valOut = x18_keys[emitterTime];
}
return false;
} else {
int ltPerc = CParticleGlobals::GetParticleLifetimePercentage();
if (ltPerc == 100) {
valOut = x18_keys[ltPerc];
} else {
float ltPercRem = CParticleGlobals::GetParticleLifetimePercentageRemainder();
float lerp = (1.0f - ltPercRem) * x18_keys[ltPerc] + ltPercRem * x18_keys[ltPerc + 1];
valOut = CCast::ToInt32(lerp);
}
return false;
}
}
CIESubtract::CIESubtract(CIntElement* a, CIntElement* b) : x4_a(a), x8_b(b) {}
CIESubtract::~CIESubtract() {
delete x4_a;
delete x8_b;
}
bool CIESubtract::GetValue(int frame, int& valOut) const {
int a, b;
x4_a->GetValue(frame, a);
x8_b->GetValue(frame, b);
valOut = a - b;
return false;
}
CIERealToInt::CIERealToInt(CRealElement* a, CRealElement* b) : x4_a(a), x8_b(b) {}
CIERealToInt::~CIERealToInt() {
delete x4_a;
delete x8_b;
}
bool CIERealToInt::GetValue(int frame, int& valOut) const {
float a = 0.0f;
float b = 1.0f;
x8_b->GetValue(frame, b);
x4_a->GetValue(frame, a);
valOut = CCast::ToInt32(a * b);
return false;
}
bool CIEGetCumulativeParticleCount::GetValue(int frame, int& valOut) const {
valOut = CParticleGlobals::GetCurrentParticleSystem()->x4_system->GetCumulativeParticleCount();
return false;
}
bool CIEGetActiveParticleCount::GetValue(int frame, int& valOut) const {
valOut = CParticleGlobals::GetCurrentParticleSystem()->x4_system->GetParticleCount();
return false;
}
bool CIEGetEmitterTime::GetValue(int frame, int& valOut) const {
valOut = CParticleGlobals::GetCurrentParticleSystem()->x4_system->GetEmitterTime();
return false;
}
CIEGetEmitterTime::~CIEGetEmitterTime() {}