Match and link CTweakParticle

This commit is contained in:
Henrique Gemignani Passos Lima 2022-10-14 13:01:20 +03:00
parent 95c00f709d
commit 3e06682f37
No known key found for this signature in database
GPG Key ID: E224F951761145F8
20 changed files with 106 additions and 71 deletions

View File

@ -45,11 +45,11 @@ __ct__16CTweakAutoMapperFR12CInputStream:
/* 800B69D4 000B3934 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800B69D8 000B3938 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800B69DC 000B393C 93 81 00 10 */ stw r28, 0x10(r1)
/* 800B69E0 000B3940 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 800B69E0 000B3940 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 800B69E4 000B3944 3C A0 80 3E */ lis r5, lbl_803DF438@ha
/* 800B69E8 000B3948 7C 7F 1B 78 */ mr r31, r3
/* 800B69EC 000B394C 7C 9C 23 78 */ mr r28, r4
/* 800B69F0 000B3950 38 66 9C C4 */ addi r3, r6, lbl_803D9CC4@l
/* 800B69F0 000B3950 38 66 9C C4 */ addi r3, r6, __vt__12ITweakObject@l
/* 800B69F4 000B3954 38 05 F4 38 */ addi r0, r5, lbl_803DF438@l
/* 800B69F8 000B3958 90 7F 00 00 */ stw r3, 0(r31)
/* 800B69FC 000B395C 7F 83 E3 78 */ mr r3, r28
@ -347,8 +347,8 @@ lbl_800B6E5C:
lbl_800B6E64:
/* 800B6E64 000B3DC4 28 1F 00 00 */ cmplwi r31, 0
/* 800B6E68 000B3DC8 41 82 00 10 */ beq lbl_800B6E78
/* 800B6E6C 000B3DCC 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 800B6E70 000B3DD0 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 800B6E6C 000B3DCC 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 800B6E70 000B3DD0 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 800B6E74 000B3DD4 90 1F 00 00 */ stw r0, 0(r31)
lbl_800B6E78:
/* 800B6E78 000B3DD8 7C 80 07 35 */ extsh. r0, r4

View File

@ -50,10 +50,10 @@ lbl_805AA824:
__ct__10CTweakBallFR12CInputStream:
/* 80090B54 0008DAB4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80090B58 0008DAB8 7C 08 02 A6 */ mflr r0
/* 80090B5C 0008DABC 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 80090B5C 0008DABC 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 80090B60 0008DAC0 3C A0 80 3E */ lis r5, lbl_803DAD30@ha
/* 80090B64 0008DAC4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80090B68 0008DAC8 38 C6 9C C4 */ addi r6, r6, lbl_803D9CC4@l
/* 80090B68 0008DAC8 38 C6 9C C4 */ addi r6, r6, __vt__12ITweakObject@l
/* 80090B6C 0008DACC 38 05 AD 30 */ addi r0, r5, lbl_803DAD30@l
/* 80090B70 0008DAD0 C0 22 8A F0 */ lfs f1, lbl_805AA810@sda21(r2)
/* 80090B74 0008DAD4 93 E1 00 3C */ stw r31, 0x3c(r1)
@ -457,8 +457,8 @@ __dt__10CTweakBallFv:
/* 80091190 0008E0F0 38 03 AD 30 */ addi r0, r3, lbl_803DAD30@l
/* 80091194 0008E0F4 90 1F 00 00 */ stw r0, 0(r31)
/* 80091198 0008E0F8 41 82 00 10 */ beq lbl_800911A8
/* 8009119C 0008E0FC 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 800911A0 0008E100 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 8009119C 0008E0FC 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 800911A0 0008E100 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 800911A4 0008E104 90 1F 00 00 */ stw r0, 0(r31)
lbl_800911A8:
/* 800911A8 0008E108 7C 80 07 35 */ extsh. r0, r4

View File

