From 9843c3b26389fb178787b5fd8d67339ed3fa022e Mon Sep 17 00:00:00 2001 From: Phillip Stephens Date: Fri, 10 Nov 2023 15:16:36 -0800 Subject: [PATCH] Add missing getters in SObjectTag and migrate to them Former-commit-id: 80edcb3749d3f5733e0040d320a6ed6ac5425790 --- include/Kyoto/CToken.hpp | 2 +- include/Kyoto/SObjectTag.hpp | 16 ++++++++++------ src/Kyoto/CDependencyGroup.cpp | 2 +- src/MetroidPrime/CExplosion.cpp | 4 ++-- src/MetroidPrime/ScriptObjects/CScriptPickup.cpp | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/include/Kyoto/CToken.hpp b/include/Kyoto/CToken.hpp index d55b572c..3da93b56 100644 --- a/include/Kyoto/CToken.hpp +++ b/include/Kyoto/CToken.hpp @@ -24,7 +24,7 @@ public: CToken& operator=(const CToken&); bool HasReference() const { return x0_objRef != nullptr; } const SObjectTag& GetTag() const { return x0_objRef->GetTag(); } - FourCC GetReferenceType() { return GetTag().type; } + FourCC GetReferenceType() { return GetTag().GetType(); } bool HasLock() { return x4_lockHeld; } diff --git a/include/Kyoto/SObjectTag.hpp b/include/Kyoto/SObjectTag.hpp index 0ee577de..3d7a6ded 100644 --- a/include/Kyoto/SObjectTag.hpp +++ b/include/Kyoto/SObjectTag.hpp @@ -8,15 +8,19 @@ typedef uint CAssetId; typedef uint FourCC; -struct SObjectTag { - FourCC type; - CAssetId id; - +class SObjectTag { +public: SObjectTag() {} - SObjectTag(FourCC type, CAssetId id) : type(type), id(id) {} - SObjectTag(const SObjectTag& other) : type(other.type), id(other.id) {} + SObjectTag(const FourCC type, const CAssetId id) : mType(type), mId(id) {} + SObjectTag(const SObjectTag& other) : mType(other.mType), mId(other.mId) {} + const CAssetId GetId() const { return mId; } + const FourCC GetType() const { return mType; } static const char* Type2Text(FourCC type); + +public: + FourCC mType; + CAssetId mId; }; #endif // _SOBJECTTAG diff --git a/src/Kyoto/CDependencyGroup.cpp b/src/Kyoto/CDependencyGroup.cpp index 3323ccdd..85d9ebaa 100644 --- a/src/Kyoto/CDependencyGroup.cpp +++ b/src/Kyoto/CDependencyGroup.cpp @@ -19,7 +19,7 @@ int CDependencyGroup::GetCountForResType(FourCC type) const { int ret = 0; for (rstl::vector< SObjectTag >::const_iterator it = x0_objectTags.begin(); it != x0_objectTags.end(); ++it) { - if (it->type == type) { + if (it->GetType() == type) { ++ret; } } diff --git a/src/MetroidPrime/CExplosion.cpp b/src/MetroidPrime/CExplosion.cpp index 111a8a9c..a20b10c5 100644 --- a/src/MetroidPrime/CExplosion.cpp +++ b/src/MetroidPrime/CExplosion.cpp @@ -19,7 +19,7 @@ CExplosion::CExplosion(const TLockedToken< CGenDescription >& particle, TUniqueI , xe8_particleGen(rs_new CElementGen(TToken< CGenDescription >(particle), CElementGen::kMOT_Normal, flags & 0x2 ? CElementGen::kOSF_Two : CElementGen::kOSF_One)) , xec_explosionLight(kInvalidUniqueId) -, xf0_sourceId(CToken(particle).GetTag().id) +, xf0_sourceId(CToken(particle).GetTag().GetId()) , xf4_24_renderThermalHot(flags & 0x4) , xf4_25_hasRenderBounds(true) , xf4_26_renderXray(flags & 0x8) @@ -38,7 +38,7 @@ CExplosion::CExplosion(const TLockedToken< CElectricDescription >& electric, TUn : CEffect(uid, info, active, name, xf) , xe8_particleGen(rs_new CParticleElectric(electric)) , xec_explosionLight(kInvalidUniqueId) -, xf0_sourceId(CToken(electric).GetTag().id) +, xf0_sourceId(CToken(electric).GetTag().GetId()) , xf4_24_renderThermalHot(flags & 0x4) , xf4_25_hasRenderBounds(true) , xf4_26_renderXray(flags & 0x8) diff --git a/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp b/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp index 3785932b..3007e6aa 100644 --- a/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp +++ b/src/MetroidPrime/ScriptObjects/CScriptPickup.cpp @@ -176,7 +176,7 @@ void CScriptPickup::Touch(CActor& act, CStateManager& mgr) { gpResourceFactory ->GetResourceIdByName(opts.GetAllItemsCollected() ? "STRG_AllPickupsFound_2" : "STRG_AllPickupsFound_1") - ->id; + ->GetId(); mgr.QueueMessage(mgr.GetHUDMessageFrameCount() + 1, id, 0.f); opts.SetAllItemsCollected(true); }