From 3cbf350f859c9de23251f2ed9cd6cef031b0dc4b Mon Sep 17 00:00:00 2001 From: Luke Street Date: Sat, 8 Oct 2022 00:53:28 -0400 Subject: [PATCH] CScriptPickup progress Former-commit-id: 27fedfee465265e64f247c40a53f2b26a975616e --- asm/MetroidPrime/CArtifactDoll.s | 4 +- asm/MetroidPrime/CEnvFxManager.s | 2 +- asm/MetroidPrime/CExplosion.s | 2 +- asm/MetroidPrime/CGameProjectile.s | 4 +- asm/MetroidPrime/CParticleGenInfo.s | 3 +- asm/MetroidPrime/CStateManager.s | 14 ++-- asm/MetroidPrime/Cameras/CBallCamera.s | 2 +- asm/MetroidPrime/Cameras/CCameraManager.s | 6 +- asm/MetroidPrime/Enemies/CAtomicBeta.s | 2 +- asm/MetroidPrime/Enemies/CBabygoth.s | 2 +- asm/MetroidPrime/Enemies/CElitePirate.s | 6 +- asm/MetroidPrime/Enemies/CFireFlea.s | 2 +- asm/MetroidPrime/Enemies/CFlaahgra.s | 6 +- asm/MetroidPrime/Enemies/CFlaahgraPlants.s | 2 +- asm/MetroidPrime/Enemies/CFlyingPirate.s | 2 +- asm/MetroidPrime/Enemies/CGrenadeLauncher.s | 4 +- asm/MetroidPrime/Enemies/CMetroid.s | 2 +- .../Enemies/CMetroidPrimeEssence.s | 2 +- asm/MetroidPrime/Enemies/CMetroidPrimeExo.s | 10 +-- .../Enemies/CMetroidPrimeProjectile.s | 2 +- asm/MetroidPrime/Enemies/CPatterned.s | 8 +- asm/MetroidPrime/Enemies/CPuddleSpore.s | 2 +- asm/MetroidPrime/Enemies/CPuffer.s | 2 +- asm/MetroidPrime/Enemies/CRidley.s | 4 +- asm/MetroidPrime/Enemies/CRipper.s | 4 +- asm/MetroidPrime/Enemies/CThardus.s | 8 +- .../Enemies/CThardusRockProjectile.s | 2 +- asm/MetroidPrime/HUD/CSamusHud.s | 4 +- asm/MetroidPrime/Player/CGameState.s | 8 +- asm/MetroidPrime/Player/CMorphBall.s | 2 +- asm/MetroidPrime/Player/CPlayer.s | 10 +-- asm/MetroidPrime/Player/CPlayerGun.s | 4 +- asm/MetroidPrime/ScriptObjects/CEnergyBall.s | 4 +- asm/MetroidPrime/ScriptObjects/CScriptBeam.s | 2 +- .../ScriptObjects/CScriptEffect.s | 2 +- .../ScriptObjects/CScriptGunTurret.s | 4 +- .../ScriptObjects/CScriptHUDMemo.s | 6 +- .../ScriptObjects/CScriptPickup.s | 12 +-- .../ScriptObjects/CScriptVisorGoo.s | 2 +- asm/MetroidPrime/Weapons/CAuxWeapon.s | 2 +- asm/MetroidPrime/Weapons/CBomb.s | 2 +- asm/MetroidPrime/Weapons/CEnergyProjectile.s | 4 +- asm/MetroidPrime/Weapons/CGunWeapon.s | 2 +- asm/MetroidPrime/Weapons/CIceImpact.s | 2 +- asm/MetroidPrime/Weapons/CIceProjectile.s | 2 +- asm/MetroidPrime/Weapons/CNewFlameThrower.s | 2 +- asm/MetroidPrime/Weapons/CPlasmaProjectile.s | 4 +- asm/MetroidPrime/Weapons/CShockWave.s | 4 +- asm/MetroidPrime/Weapons/CWaveBeam.s | 2 +- include/Kyoto/Math/CMath.hpp | 12 +-- include/Kyoto/Math/CTransform4f.hpp | 6 +- include/Kyoto/Math/CVector3f.hpp | 7 +- include/MetroidPrime/CActor.hpp | 2 +- include/MetroidPrime/CEffect.hpp | 18 ++++ include/MetroidPrime/CExplosion.hpp | 46 ++++++++++ include/MetroidPrime/CModelData.hpp | 9 +- include/MetroidPrime/CStateManager.hpp | 2 + .../MetroidPrime/Cameras/CCameraManager.hpp | 3 +- src/MetroidPrime/CActor.cpp | 4 +- .../ScriptObjects/CScriptPickup.cpp | 84 ++++++++++--------- .../ScriptObjects/CScriptSpecialFunction.cpp | 2 +- 61 files changed, 231 insertions(+), 159 deletions(-) create mode 100644 include/MetroidPrime/CEffect.hpp create mode 100644 include/MetroidPrime/CExplosion.hpp diff --git a/asm/MetroidPrime/CArtifactDoll.s b/asm/MetroidPrime/CArtifactDoll.s index 68cfebca..a8236b2e 100644 --- a/asm/MetroidPrime/CArtifactDoll.s +++ b/asm/MetroidPrime/CArtifactDoll.s @@ -94,8 +94,8 @@ lbl_8029C924: /* 8029C930 00299890 38 60 FF FF */ li r3, -1 /* 8029C934 00299894 4E 80 00 20 */ blr -.global GetArtifactHeadScanFromItemType__13CArtifactDollF9EItemType -GetArtifactHeadScanFromItemType__13CArtifactDollF9EItemType: +.global GetArtifactHeadScanFromItemType__13CArtifactDollFQ212CPlayerState9EItemType +GetArtifactHeadScanFromItemType__13CArtifactDollFQ212CPlayerState9EItemType: /* 8029C938 00299898 2C 03 00 1D */ cmpwi r3, 0x1d /* 8029C93C 0029989C 41 80 00 24 */ blt lbl_8029C960 /* 8029C940 002998A0 2C 03 00 28 */ cmpwi r3, 0x28 diff --git a/asm/MetroidPrime/CEnvFxManager.s b/asm/MetroidPrime/CEnvFxManager.s index 98b4eba3..3185417f 100644 --- a/asm/MetroidPrime/CEnvFxManager.s +++ b/asm/MetroidPrime/CEnvFxManager.s @@ -3085,7 +3085,7 @@ lbl_80212954: /* 80212960 0020F8C0 7F C3 F3 78 */ mr r3, r30 /* 80212964 0020F8C4 98 1F 01 04 */ stb r0, 0x104(r31) /* 80212968 0020F8C8 7F E4 FB 78 */ mr r4, r31 -/* 8021296C 0020F8CC 4B E3 A3 89 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8021296C 0020F8CC 4B E3 A3 89 */ bl AddObject__13CStateManagerFP7CEntity /* 80212970 0020F8D0 BB 21 00 64 */ lmw r25, 0x64(r1) /* 80212974 0020F8D4 80 01 00 84 */ lwz r0, 0x84(r1) /* 80212978 0020F8D8 7C 08 03 A6 */ mtlr r0 diff --git a/asm/MetroidPrime/CExplosion.s b/asm/MetroidPrime/CExplosion.s index 207f7412..15ae3a2b 100644 --- a/asm/MetroidPrime/CExplosion.s +++ b/asm/MetroidPrime/CExplosion.s @@ -291,7 +291,7 @@ lbl_8005A378: lbl_8005A478: /* 8005A478 000573D8 7F E3 FB 78 */ mr r3, r31 /* 8005A47C 000573DC 7F 44 D3 78 */ mr r4, r26 -/* 8005A480 000573E0 4B FF 28 75 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8005A480 000573E0 4B FF 28 75 */ bl AddObject__13CStateManagerFP7CEntity /* 8005A484 000573E4 7E E0 07 75 */ extsb. r0, r23 /* 8005A488 000573E8 41 82 00 0C */ beq lbl_8005A494 /* 8005A48C 000573EC 38 61 00 38 */ addi r3, r1, 0x38 diff --git a/asm/MetroidPrime/CGameProjectile.s b/asm/MetroidPrime/CGameProjectile.s index 203f1c6e..6cff6b7f 100644 --- a/asm/MetroidPrime/CGameProjectile.s +++ b/asm/MetroidPrime/CGameProjectile.s @@ -413,7 +413,7 @@ lbl_800376A8: lbl_80037768: /* 80037768 000346C8 7F E3 FB 78 */ mr r3, r31 /* 8003776C 000346CC 7F 24 CB 78 */ mr r4, r25 -/* 80037770 000346D0 48 01 55 85 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80037770 000346D0 48 01 55 85 */ bl AddObject__13CStateManagerFP7CEntity /* 80037774 000346D4 7F 00 07 75 */ extsb. r0, r24 /* 80037778 000346D8 41 82 00 28 */ beq lbl_800377A0 /* 8003777C 000346DC 88 01 00 38 */ lbz r0, 0x38(r1) @@ -589,7 +589,7 @@ lbl_800378E8: lbl_800379C0: /* 800379C0 00034920 7F 83 E3 78 */ mr r3, r28 /* 800379C4 00034924 7F E4 FB 78 */ mr r4, r31 -/* 800379C8 00034928 48 01 53 2D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 800379C8 00034928 48 01 53 2D */ bl AddObject__13CStateManagerFP7CEntity /* 800379CC 0003492C BB 21 00 34 */ lmw r25, 0x34(r1) /* 800379D0 00034930 80 01 00 54 */ lwz r0, 0x54(r1) /* 800379D4 00034934 7C 08 03 A6 */ mtlr r0 diff --git a/asm/MetroidPrime/CParticleGenInfo.s b/asm/MetroidPrime/CParticleGenInfo.s index bad21bbc..a3dc5e72 100644 --- a/asm/MetroidPrime/CParticleGenInfo.s +++ b/asm/MetroidPrime/CParticleGenInfo.s @@ -166,7 +166,7 @@ lbl_800B776C: lbl_800B78D4: /* 800B78D4 000B4834 7F A3 EB 78 */ mr r3, r29 /* 800B78D8 000B4838 7F 44 D3 78 */ mr r4, r26 -/* 800B78DC 000B483C 4B F9 54 19 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 800B78DC 000B483C 4B F9 54 19 */ bl AddObject__13CStateManagerFP7CEntity /* 800B78E0 000B4840 7F 60 07 75 */ extsb. r0, r27 /* 800B78E4 000B4844 41 82 00 0C */ beq lbl_800B78F0 /* 800B78E8 000B4848 38 61 00 24 */ addi r3, r1, 0x24 @@ -288,4 +288,3 @@ lbl_803CDE88: .byte 0x50 .asciz "articleLight" .balign 4 - diff --git a/asm/MetroidPrime/CStateManager.s b/asm/MetroidPrime/CStateManager.s index 17e3e063..d236a308 100644 --- a/asm/MetroidPrime/CStateManager.s +++ b/asm/MetroidPrime/CStateManager.s @@ -540,8 +540,8 @@ lbl_80043F1C: /* 80043F24 00040E84 38 21 00 10 */ addi r1, r1, 0x10 /* 80043F28 00040E88 4E 80 00 20 */ blr -.global sub_80043f2c -sub_80043f2c: +.global QueueMessage__13CStateManagerFiUif +QueueMessage__13CStateManagerFiUif: /* 80043F2C 00040E8C 90 83 0F 84 */ stw r4, 0xf84(r3) /* 80043F30 00040E90 90 A3 0F 88 */ stw r5, 0xf88(r3) /* 80043F34 00040E94 D0 23 0F 8C */ stfs f1, 0xf8c(r3) @@ -854,7 +854,7 @@ lbl_80044354: lbl_80044364: /* 80044364 000412C4 7F A3 EB 78 */ mr r3, r29 /* 80044368 000412C8 7E E4 BB 78 */ mr r4, r23 -/* 8004436C 000412CC 48 00 89 89 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8004436C 000412CC 48 00 89 89 */ bl AddObject__13CStateManagerFP7CEntity lbl_80044370: /* 80044370 000412D0 7F C3 F3 78 */ mr r3, r30 /* 80044374 000412D4 7F 24 CB 78 */ mr r4, r25 @@ -1660,7 +1660,7 @@ lbl_80044E54: /* 80044E7C 00041DDC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80044E80 00041DE0 98 01 00 21 */ stb r0, 0x21(r1) /* 80044E84 00041DE4 98 01 00 22 */ stb r0, 0x22(r1) -/* 80044E88 00041DE8 48 02 6D E1 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 80044E88 00041DE8 48 02 6D E1 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 80044E8C 00041DEC 38 61 00 24 */ addi r3, r1, 0x24 /* 80044E90 00041DF0 48 2F 82 A5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80044E94 00041DF4 48 00 00 44 */ b lbl_80044ED8 @@ -6245,7 +6245,7 @@ lbl_80048DC0: /* 80048E80 00045DE0 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80048E84 00045DE4 98 01 00 21 */ stb r0, 0x21(r1) /* 80048E88 00045DE8 98 01 00 22 */ stb r0, 0x22(r1) -/* 80048E8C 00045DEC 48 02 2D DD */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 80048E8C 00045DEC 48 02 2D DD */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 80048E90 00045DF0 38 61 00 54 */ addi r3, r1, 0x54 /* 80048E94 00045DF4 48 2F 42 A1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80048E98 00045DF8 7F 43 D3 78 */ mr r3, r26 @@ -10668,8 +10668,8 @@ lbl_8004CCD4: /* 8004CCEC 00049C4C 38 21 00 60 */ addi r1, r1, 0x60 /* 8004CCF0 00049C50 4E 80 00 20 */ blr -.global AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence -AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence: +.global AddObject__13CStateManagerFP7CEntity +AddObject__13CStateManagerFP7CEntity: /* 8004CCF4 00049C54 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004CCF8 00049C58 7C 08 02 A6 */ mflr r0 /* 8004CCFC 00049C5C 28 04 00 00 */ cmplwi r4, 0 diff --git a/asm/MetroidPrime/Cameras/CBallCamera.s b/asm/MetroidPrime/Cameras/CBallCamera.s index 652ae5b4..794eccdb 100644 --- a/asm/MetroidPrime/Cameras/CBallCamera.s +++ b/asm/MetroidPrime/Cameras/CBallCamera.s @@ -2448,7 +2448,7 @@ lbl_80082814: /* 80082914 0007F874 4B FD 05 79 */ bl SetTranslation__6CActorFRC9CVector3f /* 80082918 0007F878 7F C3 F3 78 */ mr r3, r30 /* 8008291C 0007F87C 7F A4 EB 78 */ mr r4, r29 -/* 80082920 0007F880 4B FC A3 D5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80082920 0007F880 4B FC A3 D5 */ bl AddObject__13CStateManagerFP7CEntity /* 80082924 0007F884 88 1D 00 F8 */ lbz r0, 0xf8(r29) /* 80082928 0007F888 38 60 00 00 */ li r3, 0 /* 8008292C 0007F88C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 diff --git a/asm/MetroidPrime/Cameras/CCameraManager.s b/asm/MetroidPrime/Cameras/CCameraManager.s index 675caa9b..3d2fa0ed 100644 --- a/asm/MetroidPrime/Cameras/CCameraManager.s +++ b/asm/MetroidPrime/Cameras/CCameraManager.s @@ -3446,7 +3446,7 @@ lbl_8000BF60: /* 8000BF60 00008EC0 93 BE 00 7C */ stw r29, 0x7c(r30) /* 8000BF64 00008EC4 7F E3 FB 78 */ mr r3, r31 /* 8000BF68 00008EC8 80 9E 00 7C */ lwz r4, 0x7c(r30) -/* 8000BF6C 00008ECC 48 04 0D 89 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8000BF6C 00008ECC 48 04 0D 89 */ bl AddObject__13CStateManagerFP7CEntity /* 8000BF70 00008ED0 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 8000BF74 00008ED4 7F E5 FB 78 */ mr r5, r31 /* 8000BF78 00008ED8 38 80 00 00 */ li r4, 0 @@ -3492,7 +3492,7 @@ lbl_8000C014: /* 8000C014 00008F74 93 BE 00 80 */ stw r29, 0x80(r30) /* 8000C018 00008F78 7F E3 FB 78 */ mr r3, r31 /* 8000C01C 00008F7C 80 9E 00 80 */ lwz r4, 0x80(r30) -/* 8000C020 00008F80 48 04 0C D5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8000C020 00008F80 48 04 0C D5 */ bl AddObject__13CStateManagerFP7CEntity /* 8000C024 00008F84 7F E4 FB 78 */ mr r4, r31 /* 8000C028 00008F88 38 61 00 0C */ addi r3, r1, 0xc /* 8000C02C 00008F8C 48 04 10 B1 */ bl AllocateUniqueId__13CStateManagerFv @@ -3515,7 +3515,7 @@ lbl_8000C06C: /* 8000C06C 00008FCC 90 1E 00 88 */ stw r0, 0x88(r30) /* 8000C070 00008FD0 7F E3 FB 78 */ mr r3, r31 /* 8000C074 00008FD4 80 9E 00 88 */ lwz r4, 0x88(r30) -/* 8000C078 00008FD8 48 04 0C 7D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8000C078 00008FD8 48 04 0C 7D */ bl AddObject__13CStateManagerFP7CEntity /* 8000C07C 00008FDC E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 8000C080 00008FE0 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 8000C084 00008FE4 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0 diff --git a/asm/MetroidPrime/Enemies/CAtomicBeta.s b/asm/MetroidPrime/Enemies/CAtomicBeta.s index 9ee4fd53..61b902dc 100644 --- a/asm/MetroidPrime/Enemies/CAtomicBeta.s +++ b/asm/MetroidPrime/Enemies/CAtomicBeta.s @@ -994,7 +994,7 @@ lbl_80251538: /* 802515B8 0024E518 7C 64 1B 78 */ mr r4, r3 lbl_802515BC: /* 802515BC 0024E51C 7F A3 EB 78 */ mr r3, r29 -/* 802515C0 0024E520 4B DF B7 35 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802515C0 0024E520 4B DF B7 35 */ bl AddObject__13CStateManagerFP7CEntity /* 802515C4 0024E524 3B DE 00 01 */ addi r30, r30, 1 /* 802515C8 0024E528 2C 1E 00 03 */ cmpwi r30, 3 /* 802515CC 0024E52C 41 80 FF 44 */ blt lbl_80251510 diff --git a/asm/MetroidPrime/Enemies/CBabygoth.s b/asm/MetroidPrime/Enemies/CBabygoth.s index 22e3b66d..d784d051 100644 --- a/asm/MetroidPrime/Enemies/CBabygoth.s +++ b/asm/MetroidPrime/Enemies/CBabygoth.s @@ -689,7 +689,7 @@ lbl_8021D938: /* 8021D93C 0021A89C 41 82 00 80 */ beq lbl_8021D9BC /* 8021D940 0021A8A0 7F 43 D3 78 */ mr r3, r26 /* 8021D944 0021A8A4 7F E4 FB 78 */ mr r4, r31 -/* 8021D948 0021A8A8 4B E2 F3 AD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8021D948 0021A8A8 4B E2 F3 AD */ bl AddObject__13CStateManagerFP7CEntity /* 8021D94C 0021A8AC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 /* 8021D950 0021A8B0 41 82 00 2C */ beq lbl_8021D97C /* 8021D954 0021A8B4 88 A2 CC 40 */ lbz r5, kMaxVolume__9CAudioSys@sda21(r2) diff --git a/asm/MetroidPrime/Enemies/CElitePirate.s b/asm/MetroidPrime/Enemies/CElitePirate.s index 4407d78b..a1c8f36a 100644 --- a/asm/MetroidPrime/Enemies/CElitePirate.s +++ b/asm/MetroidPrime/Enemies/CElitePirate.s @@ -1457,7 +1457,7 @@ lbl_80228338: /* 8022833C 0022529C 41 82 00 58 */ beq lbl_80228394 /* 80228340 002252A0 7F C3 F3 78 */ mr r3, r30 /* 80228344 002252A4 7F E4 FB 78 */ mr r4, r31 -/* 80228348 002252A8 4B E2 49 AD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80228348 002252A8 4B E2 49 AD */ bl AddObject__13CStateManagerFP7CEntity /* 8022834C 002252AC 81 5D 00 04 */ lwz r10, 4(r29) /* 80228350 002252B0 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 80228354 002252B4 C0 5D 00 60 */ lfs f2, 0x60(r29) @@ -2164,7 +2164,7 @@ lbl_80228D6C: /* 80228D70 00225CD0 41 82 00 10 */ beq lbl_80228D80 /* 80228D74 00225CD4 7F C3 F3 78 */ mr r3, r30 /* 80228D78 00225CD8 7F 64 DB 78 */ mr r4, r27 -/* 80228D7C 00225CDC 4B E2 3F 79 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80228D7C 00225CDC 4B E2 3F 79 */ bl AddObject__13CStateManagerFP7CEntity lbl_80228D80: /* 80228D80 00225CE0 38 61 01 A0 */ addi r3, r1, 0x1a0 /* 80228D84 00225CE4 38 80 FF FF */ li r4, -1 @@ -6155,7 +6155,7 @@ lbl_8022C6D0: /* 8022C6D4 00229634 41 82 00 10 */ beq lbl_8022C6E4 /* 8022C6D8 00229638 7F A3 EB 78 */ mr r3, r29 /* 8022C6DC 0022963C 7F 64 DB 78 */ mr r4, r27 -/* 8022C6E0 00229640 4B E2 06 15 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8022C6E0 00229640 4B E2 06 15 */ bl AddObject__13CStateManagerFP7CEntity lbl_8022C6E4: /* 8022C6E4 00229644 38 C0 00 01 */ li r6, 1 /* 8022C6E8 00229648 48 00 00 C0 */ b lbl_8022C7A8 diff --git a/asm/MetroidPrime/Enemies/CFireFlea.s b/asm/MetroidPrime/Enemies/CFireFlea.s index 7c5a5341..3b473729 100644 --- a/asm/MetroidPrime/Enemies/CFireFlea.s +++ b/asm/MetroidPrime/Enemies/CFireFlea.s @@ -604,7 +604,7 @@ lbl_80142D70: lbl_80142DF4: /* 80142DF4 0013FD54 7F C3 F3 78 */ mr r3, r30 /* 80142DF8 0013FD58 7F E4 FB 78 */ mr r4, r31 -/* 80142DFC 0013FD5C 4B F0 9E F9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80142DFC 0013FD5C 4B F0 9E F9 */ bl AddObject__13CStateManagerFP7CEntity /* 80142E00 0013FD60 38 61 00 1C */ addi r3, r1, 0x1c /* 80142E04 0013FD64 48 1F AC DD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80142E08: diff --git a/asm/MetroidPrime/Enemies/CFlaahgra.s b/asm/MetroidPrime/Enemies/CFlaahgra.s index 2f871447..afe4500f 100644 --- a/asm/MetroidPrime/Enemies/CFlaahgra.s +++ b/asm/MetroidPrime/Enemies/CFlaahgra.s @@ -1085,7 +1085,7 @@ lbl_801ADE50: /* 801ADE58 001AADB8 41 82 00 10 */ beq lbl_801ADE68 /* 801ADE5C 001AADBC 7F E3 FB 78 */ mr r3, r31 /* 801ADE60 001AADC0 7F 84 E3 78 */ mr r4, r28 -/* 801ADE64 001AADC4 4B E9 EE 91 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801ADE64 001AADC4 4B E9 EE 91 */ bl AddObject__13CStateManagerFP7CEntity lbl_801ADE68: /* 801ADE68 001AADC8 7F 63 DB 78 */ mr r3, r27 /* 801ADE6C 001AADCC BB 61 00 4C */ lmw r27, 0x4c(r1) @@ -6415,7 +6415,7 @@ lbl_801B2A90: lbl_801B2AA4: /* 801B2AA4 001AFA04 7F 83 E3 78 */ mr r3, r28 /* 801B2AA8 001AFA08 7F 44 D3 78 */ mr r4, r26 -/* 801B2AAC 001AFA0C 4B E9 A2 49 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801B2AAC 001AFA0C 4B E9 A2 49 */ bl AddObject__13CStateManagerFP7CEntity /* 801B2AB0 001AFA10 80 1B 00 04 */ lwz r0, 4(r27) /* 801B2AB4 001AFA14 7F 83 E3 78 */ mr r3, r28 /* 801B2AB8 001AFA18 7F 44 D3 78 */ mr r4, r26 @@ -6644,7 +6644,7 @@ lbl_801B2CE4: lbl_801B2DBC: /* 801B2DBC 001AFD1C 7F C3 F3 78 */ mr r3, r30 /* 801B2DC0 001AFD20 7F 64 DB 78 */ mr r4, r27 -/* 801B2DC4 001AFD24 4B E9 9F 31 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801B2DC4 001AFD24 4B E9 9F 31 */ bl AddObject__13CStateManagerFP7CEntity /* 801B2DC8 001AFD28 7F 20 07 75 */ extsb. r0, r25 /* 801B2DCC 001AFD2C 41 82 00 0C */ beq lbl_801B2DD8 /* 801B2DD0 001AFD30 38 61 00 B4 */ addi r3, r1, 0xb4 diff --git a/asm/MetroidPrime/Enemies/CFlaahgraPlants.s b/asm/MetroidPrime/Enemies/CFlaahgraPlants.s index bf934ed8..613b6832 100644 --- a/asm/MetroidPrime/Enemies/CFlaahgraPlants.s +++ b/asm/MetroidPrime/Enemies/CFlaahgraPlants.s @@ -216,7 +216,7 @@ lbl_8020853C: /* 80208624 00205584 80 DF 00 6C */ lwz r6, 0x6c(r31) /* 80208628 00205588 7C C0 03 78 */ or r0, r6, r0 /* 8020862C 0020558C 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 80208630 00205590 4B E4 46 C5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80208630 00205590 4B E4 46 C5 */ bl AddObject__13CStateManagerFP7CEntity /* 80208634 00205594 80 1D 00 04 */ lwz r0, 4(r29) /* 80208638 00205598 7F C3 F3 78 */ mr r3, r30 /* 8020863C 0020559C 7F E4 FB 78 */ mr r4, r31 diff --git a/asm/MetroidPrime/Enemies/CFlyingPirate.s b/asm/MetroidPrime/Enemies/CFlyingPirate.s index 9a60b2d7..87aa872e 100644 --- a/asm/MetroidPrime/Enemies/CFlyingPirate.s +++ b/asm/MetroidPrime/Enemies/CFlyingPirate.s @@ -5561,7 +5561,7 @@ lbl_801F89A4: /* 801F89A8 001F5908 41 82 00 C0 */ beq lbl_801F8A68 /* 801F89AC 001F590C 7F 23 CB 78 */ mr r3, r25 /* 801F89B0 001F5910 7F C4 F3 78 */ mr r4, r30 -/* 801F89B4 001F5914 4B E5 43 41 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801F89B4 001F5914 4B E5 43 41 */ bl AddObject__13CStateManagerFP7CEntity /* 801F89B8 001F5918 88 18 06 A1 */ lbz r0, 0x6a1(r24) /* 801F89BC 001F591C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801F89C0 001F5920 40 82 00 A8 */ bne lbl_801F8A68 diff --git a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s index 1c9e2ae2..fc070da8 100644 --- a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s +++ b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s @@ -333,7 +333,7 @@ lbl_8022F8D0: /* 8022F8D4 0022C834 41 82 00 34 */ beq lbl_8022F908 /* 8022F8D8 0022C838 7F E3 FB 78 */ mr r3, r31 /* 8022F8DC 0022C83C 7F A4 EB 78 */ mr r4, r29 -/* 8022F8E0 0022C840 4B E1 D4 15 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8022F8E0 0022C840 4B E1 D4 15 */ bl AddObject__13CStateManagerFP7CEntity /* 8022F8E4 0022C844 A0 9E 03 14 */ lhz r4, 0x314(r30) /* 8022F8E8 0022C848 38 61 00 28 */ addi r3, r1, 0x28 /* 8022F8EC 0022C84C 88 A2 CC 40 */ lbz r5, kMaxVolume__9CAudioSys@sda21(r2) @@ -1074,7 +1074,7 @@ lbl_802303B4: /* 802303B8 0022D318 41 82 00 10 */ beq lbl_802303C8 /* 802303BC 0022D31C 7F E3 FB 78 */ mr r3, r31 /* 802303C0 0022D320 7F 84 E3 78 */ mr r4, r28 -/* 802303C4 0022D324 4B E1 C9 31 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802303C4 0022D324 4B E1 C9 31 */ bl AddObject__13CStateManagerFP7CEntity lbl_802303C8: /* 802303C8 0022D328 34 A1 02 84 */ addic. r5, r1, 0x284 /* 802303CC 0022D32C 41 82 00 58 */ beq lbl_80230424 diff --git a/asm/MetroidPrime/Enemies/CMetroid.s b/asm/MetroidPrime/Enemies/CMetroid.s index c5d2e124..5506250f 100644 --- a/asm/MetroidPrime/Enemies/CMetroid.s +++ b/asm/MetroidPrime/Enemies/CMetroid.s @@ -2022,7 +2022,7 @@ lbl_8016B760: /* 8016B764 001686C4 41 82 00 88 */ beq lbl_8016B7EC /* 8016B768 001686C8 7F A3 EB 78 */ mr r3, r29 /* 8016B76C 001686CC 7F E4 FB 78 */ mr r4, r31 -/* 8016B770 001686D0 4B EE 15 85 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8016B770 001686D0 4B EE 15 85 */ bl AddObject__13CStateManagerFP7CEntity /* 8016B774 001686D4 7F 83 E3 78 */ mr r3, r28 /* 8016B778 001686D8 7F E4 FB 78 */ mr r4, r31 /* 8016B77C 001686DC 48 00 0C 2D */ bl sub_8016c3a8 diff --git a/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s b/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s index 27c5db8c..03875f5b 100644 --- a/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s +++ b/asm/MetroidPrime/Enemies/CMetroidPrimeEssence.s @@ -1228,7 +1228,7 @@ lbl_8027D6DC: /* 8027D6E0 0027A640 41 82 00 10 */ beq lbl_8027D6F0 /* 8027D6E4 0027A644 7F A3 EB 78 */ mr r3, r29 /* 8027D6E8 0027A648 7F 84 E3 78 */ mr r4, r28 -/* 8027D6EC 0027A64C 4B DC F6 09 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8027D6EC 0027A64C 4B DC F6 09 */ bl AddObject__13CStateManagerFP7CEntity lbl_8027D6F0: /* 8027D6F0 0027A650 BB 21 00 F4 */ lmw r25, 0xf4(r1) /* 8027D6F4 0027A654 80 01 01 14 */ lwz r0, 0x114(r1) diff --git a/asm/MetroidPrime/Enemies/CMetroidPrimeExo.s b/asm/MetroidPrime/Enemies/CMetroidPrimeExo.s index 6869ea8b..ab72cb8a 100644 --- a/asm/MetroidPrime/Enemies/CMetroidPrimeExo.s +++ b/asm/MetroidPrime/Enemies/CMetroidPrimeExo.s @@ -4198,7 +4198,7 @@ lbl_802741FC: lbl_80274210: /* 80274210 00271170 7F E3 FB 78 */ mr r3, r31 /* 80274214 00271174 7F C4 F3 78 */ mr r4, r30 -/* 80274218 00271178 4B DD 8A DD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80274218 00271178 4B DD 8A DD */ bl AddObject__13CStateManagerFP7CEntity /* 8027421C 0027117C BB 61 00 5C */ lmw r27, 0x5c(r1) /* 80274220 00271180 80 01 00 74 */ lwz r0, 0x74(r1) /* 80274224 00271184 7C 08 03 A6 */ mtlr r0 @@ -4471,7 +4471,7 @@ lbl_802745F4: lbl_80274604: /* 80274604 00271564 7F C3 F3 78 */ mr r3, r30 /* 80274608 00271568 7F E4 FB 78 */ mr r4, r31 -/* 8027460C 0027156C 4B DD 86 E9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8027460C 0027156C 4B DD 86 E9 */ bl AddObject__13CStateManagerFP7CEntity /* 80274610 00271570 88 1F 01 04 */ lbz r0, 0x104(r31) /* 80274614 00271574 38 60 00 01 */ li r3, 1 /* 80274618 00271578 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b @@ -10491,7 +10491,7 @@ lbl_80279CDC: /* 80279CE0 00276C40 7F C3 F3 78 */ mr r3, r30 /* 80279CE4 00276C44 98 1B 01 92 */ stb r0, 0x192(r27) /* 80279CE8 00276C48 7F 64 DB 78 */ mr r4, r27 -/* 80279CEC 00276C4C 4B DD 30 09 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80279CEC 00276C4C 4B DD 30 09 */ bl AddObject__13CStateManagerFP7CEntity /* 80279CF0 00276C50 48 00 05 C4 */ b lbl_8027A2B4 lbl_80279CF4: /* 80279CF4 00276C54 80 7F 0E B0 */ lwz r3, 0xeb0(r31) @@ -10659,7 +10659,7 @@ lbl_80279F6C: /* 80279F70 00276ED0 41 82 03 44 */ beq lbl_8027A2B4 /* 80279F74 00276ED4 7F C3 F3 78 */ mr r3, r30 /* 80279F78 00276ED8 7E C4 B3 78 */ mr r4, r22 -/* 80279F7C 00276EDC 4B DD 2D 79 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80279F7C 00276EDC 4B DD 2D 79 */ bl AddObject__13CStateManagerFP7CEntity /* 80279F80 00276EE0 80 7E 09 00 */ lwz r3, 0x900(r30) /* 80279F84 00276EE4 3A B6 01 70 */ addi r21, r22, 0x170 /* 80279F88 00276EE8 C0 22 BC E8 */ lfs f1, lbl_805ADA08@sda21(r2) @@ -10843,7 +10843,7 @@ lbl_8027A23C: /* 8027A240 002771A0 41 82 00 74 */ beq lbl_8027A2B4 /* 8027A244 002771A4 7F C3 F3 78 */ mr r3, r30 /* 8027A248 002771A8 7F 44 D3 78 */ mr r4, r26 -/* 8027A24C 002771AC 4B DD 2A A9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8027A24C 002771AC 4B DD 2A A9 */ bl AddObject__13CStateManagerFP7CEntity /* 8027A250 002771B0 80 7E 09 00 */ lwz r3, 0x900(r30) /* 8027A254 002771B4 3A BA 01 70 */ addi r21, r26, 0x170 /* 8027A258 002771B8 C0 22 BC E8 */ lfs f1, lbl_805ADA08@sda21(r2) diff --git a/asm/MetroidPrime/Enemies/CMetroidPrimeProjectile.s b/asm/MetroidPrime/Enemies/CMetroidPrimeProjectile.s index 606a3c3a..e322f598 100644 --- a/asm/MetroidPrime/Enemies/CMetroidPrimeProjectile.s +++ b/asm/MetroidPrime/Enemies/CMetroidPrimeProjectile.s @@ -256,7 +256,7 @@ lbl_802A0664: /* 802A0664 0029D5C4 28 04 00 00 */ cmplwi r4, 0 /* 802A0668 0029D5C8 41 82 00 0C */ beq lbl_802A0674 /* 802A066C 0029D5CC 7F A3 EB 78 */ mr r3, r29 -/* 802A0670 0029D5D0 4B DA C6 85 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802A0670 0029D5D0 4B DA C6 85 */ bl AddObject__13CStateManagerFP7CEntity lbl_802A0674: /* 802A0674 0029D5D4 7F C3 F3 78 */ mr r3, r30 /* 802A0678 0029D5D8 BA E1 01 1C */ lmw r23, 0x11c(r1) diff --git a/asm/MetroidPrime/Enemies/CPatterned.s b/asm/MetroidPrime/Enemies/CPatterned.s index ae67215c..a067df9d 100644 --- a/asm/MetroidPrime/Enemies/CPatterned.s +++ b/asm/MetroidPrime/Enemies/CPatterned.s @@ -1163,7 +1163,7 @@ lbl_80077BB8: /* 80077BBC 00074B1C 41 82 00 10 */ beq lbl_80077BCC /* 80077BC0 00074B20 7E E3 BB 78 */ mr r3, r23 /* 80077BC4 00074B24 7F E4 FB 78 */ mr r4, r31 -/* 80077BC8 00074B28 4B FD 51 2D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80077BC8 00074B28 4B FD 51 2D */ bl AddObject__13CStateManagerFP7CEntity lbl_80077BCC: /* 80077BCC 00074B2C 7F E3 FB 78 */ mr r3, r31 /* 80077BD0 00074B30 BA 81 00 60 */ lmw r20, 0x60(r1) @@ -4810,7 +4810,7 @@ lbl_8007AFB0: /* 8007AFB4 00077F14 41 82 00 10 */ beq lbl_8007AFC4 /* 8007AFB8 00077F18 7F C3 F3 78 */ mr r3, r30 /* 8007AFBC 00077F1C 7F E4 FB 78 */ mr r4, r31 -/* 8007AFC0 00077F20 4B FD 1D 35 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8007AFC0 00077F20 4B FD 1D 35 */ bl AddObject__13CStateManagerFP7CEntity lbl_8007AFC4: /* 8007AFC4 00077F24 BB 21 00 C4 */ lmw r25, 0xc4(r1) /* 8007AFC8 00077F28 80 01 00 E4 */ lwz r0, 0xe4(r1) @@ -4969,7 +4969,7 @@ lbl_8007B200: /* 8007B204 00078164 41 82 00 10 */ beq lbl_8007B214 /* 8007B208 00078168 7F A3 EB 78 */ mr r3, r29 /* 8007B20C 0007816C 7F E4 FB 78 */ mr r4, r31 -/* 8007B210 00078170 4B FD 1A E5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8007B210 00078170 4B FD 1A E5 */ bl AddObject__13CStateManagerFP7CEntity lbl_8007B214: /* 8007B214 00078174 88 1E 00 0C */ lbz r0, 0xc(r30) /* 8007B218 00078178 28 00 00 00 */ cmplwi r0, 0 @@ -5071,7 +5071,7 @@ lbl_8007B37C: /* 8007B380 000782E0 41 82 00 10 */ beq lbl_8007B390 /* 8007B384 000782E4 7F A3 EB 78 */ mr r3, r29 /* 8007B388 000782E8 7F E4 FB 78 */ mr r4, r31 -/* 8007B38C 000782EC 4B FD 19 69 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8007B38C 000782EC 4B FD 19 69 */ bl AddObject__13CStateManagerFP7CEntity lbl_8007B390: /* 8007B390 000782F0 BB 01 01 20 */ lmw r24, 0x120(r1) /* 8007B394 000782F4 80 01 01 44 */ lwz r0, 0x144(r1) diff --git a/asm/MetroidPrime/Enemies/CPuddleSpore.s b/asm/MetroidPrime/Enemies/CPuddleSpore.s index 9613233c..8bd4ce2c 100644 --- a/asm/MetroidPrime/Enemies/CPuddleSpore.s +++ b/asm/MetroidPrime/Enemies/CPuddleSpore.s @@ -1483,7 +1483,7 @@ lbl_80147C60: /* 80147C84 00144BE4 48 16 74 B9 */ bl SetVelocity__17CProjectileWeaponFRC9CVector3f /* 80147C88 00144BE8 7F 83 E3 78 */ mr r3, r28 /* 80147C8C 00144BEC 7F E4 FB 78 */ mr r4, r31 -/* 80147C90 00144BF0 4B F0 50 65 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80147C90 00144BF0 4B F0 50 65 */ bl AddObject__13CStateManagerFP7CEntity lbl_80147C94: /* 80147C94 00144BF4 38 00 00 01 */ li r0, 1 lbl_80147C98: diff --git a/asm/MetroidPrime/Enemies/CPuffer.s b/asm/MetroidPrime/Enemies/CPuffer.s index 5e48a7c5..2f5bf6a5 100644 --- a/asm/MetroidPrime/Enemies/CPuffer.s +++ b/asm/MetroidPrime/Enemies/CPuffer.s @@ -623,7 +623,7 @@ Death__7CPufferFRC9CVector3fR13CStateManager: /* 8025C5C0 00259520 7C 64 1B 78 */ mr r4, r3 lbl_8025C5C4: /* 8025C5C4 00259524 7F E3 FB 78 */ mr r3, r31 -/* 8025C5C8 00259528 4B DF 07 2D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8025C5C8 00259528 4B DF 07 2D */ bl AddObject__13CStateManagerFP7CEntity /* 8025C5CC 0025952C BB 61 01 4C */ lmw r27, 0x14c(r1) /* 8025C5D0 00259530 80 01 01 64 */ lwz r0, 0x164(r1) /* 8025C5D4 00259534 7C 08 03 A6 */ mtlr r0 diff --git a/asm/MetroidPrime/Enemies/CRidley.s b/asm/MetroidPrime/Enemies/CRidley.s index 39115e8e..cb094b84 100644 --- a/asm/MetroidPrime/Enemies/CRidley.s +++ b/asm/MetroidPrime/Enemies/CRidley.s @@ -7443,7 +7443,7 @@ lbl_8025879C: /* 802587A0 00255700 41 82 00 24 */ beq lbl_802587C4 /* 802587A4 00255704 7F A3 EB 78 */ mr r3, r29 /* 802587A8 00255708 7F 64 DB 78 */ mr r4, r27 -/* 802587AC 0025570C 4B DF 45 49 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802587AC 0025570C 4B DF 45 49 */ bl AddObject__13CStateManagerFP7CEntity /* 802587B0 00255710 7F 63 DB 78 */ mr r3, r27 /* 802587B4 00255714 38 9C 06 34 */ addi r4, r28, 0x634 /* 802587B8 00255718 4B FB B3 15 */ bl SetCameraShake__17CEnergyProjectileFRC16CCameraShakeData @@ -7627,7 +7627,7 @@ lbl_80258A58: /* 80258A5C 002559BC 41 82 02 44 */ beq lbl_80258CA0 /* 80258A60 002559C0 7F A3 EB 78 */ mr r3, r29 /* 80258A64 002559C4 7F 64 DB 78 */ mr r4, r27 -/* 80258A68 002559C8 4B DF 42 8D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80258A68 002559C8 4B DF 42 8D */ bl AddObject__13CStateManagerFP7CEntity /* 80258A6C 002559CC 7F 63 DB 78 */ mr r3, r27 /* 80258A70 002559D0 38 9C 07 28 */ addi r4, r28, 0x728 /* 80258A74 002559D4 4B FB B0 59 */ bl SetCameraShake__17CEnergyProjectileFRC16CCameraShakeData diff --git a/asm/MetroidPrime/Enemies/CRipper.s b/asm/MetroidPrime/Enemies/CRipper.s index fbc7057f..2e6ebc09 100644 --- a/asm/MetroidPrime/Enemies/CRipper.s +++ b/asm/MetroidPrime/Enemies/CRipper.s @@ -369,7 +369,7 @@ lbl_8015BFFC: /* 8015C000 00158F60 41 82 00 20 */ beq lbl_8015C020 /* 8015C004 00158F64 7F C3 F3 78 */ mr r3, r30 /* 8015C008 00158F68 7F E4 FB 78 */ mr r4, r31 -/* 8015C00C 00158F6C 4B EF 0C E9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8015C00C 00158F6C 4B EF 0C E9 */ bl AddObject__13CStateManagerFP7CEntity /* 8015C010 00158F70 7F E3 FB 78 */ mr r3, r31 /* 8015C014 00158F74 7F C5 F3 78 */ mr r5, r30 /* 8015C018 00158F78 38 80 00 12 */ li r4, 0x12 @@ -510,7 +510,7 @@ AddGrapplePoint__7CRipperFR13CStateManager: lbl_8015C204: /* 8015C204 00159164 7F C3 F3 78 */ mr r3, r30 /* 8015C208 00159168 7F E4 FB 78 */ mr r4, r31 -/* 8015C20C 0015916C 4B EF 0A E9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8015C20C 0015916C 4B EF 0A E9 */ bl AddObject__13CStateManagerFP7CEntity /* 8015C210 00159170 7F 60 07 75 */ extsb. r0, r27 /* 8015C214 00159174 41 82 00 0C */ beq lbl_8015C220 /* 8015C218 00159178 38 61 00 2C */ addi r3, r1, 0x2c diff --git a/asm/MetroidPrime/Enemies/CThardus.s b/asm/MetroidPrime/Enemies/CThardus.s index fe3bb9a6..5c86bc4c 100644 --- a/asm/MetroidPrime/Enemies/CThardus.s +++ b/asm/MetroidPrime/Enemies/CThardus.s @@ -2505,7 +2505,7 @@ lbl_801DC200: /* 801DC268 001D91C8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 801DC26C 001D91CC 98 A1 00 18 */ stb r5, 0x18(r1) /* 801DC270 001D91D0 98 01 00 1A */ stb r0, 0x1a(r1) -/* 801DC274 001D91D4 4B E8 F9 F5 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 801DC274 001D91D4 4B E8 F9 F5 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 801DC278 001D91D8 38 61 00 1C */ addi r3, r1, 0x1c /* 801DC27C 001D91DC 48 16 0E B9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_801DC280: @@ -7171,7 +7171,7 @@ lbl_801E0468: /* 801E04C8 001DD428 D0 01 00 30 */ stfs f0, 0x30(r1) /* 801E04CC 001DD42C 98 A1 00 34 */ stb r5, 0x34(r1) /* 801E04D0 001DD430 98 01 00 36 */ stb r0, 0x36(r1) -/* 801E04D4 001DD434 4B E8 B7 95 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 801E04D4 001DD434 4B E8 B7 95 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 801E04D8 001DD438 38 61 00 40 */ addi r3, r1, 0x40 /* 801E04DC 001DD43C 48 15 CC 59 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 801E04E0 001DD440 88 7A 09 5D */ lbz r3, 0x95d(r26) @@ -7830,7 +7830,7 @@ lbl_801E0B30: lbl_801E0E8C: /* 801E0E8C 001DDDEC 7F E3 FB 78 */ mr r3, r31 /* 801E0E90 001DDDF0 7F A4 EB 78 */ mr r4, r29 -/* 801E0E94 001DDDF4 4B E6 BE 61 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801E0E94 001DDDF4 4B E6 BE 61 */ bl AddObject__13CStateManagerFP7CEntity /* 801E0E98 001DDDF8 7E E0 07 75 */ extsb. r0, r23 /* 801E0E9C 001DDDFC 41 82 00 10 */ beq lbl_801E0EAC /* 801E0EA0 001DDE00 38 61 00 8C */ addi r3, r1, 0x8c @@ -8242,7 +8242,7 @@ lbl_801E144C: lbl_801E1460: /* 801E1460 001DE3C0 7F C3 F3 78 */ mr r3, r30 /* 801E1464 001DE3C4 7E 64 9B 78 */ mr r4, r19 -/* 801E1468 001DE3C8 4B E6 B8 8D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801E1468 001DE3C8 4B E6 B8 8D */ bl AddObject__13CStateManagerFP7CEntity /* 801E146C 001DE3CC 80 1F 06 14 */ lwz r0, 0x614(r31) /* 801E1470 001DE3D0 80 BF 06 18 */ lwz r5, 0x618(r31) /* 801E1474 001DE3D4 7C 00 28 00 */ cmpw r0, r5 diff --git a/asm/MetroidPrime/Enemies/CThardusRockProjectile.s b/asm/MetroidPrime/Enemies/CThardusRockProjectile.s index 411d21e6..5a2453b2 100644 --- a/asm/MetroidPrime/Enemies/CThardusRockProjectile.s +++ b/asm/MetroidPrime/Enemies/CThardusRockProjectile.s @@ -2385,7 +2385,7 @@ lbl_802055B8: /* 802055C4 00202524 7E 24 8B 78 */ mr r4, r17 /* 802055C8 00202528 C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 802055CC 0020252C D0 11 03 2C */ stfs f0, 0x32c(r17) -/* 802055D0 00202530 4B E4 77 25 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802055D0 00202530 4B E4 77 25 */ bl AddObject__13CStateManagerFP7CEntity /* 802055D4 00202534 80 1F 05 90 */ lwz r0, 0x590(r31) /* 802055D8 00202538 80 BF 05 94 */ lwz r5, 0x594(r31) /* 802055DC 0020253C 7C 00 28 00 */ cmpw r0, r5 diff --git a/asm/MetroidPrime/HUD/CSamusHud.s b/asm/MetroidPrime/HUD/CSamusHud.s index 013a0108..9db24a1e 100644 --- a/asm/MetroidPrime/HUD/CSamusHud.s +++ b/asm/MetroidPrime/HUD/CSamusHud.s @@ -8757,8 +8757,8 @@ lbl_8006BC58: /* 8006BC60 00068BC0 38 21 00 10 */ addi r1, r1, 0x10 /* 8006BC64 00068BC4 4E 80 00 20 */ blr -.global DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo -DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo: +.global "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" +"DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms": /* 8006BC68 00068BC8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8006BC6C 00068BCC 7C 08 02 A6 */ mflr r0 /* 8006BC70 00068BD0 7C 66 1B 78 */ mr r6, r3 diff --git a/asm/MetroidPrime/Player/CGameState.s b/asm/MetroidPrime/Player/CGameState.s index 6011155c..abb7eeb7 100644 --- a/asm/MetroidPrime/Player/CGameState.s +++ b/asm/MetroidPrime/Player/CGameState.s @@ -1966,8 +1966,8 @@ sub_801d5210: /* 801D5218 001D2178 98 03 00 D0 */ stb r0, 0xd0(r3) /* 801D521C 001D217C 4E 80 00 20 */ blr -.global sub_801d5220 -sub_801d5220: +.global IncrementPowerBombAmmoCount__14CSystemOptionsFv +IncrementPowerBombAmmoCount__14CSystemOptionsFv: /* 801D5220 001D2180 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D5224 001D2184 80 A3 00 C8 */ lwz r5, 0xc8(r3) /* 801D5228 001D2188 38 81 00 08 */ addi r4, r1, 8 @@ -1983,8 +1983,8 @@ lbl_801D5244: /* 801D524C 001D21AC 38 21 00 10 */ addi r1, r1, 0x10 /* 801D5250 001D21B0 4E 80 00 20 */ blr -.global sub_801d5254 -sub_801d5254: +.global GetShowPowerBombAmmoMessage__14CSystemOptionsCFv +GetShowPowerBombAmmoMessage__14CSystemOptionsCFv: /* 801D5254 001D21B4 80 03 00 C8 */ lwz r0, 0xc8(r3) /* 801D5258 001D21B8 38 60 00 01 */ li r3, 1 /* 801D525C 001D21BC 7C 60 02 78 */ xor r0, r3, r0 diff --git a/asm/MetroidPrime/Player/CMorphBall.s b/asm/MetroidPrime/Player/CMorphBall.s index 4717e893..9e659d07 100644 --- a/asm/MetroidPrime/Player/CMorphBall.s +++ b/asm/MetroidPrime/Player/CMorphBall.s @@ -9812,7 +9812,7 @@ lbl_800F583C: lbl_800F5938: /* 800F5938 000F2898 7F E3 FB 78 */ mr r3, r31 /* 800F593C 000F289C 7F A4 EB 78 */ mr r4, r29 -/* 800F5940 000F28A0 4B F5 73 B5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 800F5940 000F28A0 4B F5 73 B5 */ bl AddObject__13CStateManagerFP7CEntity /* 800F5944 000F28A4 7F 80 07 75 */ extsb. r0, r28 /* 800F5948 000F28A8 41 82 00 18 */ beq lbl_800F5960 /* 800F594C 000F28AC 38 61 00 24 */ addi r3, r1, 0x24 diff --git a/asm/MetroidPrime/Player/CPlayer.s b/asm/MetroidPrime/Player/CPlayer.s index daddb5cf..a410a815 100644 --- a/asm/MetroidPrime/Player/CPlayer.s +++ b/asm/MetroidPrime/Player/CPlayer.s @@ -7218,7 +7218,7 @@ lbl_80015968: /* 800159B0 00012910 D0 01 00 18 */ stfs f0, 0x18(r1) /* 800159B4 00012914 98 01 00 1D */ stb r0, 0x1d(r1) /* 800159B8 00012918 98 01 00 1E */ stb r0, 0x1e(r1) -/* 800159BC 0001291C 48 05 62 AD */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 800159BC 0001291C 48 05 62 AD */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 800159C0 00012920 38 61 00 20 */ addi r3, r1, 0x20 /* 800159C4 00012924 48 32 77 71 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 800159C8 00012928 7F A3 EB 78 */ mr r3, r29 @@ -7372,7 +7372,7 @@ lbl_80015B30: lbl_80015BF0: /* 80015BF0 00012B50 7F C3 F3 78 */ mr r3, r30 /* 80015BF4 00012B54 7F E4 FB 78 */ mr r4, r31 -/* 80015BF8 00012B58 48 03 70 FD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80015BF8 00012B58 48 03 70 FD */ bl AddObject__13CStateManagerFP7CEntity /* 80015BFC 00012B5C 7E C0 07 75 */ extsb. r0, r22 /* 80015C00 00012B60 41 82 00 28 */ beq lbl_80015C28 /* 80015C04 00012B64 88 01 00 44 */ lbz r0, 0x44(r1) @@ -7507,7 +7507,7 @@ lbl_80015D78: /* 80015DC4 00012D24 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80015DC8 00012D28 98 A1 00 14 */ stb r5, 0x14(r1) /* 80015DCC 00012D2C 98 01 00 16 */ stb r0, 0x16(r1) -/* 80015DD0 00012D30 48 05 5E 99 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 80015DD0 00012D30 48 05 5E 99 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 80015DD4 00012D34 38 61 00 18 */ addi r3, r1, 0x18 /* 80015DD8 00012D38 48 32 73 5D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80015DDC: @@ -7789,7 +7789,7 @@ lbl_80016128: lbl_800161E8: /* 800161E8 00013148 7F C3 F3 78 */ mr r3, r30 /* 800161EC 0001314C 7F 04 C3 78 */ mr r4, r24 -/* 800161F0 00013150 48 03 6B 05 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 800161F0 00013150 48 03 6B 05 */ bl AddObject__13CStateManagerFP7CEntity /* 800161F4 00013154 7E E0 07 75 */ extsb. r0, r23 /* 800161F8 00013158 41 82 00 28 */ beq lbl_80016220 /* 800161FC 0001315C 88 01 00 68 */ lbz r0, 0x68(r1) @@ -9455,7 +9455,7 @@ lbl_800178D0: lbl_80017990: /* 80017990 000148F0 7F C3 F3 78 */ mr r3, r30 /* 80017994 000148F4 7F 04 C3 78 */ mr r4, r24 -/* 80017998 000148F8 48 03 53 5D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80017998 000148F8 48 03 53 5D */ bl AddObject__13CStateManagerFP7CEntity /* 8001799C 000148FC 7E E0 07 75 */ extsb. r0, r23 /* 800179A0 00014900 41 82 00 28 */ beq lbl_800179C8 /* 800179A4 00014904 88 01 00 2C */ lbz r0, 0x2c(r1) diff --git a/asm/MetroidPrime/Player/CPlayerGun.s b/asm/MetroidPrime/Player/CPlayerGun.s index 2bf1b82e..ebe013e9 100644 --- a/asm/MetroidPrime/Player/CPlayerGun.s +++ b/asm/MetroidPrime/Player/CPlayerGun.s @@ -536,7 +536,7 @@ SetPhazonBeamFeedback__10CPlayerGunFb: /* 8003A878 000377D8 38 81 00 14 */ addi r4, r1, 0x14 /* 8003A87C 000377DC 98 A1 00 19 */ stb r5, 0x19(r1) /* 8003A880 000377E0 98 01 00 1A */ stb r0, 0x1a(r1) -/* 8003A884 000377E4 48 03 13 E5 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 8003A884 000377E4 48 03 13 E5 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 8003A888 000377E8 38 61 00 1C */ addi r3, r1, 0x1c /* 8003A88C 000377EC 48 30 28 A9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8003A890 000377F0 80 1E 02 E8 */ lwz r0, 0x2e8(r30) @@ -1678,7 +1678,7 @@ CreateGunLight__10CPlayerGunFR13CStateManager: lbl_8003B8BC: /* 8003B8BC 0003881C 7F E3 FB 78 */ mr r3, r31 /* 8003B8C0 00038820 7F 84 E3 78 */ mr r4, r28 -/* 8003B8C4 00038824 48 01 14 31 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8003B8C4 00038824 48 01 14 31 */ bl AddObject__13CStateManagerFP7CEntity /* 8003B8C8 00038828 7F 60 07 75 */ extsb. r0, r27 /* 8003B8CC 0003882C 41 82 00 0C */ beq lbl_8003B8D8 /* 8003B8D0 00038830 38 61 00 20 */ addi r3, r1, 0x20 diff --git a/asm/MetroidPrime/ScriptObjects/CEnergyBall.s b/asm/MetroidPrime/ScriptObjects/CEnergyBall.s index 320fc458..b4ed20c6 100644 --- a/asm/MetroidPrime/ScriptObjects/CEnergyBall.s +++ b/asm/MetroidPrime/ScriptObjects/CEnergyBall.s @@ -307,7 +307,7 @@ sub_8029f318: lbl_8029F3F4: /* 8029F3F4 0029C354 7F 83 E3 78 */ mr r3, r28 /* 8029F3F8 0029C358 7F A4 EB 78 */ mr r4, r29 -/* 8029F3FC 0029C35C 4B DA D8 F9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8029F3FC 0029C35C 4B DA D8 F9 */ bl AddObject__13CStateManagerFP7CEntity /* 8029F400 0029C360 BB 21 00 44 */ lmw r25, 0x44(r1) /* 8029F404 0029C364 80 01 00 64 */ lwz r0, 0x64(r1) /* 8029F408 0029C368 7C 08 03 A6 */ mtlr r0 @@ -534,7 +534,7 @@ lbl_8029F694: lbl_8029F740: /* 8029F740 0029C6A0 7F C3 F3 78 */ mr r3, r30 /* 8029F744 0029C6A4 7F 84 E3 78 */ mr r4, r28 -/* 8029F748 0029C6A8 4B DA D5 AD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8029F748 0029C6A8 4B DA D5 AD */ bl AddObject__13CStateManagerFP7CEntity /* 8029F74C 0029C6AC 7F 40 07 75 */ extsb. r0, r26 /* 8029F750 0029C6B0 41 82 00 44 */ beq lbl_8029F794 /* 8029F754 0029C6B4 80 01 00 D0 */ lwz r0, 0xd0(r1) diff --git a/asm/MetroidPrime/ScriptObjects/CScriptBeam.s b/asm/MetroidPrime/ScriptObjects/CScriptBeam.s index 8d57dc3e..fca68449 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptBeam.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptBeam.s @@ -227,7 +227,7 @@ lbl_8027C764: lbl_8027C870: /* 8027C870 002797D0 7F C3 F3 78 */ mr r3, r30 /* 8027C874 002797D4 7F E4 FB 78 */ mr r4, r31 -/* 8027C878 002797D8 4B DD 04 7D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8027C878 002797D8 4B DD 04 7D */ bl AddObject__13CStateManagerFP7CEntity /* 8027C87C 002797DC 7F 20 07 75 */ extsb. r0, r25 /* 8027C880 002797E0 41 82 00 0C */ beq lbl_8027C88C /* 8027C884 002797E4 38 61 00 48 */ addi r3, r1, 0x48 diff --git a/asm/MetroidPrime/ScriptObjects/CScriptEffect.s b/asm/MetroidPrime/ScriptObjects/CScriptEffect.s index be88c16a..7bb30a0d 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptEffect.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptEffect.s @@ -993,7 +993,7 @@ lbl_8008E580: lbl_8008E688: /* 8008E688 0008B5E8 7F C3 F3 78 */ mr r3, r30 /* 8008E68C 0008B5EC 7F 24 CB 78 */ mr r4, r25 -/* 8008E690 0008B5F0 4B FB E6 65 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8008E690 0008B5F0 4B FB E6 65 */ bl AddObject__13CStateManagerFP7CEntity /* 8008E694 0008B5F4 7E E0 07 75 */ extsb. r0, r23 /* 8008E698 0008B5F8 41 82 00 0C */ beq lbl_8008E6A4 /* 8008E69C 0008B5FC 38 61 00 A4 */ addi r3, r1, 0xa4 diff --git a/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s b/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s index cb3bb116..d85e242a 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s @@ -2312,7 +2312,7 @@ lbl_80217790: /* 80217794 002146F4 41 82 01 84 */ beq lbl_80217918 /* 80217798 002146F8 7F E3 FB 78 */ mr r3, r31 /* 8021779C 002146FC 7F A4 EB 78 */ mr r4, r29 -/* 802177A0 00214700 4B E3 55 55 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802177A0 00214700 4B E3 55 55 */ bl AddObject__13CStateManagerFP7CEntity /* 802177A4 00214704 38 61 00 60 */ addi r3, r1, 0x60 /* 802177A8 00214708 48 0C B8 D5 */ bl NoParameter__12CPASAnimParmFv /* 802177AC 0021470C 38 61 00 68 */ addi r3, r1, 0x68 @@ -5387,7 +5387,7 @@ lbl_8021A2B0: lbl_8021A3C0: /* 8021A3C0 00217320 7F E3 FB 78 */ mr r3, r31 /* 8021A3C4 00217324 7F A4 EB 78 */ mr r4, r29 -/* 8021A3C8 00217328 4B E3 29 2D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8021A3C8 00217328 4B E3 29 2D */ bl AddObject__13CStateManagerFP7CEntity /* 8021A3CC 0021732C 7F 40 07 75 */ extsb. r0, r26 /* 8021A3D0 00217330 41 82 00 0C */ beq lbl_8021A3DC /* 8021A3D4 00217334 38 61 00 7C */ addi r3, r1, 0x7c diff --git a/asm/MetroidPrime/ScriptObjects/CScriptHUDMemo.s b/asm/MetroidPrime/ScriptObjects/CScriptHUDMemo.s index 99633c6d..658bcbac 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptHUDMemo.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptHUDMemo.s @@ -97,7 +97,7 @@ lbl_800E83D4: /* 800E83FC 000E535C 48 25 53 C1 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FPCwiRCQ24rstl17rmemory_allocator" /* 800E8400 000E5360 38 61 00 38 */ addi r3, r1, 0x38 /* 800E8404 000E5364 38 9C 00 34 */ addi r4, r28, 0x34 -/* 800E8408 000E5368 4B F8 38 61 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 800E8408 000E5368 4B F8 38 61 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 800E840C 000E536C 38 61 00 38 */ addi r3, r1, 0x38 /* 800E8410 000E5370 48 25 4D 25 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 800E8414 000E5374 48 00 00 7C */ b lbl_800E8490 @@ -107,7 +107,7 @@ lbl_800E8418: /* 800E8420 000E5380 4B F2 D5 D1 */ bl wstring_l__4rstlFPCw /* 800E8424 000E5384 38 61 00 28 */ addi r3, r1, 0x28 /* 800E8428 000E5388 38 9C 00 34 */ addi r4, r28, 0x34 -/* 800E842C 000E538C 4B F8 38 3D */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 800E842C 000E538C 4B F8 38 3D */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 800E8430 000E5390 38 61 00 28 */ addi r3, r1, 0x28 /* 800E8434 000E5394 48 25 4D 01 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 800E8438 000E5398 48 00 00 58 */ b lbl_800E8490 @@ -130,7 +130,7 @@ lbl_800E843C: /* 800E8478 000E53D8 D0 01 00 10 */ stfs f0, 0x10(r1) /* 800E847C 000E53DC 98 01 00 15 */ stb r0, 0x15(r1) /* 800E8480 000E53E0 98 A1 00 16 */ stb r5, 0x16(r1) -/* 800E8484 000E53E4 4B F8 37 E5 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 800E8484 000E53E4 4B F8 37 E5 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 800E8488 000E53E8 38 61 00 18 */ addi r3, r1, 0x18 /* 800E848C 000E53EC 48 25 4C A9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_800E8490: diff --git a/asm/MetroidPrime/ScriptObjects/CScriptPickup.s b/asm/MetroidPrime/ScriptObjects/CScriptPickup.s index 7fb916cb..1789b3da 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptPickup.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptPickup.s @@ -243,7 +243,7 @@ Touch__13CScriptPickupFR6CActorR13CStateManager: /* 800C2760 000BF6C0 2C 1F 00 28 */ cmpwi r31, 0x28 /* 800C2764 000BF6C4 41 81 00 2C */ bgt lbl_800C2790 /* 800C2768 000BF6C8 7F E3 FB 78 */ mr r3, r31 -/* 800C276C 000BF6CC 48 1D A1 CD */ bl GetArtifactHeadScanFromItemType__13CArtifactDollF9EItemType +/* 800C276C 000BF6CC 48 1D A1 CD */ bl GetArtifactHeadScanFromItemType__13CArtifactDollFQ212CPlayerState9EItemType /* 800C2770 000BF6D0 3C 03 00 01 */ addis r0, r3, 1 /* 800C2774 000BF6D4 28 00 FF FF */ cmplwi r0, 0xffff /* 800C2778 000BF6D8 41 82 00 18 */ beq lbl_800C2790 @@ -325,7 +325,7 @@ lbl_800C2790: lbl_800C28A4: /* 800C28A4 000BF804 7F C3 F3 78 */ mr r3, r30 /* 800C28A8 000BF808 7F 44 D3 78 */ mr r4, r26 -/* 800C28AC 000BF80C 4B F8 A4 49 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 800C28AC 000BF80C 4B F8 A4 49 */ bl AddObject__13CStateManagerFP7CEntity /* 800C28B0 000BF810 7F 60 07 75 */ extsb. r0, r27 /* 800C28B4 000BF814 41 82 00 10 */ beq lbl_800C28C4 /* 800C28B8 000BF818 38 61 00 5C */ addi r3, r1, 0x5c @@ -411,7 +411,7 @@ lbl_800C29C8: /* 800C29E0 000BF940 7F C3 F3 78 */ mr r3, r30 /* 800C29E4 000BF944 C0 22 8D C8 */ lfs f1, lbl_805AAAE8@sda21(r2) /* 800C29E8 000BF948 38 84 00 01 */ addi r4, r4, 1 -/* 800C29EC 000BF94C 4B F8 15 41 */ bl sub_80043f2c +/* 800C29EC 000BF94C 4B F8 15 41 */ bl QueueMessage__13CStateManagerFiUif /* 800C29F0 000BF950 7F 43 D3 78 */ mr r3, r26 /* 800C29F4 000BF954 38 80 00 01 */ li r4, 1 /* 800C29F8 000BF958 48 11 27 B9 */ bl SetAllItemsCollected__14CSystemOptionsFb @@ -421,11 +421,11 @@ lbl_800C29FC: /* 800C2A04 000BF964 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) /* 800C2A08 000BF968 3B 43 00 A8 */ addi r26, r3, 0xa8 /* 800C2A0C 000BF96C 7F 43 D3 78 */ mr r3, r26 -/* 800C2A10 000BF970 48 11 28 45 */ bl sub_801d5254 +/* 800C2A10 000BF970 48 11 28 45 */ bl GetShowPowerBombAmmoMessage__14CSystemOptionsCFv /* 800C2A14 000BF974 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C2A18 000BF978 41 82 00 54 */ beq lbl_800C2A6C /* 800C2A1C 000BF97C 7F 43 D3 78 */ mr r3, r26 -/* 800C2A20 000BF980 48 11 28 01 */ bl sub_801d5220 +/* 800C2A20 000BF980 48 11 28 01 */ bl IncrementPowerBombAmmoCount__14CSystemOptionsFv /* 800C2A24 000BF984 80 6D A0 74 */ lwz r3, gpStringTable@sda21(r13) /* 800C2A28 000BF988 38 80 00 6D */ li r4, 0x6d /* 800C2A2C 000BF98C 48 29 3C D1 */ bl GetString__12CStringTableCFi @@ -441,7 +441,7 @@ lbl_800C29FC: /* 800C2A54 000BF9B4 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 800C2A58 000BF9B8 98 A1 00 40 */ stb r5, 0x40(r1) /* 800C2A5C 000BF9BC 98 01 00 42 */ stb r0, 0x42(r1) -/* 800C2A60 000BF9C0 4B FA 92 09 */ bl DisplayHudMemo__9CSamusHudFRC7wstringRC12SHudMemoInfo +/* 800C2A60 000BF9C0 4B FA 92 09 */ bl "DisplayHudMemo__9CSamusHudFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC13CHUDMemoParms" /* 800C2A64 000BF9C4 38 61 00 4C */ addi r3, r1, 0x4c /* 800C2A68 000BF9C8 48 27 A6 CD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_800C2A6C: diff --git a/asm/MetroidPrime/ScriptObjects/CScriptVisorGoo.s b/asm/MetroidPrime/ScriptObjects/CScriptVisorGoo.s index 293f971d..9f65c414 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptVisorGoo.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptVisorGoo.s @@ -383,7 +383,7 @@ lbl_801D73D0: lbl_801D7468: /* 801D7468 001D43C8 7F A3 EB 78 */ mr r3, r29 /* 801D746C 001D43CC 7F E4 FB 78 */ mr r4, r31 -/* 801D7470 001D43D0 4B E7 58 85 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801D7470 001D43D0 4B E7 58 85 */ bl AddObject__13CStateManagerFP7CEntity /* 801D7474 001D43D4 7E E0 07 75 */ extsb. r0, r23 /* 801D7478 001D43D8 41 82 00 28 */ beq lbl_801D74A0 /* 801D747C 001D43DC 88 01 00 30 */ lbz r0, 0x30(r1) diff --git a/asm/MetroidPrime/Weapons/CAuxWeapon.s b/asm/MetroidPrime/Weapons/CAuxWeapon.s index a41ba2a2..61bcac2e 100644 --- a/asm/MetroidPrime/Weapons/CAuxWeapon.s +++ b/asm/MetroidPrime/Weapons/CAuxWeapon.s @@ -677,7 +677,7 @@ lbl_801B923C: /* 801B9240 001B61A0 41 82 00 2C */ beq lbl_801B926C /* 801B9244 001B61A4 7F C3 F3 78 */ mr r3, r30 /* 801B9248 001B61A8 7D C4 73 78 */ mr r4, r14 -/* 801B924C 001B61AC 4B E9 3A A9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801B924C 001B61AC 4B E9 3A A9 */ bl AddObject__13CStateManagerFP7CEntity /* 801B9250 001B61B0 7D C3 73 78 */ mr r3, r14 /* 801B9254 001B61B4 FC 20 F8 90 */ fmr f1, f31 /* 801B9258 001B61B8 81 8E 00 00 */ lwz r12, 0(r14) diff --git a/asm/MetroidPrime/Weapons/CBomb.s b/asm/MetroidPrime/Weapons/CBomb.s index 9496610e..d3a8494e 100644 --- a/asm/MetroidPrime/Weapons/CBomb.s +++ b/asm/MetroidPrime/Weapons/CBomb.s @@ -396,7 +396,7 @@ lbl_8008FD98: lbl_8008FE90: /* 8008FE90 0008CDF0 7F E3 FB 78 */ mr r3, r31 /* 8008FE94 0008CDF4 7F 64 DB 78 */ mr r4, r27 -/* 8008FE98 0008CDF8 4B FB CE 5D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 8008FE98 0008CDF8 4B FB CE 5D */ bl AddObject__13CStateManagerFP7CEntity /* 8008FE9C 0008CDFC 7F 40 07 75 */ extsb. r0, r26 /* 8008FEA0 0008CE00 41 82 00 0C */ beq lbl_8008FEAC /* 8008FEA4 0008CE04 38 61 00 5C */ addi r3, r1, 0x5c diff --git a/asm/MetroidPrime/Weapons/CEnergyProjectile.s b/asm/MetroidPrime/Weapons/CEnergyProjectile.s index 37a5ce53..dbed9382 100644 --- a/asm/MetroidPrime/Weapons/CEnergyProjectile.s +++ b/asm/MetroidPrime/Weapons/CEnergyProjectile.s @@ -1698,7 +1698,7 @@ lbl_802152E0: lbl_802152F0: /* 802152F0 00212250 7F C3 F3 78 */ mr r3, r30 /* 802152F4 00212254 7F 24 CB 78 */ mr r4, r25 -/* 802152F8 00212258 4B E3 79 FD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802152F8 00212258 4B E3 79 FD */ bl AddObject__13CStateManagerFP7CEntity /* 802152FC 0021225C A0 1D 00 00 */ lhz r0, 0(r29) /* 80215300 00212260 7F C3 F3 78 */ mr r3, r30 /* 80215304 00212264 38 81 00 24 */ addi r4, r1, 0x24 @@ -1872,7 +1872,7 @@ lbl_80215458: lbl_8021557C: /* 8021557C 002124DC 7F C3 F3 78 */ mr r3, r30 /* 80215580 002124E0 7E C4 B3 78 */ mr r4, r22 -/* 80215584 002124E4 4B E3 77 71 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80215584 002124E4 4B E3 77 71 */ bl AddObject__13CStateManagerFP7CEntity /* 80215588 002124E8 7E A0 07 75 */ extsb. r0, r21 /* 8021558C 002124EC 41 82 00 0C */ beq lbl_80215598 /* 80215590 002124F0 38 61 00 80 */ addi r3, r1, 0x80 diff --git a/asm/MetroidPrime/Weapons/CGunWeapon.s b/asm/MetroidPrime/Weapons/CGunWeapon.s index 9e3a288c..b71a1c0e 100644 --- a/asm/MetroidPrime/Weapons/CGunWeapon.s +++ b/asm/MetroidPrime/Weapons/CGunWeapon.s @@ -2203,7 +2203,7 @@ lbl_801BBAD8: /* 801BBADC 001B8A3C 41 82 00 2C */ beq lbl_801BBB08 /* 801BBAE0 001B8A40 7F 63 DB 78 */ mr r3, r27 /* 801BBAE4 001B8A44 7F C4 F3 78 */ mr r4, r30 -/* 801BBAE8 001B8A48 4B E9 12 0D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801BBAE8 001B8A48 4B E9 12 0D */ bl AddObject__13CStateManagerFP7CEntity /* 801BBAEC 001B8A4C 7F C3 F3 78 */ mr r3, r30 /* 801BBAF0 001B8A50 FC 20 F8 90 */ fmr f1, f31 /* 801BBAF4 001B8A54 81 9E 00 00 */ lwz r12, 0(r30) diff --git a/asm/MetroidPrime/Weapons/CIceImpact.s b/asm/MetroidPrime/Weapons/CIceImpact.s index d1d52df2..3a6f1563 100644 --- a/asm/MetroidPrime/Weapons/CIceImpact.s +++ b/asm/MetroidPrime/Weapons/CIceImpact.s @@ -1568,7 +1568,7 @@ lbl_801B7058: lbl_801B7158: /* 801B7158 001B40B8 7F E3 FB 78 */ mr r3, r31 /* 801B715C 001B40BC 7F 44 D3 78 */ mr r4, r26 -/* 801B7160 001B40C0 4B E9 5B 95 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801B7160 001B40C0 4B E9 5B 95 */ bl AddObject__13CStateManagerFP7CEntity /* 801B7164 001B40C4 7E E0 07 75 */ extsb. r0, r23 /* 801B7168 001B40C8 41 82 00 0C */ beq lbl_801B7174 /* 801B716C 001B40CC 38 61 00 38 */ addi r3, r1, 0x38 diff --git a/asm/MetroidPrime/Weapons/CIceProjectile.s b/asm/MetroidPrime/Weapons/CIceProjectile.s index c16ef654..e477e935 100644 --- a/asm/MetroidPrime/Weapons/CIceProjectile.s +++ b/asm/MetroidPrime/Weapons/CIceProjectile.s @@ -1523,7 +1523,7 @@ lbl_801F2E5C: /* 801F2F70 001EFED0 4B E6 09 31 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 801F2F74 001EFED4 7F A3 EB 78 */ mr r3, r29 /* 801F2F78 001EFED8 7F E4 FB 78 */ mr r4, r31 -/* 801F2F7C 001EFEDC 4B E5 9D 79 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 801F2F7C 001EFEDC 4B E5 9D 79 */ bl AddObject__13CStateManagerFP7CEntity /* 801F2F80 001EFEE0 3C 60 80 3D */ lis r3, lbl_803D2050@ha /* 801F2F84 001EFEE4 3B 40 00 00 */ li r26, 0 /* 801F2F88 001EFEE8 38 83 20 50 */ addi r4, r3, lbl_803D2050@l diff --git a/asm/MetroidPrime/Weapons/CNewFlameThrower.s b/asm/MetroidPrime/Weapons/CNewFlameThrower.s index 34e427e7..b217b700 100644 --- a/asm/MetroidPrime/Weapons/CNewFlameThrower.s +++ b/asm/MetroidPrime/Weapons/CNewFlameThrower.s @@ -1104,7 +1104,7 @@ lbl_80261E50: lbl_80261E64: /* 80261E64 0025EDC4 7F A3 EB 78 */ mr r3, r29 /* 80261E68 0025EDC8 7F 24 CB 78 */ mr r4, r25 -/* 80261E6C 0025EDCC 4B DE AE 89 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80261E6C 0025EDCC 4B DE AE 89 */ bl AddObject__13CStateManagerFP7CEntity /* 80261E70 0025EDD0 80 1C 03 B8 */ lwz r0, 0x3b8(r28) /* 80261E74 0025EDD4 54 00 08 3C */ slwi r0, r0, 1 /* 80261E78 0025EDD8 7C 7F 02 15 */ add. r3, r31, r0 diff --git a/asm/MetroidPrime/Weapons/CPlasmaProjectile.s b/asm/MetroidPrime/Weapons/CPlasmaProjectile.s index 3031172f..2c8cfe5a 100644 --- a/asm/MetroidPrime/Weapons/CPlasmaProjectile.s +++ b/asm/MetroidPrime/Weapons/CPlasmaProjectile.s @@ -555,7 +555,7 @@ lbl_80177178: lbl_80177220: /* 80177220 00174180 7F A3 EB 78 */ mr r3, r29 /* 80177224 00174184 7F 24 CB 78 */ mr r4, r25 -/* 80177228 00174188 4B ED 5A CD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80177228 00174188 4B ED 5A CD */ bl AddObject__13CStateManagerFP7CEntity /* 8017722C 0017418C 80 1A 04 6C */ lwz r0, 0x46c(r26) /* 80177230 00174190 80 BA 04 70 */ lwz r5, 0x470(r26) /* 80177234 00174194 7C 00 28 00 */ cmpw r0, r5 @@ -2217,7 +2217,7 @@ lbl_80178948: lbl_80178A48: /* 80178A48 001759A8 7F 83 E3 78 */ mr r3, r28 /* 80178A4C 001759AC 7F A4 EB 78 */ mr r4, r29 -/* 80178A50 001759B0 4B ED 42 A5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80178A50 001759B0 4B ED 42 A5 */ bl AddObject__13CStateManagerFP7CEntity /* 80178A54 001759B4 BB 21 00 44 */ lmw r25, 0x44(r1) /* 80178A58 001759B8 80 01 00 64 */ lwz r0, 0x64(r1) /* 80178A5C 001759BC 7C 08 03 A6 */ mtlr r0 diff --git a/asm/MetroidPrime/Weapons/CShockWave.s b/asm/MetroidPrime/Weapons/CShockWave.s index 85f97553..73a44153 100644 --- a/asm/MetroidPrime/Weapons/CShockWave.s +++ b/asm/MetroidPrime/Weapons/CShockWave.s @@ -228,7 +228,7 @@ lbl_802317D4: lbl_802318D4: /* 802318D4 0022E834 7F E3 FB 78 */ mr r3, r31 /* 802318D8 0022E838 7F 44 D3 78 */ mr r4, r26 -/* 802318DC 0022E83C 4B E1 B4 19 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 802318DC 0022E83C 4B E1 B4 19 */ bl AddObject__13CStateManagerFP7CEntity /* 802318E0 0022E840 7E E0 07 75 */ extsb. r0, r23 /* 802318E4 0022E844 41 82 00 0C */ beq lbl_802318F0 /* 802318E8 0022E848 38 61 00 38 */ addi r3, r1, 0x38 @@ -658,7 +658,7 @@ lbl_80231D88: lbl_80231F1C: /* 80231F1C 0022EE7C 7F A3 EB 78 */ mr r3, r29 /* 80231F20 0022EE80 7E E4 BB 78 */ mr r4, r23 -/* 80231F24 0022EE84 4B E1 AD D1 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 80231F24 0022EE84 4B E1 AD D1 */ bl AddObject__13CStateManagerFP7CEntity /* 80231F28 0022EE88 7E C0 07 75 */ extsb. r0, r22 /* 80231F2C 0022EE8C 41 82 00 28 */ beq lbl_80231F54 /* 80231F30 0022EE90 88 01 00 78 */ lbz r0, 0x78(r1) diff --git a/asm/MetroidPrime/Weapons/CWaveBeam.s b/asm/MetroidPrime/Weapons/CWaveBeam.s index 80fe07a4..1837d755 100644 --- a/asm/MetroidPrime/Weapons/CWaveBeam.s +++ b/asm/MetroidPrime/Weapons/CWaveBeam.s @@ -486,7 +486,7 @@ lbl_800E0650: lbl_800E0658: /* 800E0658 000DD5B8 7E E3 BB 78 */ mr r3, r23 /* 800E065C 000DD5BC 7F A4 EB 78 */ mr r4, r29 -/* 800E0660 000DD5C0 4B F6 C6 95 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence +/* 800E0660 000DD5C0 4B F6 C6 95 */ bl AddObject__13CStateManagerFP7CEntity /* 800E0664 000DD5C4 7F A3 EB 78 */ mr r3, r29 /* 800E0668 000DD5C8 FC 20 D0 90 */ fmr f1, f26 /* 800E066C 000DD5CC 81 9D 00 00 */ lwz r12, 0(r29) diff --git a/include/Kyoto/Math/CMath.hpp b/include/Kyoto/Math/CMath.hpp index 8280f1d8..25aebcc9 100644 --- a/include/Kyoto/Math/CMath.hpp +++ b/include/Kyoto/Math/CMath.hpp @@ -6,6 +6,7 @@ #include "math.h" #define M_PIF 3.14159265358979323846f +#define M_2PIF 6.28318530718f class CMath { public: @@ -32,7 +33,6 @@ public: static inline int AbsI(int v) { return abs(v); } // WrapPi__5CMathFf weak // WrapTwoPi__5CMathFf weak - // FastFmod__5CMathFfff weak template < typename T > static const T& Min(const T& a, const T& b); template < typename T > @@ -44,14 +44,14 @@ public: // FastCosR__5CMathFf global // GetBezierPoint__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ff global static f32 ClampRadians(f32 rad) { - f32 value = rad - static_cast(rad * (M_PIF * 2.f)) * (M_PIF * 2.f); + f32 value = FastFmod(rad, M_2PIF); if (value < 0.f) { - value += (M_PIF * 2.f); + value += M_2PIF; } return value; } // ModF__5CMathFff weak - static f32 Deg2Rad(f32 deg) { return Deg2Rev(deg) * (M_PIF * 2.f); } + static f32 Deg2Rad(f32 deg) { return Deg2Rev(deg) * M_2PIF; } static f32 Deg2Rev(f32 deg) { return deg * (1.f / 360.f); } static f32 ArcCosineR(f32 v); // FloorF__5CMathFf global @@ -66,8 +66,8 @@ public: // Rev2Deg__5CMathFf weak // GetCatmullRomSplinePoint__5CMathFfffff global // SlowTangentR__5CMathFf global - // Rad2Deg__5CMathFf weak - // Rad2Rev__5CMathFf weak + static f32 Rad2Deg(f32 rad) { return rad * (180.f / M_PIF); } + static f32 Rad2Rev(f32 rad) { return rad * (1.f / M_2PIF); } // CeilingF__5CMathFf global // ArcTangentR__5CMathFf global // Swap__5CMathFRfRf weak diff --git a/include/Kyoto/Math/CTransform4f.hpp b/include/Kyoto/Math/CTransform4f.hpp index 05329cde..ddaa270d 100644 --- a/include/Kyoto/Math/CTransform4f.hpp +++ b/include/Kyoto/Math/CTransform4f.hpp @@ -43,9 +43,9 @@ public: f32 Get21() const { return m2.GetY(); } f32 Get22() const { return m2.GetZ(); } f32 Get23() const { return posZ; } - CVector3f GetColumn(EDimX) const { return CVector3f(m0.GetX(), m1.GetX(), m2.GetX()); } - CVector3f GetColumn(EDimY) const { return CVector3f(m0.GetY(), m1.GetY(), m2.GetY()); } - CVector3f GetColumn(EDimZ) const { return CVector3f(m0.GetZ(), m1.GetZ(), m2.GetZ()); } + CVector3f GetColumn(EDimX dim) const { return CVector3f(m0.GetX(), m1.GetX(), m2.GetX()); } + CVector3f GetColumn(EDimY dim) const { return CVector3f(m0.GetY(), m1.GetY(), m2.GetY()); } + CVector3f GetColumn(EDimZ dim) const { return CVector3f(m0.GetZ(), m1.GetZ(), m2.GetZ()); } // GetColumn__12CTransform4fCFi // GetCStyleMatrix__12CTransform4fCFv CTransform4f GetInverse() const; diff --git a/include/Kyoto/Math/CVector3f.hpp b/include/Kyoto/Math/CVector3f.hpp index d0da7c24..9d5c74e9 100644 --- a/include/Kyoto/Math/CVector3f.hpp +++ b/include/Kyoto/Math/CVector3f.hpp @@ -42,12 +42,7 @@ public: static float GetAngleDiff(const CVector3f& a, const CVector3f& b); bool IsEqu(const CVector3f& other, f32 epsilon = FLT_EPSILON) const; // Lerp__9CVector3fFRC9CVector3fRC9CVector3ff - inline float MagSquared() const { - float mag = mX * mX; - mag += mY * mY; - mag += mZ * mZ; - return mag; - } + inline float MagSquared() const { return GetX() * GetX() + GetY() * GetY() + GetZ() * GetZ(); } static CVector3f Cross(const CVector3f& lhs, const CVector3f& rhs) { const float x = (lhs.GetY() * rhs.GetZ()) - (rhs.GetY() * lhs.GetZ()); const float y = (lhs.GetZ() * rhs.GetX()) - (rhs.GetZ() * lhs.GetX()); diff --git a/include/MetroidPrime/CActor.hpp b/include/MetroidPrime/CActor.hpp index 00454e72..a3b0913c 100644 --- a/include/MetroidPrime/CActor.hpp +++ b/include/MetroidPrime/CActor.hpp @@ -239,7 +239,7 @@ public: virtual void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt); - SAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree); + CAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree); void ProcessSoundEvent(int sfxId, f32 weight, int flags, f32 fallOff, f32 maxDist, u8 minVol, u8 maxVol, const CVector3f& toListener, const CVector3f& position, int aid, diff --git a/include/MetroidPrime/CEffect.hpp b/include/MetroidPrime/CEffect.hpp new file mode 100644 index 00000000..6d9fd606 --- /dev/null +++ b/include/MetroidPrime/CEffect.hpp @@ -0,0 +1,18 @@ +#ifndef _CEFFECT_HPP +#define _CEFFECT_HPP + +#include "types.h" + +#include "MetroidPrime/CActor.hpp" + +class CEffect : public CActor { +public: + CEffect(TUniqueId uid, const CEntityInfo& info, bool, const rstl::string& name, + const CTransform4f& xf); + + // CEntity + ~CEffect(); +}; +CHECK_SIZEOF(CEffect, 0xe8) + +#endif diff --git a/include/MetroidPrime/CExplosion.hpp b/include/MetroidPrime/CExplosion.hpp new file mode 100644 index 00000000..d0b2fad6 --- /dev/null +++ b/include/MetroidPrime/CExplosion.hpp @@ -0,0 +1,46 @@ +#ifndef _CEXPLOSION_HPP +#define _CEXPLOSION_HPP + +#include "types.h" + +#include "MetroidPrime/CEffect.hpp" + +#include "rstl/single_ptr.hpp" + +class CParticleGen; +class CGenDescription; +class CElectricDescription; + +class CExplosion : public CEffect { +public: + CExplosion(const TLockedToken< CGenDescription >& particle, TUniqueId uid, bool active, + const CEntityInfo& info, const rstl::string& name, const CTransform4f& xf, uint flags, + const CVector3f& scale, const CColor& color); + + // CEntity + ~CExplosion(); + void Accept(IVisitor& visitor) override; + void Think(f32 dt, CStateManager& mgr) override; + void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override; + + // CActor + void PreRender(CStateManager&, const CFrustumPlanes&) override; + void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override; + void Render(const CStateManager&) const override; + void CalculateRenderBounds() override; + +public: + rstl::single_ptr< CParticleGen > xe8_particleGen; + TUniqueId xec_explosionLight; + union { + const CGenDescription* xf0_particleDesc; + const CElectricDescription* xf0_electricDesc; + }; + bool xf4_24_renderThermalHot : 1; + bool xf4_25_ : 1; + bool xf4_26_renderXray : 1; + float xf8_time; +}; +CHECK_SIZEOF(CExplosion, 0x100) + +#endif diff --git a/include/MetroidPrime/CModelData.hpp b/include/MetroidPrime/CModelData.hpp index 7a07557b..d0d9553f 100644 --- a/include/MetroidPrime/CModelData.hpp +++ b/include/MetroidPrime/CModelData.hpp @@ -25,8 +25,11 @@ class CStateManager; // TODO move #include "Kyoto/Math/CQuaternion.hpp" -struct SAdvancementDeltas { +struct CAdvancementDeltas { public: + CAdvancementDeltas(const CVector3f& posDelta, const CQuaternion& rotDelta) + : x0_posDelta(posDelta), xc_rotDelta(rotDelta) {} + const CVector3f& GetOffsetDelta() const { return x0_posDelta; } const CQuaternion& GetOrientationDelta() const { return xc_rotDelta; } @@ -34,7 +37,7 @@ private: CVector3f x0_posDelta; CQuaternion xc_rotDelta; }; -CHECK_SIZEOF(SAdvancementDeltas, 0x1c) +CHECK_SIZEOF(CAdvancementDeltas, 0x1c) class CModelData { public: @@ -54,7 +57,7 @@ public: CModelData(const CModelData& other); ~CModelData(); - SAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree); + CAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree); void AdvanceParticles(const CTransform4f& xf, float dt, CStateManager& mgr); void RenderParticles(const CFrustumPlanes& planes) const; void RenderUnsortedParts(EWhichModel which, const CTransform4f& xf, const CActorLights* lights, diff --git a/include/MetroidPrime/CStateManager.hpp b/include/MetroidPrime/CStateManager.hpp index 64007186..58e9943e 100644 --- a/include/MetroidPrime/CStateManager.hpp +++ b/include/MetroidPrime/CStateManager.hpp @@ -106,6 +106,8 @@ public: void SetupParticleHook(const CActor& actor) const; void FreeScriptObject(TUniqueId uid); rstl::pair< TEditorId, TUniqueId > GenerateObject(const TEditorId& eid); + void AddObject(CEntity*); + TUniqueId AllocateUniqueId(); void BuildNearList(TEntityList& nearList, const CAABox&, const CMaterialFilter&, const CActor*) const; diff --git a/include/MetroidPrime/Cameras/CCameraManager.hpp b/include/MetroidPrime/Cameras/CCameraManager.hpp index f5ac8876..dee9be0c 100644 --- a/include/MetroidPrime/Cameras/CCameraManager.hpp +++ b/include/MetroidPrime/Cameras/CCameraManager.hpp @@ -22,8 +22,9 @@ class CStateManager; class CCameraManager { public: - CGameCamera* CurrentCamera(CStateManager& mgr); + CGameCamera* GetCurrentCamera(CStateManager& mgr) const /* map */; const CGameCamera* GetCurrentCamera(const CStateManager& mgr) const; + CFirstPersonCamera* FirstPersonCamera() const /* map */ { return x7c_fpCamera; } const CFirstPersonCamera* GetFirstPersonCamera() const { return x7c_fpCamera; } void SetPlayerCamera(CStateManager& mgr, TUniqueId newCamId); void SetFogDensity(float fogDensityTarget, float fogDensitySpeed); diff --git a/src/MetroidPrime/CActor.cpp b/src/MetroidPrime/CActor.cpp index 43f983e3..b700c8c6 100644 --- a/src/MetroidPrime/CActor.cpp +++ b/src/MetroidPrime/CActor.cpp @@ -104,8 +104,8 @@ CActor::CActor(TUniqueId uid, bool active, const rstl::string& name, const CEnti CActor::~CActor() { RemoveEmitter(); } -SAdvancementDeltas CActor::UpdateAnimation(float dt, CStateManager& mgr, bool advTree) { - SAdvancementDeltas result = ModelData()->AdvanceAnimation(dt, mgr, GetAreaId(), advTree); +CAdvancementDeltas CActor::UpdateAnimation(float dt, CStateManager& mgr, bool advTree) { + CAdvancementDeltas result = ModelData()->AdvanceAnimation(dt, mgr, GetAreaId(), advTree); ModelData()->AdvanceParticles(GetTransform(), dt, mgr); UpdateSfxEmitters(); if (HasAnimation()) { diff --git a/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp b/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp index d395757b..0fcceed3 100644 --- a/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp +++ b/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp @@ -3,6 +3,7 @@ #include "MetroidPrime/CAnimData.hpp" #include "MetroidPrime/CAnimPlaybackParms.hpp" #include "MetroidPrime/CArtifactDoll.hpp" +#include "MetroidPrime/CExplosion.hpp" #include "MetroidPrime/CModelData.hpp" #include "MetroidPrime/CStateManager.hpp" #include "MetroidPrime/Cameras/CCameraManager.hpp" @@ -23,6 +24,8 @@ #include "rstl/math.hpp" +static float skDrawInDistance = 30.f; + CScriptPickup::CScriptPickup(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, const CModelData& mData, const CActorParameters& aParams, const CAABox& aabb, @@ -90,7 +93,7 @@ void CScriptPickup::Think(float dt, CStateManager& mgr) { if (x26c_lifeTime < 2.f) { alpha = 1.f - (x26c_lifeTime / x270_curTime); } else if ((x26c_lifeTime - x270_curTime) < 2.f) { - alpha = (x26c_lifeTime - x270_curTime) * 0.5f; + alpha = (x26c_lifeTime - x270_curTime) / 2.f; } drawFlags = CModelFlags::AlphaBlended(alpha).DepthCompareUpdate(true, false); @@ -99,32 +102,33 @@ void CScriptPickup::Think(float dt, CStateManager& mgr) { SetModelFlags(drawFlags); if (HasAnimation()) { - SAdvancementDeltas deltas = UpdateAnimation(dt, mgr, true); + CAdvancementDeltas deltas = UpdateAnimation(dt, mgr, true); MoveToOR(deltas.GetOffsetDelta(), dt); RotateToOR(deltas.GetOrientationDelta(), dt); } if (x28c_25_inTractor) { - CVector3f posDelta = - (mgr.GetPlayer()->GetTranslation() + CVector3f::Up()) * 2.0 - GetTranslation(); + CVector3f velocity = + mgr.GetPlayer()->GetTranslation() + (CVector3f::Up() * 2.f) - GetTranslation(); x274_tractorTime += dt; - posDelta = posDelta.AsNormalized() * (20.f * (0.5f * rstl::min_val(2.f, x274_tractorTime))); + float halfTractorTime = rstl::min_val(x274_tractorTime, 2.f) * 0.5f; + velocity = velocity.AsNormalized() * (halfTractorTime * 20.f); if (x28c_26_enableTractorTest && mgr.GetPlayer()->GetPlayerGun()->GetChargeBeamFactor() < CPlayerGun::GetTractorBeamFactor()) { x28c_26_enableTractorTest = false; x28c_25_inTractor = false; - posDelta = CVector3f::Zero(); + velocity = CVector3f::Zero(); } - SetVelocityWR(posDelta); + SetVelocityWR(velocity); } else if (x28c_24_generated) { if (mgr.GetPlayer()->GetPlayerGun()->GetChargeBeamFactor() > CPlayerGun::GetTractorBeamFactor()) { - const CFirstPersonCamera* camera = mgr.GetCameraManager()->GetFirstPersonCamera(); + const CFirstPersonCamera* camera = mgr.CameraManager()->FirstPersonCamera(); CVector3f posDelta = GetTranslation() - camera->GetTranslation(); - CAbsAngle fov = CAbsAngle::FromDegrees(gpTweakGame->GetFirstPersonFOV()); - if (CVector3f::Dot(camera->GetTransform().GetColumn(kDY), posDelta.AsNormalized()) > - cosine(fov) && - posDelta.MagSquared() < (30.f * 30.f)) { + CVector3f cameraFront = camera->GetTransform().GetColumn(kDY); + float dot = CVector3f::Dot(cameraFront, posDelta.AsNormalized()); + float fovCos = cosine(CAbsAngle::FromDegrees(gpTweakGame->GetFirstPersonFOV())); + if (dot > fovCos && posDelta.MagSquared() < skDrawInDistance * skDrawInDistance) { x28c_25_inTractor = true; x28c_26_enableTractorTest = true; x274_tractorTime = 0.f; @@ -138,49 +142,53 @@ void CScriptPickup::Think(float dt, CStateManager& mgr) { } void CScriptPickup::Touch(CActor& act, CStateManager& mgr) { - if (GetActive() && x278_delayTimer < 0.f && TCastToPtr< CPlayer >(act)) { - if (x258_itemType >= CPlayerState::kIT_Truth && x258_itemType <= CPlayerState::kIT_Newborn) { - const CAssetId id = CArtifactDoll::GetArtifactHeadScanFromItemType(x258_itemType); + if (GetActive() && !(x278_delayTimer >= 0) && TCastToPtr< CPlayer >(act)) { + CPlayerState::EItemType itemType = x258_itemType; + if (itemType >= CPlayerState::kIT_Truth && itemType <= CPlayerState::kIT_Newborn) { + CAssetId id = CArtifactDoll::GetArtifactHeadScanFromItemType(itemType); if (id != kInvalidAssetId) { mgr.PlayerState()->SetScanTime(id, 0.5f); } } - /*if (x27c_pickupParticleDesc) { + if (x27c_pickupParticleDesc) { if (mgr.GetPlayerState()->GetActiveVisor(mgr) != CPlayerState::kPV_Thermal) { - mgr.AddObject(new CExplosion(x27c_pickupParticleDesc, mgr.AllocateUniqueId(), true, - CEntityInfo(GetAreaIdAlways(), CEntity::NullConnectionList, - kInvalidEditorId), "Explosion - Pickup Effect", x34_transform, 0, zeus::skOne3f, - zeus::skWhite)); + mgr.AddObject(new CExplosion( + *x27c_pickupParticleDesc, mgr.AllocateUniqueId(), true, + CEntityInfo(GetAreaIdAlways(), CEntity::NullConnectionList, kInvalidEditorId), + rstl::string_l("Explosion - Pickup Effect"), GetTransform(), 0, + CVector3f(1.f, 1.f, 1.f), CColor::White())); } - }*/ + } - mgr.PlayerState()->InitializePowerUp(x258_itemType, x260_capacity); - mgr.PlayerState()->IncrPickUp(x258_itemType, x25c_amount); + mgr.PlayerState()->InitializePowerUp(itemType, x260_capacity); + mgr.PlayerState()->IncrPickUp(itemType, x25c_amount); mgr.FreeScriptObject(GetUniqueId()); SendScriptMsgs(kSS_Arrived, mgr, kSM_None); if (x260_capacity > 0) { - const int total = mgr.GetPlayerState()->GetTotalPickupCount(); - const int colRate = mgr.GetPlayerState()->CalculateItemCollectionRate(); - if (total == colRate) { + const CPlayerState* playerState = mgr.GetPlayerState(); + int total = playerState->GetTotalPickupCount(); + int colRate = playerState->CalculateItemCollectionRate(); + if (colRate == total) { CSystemOptions& opts = gpGameState->SystemOptions(); - mgr.QueueMessage(mgr.GetHUDMessageFrameCount() + 1, - gpResourceFactory - ->GetResourceIdByName(opts.GetAllItemsCollected() - ? "STRG_AllPickupsFound_2" - : "STRG_AllPickupsFound_1") - ->id, - 0.f); + CAssetId id = + gpResourceFactory + ->GetResourceIdByName(opts.GetAllItemsCollected() ? "STRG_AllPickupsFound_2" + : "STRG_AllPickupsFound_1") + ->id; + mgr.QueueMessage(mgr.GetHUDMessageFrameCount() + 1, id, 0.f); opts.SetAllItemsCollected(true); } } - if (x258_itemType == CPlayerState::kIT_PowerBombs && - gpGameState->SystemOptions().GetShowPowerBombAmmoMessage()) { - gpGameState->SystemOptions().IncrementPowerBombAmmoCount(); - CSamusHud::DisplayHudMemo(rstl::wstring_l(gpStringTable->GetString(109)), - CHUDMemoParms(0.5f, true, false, false)); + if (itemType == CPlayerState::kIT_PowerBombs) { + CSystemOptions& opts = gpGameState->SystemOptions(); + if (opts.GetShowPowerBombAmmoMessage()) { + opts.IncrementPowerBombAmmoCount(); + CSamusHud::DisplayHudMemo(rstl::wstring_l(gpStringTable->GetString(109)), + CHUDMemoParms(0.5f, true, false, false)); + } } } } diff --git a/src/MetroidPrime/ScriptObjects/CScriptSpecialFunction.cpp b/src/MetroidPrime/ScriptObjects/CScriptSpecialFunction.cpp index 564e3e55..37faff36 100644 --- a/src/MetroidPrime/ScriptObjects/CScriptSpecialFunction.cpp +++ b/src/MetroidPrime/ScriptObjects/CScriptSpecialFunction.cpp @@ -878,7 +878,7 @@ void CScriptSpecialFunction::ThinkSpinnerController(float dt, CStateManager& mgr const float dur = animData->GetAnimationDuration(animData->GetDefaultAnimation()) * x138_; plat->AnimationData()->SetPhase(0.f); plat->AnimationData()->SetPlaybackRate(1.f); - SAdvancementDeltas deltas = plat->UpdateAnimation(dur, mgr, true); + CAdvancementDeltas deltas = plat->UpdateAnimation(dur, mgr, true); plat->SetTransform(x13c_spinnerInitialXf * deltas.GetOrientationDelta().BuildTransform4f( deltas.GetOffsetDelta())); }