From 361f2bb9cea7623b9e4bc0c34f2e138433808207 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Fri, 12 Aug 2022 21:26:00 -0400 Subject: [PATCH] Initial work on CActor.cpp Former-commit-id: 44b17813bda4f45c89a67a9a4623b872a57cf84f --- asm/Collision/COBBox.s | 4 +- asm/GuiSys/CGuiGroup.s | 8 +- asm/Kyoto/Animation/CAllFormatsAnimSource.s | 8 +- asm/Kyoto/Animation/CAnimCharacterSet.s | 8 +- asm/Kyoto/Animation/CAnimPOIData.s | 8 +- asm/Kyoto/Animation/CCharLayoutInfo.s | 8 +- asm/Kyoto/Animation/DolphinCSkinRules.s | 8 +- asm/Kyoto/Audio/CMidiManager.s | 8 +- asm/Kyoto/Audio/CSfxManager.s | 8 +- asm/Kyoto/Audio/DolphinCAudioGroupSet.s | 8 +- asm/Kyoto/Audio/DolphinCAudioSys.s | 4 +- asm/Kyoto/CDependencyGroup.s | 8 +- asm/Kyoto/Graphics/DolphinCModel.s | 8 +- asm/Kyoto/Graphics/DolphinCTexture.s | 4 +- asm/Kyoto/Math/CAABox.s | 6 +- asm/Kyoto/Particles/CElementGen.s | 16 +-- asm/Kyoto/Particles/CParticleElectric.s | 16 +-- .../Particles/CParticleElectricDataFactory.s | 4 +- .../Particles/CParticleSwooshDataFactory.s | 8 +- asm/Kyoto/Text/CRasterFont.s | 4 +- asm/Kyoto/Text/CStringTable.s | 4 +- asm/MetroidPrime/CActor.s | 18 +-- asm/MetroidPrime/CAnimData.s | 8 +- asm/MetroidPrime/CAutoMapper.s | 4 +- asm/MetroidPrime/CCredits.s | 8 +- asm/MetroidPrime/CGroundMovement.s | 8 +- asm/MetroidPrime/CMapArea.s | 8 +- asm/MetroidPrime/CMapUniverse.s | 8 +- asm/MetroidPrime/CMapWorld.s | 8 +- asm/MetroidPrime/CProjectedShadow.s | 4 +- asm/MetroidPrime/CRagDoll.s | 4 +- asm/MetroidPrime/CStateManager.s | 6 +- asm/MetroidPrime/Cameras/CBallCamera.s | 8 +- .../Cameras/CBallCameraFailsafeState.s | 4 +- asm/MetroidPrime/Cameras/CCameraManager.s | 4 +- asm/MetroidPrime/Enemies/CBabygoth.s | 2 +- asm/MetroidPrime/Enemies/CDrone.s | 12 +- asm/MetroidPrime/Enemies/CGrenadeLauncher.s | 2 +- asm/MetroidPrime/Enemies/CIceSheegoth.s | 4 +- asm/MetroidPrime/Enemies/CParasite.s | 4 +- asm/MetroidPrime/Enemies/CRidley.s | 4 +- asm/MetroidPrime/Enemies/CSnakeWeedSwarm.s | 8 +- asm/MetroidPrime/Factories/CAssetFactory.s | 8 +- .../Factories/CCharacterFactory.s | 32 ++--- .../Factories/CSaveWorldFactory.s | 8 +- .../Factories/CScannableObjectInfo.s | 8 +- .../Factories/CStateMachineFactory.s | 8 +- asm/MetroidPrime/HUD/CHudDecoInterface.s | 4 +- asm/MetroidPrime/HUD/CSamusHud.s | 4 +- asm/MetroidPrime/PathFinding/CPathFindArea.s | 8 +- .../PathFinding/CPathFindRegion.s | 4 +- asm/MetroidPrime/Player/CGameHintInfo.s | 8 +- asm/MetroidPrime/Player/CGrappleArm.s | 4 +- asm/MetroidPrime/Player/CMorphBallShadow.s | 4 +- asm/MetroidPrime/Player/CPlayerGun.s | 4 +- .../ScriptObjects/CScriptEffect.s | 20 +-- asm/MetroidPrime/Weapons/CEnergyProjectile.s | 2 +- asm/MetroidPrime/Weapons/CNewFlameThrower.s | 4 +- asm/MetroidPrime/main.s | 20 +-- asm/Weapons/CCollisionResponseData.s | 8 +- asm/Weapons/CDecalDataFactory.s | 8 +- asm/Weapons/CProjectileWeapon.s | 4 +- asm/Weapons/CProjectileWeaponDataFactory.s | 8 +- asm/WorldFormat/CCollidableOBBTree.s | 8 +- asm/WorldFormat/CCollidableOBBTreeGroup.s | 16 +-- asm/WorldFormat/CMetroidAreaCollider.s | 20 +-- include/Collision/CMaterialFilter.hpp | 32 +++++ include/Collision/CMaterialList.hpp | 91 ++++++++++++ include/Kyoto/Audio/CAudioSys.hpp | 11 ++ include/Kyoto/CFactoryMgr.hpp | 4 +- include/Kyoto/CSimplePool.hpp | 11 +- include/Kyoto/CToken.hpp | 50 +------ include/Kyoto/Graphics/CColor.hpp | 4 +- include/Kyoto/Graphics/CGraphics.hpp | 2 +- include/Kyoto/IObj.hpp | 38 +++++ include/Kyoto/IObjectStore.hpp | 24 +++- include/Kyoto/Math/CAABox.hpp | 14 +- include/Kyoto/Math/CTransform4f.hpp | 7 + include/Kyoto/Math/CVector3f.hpp | 1 + include/Kyoto/Particles/CParticleGen.hpp | 6 +- include/Kyoto/TToken.hpp | 45 ++++++ include/MetaRender/CCubeRenderer.hpp | 2 +- include/MetroidPrime/CActor.hpp | 98 +++++++++++++ include/MetroidPrime/CActorLights.hpp | 11 ++ include/MetroidPrime/CActorParameters.hpp | 132 ++++++++++++++++++ include/MetroidPrime/CAnimData.hpp | 10 ++ include/MetroidPrime/CAreaFog.hpp | 30 ++++ include/MetroidPrime/CEntity.hpp | 2 + include/MetroidPrime/CModelData.hpp | 51 +++++++ include/MetroidPrime/CModelFlags.hpp | 73 ++++++++++ include/MetroidPrime/CObjectList.hpp | 10 +- include/MetroidPrime/CSfxHandle.hpp | 16 +++ include/MetroidPrime/CStateManager.hpp | 22 +++ .../MetroidPrime/CStateManagerContainer.hpp | 24 ++++ .../Cameras/CCameraFilterPass.hpp | 2 +- .../MetroidPrime/Cameras/CCameraManager.hpp | 56 ++++++++ .../MetroidPrime/Cameras/CCameraShakeData.hpp | 44 ++++++ include/MetroidPrime/TGameTypes.hpp | 6 + include/rstl/auto_ptr.hpp | 3 + include/rstl/construct.hpp | 7 + include/rstl/reserved_vector.hpp | 30 ++-- include/rstl/single_ptr.hpp | 6 + include/rstl/string.hpp | 2 + include/rstl/vector.hpp | 3 + include/static_assert.hpp | 33 +++++ include/types.h | 2 + obj_files.mk | 2 +- src/Kyoto/Text/CStringTable.cpp | 3 +- src/MetroidPrime/CActor.cpp | 94 +++++++++++++ 109 files changed, 1295 insertions(+), 335 deletions(-) create mode 100644 include/Collision/CMaterialFilter.hpp create mode 100644 include/Collision/CMaterialList.hpp create mode 100644 include/Kyoto/Audio/CAudioSys.hpp create mode 100644 include/Kyoto/IObj.hpp create mode 100644 include/Kyoto/TToken.hpp create mode 100644 include/MetroidPrime/CActor.hpp create mode 100644 include/MetroidPrime/CActorLights.hpp create mode 100644 include/MetroidPrime/CActorParameters.hpp create mode 100644 include/MetroidPrime/CAnimData.hpp create mode 100644 include/MetroidPrime/CAreaFog.hpp create mode 100644 include/MetroidPrime/CModelData.hpp create mode 100644 include/MetroidPrime/CModelFlags.hpp create mode 100644 include/MetroidPrime/CSfxHandle.hpp create mode 100644 include/MetroidPrime/CStateManagerContainer.hpp create mode 100644 include/MetroidPrime/Cameras/CCameraManager.hpp create mode 100644 include/MetroidPrime/Cameras/CCameraShakeData.hpp create mode 100644 include/static_assert.hpp create mode 100644 src/MetroidPrime/CActor.cpp diff --git a/asm/Collision/COBBox.s b/asm/Collision/COBBox.s index 034d1706..f8ad5fba 100644 --- a/asm/Collision/COBBox.s +++ b/asm/Collision/COBBox.s @@ -638,8 +638,8 @@ CalculateAABox__6COBBoxCFRC12CTransform4f: /* 802D5E0C 002D2D6C 38 81 00 50 */ addi r4, r1, 0x50 /* 802D5E10 002D2D70 48 03 CD 65 */ bl __ct__12CTransform4fFRC12CTransform4f /* 802D5E14 002D2D74 C0 82 C5 44 */ lfs f4, lbl_805AE264@sda21(r2) -/* 802D5E18 002D2D78 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 802D5E1C 002D2D7C C4 E3 67 54 */ lfsu f7, lbl_805A6754@l(r3) +/* 802D5E18 002D2D78 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 802D5E1C 002D2D7C C4 E3 67 54 */ lfsu f7, mskInvertedBox__6CAABox@l(r3) /* 802D5E20 002D2D80 3B E0 00 00 */ li r31, 0 /* 802D5E24 002D2D84 C0 3E 00 34 */ lfs f1, 0x34(r30) /* 802D5E28 002D2D88 C0 7E 00 38 */ lfs f3, 0x38(r30) diff --git a/asm/GuiSys/CGuiGroup.s b/asm/GuiSys/CGuiGroup.s index 275d6e48..22579846 100644 --- a/asm/GuiSys/CGuiGroup.s +++ b/asm/GuiSys/CGuiGroup.s @@ -1052,8 +1052,8 @@ lbl_802C1EB8: lbl_802C1F14: /* 802C1F14 002BEE74 28 1E 00 00 */ cmplwi r30, 0 /* 802C1F18 002BEE78 41 82 00 20 */ beq lbl_802C1F38 -/* 802C1F1C 002BEE7C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802C1F20 002BEE80 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802C1F1C 002BEE7C 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802C1F20 002BEE80 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802C1F24 002BEE84 90 1E 00 00 */ stw r0, 0(r30) /* 802C1F28 002BEE88 41 82 00 10 */ beq lbl_802C1F38 /* 802C1F2C 002BEE8C 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -1105,11 +1105,11 @@ lbl_802C1F48: /* 802C1FC4 002BEF24 28 03 00 00 */ cmplwi r3, 0 /* 802C1FC8 002BEF28 41 82 00 38 */ beq lbl_802C2000 /* 802C1FCC 002BEF2C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802C1FD0 002BEF30 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802C1FD0 002BEF30 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802C1FD4 002BEF34 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802C1FD8 002BEF38 3C 80 80 3F */ lis r4, lbl_803EC7B8@ha /* 802C1FDC 002BEF3C 90 03 00 00 */ stw r0, 0(r3) -/* 802C1FE0 002BEF40 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802C1FE0 002BEF40 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802C1FE4 002BEF44 38 A0 00 00 */ li r5, 0 /* 802C1FE8 002BEF48 38 04 C7 B8 */ addi r0, r4, lbl_803EC7B8@l /* 802C1FEC 002BEF4C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Animation/CAllFormatsAnimSource.s b/asm/Kyoto/Animation/CAllFormatsAnimSource.s index 99decda5..e7fd8b1f 100644 --- a/asm/Kyoto/Animation/CAllFormatsAnimSource.s +++ b/asm/Kyoto/Animation/CAllFormatsAnimSource.s @@ -288,8 +288,8 @@ lbl_802FE298: lbl_802FE300: /* 802FE300 002FB260 28 1E 00 00 */ cmplwi r30, 0 /* 802FE304 002FB264 41 82 00 20 */ beq lbl_802FE324 -/* 802FE308 002FB268 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802FE30C 002FB26C 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802FE308 002FB268 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802FE30C 002FB26C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802FE310 002FB270 90 1E 00 00 */ stw r0, 0(r30) /* 802FE314 002FB274 41 82 00 10 */ beq lbl_802FE324 /* 802FE318 002FB278 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -341,11 +341,11 @@ lbl_802FE334: /* 802FE3B0 002FB310 28 03 00 00 */ cmplwi r3, 0 /* 802FE3B4 002FB314 41 82 00 38 */ beq lbl_802FE3EC /* 802FE3B8 002FB318 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802FE3BC 002FB31C 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802FE3BC 002FB31C 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802FE3C0 002FB320 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802FE3C4 002FB324 3C 80 80 3F */ lis r4, lbl_803ED568@ha /* 802FE3C8 002FB328 90 03 00 00 */ stw r0, 0(r3) -/* 802FE3CC 002FB32C 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802FE3CC 002FB32C 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802FE3D0 002FB330 38 A0 00 00 */ li r5, 0 /* 802FE3D4 002FB334 38 04 D5 68 */ addi r0, r4, lbl_803ED568@l /* 802FE3D8 002FB338 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Animation/CAnimCharacterSet.s b/asm/Kyoto/Animation/CAnimCharacterSet.s index e5291f84..965eb369 100644 --- a/asm/Kyoto/Animation/CAnimCharacterSet.s +++ b/asm/Kyoto/Animation/CAnimCharacterSet.s @@ -108,8 +108,8 @@ sub_802d81c0: lbl_802D8200: /* 802D8200 002D5160 28 1E 00 00 */ cmplwi r30, 0 /* 802D8204 002D5164 41 82 00 20 */ beq lbl_802D8224 -/* 802D8208 002D5168 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802D820C 002D516C 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802D8208 002D5168 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802D820C 002D516C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802D8210 002D5170 90 1E 00 00 */ stw r0, 0(r30) /* 802D8214 002D5174 41 82 00 10 */ beq lbl_802D8224 /* 802D8218 002D5178 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -398,11 +398,11 @@ sub_802d85a0: /* 802D85D4 002D5534 28 03 00 00 */ cmplwi r3, 0 /* 802D85D8 002D5538 41 82 00 38 */ beq lbl_802D8610 /* 802D85DC 002D553C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802D85E0 002D5540 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802D85E0 002D5540 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802D85E4 002D5544 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802D85E8 002D5548 3C 80 80 3F */ lis r4, lbl_803ECBD0@ha /* 802D85EC 002D554C 90 03 00 00 */ stw r0, 0(r3) -/* 802D85F0 002D5550 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802D85F0 002D5550 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802D85F4 002D5554 38 A0 00 00 */ li r5, 0 /* 802D85F8 002D5558 38 04 CB D0 */ addi r0, r4, lbl_803ECBD0@l /* 802D85FC 002D555C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Animation/CAnimPOIData.s b/asm/Kyoto/Animation/CAnimPOIData.s index 70e6fadf..773fced9 100644 --- a/asm/Kyoto/Animation/CAnimPOIData.s +++ b/asm/Kyoto/Animation/CAnimPOIData.s @@ -136,8 +136,8 @@ sub_802ebbf8: lbl_802EBC38: /* 802EBC38 002E8B98 28 1E 00 00 */ cmplwi r30, 0 /* 802EBC3C 002E8B9C 41 82 00 20 */ beq lbl_802EBC5C -/* 802EBC40 002E8BA0 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802EBC44 002E8BA4 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802EBC40 002E8BA0 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802EBC44 002E8BA4 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802EBC48 002E8BA8 90 1E 00 00 */ stw r0, 0(r30) /* 802EBC4C 002E8BAC 41 82 00 10 */ beq lbl_802EBC5C /* 802EBC50 002E8BB0 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -324,11 +324,11 @@ lbl_802EBE40: /* 802EBEC4 002E8E24 28 03 00 00 */ cmplwi r3, 0 /* 802EBEC8 002E8E28 41 82 00 38 */ beq lbl_802EBF00 /* 802EBECC 002E8E2C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802EBED0 002E8E30 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802EBED0 002E8E30 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802EBED4 002E8E34 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802EBED8 002E8E38 3C 80 80 3F */ lis r4, lbl_803ECF48@ha /* 802EBEDC 002E8E3C 90 03 00 00 */ stw r0, 0(r3) -/* 802EBEE0 002E8E40 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802EBEE0 002E8E40 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802EBEE4 002E8E44 38 A0 00 00 */ li r5, 0 /* 802EBEE8 002E8E48 38 04 CF 48 */ addi r0, r4, lbl_803ECF48@l /* 802EBEEC 002E8E4C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Animation/CCharLayoutInfo.s b/asm/Kyoto/Animation/CCharLayoutInfo.s index a3ae82d6..9dbb15f8 100644 --- a/asm/Kyoto/Animation/CCharLayoutInfo.s +++ b/asm/Kyoto/Animation/CCharLayoutInfo.s @@ -535,8 +535,8 @@ sub_802f8294: lbl_802F82D4: /* 802F82D4 002F5234 28 1E 00 00 */ cmplwi r30, 0 /* 802F82D8 002F5238 41 82 00 20 */ beq lbl_802F82F8 -/* 802F82DC 002F523C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802F82E0 002F5240 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802F82DC 002F523C 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802F82E0 002F5240 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802F82E4 002F5244 90 1E 00 00 */ stw r0, 0(r30) /* 802F82E8 002F5248 41 82 00 10 */ beq lbl_802F82F8 /* 802F82EC 002F524C 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -636,11 +636,11 @@ sub_802f83f4: /* 802F8428 002F5388 28 03 00 00 */ cmplwi r3, 0 /* 802F842C 002F538C 41 82 00 38 */ beq lbl_802F8464 /* 802F8430 002F5390 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802F8434 002F5394 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802F8434 002F5394 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802F8438 002F5398 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802F843C 002F539C 3C 80 80 3F */ lis r4, lbl_803ED420@ha /* 802F8440 002F53A0 90 03 00 00 */ stw r0, 0(r3) -/* 802F8444 002F53A4 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802F8444 002F53A4 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802F8448 002F53A8 38 A0 00 00 */ li r5, 0 /* 802F844C 002F53AC 38 04 D4 20 */ addi r0, r4, lbl_803ED420@l /* 802F8450 002F53B0 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Animation/DolphinCSkinRules.s b/asm/Kyoto/Animation/DolphinCSkinRules.s index cb29499d..10ad94a4 100644 --- a/asm/Kyoto/Animation/DolphinCSkinRules.s +++ b/asm/Kyoto/Animation/DolphinCSkinRules.s @@ -411,8 +411,8 @@ lbl_80353D2C: lbl_80353D84: /* 80353D84 00350CE4 28 1E 00 00 */ cmplwi r30, 0 /* 80353D88 00350CE8 41 82 00 20 */ beq lbl_80353DA8 -/* 80353D8C 00350CEC 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80353D90 00350CF0 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80353D8C 00350CEC 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80353D90 00350CF0 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80353D94 00350CF4 90 1E 00 00 */ stw r0, 0(r30) /* 80353D98 00350CF8 41 82 00 10 */ beq lbl_80353DA8 /* 80353D9C 00350CFC 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -464,11 +464,11 @@ lbl_80353DB8: /* 80353E34 00350D94 28 03 00 00 */ cmplwi r3, 0 /* 80353E38 00350D98 41 82 00 38 */ beq lbl_80353E70 /* 80353E3C 00350D9C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80353E40 00350DA0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80353E40 00350DA0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80353E44 00350DA4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80353E48 00350DA8 3C 80 80 3F */ lis r4, lbl_803EF728@ha /* 80353E4C 00350DAC 90 03 00 00 */ stw r0, 0(r3) -/* 80353E50 00350DB0 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80353E50 00350DB0 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80353E54 00350DB4 38 A0 00 00 */ li r5, 0 /* 80353E58 00350DB8 38 04 F7 28 */ addi r0, r4, lbl_803EF728@l /* 80353E5C 00350DBC 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Audio/CMidiManager.s b/asm/Kyoto/Audio/CMidiManager.s index e50a84bc..591e0c2c 100644 --- a/asm/Kyoto/Audio/CMidiManager.s +++ b/asm/Kyoto/Audio/CMidiManager.s @@ -144,8 +144,8 @@ lbl_80358D00: lbl_80358D08: /* 80358D08 00355C68 28 1D 00 00 */ cmplwi r29, 0 /* 80358D0C 00355C6C 41 82 00 20 */ beq lbl_80358D2C -/* 80358D10 00355C70 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80358D14 00355C74 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80358D10 00355C70 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80358D14 00355C74 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80358D18 00355C78 90 1D 00 00 */ stw r0, 0(r29) /* 80358D1C 00355C7C 41 82 00 10 */ beq lbl_80358D2C /* 80358D20 00355C80 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -198,11 +198,11 @@ lbl_80358D3C: /* 80358DBC 00355D1C 28 03 00 00 */ cmplwi r3, 0 /* 80358DC0 00355D20 41 82 00 38 */ beq lbl_80358DF8 /* 80358DC4 00355D24 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80358DC8 00355D28 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80358DC8 00355D28 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80358DCC 00355D2C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80358DD0 00355D30 3C 80 80 3F */ lis r4, lbl_803EF788@ha /* 80358DD4 00355D34 90 03 00 00 */ stw r0, 0(r3) -/* 80358DD8 00355D38 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80358DD8 00355D38 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80358DDC 00355D3C 38 A0 00 00 */ li r5, 0 /* 80358DE0 00355D40 38 04 F7 88 */ addi r0, r4, lbl_803EF788@l /* 80358DE4 00355D44 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Audio/CSfxManager.s b/asm/Kyoto/Audio/CSfxManager.s index 5932bee3..f1f85ccd 100644 --- a/asm/Kyoto/Audio/CSfxManager.s +++ b/asm/Kyoto/Audio/CSfxManager.s @@ -384,8 +384,8 @@ lbl_802E7B4C: lbl_802E7B54: /* 802E7B54 002E4AB4 28 1D 00 00 */ cmplwi r29, 0 /* 802E7B58 002E4AB8 41 82 00 20 */ beq lbl_802E7B78 -/* 802E7B5C 002E4ABC 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802E7B60 002E4AC0 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802E7B5C 002E4ABC 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802E7B60 002E4AC0 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802E7B64 002E4AC4 90 1D 00 00 */ stw r0, 0(r29) /* 802E7B68 002E4AC8 41 82 00 10 */ beq lbl_802E7B78 /* 802E7B6C 002E4ACC 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -438,11 +438,11 @@ lbl_802E7B88: /* 802E7C08 002E4B68 28 03 00 00 */ cmplwi r3, 0 /* 802E7C0C 002E4B6C 41 82 00 38 */ beq lbl_802E7C44 /* 802E7C10 002E4B70 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802E7C14 002E4B74 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802E7C14 002E4B74 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802E7C18 002E4B78 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802E7C1C 002E4B7C 3C 80 80 3F */ lis r4, lbl_803ECE74@ha /* 802E7C20 002E4B80 90 03 00 00 */ stw r0, 0(r3) -/* 802E7C24 002E4B84 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802E7C24 002E4B84 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802E7C28 002E4B88 38 A0 00 00 */ li r5, 0 /* 802E7C2C 002E4B8C 38 04 CE 74 */ addi r0, r4, lbl_803ECE74@l /* 802E7C30 002E4B90 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Audio/DolphinCAudioGroupSet.s b/asm/Kyoto/Audio/DolphinCAudioGroupSet.s index 9ae4460b..ab329c01 100644 --- a/asm/Kyoto/Audio/DolphinCAudioGroupSet.s +++ b/asm/Kyoto/Audio/DolphinCAudioGroupSet.s @@ -174,8 +174,8 @@ lbl_8034A248: lbl_8034A250: /* 8034A250 003471B0 28 1D 00 00 */ cmplwi r29, 0 /* 8034A254 003471B4 41 82 00 20 */ beq lbl_8034A274 -/* 8034A258 003471B8 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 8034A25C 003471BC 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8034A258 003471B8 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 8034A25C 003471BC 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8034A260 003471C0 90 1D 00 00 */ stw r0, 0(r29) /* 8034A264 003471C4 41 82 00 10 */ beq lbl_8034A274 /* 8034A268 003471C8 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -228,11 +228,11 @@ sub_8034a2d0: /* 8034A304 00347264 28 03 00 00 */ cmplwi r3, 0 /* 8034A308 00347268 41 82 00 38 */ beq lbl_8034A340 /* 8034A30C 0034726C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8034A310 00347270 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8034A310 00347270 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8034A314 00347274 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8034A318 00347278 3C 80 80 3F */ lis r4, lbl_803EF670@ha /* 8034A31C 0034727C 90 03 00 00 */ stw r0, 0(r3) -/* 8034A320 00347280 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8034A320 00347280 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8034A324 00347284 38 A0 00 00 */ li r5, 0 /* 8034A328 00347288 38 04 F6 70 */ addi r0, r4, lbl_803EF670@l /* 8034A32C 0034728C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Audio/DolphinCAudioSys.s b/asm/Kyoto/Audio/DolphinCAudioSys.s index ee2b9dd0..65a2b435 100644 --- a/asm/Kyoto/Audio/DolphinCAudioSys.s +++ b/asm/Kyoto/Audio/DolphinCAudioSys.s @@ -3471,8 +3471,8 @@ __sinit_DolphinCAudioSys_cpp: .section .sdata2, "a" .balign 8 -.global lbl_805AE960 -lbl_805AE960: +.global kMaxVolume__9CAudioSys +kMaxVolume__9CAudioSys: # ROM: 0x3FB200 .byte 0x7F diff --git a/asm/Kyoto/CDependencyGroup.s b/asm/Kyoto/CDependencyGroup.s index d8f3616c..310c1d38 100644 --- a/asm/Kyoto/CDependencyGroup.s +++ b/asm/Kyoto/CDependencyGroup.s @@ -130,8 +130,8 @@ lbl_803650E0: lbl_803650E8: /* 803650E8 00362048 28 1D 00 00 */ cmplwi r29, 0 /* 803650EC 0036204C 41 82 00 20 */ beq lbl_8036510C -/* 803650F0 00362050 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 803650F4 00362054 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 803650F0 00362050 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 803650F4 00362054 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 803650F8 00362058 90 1D 00 00 */ stw r0, 0(r29) /* 803650FC 0036205C 41 82 00 10 */ beq lbl_8036510C /* 80365100 00362060 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -184,11 +184,11 @@ sub_80365168: /* 8036519C 003620FC 28 03 00 00 */ cmplwi r3, 0 /* 803651A0 00362100 41 82 00 38 */ beq lbl_803651D8 /* 803651A4 00362104 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 803651A8 00362108 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 803651A8 00362108 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 803651AC 0036210C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 803651B0 00362110 3C 80 80 3F */ lis r4, lbl_803EF830@ha /* 803651B4 00362114 90 03 00 00 */ stw r0, 0(r3) -/* 803651B8 00362118 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 803651B8 00362118 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 803651BC 0036211C 38 A0 00 00 */ li r5, 0 /* 803651C0 00362120 38 04 F8 30 */ addi r0, r4, lbl_803EF830@l /* 803651C4 00362124 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Graphics/DolphinCModel.s b/asm/Kyoto/Graphics/DolphinCModel.s index 05460f45..e3997c53 100644 --- a/asm/Kyoto/Graphics/DolphinCModel.s +++ b/asm/Kyoto/Graphics/DolphinCModel.s @@ -587,8 +587,8 @@ lbl_803557DC: lbl_80355844: /* 80355844 003527A4 28 1E 00 00 */ cmplwi r30, 0 /* 80355848 003527A8 41 82 00 20 */ beq lbl_80355868 -/* 8035584C 003527AC 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80355850 003527B0 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8035584C 003527AC 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80355850 003527B0 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80355854 003527B4 90 1E 00 00 */ stw r0, 0(r30) /* 80355858 003527B8 41 82 00 10 */ beq lbl_80355868 /* 8035585C 003527BC 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -640,11 +640,11 @@ lbl_80355878: /* 803558F4 00352854 28 03 00 00 */ cmplwi r3, 0 /* 803558F8 00352858 41 82 00 38 */ beq lbl_80355930 /* 803558FC 0035285C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80355900 00352860 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80355900 00352860 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80355904 00352864 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80355908 00352868 3C 80 80 3F */ lis r4, lbl_803EF738@ha /* 8035590C 0035286C 90 03 00 00 */ stw r0, 0(r3) -/* 80355910 00352870 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80355910 00352870 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80355914 00352874 38 A0 00 00 */ li r5, 0 /* 80355918 00352878 38 04 F7 38 */ addi r0, r4, lbl_803EF738@l /* 8035591C 0035287C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Graphics/DolphinCTexture.s b/asm/Kyoto/Graphics/DolphinCTexture.s index 9cc89a1c..fb7059b7 100644 --- a/asm/Kyoto/Graphics/DolphinCTexture.s +++ b/asm/Kyoto/Graphics/DolphinCTexture.s @@ -605,11 +605,11 @@ lbl_8030E83C: /* 8030E8B4 0030B814 28 03 00 00 */ cmplwi r3, 0 /* 8030E8B8 0030B818 41 82 00 38 */ beq lbl_8030E8F0 /* 8030E8BC 0030B81C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8030E8C0 0030B820 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8030E8C0 0030B820 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8030E8C4 0030B824 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8030E8C8 0030B828 3C 80 80 3E */ lis r4, lbl_803D8D84@ha /* 8030E8CC 0030B82C 90 03 00 00 */ stw r0, 0(r3) -/* 8030E8D0 0030B830 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8030E8D0 0030B830 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8030E8D4 0030B834 38 A0 00 00 */ li r5, 0 /* 8030E8D8 0030B838 38 04 8D 84 */ addi r0, r4, lbl_803D8D84@l /* 8030E8DC 0030B83C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Math/CAABox.s b/asm/Kyoto/Math/CAABox.s index 2af63c6b..05cf4583 100644 --- a/asm/Kyoto/Math/CAABox.s +++ b/asm/Kyoto/Math/CAABox.s @@ -1,6 +1,6 @@ .include "macros.inc" -.comm lbl_805A6754, 0x30, 4 +.comm mskInvertedBox__6CAABox, 0x30, 4 .comm lbl_805A6784, 0x18, 4 .section .ctors, "wa" @@ -1464,10 +1464,10 @@ __ct__6CAABoxFR12CInputStream: .global __sinit_CAABox_cpp __sinit_CAABox_cpp: /* 80338584 003354E4 C0 42 CB 94 */ lfs f2, lbl_805AE8B4@sda21(r2) -/* 80338588 003354E8 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 80338588 003354E8 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 8033858C 003354EC C0 02 CB 88 */ lfs f0, lbl_805AE8A8@sda21(r2) /* 80338590 003354F0 3C 60 80 5A */ lis r3, lbl_805A6784@ha -/* 80338594 003354F4 D4 44 67 54 */ stfsu f2, lbl_805A6754@l(r4) +/* 80338594 003354F4 D4 44 67 54 */ stfsu f2, mskInvertedBox__6CAABox@l(r4) /* 80338598 003354F8 C0 22 CB 98 */ lfs f1, lbl_805AE8B8@sda21(r2) /* 8033859C 003354FC D4 03 67 84 */ stfsu f0, lbl_805A6784@l(r3) /* 803385A0 00335500 D0 44 00 04 */ stfs f2, 4(r4) diff --git a/asm/Kyoto/Particles/CElementGen.s b/asm/Kyoto/Particles/CElementGen.s index 55b3fe58..d9e818d5 100644 --- a/asm/Kyoto/Particles/CElementGen.s +++ b/asm/Kyoto/Particles/CElementGen.s @@ -762,9 +762,9 @@ BuildParticleSystemBounds__11CElementGenFv: /* 80317A38 00314998 DB A1 01 50 */ stfd f29, 0x150(r1) /* 80317A3C 0031499C F3 A1 01 58 */ psq_st f29, 344(r1), 0, qr0 /* 80317A40 003149A0 BF 41 01 38 */ stmw r26, 0x138(r1) -/* 80317A44 003149A4 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 80317A44 003149A4 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 80317A48 003149A8 7C 7C 1B 78 */ mr r28, r3 -/* 80317A4C 003149AC 3B E4 67 54 */ addi r31, r4, lbl_805A6754@l +/* 80317A4C 003149AC 3B E4 67 54 */ addi r31, r4, mskInvertedBox__6CAABox@l /* 80317A50 003149B0 3B C1 00 C4 */ addi r30, r1, 0xc4 /* 80317A54 003149B4 C0 BF 00 00 */ lfs f5, 0(r31) /* 80317A58 003149B8 3B A0 00 00 */ li r29, 0 @@ -915,8 +915,8 @@ lbl_80317B30: /* 80317C8C 00314BEC 90 1C 03 04 */ stw r0, 0x304(r28) /* 80317C90 00314BF0 48 00 00 3C */ b lbl_80317CCC lbl_80317C94: -/* 80317C94 00314BF4 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 80317C98 00314BF8 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 80317C94 00314BF4 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 80317C98 00314BF8 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 80317C9C 00314BFC 80 64 00 00 */ lwz r3, 0(r4) /* 80317CA0 00314C00 80 04 00 04 */ lwz r0, 4(r4) /* 80317CA4 00314C04 90 7C 02 F0 */ stw r3, 0x2f0(r28) @@ -9230,7 +9230,7 @@ lbl_8031F3C0: /* 8031F628 0031C588 38 00 00 00 */ li r0, 0 /* 8031F62C 0031C58C 3C 80 80 5A */ lis r4, skZero3f@ha /* 8031F630 0031C590 90 1F 02 94 */ stw r0, 0x294(r31) -/* 8031F634 0031C594 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 8031F634 0031C594 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 8031F638 0031C598 C0 22 C9 E8 */ lfs f1, lbl_805AE708@sda21(r2) /* 8031F63C 0031C59C 90 1F 02 98 */ stw r0, 0x298(r31) /* 8031F640 0031C5A0 90 1F 02 9C */ stw r0, 0x29c(r31) @@ -9261,7 +9261,7 @@ lbl_8031F3C0: /* 8031F6A4 0031C604 C0 1E 00 08 */ lfs f0, 8(r30) /* 8031F6A8 0031C608 D0 1F 02 E8 */ stfs f0, 0x2e8(r31) /* 8031F6AC 0031C60C D0 3F 02 EC */ stfs f1, 0x2ec(r31) -/* 8031F6B0 0031C610 C4 03 67 54 */ lfsu f0, lbl_805A6754@l(r3) +/* 8031F6B0 0031C610 C4 03 67 54 */ lfsu f0, mskInvertedBox__6CAABox@l(r3) /* 8031F6B4 0031C614 D0 1F 02 F0 */ stfs f0, 0x2f0(r31) /* 8031F6B8 0031C618 C0 03 00 04 */ lfs f0, 4(r3) /* 8031F6BC 0031C61C D0 1F 02 F4 */ stfs f0, 0x2f4(r31) @@ -21464,11 +21464,11 @@ lbl_8032A0D0: /* 8032A14C 003270AC 28 03 00 00 */ cmplwi r3, 0 /* 8032A150 003270B0 41 82 00 38 */ beq lbl_8032A188 /* 8032A154 003270B4 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8032A158 003270B8 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8032A158 003270B8 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8032A15C 003270BC 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8032A160 003270C0 3C 80 80 3E */ lis r4, lbl_803DACB0@ha /* 8032A164 003270C4 90 03 00 00 */ stw r0, 0(r3) -/* 8032A168 003270C8 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8032A168 003270C8 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8032A16C 003270CC 38 A0 00 00 */ li r5, 0 /* 8032A170 003270D0 38 04 AC B0 */ addi r0, r4, lbl_803DACB0@l /* 8032A174 003270D4 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Particles/CParticleElectric.s b/asm/Kyoto/Particles/CParticleElectric.s index 30c0c1b6..42853e9d 100644 --- a/asm/Kyoto/Particles/CParticleElectric.s +++ b/asm/Kyoto/Particles/CParticleElectric.s @@ -828,8 +828,8 @@ BuildBounds__17CParticleElectricFv: /* 8035F2D8 0035C238 4E 80 04 21 */ bctrl /* 8035F2DC 0035C23C 2C 03 00 00 */ cmpwi r3, 0 /* 8035F2E0 0035C240 41 81 00 40 */ bgt lbl_8035F320 -/* 8035F2E4 0035C244 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 8035F2E8 0035C248 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 8035F2E4 0035C244 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 8035F2E8 0035C248 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 8035F2EC 0035C24C 80 64 00 00 */ lwz r3, 0(r4) /* 8035F2F0 0035C250 80 04 00 04 */ lwz r0, 4(r4) /* 8035F2F4 0035C254 90 7F 01 60 */ stw r3, 0x160(r31) @@ -844,8 +844,8 @@ BuildBounds__17CParticleElectricFv: /* 8035F318 0035C278 90 1F 01 74 */ stw r0, 0x174(r31) /* 8035F31C 0035C27C 48 00 03 C0 */ b lbl_8035F6DC lbl_8035F320: -/* 8035F320 0035C280 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 8035F324 0035C284 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 8035F320 0035C280 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 8035F324 0035C284 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 8035F328 0035C288 80 64 00 00 */ lwz r3, 0(r4) /* 8035F32C 0035C28C 80 04 00 04 */ lwz r0, 4(r4) /* 8035F330 0035C290 90 7F 01 60 */ stw r3, 0x160(r31) @@ -4200,13 +4200,13 @@ lbl_8036214C: /* 803622D8 0035F238 B0 0D 9E 50 */ sth r0, lbl_805A8A10@sda21(r13) /* 803622DC 0035F23C 4B FB 03 11 */ bl __ct__9CRandom16FUi /* 803622E0 0035F240 38 00 00 08 */ li r0, 8 -/* 803622E4 0035F244 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 803622E4 0035F244 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 803622E8 0035F248 90 1F 01 50 */ stw r0, 0x150(r31) /* 803622EC 0035F24C 38 80 00 01 */ li r4, 1 /* 803622F0 0035F250 38 00 00 00 */ li r0, 0 /* 803622F4 0035F254 C0 02 CD 54 */ lfs f0, lbl_805AEA74@sda21(r2) /* 803622F8 0035F258 90 9F 01 54 */ stw r4, 0x154(r31) -/* 803622FC 0035F25C 3B C3 67 54 */ addi r30, r3, lbl_805A6754@l +/* 803622FC 0035F25C 3B C3 67 54 */ addi r30, r3, mskInvertedBox__6CAABox@l /* 80362300 0035F260 90 1F 01 58 */ stw r0, 0x158(r31) /* 80362304 0035F264 D0 1F 01 5C */ stfs f0, 0x15c(r31) /* 80362308 0035F268 C0 1E 00 00 */ lfs f0, 0(r30) @@ -4883,9 +4883,9 @@ lbl_80362C24: /* 80362C7C 0035FBDC 90 17 00 20 */ stw r0, 0x20(r23) /* 80362C80 0035FBE0 4B FE 73 2D */ bl White__6CColorFv /* 80362C84 0035FBE4 80 03 00 00 */ lwz r0, 0(r3) -/* 80362C88 0035FBE8 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 80362C88 0035FBE8 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 80362C8C 0035FBEC 90 17 00 24 */ stw r0, 0x24(r23) -/* 80362C90 0035FBF0 C0 03 67 54 */ lfs f0, lbl_805A6754@l(r3) +/* 80362C90 0035FBF0 C0 03 67 54 */ lfs f0, mskInvertedBox__6CAABox@l(r3) /* 80362C94 0035FBF4 D0 17 00 28 */ stfs f0, 0x28(r23) /* 80362C98 0035FBF8 C0 1E 00 04 */ lfs f0, 4(r30) /* 80362C9C 0035FBFC D0 17 00 2C */ stfs f0, 0x2c(r23) diff --git a/asm/Kyoto/Particles/CParticleElectricDataFactory.s b/asm/Kyoto/Particles/CParticleElectricDataFactory.s index a3a41d25..07b755c4 100644 --- a/asm/Kyoto/Particles/CParticleElectricDataFactory.s +++ b/asm/Kyoto/Particles/CParticleElectricDataFactory.s @@ -699,11 +699,11 @@ lbl_8035E7F4: /* 8035E870 0035B7D0 28 03 00 00 */ cmplwi r3, 0 /* 8035E874 0035B7D4 41 82 00 38 */ beq lbl_8035E8AC /* 8035E878 0035B7D8 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8035E87C 0035B7DC 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8035E87C 0035B7DC 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8035E880 0035B7E0 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8035E884 0035B7E4 3C 80 80 3E */ lis r4, lbl_803DACA4@ha /* 8035E888 0035B7E8 90 03 00 00 */ stw r0, 0(r3) -/* 8035E88C 0035B7EC 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8035E88C 0035B7EC 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8035E890 0035B7F0 38 A0 00 00 */ li r5, 0 /* 8035E894 0035B7F4 38 04 AC A4 */ addi r0, r4, lbl_803DACA4@l /* 8035E898 0035B7F8 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Particles/CParticleSwooshDataFactory.s b/asm/Kyoto/Particles/CParticleSwooshDataFactory.s index 3c31e93e..5b16ad79 100644 --- a/asm/Kyoto/Particles/CParticleSwooshDataFactory.s +++ b/asm/Kyoto/Particles/CParticleSwooshDataFactory.s @@ -475,8 +475,8 @@ lbl_8032FF38: lbl_8032FF90: /* 8032FF90 0032CEF0 28 1E 00 00 */ cmplwi r30, 0 /* 8032FF94 0032CEF4 41 82 00 20 */ beq lbl_8032FFB4 -/* 8032FF98 0032CEF8 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 8032FF9C 0032CEFC 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8032FF98 0032CEF8 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 8032FF9C 0032CEFC 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8032FFA0 0032CF00 90 1E 00 00 */ stw r0, 0(r30) /* 8032FFA4 0032CF04 41 82 00 10 */ beq lbl_8032FFB4 /* 8032FFA8 0032CF08 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -588,11 +588,11 @@ sub_803300e8: /* 8033011C 0032D07C 28 03 00 00 */ cmplwi r3, 0 /* 80330120 0032D080 41 82 00 38 */ beq lbl_80330158 /* 80330124 0032D084 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80330128 0032D088 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80330128 0032D088 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8033012C 0032D08C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80330130 0032D090 3C 80 80 3F */ lis r4, lbl_803EDDF8@ha /* 80330134 0032D094 90 03 00 00 */ stw r0, 0(r3) -/* 80330138 0032D098 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80330138 0032D098 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8033013C 0032D09C 38 A0 00 00 */ li r5, 0 /* 80330140 0032D0A0 38 04 DD F8 */ addi r0, r4, lbl_803EDDF8@l /* 80330144 0032D0A4 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Text/CRasterFont.s b/asm/Kyoto/Text/CRasterFont.s index 7593e0e4..1daeb07e 100644 --- a/asm/Kyoto/Text/CRasterFont.s +++ b/asm/Kyoto/Text/CRasterFont.s @@ -247,11 +247,11 @@ sub_803001e8: /* 8030021C 002FD17C 28 03 00 00 */ cmplwi r3, 0 /* 80300220 002FD180 41 82 00 38 */ beq lbl_80300258 /* 80300224 002FD184 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80300228 002FD188 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80300228 002FD188 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8030022C 002FD18C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80300230 002FD190 3C 80 80 3E */ lis r4, lbl_803D8D60@ha /* 80300234 002FD194 90 03 00 00 */ stw r0, 0(r3) -/* 80300238 002FD198 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80300238 002FD198 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8030023C 002FD19C 38 A0 00 00 */ li r5, 0 /* 80300240 002FD1A0 38 04 8D 60 */ addi r0, r4, lbl_803D8D60@l /* 80300244 002FD1A4 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Kyoto/Text/CStringTable.s b/asm/Kyoto/Text/CStringTable.s index b5dec4fb..76c0d94a 100644 --- a/asm/Kyoto/Text/CStringTable.s +++ b/asm/Kyoto/Text/CStringTable.s @@ -130,11 +130,11 @@ lbl_80356618: /* 80356694 003535F4 28 03 00 00 */ cmplwi r3, 0 /* 80356698 003535F8 41 82 00 38 */ beq lbl_803566D0 /* 8035669C 003535FC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 803566A0 00353600 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 803566A0 00353600 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 803566A4 00353604 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 803566A8 00353608 3C 80 80 3E */ lis r4, "__vt__40TObjOwnerDerivedFromIObj<12CStringTable>"@ha /* 803566AC 0035360C 90 03 00 00 */ stw r0, 0(r3) -/* 803566B0 00353610 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 803566B0 00353610 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 803566B4 00353614 38 A0 00 00 */ li r5, 0 /* 803566B8 00353618 38 04 9A 0C */ addi r0, r4, "__vt__40TObjOwnerDerivedFromIObj<12CStringTable>"@l /* 803566BC 0035361C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/CActor.s b/asm/MetroidPrime/CActor.s index 0e6c2040..4438765f 100644 --- a/asm/MetroidPrime/CActor.s +++ b/asm/MetroidPrime/CActor.s @@ -3,8 +3,8 @@ .section .data .balign 8 -.global lbl_803D9EB0 -lbl_803D9EB0: +.global __vt__6CActor +__vt__6CActor: # ROM: 0x3D6EB0 .4byte 0 .4byte 0 @@ -3303,8 +3303,8 @@ __dt__6CActorFv: /* 80055708 00052668 93 A1 00 14 */ stw r29, 0x14(r1) /* 8005570C 0005266C 7C 7D 1B 79 */ or. r29, r3, r3 /* 80055710 00052670 41 82 00 F0 */ beq lbl_80055800 -/* 80055714 00052674 3C 80 80 3E */ lis r4, lbl_803D9EB0@ha -/* 80055718 00052678 38 04 9E B0 */ addi r0, r4, lbl_803D9EB0@l +/* 80055714 00052674 3C 80 80 3E */ lis r4, __vt__6CActor@ha +/* 80055718 00052678 38 04 9E B0 */ addi r0, r4, __vt__6CActor@l /* 8005571C 0005267C 90 1D 00 00 */ stw r0, 0(r29) /* 80055720 00052680 4B FF FB 25 */ bl RemoveEmitter__6CActorFv /* 80055724 00052684 34 1D 00 D8 */ addic. r0, r29, 0xd8 @@ -3403,9 +3403,9 @@ lbl_80055800: /* 80055860 000527C0 B0 01 00 08 */ sth r0, 8(r1) /* 80055864 000527C4 38 81 00 08 */ addi r4, r1, 8 /* 80055868 000527C8 4B FF BA BD */ bl "__ct__7CEntityF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" -/* 8005586C 000527CC 3C 60 80 3E */ lis r3, lbl_803D9EB0@ha +/* 8005586C 000527CC 3C 60 80 3E */ lis r3, __vt__6CActor@ha /* 80055870 000527D0 7F 24 CB 78 */ mr r4, r25 -/* 80055874 000527D4 38 03 9E B0 */ addi r0, r3, lbl_803D9EB0@l +/* 80055874 000527D4 38 03 9E B0 */ addi r0, r3, __vt__6CActor@l /* 80055878 000527D8 38 7F 00 34 */ addi r3, r31, 0x34 /* 8005587C 000527DC 90 1F 00 00 */ stw r0, 0(r31) /* 80055880 000527E0 48 2B D2 F5 */ bl __ct__12CTransform4fFRC12CTransform4f @@ -3493,14 +3493,14 @@ lbl_800559AC: /* 800559AC 0005290C 38 A0 00 00 */ li r5, 0 /* 800559B0 00052910 C0 22 86 30 */ lfs f1, lbl_805AA350@sda21(r2) /* 800559B4 00052914 90 BF 00 94 */ stw r5, 0x94(r31) -/* 800559B8 00052918 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 800559B8 00052918 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 800559BC 0005291C FC 40 08 90 */ fmr f2, f1 /* 800559C0 00052920 38 00 00 03 */ li r0, 3 /* 800559C4 00052924 90 BF 00 98 */ stw r5, 0x98(r31) /* 800559C8 00052928 FC 60 08 90 */ fmr f3, f1 /* 800559CC 0005292C FC 80 08 90 */ fmr f4, f1 /* 800559D0 00052930 38 61 00 20 */ addi r3, r1, 0x20 -/* 800559D4 00052934 C4 04 67 54 */ lfsu f0, lbl_805A6754@l(r4) +/* 800559D4 00052934 C4 04 67 54 */ lfsu f0, mskInvertedBox__6CAABox@l(r4) /* 800559D8 00052938 D0 1F 00 9C */ stfs f0, 0x9c(r31) /* 800559DC 0005293C C0 04 00 04 */ lfs f0, 4(r4) /* 800559E0 00052940 D0 1F 00 A0 */ stfs f0, 0xa0(r31) @@ -3522,7 +3522,7 @@ lbl_800559AC: /* 80055A20 00052980 38 A0 FF FF */ li r5, -1 /* 80055A24 00052984 98 1F 00 B4 */ stb r0, 0xb4(r31) /* 80055A28 00052988 35 1F 00 DC */ addic. r8, r31, 0xdc -/* 80055A2C 0005298C 88 82 CC 40 */ lbz r4, lbl_805AE960@sda21(r2) +/* 80055A2C 0005298C 88 82 CC 40 */ lbz r4, kMaxVolume__9CAudioSys@sda21(r2) /* 80055A30 00052990 38 60 00 02 */ li r3, 2 /* 80055A34 00052994 88 E1 00 1D */ lbz r7, 0x1d(r1) /* 80055A38 00052998 38 00 00 00 */ li r0, 0 diff --git a/asm/MetroidPrime/CAnimData.s b/asm/MetroidPrime/CAnimData.s index 1e7b44ef..2bc03f91 100644 --- a/asm/MetroidPrime/CAnimData.s +++ b/asm/MetroidPrime/CAnimData.s @@ -5489,8 +5489,8 @@ lbl_8002E074: /* 8002E0C8 0002B028 90 1F 00 E0 */ stw r0, 0xe0(r31) /* 8002E0CC 0002B02C 80 7F 00 E0 */ lwz r3, 0xe0(r31) /* 8002E0D0 0002B030 48 32 4B 49 */ bl CalculateDefault__13CSkinnedModelFv -/* 8002E0D4 0002B034 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 8002E0D8 0002B038 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 8002E0D4 0002B034 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 8002E0D8 0002B038 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 8002E0DC 0002B03C 80 64 00 00 */ lwz r3, 0(r4) /* 8002E0E0 0002B040 80 04 00 04 */ lwz r0, 4(r4) /* 8002E0E4 0002B044 90 7F 01 08 */ stw r3, 0x108(r31) @@ -7311,7 +7311,7 @@ lbl_8002F978: lbl_8002F9A8: /* 8002F9A8 0002C908 90 7F 00 F8 */ stw r3, 0xf8(r31) /* 8002F9AC 0002C90C 38 00 00 00 */ li r0, 0 -/* 8002F9B0 0002C910 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 8002F9B0 0002C910 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 8002F9B4 0002C914 38 7F 01 20 */ addi r3, r31, 0x120 /* 8002F9B8 0002C918 80 BB 00 00 */ lwz r5, 0(r27) /* 8002F9BC 0002C91C 90 BF 00 FC */ stw r5, 0xfc(r31) @@ -7326,7 +7326,7 @@ lbl_8002F9A8: /* 8002F9E0 0002C940 38 A5 00 01 */ addi r5, r5, 1 /* 8002F9E4 0002C944 90 A6 00 04 */ stw r5, 4(r6) /* 8002F9E8 0002C948 90 1F 01 04 */ stw r0, 0x104(r31) -/* 8002F9EC 0002C94C C4 04 67 54 */ lfsu f0, lbl_805A6754@l(r4) +/* 8002F9EC 0002C94C C4 04 67 54 */ lfsu f0, mskInvertedBox__6CAABox@l(r4) /* 8002F9F0 0002C950 D0 1F 01 08 */ stfs f0, 0x108(r31) /* 8002F9F4 0002C954 C0 04 00 04 */ lfs f0, 4(r4) /* 8002F9F8 0002C958 D0 1F 01 0C */ stfs f0, 0x10c(r31) diff --git a/asm/MetroidPrime/CAutoMapper.s b/asm/MetroidPrime/CAutoMapper.s index 90ffe121..411143bd 100644 --- a/asm/MetroidPrime/CAutoMapper.s +++ b/asm/MetroidPrime/CAutoMapper.s @@ -915,9 +915,9 @@ GetDesiredMiniMapCameraDistance__11CAutoMapperCFRC13CStateManager: /* 80095E14 00092D74 81 8C 00 18 */ lwz r12, 0x18(r12) /* 80095E18 00092D78 7D 89 03 A6 */ mtctr r12 /* 80095E1C 00092D7C 4E 80 04 21 */ bctrl -/* 80095E20 00092D80 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 80095E20 00092D80 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 80095E24 00092D84 80 1D 00 A0 */ lwz r0, 0xa0(r29) -/* 80095E28 00092D88 38 A4 67 54 */ addi r5, r4, lbl_805A6754@l +/* 80095E28 00092D88 38 A4 67 54 */ addi r5, r4, mskInvertedBox__6CAABox@l /* 80095E2C 00092D8C 7C 7E 1B 78 */ mr r30, r3 /* 80095E30 00092D90 C0 A5 00 00 */ lfs f5, 0(r5) /* 80095E34 00092D94 38 81 00 38 */ addi r4, r1, 0x38 diff --git a/asm/MetroidPrime/CCredits.s b/asm/MetroidPrime/CCredits.s index 7feabd3f..ddbd2229 100644 --- a/asm/MetroidPrime/CCredits.s +++ b/asm/MetroidPrime/CCredits.s @@ -3266,8 +3266,8 @@ lbl_80027C70: lbl_80027C78: /* 80027C78 00024BD8 28 1D 00 00 */ cmplwi r29, 0 /* 80027C7C 00024BDC 41 82 00 20 */ beq lbl_80027C9C -/* 80027C80 00024BE0 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80027C84 00024BE4 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80027C80 00024BE0 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80027C84 00024BE4 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80027C88 00024BE8 90 1D 00 00 */ stw r0, 0(r29) /* 80027C8C 00024BEC 41 82 00 10 */ beq lbl_80027C9C /* 80027C90 00024BF0 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -3306,11 +3306,11 @@ sub_80027ccc: /* 80027D00 00024C60 28 03 00 00 */ cmplwi r3, 0 /* 80027D04 00024C64 41 82 00 2C */ beq lbl_80027D30 /* 80027D08 00024C68 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80027D0C 00024C6C 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80027D0C 00024C6C 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80027D10 00024C70 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80027D14 00024C74 3C 80 80 3E */ lis r4, "__vt__40TObjOwnerDerivedFromIObj<12CStringTable>"@ha /* 80027D18 00024C78 90 03 00 00 */ stw r0, 0(r3) -/* 80027D1C 00024C7C 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80027D1C 00024C7C 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80027D20 00024C80 38 04 9A 0C */ addi r0, r4, "__vt__40TObjOwnerDerivedFromIObj<12CStringTable>"@l /* 80027D24 00024C84 90 A3 00 00 */ stw r5, 0(r3) /* 80027D28 00024C88 93 E3 00 04 */ stw r31, 4(r3) diff --git a/asm/MetroidPrime/CGroundMovement.s b/asm/MetroidPrime/CGroundMovement.s index a06e1ee7..b06a56c3 100644 --- a/asm/MetroidPrime/CGroundMovement.s +++ b/asm/MetroidPrime/CGroundMovement.s @@ -3567,8 +3567,8 @@ lbl_80188B8C: /* 80188C28 00185B88 38 81 00 54 */ addi r4, r1, 0x54 /* 80188C2C 00185B8C 4B F9 1E 0D */ bl MoveCollisionPrimitive__13CPhysicsActorFRC9CVector3f /* 80188C30 00185B90 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) -/* 80188C34 00185B94 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 80188C38 00185B98 38 A3 67 54 */ addi r5, r3, lbl_805A6754@l +/* 80188C34 00185B94 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 80188C38 00185B98 38 A3 67 54 */ addi r5, r3, mskInvertedBox__6CAABox@l /* 80188C3C 00185B9C 7F 04 C3 78 */ mr r4, r24 /* 80188C40 00185BA0 B0 1D 00 00 */ sth r0, 0(r29) /* 80188C44 00185BA4 38 61 00 C0 */ addi r3, r1, 0xc0 @@ -3818,8 +3818,8 @@ lbl_80188F54: /* 80188FC0 00185F20 7C F8 3B 78 */ mr r24, r7 /* 80188FC4 00185F24 7D 19 43 78 */ mr r25, r8 /* 80188FC8 00185F28 40 81 02 A8 */ ble lbl_80189270 -/* 80188FCC 00185F2C 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 80188FD0 00185F30 C4 C3 67 54 */ lfsu f6, lbl_805A6754@l(r3) +/* 80188FCC 00185F2C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 80188FD0 00185F30 C4 C3 67 54 */ lfsu f6, mskInvertedBox__6CAABox@l(r3) /* 80188FD4 00185F34 C0 02 A3 18 */ lfs f0, lbl_805AC038@sda21(r2) /* 80188FD8 00185F38 3B 7F 00 04 */ addi r27, r31, 4 /* 80188FDC 00185F3C C0 A3 00 04 */ lfs f5, 4(r3) diff --git a/asm/MetroidPrime/CMapArea.s b/asm/MetroidPrime/CMapArea.s index 2b52cf64..b3bd0253 100644 --- a/asm/MetroidPrime/CMapArea.s +++ b/asm/MetroidPrime/CMapArea.s @@ -171,8 +171,8 @@ lbl_80080284: lbl_800802E4: /* 800802E4 0007D244 28 1E 00 00 */ cmplwi r30, 0 /* 800802E8 0007D248 41 82 00 20 */ beq lbl_80080308 -/* 800802EC 0007D24C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 800802F0 0007D250 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800802EC 0007D24C 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 800802F0 0007D250 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 800802F4 0007D254 90 1E 00 00 */ stw r0, 0(r30) /* 800802F8 0007D258 41 82 00 10 */ beq lbl_80080308 /* 800802FC 0007D25C 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -224,11 +224,11 @@ lbl_80080318: /* 80080394 0007D2F4 28 03 00 00 */ cmplwi r3, 0 /* 80080398 0007D2F8 41 82 00 38 */ beq lbl_800803D0 /* 8008039C 0007D2FC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 800803A0 0007D300 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 800803A0 0007D300 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 800803A4 0007D304 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 800803A8 0007D308 3C 80 80 3E */ lis r4, lbl_803DAB80@ha /* 800803AC 0007D30C 90 03 00 00 */ stw r0, 0(r3) -/* 800803B0 0007D310 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800803B0 0007D310 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 800803B4 0007D314 38 A0 00 00 */ li r5, 0 /* 800803B8 0007D318 38 04 AB 80 */ addi r0, r4, lbl_803DAB80@l /* 800803BC 0007D31C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/CMapUniverse.s b/asm/MetroidPrime/CMapUniverse.s index b2511ddd..a3358634 100644 --- a/asm/MetroidPrime/CMapUniverse.s +++ b/asm/MetroidPrime/CMapUniverse.s @@ -113,8 +113,8 @@ lbl_80201DF4: lbl_80201E50: /* 80201E50 001FEDB0 28 1E 00 00 */ cmplwi r30, 0 /* 80201E54 001FEDB4 41 82 00 20 */ beq lbl_80201E74 -/* 80201E58 001FEDB8 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80201E5C 001FEDBC 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80201E58 001FEDB8 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80201E5C 001FEDBC 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80201E60 001FEDC0 90 1E 00 00 */ stw r0, 0(r30) /* 80201E64 001FEDC4 41 82 00 10 */ beq lbl_80201E74 /* 80201E68 001FEDC8 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -166,11 +166,11 @@ lbl_80201E84: /* 80201F00 001FEE60 28 03 00 00 */ cmplwi r3, 0 /* 80201F04 001FEE64 41 82 00 38 */ beq lbl_80201F3C /* 80201F08 001FEE68 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80201F0C 001FEE6C 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80201F0C 001FEE6C 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80201F10 001FEE70 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80201F14 001FEE74 3C 80 80 3E */ lis r4, lbl_803E6BD0@ha /* 80201F18 001FEE78 90 03 00 00 */ stw r0, 0(r3) -/* 80201F1C 001FEE7C 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80201F1C 001FEE7C 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80201F20 001FEE80 38 A0 00 00 */ li r5, 0 /* 80201F24 001FEE84 38 04 6B D0 */ addi r0, r4, lbl_803E6BD0@l /* 80201F28 001FEE88 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/CMapWorld.s b/asm/MetroidPrime/CMapWorld.s index a634bf67..8e66021c 100644 --- a/asm/MetroidPrime/CMapWorld.s +++ b/asm/MetroidPrime/CMapWorld.s @@ -1096,8 +1096,8 @@ lbl_8009F4BC: lbl_8009F514: /* 8009F514 0009C474 28 1E 00 00 */ cmplwi r30, 0 /* 8009F518 0009C478 41 82 00 20 */ beq lbl_8009F538 -/* 8009F51C 0009C47C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 8009F520 0009C480 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8009F51C 0009C47C 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 8009F520 0009C480 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8009F524 0009C484 90 1E 00 00 */ stw r0, 0(r30) /* 8009F528 0009C488 41 82 00 10 */ beq lbl_8009F538 /* 8009F52C 0009C48C 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -1149,11 +1149,11 @@ lbl_8009F548: /* 8009F5C4 0009C524 28 03 00 00 */ cmplwi r3, 0 /* 8009F5C8 0009C528 41 82 00 38 */ beq lbl_8009F600 /* 8009F5CC 0009C52C 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8009F5D0 0009C530 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8009F5D0 0009C530 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8009F5D4 0009C534 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8009F5D8 0009C538 3C 80 80 3E */ lis r4, lbl_803DAF48@ha /* 8009F5DC 0009C53C 90 03 00 00 */ stw r0, 0(r3) -/* 8009F5E0 0009C540 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8009F5E0 0009C540 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8009F5E4 0009C544 38 A0 00 00 */ li r5, 0 /* 8009F5E8 0009C548 38 04 AF 48 */ addi r0, r4, lbl_803DAF48@l /* 8009F5EC 0009C54C 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/CProjectedShadow.s b/asm/MetroidPrime/CProjectedShadow.s index 0d2e7435..3774c87d 100644 --- a/asm/MetroidPrime/CProjectedShadow.s +++ b/asm/MetroidPrime/CProjectedShadow.s @@ -908,9 +908,9 @@ __ct__16CProjectedShadowFv: /* 8029E404 0029B364 93 C1 00 08 */ stw r30, 8(r1) /* 8029E408 0029B368 7C 7E 1B 78 */ mr r30, r3 /* 8029E40C 0029B36C 48 07 1A 21 */ bl __ct__8CTextureF12ETexelFormatssi -/* 8029E410 0029B370 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 8029E410 0029B370 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 8029E414 0029B374 38 00 00 00 */ li r0, 0 -/* 8029E418 0029B378 38 A4 67 54 */ addi r5, r4, lbl_805A6754@l +/* 8029E418 0029B378 38 A4 67 54 */ addi r5, r4, mskInvertedBox__6CAABox@l /* 8029E41C 0029B37C 3C 60 80 5A */ lis r3, skZero3f@ha /* 8029E420 0029B380 C0 05 00 00 */ lfs f0, 0(r5) /* 8029E424 0029B384 38 83 66 A0 */ addi r4, r3, skZero3f@l diff --git a/asm/MetroidPrime/CRagDoll.s b/asm/MetroidPrime/CRagDoll.s index d69cdaf0..bbdd0d14 100644 --- a/asm/MetroidPrime/CRagDoll.s +++ b/asm/MetroidPrime/CRagDoll.s @@ -1167,9 +1167,9 @@ SatisfyWorldConstraints__8CRagDollFR13CStateManageri: /* 8020D80C 0020A76C DB 61 24 C0 */ stfd f27, 0x24c0(r1) /* 8020D810 0020A770 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 8020D814 0020A774 BF 01 24 A0 */ stmw r24, 0x24a0(r1) -/* 8020D818 0020A778 3C C0 80 5A */ lis r6, lbl_805A6754@ha +/* 8020D818 0020A778 3C C0 80 5A */ lis r6, mskInvertedBox__6CAABox@ha /* 8020D81C 0020A77C 7C 7D 1B 78 */ mr r29, r3 -/* 8020D820 0020A780 38 66 67 54 */ addi r3, r6, lbl_805A6754@l +/* 8020D820 0020A780 38 66 67 54 */ addi r3, r6, mskInvertedBox__6CAABox@l /* 8020D824 0020A784 7C 9E 23 78 */ mr r30, r4 /* 8020D828 0020A788 C0 A3 00 00 */ lfs f5, 0(r3) /* 8020D82C 0020A78C 7C BF 2B 78 */ mr r31, r5 diff --git a/asm/MetroidPrime/CStateManager.s b/asm/MetroidPrime/CStateManager.s index 0f4d1f35..4aeb6dc2 100644 --- a/asm/MetroidPrime/CStateManager.s +++ b/asm/MetroidPrime/CStateManager.s @@ -868,7 +868,7 @@ lbl_80044370: /* 80044394 000412F4 48 26 E0 5D */ bl GetAudibleFallOff__22CCollisionResponseDataCFv /* 80044398 000412F8 C0 82 85 68 */ lfs f4, lbl_805AA288@sda21(r2) /* 8004439C 000412FC 38 C0 00 00 */ li r6, 0 -/* 800443A0 00041300 88 A2 CC 40 */ lbz r5, lbl_805AE960@sda21(r2) +/* 800443A0 00041300 88 A2 CC 40 */ lbz r5, kMaxVolume__9CAudioSys@sda21(r2) /* 800443A4 00041304 38 E0 00 01 */ li r7, 1 /* 800443A8 00041308 88 02 CC 41 */ lbz r0, lbl_805AE961@sda21(r2) /* 800443AC 0004130C 38 80 00 14 */ li r4, 0x14 @@ -10447,9 +10447,9 @@ lbl_8004C9B0: /* 8004C9B8 00049918 98 61 00 58 */ stb r3, 0x58(r1) /* 8004C9BC 0004991C 28 00 00 00 */ cmplwi r0, 0 /* 8004C9C0 00049920 41 82 00 D0 */ beq lbl_8004CA90 -/* 8004C9C4 00049924 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 8004C9C4 00049924 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 8004C9C8 00049928 3B E1 00 74 */ addi r31, r1, 0x74 -/* 8004C9CC 0004992C 38 A3 67 54 */ addi r5, r3, lbl_805A6754@l +/* 8004C9CC 0004992C 38 A3 67 54 */ addi r5, r3, mskInvertedBox__6CAABox@l /* 8004C9D0 00049930 38 61 00 5C */ addi r3, r1, 0x5c /* 8004C9D4 00049934 C0 A5 00 00 */ lfs f5, 0(r5) /* 8004C9D8 00049938 7F E4 FB 78 */ mr r4, r31 diff --git a/asm/MetroidPrime/Cameras/CBallCamera.s b/asm/MetroidPrime/Cameras/CBallCamera.s index 6f46648d..11f1b980 100644 --- a/asm/MetroidPrime/Cameras/CBallCamera.s +++ b/asm/MetroidPrime/Cameras/CBallCamera.s @@ -11214,9 +11214,9 @@ DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager: /* 8008AAC8 00087A28 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8008AACC 00087A2C D0 21 00 5C */ stfs f1, 0x5c(r1) /* 8008AAD0 00087A30 40 81 05 EC */ ble lbl_8008B0BC -/* 8008AAD4 00087A34 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 8008AAD4 00087A34 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 8008AAD8 00087A38 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) -/* 8008AADC 00087A3C 38 A3 67 54 */ addi r5, r3, lbl_805A6754@l +/* 8008AADC 00087A3C 38 A3 67 54 */ addi r5, r3, mskInvertedBox__6CAABox@l /* 8008AAE0 00087A40 7F 64 DB 78 */ mr r4, r27 /* 8008AAE4 00087A44 C0 A5 00 00 */ lfs f5, 0(r5) /* 8008AAE8 00087A48 EF C0 07 72 */ fmuls f30, f0, f29 @@ -11791,11 +11791,11 @@ lbl_8008B228: "CalculateCollidersBoundingBox__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RC13CStateManager": /* 8008B31C 0008827C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8008B320 00088280 7C 08 02 A6 */ mflr r0 -/* 8008B324 00088284 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 8008B324 00088284 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 8008B328 00088288 90 01 00 54 */ stw r0, 0x54(r1) /* 8008B32C 0008828C BF 61 00 3C */ stmw r27, 0x3c(r1) /* 8008B330 00088290 7C 7B 1B 78 */ mr r27, r3 -/* 8008B334 00088294 38 64 67 54 */ addi r3, r4, lbl_805A6754@l +/* 8008B334 00088294 38 64 67 54 */ addi r3, r4, mskInvertedBox__6CAABox@l /* 8008B338 00088298 7C BC 2B 78 */ mr r28, r5 /* 8008B33C 0008829C 7C DD 33 78 */ mr r29, r6 /* 8008B340 000882A0 3B C0 00 00 */ li r30, 0 diff --git a/asm/MetroidPrime/Cameras/CBallCameraFailsafeState.s b/asm/MetroidPrime/Cameras/CBallCameraFailsafeState.s index dc1dec65..161d6842 100644 --- a/asm/MetroidPrime/Cameras/CBallCameraFailsafeState.s +++ b/asm/MetroidPrime/Cameras/CBallCameraFailsafeState.s @@ -683,9 +683,9 @@ CheckTransitionLineOfSight__11CBallCameraFRC9CVector3fRC9CVector3fRffR13CStateMa /* 8023EF28 0023BE88 D0 41 00 50 */ stfs f2, 0x50(r1) /* 8023EF2C 0023BE8C D0 21 00 54 */ stfs f1, 0x54(r1) /* 8023EF30 0023BE90 40 81 03 B0 */ ble lbl_8023F2E0 -/* 8023EF34 0023BE94 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 8023EF34 0023BE94 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 8023EF38 0023BE98 C0 02 B7 C4 */ lfs f0, lbl_805AD4E4@sda21(r2) -/* 8023EF3C 0023BE9C 38 A3 67 54 */ addi r5, r3, lbl_805A6754@l +/* 8023EF3C 0023BE9C 38 A3 67 54 */ addi r5, r3, mskInvertedBox__6CAABox@l /* 8023EF40 0023BEA0 7F 84 E3 78 */ mr r4, r28 /* 8023EF44 0023BEA4 C0 A5 00 00 */ lfs f5, 0(r5) /* 8023EF48 0023BEA8 EF C0 07 72 */ fmuls f30, f0, f29 diff --git a/asm/MetroidPrime/Cameras/CCameraManager.s b/asm/MetroidPrime/Cameras/CCameraManager.s index c4d04673..4ab3038d 100644 --- a/asm/MetroidPrime/Cameras/CCameraManager.s +++ b/asm/MetroidPrime/Cameras/CCameraManager.s @@ -3096,7 +3096,7 @@ UpdateSfxListener__14CCameraManagerFR13CStateManager: /* 8000BA80 000089E0 C0 21 00 78 */ lfs f1, 0x78(r1) /* 8000BA84 000089E4 C0 01 00 88 */ lfs f0, 0x88(r1) /* 8000BA88 000089E8 D1 01 00 08 */ stfs f8, 8(r1) -/* 8000BA8C 000089EC 88 E2 CC 40 */ lbz r7, lbl_805AE960@sda21(r2) +/* 8000BA8C 000089EC 88 E2 CC 40 */ lbz r7, kMaxVolume__9CAudioSys@sda21(r2) /* 8000BA90 000089F0 D0 E1 00 0C */ stfs f7, 0xc(r1) /* 8000BA94 000089F4 D0 C1 00 10 */ stfs f6, 0x10(r1) /* 8000BA98 000089F8 D0 A1 00 14 */ stfs f5, 0x14(r1) @@ -3613,7 +3613,7 @@ __ct__14CCameraManagerF9TUniqueId: /* 8000C190 000090F0 38 E1 00 08 */ addi r7, r1, 8 /* 8000C194 000090F4 91 7F 00 80 */ stw r11, 0x80(r31) /* 8000C198 000090F8 38 60 00 01 */ li r3, 1 -/* 8000C19C 000090FC 89 22 CC 40 */ lbz r9, lbl_805AE960@sda21(r2) +/* 8000C19C 000090FC 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2) /* 8000C1A0 00009100 39 00 00 01 */ li r8, 1 /* 8000C1A4 00009104 91 7F 00 84 */ stw r11, 0x84(r31) /* 8000C1A8 00009108 91 7F 00 88 */ stw r11, 0x88(r31) diff --git a/asm/MetroidPrime/Enemies/CBabygoth.s b/asm/MetroidPrime/Enemies/CBabygoth.s index 40e9e883..ee811dac 100644 --- a/asm/MetroidPrime/Enemies/CBabygoth.s +++ b/asm/MetroidPrime/Enemies/CBabygoth.s @@ -692,7 +692,7 @@ lbl_8021D938: /* 8021D948 0021A8A8 4B E2 F3 AD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence /* 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, lbl_805AE960@sda21(r2) +/* 8021D954 0021A8B4 88 A2 CC 40 */ lbz r5, kMaxVolume__9CAudioSys@sda21(r2) /* 8021D958 0021A8B8 7F A4 EB 78 */ mr r4, r29 /* 8021D95C 0021A8BC A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2) /* 8021D960 0021A8C0 38 61 00 2C */ addi r3, r1, 0x2c diff --git a/asm/MetroidPrime/Enemies/CDrone.s b/asm/MetroidPrime/Enemies/CDrone.s index 01bf1415..d46a5133 100644 --- a/asm/MetroidPrime/Enemies/CDrone.s +++ b/asm/MetroidPrime/Enemies/CDrone.s @@ -5934,14 +5934,14 @@ lbl_80163CCC: /* 80163CF0 00160C50 48 1A EE 85 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80163CF4 00160C54 38 61 00 D4 */ addi r3, r1, 0xd4 /* 80163CF8 00160C58 48 1D 9D E9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" -/* 80163CFC 00160C5C 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 80163CFC 00160C5C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 80163D00 00160C60 C3 E2 9F 7C */ lfs f31, lbl_805ABC9C@sda21(r2) /* 80163D04 00160C64 3B 9E 08 1C */ addi r28, r30, 0x81c /* 80163D08 00160C68 3A FE 08 28 */ addi r23, r30, 0x828 /* 80163D0C 00160C6C 3B 7E 08 00 */ addi r27, r30, 0x800 /* 80163D10 00160C70 3B 5E 07 E4 */ addi r26, r30, 0x7e4 /* 80163D14 00160C74 3B 3E 07 DC */ addi r25, r30, 0x7dc -/* 80163D18 00160C78 3B A3 67 54 */ addi r29, r3, lbl_805A6754@l +/* 80163D18 00160C78 3B A3 67 54 */ addi r29, r3, mskInvertedBox__6CAABox@l /* 80163D1C 00160C7C 3A C1 01 DC */ addi r22, r1, 0x1dc /* 80163D20 00160C80 3A A1 01 E8 */ addi r21, r1, 0x1e8 /* 80163D24 00160C84 3B 00 00 00 */ li r24, 0 @@ -5981,9 +5981,9 @@ lbl_80163D2C: /* 80163DA8 00160D08 D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 80163DAC 00160D0C D0 01 00 BC */ stfs f0, 0xbc(r1) /* 80163DB0 00160D10 48 1B 0A A1 */ bl AsNormalized__9CVector3fCFv -/* 80163DB4 00160D14 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 80163DB4 00160D14 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 80163DB8 00160D18 C1 21 00 C8 */ lfs f9, 0xc8(r1) -/* 80163DBC 00160D1C 38 A3 67 54 */ addi r5, r3, lbl_805A6754@l +/* 80163DBC 00160D1C 38 A3 67 54 */ addi r5, r3, mskInvertedBox__6CAABox@l /* 80163DC0 00160D20 C1 01 00 CC */ lfs f8, 0xcc(r1) /* 80163DC4 00160D24 C0 E1 00 D0 */ lfs f7, 0xd0(r1) /* 80163DC8 00160D28 38 61 01 60 */ addi r3, r1, 0x160 @@ -9654,8 +9654,8 @@ CalculateRenderBounds__11CDroneLaserFv: /* 80167334 00164294 DB E1 00 90 */ stfd f31, 0x90(r1) /* 80167338 00164298 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 8016733C 0016429C 93 E1 00 8C */ stw r31, 0x8c(r1) -/* 80167340 001642A0 3C 80 80 5A */ lis r4, lbl_805A6754@ha -/* 80167344 001642A4 C4 A4 67 54 */ lfsu f5, lbl_805A6754@l(r4) +/* 80167340 001642A0 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha +/* 80167344 001642A4 C4 A4 67 54 */ lfsu f5, mskInvertedBox__6CAABox@l(r4) /* 80167348 001642A8 7C 7F 1B 78 */ mr r31, r3 /* 8016734C 001642AC 38 61 00 5C */ addi r3, r1, 0x5c /* 80167350 001642B0 C0 84 00 04 */ lfs f4, 4(r4) diff --git a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s index dfaa755b..67fd4055 100644 --- a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s +++ b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s @@ -336,7 +336,7 @@ lbl_8022F8D0: /* 8022F8E0 0022C840 4B E1 D4 15 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence /* 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, lbl_805AE960@sda21(r2) +/* 8022F8EC 0022C84C 88 A2 CC 40 */ lbz r5, kMaxVolume__9CAudioSys@sda21(r2) /* 8022F8F0 0022C850 38 C0 00 40 */ li r6, 0x40 /* 8022F8F4 0022C854 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2) /* 8022F8F8 0022C858 38 E0 00 00 */ li r7, 0 diff --git a/asm/MetroidPrime/Enemies/CIceSheegoth.s b/asm/MetroidPrime/Enemies/CIceSheegoth.s index 9bbccd8e..4ae4551e 100644 --- a/asm/MetroidPrime/Enemies/CIceSheegoth.s +++ b/asm/MetroidPrime/Enemies/CIceSheegoth.s @@ -7836,8 +7836,8 @@ lbl_801A4E00: /* 801A4E08 001A1D68 38 00 00 00 */ li r0, 0 /* 801A4E0C 001A1D6C 98 01 00 3C */ stb r0, 0x3c(r1) lbl_801A4E10: -/* 801A4E10 001A1D70 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 801A4E14 001A1D74 C4 A3 67 54 */ lfsu f5, lbl_805A6754@l(r3) +/* 801A4E10 001A1D70 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 801A4E14 001A1D74 C4 A3 67 54 */ lfsu f5, mskInvertedBox__6CAABox@l(r3) /* 801A4E18 001A1D78 88 01 02 14 */ lbz r0, 0x214(r1) /* 801A4E1C 001A1D7C C0 83 00 04 */ lfs f4, 4(r3) /* 801A4E20 001A1D80 C0 63 00 08 */ lfs f3, 8(r3) diff --git a/asm/MetroidPrime/Enemies/CParasite.s b/asm/MetroidPrime/Enemies/CParasite.s index c42aac9b..de11d942 100644 --- a/asm/MetroidPrime/Enemies/CParasite.s +++ b/asm/MetroidPrime/Enemies/CParasite.s @@ -4898,11 +4898,11 @@ sub_8015abb8: /* 8015ABEC 00157B4C 28 03 00 00 */ cmplwi r3, 0 /* 8015ABF0 00157B50 41 82 00 2C */ beq lbl_8015AC1C /* 8015ABF4 00157B54 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8015ABF8 00157B58 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8015ABF8 00157B58 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8015ABFC 00157B5C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8015AC00 00157B60 3C 80 80 3E */ lis r4, lbl_803D9BC8@ha /* 8015AC04 00157B64 90 03 00 00 */ stw r0, 0(r3) -/* 8015AC08 00157B68 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8015AC08 00157B68 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8015AC0C 00157B6C 38 04 9B C8 */ addi r0, r4, lbl_803D9BC8@l /* 8015AC10 00157B70 90 A3 00 00 */ stw r5, 0(r3) /* 8015AC14 00157B74 93 E3 00 04 */ stw r31, 4(r3) diff --git a/asm/MetroidPrime/Enemies/CRidley.s b/asm/MetroidPrime/Enemies/CRidley.s index 03ea258a..43f39a7e 100644 --- a/asm/MetroidPrime/Enemies/CRidley.s +++ b/asm/MetroidPrime/Enemies/CRidley.s @@ -9116,7 +9116,7 @@ Accept__7CRidleyFR8IVisitor: /* 8025A070 00256FD0 D0 DF 0A B4 */ stfs f6, 0xab4(r31) /* 8025A074 00256FD4 38 A3 25 34 */ addi r5, r3, lbl_80572534@l /* 8025A078 00256FD8 C0 02 B9 CC */ lfs f0, lbl_805AD6EC@sda21(r2) -/* 8025A07C 00256FDC 3C C0 80 5A */ lis r6, lbl_805A6754@ha +/* 8025A07C 00256FDC 3C C0 80 5A */ lis r6, mskInvertedBox__6CAABox@ha /* 8025A080 00256FE0 C0 22 B9 78 */ lfs f1, lbl_805AD698@sda21(r2) /* 8025A084 00256FE4 38 80 00 02 */ li r4, 2 /* 8025A088 00256FE8 D0 1F 0A B8 */ stfs f0, 0xab8(r31) @@ -9127,7 +9127,7 @@ Accept__7CRidleyFR8IVisitor: /* 8025A09C 00256FFC C0 42 B9 D0 */ lfs f2, lbl_805AD6F0@sda21(r2) /* 8025A0A0 00257000 D0 1F 0A C0 */ stfs f0, 0xac0(r31) /* 8025A0A4 00257004 C0 02 B9 D4 */ lfs f0, lbl_805AD6F4@sda21(r2) -/* 8025A0A8 00257008 C4 66 67 54 */ lfsu f3, lbl_805A6754@l(r6) +/* 8025A0A8 00257008 C4 66 67 54 */ lfsu f3, mskInvertedBox__6CAABox@l(r6) /* 8025A0AC 0025700C C0 22 B9 18 */ lfs f1, lbl_805AD638@sda21(r2) /* 8025A0B0 00257010 D0 7F 0A C4 */ stfs f3, 0xac4(r31) /* 8025A0B4 00257014 C0 66 00 04 */ lfs f3, 4(r6) diff --git a/asm/MetroidPrime/Enemies/CSnakeWeedSwarm.s b/asm/MetroidPrime/Enemies/CSnakeWeedSwarm.s index f9cf11a2..0fae7963 100644 --- a/asm/MetroidPrime/Enemies/CSnakeWeedSwarm.s +++ b/asm/MetroidPrime/Enemies/CSnakeWeedSwarm.s @@ -2142,8 +2142,8 @@ sub_8023d204: /* 8023D224 0023A184 80 03 01 34 */ lwz r0, 0x134(r3) /* 8023D228 0023A188 2C 00 00 00 */ cmpwi r0, 0 /* 8023D22C 0023A18C 40 81 00 D8 */ ble lbl_8023D304 -/* 8023D230 0023A190 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 8023D234 0023A194 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 8023D230 0023A190 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 8023D234 0023A194 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 8023D238 0023A198 80 64 00 00 */ lwz r3, 0(r4) /* 8023D23C 0023A19C 80 04 00 04 */ lwz r0, 4(r4) /* 8023D240 0023A1A0 90 7F 01 44 */ stw r3, 0x144(r31) @@ -2658,11 +2658,11 @@ __ct__15CSnakeWeedSwarm: /* 8023D9A0 0023A900 D3 7F 01 18 */ stfs f27, 0x118(r31) /* 8023D9A4 0023A904 48 15 6A 4D */ bl cos /* 8023D9A8 0023A908 FC 00 08 18 */ frsp f0, f1 -/* 8023D9AC 0023A90C 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 8023D9AC 0023A90C 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 8023D9B0 0023A910 3C 60 80 3D */ lis r3, lbl_803D4388@ha /* 8023D9B4 0023A914 38 E0 00 00 */ li r7, 0 /* 8023D9B8 0023A918 38 63 43 88 */ addi r3, r3, lbl_803D4388@l -/* 8023D9BC 0023A91C 38 C4 67 54 */ addi r6, r4, lbl_805A6754@l +/* 8023D9BC 0023A91C 38 C4 67 54 */ addi r6, r4, mskInvertedBox__6CAABox@l /* 8023D9C0 0023A920 D0 1F 01 1C */ stfs f0, 0x11c(r31) /* 8023D9C4 0023A924 38 83 00 0B */ addi r4, r3, 0xb /* 8023D9C8 0023A928 38 60 00 10 */ li r3, 0x10 diff --git a/asm/MetroidPrime/Factories/CAssetFactory.s b/asm/MetroidPrime/Factories/CAssetFactory.s index 1820a189..6aa46070 100644 --- a/asm/MetroidPrime/Factories/CAssetFactory.s +++ b/asm/MetroidPrime/Factories/CAssetFactory.s @@ -348,8 +348,8 @@ sub_80034c54: lbl_80034CA4: /* 80034CA4 00031C04 28 1E 00 00 */ cmplwi r30, 0 /* 80034CA8 00031C08 41 82 00 20 */ beq lbl_80034CC8 -/* 80034CAC 00031C0C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80034CB0 00031C10 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80034CAC 00031C0C 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80034CB0 00031C10 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80034CB4 00031C14 90 1E 00 00 */ stw r0, 0(r30) /* 80034CB8 00031C18 41 82 00 10 */ beq lbl_80034CC8 /* 80034CBC 00031C1C 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -401,11 +401,11 @@ sub_80034d20: /* 80034D54 00031CB4 28 03 00 00 */ cmplwi r3, 0 /* 80034D58 00031CB8 41 82 00 38 */ beq lbl_80034D90 /* 80034D5C 00031CBC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80034D60 00031CC0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80034D60 00031CC0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80034D64 00031CC4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80034D68 00031CC8 3C 80 80 3E */ lis r4, lbl_803D9CA8@ha /* 80034D6C 00031CCC 90 03 00 00 */ stw r0, 0(r3) -/* 80034D70 00031CD0 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80034D70 00031CD0 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80034D74 00031CD4 38 A0 00 00 */ li r5, 0 /* 80034D78 00031CD8 38 04 9C A8 */ addi r0, r4, lbl_803D9CA8@l /* 80034D7C 00031CDC 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/Factories/CCharacterFactory.s b/asm/MetroidPrime/Factories/CCharacterFactory.s index 85ef4181..3a7304af 100644 --- a/asm/MetroidPrime/Factories/CCharacterFactory.s +++ b/asm/MetroidPrime/Factories/CCharacterFactory.s @@ -1739,8 +1739,8 @@ sub_80033068: lbl_800330A8: /* 800330A8 00030008 28 1E 00 00 */ cmplwi r30, 0 /* 800330AC 0003000C 41 82 00 20 */ beq lbl_800330CC -/* 800330B0 00030010 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 800330B4 00030014 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800330B0 00030010 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 800330B4 00030014 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 800330B8 00030018 90 1E 00 00 */ stw r0, 0(r30) /* 800330BC 0003001C 41 82 00 10 */ beq lbl_800330CC /* 800330C0 00030020 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -1939,11 +1939,11 @@ sub_80033320: /* 80033354 000302B4 28 03 00 00 */ cmplwi r3, 0 /* 80033358 000302B8 41 82 00 2C */ beq lbl_80033384 /* 8003335C 000302BC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80033360 000302C0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80033360 000302C0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80033364 000302C4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80033368 000302C8 3C 80 80 3E */ lis r4, lbl_803D9C14@ha /* 8003336C 000302CC 90 03 00 00 */ stw r0, 0(r3) -/* 80033370 000302D0 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80033370 000302D0 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033374 000302D4 38 04 9C 14 */ addi r0, r4, lbl_803D9C14@l /* 80033378 000302D8 90 A3 00 00 */ stw r5, 0(r3) /* 8003337C 000302DC 93 E3 00 04 */ stw r31, 4(r3) @@ -1982,8 +1982,8 @@ sub_800333b0: lbl_800333F0: /* 800333F0 00030350 28 1E 00 00 */ cmplwi r30, 0 /* 800333F4 00030354 41 82 00 20 */ beq lbl_80033414 -/* 800333F8 00030358 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 800333FC 0003035C 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800333F8 00030358 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 800333FC 0003035C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033400 00030360 90 1E 00 00 */ stw r0, 0(r30) /* 80033404 00030364 41 82 00 10 */ beq lbl_80033414 /* 80033408 00030368 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -2095,11 +2095,11 @@ lbl_8003351C: /* 80033574 000304D4 28 03 00 00 */ cmplwi r3, 0 /* 80033578 000304D8 41 82 00 2C */ beq lbl_800335A4 /* 8003357C 000304DC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80033580 000304E0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80033580 000304E0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80033584 000304E4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80033588 000304E8 3C 80 80 3E */ lis r4, lbl_803D9BFC@ha /* 8003358C 000304EC 90 03 00 00 */ stw r0, 0(r3) -/* 80033590 000304F0 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80033590 000304F0 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033594 000304F4 38 04 9B FC */ addi r0, r4, lbl_803D9BFC@l /* 80033598 000304F8 90 A3 00 00 */ stw r5, 0(r3) /* 8003359C 000304FC 93 E3 00 04 */ stw r31, 4(r3) @@ -2678,8 +2678,8 @@ lbl_80033DAC: lbl_80033DC0: /* 80033DC0 00030D20 28 1D 00 00 */ cmplwi r29, 0 /* 80033DC4 00030D24 41 82 00 20 */ beq lbl_80033DE4 -/* 80033DC8 00030D28 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80033DCC 00030D2C 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80033DC8 00030D28 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80033DCC 00030D2C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033DD0 00030D30 90 1D 00 00 */ stw r0, 0(r29) /* 80033DD4 00030D34 41 82 00 10 */ beq lbl_80033DE4 /* 80033DD8 00030D38 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -2732,11 +2732,11 @@ sub_80033e40: /* 80033E74 00030DD4 28 03 00 00 */ cmplwi r3, 0 /* 80033E78 00030DD8 41 82 00 38 */ beq lbl_80033EB0 /* 80033E7C 00030DDC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80033E80 00030DE0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80033E80 00030DE0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80033E84 00030DE4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80033E88 00030DE8 3C 80 80 3E */ lis r4, lbl_803D9BD4@ha /* 80033E8C 00030DEC 90 03 00 00 */ stw r0, 0(r3) -/* 80033E90 00030DF0 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80033E90 00030DF0 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033E94 00030DF4 38 A0 00 00 */ li r5, 0 /* 80033E98 00030DF8 38 04 9B D4 */ addi r0, r4, lbl_803D9BD4@l /* 80033E9C 00030DFC 90 C3 00 00 */ stw r6, 0(r3) @@ -2782,8 +2782,8 @@ sub_80033edc: lbl_80033F2C: /* 80033F2C 00030E8C 28 1E 00 00 */ cmplwi r30, 0 /* 80033F30 00030E90 41 82 00 20 */ beq lbl_80033F50 -/* 80033F34 00030E94 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80033F38 00030E98 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80033F34 00030E94 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80033F38 00030E98 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033F3C 00030E9C 90 1E 00 00 */ stw r0, 0(r30) /* 80033F40 00030EA0 41 82 00 10 */ beq lbl_80033F50 /* 80033F44 00030EA4 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -2835,11 +2835,11 @@ sub_80033fa8: /* 80033FDC 00030F3C 28 03 00 00 */ cmplwi r3, 0 /* 80033FE0 00030F40 41 82 00 38 */ beq lbl_80034018 /* 80033FE4 00030F44 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80033FE8 00030F48 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80033FE8 00030F48 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80033FEC 00030F4C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80033FF0 00030F50 3C 80 80 3E */ lis r4, lbl_803D9BC8@ha /* 80033FF4 00030F54 90 03 00 00 */ stw r0, 0(r3) -/* 80033FF8 00030F58 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80033FF8 00030F58 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80033FFC 00030F5C 38 A0 00 00 */ li r5, 0 /* 80034000 00030F60 38 04 9B C8 */ addi r0, r4, lbl_803D9BC8@l /* 80034004 00030F64 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/Factories/CSaveWorldFactory.s b/asm/MetroidPrime/Factories/CSaveWorldFactory.s index 734c3463..aabca854 100644 --- a/asm/MetroidPrime/Factories/CSaveWorldFactory.s +++ b/asm/MetroidPrime/Factories/CSaveWorldFactory.s @@ -97,8 +97,8 @@ sub_8026ae68: lbl_8026AEA8: /* 8026AEA8 00267E08 28 1E 00 00 */ cmplwi r30, 0 /* 8026AEAC 00267E0C 41 82 00 20 */ beq lbl_8026AECC -/* 8026AEB0 00267E10 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 8026AEB4 00267E14 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8026AEB0 00267E10 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 8026AEB4 00267E14 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8026AEB8 00267E18 90 1E 00 00 */ stw r0, 0(r30) /* 8026AEBC 00267E1C 41 82 00 10 */ beq lbl_8026AECC /* 8026AEC0 00267E20 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -278,11 +278,11 @@ sub_8026b0d8: /* 8026B10C 0026806C 28 03 00 00 */ cmplwi r3, 0 /* 8026B110 00268070 41 82 00 38 */ beq lbl_8026B148 /* 8026B114 00268074 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8026B118 00268078 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8026B118 00268078 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8026B11C 0026807C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8026B120 00268080 3C 80 80 3F */ lis r4, lbl_803EA790@ha /* 8026B124 00268084 90 03 00 00 */ stw r0, 0(r3) -/* 8026B128 00268088 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8026B128 00268088 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8026B12C 0026808C 38 A0 00 00 */ li r5, 0 /* 8026B130 00268090 38 04 A7 90 */ addi r0, r4, lbl_803EA790@l /* 8026B134 00268094 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/Factories/CScannableObjectInfo.s b/asm/MetroidPrime/Factories/CScannableObjectInfo.s index 02b793e8..e3b40c0d 100644 --- a/asm/MetroidPrime/Factories/CScannableObjectInfo.s +++ b/asm/MetroidPrime/Factories/CScannableObjectInfo.s @@ -158,8 +158,8 @@ lbl_80169B08: lbl_80169B0C: /* 80169B0C 00166A6C 28 1E 00 00 */ cmplwi r30, 0 /* 80169B10 00166A70 41 82 00 20 */ beq lbl_80169B30 -/* 80169B14 00166A74 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80169B18 00166A78 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80169B14 00166A74 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80169B18 00166A78 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80169B1C 00166A7C 90 1E 00 00 */ stw r0, 0(r30) /* 80169B20 00166A80 41 82 00 10 */ beq lbl_80169B30 /* 80169B24 00166A84 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -211,11 +211,11 @@ sub_80169b88: /* 80169BBC 00166B1C 28 03 00 00 */ cmplwi r3, 0 /* 80169BC0 00166B20 41 82 00 38 */ beq lbl_80169BF8 /* 80169BC4 00166B24 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80169BC8 00166B28 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80169BC8 00166B28 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80169BCC 00166B2C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80169BD0 00166B30 3C 80 80 3E */ lis r4, lbl_803E3AC8@ha /* 80169BD4 00166B34 90 03 00 00 */ stw r0, 0(r3) -/* 80169BD8 00166B38 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80169BD8 00166B38 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80169BDC 00166B3C 38 A0 00 00 */ li r5, 0 /* 80169BE0 00166B40 38 04 3A C8 */ addi r0, r4, lbl_803E3AC8@l /* 80169BE4 00166B44 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/Factories/CStateMachineFactory.s b/asm/MetroidPrime/Factories/CStateMachineFactory.s index 1c1cb8e4..79d95bc3 100644 --- a/asm/MetroidPrime/Factories/CStateMachineFactory.s +++ b/asm/MetroidPrime/Factories/CStateMachineFactory.s @@ -108,8 +108,8 @@ sub_800de904: lbl_800DE944: /* 800DE944 000DB8A4 28 1E 00 00 */ cmplwi r30, 0 /* 800DE948 000DB8A8 41 82 00 20 */ beq lbl_800DE968 -/* 800DE94C 000DB8AC 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 800DE950 000DB8B0 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800DE94C 000DB8AC 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 800DE950 000DB8B0 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 800DE954 000DB8B4 90 1E 00 00 */ stw r0, 0(r30) /* 800DE958 000DB8B8 41 82 00 10 */ beq lbl_800DE968 /* 800DE95C 000DB8BC 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -226,11 +226,11 @@ lbl_800DEA54: /* 800DEAD0 000DBA30 28 03 00 00 */ cmplwi r3, 0 /* 800DEAD4 000DBA34 41 82 00 38 */ beq lbl_800DEB0C /* 800DEAD8 000DBA38 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 800DEADC 000DBA3C 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 800DEADC 000DBA3C 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 800DEAE0 000DBA40 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 800DEAE4 000DBA44 3C 80 80 3E */ lis r4, lbl_803DF700@ha /* 800DEAE8 000DBA48 90 03 00 00 */ stw r0, 0(r3) -/* 800DEAEC 000DBA4C 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800DEAEC 000DBA4C 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 800DEAF0 000DBA50 38 A0 00 00 */ li r5, 0 /* 800DEAF4 000DBA54 38 04 F7 00 */ addi r0, r4, lbl_803DF700@l /* 800DEAF8 000DBA58 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/HUD/CHudDecoInterface.s b/asm/MetroidPrime/HUD/CHudDecoInterface.s index d1d06f78..0b44ed07 100644 --- a/asm/MetroidPrime/HUD/CHudDecoInterface.s +++ b/asm/MetroidPrime/HUD/CHudDecoInterface.s @@ -3867,9 +3867,9 @@ lbl_8019235C: /* 801924E8 0018F448 7F 9C 23 78 */ or r28, r28, r4 /* 801924EC 0018F44C FC 00 D0 50 */ fneg f0, f26 /* 801924F0 0018F450 7F 7B 1B 78 */ or r27, r27, r3 -/* 801924F4 0018F454 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 801924F4 0018F454 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 801924F8 0018F458 38 00 00 03 */ li r0, 3 -/* 801924FC 0018F45C 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 801924FC 0018F45C 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 80192500 0018F460 EC 5E 08 2A */ fadds f2, f30, f1 /* 80192504 0018F464 EC 3D 08 2A */ fadds f1, f29, f1 /* 80192508 0018F468 C1 04 00 00 */ lfs f8, 0(r4) diff --git a/asm/MetroidPrime/HUD/CSamusHud.s b/asm/MetroidPrime/HUD/CSamusHud.s index e773dae8..ef0caf8b 100644 --- a/asm/MetroidPrime/HUD/CSamusHud.s +++ b/asm/MetroidPrime/HUD/CSamusHud.s @@ -8452,9 +8452,9 @@ lbl_8006B7D0: /* 8006B80C 0006876C 90 61 01 00 */ stw r3, 0x100(r1) /* 8006B810 00068770 90 01 01 04 */ stw r0, 0x104(r1) lbl_8006B814: -/* 8006B814 00068774 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 8006B814 00068774 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 8006B818 00068778 80 AD A1 38 */ lwz r5, gpTweakGui@sda21(r13) -/* 8006B81C 0006877C 38 C3 67 54 */ addi r6, r3, lbl_805A6754@l +/* 8006B81C 0006877C 38 C3 67 54 */ addi r6, r3, mskInvertedBox__6CAABox@l /* 8006B820 00068780 38 61 00 BC */ addi r3, r1, 0xbc /* 8006B824 00068784 C0 A6 00 00 */ lfs f5, 0(r6) /* 8006B828 00068788 38 81 00 28 */ addi r4, r1, 0x28 diff --git a/asm/MetroidPrime/PathFinding/CPathFindArea.s b/asm/MetroidPrime/PathFinding/CPathFindArea.s index 7911a033..eaac7436 100644 --- a/asm/MetroidPrime/PathFinding/CPathFindArea.s +++ b/asm/MetroidPrime/PathFinding/CPathFindArea.s @@ -112,8 +112,8 @@ sub_801ca284: lbl_801CA2C4: /* 801CA2C4 001C7224 28 1E 00 00 */ cmplwi r30, 0 /* 801CA2C8 001C7228 41 82 00 20 */ beq lbl_801CA2E8 -/* 801CA2CC 001C722C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 801CA2D0 001C7230 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 801CA2CC 001C722C 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 801CA2D0 001C7230 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 801CA2D4 001C7234 90 1E 00 00 */ stw r0, 0(r30) /* 801CA2D8 001C7238 41 82 00 10 */ beq lbl_801CA2E8 /* 801CA2DC 001C723C 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -235,11 +235,11 @@ lbl_801CA3E4: /* 801CA460 001C73C0 28 03 00 00 */ cmplwi r3, 0 /* 801CA464 001C73C4 41 82 00 38 */ beq lbl_801CA49C /* 801CA468 001C73C8 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 801CA46C 001C73CC 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 801CA46C 001C73CC 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 801CA470 001C73D0 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 801CA474 001C73D4 3C 80 80 3E */ lis r4, lbl_803E5718@ha /* 801CA478 001C73D8 90 03 00 00 */ stw r0, 0(r3) -/* 801CA47C 001C73DC 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 801CA47C 001C73DC 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 801CA480 001C73E0 38 A0 00 00 */ li r5, 0 /* 801CA484 001C73E4 38 04 57 18 */ addi r0, r4, lbl_803E5718@l /* 801CA488 001C73E8 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/PathFinding/CPathFindRegion.s b/asm/MetroidPrime/PathFinding/CPathFindRegion.s index 2fd40cd9..09f6f69e 100644 --- a/asm/MetroidPrime/PathFinding/CPathFindRegion.s +++ b/asm/MetroidPrime/PathFinding/CPathFindRegion.s @@ -1202,7 +1202,7 @@ __ct__9CPFRegionFv: /* 801CA010 001C6F70 C0 02 AB 4C */ lfs f0, lbl_805AC86C@sda21(r2) /* 801CA014 001C6F74 90 03 00 00 */ stw r0, 0(r3) /* 801CA018 001C6F78 3C A0 80 5A */ lis r5, skZero3f@ha -/* 801CA01C 001C6F7C 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 801CA01C 001C6F7C 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 801CA020 001C6F80 90 03 00 04 */ stw r0, 4(r3) /* 801CA024 001C6F84 90 03 00 08 */ stw r0, 8(r3) /* 801CA028 001C6F88 90 03 00 0C */ stw r0, 0xc(r3) @@ -1221,7 +1221,7 @@ __ct__9CPFRegionFv: /* 801CA05C 001C6FBC D0 03 00 2C */ stfs f0, 0x2c(r3) /* 801CA060 001C6FC0 C0 05 00 08 */ lfs f0, 8(r5) /* 801CA064 001C6FC4 D0 03 00 30 */ stfs f0, 0x30(r3) -/* 801CA068 001C6FC8 C4 04 67 54 */ lfsu f0, lbl_805A6754@l(r4) +/* 801CA068 001C6FC8 C4 04 67 54 */ lfsu f0, mskInvertedBox__6CAABox@l(r4) /* 801CA06C 001C6FCC D0 03 00 34 */ stfs f0, 0x34(r3) /* 801CA070 001C6FD0 C0 04 00 04 */ lfs f0, 4(r4) /* 801CA074 001C6FD4 D0 03 00 38 */ stfs f0, 0x38(r3) diff --git a/asm/MetroidPrime/Player/CGameHintInfo.s b/asm/MetroidPrime/Player/CGameHintInfo.s index 9d4dddad..d1980a61 100644 --- a/asm/MetroidPrime/Player/CGameHintInfo.s +++ b/asm/MetroidPrime/Player/CGameHintInfo.s @@ -125,8 +125,8 @@ sub_8026726c: lbl_802672AC: /* 802672AC 0026420C 28 1E 00 00 */ cmplwi r30, 0 /* 802672B0 00264210 41 82 00 20 */ beq lbl_802672D0 -/* 802672B4 00264214 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802672B8 00264218 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802672B4 00264214 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802672B8 00264218 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802672BC 0026421C 90 1E 00 00 */ stw r0, 0(r30) /* 802672C0 00264220 41 82 00 10 */ beq lbl_802672D0 /* 802672C4 00264224 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -329,11 +329,11 @@ sub_80267520: /* 80267554 002644B4 28 03 00 00 */ cmplwi r3, 0 /* 80267558 002644B8 41 82 00 38 */ beq lbl_80267590 /* 8026755C 002644BC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80267560 002644C0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80267560 002644C0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80267564 002644C4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80267568 002644C8 3C 80 80 3F */ lis r4, lbl_803EA0E0@ha /* 8026756C 002644CC 90 03 00 00 */ stw r0, 0(r3) -/* 80267570 002644D0 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80267570 002644D0 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80267574 002644D4 38 A0 00 00 */ li r5, 0 /* 80267578 002644D8 38 04 A0 E0 */ addi r0, r4, lbl_803EA0E0@l /* 8026757C 002644DC 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/MetroidPrime/Player/CGrappleArm.s b/asm/MetroidPrime/Player/CGrappleArm.s index aa83257c..ec58a1be 100644 --- a/asm/MetroidPrime/Player/CGrappleArm.s +++ b/asm/MetroidPrime/Player/CGrappleArm.s @@ -1303,7 +1303,7 @@ lbl_8011E408: /* 8011E42C 0011B38C 40 82 00 44 */ bne lbl_8011E470 lbl_8011E430: /* 8011E430 0011B390 38 01 00 24 */ addi r0, r1, 0x24 -/* 8011E434 0011B394 89 22 CC 40 */ lbz r9, lbl_805AE960@sda21(r2) +/* 8011E434 0011B394 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2) /* 8011E438 0011B398 90 01 00 08 */ stw r0, 8(r1) /* 8011E43C 0011B39C 38 7E 03 4C */ addi r3, r30, 0x34c /* 8011E440 0011B3A0 38 9E 03 AC */ addi r4, r30, 0x3ac @@ -1368,7 +1368,7 @@ lbl_8011E4FC: /* 8011E510 0011B470 38 9E 03 AC */ addi r4, r30, 0x3ac /* 8011E514 0011B474 93 A1 00 0C */ stw r29, 0xc(r1) /* 8011E518 0011B478 39 41 00 18 */ addi r10, r1, 0x18 -/* 8011E51C 0011B47C 89 22 CC 40 */ lbz r9, lbl_805AE960@sda21(r2) +/* 8011E51C 0011B47C 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2) /* 8011E520 0011B480 38 A0 00 00 */ li r5, 0 /* 8011E524 0011B484 93 E1 00 10 */ stw r31, 0x10(r1) /* 8011E528 0011B488 39 00 00 14 */ li r8, 0x14 diff --git a/asm/MetroidPrime/Player/CMorphBallShadow.s b/asm/MetroidPrime/Player/CMorphBallShadow.s index 8627f4b1..563fd427 100644 --- a/asm/MetroidPrime/Player/CMorphBallShadow.s +++ b/asm/MetroidPrime/Player/CMorphBallShadow.s @@ -1138,8 +1138,8 @@ lbl_80296B1C: /* 80296BC0 00293B20 38 7C 00 A8 */ addi r3, r28, 0xa8 /* 80296BC4 00293B24 48 0A A2 E5 */ bl __ct__6CTokenFRC6CToken /* 80296BC8 00293B28 93 BC 00 B0 */ stw r29, 0xb0(r28) -/* 80296BCC 00293B2C 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 80296BD0 00293B30 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 80296BCC 00293B2C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 80296BD0 00293B30 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 80296BD4 00293B34 38 00 00 00 */ li r0, 0 /* 80296BD8 00293B38 93 DC 00 B4 */ stw r30, 0xb4(r28) /* 80296BDC 00293B3C 38 7C 00 A8 */ addi r3, r28, 0xa8 diff --git a/asm/MetroidPrime/Player/CPlayerGun.s b/asm/MetroidPrime/Player/CPlayerGun.s index ae8ca903..765b9a24 100644 --- a/asm/MetroidPrime/Player/CPlayerGun.s +++ b/asm/MetroidPrime/Player/CPlayerGun.s @@ -2320,7 +2320,7 @@ lbl_8003C198: /* 8003C1B8 00039118 40 82 00 44 */ bne lbl_8003C1FC lbl_8003C1BC: /* 8003C1BC 0003911C 38 01 00 24 */ addi r0, r1, 0x24 -/* 8003C1C0 00039120 89 22 CC 40 */ lbz r9, lbl_805AE960@sda21(r2) +/* 8003C1C0 00039120 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2) /* 8003C1C4 00039124 90 01 00 08 */ stw r0, 8(r1) /* 8003C1C8 00039128 38 7E 06 70 */ addi r3, r30, 0x670 /* 8003C1CC 0003912C 38 9E 03 28 */ addi r4, r30, 0x328 @@ -2384,7 +2384,7 @@ lbl_8003C284: /* 8003C298 000391F8 38 9E 03 28 */ addi r4, r30, 0x328 /* 8003C29C 000391FC 93 A1 00 0C */ stw r29, 0xc(r1) /* 8003C2A0 00039200 39 41 00 18 */ addi r10, r1, 0x18 -/* 8003C2A4 00039204 89 22 CC 40 */ lbz r9, lbl_805AE960@sda21(r2) +/* 8003C2A4 00039204 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2) /* 8003C2A8 00039208 38 A0 00 00 */ li r5, 0 /* 8003C2AC 0003920C 93 E1 00 10 */ stw r31, 0x10(r1) /* 8003C2B0 00039210 39 00 00 14 */ li r8, 0x14 diff --git a/asm/MetroidPrime/ScriptObjects/CScriptEffect.s b/asm/MetroidPrime/ScriptObjects/CScriptEffect.s index 82291d67..685e3ee3 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptEffect.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptEffect.s @@ -360,8 +360,8 @@ lbl_8008DDB4: /* 8008DDC4 0008AD24 28 00 00 00 */ cmplwi r0, 0 /* 8008DDC8 0008AD28 41 82 00 C8 */ beq lbl_8008DE90 lbl_8008DDCC: -/* 8008DDCC 0008AD2C 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 8008DDD0 0008AD30 C4 A3 67 54 */ lfsu f5, lbl_805A6754@l(r3) +/* 8008DDCC 0008AD2C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 8008DDD0 0008AD30 C4 A3 67 54 */ lfsu f5, mskInvertedBox__6CAABox@l(r3) /* 8008DDD4 0008AD34 28 04 00 00 */ cmplwi r4, 0 /* 8008DDD8 0008AD38 C0 83 00 04 */ lfs f4, 4(r3) /* 8008DDDC 0008AD3C C0 63 00 08 */ lfs f3, 8(r3) @@ -2243,8 +2243,8 @@ lbl_8008F850: lbl_8008F8F0: /* 8008F8F0 0008C850 28 1E 00 00 */ cmplwi r30, 0 /* 8008F8F4 0008C854 41 82 00 20 */ beq lbl_8008F914 -/* 8008F8F8 0008C858 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 8008F8FC 0008C85C 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8008F8F8 0008C858 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 8008F8FC 0008C85C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8008F900 0008C860 90 1E 00 00 */ stw r0, 0(r30) /* 8008F904 0008C864 41 82 00 10 */ beq lbl_8008F914 /* 8008F908 0008C868 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -2282,11 +2282,11 @@ lbl_8008F924: /* 8008F974 0008C8D4 28 03 00 00 */ cmplwi r3, 0 /* 8008F978 0008C8D8 41 82 00 2C */ beq lbl_8008F9A4 /* 8008F97C 0008C8DC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8008F980 0008C8E0 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8008F980 0008C8E0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8008F984 0008C8E4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8008F988 0008C8E8 3C 80 80 3E */ lis r4, lbl_803DACB0@ha /* 8008F98C 0008C8EC 90 03 00 00 */ stw r0, 0(r3) -/* 8008F990 0008C8F0 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8008F990 0008C8F0 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8008F994 0008C8F4 38 04 AC B0 */ addi r0, r4, lbl_803DACB0@l /* 8008F998 0008C8F8 90 A3 00 00 */ stw r5, 0(r3) /* 8008F99C 0008C8FC 93 E3 00 04 */ stw r31, 4(r3) @@ -2325,8 +2325,8 @@ lbl_8008F9A4: lbl_8008FA10: /* 8008FA10 0008C970 28 1E 00 00 */ cmplwi r30, 0 /* 8008FA14 0008C974 41 82 00 20 */ beq lbl_8008FA34 -/* 8008FA18 0008C978 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 8008FA1C 0008C97C 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8008FA18 0008C978 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 8008FA1C 0008C97C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8008FA20 0008C980 90 1E 00 00 */ stw r0, 0(r30) /* 8008FA24 0008C984 41 82 00 10 */ beq lbl_8008FA34 /* 8008FA28 0008C988 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -2364,11 +2364,11 @@ lbl_8008FA44: /* 8008FA94 0008C9F4 28 03 00 00 */ cmplwi r3, 0 /* 8008FA98 0008C9F8 41 82 00 2C */ beq lbl_8008FAC4 /* 8008FA9C 0008C9FC 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 8008FAA0 0008CA00 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 8008FAA0 0008CA00 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 8008FAA4 0008CA04 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8008FAA8 0008CA08 3C 80 80 3E */ lis r4, lbl_803DACA4@ha /* 8008FAAC 0008CA0C 90 03 00 00 */ stw r0, 0(r3) -/* 8008FAB0 0008CA10 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 8008FAB0 0008CA10 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 8008FAB4 0008CA14 38 04 AC A4 */ addi r0, r4, lbl_803DACA4@l /* 8008FAB8 0008CA18 90 A3 00 00 */ stw r5, 0(r3) /* 8008FABC 0008CA1C 93 E3 00 04 */ stw r31, 4(r3) diff --git a/asm/MetroidPrime/Weapons/CEnergyProjectile.s b/asm/MetroidPrime/Weapons/CEnergyProjectile.s index 16a7ed1e..1b6e7b44 100644 --- a/asm/MetroidPrime/Weapons/CEnergyProjectile.s +++ b/asm/MetroidPrime/Weapons/CEnergyProjectile.s @@ -187,7 +187,7 @@ PlayImpactSound__17CEnergyProjectileFRC9CVector3f29EWeaponCollisionResponseTypes /* 80213CC4 00210C24 48 09 B4 9D */ bl GetAudibleFallOff__17CProjectileWeaponCFv /* 80213CC8 00210C28 C0 82 B3 10 */ lfs f4, lbl_805AD030@sda21(r2) /* 80213CCC 00210C2C 38 C0 00 00 */ li r6, 0 -/* 80213CD0 00210C30 88 A2 CC 40 */ lbz r5, lbl_805AE960@sda21(r2) +/* 80213CD0 00210C30 88 A2 CC 40 */ lbz r5, kMaxVolume__9CAudioSys@sda21(r2) /* 80213CD4 00210C34 38 E0 00 01 */ li r7, 1 /* 80213CD8 00210C38 88 02 CC 41 */ lbz r0, lbl_805AE961@sda21(r2) /* 80213CDC 00210C3C 38 80 00 14 */ li r4, 0x14 diff --git a/asm/MetroidPrime/Weapons/CNewFlameThrower.s b/asm/MetroidPrime/Weapons/CNewFlameThrower.s index a00e1c3b..2cbf1070 100644 --- a/asm/MetroidPrime/Weapons/CNewFlameThrower.s +++ b/asm/MetroidPrime/Weapons/CNewFlameThrower.s @@ -1523,8 +1523,8 @@ lbl_8026245C: /* 80262470 0025F3D0 88 01 02 40 */ lbz r0, 0x240(r1) /* 80262474 0025F3D4 28 00 00 00 */ cmplwi r0, 0 /* 80262478 0025F3D8 40 82 00 84 */ bne lbl_802624FC -/* 8026247C 0025F3DC 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 80262480 0025F3E0 39 03 67 54 */ addi r8, r3, lbl_805A6754@l +/* 8026247C 0025F3DC 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 80262480 0025F3E0 39 03 67 54 */ addi r8, r3, mskInvertedBox__6CAABox@l /* 80262484 0025F3E4 40 82 00 48 */ bne lbl_802624CC /* 80262488 0025F3E8 34 61 02 28 */ addic. r3, r1, 0x228 /* 8026248C 0025F3EC 41 82 00 34 */ beq lbl_802624C0 diff --git a/asm/MetroidPrime/main.s b/asm/MetroidPrime/main.s index a40f0126..de18ace8 100644 --- a/asm/MetroidPrime/main.s +++ b/asm/MetroidPrime/main.s @@ -26,8 +26,8 @@ __vt__4IObj: .4byte 0 .4byte 0 -.global __vt__31TObjOwnerDerivedFromIObjUntyped -__vt__31TObjOwnerDerivedFromIObjUntyped: +.global __vt__31CObjOwnerDerivedFromIObjUntyped +__vt__31CObjOwnerDerivedFromIObjUntyped: # ROM: 0x3D5D78 .4byte 0 .4byte 0 @@ -5831,8 +5831,8 @@ sub_8000799c: lbl_800079DC: /* 800079DC 0000493C 28 1E 00 00 */ cmplwi r30, 0 /* 800079E0 00004940 41 82 00 20 */ beq lbl_80007A00 -/* 800079E4 00004944 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 800079E8 00004948 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 800079E4 00004944 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 800079E8 00004948 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 800079EC 0000494C 90 1E 00 00 */ stw r0, 0(r30) /* 800079F0 00004950 41 82 00 10 */ beq lbl_80007A00 /* 800079F4 00004954 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -5870,11 +5870,11 @@ lbl_80007A10: /* 80007A60 000049C0 28 03 00 00 */ cmplwi r3, 0 /* 80007A64 000049C4 41 82 00 2C */ beq lbl_80007A90 /* 80007A68 000049C8 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80007A6C 000049CC 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80007A6C 000049CC 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80007A70 000049D0 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80007A74 000049D4 3C 80 80 3E */ lis r4, lbl_803D8D84@ha /* 80007A78 000049D8 90 03 00 00 */ stw r0, 0(r3) -/* 80007A7C 000049DC 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80007A7C 000049DC 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80007A80 000049E0 38 04 8D 84 */ addi r0, r4, lbl_803D8D84@l /* 80007A84 000049E4 90 A3 00 00 */ stw r5, 0(r3) /* 80007A88 000049E8 93 E3 00 04 */ stw r31, 4(r3) @@ -6012,8 +6012,8 @@ sub_80007c30: lbl_80007C70: /* 80007C70 00004BD0 28 1E 00 00 */ cmplwi r30, 0 /* 80007C74 00004BD4 41 82 00 20 */ beq lbl_80007C94 -/* 80007C78 00004BD8 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 80007C7C 00004BDC 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80007C78 00004BD8 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 80007C7C 00004BDC 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80007C80 00004BE0 90 1E 00 00 */ stw r0, 0(r30) /* 80007C84 00004BE4 41 82 00 10 */ beq lbl_80007C94 /* 80007C88 00004BE8 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -6134,11 +6134,11 @@ sub_80007dd8: /* 80007E0C 00004D6C 28 03 00 00 */ cmplwi r3, 0 /* 80007E10 00004D70 41 82 00 2C */ beq lbl_80007E3C /* 80007E14 00004D74 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 80007E18 00004D78 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 80007E18 00004D78 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 80007E1C 00004D7C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 80007E20 00004D80 3C 80 80 3E */ lis r4, lbl_803D8D60@ha /* 80007E24 00004D84 90 03 00 00 */ stw r0, 0(r3) -/* 80007E28 00004D88 38 A5 8D 78 */ addi r5, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 80007E28 00004D88 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 80007E2C 00004D8C 38 04 8D 60 */ addi r0, r4, lbl_803D8D60@l /* 80007E30 00004D90 90 A3 00 00 */ stw r5, 0(r3) /* 80007E34 00004D94 93 E3 00 04 */ stw r31, 4(r3) diff --git a/asm/Weapons/CCollisionResponseData.s b/asm/Weapons/CCollisionResponseData.s index 237859ba..7bc9adea 100644 --- a/asm/Weapons/CCollisionResponseData.s +++ b/asm/Weapons/CCollisionResponseData.s @@ -109,8 +109,8 @@ lbl_802B2248: lbl_802B22AC: /* 802B22AC 002AF20C 28 1E 00 00 */ cmplwi r30, 0 /* 802B22B0 002AF210 41 82 00 20 */ beq lbl_802B22D0 -/* 802B22B4 002AF214 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802B22B8 002AF218 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802B22B4 002AF214 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802B22B8 002AF218 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802B22BC 002AF21C 90 1E 00 00 */ stw r0, 0(r30) /* 802B22C0 002AF220 41 82 00 10 */ beq lbl_802B22D0 /* 802B22C4 002AF224 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -162,11 +162,11 @@ lbl_802B22E0: /* 802B235C 002AF2BC 28 03 00 00 */ cmplwi r3, 0 /* 802B2360 002AF2C0 41 82 00 38 */ beq lbl_802B2398 /* 802B2364 002AF2C4 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802B2368 002AF2C8 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802B2368 002AF2C8 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802B236C 002AF2CC 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802B2370 002AF2D0 3C 80 80 3F */ lis r4, lbl_803EC518@ha /* 802B2374 002AF2D4 90 03 00 00 */ stw r0, 0(r3) -/* 802B2378 002AF2D8 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802B2378 002AF2D8 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802B237C 002AF2DC 38 A0 00 00 */ li r5, 0 /* 802B2380 002AF2E0 38 04 C5 18 */ addi r0, r4, lbl_803EC518@l /* 802B2384 002AF2E4 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Weapons/CDecalDataFactory.s b/asm/Weapons/CDecalDataFactory.s index d019fe44..b491f895 100644 --- a/asm/Weapons/CDecalDataFactory.s +++ b/asm/Weapons/CDecalDataFactory.s @@ -868,8 +868,8 @@ sub_802b4218: lbl_802B4258: /* 802B4258 002B11B8 28 1E 00 00 */ cmplwi r30, 0 /* 802B425C 002B11BC 41 82 00 20 */ beq lbl_802B427C -/* 802B4260 002B11C0 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802B4264 002B11C4 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802B4260 002B11C0 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802B4264 002B11C4 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802B4268 002B11C8 90 1E 00 00 */ stw r0, 0(r30) /* 802B426C 002B11CC 41 82 00 10 */ beq lbl_802B427C /* 802B4270 002B11D0 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -1224,11 +1224,11 @@ lbl_802B46C8: /* 802B474C 002B16AC 28 03 00 00 */ cmplwi r3, 0 /* 802B4750 002B16B0 41 82 00 38 */ beq lbl_802B4788 /* 802B4754 002B16B4 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802B4758 002B16B8 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802B4758 002B16B8 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802B475C 002B16BC 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802B4760 002B16C0 3C 80 80 3F */ lis r4, lbl_803EC548@ha /* 802B4764 002B16C4 90 03 00 00 */ stw r0, 0(r3) -/* 802B4768 002B16C8 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802B4768 002B16C8 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802B476C 002B16CC 38 A0 00 00 */ li r5, 0 /* 802B4770 002B16D0 38 04 C5 48 */ addi r0, r4, lbl_803EC548@l /* 802B4774 002B16D4 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/Weapons/CProjectileWeapon.s b/asm/Weapons/CProjectileWeapon.s index a5bc314e..a284ca1b 100644 --- a/asm/Weapons/CProjectileWeapon.s +++ b/asm/Weapons/CProjectileWeapon.s @@ -47,9 +47,9 @@ GetBounds__17CProjectileWeaponCFv: /* 802AED18 002ABC78 3B E0 00 00 */ li r31, 0 /* 802AED1C 002ABC7C 93 C1 01 48 */ stw r30, 0x148(r1) /* 802AED20 002ABC80 7C 9E 23 78 */ mr r30, r4 -/* 802AED24 002ABC84 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 802AED24 002ABC84 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 802AED28 002ABC88 93 A1 01 44 */ stw r29, 0x144(r1) -/* 802AED2C 002ABC8C 38 A4 67 54 */ addi r5, r4, lbl_805A6754@l +/* 802AED2C 002ABC8C 38 A4 67 54 */ addi r5, r4, mskInvertedBox__6CAABox@l /* 802AED30 002ABC90 7C 7D 1B 78 */ mr r29, r3 /* 802AED34 002ABC94 80 9E 00 FC */ lwz r4, 0xfc(r30) /* 802AED38 002ABC98 C0 A5 00 00 */ lfs f5, 0(r5) diff --git a/asm/Weapons/CProjectileWeaponDataFactory.s b/asm/Weapons/CProjectileWeaponDataFactory.s index db9d30ae..3e18e159 100644 --- a/asm/Weapons/CProjectileWeaponDataFactory.s +++ b/asm/Weapons/CProjectileWeaponDataFactory.s @@ -1035,8 +1035,8 @@ lbl_802B1F0C: lbl_802B1F64: /* 802B1F64 002AEEC4 28 1E 00 00 */ cmplwi r30, 0 /* 802B1F68 002AEEC8 41 82 00 20 */ beq lbl_802B1F88 -/* 802B1F6C 002AEECC 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802B1F70 002AEED0 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802B1F6C 002AEECC 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802B1F70 002AEED0 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802B1F74 002AEED4 90 1E 00 00 */ stw r0, 0(r30) /* 802B1F78 002AEED8 41 82 00 10 */ beq lbl_802B1F88 /* 802B1F7C 002AEEDC 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -1148,11 +1148,11 @@ lbl_802B2074: /* 802B20F0 002AF050 28 03 00 00 */ cmplwi r3, 0 /* 802B20F4 002AF054 41 82 00 38 */ beq lbl_802B212C /* 802B20F8 002AF058 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802B20FC 002AF05C 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802B20FC 002AF05C 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802B2100 002AF060 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802B2104 002AF064 3C 80 80 3F */ lis r4, lbl_803EC508@ha /* 802B2108 002AF068 90 03 00 00 */ stw r0, 0(r3) -/* 802B210C 002AF06C 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802B210C 002AF06C 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802B2110 002AF070 38 A0 00 00 */ li r5, 0 /* 802B2114 002AF074 38 04 C5 08 */ addi r0, r4, lbl_803EC508@l /* 802B2118 002AF078 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/WorldFormat/CCollidableOBBTree.s b/asm/WorldFormat/CCollidableOBBTree.s index f1a94fb9..3fdc80b6 100644 --- a/asm/WorldFormat/CCollidableOBBTree.s +++ b/asm/WorldFormat/CCollidableOBBTree.s @@ -2852,7 +2852,7 @@ AABoxCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransfor /* 802AC2B4 002A9214 38 61 00 2C */ addi r3, r1, 0x2c /* 802AC2B8 002A9218 48 08 B3 55 */ bl GetCenterPoint__6CAABoxCFv /* 802AC2BC 002A921C C0 79 00 10 */ lfs f3, 0x10(r25) -/* 802AC2C0 002A9220 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 802AC2C0 002A9220 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802AC2C4 002A9224 C0 59 00 04 */ lfs f2, 4(r25) /* 802AC2C8 002A9228 3B 61 00 AC */ addi r27, r1, 0xac /* 802AC2CC 002A922C C0 39 00 14 */ lfs f1, 0x14(r25) @@ -2860,7 +2860,7 @@ AABoxCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransfor /* 802AC2D4 002A9234 C0 19 00 08 */ lfs f0, 8(r25) /* 802AC2D8 002A9238 EC 63 10 28 */ fsubs f3, f3, f2 /* 802AC2DC 002A923C C0 82 C1 BC */ lfs f4, lbl_805ADEDC@sda21(r2) -/* 802AC2E0 002A9240 3B E3 67 54 */ addi r31, r3, lbl_805A6754@l +/* 802AC2E0 002A9240 3B E3 67 54 */ addi r31, r3, mskInvertedBox__6CAABox@l /* 802AC2E4 002A9244 EC 41 00 28 */ fsubs f2, f1, f0 /* 802AC2E8 002A9248 C0 39 00 0C */ lfs f1, 0xc(r25) /* 802AC2EC 002A924C C0 19 00 00 */ lfs f0, 0(r25) @@ -2933,9 +2933,9 @@ lbl_802AC338: /* 802AC3F4 002A9354 48 02 50 ED */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802AC3F8 002A9358 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC3FC 002A935C 41 82 00 D0 */ beq lbl_802AC4CC -/* 802AC400 002A9360 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 802AC400 002A9360 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802AC404 002A9364 80 92 00 1C */ lwz r4, 0x1c(r18) -/* 802AC408 002A9368 C0 A3 67 54 */ lfs f5, lbl_805A6754@l(r3) +/* 802AC408 002A9368 C0 A3 67 54 */ lfs f5, mskInvertedBox__6CAABox@l(r3) /* 802AC40C 002A936C 7E E3 BB 78 */ mr r3, r23 /* 802AC410 002A9370 38 04 00 01 */ addi r0, r4, 1 /* 802AC414 002A9374 C0 9F 00 04 */ lfs f4, 4(r31) diff --git a/asm/WorldFormat/CCollidableOBBTreeGroup.s b/asm/WorldFormat/CCollidableOBBTreeGroup.s index ca4d77aa..065e3d93 100644 --- a/asm/WorldFormat/CCollidableOBBTreeGroup.s +++ b/asm/WorldFormat/CCollidableOBBTreeGroup.s @@ -1310,13 +1310,13 @@ SetStaticTableIndex__23CCollidableOBBTreeGroupFUi: __ct__23CCollidableOBBTreeGroupFRC9CVector3fRC9CVector3f: /* 802AD9D8 002AA938 94 21 FF 70 */ stwu r1, -0x90(r1) /* 802AD9DC 002AA93C 7C 08 02 A6 */ mflr r0 -/* 802AD9E0 002AA940 3C C0 80 5A */ lis r6, lbl_805A6754@ha +/* 802AD9E0 002AA940 3C C0 80 5A */ lis r6, mskInvertedBox__6CAABox@ha /* 802AD9E4 002AA944 90 01 00 94 */ stw r0, 0x94(r1) /* 802AD9E8 002AA948 38 00 00 00 */ li r0, 0 /* 802AD9EC 002AA94C BF 61 00 7C */ stmw r27, 0x7c(r1) /* 802AD9F0 002AA950 7C BB 2B 78 */ mr r27, r5 /* 802AD9F4 002AA954 7C 9C 23 78 */ mr r28, r4 -/* 802AD9F8 002AA958 38 A6 67 54 */ addi r5, r6, lbl_805A6754@l +/* 802AD9F8 002AA958 38 A6 67 54 */ addi r5, r6, mskInvertedBox__6CAABox@l /* 802AD9FC 002AA95C 7C 7D 1B 78 */ mr r29, r3 /* 802ADA00 002AA960 38 80 00 01 */ li r4, 1 /* 802ADA04 002AA964 90 03 00 04 */ stw r0, 4(r3) @@ -1488,8 +1488,8 @@ __ct__23CCollidableOBBTreeGroupFR12CInputStream: /* 802ADC68 002AABC8 7C 7B 1B 78 */ mr r27, r3 /* 802ADC6C 002AABCC 7C 9C 23 78 */ mr r28, r4 /* 802ADC70 002AABD0 90 03 00 04 */ stw r0, 4(r3) -/* 802ADC74 002AABD4 3C 60 80 5A */ lis r3, lbl_805A6754@ha -/* 802ADC78 002AABD8 38 83 67 54 */ addi r4, r3, lbl_805A6754@l +/* 802ADC74 002AABD4 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha +/* 802ADC78 002AABD8 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l /* 802ADC7C 002AABDC 90 1B 00 08 */ stw r0, 8(r27) /* 802ADC80 002AABE0 7F 83 E3 78 */ mr r3, r28 /* 802ADC84 002AABE4 90 1B 00 0C */ stw r0, 0xc(r27) @@ -1756,8 +1756,8 @@ lbl_802ADFD8: lbl_802AE03C: /* 802AE03C 002AAF9C 28 1E 00 00 */ cmplwi r30, 0 /* 802AE040 002AAFA0 41 82 00 20 */ beq lbl_802AE060 -/* 802AE044 002AAFA4 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha -/* 802AE048 002AAFA8 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802AE044 002AAFA4 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha +/* 802AE048 002AAFA8 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802AE04C 002AAFAC 90 1E 00 00 */ stw r0, 0(r30) /* 802AE050 002AAFB0 41 82 00 10 */ beq lbl_802AE060 /* 802AE054 002AAFB4 3C 60 80 3E */ lis r3, __vt__4IObj@ha @@ -1809,11 +1809,11 @@ lbl_802AE070: /* 802AE0EC 002AB04C 28 03 00 00 */ cmplwi r3, 0 /* 802AE0F0 002AB050 41 82 00 38 */ beq lbl_802AE128 /* 802AE0F4 002AB054 3C 80 80 3E */ lis r4, __vt__4IObj@ha -/* 802AE0F8 002AB058 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha +/* 802AE0F8 002AB058 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha /* 802AE0FC 002AB05C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 802AE100 002AB060 3C 80 80 3F */ lis r4, lbl_803EC498@ha /* 802AE104 002AB064 90 03 00 00 */ stw r0, 0(r3) -/* 802AE108 002AB068 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l +/* 802AE108 002AB068 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l /* 802AE10C 002AB06C 38 A0 00 00 */ li r5, 0 /* 802AE110 002AB070 38 04 C4 98 */ addi r0, r4, lbl_803EC498@l /* 802AE114 002AB074 90 C3 00 00 */ stw r6, 0(r3) diff --git a/asm/WorldFormat/CMetroidAreaCollider.s b/asm/WorldFormat/CMetroidAreaCollider.s index b7de49eb..76a565ec 100644 --- a/asm/WorldFormat/CMetroidAreaCollider.s +++ b/asm/WorldFormat/CMetroidAreaCollider.s @@ -197,9 +197,9 @@ lbl_802A32A8: /* 802A32B0 002A0210 42 00 FF 2C */ bdnz lbl_802A31DC /* 802A32B4 002A0214 28 1F 00 01 */ cmplwi r31, 1 /* 802A32B8 002A0218 40 82 00 AC */ bne lbl_802A3364 -/* 802A32BC 002A021C 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 802A32BC 002A021C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A32C0 002A0220 7F A4 EB 78 */ mr r4, r29 -/* 802A32C4 002A0224 38 C3 67 54 */ addi r6, r3, lbl_805A6754@l +/* 802A32C4 002A0224 38 C3 67 54 */ addi r6, r3, mskInvertedBox__6CAABox@l /* 802A32C8 002A0228 38 61 00 34 */ addi r3, r1, 0x34 /* 802A32CC 002A022C 80 A6 00 00 */ lwz r5, 0(r6) /* 802A32D0 002A0230 80 06 00 04 */ lwz r0, 4(r6) @@ -4053,11 +4053,11 @@ AABoxCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16C /* 802A6B44 002A3AA4 38 61 00 34 */ addi r3, r1, 0x34 /* 802A6B48 002A3AA8 48 09 0A C5 */ bl GetCenterPoint__6CAABoxCFv /* 802A6B4C 002A3AAC C0 7C 00 10 */ lfs f3, 0x10(r28) -/* 802A6B50 002A3AB0 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 802A6B50 002A3AB0 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A6B54 002A3AB4 C0 5C 00 04 */ lfs f2, 4(r28) /* 802A6B58 002A3AB8 3A FB 00 08 */ addi r23, r27, 8 /* 802A6B5C 002A3ABC C0 3C 00 14 */ lfs f1, 0x14(r28) -/* 802A6B60 002A3AC0 3B 23 67 54 */ addi r25, r3, lbl_805A6754@l +/* 802A6B60 002A3AC0 3B 23 67 54 */ addi r25, r3, mskInvertedBox__6CAABox@l /* 802A6B64 002A3AC4 C0 1C 00 08 */ lfs f0, 8(r28) /* 802A6B68 002A3AC8 EC 63 10 28 */ fsubs f3, f3, f2 /* 802A6B6C 002A3ACC C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) @@ -4134,9 +4134,9 @@ lbl_802A6C2C: /* 802A6C7C 002A3BDC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A6C80 002A3BE0 28 00 00 01 */ cmplwi r0, 1 /* 802A6C84 002A3BE4 40 82 00 C4 */ bne lbl_802A6D48 -/* 802A6C88 002A3BE8 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 802A6C88 002A3BE8 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A6C8C 002A3BEC C0 99 00 04 */ lfs f4, 4(r25) -/* 802A6C90 002A3BF0 C0 A3 67 54 */ lfs f5, lbl_805A6754@l(r3) +/* 802A6C90 002A3BF0 C0 A3 67 54 */ lfs f5, mskInvertedBox__6CAABox@l(r3) /* 802A6C94 002A3BF4 7E 24 8B 78 */ mr r4, r17 /* 802A6C98 002A3BF8 C0 79 00 08 */ lfs f3, 8(r25) /* 802A6C9C 002A3BFC 38 61 01 08 */ addi r3, r1, 0x108 @@ -4281,11 +4281,11 @@ lbl_802A6E90: /* 802A6E94 002A3DF4 38 61 00 08 */ addi r3, r1, 8 /* 802A6E98 002A3DF8 4B FF BE A5 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A6E9C 002A3DFC 83 81 00 08 */ lwz r28, 8(r1) -/* 802A6EA0 002A3E00 3C 80 80 5A */ lis r4, lbl_805A6754@ha +/* 802A6EA0 002A3E00 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 802A6EA4 002A3E04 3C 60 80 59 */ lis r3, lbl_80597BAC@ha /* 802A6EA8 002A3E08 83 B7 00 1C */ lwz r29, 0x1c(r23) /* 802A6EAC 002A3E0C A3 5C 00 18 */ lhz r26, 0x18(r28) -/* 802A6EB0 002A3E10 3B C4 67 54 */ addi r30, r4, lbl_805A6754@l +/* 802A6EB0 002A3E10 3B C4 67 54 */ addi r30, r4, mskInvertedBox__6CAABox@l /* 802A6EB4 002A3E14 83 35 00 08 */ lwz r25, 8(r21) /* 802A6EB8 002A3E18 3B E3 7B AC */ addi r31, r3, lbl_80597BAC@l /* 802A6EBC 002A3E1C 83 15 00 04 */ lwz r24, 4(r21) @@ -4329,9 +4329,9 @@ lbl_802A6EFC: /* 802A6F4C 002A3EAC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A6F50 002A3EB0 28 00 00 01 */ cmplwi r0, 1 /* 802A6F54 002A3EB4 40 82 00 C4 */ bne lbl_802A7018 -/* 802A6F58 002A3EB8 3C 60 80 5A */ lis r3, lbl_805A6754@ha +/* 802A6F58 002A3EB8 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A6F5C 002A3EBC C0 9E 00 04 */ lfs f4, 4(r30) -/* 802A6F60 002A3EC0 C0 A3 67 54 */ lfs f5, lbl_805A6754@l(r3) +/* 802A6F60 002A3EC0 C0 A3 67 54 */ lfs f5, mskInvertedBox__6CAABox@l(r3) /* 802A6F64 002A3EC4 7F 03 C3 78 */ mr r3, r24 /* 802A6F68 002A3EC8 C0 7E 00 08 */ lfs f3, 8(r30) /* 802A6F6C 002A3ECC 7E C4 B3 78 */ mr r4, r22 diff --git a/include/Collision/CMaterialFilter.hpp b/include/Collision/CMaterialFilter.hpp new file mode 100644 index 00000000..c4eb1fca --- /dev/null +++ b/include/Collision/CMaterialFilter.hpp @@ -0,0 +1,32 @@ +#ifndef _CMATERIALFILTER_HPP +#define _CMATERIALFILTER_HPP + +#include "types.h" + +#include "Collision/CMaterialList.hpp" + +class CMaterialFilter { +public: + enum EFilterType { + kFT_Always, + kFT_Include, + kFT_Exclude, + kFT_IncludeExclude, + }; + + CMaterialFilter() : type(kFT_Always) {} + CMaterialFilter(const CMaterialList& include, const CMaterialList& exclude, EFilterType type) + : include(include), exclude(exclude), type(type) {} + + static CMaterialFilter MakeIncludeExclude(const CMaterialList& include, const CMaterialList& exclude) { + return CMaterialFilter(include, exclude, kFT_IncludeExclude); + } + +private: + CMaterialList include; + CMaterialList exclude; + EFilterType type; +}; +CHECK_SIZEOF(CMaterialFilter, 0x18) + +#endif \ No newline at end of file diff --git a/include/Collision/CMaterialList.hpp b/include/Collision/CMaterialList.hpp new file mode 100644 index 00000000..e0db5203 --- /dev/null +++ b/include/Collision/CMaterialList.hpp @@ -0,0 +1,91 @@ +#ifndef _CMATERIALLIST_HPP +#define _CMATERIALLIST_HPP + +#include "types.h" + +enum EMaterialTypes { + kMT_NoStepLogic = 0, + kMT_Stone = 1, + kMT_Metal = 2, + kMT_Grass = 3, + kMT_Ice = 4, + kMT_Pillar = 5, + kMT_MetalGrating = 6, + kMT_Phazon = 7, + kMT_Dirt = 8, + kMT_Lava = 9, + kMT_LavaStone = 10, + kMT_Snow = 11, + kMT_MudSlow = 12, + kMT_HalfPipe = 13, + kMT_Mud = 14, + kMT_Glass = 15, + kMT_Shield = 16, + kMT_Sand = 17, + kMT_ProjectilePassthrough = 18, + kMT_Solid = 19, + kMT_NoPlatformCollision = 20, + kMT_CameraPassthrough = 21, + kMT_Wood = 22, + kMT_Organic = 23, + kMT_NoEdgeCollision = 24, + kMT_RedundantEdgeOrFlippedTri = 25, + kMT_SeeThrough = 26, + kMT_ScanPassthrough = 27, + kMT_AIPassthrough = 28, + kMT_Ceiling = 29, + kMT_Wall = 30, + kMT_Floor = 31, + kMT_Player = 32, + kMT_Character = 33, + kMT_Trigger = 34, + kMT_Projectile = 35, + kMT_Bomb = 36, + kMT_GroundCollider = 37, + kMT_NoStaticCollision = 38, + kMT_Scannable = 39, + kMT_Target = 40, + kMT_Orbit = 41, + kMT_Occluder = 42, + kMT_Immovable = 43, + kMT_Debris = 44, + kMT_PowerBomb = 45, + kMT_Unknown46 = 46, + kMT_CollisionActor = 47, + kMT_AIBlock = 48, + kMT_Platform = 49, + kMT_NonSolidDamageable = 50, + kMT_RadarObject = 51, + kMT_PlatformSlave = 52, + kMT_AIJoint = 53, + kMT_Unknown54 = 54, + kMT_SolidCharacter = 55, + kMT_ExcludeFromLineOfSightTest = 56, + kMT_ExcludeFromRadar = 57, + kMT_NoPlayerCollision = 58, + kMT_SixtyThree = 63 +}; + +// TODO: how else would they end up in .data? +static EMaterialTypes SolidMaterial = kMT_Solid; + +class CMaterialList { +public: + CMaterialList() : value(0) {} + CMaterialList(EMaterialTypes material) : value(u64(1) << material) {} + CMaterialList(u64 value) : value(value) {} + + void Add(EMaterialTypes material) { + value |= u64(1) << material; + } + const CMaterialList& Union(const CMaterialList& other) { + value |= other.value; + return *this; + } + +private: + u64 value; +}; +CHECK_SIZEOF(CMaterialList, 0x8) + +#endif \ No newline at end of file diff --git a/include/Kyoto/Audio/CAudioSys.hpp b/include/Kyoto/Audio/CAudioSys.hpp new file mode 100644 index 00000000..ee9c0b91 --- /dev/null +++ b/include/Kyoto/Audio/CAudioSys.hpp @@ -0,0 +1,11 @@ +#ifndef _CAUDIOSYS_HPP +#define _CAUDIOSYS_HPP + +#include "types.h" + +class CAudioSys { +public: + static const u8 kMaxVolume; +}; + +#endif \ No newline at end of file diff --git a/include/Kyoto/CFactoryMgr.hpp b/include/Kyoto/CFactoryMgr.hpp index 4a104f5c..f8d78d0b 100644 --- a/include/Kyoto/CFactoryMgr.hpp +++ b/include/Kyoto/CFactoryMgr.hpp @@ -3,7 +3,7 @@ #include "types.h" -#include "Kyoto/CToken.hpp" +#include "Kyoto/TToken.hpp" #include "Kyoto/IObjectStore.hpp" #include "Kyoto/Streams/CInputStream.hpp" @@ -21,7 +21,7 @@ public: // : obj(TToken< T >::GetIObjObjectFor(ptr).release()) {} private: - rstl::auto_ptr< TObjOwnerDerivedFromIObjUntyped > obj; + rstl::auto_ptr< CObjOwnerDerivedFromIObjUntyped > obj; }; CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& xfer); diff --git a/include/Kyoto/CSimplePool.hpp b/include/Kyoto/CSimplePool.hpp index c6e57148..c08ad1d9 100644 --- a/include/Kyoto/CSimplePool.hpp +++ b/include/Kyoto/CSimplePool.hpp @@ -5,11 +5,20 @@ #include "rstl/map.hpp" +#include "Kyoto/CToken.hpp" #include "Kyoto/IObjectStore.hpp" class CSimplePool { public: - virtual ~CSimplePool() {} + virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer); + virtual CToken GetObj(const SObjectTag& tag); + virtual CToken GetObj(const char* name); + virtual CToken GetObj(const char* name, CVParamTransfer xfer); + virtual bool HasObject(const SObjectTag& tag); + virtual bool ObjectIsLive(const SObjectTag& tag); + virtual unkptr GetFactory(); + virtual void Flush(); + virtual void ObjectUnreferenced(const SObjectTag& tag); private: u8 x4_; diff --git a/include/Kyoto/CToken.hpp b/include/Kyoto/CToken.hpp index 98e62024..b2dfa94b 100644 --- a/include/Kyoto/CToken.hpp +++ b/include/Kyoto/CToken.hpp @@ -5,58 +5,18 @@ #include "Kyoto/IObjectStore.hpp" -#include "rstl/auto_ptr.hpp" - class CToken { public: + CToken() {} + CToken(IObj* obj) : x0_objRef(new CObjectReference(obj)), x4_lockHeld(false) {} + CToken(const CToken& other); ~CToken(); + void Lock(); + private: CObjectReference* x0_objRef; bool x4_lockHeld; }; -class IObj { -public: - virtual ~IObj() {} -}; - -class TObjOwnerDerivedFromIObjUntyped : public IObj { -public: - template < typename T > - TObjOwnerDerivedFromIObjUntyped(const rstl::auto_ptr< T >& obj) : m_objPtr(obj.release()) {} - -protected: - void* m_objPtr; -}; - -template < typename T > -class TObjOwnerDerivedFromIObj : public TObjOwnerDerivedFromIObjUntyped { - TObjOwnerDerivedFromIObj(const rstl::auto_ptr< T >& obj) : TObjOwnerDerivedFromIObjUntyped(obj) {} - -public: - static rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetNewDerivedObject(const rstl::auto_ptr< T >& obj) { - return new TObjOwnerDerivedFromIObj< T >(obj); - } - ~TObjOwnerDerivedFromIObj() override { delete Owned(); } - T* Owned() { return static_cast< T* >(m_objPtr); } -}; - -template < typename T > -class TToken : public CToken { -public: - static rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetIObjObjectFor(const rstl::auto_ptr< T >& obj) { - return TObjOwnerDerivedFromIObj< T >::GetNewDerivedObject(obj); - } -}; - -template < typename T > -class TCachedToken : public TToken< T > { -private: - T* x8_item; -}; - -template < typename T > -class TLockedToken : public TCachedToken< T > {}; - #endif diff --git a/include/Kyoto/Graphics/CColor.hpp b/include/Kyoto/Graphics/CColor.hpp index 0c86ba76..77052860 100644 --- a/include/Kyoto/Graphics/CColor.hpp +++ b/include/Kyoto/Graphics/CColor.hpp @@ -7,8 +7,10 @@ class CColor { public: + CColor() {} CColor(u32 col) : mRgba(col) {} - CColor(f32 r, f32 g, f32 b, f32 a = 1.f) : mR(r * 255.f), mG(g * 255.f), mB(b * 255.f), mA(a * 255.f) {} + CColor(f32 r, f32 g, f32 b, f32 a = 1.f); + // : mR(r * 255.f), mG(g * 255.f), mB(b * 255.f), mA(a * 255.f) {} static const CColor& Black(); static const CColor& White(); diff --git a/include/Kyoto/Graphics/CGraphics.hpp b/include/Kyoto/Graphics/CGraphics.hpp index 7a3b0d01..772fd18f 100644 --- a/include/Kyoto/Graphics/CGraphics.hpp +++ b/include/Kyoto/Graphics/CGraphics.hpp @@ -3,7 +3,7 @@ #include "types.h" -#include "Kyoto/Math/CColor.hpp" +#include "Kyoto/Graphics/CColor.hpp" #include "Kyoto/Math/CVector3f.hpp" #include "Kyoto/Graphics/CTevCombiners.hpp" diff --git a/include/Kyoto/IObj.hpp b/include/Kyoto/IObj.hpp new file mode 100644 index 00000000..3905ed48 --- /dev/null +++ b/include/Kyoto/IObj.hpp @@ -0,0 +1,38 @@ +#ifndef _IOBJ_HPP +#define _IOBJ_HPP + +#include "types.h" + +#include "rstl/auto_ptr.hpp" + +class IObj { +public: + virtual ~IObj() {} +}; + +class CObjOwnerDerivedFromIObjUntyped : public IObj { +public: + template < typename T > + CObjOwnerDerivedFromIObjUntyped(T* obj) : m_objPtr(obj) {} + template < typename T > + CObjOwnerDerivedFromIObjUntyped(const rstl::auto_ptr< T >& obj) : m_objPtr(obj.release()) {} + +protected: + void* m_objPtr; +}; + +template < typename T > +class TObjOwnerDerivedFromIObj : public CObjOwnerDerivedFromIObjUntyped { + TObjOwnerDerivedFromIObj(T* obj) : CObjOwnerDerivedFromIObjUntyped(obj) {} + TObjOwnerDerivedFromIObj(const rstl::auto_ptr< T >& obj) : CObjOwnerDerivedFromIObjUntyped(obj) {} + +public: + static rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetNewDerivedObject(T* obj) { return new TObjOwnerDerivedFromIObj< T >(obj); } + static rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetNewDerivedObject(const rstl::auto_ptr< T >& obj) { + return new TObjOwnerDerivedFromIObj< T >(obj); + } + ~TObjOwnerDerivedFromIObj() override { delete Owned(); } + T* Owned() { return static_cast< T* >(m_objPtr); } +}; + +#endif \ No newline at end of file diff --git a/include/Kyoto/IObjectStore.hpp b/include/Kyoto/IObjectStore.hpp index 1405ecf2..73f70224 100644 --- a/include/Kyoto/IObjectStore.hpp +++ b/include/Kyoto/IObjectStore.hpp @@ -3,8 +3,11 @@ #include "types.h" +#include "rstl/auto_ptr.hpp" #include "rstl/rc_ptr.hpp" +#define kInvalidAssetId 0xFFFFFFFFu + typedef u32 CAssetId; typedef u32 FourCC; @@ -12,17 +15,36 @@ struct SObjectTag { FourCC type; CAssetId id; + SObjectTag() {} + SObjectTag(FourCC type, CAssetId id) : type(type), id(id) {} SObjectTag(const SObjectTag& other) : type(other.type), id(other.id) {} }; class IObjectStore; class IObj; class CVParamTransfer { +public: + static CVParamTransfer Null(); + +private: rstl::rc_ptr< void > x0_; }; class CObjectReference { +public: + CObjectReference(const rstl::auto_ptr< IObj >& obj); + // : x0_refCount(0) + // , x2_locked(false) + // , x2_lockCount(0) + // , xc_objectStore(nullptr) + // , x10_object(obj.release()) + // , x14_params(CVParamTransfer::Null()) {} + + CObjectReference(IObjectStore* store, const rstl::auto_ptr< IObj >& obj, SObjectTag tag, CVParamTransfer xfer); + +private: u16 x0_refCount; - u16 x2_lockCount; + bool x2_locked : 1; + u16 x2_lockCount : 15; SObjectTag x4_objTag; IObjectStore* xc_objectStore; IObj* x10_object; diff --git a/include/Kyoto/Math/CAABox.hpp b/include/Kyoto/Math/CAABox.hpp index 6f987ffe..b0c38fb1 100644 --- a/include/Kyoto/Math/CAABox.hpp +++ b/include/Kyoto/Math/CAABox.hpp @@ -4,8 +4,18 @@ #include "Kyoto/Math/CVector3f.hpp" class CAABox { - CVector3f min; - CVector3f max; +public: + CAABox() { + // TODO + } + + static CAABox mskInvertedBox; + static CAABox mskNullBox; + +private: + CVector3f min; + CVector3f max; }; +CHECK_SIZEOF(CAABox, 0x18) #endif // __CAABOX_HPP__ diff --git a/include/Kyoto/Math/CTransform4f.hpp b/include/Kyoto/Math/CTransform4f.hpp index 4de46228..fdc85814 100644 --- a/include/Kyoto/Math/CTransform4f.hpp +++ b/include/Kyoto/Math/CTransform4f.hpp @@ -13,8 +13,15 @@ public: f32 posY; CVector3f m2; f32 posZ; + + CTransform4f() { + // TODO + } + CTransform4f(const CTransform4f& other); }; extern CTransform4f skIdentity4f; +CHECK_SIZEOF(CTransform4f, 0x30) + #endif // __CTRANSFORM4F_HPP__ diff --git a/include/Kyoto/Math/CVector3f.hpp b/include/Kyoto/Math/CVector3f.hpp index 8df20dbe..fc4ca6e8 100644 --- a/include/Kyoto/Math/CVector3f.hpp +++ b/include/Kyoto/Math/CVector3f.hpp @@ -5,6 +5,7 @@ class CVector3f { public: + CVector3f() : mX(0.f), mY(0.f), mZ(0.f) {} explicit CVector3f(f32 x, f32 y, f32 z) : mX(x), mY(y), mZ(z) {} f32 GetX() const { return mX; } diff --git a/include/Kyoto/Particles/CParticleGen.hpp b/include/Kyoto/Particles/CParticleGen.hpp index 4059d3e1..f13b1d71 100644 --- a/include/Kyoto/Particles/CParticleGen.hpp +++ b/include/Kyoto/Particles/CParticleGen.hpp @@ -1,11 +1,11 @@ #ifndef _CPARTICLEGEN_HPP #define _CPARTICLEGEN_HPP -#include "Kyoto/Math/CTransform4f.hpp" -#include "Kyoto/Math/CVector3f.hpp" -#include "Kyoto/Math/CAABox.hpp" #include "Kyoto/Graphics/CColor.hpp" #include "Kyoto/Graphics/CLight.hpp" +#include "Kyoto/Math/CAABox.hpp" +#include "Kyoto/Math/CTransform4f.hpp" +#include "Kyoto/Math/CVector3f.hpp" class CWarp; class CParticleGen { diff --git a/include/Kyoto/TToken.hpp b/include/Kyoto/TToken.hpp new file mode 100644 index 00000000..a24a30f1 --- /dev/null +++ b/include/Kyoto/TToken.hpp @@ -0,0 +1,45 @@ +#ifndef _TTOKEN_HPP +#define _TTOKEN_HPP + +#include "types.h" + +#include "Kyoto/CSimplePool.hpp" +#include "Kyoto/CToken.hpp" +#include "Kyoto/IObj.hpp" + +#include "rstl/auto_ptr.hpp" + +template < typename T > +class TToken : public CToken { +public: + TToken() {} + TToken(const CToken& token) : CToken(token) {} + TToken(T* obj) : CToken(GetIObjObjectFor(obj).release()) {} + TToken(const rstl::auto_ptr< T >& obj) : CToken(GetIObjObjectFor(obj).release()) {} + + static rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetIObjObjectFor(T* obj) { + return TObjOwnerDerivedFromIObj< T >::GetNewDerivedObject(obj); + } + static rstl::auto_ptr< TObjOwnerDerivedFromIObj< T > > GetIObjObjectFor(const rstl::auto_ptr< T >& obj) { + return TObjOwnerDerivedFromIObj< T >::GetNewDerivedObject(obj); + } +}; + +template < typename T > +class TCachedToken : public TToken< T > { +public: + TCachedToken() {} + TCachedToken(const CToken& token) : TToken(token), x8_item(nullptr) {} + +private: + T* x8_item; +}; + +template < typename T > +class TLockedToken : public TCachedToken< T > { +public: + TLockedToken() {} + TLockedToken(const CToken& token) : TCachedToken(token) { Lock(); } +}; + +#endif \ No newline at end of file diff --git a/include/MetaRender/CCubeRenderer.hpp b/include/MetaRender/CCubeRenderer.hpp index d4eb856d..f974bdb8 100644 --- a/include/MetaRender/CCubeRenderer.hpp +++ b/include/MetaRender/CCubeRenderer.hpp @@ -4,7 +4,7 @@ #include "gx_enum.h" #include "types.h" -#include "Kyoto/Math/CColor.hpp" +#include "Kyoto/Graphics/CColor.hpp" #include "Kyoto/Math/CTransform4f.hpp" #include "Kyoto/Math/CVector2f.hpp" #include "rstl/pair.hpp" diff --git a/include/MetroidPrime/CActor.hpp b/include/MetroidPrime/CActor.hpp new file mode 100644 index 00000000..270d1b48 --- /dev/null +++ b/include/MetroidPrime/CActor.hpp @@ -0,0 +1,98 @@ +#ifndef _CACTOR_HPP +#define _CACTOR_HPP + +#include "types.h" + +#include "Collision/CMaterialFilter.hpp" +#include "Collision/CMaterialList.hpp" + +#include "MetroidPrime/CEntity.hpp" +#include "MetroidPrime/CModelFlags.hpp" +#include "MetroidPrime/CSfxHandle.hpp" + +#include "Kyoto/Graphics/CColor.hpp" +#include "Kyoto/Math/CAABox.hpp" +#include "Kyoto/Math/CTransform4f.hpp" +#include "Kyoto/TToken.hpp" + +#include "rstl/pair.hpp" +#include "rstl/reserved_vector.hpp" +#include "rstl/single_ptr.hpp" + +class CActorLights; +class CActorParameters; +class CModelData; +class CScannableObjectInfo; +class CSimpleShadow; + +// TODO move +struct SAdvancementDeltas {}; + +class CActor : public CEntity { +public: + enum EThermalFlags { + kTF_None = 0, + kTF_Cold = 1, + kTF_Hot = 2, + }; + + CActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, const CModelData& mData, + const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode); + ~CActor(); + + SAdvancementDeltas UpdateAnimation(float dt, CStateManager& mgr, bool advTree); + + void UpdateSfxEmitters(); + void RemoveEmitter(); + + const CTransform4f& GetTransform() const { return x34_transform; } + +protected: + CTransform4f x34_transform; + rstl::single_ptr< CModelData > x64_modelData; + CMaterialList x68_material; + CMaterialFilter x70_materialFilter; + TSfxId x88_sfxId; + CSfxHandle x8c_loopingSfxHandle; + rstl::single_ptr< CActorLights > x90_actorLights; + rstl::single_ptr< CSimpleShadow > x94_simpleShadow; + rstl::single_ptr< TCachedToken< CScannableObjectInfo > > x98_scanObjectInfo; + CAABox x9c_renderBounds; + CModelFlags xb4_drawFlags; + f32 xbc_time; + u32 xc0_pitchBend; + TUniqueId xc4_fluidId; + TUniqueId xc6_nextDrawNode; + s32 xc8_drawnToken; + s32 xcc_addedToken; + f32 xd0_damageMag; + u8 xd4_maxVol; + rstl::reserved_vector< CSfxHandle, 2 > xd8_nonLoopingSfxHandles; + u32 xe4_24_nextNonLoopingSfxHandle : 3; + u32 xe4_27_notInSortedLists : 1; + u32 xe4_28_transformDirty : 1; + u32 xe4_29_actorLightsDirty : 1; + u32 xe4_30_outOfFrustum : 1; + u32 xe4_31_calculateLighting : 1; + u32 xe5_24_shadowEnabled : 1; + u32 xe5_25_shadowDirty : 1; + u32 xe5_26_muted : 1; + u32 xe5_27_useInSortedLists : 1; + u32 xe5_28_callTouch : 1; + u32 xe5_29_globalTimeProvider : 1; + u32 xe5_30_renderUnsorted : 1; + u32 xe5_31_pointGeneratorParticles : 1; + u32 xe6_24_fluidCounter : 3; + EThermalFlags xe6_27_thermalVisorFlags : 2; + u32 xe6_29_renderParticleDBInside : 1; + u32 xe6_30_enablePitchBend : 1; + u32 xe6_31_targetableVisorFlags : 4; + u32 xe7_27_enableRender : 1; + u32 xe7_28_worldLightingDirty : 1; + u32 xe7_29_drawEnabled : 1; + u32 xe7_30_doTargetDistanceTest : 1; + u32 xe7_31_targetable : 1; +}; +CHECK_SIZEOF(CActor, 0xe8) + +#endif diff --git a/include/MetroidPrime/CActorLights.hpp b/include/MetroidPrime/CActorLights.hpp new file mode 100644 index 00000000..e955aee8 --- /dev/null +++ b/include/MetroidPrime/CActorLights.hpp @@ -0,0 +1,11 @@ +#ifndef _CACTORLIGHTS_HPP +#define _CACTORLIGHTS_HPP + +#include "types.h" + +class CActorLights { +public: + ~CActorLights(); +}; + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CActorParameters.hpp b/include/MetroidPrime/CActorParameters.hpp new file mode 100644 index 00000000..9f359f69 --- /dev/null +++ b/include/MetroidPrime/CActorParameters.hpp @@ -0,0 +1,132 @@ +#ifndef _CACTORPARAMETERS_HPP +#define _CACTORPARAMETERS_HPP + +#include "types.h" + +#include "Kyoto/IObjectStore.hpp" +#include "Kyoto/Graphics/CColor.hpp" +#include "Kyoto/Math/CVector3f.hpp" + +#include "rstl/auto_ptr.hpp" +#include "rstl/pair.hpp" + +class CActorLights; + +class CLightParameters { +public: + enum EShadowTesselation { + kST_Invalid = -1, + kST_Zero, + }; + + enum EWorldLightingOptions { + kLO_Zero, + kLO_NormalWorld, + kLO_NoShadowCast, + kLO_DisableWorld, + }; + + enum ELightRecalculationOptions { + kLR_LargeFrameCount, + kLR_EightFrames, + kLR_FourFrames, + kLR_OneFrame, + }; + + CLightParameters() { + // TODO + } + + virtual ~CLightParameters(); + + const CColor& GetAmbientColor() const { return x18_noLightsAmbient; } + bool ShouldMakeLights() const { return x1c_makeLights; } + s32 GetMaxAreaLights() const { return x3c_maxAreaLights; } + + rstl::auto_ptr< CActorLights > MakeActorLights() const; + +private: + bool x4_castShadow; + f32 x8_shadowScale; + EShadowTesselation xc_shadowTesselation; + f32 x10_shadowAlpha; + f32 x14_maxShadowHeight; + CColor x18_noLightsAmbient; + bool x1c_makeLights; + bool x1d_ambientChannelOverflow; + EWorldLightingOptions x20_worldLightingOptions; + ELightRecalculationOptions x24_lightRecalcOpts; + s32 x28_layerIdx; + CVector3f x2c_actorPosBias; + s32 x38_maxDynamicLights; + s32 x3c_maxAreaLights; +}; +CHECK_SIZEOF(CLightParameters, 0x40) + +class CScannableParameters { +public: + CScannableParameters() {} + CScannableParameters(CAssetId scanId) : x0_scanId(scanId) {} + + CAssetId GetScannableObject0() const { return x0_scanId; } + +private: + CAssetId x0_scanId; +}; +CHECK_SIZEOF(CScannableParameters, 0x4) + +class CVisorParameters { +public: + CVisorParameters() { + // TODO + } + CVisorParameters(u8 mask, bool b1, bool scanPassthrough) : x0_mask(mask), x0_4_b1(b1), x0_5_scanPassthrough(scanPassthrough) {} + + u8 GetMask() const { return x0_mask; } + // TODO: GetIsBlockXRay__16CVisorParametersCFv? + bool GetBool1() const { return x0_4_b1; } + bool GetScanPassthrough() const { return x0_5_scanPassthrough; } + + static CVisorParameters None(); + +private: + u32 x0_mask : 4; + u32 x0_4_b1 : 1; + u32 x0_5_scanPassthrough : 1; +}; +CHECK_SIZEOF(CVisorParameters, 0x4) + +class CActorParameters { +public: + CActorParameters() { + // TODO + } + + const CLightParameters& GetLighting() const { return x0_lightParams; } + const CScannableParameters& GetScannable() const { return x40_scanParams; } + const rstl::pair< CAssetId, CAssetId >& GetXRay() const { return x44_xrayAssets; } + const rstl::pair< CAssetId, CAssetId >& GetInfra() const { return x4c_thermalAssets; } + const CVisorParameters& GetVisorParameters() const { return x54_visorParams; } + f32 GetThermalMag() const { return x64_thermalMag; } + bool GetUseGlobalRenderTime() const { return x58_24_globalTimeProvider; } + bool IsHotInThermal() const { return x58_25_thermalHeat; } + bool ForceRenderUnsorted() const { return x58_26_renderUnsorted; } + bool NoSortThermal() const { return x58_27_noSortThermal; } + +private: + CLightParameters x0_lightParams; + CScannableParameters x40_scanParams; + rstl::pair< CAssetId, CAssetId > x44_xrayAssets; + rstl::pair< CAssetId, CAssetId > x4c_thermalAssets; + CVisorParameters x54_visorParams; + bool x58_24_globalTimeProvider : 1; + bool x58_25_thermalHeat : 1; + bool x58_26_renderUnsorted : 1; + bool x58_27_noSortThermal : 1; + f32 x5c_fadeInTime; + f32 x60_fadeOutTime; + f32 x64_thermalMag; +}; +CHECK_SIZEOF(CActorParameters, 0x68) + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CAnimData.hpp b/include/MetroidPrime/CAnimData.hpp new file mode 100644 index 00000000..08b97981 --- /dev/null +++ b/include/MetroidPrime/CAnimData.hpp @@ -0,0 +1,10 @@ +#ifndef _CANIMDATA_HPP +#define _CANIMDATA_HPP + +#include "types.h" + +class CAnimData { + // TODO +}; + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CAreaFog.hpp b/include/MetroidPrime/CAreaFog.hpp new file mode 100644 index 00000000..ce057766 --- /dev/null +++ b/include/MetroidPrime/CAreaFog.hpp @@ -0,0 +1,30 @@ +#ifndef _CAREAFOG_HPP +#define _CAREAFOG_HPP + +#include "types.h" + +#include "Kyoto/Graphics/CColor.hpp" +#include "Kyoto/Math/CVector2f.hpp" + +enum ERglFogMode { + // TODO +}; + +class CAreaFog { +private: + ERglFogMode x0_fogMode; + CVector2f x4_rangeCur; + CVector2f xc_rangeTarget; + CVector2f x14_rangeDelta; + CColor x1c_colorCur; + unkptr x20_; + unkptr x24_; + CColor x28_colorTarget; + unkptr x2c_; + unkptr x30_; + f32 x34_colorDelta; +}; + +CHECK_SIZEOF(CAreaFog, 0x38) + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CEntity.hpp b/include/MetroidPrime/CEntity.hpp index b3b83e58..31d893a5 100644 --- a/include/MetroidPrime/CEntity.hpp +++ b/include/MetroidPrime/CEntity.hpp @@ -40,4 +40,6 @@ protected: bool x30_27_notInArea : 1; }; +CHECK_SIZEOF(CEntity, 0x34) + #endif diff --git a/include/MetroidPrime/CModelData.hpp b/include/MetroidPrime/CModelData.hpp new file mode 100644 index 00000000..4a39d323 --- /dev/null +++ b/include/MetroidPrime/CModelData.hpp @@ -0,0 +1,51 @@ +#ifndef _CMODELDATA_HPP +#define _CMODELDATA_HPP + +#include "types.h" + +#include "MetroidPrime/TGameTypes.hpp" + +#include "Kyoto/Graphics/CColor.hpp" +#include "Kyoto/Math/CVector3f.hpp" +#include "Kyoto/Math/CTransform4f.hpp" +#include "Kyoto/TToken.hpp" + +#include "rstl/auto_ptr.hpp" +#include "rstl/optional_object.hpp" +#include "rstl/pair.hpp" + +class CAnimData; +class CModel; + +class CModelData { +public: + bool IsStaticModel() const { return xc_animData.get() == nullptr && !x1c_normalModel; } + + CModelData() { + // TODO + } + CModelData(const CModelData& other); + ~CModelData(); + + SAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree); + void AdvanceParticles(const CTransform4f& xf, float dt, CStateManager& mgr); + + rstl::auto_ptr< CAnimData >& GetAnimData() { return xc_animData; } + + void SetXRayModel(const rstl::pair< CAssetId, CAssetId >& assets); + void SetInfraModel(const rstl::pair< CAssetId, CAssetId >& assets); + void SetAmbientColor(const CColor& color) { x18_ambientColor = color; } + void SetSortThermal(bool b) { x14_25_sortThermal = b; } + +private: + CVector3f x0_scale; + rstl::auto_ptr< CAnimData > xc_animData; + bool x14_24_renderSorted : 1; + bool x14_25_sortThermal : 1; + CColor x18_ambientColor; + rstl::optional_object< TCachedToken< CModel > > x1c_normalModel; + rstl::optional_object< TCachedToken< CModel > > x2c_xrayModel; + rstl::optional_object< TCachedToken< CModel > > x3c_infraModel; +}; + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CModelFlags.hpp b/include/MetroidPrime/CModelFlags.hpp new file mode 100644 index 00000000..556466b8 --- /dev/null +++ b/include/MetroidPrime/CModelFlags.hpp @@ -0,0 +1,73 @@ +#ifndef _CMODELFLAGS_HPP +#define _CMODELFLAGS_HPP + +#include "types.h" + +#include "Kyoto/Graphics/CColor.hpp" + +class CModelFlags { +public: + enum ETrans { + kT_Opaque = 0, + kT_Blend = 5, + kT_Additive = 7, + }; + enum EFlags { + kF_DepthCompare = 0x1, + kF_DepthUpdate = 0x2, + kF_NoTextureLock = 0x4, + kF_DepthGreater = 0x8, + kF_DepthNonInclusive = 0x10, + kF_DrawNormal = 0x20, + kF_ThermalUnsortedOnly = 0x40, + }; + + CModelFlags(ETrans trans, f32 rgba) + : x0_blendMode(trans), x1_matSetIdx(0), x2_flags(kF_DepthCompare | kF_DepthUpdate), x4_color(rgba, rgba, rgba, rgba) {} + CModelFlags(ETrans trans, CColor color) + : x0_blendMode(trans), x1_matSetIdx(0), x2_flags(kF_DepthCompare | kF_DepthUpdate), x4_color(color) {} + CModelFlags(const CModelFlags& flags, u32 otherFlags) + : x0_blendMode(flags.x0_blendMode), x1_matSetIdx(flags.x1_matSetIdx), x2_flags(otherFlags), x4_color(flags.x4_color) {} + CModelFlags(const CModelFlags& flags, bool b /* TODO what's this? */, s32 shaderSet) + : x0_blendMode(flags.x0_blendMode), x1_matSetIdx(shaderSet), x2_flags(flags.x2_flags), x4_color(flags.x4_color) {} + + CModelFlags UseShaderSet(s32 matSet) { return CModelFlags(*this, false, matSet); } + CModelFlags DontLoadTextures() { return CModelFlags(*this, GetOtherFlags() | kF_NoTextureLock); } + CModelFlags DepthCompareUpdate(bool compare, bool update) { + u32 flags = GetOtherFlags(); + if (compare) { + flags |= kF_DepthCompare; + } else { + flags &= ~kF_DepthCompare; + } + if (update) { + flags |= kF_DepthUpdate; + } else { + flags &= ~kF_DepthUpdate; + } + return CModelFlags(*this, flags); + } + CModelFlags DepthBackwards() { return CModelFlags(*this, GetOtherFlags() | kF_DepthGreater); } + + ETrans GetTrans() const { return static_cast< ETrans >(x0_blendMode); } + s32 GetShaderSet() const { return x1_matSetIdx; } + u32 GetOtherFlags() const { return x2_flags; } + CColor GetColor() const { return x4_color; } + + static CModelFlags Normal() { return CModelFlags(kT_Opaque, 1.f); } + static CModelFlags AlphaBlended(f32 f); + static CModelFlags AlphaBlended(const CColor& color); + static CModelFlags Additive(f32 f); + static CModelFlags Additive(const CColor& color); + static CModelFlags AdditiveRGB(const CColor& color); + static CModelFlags ColorModulate(const CColor& color); + +private: + u8 x0_blendMode; + u8 x1_matSetIdx; + u16 x2_flags; + CColor x4_color; +}; +CHECK_SIZEOF(CModelFlags, 0x8) + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CObjectList.hpp b/include/MetroidPrime/CObjectList.hpp index 3f9fe24e..d574b3f7 100644 --- a/include/MetroidPrime/CObjectList.hpp +++ b/include/MetroidPrime/CObjectList.hpp @@ -1,7 +1,12 @@ #ifndef __COBJECTLIST_HPP__ #define __COBJECTLIST_HPP__ +#include "types.h" + +#include "MetroidPrime/TGameTypes.hpp" + #define kMaxObjects 1024 + enum EGameObjectList { kGOL_Invalid = -1, kGOL_All, @@ -25,7 +30,7 @@ class CObjectList { public: CObjectList(EGameObjectList list); - bool IsQualified(CEntity& ent); + bool IsQualified(CEntity& ent); void AddObject(CEntity& ent); void RemoveObject(TUniqueId uid); CEntity* GetObjectById(); @@ -36,11 +41,12 @@ public: const CEntity* operator[](s32 idx) const; const CEntity* GetValidObjectByIndex(s32 idx) const; s32 size() const { return mCount; } + private: SObjectListEntry mObjects[1024]; EGameObjectList mListType; s16 mFirstId = -1; s16 mCount = 0; -} +}; #endif // __COBJECTLIST_HPP__ diff --git a/include/MetroidPrime/CSfxHandle.hpp b/include/MetroidPrime/CSfxHandle.hpp new file mode 100644 index 00000000..f8799e46 --- /dev/null +++ b/include/MetroidPrime/CSfxHandle.hpp @@ -0,0 +1,16 @@ +#ifndef _CSFXHANDLE_HPP +#define _CSFXHANDLE_HPP + +#include "types.h" + +class CSfxHandle { +public: + CSfxHandle() : value(0) {} + CSfxHandle(u32 value) : value(value) {} + +private: + u32 value; +}; +CHECK_SIZEOF(CSfxHandle, 0x4) + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/CStateManager.hpp b/include/MetroidPrime/CStateManager.hpp index d36e3504..eac6e716 100644 --- a/include/MetroidPrime/CStateManager.hpp +++ b/include/MetroidPrime/CStateManager.hpp @@ -3,9 +3,31 @@ #include "types.h" +#include "MetroidPrime/CEntityInfo.hpp" +#include "MetroidPrime/TGameTypes.hpp" + +#include "rstl/auto_ptr.hpp" +#include "rstl/list.hpp" +#include "rstl/reserved_vector.hpp" +#include "rstl/single_ptr.hpp" + +class CObjectList; +class CPlayer; +class CWorld; +class CStateManagerContainer; + class CStateManager { public: void SendScriptMsg(TUniqueId uid, TEditorId target, EScriptObjectMessage msg, EScriptObjectState state); + +private: + u16 x0_nextFreeIndex; + rstl::reserved_vector< u16, 1024 > x8_objectIndexArray; + rstl::reserved_vector< rstl::auto_ptr< CObjectList >, 8 > x808_objectLists; + CPlayer* x84c_player; + rstl::single_ptr< CWorld > x850_world; + rstl::list< rstl::reserved_vector< TUniqueId, 32 > > x854_graveyard; + rstl::single_ptr< CStateManagerContainer > x86c_stateManagerContainer; }; #endif diff --git a/include/MetroidPrime/CStateManagerContainer.hpp b/include/MetroidPrime/CStateManagerContainer.hpp new file mode 100644 index 00000000..310d25fa --- /dev/null +++ b/include/MetroidPrime/CStateManagerContainer.hpp @@ -0,0 +1,24 @@ +#ifndef _CSTATEMANAGERCONTAINER_HPP +#define _CSTATEMANAGERCONTAINER_HPP + +#include "types.h" + +#include "MetroidPrime/TGameTypes.hpp" +#include "MetroidPrime/Cameras/CCameraManager.hpp" + +#include "rstl/reserved_vector.hpp" + +class CStateManagerContainer { + CCameraManager x0_cameraManager; + SL::CSortedListManager x3c0_sortedListManager; + CWeaponMgr xe3d8_weaponManager; + CFluidPlaneManager xe3ec_fluidPlaneManager; + CEnvFxManager xe510_envFxManager; + CActorModelParticles xf168_actorModelParticles; + CRumbleManager xf250_rumbleManager; + rstl::reserved_vector< TUniqueId, 20 > xf344_; + rstl::reserved_vector< TUniqueId, 20 > xf370_; + rstl::reserved_vector< TUniqueId, 20 > xf39c_renderLast; +}; + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/Cameras/CCameraFilterPass.hpp b/include/MetroidPrime/Cameras/CCameraFilterPass.hpp index 98509343..c3717c82 100644 --- a/include/MetroidPrime/Cameras/CCameraFilterPass.hpp +++ b/include/MetroidPrime/Cameras/CCameraFilterPass.hpp @@ -3,7 +3,7 @@ #include "types.h" -#include "Kyoto/Math/CColor.hpp" +#include "Kyoto/Graphics/CColor.hpp" #include "CTexture.hpp" diff --git a/include/MetroidPrime/Cameras/CCameraManager.hpp b/include/MetroidPrime/Cameras/CCameraManager.hpp new file mode 100644 index 00000000..b43988c5 --- /dev/null +++ b/include/MetroidPrime/Cameras/CCameraManager.hpp @@ -0,0 +1,56 @@ +#ifndef _CCAMERAMANAGER_HPP +#define _CCAMERAMANAGER_HPP + +#include "types.h" + +#include "MetroidPrime/CAreaFog.hpp" +#include "MetroidPrime/TGameTypes.hpp" + +#include "Kyoto/Math/CVector3f.hpp" + +#include "rstl/list.hpp" +#include "rstl/pair.hpp" +#include "rstl/reserved_vector.hpp" +#include "rstl/vector.hpp" + +class CBallCamera; +class CCameraShakeData; +class CFirstPersonCamera; +class CInterpolationCamera; + +class CCameraManager { +private: + TUniqueId x0_curCameraId; + rstl::vector< TUniqueId > x4_cineCameras; + rstl::list< CCameraShakeData > x14_shakers; + u32 x2c_lastShakeId; + CVector3f x30_shakeOffset; + CAreaFog x3c_fog; + s32 x74_fluidCounter; + TUniqueId x78_fluidId; + CFirstPersonCamera* x7c_fpCamera; + CBallCamera* x80_ballCamera; + s32 x84_rumbleId; + CInterpolationCamera* x88_interpCamera; + f32 x90_rumbleCooldown; + f32 x94_fogDensityFactor; + f32 x98_fogDensitySpeed; + f32 x9c_fogDensityFactorTarget; + bool xa0_24_pendingRumble : 1; + bool xa0_25_rumbling : 1; + bool xa0_26_inWater : 1; + TUniqueId xa2_spindleCamId; + TUniqueId xa4_pathCamId; + TUniqueId xa6_camHintId; + s32 xa8_hintPriority; + rstl::reserved_vector< rstl::pair< s32, TUniqueId >, 64 > xac_cameraHints; + rstl::reserved_vector< TUniqueId, 64 > x2b0_inactiveCameraHints; + rstl::reserved_vector< TUniqueId, 64 > x334_activeCameraHints; + bool x3b8_24_ : 1; + bool x3b8_25_ : 1; + float x3bc_curFov; +}; + +CHECK_SIZEOF(CCameraManager, 0x3c0) + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/Cameras/CCameraShakeData.hpp b/include/MetroidPrime/Cameras/CCameraShakeData.hpp new file mode 100644 index 00000000..9ffa78f3 --- /dev/null +++ b/include/MetroidPrime/Cameras/CCameraShakeData.hpp @@ -0,0 +1,44 @@ +#ifndef _CCAMERASHAKEDATA_HPP +#define _CCAMERASHAKEDATA_HPP + +#include "types.h" + +#include "Kyoto/Math/CVector3f.hpp" + +struct SCameraShakePoint { + bool x0_useEnvelope; + f32 x4_value; + f32 x8_magnitude; + f32 xc_attackTime; + f32 x10_sustainTime; + f32 x14_duration; +}; +CHECK_SIZEOF(SCameraShakePoint, 0x18) + +class CCameraShakerComponent { +public: + virtual ~CCameraShakerComponent(); + +private: + bool x4_useModulation; + SCameraShakePoint x8_am; + SCameraShakePoint x20_fm; + f32 x38_value; +}; +CHECK_SIZEOF(CCameraShakerComponent, 0x3c) + +class CCameraShakeData { +private: + f32 x0_duration; + f32 x4_curTime; + CCameraShakerComponent x8_shakerX; + CCameraShakerComponent x44_shakerY; + CCameraShakerComponent x80_shakerZ; + u32 xbc_shakerId; + u32 xc0_flags; + CVector3f xc4_sfxPos; + f32 xd0_sfxDist; +}; +CHECK_SIZEOF(CCameraShakeData, 0xd4) + +#endif \ No newline at end of file diff --git a/include/MetroidPrime/TGameTypes.hpp b/include/MetroidPrime/TGameTypes.hpp index 6c9bf974..709c5507 100644 --- a/include/MetroidPrime/TGameTypes.hpp +++ b/include/MetroidPrime/TGameTypes.hpp @@ -21,6 +21,7 @@ struct TAreaId { bool operator==(const TAreaId& other) const { return value == other.value; } bool operator!=(const TAreaId& other) const { return value != other.value; } }; +CHECK_SIZEOF(TAreaId, 0x4) struct TEditorId { u32 value; @@ -32,6 +33,7 @@ struct TEditorId { bool operator==(const TEditorId& other) const { return value == other.value; } bool operator!=(const TEditorId& other) const { return value != other.value; } }; +CHECK_SIZEOF(TEditorId, 0x4) struct TUniqueId { union { @@ -49,5 +51,9 @@ struct TUniqueId { bool operator==(const TUniqueId& other) const { return value == other.value; } bool operator!=(const TUniqueId& other) const { return value != other.value; } }; +CHECK_SIZEOF(TUniqueId, 0x2) + +typedef u16 TSfxId; +static TSfxId InvalidSfxId = 0xFFFFu; #endif diff --git a/include/rstl/auto_ptr.hpp b/include/rstl/auto_ptr.hpp index 56404b9e..ee6f6cf4 100644 --- a/include/rstl/auto_ptr.hpp +++ b/include/rstl/auto_ptr.hpp @@ -28,11 +28,14 @@ public: // other.x0_has = false; // } T* get() { return x4_item; } + const T* get() const { return x4_item; } T* operator->() { return get(); } + const T* operator->() const { return get(); } T* release() const { x0_has = false; return x4_item; } + operator bool() const { return x0_has; } }; } // namespace rstl diff --git a/include/rstl/construct.hpp b/include/rstl/construct.hpp index 72ef98b2..a61a9c63 100644 --- a/include/rstl/construct.hpp +++ b/include/rstl/construct.hpp @@ -72,6 +72,13 @@ inline void uninitialized_copy_n(D* dest, S* src, size_t count) { } // destroy(src, src + count); ?? } + +template < typename D, typename S > +inline void uninitialized_fill_n(D dest, int count, const S& value) { + for (int i = 0; i < count; ++dest, ++i) { + construct(dest, value); + } +} } // namespace rstl #endif diff --git a/include/rstl/reserved_vector.hpp b/include/rstl/reserved_vector.hpp index c360e464..bc7d53b3 100644 --- a/include/rstl/reserved_vector.hpp +++ b/include/rstl/reserved_vector.hpp @@ -10,17 +10,19 @@ namespace rstl { template < typename T, size_t N > class reserved_vector { size_t x0_count; - T x4_items[N]; + u8 x4_data[N * sizeof(T)]; public: typedef pointer_iterator< T, reserved_vector< T, N >, void > iterator; typedef const_pointer_iterator< T, reserved_vector< T, N >, void > const_iterator; - inline iterator begin() { return iterator(x4_items); } - inline const_iterator begin() const { return const_iterator(x4_items); } - inline iterator end() { return iterator(x4_items + x0_count); } - inline const_iterator end() const { return const_iterator(x4_items + x0_count); } + inline iterator begin() { return iterator(data()); } + inline const_iterator begin() const { return const_iterator(data()); } + inline iterator end() { return iterator(data() + x0_count); } + inline const_iterator end() const { return const_iterator(data() + x0_count); } + reserved_vector() : x0_count(0) {} + reserved_vector(const T& value) : x0_count(N) { rstl::uninitialized_fill_n(data(), N, value); } reserved_vector(const reserved_vector& other) { x0_count = other.size(); rstl::uninitialized_copy_n(data(), other.data(), size()); @@ -35,14 +37,12 @@ public: } void clear() { for (size_t i = 0; i < x0_count; ++i) { - rstl::destroy(&x4_items[i]); + rstl::destroy(&data()[i]); } x0_count = 0; } - ~reserved_vector() { - clear(); - } + ~reserved_vector() { clear(); } void push_back(const T& in) { if (x0_count < N) { @@ -52,14 +52,14 @@ public: } } - inline T* data() { return x4_items; } - inline const T* data() const { return x4_items; } + inline T* data() { return reinterpret_cast< T* >(x4_data); } + inline const T* data() const { return reinterpret_cast< const T* >(x4_data); } inline size_t size() const { return x0_count; } inline size_t capacity() const { return N; } - inline T& front() { return x4_items[0]; } - inline const T& front() const { return x4_items[0]; } - inline T& back() { return x4_items[x0_count - 1]; } - inline const T& back() const { return x4_items[x0_count - 1]; } + inline T& front() { return data()[0]; } + inline const T& front() const { return data()[0]; } + inline T& back() { return data()[x0_count - 1]; } + inline const T& back() const { return data()[x0_count - 1]; } inline T& operator[](size_t idx) { return data()[idx]; } inline const T& operator[](size_t idx) const { return data()[idx]; } }; diff --git a/include/rstl/single_ptr.hpp b/include/rstl/single_ptr.hpp index 4f79c173..6ed8ebf2 100644 --- a/include/rstl/single_ptr.hpp +++ b/include/rstl/single_ptr.hpp @@ -19,7 +19,13 @@ public: delete x0_ptr; x0_ptr = ptr; } + operator bool() const { return x0_ptr != nullptr; } + T& operator*() { return *x0_ptr; } + const T& operator*() const { return *x0_ptr; } }; + +typedef single_ptr unk_singleptr; +CHECK_SIZEOF(unk_singleptr, 0x4); } // namespace rstl #endif diff --git a/include/rstl/string.hpp b/include/rstl/string.hpp index 2cd88e03..7b64da2b 100644 --- a/include/rstl/string.hpp +++ b/include/rstl/string.hpp @@ -115,6 +115,8 @@ string string_l(const char* data); // { // return string(string::literal_t(), data); // } + +CHECK_SIZEOF(string, 0x10) } // namespace rstl #endif diff --git a/include/rstl/vector.hpp b/include/rstl/vector.hpp index e081bf3a..b223de0c 100644 --- a/include/rstl/vector.hpp +++ b/include/rstl/vector.hpp @@ -106,6 +106,9 @@ void vector< T, Alloc >::reserve(size_t size) { xc_items = newData; x8_capacity = size; } + +typedef vector unk_vector; +CHECK_SIZEOF(unk_vector, 0x10) } // namespace rstl #endif diff --git a/include/static_assert.hpp b/include/static_assert.hpp new file mode 100644 index 00000000..d6af1242 --- /dev/null +++ b/include/static_assert.hpp @@ -0,0 +1,33 @@ +// C++98 static assert + +template < bool expr > +struct do_static_assert; + +template <> +struct do_static_assert< true > { + static const char test; +}; + +struct false_type { + static const bool value = false; +}; + +struct true_type { + static const bool value = true; +}; + +template < int A, int B > +struct _n_is_equal : false_type {}; + +template < int A > +struct _n_is_equal< A, A > : true_type {}; + +template < class T, int N > +struct check_sizeof : _n_is_equal< sizeof(T), N > {}; + +#ifdef __MWERKS__ +#define CHECK_SIZEOF(cls, size) \ + static void cls##_check() { do_static_assert< check_sizeof< cls, size >::value >::test; } +#else +#define CHECK_SIZEOF(cls, size) +#endif \ No newline at end of file diff --git a/include/types.h b/include/types.h index 293f918c..4908f75d 100644 --- a/include/types.h +++ b/include/types.h @@ -2,6 +2,8 @@ #define __TYPES_H__ #ifdef __cplusplus +#include "static_assert.hpp" + extern "C" { #endif diff --git a/obj_files.mk b/obj_files.mk index 831a106e..33d7a313 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -33,7 +33,7 @@ METROIDPRIME :=\ $(BUILD_DIR)/asm/MetroidPrime/CGameProjectile.o\ $(BUILD_DIR)/asm/MetroidPrime/Player/CPlayerGun.o\ $(BUILD_DIR)/asm/MetroidPrime/CStateManager.o\ - $(BUILD_DIR)/asm/MetroidPrime/CEntity.o\ + $(BUILD_DIR)/src/MetroidPrime/CEntity.o\ $(BUILD_DIR)/asm/MetroidPrime/CArchMsgParmInt32.o\ $(BUILD_DIR)/asm/MetroidPrime/CArchMsgParmInt32Int32VoidPtr.o\ $(BUILD_DIR)/asm/MetroidPrime/CArchMsgParmNull.o\ diff --git a/src/Kyoto/Text/CStringTable.cpp b/src/Kyoto/Text/CStringTable.cpp index 452b4d77..4c2b8eb2 100644 --- a/src/Kyoto/Text/CStringTable.cpp +++ b/src/Kyoto/Text/CStringTable.cpp @@ -43,6 +43,7 @@ const wchar_t* CStringTable::GetString(s32 idx) const { } template <> -CFactoryFnReturn::CFactoryFnReturn(CStringTable* ptr) : obj(TToken< CStringTable >::GetIObjObjectFor(ptr).release()) {} +CFactoryFnReturn::CFactoryFnReturn(CStringTable* ptr) +: obj(TToken< CStringTable >::GetIObjObjectFor(rstl::auto_ptr< CStringTable >(ptr)).release()) {} CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& xfer) { return new CStringTable(in); } diff --git a/src/MetroidPrime/CActor.cpp b/src/MetroidPrime/CActor.cpp new file mode 100644 index 00000000..4af58573 --- /dev/null +++ b/src/MetroidPrime/CActor.cpp @@ -0,0 +1,94 @@ +#include "MetroidPrime/CActor.hpp" +#include "MetroidPrime/CActorLights.hpp" +#include "MetroidPrime/CActorParameters.hpp" +#include "MetroidPrime/CModelData.hpp" + +#include "Kyoto/Audio/CAudioSys.hpp" + +static CMaterialList MakeActorMaterialList(const CMaterialList& in, const CActorParameters& params) { + CMaterialList ret = in; + if (params.GetVisorParameters().GetBool1()) { + ret.Add(kMT_Unknown46); + } + if (params.GetVisorParameters().GetScanPassthrough()) { + ret.Add(kMT_ScanPassthrough); + } + return ret; +} + +CActor::CActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf, + const CModelData& mData, const CMaterialList& list, const CActorParameters& params, TUniqueId nextDrawNode) +: CEntity(uid, info, active, name) +, x34_transform(xf) +, x64_modelData(mData.IsStaticModel() ? nullptr : new CModelData(mData)) +, x68_material(MakeActorMaterialList(list, params)) +, x70_materialFilter(CMaterialFilter::MakeIncludeExclude(CMaterialList().Union(SolidMaterial), CMaterialList(0))) +, x88_sfxId(InvalidSfxId) +, x8c_loopingSfxHandle(0) +, x90_actorLights(mData.IsStaticModel() ? nullptr : params.GetLighting().MakeActorLights().release()) +, x9c_renderBounds(CAABox::mskInvertedBox) +, xb4_drawFlags(CModelFlags::Normal()) +, xbc_time(0.f) +, xc0_pitchBend(8192) +, xc4_fluidId(kInvalidUniqueId) +, xc6_nextDrawNode(nextDrawNode) +, xc8_drawnToken(-1) +, xcc_addedToken(-1) +, xd0_damageMag(params.GetThermalMag()) +, xd4_maxVol(CAudioSys::kMaxVolume) +, xd8_nonLoopingSfxHandles(CSfxHandle(0)) +, xe4_24_nextNonLoopingSfxHandle(0) +, xe4_27_notInSortedLists(true) +, xe4_28_transformDirty(true) +, xe4_29_actorLightsDirty(true) +, xe4_30_outOfFrustum(false) +, xe4_31_calculateLighting(true) +, xe5_24_shadowEnabled(false) +, xe5_25_shadowDirty(false) +, xe5_26_muted(false) +, xe5_27_useInSortedLists(true) +, xe5_28_callTouch(true) +, xe5_29_globalTimeProvider(params.GetUseGlobalRenderTime()) +, xe5_30_renderUnsorted(params.ForceRenderUnsorted()) +, xe5_31_pointGeneratorParticles(false) +, xe6_24_fluidCounter(0) +, xe6_27_thermalVisorFlags(params.IsHotInThermal() ? kTF_Hot : kTF_Cold) +, xe6_29_renderParticleDBInside(true) +, xe6_30_enablePitchBend(false) +, xe6_31_targetableVisorFlags(params.GetVisorParameters().GetMask()) +, xe7_27_enableRender(true) +, xe7_28_worldLightingDirty(false) +, xe7_29_drawEnabled(active) +, xe7_30_doTargetDistanceTest(true) +, xe7_31_targetable(true) { + if (x64_modelData) { + if (params.GetXRay().first != 0) { + x64_modelData->SetXRayModel(params.GetXRay()); + } + if (params.GetInfra().first != 0) { + x64_modelData->SetInfraModel(params.GetInfra()); + } + const CLightParameters& lighting = params.GetLighting(); + if (!lighting.ShouldMakeLights() || lighting.GetMaxAreaLights() == 0) { + x64_modelData->SetAmbientColor(lighting.GetAmbientColor()); + } + x64_modelData->SetSortThermal(!params.NoSortThermal()); + } + const CAssetId scanId = params.GetScannable().GetScannableObject0(); + if (scanId != kInvalidAssetId) { + x98_scanObjectInfo = new TCachedToken< CScannableObjectInfo >(gpSimplePool->GetObj(SObjectTag('SCAN', scanId))); + x98_scanObjectInfo->Lock(); + } +} + +CActor::~CActor() { RemoveEmitter(); } + +// TODO nonmatching +SAdvancementDeltas CActor::UpdateAnimation(float dt, CStateManager& mgr, bool advTree) { + SAdvancementDeltas result = x64_modelData->AdvanceAnimation(dt, mgr, GetAreaId(), advTree); + x64_modelData->AdvanceParticles(GetTransform(), dt, mgr); + UpdateSfxEmitters(); + if (x64_modelData && x64_modelData->GetAnimData().get() != nullptr) { + } + return result; +}