ksys/res: Implement GParamList ClothReaction

This commit is contained in:
Léo Lam 2020-09-20 13:01:22 +02:00
parent e9328d26e4
commit 0c2a62c7fd
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 59 additions and 2 deletions

View File

@ -78,6 +78,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectClothReaction.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectCookSpice.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectCookSpice.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectCureItem.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectCureItem.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectEatTarget.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectEatTarget.h

View File

@ -89112,7 +89112,7 @@
0x00000071011a234c,BgparamlistObjectWizzrobe::ctor,832,_ZN4ksys3res24GParamListObjectWizzrobeC2Ev 0x00000071011a234c,BgparamlistObjectWizzrobe::ctor,832,_ZN4ksys3res24GParamListObjectWizzrobeC2Ev
0x00000071011a268c,BgparamlistObjectStalEnemy::ctor,328,_ZN4ksys3res25GParamListObjectStalEnemyC2Ev 0x00000071011a268c,BgparamlistObjectStalEnemy::ctor,328,_ZN4ksys3res25GParamListObjectStalEnemyC2Ev
0x00000071011a27d4,BgparamlistObjectGuardianMini::ctor,672,_ZN4ksys3res28GParamListObjectGuardianMiniC2Ev 0x00000071011a27d4,BgparamlistObjectGuardianMini::ctor,672,_ZN4ksys3res28GParamListObjectGuardianMiniC2Ev
0x00000071011a2a74,BgparamlistObjectClothReaction::ctor,1460, 0x00000071011a2a74,BgparamlistObjectClothReaction::ctor,1460,_ZN4ksys3res29GParamListObjectClothReactionC2Ev
0x00000071011a3028,BgparamlistObjectGlobal::ctor,6116, 0x00000071011a3028,BgparamlistObjectGlobal::ctor,6116,
0x00000071011a480c,BgparamlistObjectAutoGen::ctor,404, 0x00000071011a480c,BgparamlistObjectAutoGen::ctor,404,
0x00000071011a49a0,BgparamlistObjectChemicalType::ctor,336, 0x00000071011a49a0,BgparamlistObjectChemicalType::ctor,336,
@ -89211,7 +89211,7 @@
0x00000071011a7e90,sub_71011A7E90,12,_ZNK4ksys3res24GParamListObjectWizzrobe7getNameEv 0x00000071011a7e90,sub_71011A7E90,12,_ZNK4ksys3res24GParamListObjectWizzrobe7getNameEv
0x00000071011a7e9c,sub_71011A7E9C,12,_ZNK4ksys3res25GParamListObjectStalEnemy7getNameEv 0x00000071011a7e9c,sub_71011A7E9C,12,_ZNK4ksys3res25GParamListObjectStalEnemy7getNameEv
0x00000071011a7ea8,sub_71011A7EA8,12,_ZNK4ksys3res28GParamListObjectGuardianMini7getNameEv 0x00000071011a7ea8,sub_71011A7EA8,12,_ZNK4ksys3res28GParamListObjectGuardianMini7getNameEv
0x00000071011a7eb4,sub_71011A7EB4,12, 0x00000071011a7eb4,sub_71011A7EB4,12,_ZNK4ksys3res29GParamListObjectClothReaction7getNameEv
0x00000071011a7ec0,sub_71011A7EC0,12, 0x00000071011a7ec0,sub_71011A7EC0,12,
0x00000071011a7ecc,sub_71011A7ECC,12, 0x00000071011a7ecc,sub_71011A7ECC,12,
0x00000071011a7ed8,sub_71011A7ED8,12, 0x00000071011a7ed8,sub_71011A7ED8,12,

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

View File

