ksys/res: Implement GParamList NpcEquipment

This commit is contained in:
Léo Lam
2020-09-20 01:42:21 +02:00
parent 80c8d2f762
commit 0f1fe77664
4 changed files with 77 additions and 2 deletions
+1
View File
@@ -90,6 +90,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectLumberjackTree.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectMasterSword.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectNpc.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectNpcEquipment.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectPlayer.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectRod.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectRupee.h
+2 -2
View File
@@ -89093,7 +89093,7 @@
0x00000071011970b4,BgparamlistObjectCookSpice::ctor,476,_ZN4ksys3res25GParamListObjectCookSpiceC2Ev
0x0000007101197290,BgparamlistObjectLumberjackTree::ctor,664,_ZN4ksys3res30GParamListObjectLumberjackTreeC2Ev
0x0000007101197528,BgparamlistObjectNpc::ctor,1232,_ZN4ksys3res19GParamListObjectNpcC2Ev
0x00000071011979f8,BgparamlistObjectNpcEquipment::ctor,1960,
0x00000071011979f8,BgparamlistObjectNpcEquipment::ctor,1960,_ZN4ksys3res28GParamListObjectNpcEquipmentC2Ev
0x00000071011981a0,BgparamlistObjectZora::ctor,508,
0x000000710119839c,BgparamlistObjectTraveler::ctor,29996,_ZN4ksys3res24GParamListObjectTravelerC1Ev
0x000000710119f8c8,BgparamlistObjectPrey::ctor,508,
@@ -89184,7 +89184,7 @@
0x00000071011a7d4c,sub_71011A7D4C,12,_ZNK4ksys3res25GParamListObjectCookSpice7getNameEv
0x00000071011a7d58,sub_71011A7D58,12,_ZNK4ksys3res30GParamListObjectLumberjackTree7getNameEv
0x00000071011a7d64,sub_71011A7D64,12,_ZNK4ksys3res19GParamListObjectNpc7getNameEv
0x00000071011a7d70,sub_71011A7D70,12,
0x00000071011a7d70,sub_71011A7D70,12,_ZNK4ksys3res28GParamListObjectNpcEquipment7getNameEv
0x00000071011a7d7c,sub_71011A7D7C,12,
0x00000071011a7d88,sub_71011A7D88,12,_ZNK4ksys3res24GParamListObjectTraveler7getNameEv
0x00000071011a7d94,sub_71011A7D94,12,
Can't render this file because it is too large.
@@ -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 GParamListObjectNpcEquipment : public GParamListObject {
public:
GParamListObjectNpcEquipment();
const char* getName() const override { return "NpcEquipment"; }
agl::utl::Parameter<bool> mIsSetWeaponTypeWhenEquip;
agl::utl::Parameter<sead::SafeString> mEquipName1;
agl::utl::Parameter<f32> mScale1;
agl::utl::Parameter<sead::Vector3f> mHoldTransOffset1;
agl::utl::Parameter<sead::Vector3f> mHoldRotOffset1;
agl::utl::Parameter<sead::Vector3f> mEquipTransOffset1;
agl::utl::Parameter<sead::Vector3f> mEquipRotOffset1;
agl::utl::Parameter<sead::SafeString> mEquipName2;
agl::utl::Parameter<f32> mScale2;
agl::utl::Parameter<sead::Vector3f> mHoldTransOffset2;
agl::utl::Parameter<sead::Vector3f> mHoldRotOffset2;
agl::utl::Parameter<sead::Vector3f> mEquipTransOffset2;
agl::utl::Parameter<sead::Vector3f> mEquipRotOffset2;
agl::utl::Parameter<sead::SafeString> mEquipName3;
agl::utl::Parameter<f32> mScale3;
agl::utl::Parameter<sead::Vector3f> mHoldTransOffset3;
agl::utl::Parameter<sead::Vector3f> mHoldRotOffset3;
agl::utl::Parameter<sead::Vector3f> mEquipTransOffset3;
agl::utl::Parameter<sead::Vector3f> mEquipRotOffset3;
agl::utl::Parameter<sead::SafeString> mEquipName4;
agl::utl::Parameter<f32> mScale4;
agl::utl::Parameter<sead::Vector3f> mHoldTransOffset4;
agl::utl::Parameter<sead::Vector3f> mHoldRotOffset4;
agl::utl::Parameter<sead::Vector3f> mEquipTransOffset4;
agl::utl::Parameter<sead::Vector3f> mEquipRotOffset4;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectNpcEquipment, 0x3f8);
inline GParamListObjectNpcEquipment::GParamListObjectNpcEquipment() {
auto* const obj = &mObj;
mIsSetWeaponTypeWhenEquip.init(false, "IsSetWeaponTypeWhenEquip", "", obj);
mEquipName1.init("", "EquipName1", "", obj);
mScale1.init(1.0, "Scale1", "", obj);
mHoldTransOffset1.init({0.0, 0.0, 0.0}, "HoldTransOffset1", "", obj);
mHoldRotOffset1.init({0.0, 0.0, 0.0}, "HoldRotOffset1", "", obj);
mEquipTransOffset1.init({0.0, 0.0, 0.0}, "EquipTransOffset1", "", obj);
mEquipRotOffset1.init({0.0, 0.0, 0.0}, "EquipRotOffset1", "", obj);
mEquipName2.init("", "EquipName2", "", obj);
mScale2.init(1.0, "Scale2", "", obj);
mHoldTransOffset2.init({0.0, 0.0, 0.0}, "HoldTransOffset2", "", obj);
mHoldRotOffset2.init({0.0, 0.0, 0.0}, "HoldRotOffset2", "", obj);
mEquipTransOffset2.init({0.0, 0.0, 0.0}, "EquipTransOffset2", "", obj);
mEquipRotOffset2.init({0.0, 0.0, 0.0}, "EquipRotOffset2", "", obj);
mEquipName3.init("", "EquipName3", "", obj);
mScale3.init(1.0, "Scale3", "", obj);
mHoldTransOffset3.init({0.0, 0.0, 0.0}, "HoldTransOffset3", "", obj);
mHoldRotOffset3.init({0.0, 0.0, 0.0}, "HoldRotOffset3", "", obj);
mEquipTransOffset3.init({0.0, 0.0, 0.0}, "EquipTransOffset3", "", obj);
mEquipRotOffset3.init({0.0, 0.0, 0.0}, "EquipRotOffset3", "", obj);
mEquipName4.init("", "EquipName4", "", obj);
mScale4.init(1.0, "Scale4", "", obj);
mHoldTransOffset4.init({0.0, 0.0, 0.0}, "HoldTransOffset4", "", obj);
mHoldRotOffset4.init({0.0, 0.0, 0.0}, "HoldRotOffset4", "", obj);
mEquipTransOffset4.init({0.0, 0.0, 0.0}, "EquipTransOffset4", "", obj);
mEquipRotOffset4.init({0.0, 0.0, 0.0}, "EquipRotOffset4", "", obj);
}
} // namespace ksys::res
@@ -29,6 +29,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectLumberjackTree.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectMasterSword.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNpc.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNpcEquipment.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPlayer.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRod.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRupee.h"
@@ -118,6 +119,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::LumberjackTree>(archive.getRootList(), "LumberjackTree", heap,
dummy_list);
add<GParamListObjType::Npc>(archive.getRootList(), "Npc", heap, dummy_list);
add<GParamListObjType::NpcEquipment>(archive.getRootList(), "NpcEquipment", heap, dummy_list);
// TODO: the rest