Match and link CParticlePOINode

This commit is contained in:
Phillip Stephens 2023-01-11 17:44:25 -08:00
parent 7a8022aee7
commit aa37f3f471
10 changed files with 73 additions and 50 deletions

View File

@ -573,12 +573,12 @@ __ct__13CSoundPOINodeFR12CInputStream:
/* 802EC23C 002E919C 7F 84 E3 78 */ mr r4, r28
/* 802EC240 002E91A0 4B FF 12 A1 */ bl "reserve__Q24rstl53vector<16CParticlePOINode,Q24rstl17rmemory_allocator>Fi"
/* 802EC244 002E91A4 3B 21 00 44 */ addi r25, r1, 0x44
/* 802EC248 002E91A8 3C 80 80 3E */ lis r4, lbl_803D9B74@ha
/* 802EC248 002E91A8 3C 80 80 3E */ lis r4, __vt__16CParticlePOINode@ha
/* 802EC24C 002E91AC 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802EC250 002E91B0 3B 41 00 14 */ addi r26, r1, 0x14
/* 802EC254 002E91B4 3B 79 00 0C */ addi r27, r25, 0xc
/* 802EC258 002E91B8 3B A1 00 08 */ addi r29, r1, 8
/* 802EC25C 002E91BC 3B C4 9B 74 */ addi r30, r4, lbl_803D9B74@l
/* 802EC25C 002E91BC 3B C4 9B 74 */ addi r30, r4, __vt__16CParticlePOINode@l
/* 802EC260 002E91C0 3B E3 9B 8C */ addi r31, r3, __vt__8CPOINode@l
/* 802EC264 002E91C4 3B 00 00 00 */ li r24, 0
/* 802EC268 002E91C8 48 00 00 5C */ b lbl_802EC2C4

View File

@ -1913,10 +1913,10 @@ lbl_802F11B4:
/* 802F1250 002EE1B0 90 1A 00 40 */ stw r0, 0x40(r26)
/* 802F1254 002EE1B4 48 04 CB 09 */ bl "assign__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802F1258 002EE1B8 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 802F125C 002EE1BC 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802F125C 002EE1BC 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802F1260 002EE1C0 28 1B 00 00 */ cmplwi r27, 0
/* 802F1264 002EE1C4 D0 1A 00 54 */ stfs f0, 0x54(r26)
/* 802F1268 002EE1C8 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802F1268 002EE1C8 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802F126C 002EE1CC 80 61 00 88 */ lwz r3, 0x88(r1)
/* 802F1270 002EE1D0 90 7A 00 58 */ stw r3, 0x58(r26)
/* 802F1274 002EE1D4 90 01 00 30 */ stw r0, 0x30(r1)

View File

