ksys/res: Implement GParamList HorseRider

This commit is contained in:
Léo Lam 2020-09-20 12:03:23 +02:00
parent ac66ce82e2
commit 707001d747
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 61 additions and 2 deletions

View File

@ -92,6 +92,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectInsect.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectItem.h

View File

@ -89103,7 +89103,7 @@
0x00000071011a04c8,BgparamlistObjectRope::ctor,820,_ZN4ksys3res20GParamListObjectRopeC2Ev
0x00000071011a07fc,BgparamlistObjectHorse::ctor,1068,_ZN4ksys3res21GParamListObjectHorseC2Ev
0x00000071011a0c28,BgparamlistObjectHorseUnit::ctor,424,_ZN4ksys3res25GParamListObjectHorseUnitC2Ev
0x00000071011a0dd0,BgparamlistObjectHorseRider::ctor,1432,
0x00000071011a0dd0,BgparamlistObjectHorseRider::ctor,1432,_ZN4ksys3res26GParamListObjectHorseRiderC2Ev
0x00000071011a1368,BgparamlistObjectHorseCreator::ctor,328,
0x00000071011a14b0,BgparamlistObjectGiantArmorSlot::ctor,1188,
0x00000071011a1954,BgparamlistObjectGuardian::ctor,812,
@ -89199,7 +89199,7 @@
0x00000071011a7e00,sub_71011A7E00,12,_ZNK4ksys3res21GParamListObjectHorse7getNameEv
0x00000071011a7e0c,sub_71011A7E0C,12,_ZNK4ksys3res25GParamListObjectHorseUnit7getNameEv
0x00000071011a7e18,sub_71011A7E18,12,_ZNK4ksys3res27GParamListObjectHorseObject7getNameEv
0x00000071011a7e24,sub_71011A7E24,12,
0x00000071011a7e24,sub_71011A7E24,12,_ZNK4ksys3res26GParamListObjectHorseRider7getNameEv
0x00000071011a7e30,sub_71011A7E30,12,
0x00000071011a7e3c,sub_71011A7E3C,12,
0x00000071011a7e48,sub_71011A7E48,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 GParamListObjectHorseRider : public GParamListObject {
public:
GParamListObjectHorseRider();
const char* getName() const override { return "HorseRider"; }
agl::utl::Parameter<sead::SafeString> mRootNode;
agl::utl::Parameter<sead::SafeString> mSpineNode;
agl::utl::Parameter<sead::SafeString> mRotBaseNode;
agl::utl::Parameter<sead::Vector3f> mRotAxis;
agl::utl::Parameter<f32> mRotLimit;
agl::utl::Parameter<sead::Vector3f> mWeaponTransOffsetSmallSword;
agl::utl::Parameter<sead::Vector3f> mWeaponTransOffsetLargeSword;
agl::utl::Parameter<sead::Vector3f> mWeaponTransOffsetSpear;
agl::utl::Parameter<sead::Vector3f> mWeaponTransOffsetBow;
agl::utl::Parameter<sead::Vector3f> mWeaponTransOffsetShield;
agl::utl::Parameter<sead::SafeString> mLeftFootNode;
agl::utl::Parameter<sead::Vector3f> mLeftFootRotAxis;
agl::utl::Parameter<sead::SafeString> mRightFootNode;
agl::utl::Parameter<sead::Vector3f> mRightFootRotAxis;
agl::utl::Parameter<f32> mFootRotRatio;
agl::utl::Parameter<f32> mFootRetRotRatio;
agl::utl::Parameter<f32> mFootRotAngleForKuma;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectHorseRider, 0x2c0);
inline GParamListObjectHorseRider::GParamListObjectHorseRider() {
auto* const obj = &mObj;
mRootNode.init("", "RootNode", "", obj);
mSpineNode.init("", "SpineNode", "", obj);
mRotBaseNode.init("", "RotBaseNode", "", obj);
mRotAxis.init({0.0, 1.0, 0.0}, "RotAxis", "", obj);
mRotLimit.init(0.0, "RotLimit", "", obj);
mWeaponTransOffsetSmallSword.init({0.0, 0.0, 0.0}, "WeaponTransOffsetSmallSword", "", obj);
mWeaponTransOffsetLargeSword.init({0.0, 0.0, 0.0}, "WeaponTransOffsetLargeSword", "", obj);
mWeaponTransOffsetSpear.init({0.0, 0.0, 0.0}, "WeaponTransOffsetSpear", "", obj);
mWeaponTransOffsetBow.init({0.0, 0.0, 0.0}, "WeaponTransOffsetBow", "", obj);
mWeaponTransOffsetShield.init({0.0, 0.0, 0.0}, "WeaponTransOffsetShield", "", obj);
mLeftFootNode.init("", "LeftFootNode", "", obj);
mLeftFootRotAxis.init({0.0, 0.0, 0.0}, "LeftFootRotAxis", "", obj);
mRightFootNode.init("", "RightFootNode", "", obj);
mRightFootRotAxis.init({0.0, 0.0, 0.0}, "RightFootRotAxis", "", obj);
mFootRotRatio.init(0.4, "FootRotRatio", "", obj);
mFootRetRotRatio.init(0.8, "FootRetRotRatio", "", obj);
mFootRotAngleForKuma.init(0.0, "FootRotAngleForKuma", "", obj);
}
} // namespace ksys::res

View File

@ -31,6 +31,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorse.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseObject.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseRider.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseUnit.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectInsect.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectItem.h"
@ -150,6 +151,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::Horse>(archive.getRootList(), "Horse", heap, dummy_list);
add<GParamListObjType::HorseUnit>(archive.getRootList(), "HorseUnit", heap, dummy_list);
add<GParamListObjType::HorseObject>(archive.getRootList(), "HorseObject", heap, dummy_list);
add<GParamListObjType::HorseRider>(archive.getRootList(), "HorseRider", heap, dummy_list);
// TODO: the rest