summaryrefslogtreecommitdiff
path: root/src/Game/Actor/actActorFactory.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2026-09-28 03:39:31 +0200
committerLéo Lam <leo@leolam.fr>2026-10-06 03:19:39 +0200
commit9d6a597e91fac5ecdca3f9903f90c7bdf5accd96 (patch)
tree0019b105b53ec817ebf677e484e475a0bc2cedf2 /src/Game/Actor/actActorFactory.cpp
parent98f0c80f1d0b9d3ca19f0b38efcb597ee65d9dc0 (diff)
Actor: ActorFactory is game, CurrentResNameMgr is ksys
ActorFactory's static initialiser fills its table with uking actor ctors. CurrentResNameMgr (0x71010b770c) links in KingSystem/System right before GameConfig. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
Diffstat (limited to 'src/Game/Actor/actActorFactory.cpp')
-rw-r--r--src/Game/Actor/actActorFactory.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/Game/Actor/actActorFactory.cpp b/src/Game/Actor/actActorFactory.cpp
new file mode 100644
index 00000000..16f2b916
--- /dev/null
+++ b/src/Game/Actor/actActorFactory.cpp
@@ -0,0 +1,21 @@
+#include "Game/Actor/actActorFactory.h"
+#include "KingSystem/ActorSystem/actActorCreator.h"
+
+namespace uking::act {
+
+SEAD_SINGLETON_DISPOSER_IMPL(ActorFactoryHolder)
+
+void ActorFactory::dummy() {}
+
+void ActorFactory::dummy2() {}
+
+ActorFactoryHolder::~ActorFactoryHolder() {
+ ksys::act::ActorCreator::deleteInstance();
+}
+
+void ActorFactoryHolder::init(sead::Heap* heap) {
+ ksys::act::ActorCreator::createInstance(heap);
+ ksys::act::ActorCreator::instance()->setActorFactory(&mFactory);
+}
+
+} // namespace uking::act