summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-09-20 13:58:48 +0200
committerLéo Lam <leo@leolam.fr>2020-09-20 13:59:00 +0200
commitb8a3ac571c05cc04579356f8bfb57f52ae179ea0 (patch)
treece2db719feac1311a3d8e105d340c5529e37fa91 /src
parent8b3aed47e638dd2192bc5d263ed2079ea84f990e (diff)
ksys/res: Implement GParamList PictureBook
Diffstat (limited to 'src')
-rw-r--r--src/KingSystem/Resource/GeneralParamList/resGParamListObjectPictureBook.h27
-rw-r--r--src/KingSystem/Resource/resResourceGParamList.cpp2
2 files changed, 29 insertions, 0 deletions
diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectPictureBook.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectPictureBook.h
new file mode 100644
index 00000000..21b900e0
--- /dev/null
+++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectPictureBook.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <agl/Utils/aglParameter.h>
+#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
+#include "KingSystem/Utils/Types.h"
+
+namespace ksys::res {
+
+class GParamListObjectPictureBook : public GParamListObject {
+public:
+ GParamListObjectPictureBook() {
+ auto* const obj = &mObj;
+
+ mLiveSpot1.init(-1, "LiveSpot1", "", obj);
+ mLiveSpot2.init(-1, "LiveSpot2", "", obj);
+ mSpecialDrop.init(-1, "SpecialDrop", "", obj);
+ }
+
+ const char* getName() const override { return "PictureBook"; }
+
+ agl::utl::Parameter<s32> mLiveSpot1;
+ agl::utl::Parameter<s32> mLiveSpot2;
+ agl::utl::Parameter<s32> mSpecialDrop;
+};
+KSYS_CHECK_SIZE_NX150(GParamListObjectPictureBook, 0x98);
+
+} // namespace ksys::res
diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp
index 95ad8f80..7853f1c5 100644
--- a/src/KingSystem/Resource/resResourceGParamList.cpp
+++ b/src/KingSystem/Resource/resResourceGParamList.cpp
@@ -58,6 +58,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNest.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNpc.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectNpcEquipment.h"
+#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPictureBook.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPlayer.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectPrey.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectRod.h"
@@ -196,6 +197,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::WolfLink>(archive.getRootList(), "WolfLink", heap, dummy_list);
add<GParamListObjType::Event>(archive.getRootList(), "Event", heap, dummy_list);
add<GParamListObjType::GolemIK>(archive.getRootList(), "GolemIK", heap, dummy_list);
+ add<GParamListObjType::PictureBook>(archive.getRootList(), "PictureBook", heap, dummy_list);
// TODO: the rest