summaryrefslogtreecommitdiff
path: root/src/KingSystem/Utils/ParamIO.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-03-19 14:31:19 +0100
committerLéo Lam <leo@leolam.fr>2021-03-20 00:17:33 +0100
commit8c8d9c0e7036d22d3eebe1c8dca54b44b601e8e5 (patch)
treea4370ba6302a8e91b171e352d8540fc9f4f28586 /src/KingSystem/Utils/ParamIO.cpp
parentc119c0eefa8513978bfbb48ebd1a3e74e266a86b (diff)
ksys/res: Finish implementing ModelList
Diffstat (limited to 'src/KingSystem/Utils/ParamIO.cpp')
-rw-r--r--src/KingSystem/Utils/ParamIO.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/KingSystem/Utils/ParamIO.cpp b/src/KingSystem/Utils/ParamIO.cpp
new file mode 100644
index 00000000..de9d0bc5
--- /dev/null
+++ b/src/KingSystem/Utils/ParamIO.cpp
@@ -0,0 +1,21 @@
+#include "KingSystem/Utils/ParamIO.h"
+#include <agl/Utils/aglParameter.h>
+
+namespace ksys {
+
+const char* ParamIO::getString(const agl::utl::ResParameterObj& obj, const char* key,
+ const char* default_value, void*) const {
+ const auto param = agl::utl::getResParameter(obj, key);
+ if (!param.ptr())
+ return default_value;
+ return param.getData<const char>();
+}
+
+// NON_MATCHING: how the default_value Vec3f is stored on the stack
+sead::Vector3f ParamIO::getVec3(const agl::utl::ResParameterObj& obj, const char* key,
+ sead::Vector3f default_value, void*) const {
+ const auto param = agl::utl::getResParameter(obj, key);
+ return param.ptr() ? *param.getData<sead::Vector3f>() : default_value;
+}
+
+} // namespace ksys