summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--data/uking_functions.csv4
-rw-r--r--src/KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h40
-rw-r--r--src/KingSystem/Resource/resResourceGParamList.cpp2
4 files changed, 45 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4c23dd9d..660e8d77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -127,6 +127,7 @@ add_executable(uking
src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponOption.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h
+ src/KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h
src/KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h
src/KingSystem/Resource/GeneralParamList/resGParamListTraits.h
src/KingSystem/Resource/resCurrentResNameMgr.cpp
diff --git a/data/uking_functions.csv b/data/uking_functions.csv
index b092b0f1..5a9cbe5a 100644
--- a/data/uking_functions.csv
+++ b/data/uking_functions.csv
@@ -89109,7 +89109,7 @@
0x00000071011a1954,BgparamlistObjectGuardian::ctor,812,_ZN4ksys3res24GParamListObjectGuardianC2Ev
0x00000071011a1c80,BgparamlistObjectSwarm::ctor,388,_ZN4ksys3res21GParamListObjectSwarmC2Ev
0x00000071011a1e04,BgparamlistObjectGelEnemy::ctor,1352,_ZN4ksys3res24GParamListObjectGelEnemyC2Ev
-0x00000071011a234c,BgparamlistObjectWizzrobe::ctor,832,
+0x00000071011a234c,BgparamlistObjectWizzrobe::ctor,832,_ZN4ksys3res24GParamListObjectWizzrobeC2Ev
0x00000071011a268c,BgparamlistObjectStalEnemy::ctor,328,
0x00000071011a27d4,BgparamlistObjectGuardianMini::ctor,672,
0x00000071011a2a74,BgparamlistObjectClothReaction::ctor,1460,
@@ -89208,7 +89208,7 @@
0x00000071011a7e6c,sub_71011A7E6C,12,_ZNK4ksys3res21GParamListObjectSwarm7getNameEv
0x00000071011a7e78,sub_71011A7E78,12,_ZNK4ksys3res24GParamListObjectGelEnemy7getNameEv
0x00000071011a7e84,sub_71011A7E84,12,_ZNK4ksys3res20GParamListObjectNest7getNameEv
-0x00000071011a7e90,sub_71011A7E90,12,
+0x00000071011a7e90,sub_71011A7E90,12,_ZNK4ksys3res24GParamListObjectWizzrobe7getNameEv
0x00000071011a7e9c,sub_71011A7E9C,12,
0x00000071011a7ea8,sub_71011A7EA8,12,
0x00000071011a7eb4,sub_71011A7EB4,12,
diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h
new file mode 100644
index 00000000..11029433
--- /dev/null
+++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h
@@ -0,0 +1,40 @@
+#pragma once
+
+#include <agl/Utils/aglParameter.h>
+#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
+#include "KingSystem/Utils/Types.h"
+
+namespace ksys::res {
+
+class GParamListObjectWizzrobe : public GParamListObject {
+public:
+ GParamListObjectWizzrobe();
+ const char* getName() const override { return "Wizzrobe"; }
+
+ agl::utl::Parameter<s32> mMagicWeatherType;
+ agl::utl::Parameter<sead::SafeString> mMagicFallActorName;
+ agl::utl::Parameter<f32> mMagicFallIgniteRotSpd;
+ agl::utl::Parameter<f32> mMagicFallOffsetY;
+ agl::utl::Parameter<f32> mMagicFallCenterOffsetXZ;
+ agl::utl::Parameter<f32> mMagicFallRandRadius;
+ agl::utl::Parameter<f32> mMagicFallIntervalMax;
+ agl::utl::Parameter<f32> mMagicFallIntervalMin;
+ agl::utl::Parameter<sead::SafeString> mSummonActorName;
+};
+KSYS_CHECK_SIZE_NX150(GParamListObjectWizzrobe, 0x168);
+
+inline GParamListObjectWizzrobe::GParamListObjectWizzrobe() {
+ auto* const obj = &mObj;
+
+ mMagicWeatherType.init(0, "MagicWeatherType", "", obj);
+ mMagicFallActorName.init("", "MagicFallActorName", "", obj);
+ mMagicFallIgniteRotSpd.init(0.0, "MagicFallIgniteRotSpd", "", obj);
+ mMagicFallOffsetY.init(6.0, "MagicFallOffsetY", "", obj);
+ mMagicFallCenterOffsetXZ.init(5.0, "MagicFallCenterOffsetXZ", "", obj);
+ mMagicFallRandRadius.init(12.0, "MagicFallRandRadius", "", obj);
+ mMagicFallIntervalMax.init(20.0, "MagicFallIntervalMax", "", obj);
+ mMagicFallIntervalMin.init(15.0, "MagicFallIntervalMin", "", obj);
+ mSummonActorName.init("", "SummonActorName", "", obj);
+}
+
+} // namespace ksys::res
diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp
index 25398c13..5c68d0f5 100644
--- a/src/KingSystem/Resource/resResourceGParamList.cpp
+++ b/src/KingSystem/Resource/resResourceGParamList.cpp
@@ -65,6 +65,7 @@
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponCommon.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponOption.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWeaponThrow.h"
+#include "KingSystem/Resource/GeneralParamList/resGParamListObjectWizzrobe.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectZora.h"
#include "KingSystem/Resource/GeneralParamList/resGParamListTraits.h"
@@ -169,6 +170,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) {
add<GParamListObjType::Swarm>(archive.getRootList(), "Swarm", heap, dummy_list);
add<GParamListObjType::GelEnemy>(archive.getRootList(), "GelEnemy", heap, dummy_list);
add<GParamListObjType::Nest>(archive.getRootList(), "Nest", heap, dummy_list);
+ add<GParamListObjType::Wizzrobe>(archive.getRootList(), "Wizzrobe", heap, dummy_list);
// TODO: the rest