@ -16,9 +16,9 @@ lbl_803D9CD0:
__ct__10CTweakGameFR12CInputStream:
/* 800371E4 00034144 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800371E8 00034148 7C 08 02 A6 */ mflr r0
/* 800371EC 0003414C 3C A0 80 3E */ lis r5, lbl_803D9CC4@ha
/* 800371EC 0003414C 3C A0 80 3E */ lis r5, __vt__12ITweakObject@ha
/* 800371F0 00034150 90 01 00 24 */ stw r0, 0x24(r1)
/* 800371F4 00034154 38 05 9C C4 */ addi r0, r5, lbl_803D9CC4@l
/* 800371F4 00034154 38 05 9C C4 */ addi r0, r5, __vt__12ITweakObject@l
/* 800371F8 00034158 38 A1 00 0C */ addi r5, r1, 0xc
/* 800371FC 0003415C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80037200 00034160 7C 9F 23 78 */ mr r31, r4
@ -129,8 +129,8 @@ lbl_80037384:
lbl_80037394:
/* 80037394 000342F4 28 1E 00 00 */ cmplwi r30, 0
/* 80037398 000342F8 41 82 00 10 */ beq lbl_800373A8
/* 8003739C 000342FC 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 800373A0 00034300 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 8003739C 000342FC 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 800373A0 00034300 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 800373A4 00034304 90 1E 00 00 */ stw r0, 0(r30)
lbl_800373A8:
/* 800373A8 00034308 7F E0 07 35 */ extsh. r0, r31

View File

@ -126,7 +126,7 @@ FaceReflectionDistanceDebugValueToActualValue__9CTweakGuiFf:
__ct__9CTweakGuiFR12CInputStream:
/* 80074360 000712C0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80074364 000712C4 7C 08 02 A6 */ mflr r0
/* 80074368 000712C8 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 80074368 000712C8 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 8007436C 000712CC 3C A0 80 3E */ lis r5, lbl_803DA440@ha
/* 80074370 000712D0 90 01 00 74 */ stw r0, 0x74(r1)
/* 80074374 000712D4 38 05 A4 40 */ addi r0, r5, lbl_803DA440@l
@ -134,7 +134,7 @@ __ct__9CTweakGuiFR12CInputStream:
/* 8007437C 000712DC 7C 9F 23 78 */ mr r31, r4
/* 80074380 000712E0 93 C1 00 68 */ stw r30, 0x68(r1)
/* 80074384 000712E4 7C 7E 1B 78 */ mr r30, r3
/* 80074388 000712E8 38 66 9C C4 */ addi r3, r6, lbl_803D9CC4@l
/* 80074388 000712E8 38 66 9C C4 */ addi r3, r6, __vt__12ITweakObject@l
/* 8007438C 000712EC 93 A1 00 64 */ stw r29, 0x64(r1)
/* 80074390 000712F0 93 81 00 60 */ stw r28, 0x60(r1)
/* 80074394 000712F4 90 7E 00 00 */ stw r3, 0(r30)
@ -896,8 +896,8 @@ lbl_80074EE4:
lbl_80074EF4:
/* 80074EF4 00071E54 28 1E 00 00 */ cmplwi r30, 0
/* 80074EF8 00071E58 41 82 00 10 */ beq lbl_80074F08
/* 80074EFC 00071E5C 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 80074F00 00071E60 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 80074EFC 00071E5C 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 80074F00 00071E60 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 80074F04 00071E64 90 1E 00 00 */ stw r0, 0(r30)
lbl_80074F08:
/* 80074F08 00071E68 7F E0 07 35 */ extsh. r0, r31

View File

@ -17,9 +17,9 @@ lbl_803E5748:
__ct__15CTweakGuiColorsFR12CInputStream:
/* 801CDA2C 001CA98C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801CDA30 001CA990 7C 08 02 A6 */ mflr r0
/* 801CDA34 001CA994 3C A0 80 3E */ lis r5, lbl_803D9CC4@ha
/* 801CDA34 001CA994 3C A0 80 3E */ lis r5, __vt__12ITweakObject@ha
/* 801CDA38 001CA998 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CDA3C 001CA99C 38 05 9C C4 */ addi r0, r5, lbl_803D9CC4@l
/* 801CDA3C 001CA99C 38 05 9C C4 */ addi r0, r5, __vt__12ITweakObject@l
/* 801CDA40 001CA9A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801CDA44 001CA9A4 7C 9F 23 78 */ mr r31, r4
/* 801CDA48 001CA9A8 93 C1 00 08 */ stw r30, 8(r1)
@ -487,8 +487,8 @@ lbl_801CE144:
lbl_801CE14C:
/* 801CE14C 001CB0AC 28 1F 00 00 */ cmplwi r31, 0
/* 801CE150 001CB0B0 41 82 00 10 */ beq lbl_801CE160
/* 801CE154 001CB0B4 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 801CE158 001CB0B8 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 801CE154 001CB0B4 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 801CE158 001CB0B8 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 801CE15C 001CB0BC 90 1F 00 00 */ stw r0, 0(r31)
lbl_801CE160:
/* 801CE160 001CB0C0 7C 80 07 35 */ extsh. r0, r4

