From 5638f4a4e991c86269be841bafccccaee89d7c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 12 Mar 2021 20:03:27 +0100 Subject: ksys/act: Start adding BaseProcInitializer --- src/KingSystem/ActorSystem/CMakeLists.txt | 2 ++ .../ActorSystem/actBaseProcInitializer.cpp | 7 ++++ .../ActorSystem/actBaseProcInitializer.h | 39 ++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 src/KingSystem/ActorSystem/actBaseProcInitializer.cpp create mode 100644 src/KingSystem/ActorSystem/actBaseProcInitializer.h (limited to 'src/KingSystem') diff --git a/src/KingSystem/ActorSystem/CMakeLists.txt b/src/KingSystem/ActorSystem/CMakeLists.txt index 3d9ec011..b75e8817 100644 --- a/src/KingSystem/ActorSystem/CMakeLists.txt +++ b/src/KingSystem/ActorSystem/CMakeLists.txt @@ -62,6 +62,8 @@ target_sources(uking PRIVATE actBaseProcHandle.h actBaseProcHeapMgr.cpp actBaseProcHeapMgr.h + actBaseProcInitializer.cpp + actBaseProcInitializer.h actBaseProcJob.cpp actBaseProcJob.h actBaseProcJobHandler.cpp diff --git a/src/KingSystem/ActorSystem/actBaseProcInitializer.cpp b/src/KingSystem/ActorSystem/actBaseProcInitializer.cpp new file mode 100644 index 00000000..ab6e2b6c --- /dev/null +++ b/src/KingSystem/ActorSystem/actBaseProcInitializer.cpp @@ -0,0 +1,7 @@ +#include "KingSystem/ActorSystem/actBaseProcInitializer.h" + +namespace ksys::act { + +BaseProcInitializer::BaseProcInitializer() = default; + +} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/actBaseProcInitializer.h b/src/KingSystem/ActorSystem/actBaseProcInitializer.h new file mode 100644 index 00000000..3510d513 --- /dev/null +++ b/src/KingSystem/ActorSystem/actBaseProcInitializer.h @@ -0,0 +1,39 @@ +#pragma once + +#include + +namespace sead { +class Heap; +} + +namespace ksys::util { +class TaskMgr; +class TaskQueue; +} // namespace ksys::util + +namespace ksys::act { + +class BaseProcInitializer { +public: + BaseProcInitializer(); + virtual ~BaseProcInitializer(); + + BaseProcInitializer(const BaseProcInitializer&) = delete; + auto operator=(const BaseProcInitializer&) = delete; + + u32 get8() const { return _8; } + void set8(u32 value) { _8 = value; } + + bool isActorGenerationEnabled() const { return mActorGenerationEnabled; } + void setActorGenerationEnabled(bool enabled) { mActorGenerationEnabled = enabled; } + +private: + u32 _8 = 0; + void* _10 = nullptr; + util::TaskMgr* mTaskMgr = nullptr; + util::TaskQueue* mTaskQueue = nullptr; + sead::Heap* mHeap = nullptr; + bool mActorGenerationEnabled = true; +}; + +} // namespace ksys::act -- cgit v1.2.3