ksys/res: Implement GParamList GolemIK

This commit is contained in:
Léo Lam 2020-09-20 13:55:36 +02:00
parent e9dbd61deb
commit 8b3aed47e6
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 77 additions and 2 deletions

View File

@ -98,6 +98,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGiantArmorSlot.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGlobal.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGolem.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGolemIK.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardian.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMini.h

View File

@ -89120,7 +89120,7 @@
0x00000071011a4d94,BgparamlistObjectHorseTargetedInfo::ctor,356,_ZN4ksys3res33GParamListObjectHorseTargetedInfoC2Ev
0x00000071011a4ef8,BgparamlistObjectWolfLink::ctor,4548,_ZN4ksys3res24GParamListObjectWolfLinkC2Ev
0x00000071011a60bc,BgparamlistObjectEvent::ctor,852,_ZN4ksys3res21GParamListObjectEventC2Ev
0x00000071011a6410,BgparamlistObjectGolemIK::ctor,1792,
0x00000071011a6410,BgparamlistObjectGolemIK::ctor,1792,_ZN4ksys3res23GParamListObjectGolemIKC2Ev
0x00000071011a6b10,BgparamlistObjectPictureBook::ctor,344,
0x00000071011a6c68,BgparamlistObjectMotorcycle::ctor,2736,
0x00000071011a7718,sub_71011A7718,52,_ZN4ksys3res10GParamListD2Ev
@ -89220,7 +89220,7 @@
0x00000071011a7efc,sub_71011A7EFC,12,_ZNK4ksys3res33GParamListObjectHorseTargetedInfo7getNameEv
0x00000071011a7f08,sub_71011A7F08,12,_ZNK4ksys3res24GParamListObjectWolfLink7getNameEv
0x00000071011a7f14,sub_71011A7F14,12,_ZNK4ksys3res21GParamListObjectEvent7getNameEv
0x00000071011a7f20,sub_71011A7F20,12,
0x00000071011a7f20,sub_71011A7F20,12,_ZNK4ksys3res23GParamListObjectGolemIK7getNameEv
0x00000071011a7f2c,sub_71011A7F2C,12,
0x00000071011a7f38,sub_71011A7F38,12,
0x00000071011a7f44,sub_71011A7F44,12,

Can't render this file because it is too large.

View File

@ -0,0 +1,72 @@
#pragma once
#include <agl/Utils/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
class GParamListObjectGolemIK : public GParamListObject {
public:
GParamListObjectGolemIK();
const char* getName() const override { return "GolemIK"; }
agl::utl::Parameter<f32> mFootRayCheckDist;
agl::utl::Parameter<f32> mFootDownRatio;
agl::utl::Parameter<f32> mFootUpRatio;
agl::utl::Parameter<f32> mKneeExtendL;
agl::utl::Parameter<f32> mKneeShrinkL;
agl::utl::Parameter<f32> mFootExtendL;
agl::utl::Parameter<f32> mFootShrinkL;
agl::utl::Parameter<f32> mKneeExtendR;
agl::utl::Parameter<f32> mKneeShrinkR;
agl::utl::Parameter<f32> mFootExtendR;
agl::utl::Parameter<f32> mFootShrinkR;
agl::utl::Parameter<f32> mArmRayCheckDist;
agl::utl::Parameter<f32> mArmDownRatio;
agl::utl::Parameter<f32> mArmUpRatio;
agl::utl::Parameter<f32> mElbowExtendL;
agl::utl::Parameter<f32> mElbowShrinkL;
agl::utl::Parameter<f32> mWristExtendL;
agl::utl::Parameter<f32> mWristShrinkL;
agl::utl::Parameter<f32> mElbowExtendR;
agl::utl::Parameter<f32> mElbowShrinkR;
agl::utl::Parameter<f32> mWristExtendR;
agl::utl::Parameter<f32> mWristShrinkR;
agl::utl::Parameter<f32> mWaistRotateRatio;
agl::utl::Parameter<f32> mWaistMorphRatio;
agl::utl::Parameter<f32> mWaistResetMorphRatio;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectGolemIK, 0x358);
inline GParamListObjectGolemIK::GParamListObjectGolemIK() {
auto* const obj = &mObj;
mFootRayCheckDist.init(3.0, "FootRayCheckDist", "", obj);
mFootDownRatio.init(0.2, "FootDownRatio", "", obj);
mFootUpRatio.init(0.1, "FootUpRatio", "", obj);
mKneeExtendL.init(0.5, "KneeExtendL", "", obj);
mKneeShrinkL.init(0.5, "KneeShrinkL", "", obj);
mFootExtendL.init(0.5, "FootExtendL", "", obj);
mFootShrinkL.init(0.5, "FootShrinkL", "", obj);
mKneeExtendR.init(0.5, "KneeExtendR", "", obj);
mKneeShrinkR.init(0.5, "KneeShrinkR", "", obj);
mFootExtendR.init(0.5, "FootExtendR", "", obj);
mFootShrinkR.init(0.5, "FootShrinkR", "", obj);
mArmRayCheckDist.init(3.0, "ArmRayCheckDist", "", obj);
mArmDownRatio.init(0.05, "ArmDownRatio", "", obj);
mArmUpRatio.init(0.05, "ArmUpRatio", "", obj);
mElbowExtendL.init(0.5, "ElbowExtendL", "", obj);
mElbowShrinkL.init(0.5, "ElbowShrinkL", "", obj);
mWristExtendL.init(0.5, "WristExtendL", "", obj);
mWristShrinkL.init(0.5, "WristShrinkL", "", obj);
mElbowExtendR.init(0.5, "ElbowExtendR", "", obj);
mElbowShrinkR.init(0.5, "ElbowShrinkR", "", obj);
mWristExtendR.init(0.5, "WristExtendR", "", obj);
mWristShrinkR.init(0.5, "WristShrinkR", "", obj);
mWaistRotateRatio.init(0.5, "WaistRotateRatio", "", obj);
mWaistMorphRatio.init(0.2, "WaistMorphRatio", "", obj);
mWaistResetMorphRatio.init(0.1, "WaistResetMorphRatio", "", obj);
}
} // namespace ksys::res

View File

@ -37,6 +37,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGiantArmorSlot.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGlobal.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGolem.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGolemIK.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardian.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMini.h"
@ -194,6 +195,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
dummy_list);
add<GParamListObjType::WolfLink>(archive.getRootList(), "WolfLink", heap, dummy_list);
add<GParamListObjType::Event>(archive.getRootList(), "Event", heap, dummy_list);
add<GParamListObjType::GolemIK>(archive.getRootList(), "GolemIK", heap, dummy_list);
// TODO: the rest