View File

@ -59,9 +59,9 @@ lbl_800BB9DC:
__ct__12CTweakGunResFR12CInputStream:
/* 800BB9E8 000B8948 94 21 FE 20 */ stwu r1, -0x1e0(r1)
/* 800BB9EC 000B894C 7C 08 02 A6 */ mflr r0
/* 800BB9F0 000B8950 3C A0 80 3E */ lis r5, lbl_803D9CC4@ha
/* 800BB9F0 000B8950 3C A0 80 3E */ lis r5, __vt__12ITweakObject@ha
/* 800BB9F4 000B8954 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 800BB9F8 000B8958 38 05 9C C4 */ addi r0, r5, lbl_803D9CC4@l
/* 800BB9F8 000B8958 38 05 9C C4 */ addi r0, r5, __vt__12ITweakObject@l
/* 800BB9FC 000B895C 38 A1 00 58 */ addi r5, r1, 0x58
/* 800BBA00 000B8960 BF 21 01 C4 */ stmw r25, 0x1c4(r1)
/* 800BBA04 000B8964 7C 7C 1B 78 */ mr r28, r3
@ -638,8 +638,8 @@ lbl_800BC230:
lbl_800BC244:
/* 800BC244 000B91A4 28 1E 00 00 */ cmplwi r30, 0
/* 800BC248 000B91A8 41 82 00 10 */ beq lbl_800BC258
/* 800BC24C 000B91AC 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 800BC250 000B91B0 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 800BC24C 000B91AC 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 800BC250 000B91B0 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 800BC254 000B91B4 90 1E 00 00 */ stw r0, 0(r30)
lbl_800BC258:
/* 800BC258 000B91B8 7F E0 07 35 */ extsh. r0, r31
@ -688,4 +688,3 @@ lbl_803CDED4:
.4byte 0
.4byte 0
.4byte 0

View File

@ -3,8 +3,8 @@
.section .data
.balign 8
.global lbl_803DA088
lbl_803DA088:
.global __vt__14CTweakParticle
__vt__14CTweakParticle:
# ROM: 0x3D7088
.4byte 0
.4byte 0
@ -17,17 +17,17 @@ lbl_803DA088:
__ct__14CTweakParticleFR12CInputStream:
/* 80059F20 00056E80 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80059F24 00056E84 7C 08 02 A6 */ mflr r0
/* 80059F28 00056E88 3C A0 80 3E */ lis r5, lbl_803D9CC4@ha
/* 80059F28 00056E88 3C A0 80 3E */ lis r5, __vt__12ITweakObject@ha
/* 80059F2C 00056E8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80059F30 00056E90 38 05 9C C4 */ addi r0, r5, lbl_803D9CC4@l
/* 80059F30 00056E90 38 05 9C C4 */ addi r0, r5, __vt__12ITweakObject@l
/* 80059F34 00056E94 38 A1 00 10 */ addi r5, r1, 0x10
/* 80059F38 00056E98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80059F3C 00056E9C 7C 9F 23 78 */ mr r31, r4
/* 80059F40 00056EA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80059F44 00056EA4 7C 7E 1B 78 */ mr r30, r3
/* 80059F48 00056EA8 3C 60 80 3E */ lis r3, lbl_803DA088@ha
/* 80059F48 00056EA8 3C 60 80 3E */ lis r3, __vt__14CTweakParticle@ha
/* 80059F4C 00056EAC 90 1E 00 00 */ stw r0, 0(r30)
/* 80059F50 00056EB0 38 03 A0 88 */ addi r0, r3, lbl_803DA088@l
/* 80059F50 00056EB0 38 03 A0 88 */ addi r0, r3, __vt__14CTweakParticle@l
/* 80059F54 00056EB4 38 7E 00 04 */ addi r3, r30, 4
/* 80059F58 00056EB8 90 1E 00 00 */ stw r0, 0(r30)
/* 80059F5C 00056EBC 48 2E 43 9D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
@ -57,9 +57,9 @@ __dt__14CTweakParticleFv:
/* 80059FB0 00056F10 93 C1 00 08 */ stw r30, 8(r1)
/* 80059FB4 00056F14 7C 7E 1B 79 */ or. r30, r3, r3
/* 80059FB8 00056F18 41 82 00 64 */ beq lbl_8005A01C
/* 80059FBC 00056F1C 3C 60 80 3E */ lis r3, lbl_803DA088@ha
/* 80059FBC 00056F1C 3C 60 80 3E */ lis r3, __vt__14CTweakParticle@ha
/* 80059FC0 00056F20 34 1E 00 24 */ addic. r0, r30, 0x24
/* 80059FC4 00056F24 38 03 A0 88 */ addi r0, r3, lbl_803DA088@l
/* 80059FC4 00056F24 38 03 A0 88 */ addi r0, r3, __vt__14CTweakParticle@l
/* 80059FC8 00056F28 90 1E 00 00 */ stw r0, 0(r30)
/* 80059FCC 00056F2C 41 82 00 0C */ beq lbl_80059FD8
/* 80059FD0 00056F30 38 7E 00 24 */ addi r3, r30, 0x24
@ -77,8 +77,8 @@ lbl_80059FE8:
lbl_80059FF8:
/* 80059FF8 00056F58 28 1E 00 00 */ cmplwi r30, 0
/* 80059FFC 00056F5C 41 82 00 10 */ beq lbl_8005A00C
/* 8005A000 00056F60 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 8005A004 00056F64 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 8005A000 00056F60 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 8005A004 00056F64 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 8005A008 00056F68 90 1E 00 00 */ stw r0, 0(r30)
lbl_8005A00C:
/* 8005A00C 00056F6C 7F E0 07 35 */ extsh. r0, r31

