summaryrefslogtreecommitdiff
path: root/src/KingSystem
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-09-20 13:08:12 +0200
committerLéo Lam <leo@leolam.fr>2020-09-20 13:08:12 +0200
commit5407926f7e5f7265b0e0e488ab589ef7bdc5a720 (patch)
tree27ffbf3ea93f19c60a7c9c9079d727361547b9d2 /src/KingSystem
parentf2d0fcc8c06d0cdbbfd7fa957e1d76eee6bf56e9 (diff)
ksys/res: Implement GParamList Beam
Diffstat (limited to 'src/KingSystem')
-rw-r--r--src/KingSystem/Resource/GeneralParamList/resGParamListObjectBeam.h24
-rw-r--r--src/KingSystem/Resource/resResourceGParamList.cpp2
2 files changed, 26 insertions, 0 deletions
diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectBeam.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectBeam.h
new file mode 100644
index 00000000..f12652dd
--- /dev/null
+++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectBeam.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <agl/Utils/aglParameter.h>
+#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
+#include "KingSystem/Utils/Types.h"
+
+namespace ksys::res {
+
+class GParamListObjectBeam : public GParamListObject {
+public:
+ GParamListObjectBeam();
+ const char* getName() const override { return "Beam"; }
+
+ agl::utl::Parameter<s32> mBeamLevel;
+};
+KSYS_CHECK_SIZE_NX150(GParamListObjectBeam, 0x58);
+
+inline GParamListObjectBeam::GParamListObjectBeam() {
+ auto* const obj = &mObj;
+
+ mBeamLevel.init(511, "BeamLevel", "", obj);
+}
+
+} // namespace ksys::res
diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp
index 830507ae..4424d96f 100644
--- a/src/KingSystem/Resource/resResourceGParamList.cpp
+++ b/src/KingSystem/Resource/resResourceGParamList.cpp
@@ -12,6 +12,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectArrow.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAttack.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAttackInterval.h"
+#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBeam.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBindActor.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBindBone.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h"
@@ -179,6 +180,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::GuardianMini>(archive.getRootList(), "GuardianMini", heap, dummy_list);
add<GParamListObjType::ClothReaction>(archive.getRootList(), "ClothReaction", heap, dummy_list);
add<GParamListObjType::Global>(archive.getRootList(), "Global", heap, dummy_list);
+ add<GParamListObjType::Beam>(archive.getRootList(), "Beam", heap, dummy_list);
// TODO: the rest