@ -1186,8 +1186,8 @@ lbl_802D96E0:
/* 802D9700 002D6660 B0 1E 00 04 */ sth r0, 4(r30)
/* 802D9704 002D6664 48 06 4A 5D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802D9708 002D6668 A0 9F 00 18 */ lhz r4, 0x18(r31)
/* 802D970C 002D666C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802D9710 002D6670 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802D970C 002D666C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802D9710 002D6670 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802D9714 002D6674 38 7E 00 44 */ addi r3, r30, 0x44
/* 802D9718 002D6678 B0 9E 00 18 */ sth r4, 0x18(r30)
/* 802D971C 002D667C 38 9F 00 44 */ addi r4, r31, 0x44
@ -2098,7 +2098,7 @@ lbl_802DA3A8:
/* 802DA418 002D7378 3B 23 00 0C */ addi r25, r3, 0xc
/* 802DA41C 002D737C 38 61 00 5C */ addi r3, r1, 0x5c
/* 802DA420 002D7380 3C A0 80 3E */ lis r5, __vt__8CPOINode@ha
/* 802DA424 002D7384 3C 80 80 3E */ lis r4, lbl_803D9B74@ha
/* 802DA424 002D7384 3C 80 80 3E */ lis r4, __vt__16CParticlePOINode@ha
/* 802DA428 002D7388 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802DA42C 002D738C 3B 83 00 0C */ addi r28, r3, 0xc
/* 802DA430 002D7390 38 61 00 B8 */ addi r3, r1, 0xb8
@ -2111,7 +2111,7 @@ lbl_802DA3A8:
/* 802DA44C 002D73AC 3B 61 00 88 */ addi r27, r1, 0x88
/* 802DA450 002D73B0 3B 43 00 0C */ addi r26, r3, 0xc
/* 802DA454 002D73B4 3B C5 9B 8C */ addi r30, r5, __vt__8CPOINode@l
/* 802DA458 002D73B8 3B E4 9B 74 */ addi r31, r4, lbl_803D9B74@l
/* 802DA458 002D73B8 3B E4 9B 74 */ addi r31, r4, __vt__16CParticlePOINode@l
/* 802DA45C 002D73BC 48 00 03 18 */ b lbl_802DA774
lbl_802DA460:
/* 802DA460 002D73C0 80 15 00 0C */ lwz r0, 0xc(r21)
@ -2158,8 +2158,8 @@ lbl_802DA460:
/* 802DA504 002D7464 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DA508 002D7468 41 82 00 48 */ beq lbl_802DA550
/* 802DA50C 002D746C 34 01 01 14 */ addic. r0, r1, 0x114
/* 802DA510 002D7470 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DA514 002D7474 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802DA510 002D7470 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DA514 002D7474 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802DA518 002D7478 90 01 00 DC */ stw r0, 0xdc(r1)
/* 802DA51C 002D747C 41 82 00 14 */ beq lbl_802DA530
/* 802DA520 002D7480 28 19 00 00 */ cmplwi r25, 0
@ -2199,9 +2199,9 @@ lbl_802DA550:
/* 802DA5A0 002D7500 B0 01 00 84 */ sth r0, 0x84(r1)
/* 802DA5A4 002D7504 48 06 3B BD */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DA5A8 002D7508 A0 C1 00 3C */ lhz r6, 0x3c(r1)
/* 802DA5AC 002D750C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DA5AC 002D750C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DA5B0 002D7510 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 802DA5B4 002D7514 39 43 9B 74 */ addi r10, r3, lbl_803D9B74@l
/* 802DA5B4 002D7514 39 43 9B 74 */ addi r10, r3, __vt__16CParticlePOINode@l
/* 802DA5B8 002D7518 80 A1 00 44 */ lwz r5, 0x44(r1)
/* 802DA5BC 002D751C 7F 84 E3 78 */ mr r4, r28
/* 802DA5C0 002D7520 80 01 00 48 */ lwz r0, 0x48(r1)
@ -2227,9 +2227,9 @@ lbl_802DA550:
/* 802DA610 002D7570 90 E1 00 C0 */ stw r7, 0xc0(r1)
/* 802DA614 002D7574 48 06 3B 4D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DA618 002D7578 C0 01 00 78 */ lfs f0, 0x78(r1)
/* 802DA61C 002D757C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DA61C 002D757C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DA620 002D7580 80 81 00 7C */ lwz r4, 0x7c(r1)
/* 802DA624 002D7584 38 63 9B 74 */ addi r3, r3, lbl_803D9B74@l
/* 802DA624 002D7584 38 63 9B 74 */ addi r3, r3, __vt__16CParticlePOINode@l
/* 802DA628 002D7588 34 01 00 5C */ addic. r0, r1, 0x5c
/* 802DA62C 002D758C D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 802DA630 002D7590 90 81 00 D8 */ stw r4, 0xd8(r1)
@ -2281,11 +2281,11 @@ lbl_802DA668:
/* 802DA6E0 002D7640 90 0F 00 40 */ stw r0, 0x40(r15)
/* 802DA6E4 002D7644 48 06 36 79 */ bl "assign__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DA6E8 002D7648 C0 01 00 D4 */ lfs f0, 0xd4(r1)
/* 802DA6EC 002D764C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DA6EC 002D764C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DA6F0 002D7650 34 01 00 B8 */ addic. r0, r1, 0xb8
/* 802DA6F4 002D7654 3A F7 00 01 */ addi r23, r23, 1
/* 802DA6F8 002D7658 D0 0F 00 54 */ stfs f0, 0x54(r15)
/* 802DA6FC 002D765C 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802DA6FC 002D765C 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802DA700 002D7660 80 61 00 D8 */ lwz r3, 0xd8(r1)
/* 802DA704 002D7664 90 6F 00 58 */ stw r3, 0x58(r15)
/* 802DA708 002D7668 90 01 00 80 */ stw r0, 0x80(r1)

View File