View File

@ -11,8 +11,8 @@ lbl_803D9CB8:
.4byte __dt__12CTweakPlayerFv
# ITweakObject vtable, ODR strikes again
.global lbl_803D9CC4
lbl_803D9CC4:
.global __vt__12ITweakObject
__vt__12ITweakObject:
# ROM: 0x3D6CC4
.4byte 0
.4byte 0
@ -48,7 +48,7 @@ lbl_805AA11C:
__ct__12CTweakPlayerFR12CInputStream:
/* 80034E04 00031D64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80034E08 00031D68 7C 08 02 A6 */ mflr r0
/* 80034E0C 00031D6C 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 80034E0C 00031D6C 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 80034E10 00031D70 3C A0 80 3E */ lis r5, lbl_803D9CB8@ha
/* 80034E14 00031D74 90 01 00 24 */ stw r0, 0x24(r1)
/* 80034E18 00031D78 38 05 9C B8 */ addi r0, r5, lbl_803D9CB8@l
@ -57,7 +57,7 @@ __ct__12CTweakPlayerFR12CInputStream:
/* 80034E24 00031D84 7C 9F 23 78 */ mr r31, r4
/* 80034E28 00031D88 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80034E2C 00031D8C 7C 7E 1B 78 */ mr r30, r3
/* 80034E30 00031D90 38 66 9C C4 */ addi r3, r6, lbl_803D9CC4@l
/* 80034E30 00031D90 38 66 9C C4 */ addi r3, r6, __vt__12ITweakObject@l
/* 80034E34 00031D94 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80034E38 00031D98 3B A0 00 00 */ li r29, 0
/* 80034E3C 00031D9C 93 81 00 10 */ stw r28, 0x10(r1)
@ -761,8 +761,8 @@ __dt__12CTweakPlayerFv:
/* 800358F8 00032858 38 03 9C B8 */ addi r0, r3, lbl_803D9CB8@l
/* 800358FC 0003285C 90 1F 00 00 */ stw r0, 0(r31)
/* 80035900 00032860 41 82 00 10 */ beq lbl_80035910
/* 80035904 00032864 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 80035908 00032868 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 80035904 00032864 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 80035908 00032868 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 8003590C 0003286C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80035910:
/* 80035910 00032870 7C 80 07 35 */ extsh. r0, r4

View File

