diff --git a/data/uking_functions.csv b/data/uking_functions.csv index d3482042..88869d69 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -52771,10 +52771,10 @@ 0x0000007100897644,SceneMgr::setWarpDLCDestPosAndDegree,52, 0x0000007100897678,sub_7100897678,100, 0x00000071008976dc,sub_71008976DC,108, -0x0000007100897748,ActorHeapUtil::createInstance,148, -0x00000071008977dc,ActorHeapUtil::deleteInstance,88, -0x0000007100897834,ActorHeapUtil::dtor,4, -0x0000007100897838,ActorHeapUtil::dtorDelete,4, +0x0000007100897748,ActorHeapUtil::createInstance,148,_ZN4ksys3act13ActorHeapUtil14createInstanceEPN4sead4HeapE +0x00000071008977dc,ActorHeapUtil::deleteInstance,88,_ZN4ksys3act13ActorHeapUtil14deleteInstanceEv +0x0000007100897834,ActorHeapUtil::dtor,4,_ZN4ksys3act13ActorHeapUtilD1Ev +0x0000007100897838,ActorHeapUtil::dtorDelete,4,_ZN4ksys3act13ActorHeapUtilD0Ev 0x000000710089783c,StageSelectData::callSomeFnOnMemberx28,12, 0x0000007100897848,StageSelectData::callSomeFnOnMemberx28_b,20, 0x000000710089785c,sub_710089785C,140, diff --git a/src/KingSystem/ActorSystem/CMakeLists.txt b/src/KingSystem/ActorSystem/CMakeLists.txt index 464cb97b..eb4318aa 100644 --- a/src/KingSystem/ActorSystem/CMakeLists.txt +++ b/src/KingSystem/ActorSystem/CMakeLists.txt @@ -11,6 +11,8 @@ target_sources(uking PRIVATE actActorCreator.h actActorFactory.cpp actActorFactory.h + actActorHeapUtil.cpp + actActorHeapUtil.h actActorLinkConstDataAccess.cpp actActorLinkConstDataAccess.h actActorParam.cpp diff --git a/src/KingSystem/ActorSystem/actActorHeapUtil.cpp b/src/KingSystem/ActorSystem/actActorHeapUtil.cpp new file mode 100644 index 00000000..4aa0a1f9 --- /dev/null +++ b/src/KingSystem/ActorSystem/actActorHeapUtil.cpp @@ -0,0 +1,9 @@ +#include "KingSystem/ActorSystem/actActorHeapUtil.h" + +namespace ksys::act { + +SEAD_SINGLETON_DISPOSER_IMPL(ActorHeapUtil) + +ActorHeapUtil::~ActorHeapUtil() = default; + +} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/actActorHeapUtil.h b/src/KingSystem/ActorSystem/actActorHeapUtil.h new file mode 100644 index 00000000..dcf9e887 --- /dev/null +++ b/src/KingSystem/ActorSystem/actActorHeapUtil.h @@ -0,0 +1,25 @@ +#pragma once + +#include + +namespace ksys::act { + +class ActorHeapUtil { + SEAD_SINGLETON_DISPOSER(ActorHeapUtil) + ActorHeapUtil() = default; + virtual ~ActorHeapUtil(); + +public: + sead::Heap* getBaseProcHeap() const { return mBaseProcHeap; } + void setBaseProcHeap(sead::Heap* heap) { mBaseProcHeap = heap; } + + sead::Heap* getMemoryResidentActorHeap() const { return mMemoryResidentActorHeap; } + void setMemoryResidentActorHeap(sead::Heap* heap) { mMemoryResidentActorHeap = heap; } + +private: + // "uking::Stage::ForBaseProcDual" + sead::Heap* mBaseProcHeap{}; + sead::Heap* mMemoryResidentActorHeap{}; +}; + +} // namespace ksys::act