@ -1331,8 +1331,8 @@ lbl_802DBD30:
/* 802DBD50 002D8CB0 B0 1E 00 04 */ sth r0, 4(r30)
/* 802DBD54 002D8CB4 48 06 24 0D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DBD58 002D8CB8 A0 9D 00 18 */ lhz r4, 0x18(r29)
/* 802DBD5C 002D8CBC 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DBD60 002D8CC0 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802DBD5C 002D8CBC 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DBD60 002D8CC0 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802DBD64 002D8CC4 38 7E 00 44 */ addi r3, r30, 0x44
/* 802DBD68 002D8CC8 B0 9E 00 18 */ sth r4, 0x18(r30)
/* 802DBD6C 002D8CCC 38 9D 00 44 */ addi r4, r29, 0x44
@ -2272,7 +2272,7 @@ sub_802dca8c:
/* 802DCAE0 002D9A40 3B 23 00 0C */ addi r25, r3, 0xc
/* 802DCAE4 002D9A44 38 61 00 58 */ addi r3, r1, 0x58
/* 802DCAE8 002D9A48 3C A0 80 3E */ lis r5, __vt__8CPOINode@ha
/* 802DCAEC 002D9A4C 3C 80 80 3E */ lis r4, lbl_803D9B74@ha
/* 802DCAEC 002D9A4C 3C 80 80 3E */ lis r4, __vt__16CParticlePOINode@ha
/* 802DCAF0 002D9A50 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802DCAF4 002D9A54 3B 83 00 0C */ addi r28, r3, 0xc
/* 802DCAF8 002D9A58 38 61 00 B4 */ addi r3, r1, 0xb4
@ -2285,7 +2285,7 @@ sub_802dca8c:
/* 802DCB14 002D9A74 3B 61 00 84 */ addi r27, r1, 0x84
/* 802DCB18 002D9A78 3B 43 00 0C */ addi r26, r3, 0xc
/* 802DCB1C 002D9A7C 3B C5 9B 8C */ addi r30, r5, __vt__8CPOINode@l
/* 802DCB20 002D9A80 3B E4 9B 74 */ addi r31, r4, lbl_803D9B74@l
/* 802DCB20 002D9A80 3B E4 9B 74 */ addi r31, r4, __vt__16CParticlePOINode@l
/* 802DCB24 002D9A84 3B 00 00 00 */ li r24, 0
/* 802DCB28 002D9A88 48 00 03 14 */ b lbl_802DCE3C
lbl_802DCB2C:
@ -2333,8 +2333,8 @@ lbl_802DCB2C:
/* 802DCBD0 002D9B30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DCBD4 002D9B34 41 82 00 48 */ beq lbl_802DCC1C
/* 802DCBD8 002D9B38 34 01 01 10 */ addic. r0, r1, 0x110
/* 802DCBDC 002D9B3C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DCBE0 002D9B40 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802DCBDC 002D9B3C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DCBE0 002D9B40 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802DCBE4 002D9B44 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 802DCBE8 002D9B48 41 82 00 14 */ beq lbl_802DCBFC
/* 802DCBEC 002D9B4C 28 19 00 00 */ cmplwi r25, 0
@ -2370,9 +2370,9 @@ lbl_802DCC1C:
/* 802DCC5C 002D9BBC B0 01 00 80 */ sth r0, 0x80(r1)
/* 802DCC60 002D9BC0 48 06 15 01 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DCC64 002D9BC4 A0 C1 00 38 */ lhz r6, 0x38(r1)
/* 802DCC68 002D9BC8 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DCC68 002D9BC8 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DCC6C 002D9BCC C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 802DCC70 002D9BD0 39 43 9B 74 */ addi r10, r3, lbl_803D9B74@l
/* 802DCC70 002D9BD0 39 43 9B 74 */ addi r10, r3, __vt__16CParticlePOINode@l
/* 802DCC74 002D9BD4 80 A1 00 40 */ lwz r5, 0x40(r1)
/* 802DCC78 002D9BD8 7F 84 E3 78 */ mr r4, r28
/* 802DCC7C 002D9BDC 80 01 00 44 */ lwz r0, 0x44(r1)
@ -2398,9 +2398,9 @@ lbl_802DCC1C:
/* 802DCCCC 002D9C2C 90 E1 00 BC */ stw r7, 0xbc(r1)
/* 802DCCD0 002D9C30 48 06 14 91 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DCCD4 002D9C34 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 802DCCD8 002D9C38 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DCCD8 002D9C38 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DCCDC 002D9C3C 80 81 00 78 */ lwz r4, 0x78(r1)
/* 802DCCE0 002D9C40 38 63 9B 74 */ addi r3, r3, lbl_803D9B74@l
/* 802DCCE0 002D9C40 38 63 9B 74 */ addi r3, r3, __vt__16CParticlePOINode@l
/* 802DCCE4 002D9C44 34 01 00 58 */ addic. r0, r1, 0x58
/* 802DCCE8 002D9C48 D0 01 00 D0 */ stfs f0, 0xd0(r1)
/* 802DCCEC 002D9C4C 90 81 00 D4 */ stw r4, 0xd4(r1)
@ -2461,8 +2461,8 @@ lbl_802DCD24:
/* 802DCDC0 002D9D20 90 0F 00 58 */ stw r0, 0x58(r15)
lbl_802DCDC4:
/* 802DCDC4 002D9D24 34 01 00 B4 */ addic. r0, r1, 0xb4
/* 802DCDC8 002D9D28 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DCDCC 002D9D2C 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802DCDC8 002D9D28 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DCDCC 002D9D2C 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802DCDD0 002D9D30 90 01 00 7C */ stw r0, 0x7c(r1)
/* 802DCDD4 002D9D34 41 82 00 14 */ beq lbl_802DCDE8
/* 802DCDD8 002D9D38 28 1A 00 00 */ cmplwi r26, 0
@ -3052,8 +3052,8 @@ lbl_802DD5F0:
/* 802DD610 002DA570 B0 1E 00 04 */ sth r0, 4(r30)
/* 802DD614 002DA574 48 06 0B 4D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DD618 002DA578 A0 9F 00 18 */ lhz r4, 0x18(r31)
/* 802DD61C 002DA57C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802DD620 002DA580 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802DD61C 002DA57C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802DD620 002DA580 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802DD624 002DA584 38 7E 00 44 */ addi r3, r30, 0x44
/* 802DD628 002DA588 B0 9E 00 18 */ sth r4, 0x18(r30)
/* 802DD62C 002DA58C 38 9F 00 44 */ addi r4, r31, 0x44

