ksys/res: Implement GParamList LargeSword

This commit is contained in:
Léo Lam 2020-09-19 23:43:22 +02:00
parent 5e9d25da72
commit 6979611c63
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 72 additions and 2 deletions

View File

@ -72,6 +72,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyRace.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyShown.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectLargeSword.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectRod.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectSandworm.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectSmallSword.h

View File

@ -89071,7 +89071,7 @@
0x000000710118ead4,BgparamlistObjectSandworm::ctor,1992,_ZN4ksys3res24GParamListObjectSandwormC2Ev
0x000000710118f29c,BgparamlistObjectSmallSword::ctor,1756,_ZN4ksys3res26GParamListObjectSmallSwordC2Ev
0x000000710118f978,BgparamlistObjectRod::ctor,1192,_ZN4ksys3res19GParamListObjectRodC2Ev
0x000000710118fe20,BgparamlistObjectLargeSword::ctor,1760,
0x000000710118fe20,BgparamlistObjectLargeSword::ctor,1760,_ZN4ksys3res26GParamListObjectLargeSwordC2Ev
0x0000007101190500,BgparamlistObjectSpear::ctor,2080,
0x0000007101190d20,BgparamlistObjectShield::ctor,1484,
0x00000071011912ec,BgparamlistObjectBow::ctor,2724,
@ -89159,7 +89159,7 @@
0x00000071011a7c20,sub_71011A7C20,12,_ZNK4ksys3res24GParamListObjectSandworm7getNameEv
0x00000071011a7c2c,sub_71011A7C2C,12,_ZNK4ksys3res26GParamListObjectSmallSword7getNameEv
0x00000071011a7c38,sub_71011A7C38,12,_ZNK4ksys3res19GParamListObjectRod7getNameEv
0x00000071011a7c44,sub_71011A7C44,12,
0x00000071011a7c44,sub_71011A7C44,12,_ZNK4ksys3res26GParamListObjectLargeSword7getNameEv
0x00000071011a7c50,sub_71011A7C50,12,
0x00000071011a7c5c,sub_71011A7C5C,12,
0x00000071011a7c68,sub_71011A7C68,12,

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

View File

