ksys/res: Implement GParamList Sandworm

This commit is contained in:
Léo Lam 2020-09-19 23:23:53 +02:00
parent 9a50ece856
commit b800e1a9e6
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 73 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/resGParamListObjectSandworm.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.cpp
src/KingSystem/Resource/GeneralParamList/resGParamListObjectTraveler.h

View File

@ -89068,7 +89068,7 @@
0x000000710118d8c8,BgparamlistObjectAttack::ctor,900,_ZN4ksys3res22GParamListObjectAttackC2Ev
0x000000710118dc4c,BgparamlistObjectWeaponCommon::ctor,3288,_ZN4ksys3res28GParamListObjectWeaponCommonC2Ev
0x000000710118e924,BgparamlistObjectWeaponThrow::ctor,432,_ZN4ksys3res27GParamListObjectWeaponThrowC2Ev
0x000000710118ead4,BgparamlistObjectSandworm::ctor,1992,
0x000000710118ead4,BgparamlistObjectSandworm::ctor,1992,_ZN4ksys3res24GParamListObjectSandwormC2Ev
0x000000710118f29c,BgparamlistObjectSmallSword::ctor,1756,
0x000000710118f978,BgparamlistObjectRod::ctor,1192,
0x000000710118fe20,BgparamlistObjectLargeSword::ctor,1760,
@ -89156,7 +89156,7 @@
0x00000071011a7bfc,sub_71011A7BFC,12,_ZNK4ksys3res22GParamListObjectAttack7getNameEv
0x00000071011a7c08,sub_71011A7C08,12,_ZNK4ksys3res28GParamListObjectWeaponCommon7getNameEv
0x00000071011a7c14,sub_71011A7C14,12,_ZNK4ksys3res27GParamListObjectWeaponThrow7getNameEv
0x00000071011a7c20,sub_71011A7C20,12,
0x00000071011a7c20,sub_71011A7C20,12,_ZNK4ksys3res24GParamListObjectSandworm7getNameEv
0x00000071011a7c2c,sub_71011A7C2C,12,
0x00000071011a7c38,sub_71011A7C38,12,
0x00000071011a7c44,sub_71011A7C44,12,

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

View File

@ -0,0 +1,68 @@
#pragma once
#include <agl/Utils/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
class GParamListObjectSandworm : public GParamListObject {
public:
GParamListObjectSandworm();
const char* getName() const override { return "Sandworm"; }
agl::utl::Parameter<f32> mSandWidth;
agl::utl::Parameter<f32> mSandLength;
agl::utl::Parameter<f32> mSandHeight;
agl::utl::Parameter<f32> mSandCombSpan;
agl::utl::Parameter<f32> mSandCombHeight;
agl::utl::Parameter<f32> mSnakeModelOffsetZ;
agl::utl::Parameter<sead::SafeString> mSnakeBaseNode;
agl::utl::Parameter<sead::SafeString> mSnakeNode1;
agl::utl::Parameter<sead::SafeString> mSnakeNode2;
agl::utl::Parameter<sead::SafeString> mSnakeNode3;
agl::utl::Parameter<sead::SafeString> mSnakeNode4;
agl::utl::Parameter<sead::SafeString> mSnakeNode5;
agl::utl::Parameter<sead::SafeString> mSnakeNode6;
agl::utl::Parameter<sead::SafeString> mSnakeNode7;
agl::utl::Parameter<sead::SafeString> mSnakeNode8;
agl::utl::Parameter<sead::SafeString> mSnakeNode9;
agl::utl::Parameter<sead::SafeString> mSnakeNode10;
agl::utl::Parameter<sead::SafeString> mSnakeNode11;
agl::utl::Parameter<sead::SafeString> mSnakeNode12;
agl::utl::Parameter<sead::Vector3f> mSnakeNodeRotOffset;
agl::utl::Parameter<f32> mSnakeNodeChaseInterval;
agl::utl::Parameter<f32> mShowLifeGageDist;
agl::utl::Parameter<f32> mShowLifeGageOffset;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectSandworm, 0x388);
inline GParamListObjectSandworm::GParamListObjectSandworm() {
auto* const obj = &mObj;
mSandWidth.init(0.0, "SandWidth", "", obj);
mSandLength.init(0.0, "SandLength", "", obj);
mSandHeight.init(0.0, "SandHeight", "", obj);
mSandCombSpan.init(0.0, "SandCombSpan", "", obj);
mSandCombHeight.init(0.0, "SandCombHeight", "", obj);
mSnakeModelOffsetZ.init(0.0, "SnakeModelOffsetZ", "", obj);
mSnakeBaseNode.init("", "SnakeBaseNode", "", obj);
mSnakeNode1.init("", "SnakeNode1", "", obj);
mSnakeNode2.init("", "SnakeNode2", "", obj);
mSnakeNode3.init("", "SnakeNode3", "", obj);
mSnakeNode4.init("", "SnakeNode4", "", obj);
mSnakeNode5.init("", "SnakeNode5", "", obj);
mSnakeNode6.init("", "SnakeNode6", "", obj);
mSnakeNode7.init("", "SnakeNode7", "", obj);
mSnakeNode8.init("", "SnakeNode8", "", obj);
mSnakeNode9.init("", "SnakeNode9", "", obj);
mSnakeNode10.init("", "SnakeNode10", "", obj);
mSnakeNode11.init("", "SnakeNode11", "", obj);
mSnakeNode12.init("", "SnakeNode12", "", obj);
mSnakeNodeRotOffset.init({0.0, 0.0, 0.0}, "SnakeNodeRotOffset", "", obj);
mSnakeNodeChaseInterval.init(0.0, "SnakeNodeChaseInterval", "", obj);
mShowLifeGageDist.init(150.0, "ShowLifeGageDist", "", obj);
mShowLifeGageOffset.init(10.0, "ShowLifeGageOffset", "", 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/resGParamListObjectSandworm.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h"
@ -60,6 +61,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::Attack>(archive.getRootList(), "Attack", heap, dummy_list);
add<GParamListObjType::WeaponCommon>(archive.getRootList(), "WeaponCommon", heap, dummy_list);
add<GParamListObjType::WeaponThrow>(archive.getRootList(), "WeaponThrow", heap, dummy_list);
add<GParamListObjType::Sandworm>(archive.getRootList(), "Sandworm", heap, dummy_list);
// TODO: the rest