View File

@ -33,7 +33,7 @@ CopyNodeMinusStartTime__16CParticlePOINodeFRC16CParticlePOINodeRC13CCharAnimTime
/* 802FD01C 002F9F7C C0 3D 00 2C */ lfs f1, 0x2c(r29)
/* 802FD020 002F9F80 81 3D 00 30 */ lwz r9, 0x30(r29)
/* 802FD024 002F9F84 81 5D 00 34 */ lwz r10, 0x34(r29)
/* 802FD028 002F9F88 4B D3 33 E1 */ bl sub_80030408
/* 802FD028 002F9F88 4B D3 33 E1 */ bl "__ct__16CParticlePOINodeFQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfiiRC13CParticleData"
/* 802FD02C 002F9F8C 38 61 00 18 */ addi r3, r1, 0x18
/* 802FD030 002F9F90 48 04 0A B1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 802FD034 002F9F94 80 01 00 44 */ lwz r0, 0x44(r1)
@ -55,9 +55,9 @@ __ct__16CParticlePOINodeFR12CInputStream:
/* 802FD068 002F9FC8 93 C1 00 08 */ stw r30, 8(r1)
/* 802FD06C 002F9FCC 7C 7E 1B 78 */ mr r30, r3
/* 802FD070 002F9FD0 48 00 00 ED */ bl __ct__8CPOINodeFR12CInputStream
/* 802FD074 002F9FD4 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802FD074 002F9FD4 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802FD078 002F9FD8 7F E4 FB 78 */ mr r4, r31
/* 802FD07C 002F9FDC 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802FD07C 002F9FDC 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802FD080 002F9FE0 38 7E 00 38 */ addi r3, r30, 0x38
/* 802FD084 002F9FE4 90 1E 00 00 */ stw r0, 0(r30)
/* 802FD088 002F9FE8 48 05 A3 7D */ bl __ct__13CParticleDataFR12CInputStream

View File

