summaryrefslogtreecommitdiff
path: root/src/KingSystem/System
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/KingSystem/System
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/KingSystem/System')
-rw-r--r--src/KingSystem/System/CMakeLists.txt2
-rw-r--r--src/KingSystem/System/CurrentResNameMgr.cpp13
-rw-r--r--src/KingSystem/System/CurrentResNameMgr.h21
3 files changed, 36 insertions, 0 deletions
diff --git a/src/KingSystem/System/CMakeLists.txt b/src/KingSystem/System/CMakeLists.txt
index 835eb40f..a2eb28ba 100644
--- a/src/KingSystem/System/CMakeLists.txt
+++ b/src/KingSystem/System/CMakeLists.txt
@@ -13,6 +13,8 @@ target_sources(uking PRIVATE
CameraEditor.cpp
CameraEditor.h
CoreInfo.h
+ CurrentResNameMgr.cpp
+ CurrentResNameMgr.h
DebugFinder.cpp
DebugFinder.h
DebugMessage.h
diff --git a/src/KingSystem/System/CurrentResNameMgr.cpp b/src/KingSystem/System/CurrentResNameMgr.cpp
new file mode 100644
index 00000000..53e7e755
--- /dev/null
+++ b/src/KingSystem/System/CurrentResNameMgr.cpp
@@ -0,0 +1,13 @@
+#include "KingSystem/System/CurrentResNameMgr.h"
+
+namespace ksys {
+
+SEAD_SINGLETON_DISPOSER_IMPL(CurrentResNameMgr)
+
+void CurrentResNameMgr::init(sead::Heap*) {}
+
+sead::SafeString CurrentResNameMgr::getCurrentResName() const {
+ return sead::SafeString::cEmptyString;
+}
+
+} // namespace ksys
diff --git a/src/KingSystem/System/CurrentResNameMgr.h b/src/KingSystem/System/CurrentResNameMgr.h
new file mode 100644
index 00000000..dcdb261e
--- /dev/null
+++ b/src/KingSystem/System/CurrentResNameMgr.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <heap/seadDisposer.h>
+#include <prim/seadSafeString.h>
+#include "KingSystem/Utils/Types.h"
+
+namespace ksys {
+
+/// Current Resource Name Manager?
+/// Stubbed in release builds.
+class CurrentResNameMgr {
+ SEAD_SINGLETON_DISPOSER(CurrentResNameMgr)
+ CurrentResNameMgr() = default;
+
+public:
+ void init(sead::Heap* heap);
+ sead::SafeString getCurrentResName() const;
+};
+KSYS_CHECK_SIZE_NX150(CurrentResNameMgr, 0x20);
+
+} // namespace ksys