@ -32,9 +32,9 @@ lbl_8006F96C:
__ct__19CTweakPlayerControlFR12CInputStream:
/* 8006F97C 0006C8DC 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 8006F980 0006C8E0 7C 08 02 A6 */ mflr r0
/* 8006F984 0006C8E4 3C A0 80 3E */ lis r5, lbl_803D9CC4@ha
/* 8006F984 0006C8E4 3C A0 80 3E */ lis r5, __vt__12ITweakObject@ha
/* 8006F988 0006C8E8 90 01 01 24 */ stw r0, 0x124(r1)
/* 8006F98C 0006C8EC 38 05 9C C4 */ addi r0, r5, lbl_803D9CC4@l
/* 8006F98C 0006C8EC 38 05 9C C4 */ addi r0, r5, __vt__12ITweakObject@l
/* 8006F990 0006C8F0 93 E1 01 1C */ stw r31, 0x11c(r1)
/* 8006F994 0006C8F4 7C 7F 1B 78 */ mr r31, r3
/* 8006F998 0006C8F8 3C 60 80 3E */ lis r3, lbl_803DA350@ha
@ -214,8 +214,8 @@ lbl_8006FBE0:
lbl_8006FBE8:
/* 8006FBE8 0006CB48 28 1F 00 00 */ cmplwi r31, 0
/* 8006FBEC 0006CB4C 41 82 00 10 */ beq lbl_8006FBFC
/* 8006FBF0 0006CB50 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 8006FBF4 0006CB54 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 8006FBF0 0006CB50 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 8006FBF4 0006CB54 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 8006FBF8 0006CB58 90 1F 00 00 */ stw r0, 0(r31)
lbl_8006FBFC:
/* 8006FBFC 0006CB5C 7C 80 07 35 */ extsh. r0, r4

View File

@ -304,11 +304,11 @@ __ct__15CTweakPlayerGunFR12CInputStream:
/* 8006FFB4 0006CF14 DB A1 01 A0 */ stfd f29, 0x1a0(r1)
/* 8006FFB8 0006CF18 F3 A1 01 A8 */ psq_st f29, 424(r1), 0, qr0
/* 8006FFBC 0006CF1C BF 41 01 88 */ stmw r26, 0x188(r1)
/* 8006FFC0 0006CF20 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 8006FFC0 0006CF20 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 8006FFC4 0006CF24 3C A0 80 3E */ lis r5, lbl_803DA384@ha
/* 8006FFC8 0006CF28 7C 7E 1B 78 */ mr r30, r3
/* 8006FFCC 0006CF2C 7C 9F 23 78 */ mr r31, r4
/* 8006FFD0 0006CF30 38 66 9C C4 */ addi r3, r6, lbl_803D9CC4@l
/* 8006FFD0 0006CF30 38 66 9C C4 */ addi r3, r6, __vt__12ITweakObject@l
/* 8006FFD4 0006CF34 38 05 A3 84 */ addi r0, r5, lbl_803DA384@l
/* 8006FFD8 0006CF38 90 7E 00 00 */ stw r3, 0(r30)
/* 8006FFDC 0006CF3C 7F E3 FB 78 */ mr r3, r31
@ -999,8 +999,8 @@ lbl_80070A28:
lbl_80070A30:
/* 80070A30 0006D990 28 1F 00 00 */ cmplwi r31, 0
/* 80070A34 0006D994 41 82 00 10 */ beq lbl_80070A44
/* 80070A38 0006D998 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 80070A3C 0006D99C 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 80070A38 0006D998 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 80070A3C 0006D99C 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 80070A40 0006D9A0 90 1F 00 00 */ stw r0, 0(r31)
lbl_80070A44:
/* 80070A44 0006D9A4 7C 80 07 35 */ extsh. r0, r4
@ -1048,4 +1048,3 @@ lbl_803CD2A4:
.4byte 0
.4byte 0
.4byte 0

View File