@ -0,0 +1,54 @@
#pragma once
#include <agl/Utils/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::res {
class GParamListObjectClothReaction : public GParamListObject {
public:
GParamListObjectClothReaction();
const char* getName() const override { return "ClothReaction"; }
agl::utl::Parameter<sead::SafeString> mAtkCollidableName;
agl::utl::Parameter<sead::SafeString> mAtkCollidableBoneName;
agl::utl::Parameter<f32> mAtkCollidableSpeed;
agl::utl::Parameter<f32> mAtkCollidableActiveTime;
agl::utl::Parameter<sead::Vector3f> mAtkCollidableResetPos;
agl::utl::Parameter<sead::SafeString> mGroundCollidableName;
agl::utl::Parameter<sead::SafeString> mGroundCollidableBoneName;
agl::utl::Parameter<f32> mGroundCollidableOffset;
agl::utl::Parameter<bool> mUseGroundCollidableResetPos;
agl::utl::Parameter<sead::Vector3f> mGroundCollidableResetPos;
agl::utl::Parameter<f32> mGroundCollidableMoveSpeed;
agl::utl::Parameter<sead::SafeString> mWallCollidableName;
agl::utl::Parameter<sead::SafeString> mWallCollidableBoneName;
agl::utl::Parameter<f32> mWallCollidableOffset;
agl::utl::Parameter<sead::SafeString> mPlayerCollidableName;
agl::utl::Parameter<sead::SafeString> mPlayerCollidableBoneName;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectClothReaction, 0x288);
inline GParamListObjectClothReaction::GParamListObjectClothReaction() {
auto* const obj = &mObj;
mAtkCollidableName.init("Collidable_Attack", "AtkCollidableName", "", obj);
mAtkCollidableBoneName.init("Attack", "AtkCollidableBoneName", "", obj);
mAtkCollidableSpeed.init(6.0, "AtkCollidableSpeed", "", obj);
mAtkCollidableActiveTime.init(0.5, "AtkCollidableActiveTime", "", obj);
mAtkCollidableResetPos.init({0.0, 0.0, 2.0}, "AtkCollidableResetPos", "", obj);
mGroundCollidableName.init("Collidable_Ground_1", "GroundCollidableName", "", obj);
mGroundCollidableBoneName.init("Ground_1", "GroundCollidableBoneName", "", obj);
mGroundCollidableOffset.init(0.05, "GroundCollidableOffset", "", obj);
mUseGroundCollidableResetPos.init(false, "UseGroundCollidableResetPos", "", obj);
mGroundCollidableResetPos.init({0.0, -1.0, 0.0}, "GroundCollidableResetPos", "", obj);
mGroundCollidableMoveSpeed.init(300.0, "GroundCollidableMoveSpeed", "", obj);
mWallCollidableName.init("", "WallCollidableName", "", obj);
mWallCollidableBoneName.init("", "WallCollidableBoneName", "", obj);
mWallCollidableOffset.init(0.05, "WallCollidableOffset", "", obj);
mPlayerCollidableName.init("", "PlayerCollidableName", "", obj);
mPlayerCollidableBoneName.init("", "PlayerCollidableBoneName", "", obj);
}
} // namespace ksys::res

View File

@ -17,6 +17,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectClothReaction.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectCookSpice.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectCookSpice.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectCureItem.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectCureItem.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEatTarget.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEatTarget.h"
@ -175,6 +176,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::Wizzrobe>(archive.getRootList(), "Wizzrobe", heap, dummy_list); add<GParamListObjType::Wizzrobe>(archive.getRootList(), "Wizzrobe", heap, dummy_list);
add<GParamListObjType::StalEnemy>(archive.getRootList(), "StalEnemy", heap, dummy_list); add<GParamListObjType::StalEnemy>(archive.getRootList(), "StalEnemy", heap, dummy_list);
add<GParamListObjType::GuardianMini>(archive.getRootList(), "GuardianMini", heap, dummy_list); add<GParamListObjType::GuardianMini>(archive.getRootList(), "GuardianMini", heap, dummy_list);
add<GParamListObjType::ClothReaction>(archive.getRootList(), "ClothReaction", heap, dummy_list);
// TODO: the rest // TODO: the rest