From 58bf733091818c43a51fffc4772004c84d7c28a5 Mon Sep 17 00:00:00 2001 From: Phillip Stephens Date: Tue, 13 May 2025 11:52:37 -0700 Subject: [PATCH] Stub out CSimplePool --- include/Kyoto/CSimplePool.hpp | 16 ++++++++------ include/Kyoto/IObjectStore.hpp | 10 ++++----- src/Kyoto/CSimplePool.cpp | 40 ++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 src/Kyoto/CSimplePool.cpp diff --git a/include/Kyoto/CSimplePool.hpp b/include/Kyoto/CSimplePool.hpp index 874acd19..b48e426a 100644 --- a/include/Kyoto/CSimplePool.hpp +++ b/include/Kyoto/CSimplePool.hpp @@ -1,6 +1,7 @@ #ifndef _CSIMPLEPOOL #define _CSIMPLEPOOL +#include "Kyoto/CVParamTransfer.hpp" #include "types.h" #include "rstl/hash_map.hpp" @@ -14,23 +15,24 @@ class CSimplePool : public IObjectStore { public: CSimplePool(IFactory& factory); ~CSimplePool(); - void DumpDebugPool() const; - virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer); + void DebugDumpPool() const; + virtual CToken GetObj(const SObjectTag& tag, const 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 IFactory& GetFactory() { return x18_factory; } + virtual CToken GetObj(const char* name, const CVParamTransfer& xfer); + virtual bool HasObject(const SObjectTag& tag) const; + virtual bool ObjectIsLive(const SObjectTag& tag) const; + virtual IFactory& GetFactory() const { return x18_factory; } virtual void Flush(); virtual void ObjectUnreferenced(const SObjectTag& tag); + rstl::vector< SObjectTag > GetReferencedTags(); private: uchar x4_; uchar x5_; rstl::hash_map< unkptr, unkptr, void, void > x8_resources; IFactory& x18_factory; - rstl::rc_ptr< CVParamTransfer > x1c_paramXfr; + CVParamTransfer x1c_paramXfr; }; CHECK_SIZEOF(CSimplePool, 0x20) diff --git a/include/Kyoto/IObjectStore.hpp b/include/Kyoto/IObjectStore.hpp index 3a03193f..761909e4 100644 --- a/include/Kyoto/IObjectStore.hpp +++ b/include/Kyoto/IObjectStore.hpp @@ -12,13 +12,13 @@ class IFactory; class IObjectStore { public: IObjectStore() {} - virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer) = 0; + virtual CToken GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) = 0; virtual CToken GetObj(const SObjectTag& tag) = 0; virtual CToken GetObj(const char* name) = 0; - virtual CToken GetObj(const char* name, CVParamTransfer xfer) = 0; - virtual bool HasObject(const SObjectTag& tag) = 0; - virtual bool ObjectIsLive(const SObjectTag& tag) = 0; - virtual IFactory& GetFactory() = 0; + virtual CToken GetObj(const char* name, const CVParamTransfer& xfer) = 0; + virtual bool HasObject(const SObjectTag& tag) const = 0; + virtual bool ObjectIsLive(const SObjectTag& tag) const = 0; + virtual IFactory& GetFactory() const = 0; virtual void Flush() = 0; virtual void ObjectUnreferenced(const SObjectTag& tag) = 0; }; diff --git a/src/Kyoto/CSimplePool.cpp b/src/Kyoto/CSimplePool.cpp new file mode 100644 index 00000000..66485430 --- /dev/null +++ b/src/Kyoto/CSimplePool.cpp @@ -0,0 +1,40 @@ +#include "Kyoto/CSimplePool.hpp" +#include "Kyoto/CVParamTransfer.hpp" +#include "Kyoto/SObjectTag.hpp" + +CSimplePool::CSimplePool(IFactory& factory) +: x18_factory(factory), x1c_paramXfr(CVParamTransfer::Null()) {} + +CSimplePool::~CSimplePool() { + DebugDumpPool(); +} + +void CSimplePool::ObjectUnreferenced(const SObjectTag& tag) {} + +CToken CSimplePool::GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) { return CToken(); } + +CToken CSimplePool::GetObj(const SObjectTag& tag) { return CSimplePool::GetObj(tag, x1c_paramXfr); } + +CToken CSimplePool::GetObj(const char* name) { return CToken(); } + +CToken CSimplePool::GetObj(const char* name, const CVParamTransfer& xfer) { return CToken(); } + +bool CSimplePool::HasObject(const SObjectTag& tag) const { + return false; +} + +bool CSimplePool::ObjectIsLive(const SObjectTag& tag) const { + return false; +} + +void CSimplePool::Flush() { + +} + +void CSimplePool::DebugDumpPool() const { + +} + +rstl::vector CSimplePool::GetReferencedTags() { + return rstl::vector(); +}