@ -990,8 +990,8 @@ lbl_802E6774:
/* 802E67A0 002E3700 B0 1D 00 04 */ sth r0, 4(r29)
/* 802E67A4 002E3704 48 05 79 BD */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802E67A8 002E3708 A0 9F 00 18 */ lhz r4, 0x18(r31)
/* 802E67AC 002E370C 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 802E67B0 002E3710 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 802E67AC 002E370C 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 802E67B0 002E3710 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 802E67B4 002E3714 38 7D 00 44 */ addi r3, r29, 0x44
/* 802E67B8 002E3718 B0 9D 00 18 */ sth r4, 0x18(r29)
/* 802E67BC 002E371C 38 9F 00 44 */ addi r4, r31, 0x44
@ -1077,7 +1077,7 @@ __defctor__16CParticlePOINodeFv:
/* 802E68EC 002E384C 39 00 00 00 */ li r8, 0
/* 802E68F0 002E3850 39 20 FF FF */ li r9, -1
/* 802E68F4 002E3854 39 40 00 00 */ li r10, 0
/* 802E68F8 002E3858 4B D4 9B 11 */ bl sub_80030408
/* 802E68F8 002E3858 4B D4 9B 11 */ bl "__ct__16CParticlePOINodeFQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfiiRC13CParticleData"
/* 802E68FC 002E385C 28 1E 00 00 */ cmplwi r30, 0
/* 802E6900 002E3860 7C 7F 1B 78 */ mr r31, r3
/* 802E6904 002E3864 41 82 00 0C */ beq lbl_802E6910

View File

@ -16,8 +16,8 @@ __vt__12CBoolPOINode:
.4byte 0
.4byte __dt__12CBoolPOINodeFv
.global lbl_803D9B74
lbl_803D9B74:
.global __vt__16CParticlePOINode
__vt__16CParticlePOINode:
# ROM: 0x3D6B74
.4byte 0
.4byte 0
@ -7157,9 +7157,9 @@ __dt__16CParticlePOINodeFv:
/* 8002F770 0002C6D0 93 C1 00 08 */ stw r30, 8(r1)
/* 8002F774 0002C6D4 7C 7E 1B 79 */ or. r30, r3, r3
/* 8002F778 0002C6D8 41 82 00 58 */ beq lbl_8002F7D0
/* 8002F77C 0002C6DC 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 8002F77C 0002C6DC 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 8002F780 0002C6E0 34 1E 00 38 */ addic. r0, r30, 0x38
/* 8002F784 0002C6E4 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 8002F784 0002C6E4 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 8002F788 0002C6E8 90 1E 00 00 */ stw r0, 0(r30)
/* 8002F78C 0002C6EC 41 82 00 10 */ beq lbl_8002F79C
/* 8002F790 0002C6F0 34 7E 00 44 */ addic. r3, r30, 0x44
@ -7618,15 +7618,15 @@ lbl_8002FDBC:
/* 8002FE50 0002CDB0 39 00 00 00 */ li r8, 0
/* 8002FE54 0002CDB4 39 20 FF FF */ li r9, -1
/* 8002FE58 0002CDB8 39 40 00 00 */ li r10, 0
/* 8002FE5C 0002CDBC 48 00 05 AD */ bl sub_80030408
/* 8002FE5C 0002CDBC 48 00 05 AD */ bl "__ct__16CParticlePOINodeFQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfiiRC13CParticleData"
/* 8002FE60 0002CDC0 3C 60 80 57 */ lis r3, mParticlePOINodes__9CAnimData@ha
/* 8002FE64 0002CDC4 38 A1 01 F4 */ addi r5, r1, 0x1f4
/* 8002FE68 0002CDC8 38 63 C2 B8 */ addi r3, r3, mParticlePOINodes__9CAnimData@l
/* 8002FE6C 0002CDCC 38 80 00 14 */ li r4, 0x14
/* 8002FE70 0002CDD0 48 00 04 4D */ bl sub_800302bc
/* 8002FE74 0002CDD4 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 8002FE74 0002CDD4 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 8002FE78 0002CDD8 34 81 02 2C */ addic. r4, r1, 0x22c
/* 8002FE7C 0002CDDC 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 8002FE7C 0002CDDC 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 8002FE80 0002CDE0 90 01 01 F4 */ stw r0, 0x1f4(r1)
/* 8002FE84 0002CDE4 41 82 00 10 */ beq lbl_8002FE94
/* 8002FE88 0002CDE8 34 64 00 0C */ addic. r3, r4, 0xc
@ -7968,8 +7968,8 @@ lbl_8003033C:
/* 8003035C 0002D2BC B0 1E 00 04 */ sth r0, 4(r30)
/* 80030360 0002D2C0 48 30 DE 01 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80030364 0002D2C4 A0 BC 00 18 */ lhz r5, 0x18(r28)
/* 80030368 0002D2C8 3C 60 80 3E */ lis r3, lbl_803D9B74@ha
/* 8003036C 0002D2CC 38 03 9B 74 */ addi r0, r3, lbl_803D9B74@l
/* 80030368 0002D2C8 3C 60 80 3E */ lis r3, __vt__16CParticlePOINode@ha
/* 8003036C 0002D2CC 38 03 9B 74 */ addi r0, r3, __vt__16CParticlePOINode@l
/* 80030370 0002D2D0 7F E4 FB 78 */ mr r4, r31
/* 80030374 0002D2D4 B0 BE 00 18 */ sth r5, 0x18(r30)
/* 80030378 0002D2D8 38 7E 00 44 */ addi r3, r30, 0x44
@ -8011,8 +8011,8 @@ lbl_800303EC:
/* 80030400 0002D360 38 21 00 20 */ addi r1, r1, 0x20
/* 80030404 0002D364 4E 80 00 20 */ blr
.global sub_80030408
sub_80030408:
.global "__ct__16CParticlePOINodeFQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfiiRC13CParticleData"
"__ct__16CParticlePOINodeFQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfiiRC13CParticleData":
/* 80030408 0002D368 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003040C 0002D36C 7C 08 02 A6 */ mflr r0
/* 80030410 0002D370 90 01 00 14 */ stw r0, 0x14(r1)
@ -8021,9 +8021,9 @@ sub_80030408:
/* 8003041C 0002D37C 93 C1 00 08 */ stw r30, 8(r1)
/* 80030420 0002D380 7C 7E 1B 78 */ mr r30, r3
/* 80030424 0002D384 48 2C CD ED */ bl "__ct__8CPOINodeFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfii"
/* 80030428 0002D388 3C 80 80 3E */ lis r4, lbl_803D9B74@ha
/* 80030428 0002D388 3C 80 80 3E */ lis r4, __vt__16CParticlePOINode@ha
/* 8003042C 0002D38C 38 7E 00 44 */ addi r3, r30, 0x44
/* 80030430 0002D390 38 04 9B 74 */ addi r0, r4, lbl_803D9B74@l
/* 80030430 0002D390 38 04 9B 74 */ addi r0, r4, __vt__16CParticlePOINode@l
/* 80030434 0002D394 38 9F 00 0C */ addi r4, r31, 0xc
/* 80030438 0002D398 90 1E 00 00 */ stw r0, 0(r30)
/* 8003043C 0002D39C 80 1F 00 00 */ lwz r0, 0(r31)

