diff options
| author | Léo Lam <leo@leolam.fr> | 2020-09-20 01:07:31 +0200 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2020-09-20 01:07:31 +0200 |
| commit | e28d742e275ce8bd2eb8d5fdf97ee0d9b6e8b607 (patch) | |
| tree | 3d5bba2d4db0dfdc91933f112d4e286d258dac0f /src | |
| parent | 1fe88a8707cd39eb68cae9f506fefb67854da85d (diff) | |
ksys/res: Implement GParamList Grab
Diffstat (limited to 'src')
| -rw-r--r-- | src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h | 46 | ||||
| -rw-r--r-- | src/KingSystem/Resource/resResourceGParamList.cpp | 2 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h new file mode 100644 index 00000000..1084ef97 --- /dev/null +++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h @@ -0,0 +1,46 @@ +#pragma once + +#include <agl/Utils/aglParameter.h> +#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class GParamListObjectGrab : public GParamListObject { +public: + GParamListObjectGrab(); + const char* getName() const override { return "Grab"; } + + agl::utl::Parameter<sead::SafeString> mSlot0Node; + agl::utl::Parameter<sead::SafeString> mSlot1Node; + agl::utl::Parameter<sead::SafeString> mSlot2Node; + agl::utl::Parameter<sead::SafeString> mSlot3Node; + agl::utl::Parameter<sead::SafeString> mSlot4Node; + agl::utl::Parameter<sead::SafeString> mSlot5Node; + agl::utl::Parameter<sead::SafeString> mSlot0PodNode; + agl::utl::Parameter<sead::SafeString> mSlot1PodNode; + agl::utl::Parameter<sead::SafeString> mSlot2PodNode; + agl::utl::Parameter<sead::SafeString> mSlot3PodNode; + agl::utl::Parameter<sead::SafeString> mSlot4PodNode; + agl::utl::Parameter<sead::SafeString> mSlot5PodNode; +}; +KSYS_CHECK_SIZE_NX150(GParamListObjectGrab, 0x218); + +inline GParamListObjectGrab::GParamListObjectGrab() { + auto* const obj = &mObj; + + mSlot0Node.init("", "Slot0Node", "", obj); + mSlot1Node.init("", "Slot1Node", "", obj); + mSlot2Node.init("", "Slot2Node", "", obj); + mSlot3Node.init("", "Slot3Node", "", obj); + mSlot4Node.init("", "Slot4Node", "", obj); + mSlot5Node.init("", "Slot5Node", "", obj); + mSlot0PodNode.init("", "Slot0PodNode", "", obj); + mSlot1PodNode.init("", "Slot1PodNode", "", obj); + mSlot2PodNode.init("", "Slot2PodNode", "", obj); + mSlot3PodNode.init("", "Slot3PodNode", "", obj); + mSlot4PodNode.init("", "Slot4PodNode", "", obj); + mSlot5PodNode.init("", "Slot5PodNode", "", obj); +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp index d491a2c4..ba21f2d8 100644 --- a/src/KingSystem/Resource/resResourceGParamList.cpp +++ b/src/KingSystem/Resource/resResourceGParamList.cpp @@ -13,6 +13,7 @@ #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyRace.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyShown.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h" +#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGrab.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGuardianMiniWeapon.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectLargeSword.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectMasterSword.h" @@ -85,6 +86,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) { dummy_list); add<GParamListObjType::Player>(archive.getRootList(), "Player", heap, dummy_list); add<GParamListObjType::Camera>(archive.getRootList(), "Camera", heap, dummy_list); + add<GParamListObjType::Grab>(archive.getRootList(), "Grab", heap, dummy_list); // TODO: the rest |