@ -0,0 +1,67 @@
#pragma once
#include <agl/Utils/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
class GParamListObjectLargeSword : public GParamListObject {
public:
GParamListObjectLargeSword();
const char* getName() const override { return "LargeSword"; }
agl::utl::Parameter<sead::SafeString> mPodName;
agl::utl::Parameter<sead::Vector3f> mPlayerHoldTransOffset;
agl::utl::Parameter<sead::Vector3f> mPlayerHoldRotOffset;
agl::utl::Parameter<sead::Vector3f> mPlayerEquipTransOffset;
agl::utl::Parameter<sead::Vector3f> mPlayerEquipRotOffset;
agl::utl::Parameter<sead::Vector3f> mRideHorsePlayerHoldTransOffset;
agl::utl::Parameter<sead::Vector3f> mRideHorsePlayerHoldRotOffset;
agl::utl::Parameter<sead::Vector3f> mAffectTransOffsetShield;
agl::utl::Parameter<sead::Vector3f> mAffectRotOffsetShield;
agl::utl::Parameter<sead::Vector3f> mAffectTransOffsetBow;
agl::utl::Parameter<sead::Vector3f> mAffectRotOffsetBow;
agl::utl::Parameter<sead::Vector3f> mSquatPlayerHoldTransAddOffset;
agl::utl::Parameter<sead::Vector3f> mSquatPlayerHoldRotAddOffset;
agl::utl::Parameter<sead::Vector3f> mNPCHoldTransOffset;
agl::utl::Parameter<sead::Vector3f> mNPCHoldRotOffset;
agl::utl::Parameter<sead::Vector3f> mNPCEquipTransOffset;
agl::utl::Parameter<sead::Vector3f> mNPCEquipRotOffset;
agl::utl::Parameter<sead::Vector3f> mEnemyEquipTransOffset;
agl::utl::Parameter<sead::Vector3f> mEnemyEquipRotOffset;
agl::utl::Parameter<sead::Vector3f> mStandEquipTransOffset;
agl::utl::Parameter<sead::Vector3f> mStandEquipRotOffset;
agl::utl::Parameter<sead::SafeString> mWeaponSubType;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectLargeSword, 0x3a8);
inline GParamListObjectLargeSword::GParamListObjectLargeSword() {
auto* const obj = &mObj;
mPodName.init("", "PodName", "", obj);
mPlayerHoldTransOffset.init({0.17, -0.025, -0.1}, "PlayerHoldTransOffset", "", obj);
mPlayerHoldRotOffset.init({16.0, -60.0, -18.0}, "PlayerHoldRotOffset", "", obj);
mPlayerEquipTransOffset.init({0.0, 0.0, 0.0}, "PlayerEquipTransOffset", "", obj);
mPlayerEquipRotOffset.init({0.0, 0.0, 0.0}, "PlayerEquipRotOffset", "", obj);
mRideHorsePlayerHoldTransOffset.init({0.0, 0.0, 0.0}, "RideHorsePlayerHoldTransOffset", "",
obj);
mRideHorsePlayerHoldRotOffset.init({0.0, 0.0, 0.0}, "RideHorsePlayerHoldRotOffset", "", obj);
mAffectTransOffsetShield.init({0.0, 0.0, 0.0}, "AffectTransOffsetShield", "", obj);
mAffectRotOffsetShield.init({0.0, 0.0, 0.0}, "AffectRotOffsetShield", "", obj);
mAffectTransOffsetBow.init({0.0, 0.0, 0.0}, "AffectTransOffsetBow", "", obj);
mAffectRotOffsetBow.init({0.0, 0.0, 0.0}, "AffectRotOffsetBow", "", obj);
mSquatPlayerHoldTransAddOffset.init({0.0, 0.0, 0.0}, "SquatPlayerHoldTransAddOffset", "", obj);
mSquatPlayerHoldRotAddOffset.init({0.0, 0.0, 0.0}, "SquatPlayerHoldRotAddOffset", "", obj);
mNPCHoldTransOffset.init({0.0, 0.0, 0.0}, "NPCHoldTransOffset", "", obj);
mNPCHoldRotOffset.init({0.0, 0.0, 0.0}, "NPCHoldRotOffset", "", obj);
mNPCEquipTransOffset.init({0.0, 0.0, 0.0}, "NPCEquipTransOffset", "", obj);
mNPCEquipRotOffset.init({0.0, 0.0, 0.0}, "NPCEquipRotOffset", "", obj);
mEnemyEquipTransOffset.init({0.0, 0.0, 0.0}, "EnemyEquipTransOffset", "", obj);
mEnemyEquipRotOffset.init({0.0, 0.0, 0.0}, "EnemyEquipRotOffset", "", obj);
mStandEquipTransOffset.init({0.0, 0.0, 0.0}, "StandEquipTransOffset", "", obj);
mStandEquipRotOffset.init({0.0, 0.0, 0.0}, "StandEquipRotOffset", "", obj);
mWeaponSubType.init("", "WeaponSubType", "", obj);
}
} // namespace ksys::res

View File

@ -11,6 +11,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyRace.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyShown.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectLargeSword.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRod.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSandworm.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSmallSword.h"
@ -66,6 +67,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::Sandworm>(archive.getRootList(), "Sandworm", heap, dummy_list);
add<GParamListObjType::SmallSword>(archive.getRootList(), "SmallSword", heap, dummy_list);
add<GParamListObjType::Rod>(archive.getRootList(), "Rod", heap, dummy_list);
add<GParamListObjType::LargeSword>(archive.getRootList(), "LargeSword", heap, dummy_list);
// TODO: the rest