diff --git a/data/uking_functions.csv b/data/uking_functions.csv index e98378ae..c724da38 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -91864,14 +91864,14 @@ 0x00000071011c0430,ActorJobLists::getJobWithTopPriority,332, 0x00000071011c057c,ActorJobLists::getNextJobWithTopPriority,848, 0x00000071011c08cc,ActorJobLists::getNextJob,140, -0x00000071011c0958,sub_71011C0958,100, -0x00000071011c09bc,sub_71011C09BC,108, -0x00000071011c0a28,BaseProcMgr::Struct2::createInstance,152, -0x00000071011c0ac0,sub_71011C0AC0,88, -0x00000071011c0b18,nullsub_4643,4, -0x00000071011c0b1c,j__ZdlPv_1213,4, -0x00000071011c0b20,BaseProcMgr::Struct2::getForBaseProcDualHeap,8, -0x00000071011c0b28,BaseProcMgr::Struct2::setHeap,8, +0x00000071011c0958,sub_71011C0958,100,_ZN4ksys3act15BaseProcHeapMgr18SingletonDisposer_D2Ev +0x00000071011c09bc,sub_71011C09BC,108,_ZN4ksys3act15BaseProcHeapMgr18SingletonDisposer_D0Ev +0x00000071011c0a28,BaseProcMgr::Struct2::createInstance,152,_ZN4ksys3act15BaseProcHeapMgr14createInstanceEPN4sead4HeapE +0x00000071011c0ac0,sub_71011C0AC0,88,_ZN4ksys3act15BaseProcHeapMgr14deleteInstanceEv +0x00000071011c0b18,nullsub_4643,4,_ZN4ksys3act15BaseProcHeapMgrD1Ev +0x00000071011c0b1c,j__ZdlPv_1213,4,_ZN4ksys3act15BaseProcHeapMgrD0Ev +0x00000071011c0b20,BaseProcMgr::Struct2::getForBaseProcDualHeap,8,_ZNK4ksys3act15BaseProcHeapMgr7getHeapEv +0x00000071011c0b28,BaseProcMgr::Struct2::setHeap,8,_ZN4ksys3act15BaseProcHeapMgr7setHeapEPN4sead4HeapE 0x00000071011c0b30,TimerSimple::update,128,_ZN4ksys5Timer6updateEPff 0x00000071011c0bb0,Timer::update,136,_ZN4ksys5Timer6updateEv 0x00000071011c0c38,Timer::ended,48,_ZNK4ksys5Timer8hasEndedEf diff --git a/src/KingSystem/ActorSystem/CMakeLists.txt b/src/KingSystem/ActorSystem/CMakeLists.txt index 61ad9331..92fec072 100644 --- a/src/KingSystem/ActorSystem/CMakeLists.txt +++ b/src/KingSystem/ActorSystem/CMakeLists.txt @@ -54,6 +54,8 @@ target_sources(uking PRIVATE actBaseProc.h actBaseProcHandle.cpp actBaseProcHandle.h + actBaseProcHeapMgr.cpp + actBaseProcHeapMgr.h actBaseProcJob.cpp actBaseProcJob.h actBaseProcJobHandler.cpp diff --git a/src/KingSystem/ActorSystem/actBaseProcHeapMgr.cpp b/src/KingSystem/ActorSystem/actBaseProcHeapMgr.cpp new file mode 100644 index 00000000..2922688b --- /dev/null +++ b/src/KingSystem/ActorSystem/actBaseProcHeapMgr.cpp @@ -0,0 +1,19 @@ +#include "KingSystem/ActorSystem/actBaseProcHeapMgr.h" + +namespace ksys::act { + +SEAD_SINGLETON_DISPOSER_IMPL(BaseProcHeapMgr) + +BaseProcHeapMgr::BaseProcHeapMgr() = default; + +BaseProcHeapMgr::~BaseProcHeapMgr() = default; + +sead::Heap* BaseProcHeapMgr::getHeap() const { + return mHeap; +} + +void BaseProcHeapMgr::setHeap(sead::Heap* heap) { + mHeap = heap; +} + +} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/actBaseProcHeapMgr.h b/src/KingSystem/ActorSystem/actBaseProcHeapMgr.h new file mode 100644 index 00000000..2d87d107 --- /dev/null +++ b/src/KingSystem/ActorSystem/actBaseProcHeapMgr.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +namespace ksys::act { + +class BaseProcHeapMgr { + SEAD_SINGLETON_DISPOSER(BaseProcHeapMgr) + BaseProcHeapMgr(); + virtual ~BaseProcHeapMgr(); + +public: + sead::Heap* getHeap() const; + void setHeap(sead::Heap* heap); + +private: + sead::Heap* mHeap{}; + u32 _30{}; +}; + +} // namespace ksys::act