summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-09-20 12:01:04 +0200
committerLéo Lam <leo@leolam.fr>2020-09-20 12:01:04 +0200
commitac66ce82e2495c3a983ce4a9c7007a0f9c7de11b (patch)
tree379d2db849d88802a678ce7e7ceb62cee4ed992a
parentc6d573f6d7048b00305e0c68a708b0d1346bec11 (diff)
ksys/res: Implement GParamList HorseObject
-rw-r--r--CMakeLists.txt1
-rw-r--r--data/uking_functions.csv2
-rw-r--r--src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h25
-rw-r--r--src/KingSystem/Resource/resResourceGParamList.cpp2
4 files changed, 29 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e35a2b20..b775fdf8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,6 +91,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h
+ src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectInsect.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectItem.h
diff --git a/data/uking_functions.csv b/data/uking_functions.csv
index 43cb80c3..c23f824b 100644
--- a/data/uking_functions.csv
+++ b/data/uking_functions.csv
@@ -89198,7 +89198,7 @@
0x00000071011a7df4,sub_71011A7DF4,12,_ZNK4ksys3res20GParamListObjectRope7getNameEv
0x00000071011a7e00,sub_71011A7E00,12,_ZNK4ksys3res21GParamListObjectHorse7getNameEv
0x00000071011a7e0c,sub_71011A7E0C,12,_ZNK4ksys3res25GParamListObjectHorseUnit7getNameEv
-0x00000071011a7e18,sub_71011A7E18,12,
+0x00000071011a7e18,sub_71011A7E18,12,_ZNK4ksys3res27GParamListObjectHorseObject7getNameEv
0x00000071011a7e24,sub_71011A7E24,12,
0x00000071011a7e30,sub_71011A7E30,12,
0x00000071011a7e3c,sub_71011A7E3C,12,
diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h
new file mode 100644
index 00000000..6dbe3ac8
--- /dev/null
+++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include <agl/Utils/aglParameter.h>
+#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
+#include "KingSystem/Utils/Types.h"
+
+namespace ksys::res {
+
+class GParamListObjectHorseObject : public GParamListObject {
+public:
+ GParamListObjectHorseObject();
+ const char* getName() const override { return "HorseObject"; }
+
+ agl::utl::Parameter<bool> mHideHorseMane;
+ agl::utl::Parameter<bool> mIsHorseClothDisable;
+};
+
+inline GParamListObjectHorseObject::GParamListObjectHorseObject() {
+ auto* const obj = &mObj;
+
+ mHideHorseMane.init(false, "HideHorseMane", "", obj);
+ mIsHorseClothDisable.init(false, "IsHorseClothDisable", "", obj);
+}
+
+} // namespace ksys::res
diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp
index d00a4142..2c7d8019 100644
--- a/src/KingSystem/Resource/resResourceGParamList.cpp
+++ b/src/KingSystem/Resource/resResourceGParamList.cpp
@@ -30,6 +30,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h"
+#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectInsect.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectItem.h"
@@ -148,6 +149,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::Rope>(archive.getRootList(), "Rope", heap, dummy_list);
add<GParamListObjType::Horse>(archive.getRootList(), "Horse", heap, dummy_list);
add<GParamListObjType::HorseUnit>(archive.getRootList(), "HorseUnit", heap, dummy_list);
+ add<GParamListObjType::HorseObject>(archive.getRootList(), "HorseObject", heap, dummy_list);
// TODO: the rest