diff --git a/CMakeLists.txt b/CMakeLists.txt index d2e245cd..1f606146 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,6 +76,7 @@ add_executable(uking src/KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.cpp src/KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h + src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.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 9adee602..847cc560 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -89067,7 +89067,7 @@ 0x000000710118d740,BgparamlistObjectBindBone::ctor,392,_ZN4ksys3res24GParamListObjectBindBoneC2Ev 0x000000710118d8c8,BgparamlistObjectAttack::ctor,900,_ZN4ksys3res22GParamListObjectAttackC2Ev 0x000000710118dc4c,BgparamlistObjectWeaponCommon::ctor,3288,_ZN4ksys3res28GParamListObjectWeaponCommonC2Ev -0x000000710118e924,BgparamlistObjectWeaponThrow::ctor,432, +0x000000710118e924,BgparamlistObjectWeaponThrow::ctor,432,_ZN4ksys3res27GParamListObjectWeaponThrowC2Ev 0x000000710118ead4,BgparamlistObjectSandworm::ctor,1992, 0x000000710118f29c,BgparamlistObjectSmallSword::ctor,1756, 0x000000710118f978,BgparamlistObjectRod::ctor,1192, @@ -89155,7 +89155,7 @@ 0x00000071011a7bf0,sub_71011A7BF0,12,_ZNK4ksys3res24GParamListObjectBindBone7getNameEv 0x00000071011a7bfc,sub_71011A7BFC,12,_ZNK4ksys3res22GParamListObjectAttack7getNameEv 0x00000071011a7c08,sub_71011A7C08,12,_ZNK4ksys3res28GParamListObjectWeaponCommon7getNameEv -0x00000071011a7c14,sub_71011A7C14,12, +0x00000071011a7c14,sub_71011A7C14,12,_ZNK4ksys3res27GParamListObjectWeaponThrow7getNameEv 0x00000071011a7c20,sub_71011A7C20,12, 0x00000071011a7c2c,sub_71011A7C2C,12, 0x00000071011a7c38,sub_71011A7C38,12, diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h new file mode 100644 index 00000000..ddd17bfe --- /dev/null +++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class GParamListObjectWeaponThrow : public GParamListObject { +public: + GParamListObjectWeaponThrow(); + const char* getName() const override { return "WeaponThrow"; } + + agl::utl::Parameter mThrowSpeed; + agl::utl::Parameter mThrowRotSpeed; + agl::utl::Parameter mThrowDist; + agl::utl::Parameter mThrowRigidBodyBaseAxis; +}; +KSYS_CHECK_SIZE_NX150(GParamListObjectWeaponThrow, 0xc0); + +inline GParamListObjectWeaponThrow::GParamListObjectWeaponThrow() { + auto* const obj = &mObj; + + mThrowSpeed.init(1.0, "ThrowSpeed", "", obj); + mThrowRotSpeed.init(50.0, "ThrowRotSpeed", "", obj); + mThrowDist.init(5.0, "ThrowDist", "", obj); + mThrowRigidBodyBaseAxis.init({0.0, 0.0, 1.0}, "ThrowRigidBodyBaseAxis", "", obj); +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp index 6f2b2932..056ed2e9 100644 --- a/src/KingSystem/Resource/resResourceGParamList.cpp +++ b/src/KingSystem/Resource/resResourceGParamList.cpp @@ -13,6 +13,7 @@ #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h" +#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h" #include "KingSystem/Resource/GeneralParamList/resGParamListTraits.h" namespace ksys::res { @@ -58,6 +59,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) { add(archive.getRootList(), "BindBone", heap, dummy_list); add(archive.getRootList(), "Attack", heap, dummy_list); add(archive.getRootList(), "WeaponCommon", heap, dummy_list); + add(archive.getRootList(), "WeaponThrow", heap, dummy_list); // TODO: the rest