@ -47,9 +47,9 @@ lbl_801AC250:
__ct__15CTweakPlayerResFR12CInputStream:
/* 801AC260 001A91C0 94 21 FE 70 */ stwu r1, -0x190(r1)
/* 801AC264 001A91C4 7C 08 02 A6 */ mflr r0
/* 801AC268 001A91C8 3C A0 80 3E */ lis r5, lbl_803D9CC4@ha
/* 801AC268 001A91C8 3C A0 80 3E */ lis r5, __vt__12ITweakObject@ha
/* 801AC26C 001A91CC 90 01 01 94 */ stw r0, 0x194(r1)
/* 801AC270 001A91D0 38 05 9C C4 */ addi r0, r5, lbl_803D9CC4@l
/* 801AC270 001A91D0 38 05 9C C4 */ addi r0, r5, __vt__12ITweakObject@l
/* 801AC274 001A91D4 38 A1 00 2C */ addi r5, r1, 0x2c
/* 801AC278 001A91D8 93 E1 01 8C */ stw r31, 0x18c(r1)
/* 801AC27C 001A91DC 7C 9F 23 78 */ mr r31, r4
@ -1102,8 +1102,8 @@ lbl_801AD0B0:
lbl_801AD0B8:
/* 801AD0B8 001AA018 28 1F 00 00 */ cmplwi r31, 0
/* 801AD0BC 001AA01C 41 82 00 10 */ beq lbl_801AD0CC
/* 801AD0C0 001AA020 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 801AD0C4 001AA024 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 801AD0C0 001AA020 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 801AD0C4 001AA024 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 801AD0C8 001AA028 90 1F 00 00 */ stw r0, 0(r31)
lbl_801AD0CC:
/* 801AD0CC 001AA02C 7C 80 07 35 */ extsh. r0, r4
@ -1139,4 +1139,3 @@ lbl_805AC590:
# ROM: 0x3F8E30
.float 5.0
.4byte 0

View File

@ -18,9 +18,9 @@ __ct__15CTweakSlideShowFR12CInputStream:
/* 8029C5F8 00299558 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8029C5FC 0029955C 7C 08 02 A6 */ mflr r0
/* 8029C600 00299560 3C A0 80 3F */ lis r5, lbl_803EC000@ha
/* 8029C604 00299564 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 8029C604 00299564 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 8029C608 00299568 90 01 00 54 */ stw r0, 0x54(r1)
/* 8029C60C 0029956C 38 06 9C C4 */ addi r0, r6, lbl_803D9CC4@l
/* 8029C60C 0029956C 38 06 9C C4 */ addi r0, r6, __vt__12ITweakObject@l
/* 8029C610 00299570 38 A5 C0 00 */ addi r5, r5, lbl_803EC000@l
/* 8029C614 00299574 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8029C618 00299578 7C 9F 23 78 */ mr r31, r4
@ -158,8 +158,8 @@ lbl_8029C808:
lbl_8029C818:
/* 8029C818 00299778 28 1E 00 00 */ cmplwi r30, 0
/* 8029C81C 0029977C 41 82 00 10 */ beq lbl_8029C82C
/* 8029C820 00299780 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 8029C824 00299784 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 8029C820 00299780 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 8029C824 00299784 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 8029C828 00299788 90 1E 00 00 */ stw r0, 0(r30)
lbl_8029C82C:
/* 8029C82C 0029978C 7F E0 07 35 */ extsh. r0, r31
@ -200,4 +200,3 @@ lbl_805ADD58:
lbl_805ADD5C:
# ROM: 0x3FA5FC
.float 0.001

View File

@ -54,11 +54,11 @@ __ct__15CTweakTargetingFR12CInputStream:
/* 800B59E0 000B2940 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800B59E4 000B2944 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800B59E8 000B2948 93 81 00 10 */ stw r28, 0x10(r1)
/* 800B59EC 000B294C 3C C0 80 3E */ lis r6, lbl_803D9CC4@ha
/* 800B59EC 000B294C 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
/* 800B59F0 000B2950 3C A0 80 3E */ lis r5, lbl_803DF428@ha
/* 800B59F4 000B2954 7C 7E 1B 78 */ mr r30, r3
/* 800B59F8 000B2958 7C 9F 23 78 */ mr r31, r4
/* 800B59FC 000B295C 38 66 9C C4 */ addi r3, r6, lbl_803D9CC4@l
/* 800B59FC 000B295C 38 66 9C C4 */ addi r3, r6, __vt__12ITweakObject@l
/* 800B5A00 000B2960 38 05 F4 28 */ addi r0, r5, lbl_803DF428@l
/* 800B5A04 000B2964 90 7E 00 00 */ stw r3, 0(r30)
/* 800B5A08 000B2968 7F E3 FB 78 */ mr r3, r31
@ -966,8 +966,8 @@ lbl_800B673C:
/* 800B6744 000B36A4 4B FF FB 65 */ bl sub_800b62a8
/* 800B6748 000B36A8 28 1E 00 00 */ cmplwi r30, 0
/* 800B674C 000B36AC 41 82 00 10 */ beq lbl_800B675C
/* 800B6750 000B36B0 3C 60 80 3E */ lis r3, lbl_803D9CC4@ha
/* 800B6754 000B36B4 38 03 9C C4 */ addi r0, r3, lbl_803D9CC4@l
/* 800B6750 000B36B0 3C 60 80 3E */ lis r3, __vt__12ITweakObject@ha
/* 800B6754 000B36B4 38 03 9C C4 */ addi r0, r3, __vt__12ITweakObject@l
/* 800B6758 000B36B8 90 1E 00 00 */ stw r0, 0(r30)
lbl_800B675C:
/* 800B675C 000B36BC 7F E0 07 35 */ extsh. r0, r31
@ -1157,4 +1157,3 @@ lbl_803CDE80:
# ROM: 0x3CAE80
.asciz "??(??)"
.balign 4

