summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-09-20 13:15:06 +0200
committerLéo Lam <leo@leolam.fr>2020-09-20 13:15:06 +0200
commitf9a64a2ce581d47066edfcc5ed196ed2f09d9efc (patch)
treea191195389468638b7d07a117eb42641b9d8f348
parent59916149b7a803b88130667bf273f7582d3365d8 (diff)
ksys/res: Implement GParamList HorseTargetedInfo
-rw-r--r--CMakeLists.txt1
-rw-r--r--data/uking_functions.csv4
-rw-r--r--src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h27
-rw-r--r--src/KingSystem/Resource/resResourceGParamList.cpp3
4 files changed, 33 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e75b0a2..285178d7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -105,6 +105,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseCreator.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h
+ src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.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 bbc679f0..832d780a 100644
--- a/data/uking_functions.csv
+++ b/data/uking_functions.csv
@@ -89117,7 +89117,7 @@
0x00000071011a480c,BgparamlistObjectAutoGen::ctor,404,_ZN4ksys3res23GParamListObjectAutoGenC2Ev
0x00000071011a49a0,BgparamlistObjectChemicalType::ctor,336,_ZN4ksys3res28GParamListObjectChemicalTypeC2Ev
0x00000071011a4af0,BgparamlistObjectGolem::ctor,676,_ZN4ksys3res21GParamListObjectGolemC2Ev
-0x00000071011a4d94,BgparamlistObjectHorseTargetedInfo::ctor,356,
+0x00000071011a4d94,BgparamlistObjectHorseTargetedInfo::ctor,356,_ZN4ksys3res33GParamListObjectHorseTargetedInfoC2Ev
0x00000071011a4ef8,BgparamlistObjectWolfLink::ctor,4548,
0x00000071011a60bc,BgparamlistObjectEvent::ctor,852,
0x00000071011a6410,BgparamlistObjectGolemIK::ctor,1792,
@@ -89217,7 +89217,7 @@
0x00000071011a7ed8,sub_71011A7ED8,12,_ZNK4ksys3res23GParamListObjectAutoGen7getNameEv
0x00000071011a7ee4,sub_71011A7EE4,12,_ZNK4ksys3res28GParamListObjectChemicalType7getNameEv
0x00000071011a7ef0,sub_71011A7EF0,12,_ZNK4ksys3res21GParamListObjectGolem7getNameEv
-0x00000071011a7efc,sub_71011A7EFC,12,
+0x00000071011a7efc,sub_71011A7EFC,12,_ZNK4ksys3res33GParamListObjectHorseTargetedInfo7getNameEv
0x00000071011a7f08,sub_71011A7F08,12,
0x00000071011a7f14,sub_71011A7F14,12,
0x00000071011a7f20,sub_71011A7F20,12,
diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h
new file mode 100644
index 00000000..645ec281
--- /dev/null
+++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <agl/Utils/aglParameter.h>
+#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
+#include "KingSystem/Utils/Types.h"
+
+namespace ksys::res {
+
+class GParamListObjectHorseTargetedInfo : public GParamListObject {
+public:
+ GParamListObjectHorseTargetedInfo() {
+ auto* const obj = &mObj;
+
+ mHorseMoveRadius.init(-1.0, "HorseMoveRadius", "", obj);
+ mHorseAvoidOffset.init(-1.0, "HorseAvoidOffset", "", obj);
+ mIsCircularMoveAlways.init(false, "IsCircularMoveAlways", "", obj);
+ }
+
+ const char* getName() const override { return "HorseTargetedInfo"; }
+
+ agl::utl::Parameter<f32> mHorseMoveRadius;
+ agl::utl::Parameter<f32> mHorseAvoidOffset;
+ agl::utl::Parameter<bool> mIsCircularMoveAlways;
+};
+KSYS_CHECK_SIZE_NX150(GParamListObjectHorseTargetedInfo, 0x98);
+
+} // namespace ksys::res
diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp
index afa15194..115c1ba8 100644
--- a/src/KingSystem/Resource/resResourceGParamList.cpp
+++ b/src/KingSystem/Resource/resResourceGParamList.cpp
@@ -44,6 +44,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseCreator.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h"
+#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectInsect.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectItem.h"
@@ -187,6 +188,8 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::AutoGen>(archive.getRootList(), "AutoGen", heap, dummy_list);
add<GParamListObjType::ChemicalType>(archive.getRootList(), "ChemicalType", heap, dummy_list);
add<GParamListObjType::Golem>(archive.getRootList(), "Golem", heap, dummy_list);
+ add<GParamListObjType::HorseTargetedInfo>(archive.getRootList(), "HorseTargetedInfo", heap,
+ dummy_list);
// TODO: the rest