summaryrefslogtreecommitdiff
path: root/src/KingSystem
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-03-12 20:03:27 +0100
committerLéo Lam <leo@leolam.fr>2021-03-12 20:07:14 +0100
commit5638f4a4e991c86269be841bafccccaee89d7c19 (patch)
tree9da08094862b9368a996198aeda03e4df3679384 /src/KingSystem
parentc23f86e6d5aaba7bd85790fc0f206f0db5e739cd (diff)
ksys/act: Start adding BaseProcInitializer
Diffstat (limited to 'src/KingSystem')
-rw-r--r--src/KingSystem/ActorSystem/CMakeLists.txt2
-rw-r--r--src/KingSystem/ActorSystem/actBaseProcInitializer.cpp7
-rw-r--r--src/KingSystem/ActorSystem/actBaseProcInitializer.h39
3 files changed, 48 insertions, 0 deletions
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 <basis/seadTypes.h>
+
+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