ksys/res: Implement GParamList AnimalUnit

This commit is contained in:
Léo Lam 2020-09-20 11:52:02 +02:00
parent 58f52a8cc2
commit f31654ef7a
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 61 additions and 2 deletions

View File

@ -65,6 +65,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObject.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectAnimalFollowOffset.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectAnimalUnit.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectArmor.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectArmorEffect.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectArmorHead.h

View File

@ -89098,7 +89098,7 @@
0x000000710119839c,BgparamlistObjectTraveler::ctor,29996,_ZN4ksys3res24GParamListObjectTravelerC1Ev
0x000000710119f8c8,BgparamlistObjectPrey::ctor,508,_ZN4ksys3res20GParamListObjectPreyC2Ev
0x000000710119fac4,BgparamlistObjectEatTarget::ctor,684,_ZN4ksys3res25GParamListObjectEatTargetC2Ev
0x000000710119fd70,BgparamlistObjectAnimalUnit::ctor,1380,
0x000000710119fd70,BgparamlistObjectAnimalUnit::ctor,1380,_ZN4ksys3res26GParamListObjectAnimalUnitC2Ev
0x00000071011a02d4,BgparamlistObjectFish::ctor,500,
0x00000071011a04c8,BgparamlistObjectRope::ctor,820,
0x00000071011a07fc,BgparamlistObjectHorse::ctor,1068,
@ -89192,7 +89192,7 @@
0x00000071011a7dac,sub_71011A7DAC,12,_ZNK4ksys3res30GParamListObjectExtendedEntity7getNameEv
0x00000071011a7db8,sub_71011A7DB8,12,_ZNK4ksys3res25GParamListObjectBindActor7getNameEv
0x00000071011a7dc4,sub_71011A7DC4,12,_ZNK4ksys3res25GParamListObjectEatTarget7getNameEv
0x00000071011a7dd0,sub_71011A7DD0,12,
0x00000071011a7dd0,sub_71011A7DD0,12,_ZNK4ksys3res26GParamListObjectAnimalUnit7getNameEv
0x00000071011a7ddc,sub_71011A7DDC,12,
0x00000071011a7de8,sub_71011A7DE8,12,
0x00000071011a7df4,sub_71011A7DF4,12,

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

View File

@ -0,0 +1,56 @@
#pragma once
#include <agl/Utils/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
class GParamListObjectAnimalUnit : public GParamListObject {
public:
GParamListObjectAnimalUnit();
const char* getName() const override { return "AnimalUnit"; }
agl::utl::Parameter<sead::SafeString> mSpeedActorName;
agl::utl::Parameter<f32> mBasePlayRate;
agl::utl::Parameter<s32> mGearMaxNum;
agl::utl::Parameter<bool> mIsSetWaitASAtGear0;
agl::utl::Parameter<f32> mStressFramesMin;
agl::utl::Parameter<f32> mStressFramesMax;
agl::utl::Parameter<f32> mSteeringOutputKp;
agl::utl::Parameter<f32> mSteeringOutputKi;
agl::utl::Parameter<f32> mSteeringOutputKd;
agl::utl::Parameter<f32> mSteeringOutputIClamp;
agl::utl::Parameter<f32> mSteeringOutputIReduceRatio;
agl::utl::Parameter<f32> mSteeringOutputDLerpRatio;
agl::utl::Parameter<f32> mSteeringOutputAvoidanceLerpRatio;
agl::utl::Parameter<f32> mSteeringOutputIIRLerpRatio;
agl::utl::Parameter<f32> mOverrideSteeringOutputKp;
agl::utl::Parameter<f32> mOverrideSteeringOutputKi;
agl::utl::Parameter<f32> mOverrideSteeringOutputKd;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectAnimalUnit, 0x260);
inline GParamListObjectAnimalUnit::GParamListObjectAnimalUnit() {
auto* const obj = &mObj;
mSpeedActorName.init("", "SpeedActorName", "", obj);
mBasePlayRate.init(1.0, "BasePlayRate", "", obj);
mGearMaxNum.init(4, "GearMaxNum", "", obj);
mIsSetWaitASAtGear0.init(true, "IsSetWaitASAtGear0", "", obj);
mStressFramesMin.init(0.0, "StressFramesMin", "", obj);
mStressFramesMax.init(0.0, "StressFramesMax", "", obj);
mSteeringOutputKp.init(0.6, "SteeringOutputKp", "", obj);
mSteeringOutputKi.init(0.15, "SteeringOutputKi", "", obj);
mSteeringOutputKd.init(0.002, "SteeringOutputKd", "", obj);
mSteeringOutputIClamp.init(1.0, "SteeringOutputIClamp", "", obj);
mSteeringOutputIReduceRatio.init(0.0, "SteeringOutputIReduceRatio", "", obj);
mSteeringOutputDLerpRatio.init(0.2, "SteeringOutputDLerpRatio", "", obj);
mSteeringOutputAvoidanceLerpRatio.init(0.08, "SteeringOutputAvoidanceLerpRatio", "", obj);
mSteeringOutputIIRLerpRatio.init(0.4, "SteeringOutputIIRLerpRatio", "", obj);
mOverrideSteeringOutputKp.init(-1.0, "OverrideSteeringOutputKp", "", obj);
mOverrideSteeringOutputKi.init(-1.0, "OverrideSteeringOutputKi", "", obj);
mOverrideSteeringOutputKd.init(-1.0, "OverrideSteeringOutputKd", "", obj);
}
} // namespace ksys::res

View File

@ -4,6 +4,7 @@
#include "KingSystem/ActorSystem/actActorParamMgr.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAnimalFollowOffset.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAnimalUnit.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmor.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmorEffect.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArmorHead.h"
@ -136,6 +137,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
dummy_list);
add<GParamListObjType::BindActor>(archive.getRootList(), "BindActor", heap, dummy_list);
add<GParamListObjType::EatTarget>(archive.getRootList(), "EatTarget", heap, dummy_list);
add<GParamListObjType::AnimalUnit>(archive.getRootList(), "AnimalUnit", heap, dummy_list);
// TODO: the rest