View File

@ -71,7 +71,7 @@ LIBS = [
["MetroidPrime/CIOWin", True],
"MetroidPrime/CActor",
"MetroidPrime/CWorld",
"MetroidPrime/Tweaks/CTweakParticle",
["MetroidPrime/Tweaks/CTweakParticle", True],
"MetroidPrime/Clamp_int",
["MetroidPrime/CArchMsgParmControllerStatus", True],
"MetroidPrime/CExplosion",

View File

@ -18,11 +18,14 @@ private:
static uchar sAllocSpace[sizeof(T)];
return &sAllocSpace;
}
static uint& ReferenceCount() {
static uint& ReferenceCount();
};
template < typename T >
uint& TOneStatic< T >::ReferenceCount() {
static uint sReferenceCount = 0;
return sReferenceCount;
}
};
}
template < typename T >
void TOneStatic< T >::operator delete(void* ptr) {

View File

@ -0,0 +1,23 @@
#ifndef _CTWEAKPARTICLE
#define _CTWEAKPARTICLE
#include "MetroidPrime/Tweaks/ITweakObject.hpp"
#include "Kyoto/TOneStatic.hpp"
#include "rstl/string.hpp"
class CInputStream;
class CTweakParticle;
class CTweakParticle : public ITweakObject, public TOneStatic< CTweakParticle > {
rstl::string m_particle;
rstl::string m_powerBeam;
rstl::string m_genThrust;
public:
CTweakParticle(CInputStream&);
~CTweakParticle();
};
#endif // _CTWEAKPARTICLE

View File

@ -5,7 +5,7 @@
class ITweakObject {
public:
virtual ~ITweakObject() = 0;
virtual ~ITweakObject() {};
};
#endif // _ITWEAKOBJECT

View File

@ -5,6 +5,8 @@
#include "rstl/rmemory_allocator.hpp"
class CInputStream;
namespace rstl {
template < typename _CharTp >
struct char_traits {};
@ -64,6 +66,8 @@ public:
// ++x4_cow->x4_refCount;
// }
basic_string(CInputStream& in, const Alloc& = rmemory_allocator());
basic_string(const _CharTp* data, int size = -1, const Alloc& = rmemory_allocator());
// {
// if (size <= 0 && !data)

View File

@ -38,7 +38,7 @@ METROIDPRIME :=\
$(BUILD_DIR)/src/MetroidPrime/CIOWin.o\
$(BUILD_DIR)/asm/MetroidPrime/CActor.o\
$(BUILD_DIR)/asm/MetroidPrime/CWorld.o\
$(BUILD_DIR)/asm/MetroidPrime/Tweaks/CTweakParticle.o\
$(BUILD_DIR)/src/MetroidPrime/Tweaks/CTweakParticle.o\
$(BUILD_DIR)/asm/MetroidPrime/Clamp_int.o\
$(BUILD_DIR)/src/MetroidPrime/CArchMsgParmControllerStatus.o\
$(BUILD_DIR)/asm/MetroidPrime/CExplosion.o\

View File

@ -0,0 +1,10 @@
#include "MetroidPrime/Tweaks/CTweakParticle.hpp"
#include "Kyoto/Streams/CInputStream.hpp"
CTweakParticle::~CTweakParticle() {}
CTweakParticle::CTweakParticle(CInputStream& in)
: m_particle(in), m_powerBeam(in), m_genThrust(in)
{
}