diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f673572..859fc92e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,6 +86,7 @@ add_executable(uking src/KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyRace.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyShown.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectExtendedEntity.h + src/KingSystem/Resource/GeneralParamList/resGParamListObjectFish.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 448498e5..de3ee23e 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -89099,7 +89099,7 @@ 0x000000710119f8c8,BgparamlistObjectPrey::ctor,508,_ZN4ksys3res20GParamListObjectPreyC2Ev 0x000000710119fac4,BgparamlistObjectEatTarget::ctor,684,_ZN4ksys3res25GParamListObjectEatTargetC2Ev 0x000000710119fd70,BgparamlistObjectAnimalUnit::ctor,1380,_ZN4ksys3res26GParamListObjectAnimalUnitC2Ev -0x00000071011a02d4,BgparamlistObjectFish::ctor,500, +0x00000071011a02d4,BgparamlistObjectFish::ctor,500,_ZN4ksys3res20GParamListObjectFishC2Ev 0x00000071011a04c8,BgparamlistObjectRope::ctor,820, 0x00000071011a07fc,BgparamlistObjectHorse::ctor,1068, 0x00000071011a0c28,BgparamlistObjectHorseUnit::ctor,424, @@ -89194,7 +89194,7 @@ 0x00000071011a7dc4,sub_71011A7DC4,12,_ZNK4ksys3res25GParamListObjectEatTarget7getNameEv 0x00000071011a7dd0,sub_71011A7DD0,12,_ZNK4ksys3res26GParamListObjectAnimalUnit7getNameEv 0x00000071011a7ddc,sub_71011A7DDC,12,_ZNK4ksys3res22GParamListObjectInsect7getNameEv -0x00000071011a7de8,sub_71011A7DE8,12, +0x00000071011a7de8,sub_71011A7DE8,12,_ZNK4ksys3res20GParamListObjectFish7getNameEv 0x00000071011a7df4,sub_71011A7DF4,12, 0x00000071011a7e00,sub_71011A7E00,12, 0x00000071011a7e0c,sub_71011A7E0C,12, diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectFish.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectFish.h new file mode 100644 index 00000000..37e8f794 --- /dev/null +++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectFish.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class GParamListObjectFish : public GParamListObject { +public: + GParamListObjectFish(); + const char* getName() const override { return "Fish"; } + + agl::utl::Parameter mRestoreSpeedRate; + agl::utl::Parameter mRestoreSpeedRateAdd; + agl::utl::Parameter mLimitAngle; + agl::utl::Parameter mLimitAngleAdd; + agl::utl::Parameter mPrevSpeedRate; +}; +KSYS_CHECK_SIZE_NX150(GParamListObjectFish, 0xd8); + +inline GParamListObjectFish::GParamListObjectFish() { + auto* const obj = &mObj; + + mRestoreSpeedRate.init(0.3, "RestoreSpeedRate", "", obj); + mRestoreSpeedRateAdd.init(-0.05, "RestoreSpeedRateAdd", "", obj); + mLimitAngle.init(60.0, "LimitAngle", "", obj); + mLimitAngleAdd.init(10.0, "LimitAngleAdd", "", obj); + mPrevSpeedRate.init(0.3, "PrevSpeedRate", "", obj); +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp index 98b9a41e..761343db 100644 --- a/src/KingSystem/Resource/resResourceGParamList.cpp +++ b/src/KingSystem/Resource/resResourceGParamList.cpp @@ -25,6 +25,7 @@ #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyRace.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyShown.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectExtendedEntity.h" +#include "KingSystem/Resource/GeneralParamList/resGParamListObjectFish.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h" @@ -140,6 +141,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) { add(archive.getRootList(), "EatTarget", heap, dummy_list); add(archive.getRootList(), "AnimalUnit", heap, dummy_list); add(archive.getRootList(), "Insect", heap, dummy_list); + add(archive.getRootList(), "Fish", heap, dummy_list); // TODO: the rest