From f9a64a2ce581d47066edfcc5ed196ed2f09d9efc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 20 Sep 2020 13:15:06 +0200 Subject: [PATCH] ksys/res: Implement GParamList HorseTargetedInfo --- CMakeLists.txt | 1 + data/uking_functions.csv | 4 +-- .../resGParamListObjectHorseTargetedInfo.h | 27 +++++++++++++++++++ .../Resource/resResourceGParamList.cpp | 3 +++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h 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 +#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 mHorseMoveRadius; + agl::utl::Parameter mHorseAvoidOffset; + agl::utl::Parameter 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(archive.getRootList(), "AutoGen", heap, dummy_list); add(archive.getRootList(), "ChemicalType", heap, dummy_list); add(archive.getRootList(), "Golem", heap, dummy_list); + add(archive.getRootList(), "HorseTargetedInfo", heap, + dummy_list); // TODO: the rest