diff --git a/CMakeLists.txt b/CMakeLists.txt index 71ae8684..5c1fed41 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,6 +106,7 @@ add_executable(uking src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponOption.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h + src/KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h src/KingSystem/Resource/GeneralParamList/resGParamListTraits.h src/KingSystem/Resource/resCurrentResNameMgr.cpp src/KingSystem/Resource/resCurrentResNameMgr.h diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 7a493b7c..ffcd498b 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -89094,7 +89094,7 @@ 0x0000007101197290,BgparamlistObjectLumberjackTree::ctor,664,_ZN4ksys3res30GParamListObjectLumberjackTreeC2Ev 0x0000007101197528,BgparamlistObjectNpc::ctor,1232,_ZN4ksys3res19GParamListObjectNpcC2Ev 0x00000071011979f8,BgparamlistObjectNpcEquipment::ctor,1960,_ZN4ksys3res28GParamListObjectNpcEquipmentC2Ev -0x00000071011981a0,BgparamlistObjectZora::ctor,508, +0x00000071011981a0,BgparamlistObjectZora::ctor,508,_ZN4ksys3res20GParamListObjectZoraC2Ev 0x000000710119839c,BgparamlistObjectTraveler::ctor,29996,_ZN4ksys3res24GParamListObjectTravelerC1Ev 0x000000710119f8c8,BgparamlistObjectPrey::ctor,508, 0x000000710119fac4,BgparamlistObjectEatTarget::ctor,684, @@ -89185,7 +89185,7 @@ 0x00000071011a7d58,sub_71011A7D58,12,_ZNK4ksys3res30GParamListObjectLumberjackTree7getNameEv 0x00000071011a7d64,sub_71011A7D64,12,_ZNK4ksys3res19GParamListObjectNpc7getNameEv 0x00000071011a7d70,sub_71011A7D70,12,_ZNK4ksys3res28GParamListObjectNpcEquipment7getNameEv -0x00000071011a7d7c,sub_71011A7D7C,12, +0x00000071011a7d7c,sub_71011A7D7C,12,_ZNK4ksys3res20GParamListObjectZora7getNameEv 0x00000071011a7d88,sub_71011A7D88,12,_ZNK4ksys3res24GParamListObjectTraveler7getNameEv 0x00000071011a7d94,sub_71011A7D94,12, 0x00000071011a7da0,sub_71011A7DA0,12, diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h new file mode 100644 index 00000000..a4722e6b --- /dev/null +++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class GParamListObjectZora : public GParamListObject { +public: + GParamListObjectZora(); + const char* getName() const override { return "Zora"; } + + agl::utl::Parameter mInWaterDepth; + agl::utl::Parameter mFloatDepth; + agl::utl::Parameter mFloatRadius; + agl::utl::Parameter mFloatCycleTime; + agl::utl::Parameter mChangeDepthSpeed; +}; +KSYS_CHECK_SIZE_NX150(GParamListObjectZora, 0xd8); + +inline GParamListObjectZora::GParamListObjectZora() { + auto* const obj = &mObj; + + mInWaterDepth.init(0.5, "InWaterDepth", "", obj); + mFloatDepth.init(1.35, "FloatDepth", "", obj); + mFloatRadius.init(0.02, "FloatRadius", "", obj); + mFloatCycleTime.init(60.0, "FloatCycleTime", "", obj); + mChangeDepthSpeed.init(0.066, "ChangeDepthSpeed", "", obj); +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp index 0a4b396e..c49499d8 100644 --- a/src/KingSystem/Resource/resResourceGParamList.cpp +++ b/src/KingSystem/Resource/resResourceGParamList.cpp @@ -43,6 +43,7 @@ #include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponOption.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h" +#include "KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h" #include "KingSystem/Resource/GeneralParamList/resGParamListTraits.h" namespace ksys::res { @@ -120,6 +121,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) { dummy_list); add(archive.getRootList(), "Npc", heap, dummy_list); add(archive.getRootList(), "NpcEquipment", heap, dummy_list); + add(archive.getRootList(), "Zora", heap, dummy_list); // TODO: the rest