View File

@ -527,7 +527,7 @@ LIBS = [
"Kyoto/Animation/CFBStreamedCompression",
"Kyoto/Animation/CHierarchyPoseBuilder",
["Kyoto/Animation/CInt32POINode", True],
"Kyoto/Animation/CParticlePOINode",
["Kyoto/Animation/CParticlePOINode", True],
["Kyoto/Animation/CPOINode", True],
"Kyoto/Animation/CSegStatementSet",
"Kyoto/Animation/CTimeScaleFunctions",

View File

@ -92,6 +92,19 @@ private:
};
class CParticlePOINode : public CPOINode {
public:
CParticlePOINode(rstl::string name, ushort type, const CCharAnimTime& time, int index,
bool unique, float weight, int charIdx, int flags, const CParticleData& data); /*
: CPOINode(name, type, time, index, unique,
weight, charIdx, flags) , x38_val(value)
*/
explicit CParticlePOINode(CInputStream& in);
const CParticleData& GetParticleData() const { return x38_data; }
static CParticlePOINode CopyNodeMinusStartTime(const CParticlePOINode& node,
const CCharAnimTime& startTime);
private:
CParticleData x38_data;
};

View File

@ -0,0 +1,10 @@
#include "Kyoto/Animation/CPOINode.hpp"
CParticlePOINode::CParticlePOINode(CInputStream& in) : CPOINode(in), x38_data(in) {}
CParticlePOINode CParticlePOINode::CopyNodeMinusStartTime(const CParticlePOINode& node,
const CCharAnimTime& startTime) {
return CParticlePOINode(node.GetString(), node.GetPoiType(), node.GetTime() - startTime,
node.GetIndex(), node.GetSaveState(), node.GetWeight(),
node.GetCharacterIndex(), node.GetFlags(), node.GetParticleData());
}