From 5dabe9682672a3fcc5be055a7e40d45e92442cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 20 Sep 2020 01:33:27 +0200 Subject: [PATCH] ksys/res: Implement GParamList Bullet --- CMakeLists.txt | 1 + data/uking_functions.csv | 2 +- .../resGParamListObjectBullet.h | 26 +++++++++++++++++++ .../Resource/resResourceGParamList.cpp | 2 ++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 15034755..7b61afe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,6 +73,7 @@ add_executable(uking src/KingSystem/Resource/GeneralParamList/resGParamListObjectAttackInterval.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectBindBone.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h + src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectEnemy.h src/KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyLevel.h diff --git a/data/uking_functions.csv b/data/uking_functions.csv index d6b139c6..9b6f4b6c 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -89179,7 +89179,7 @@ 0x00000071011a7d10,sub_71011A7D10,12,_ZNK4ksys3res20GParamListObjectItem7getNameEv 0x00000071011a7d1c,sub_71011A7D1C,12,_ZNK4ksys3res21GParamListObjectRupee7getNameEv 0x00000071011a7d28,sub_71011A7D28,12,_ZNK4ksys3res21GParamListObjectArrow7getNameEv -0x00000071011a7d34,sub_71011A7D34,12, +0x00000071011a7d34,sub_71011A7D34,12,_ZNK4ksys3res22GParamListObjectBullet7getNameEv 0x00000071011a7d40,sub_71011A7D40,12, 0x00000071011a7d4c,sub_71011A7D4C,12, 0x00000071011a7d58,sub_71011A7D58,12, diff --git a/src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h new file mode 100644 index 00000000..5e1fd5e0 --- /dev/null +++ b/src/KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h @@ -0,0 +1,26 @@ +#pragma once + +#include +#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class GParamListObjectBullet : public GParamListObject { +public: + GParamListObjectBullet(); + const char* getName() const override { return "Bullet"; } + + agl::utl::Parameter mNoHitParent; + agl::utl::Parameter mIsLimitCount; +}; +KSYS_CHECK_SIZE_NX150(GParamListObjectBullet, 0x78); + +inline GParamListObjectBullet::GParamListObjectBullet() { + auto* const obj = &mObj; + + mNoHitParent.init(true, "NoHitParent", "", obj); + mIsLimitCount.init(false, "IsLimitCount", "", obj); +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceGParamList.cpp b/src/KingSystem/Resource/resResourceGParamList.cpp index 1b5f3baa..5f5c18b0 100644 --- a/src/KingSystem/Resource/resResourceGParamList.cpp +++ b/src/KingSystem/Resource/resResourceGParamList.cpp @@ -12,6 +12,7 @@ #include "KingSystem/Resource/GeneralParamList/resGParamListObjectAttackInterval.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectBindBone.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectBow.h" +#include "KingSystem/Resource/GeneralParamList/resGParamListObjectBullet.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectCamera.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemy.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemyLevel.h" @@ -107,6 +108,7 @@ bool GParamList::parse_(u8* data, size_t, sead::Heap* heap) { add(archive.getRootList(), "Item", heap, dummy_list); add(archive.getRootList(), "Rupee", heap, dummy_list); add(archive.getRootList(), "Arrow", heap, dummy_list); + add(archive.getRootList(), "Bullet", heap, dummy_list); // TODO: the rest