From 8b1eb8819a55bf516a1d75cff7963a9d362337e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Tue, 18 May 2021 00:41:14 +0200 Subject: [PATCH] ksys/act: Finish ActorParam by adding updateResource --- data/uking_functions.csv | 26 +++++----- src/KingSystem/ActorSystem/actActorParam.cpp | 51 +++++++++++++++++++ src/KingSystem/ActorSystem/actActorParam.h | 6 ++- .../Resource/resResourceActorCapture.h | 2 +- .../Resource/resResourceAwareness.h | 2 +- .../Resource/resResourceBoneControl.h | 2 +- .../Resource/resResourceDamageParam.h | 2 +- src/KingSystem/Resource/resResourceDrop.h | 2 +- .../Resource/resResourceGParamList.h | 2 +- .../Resource/resResourceLifeCondition.h | 2 +- src/KingSystem/Resource/resResourceLod.h | 2 +- .../Resource/resResourceRagdollBlendWeight.h | 2 +- src/KingSystem/Resource/resResourceRecipe.h | 2 +- src/KingSystem/Resource/resResourceShop.h | 2 +- src/KingSystem/Utils/ParamIO.h | 2 +- 15 files changed, 80 insertions(+), 27 deletions(-) diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 1b444a42..809c57cc 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -87656,7 +87656,7 @@ 0x00000071010895ac,sub_71010895AC,664,_ZN4ksys3res12ActorCapture5resetEv 0x0000007101089844,sub_7101089844,180,_ZN4ksys3res12ActorCaptureD2Ev 0x00000071010898f8,sub_71010898F8,168,_ZN4ksys3res12ActorCaptureD0Ev -0x00000071010899a0,sub_71010899A0,8,_ZN4ksys3res12ActorCapture10ParamIO_m0Ev +0x00000071010899a0,sub_71010899A0,8,_ZN4ksys3res12ActorCapture10ParamIO_m0EPc 0x00000071010899a8,sub_71010899A8,8,_ZNK4ksys3res12ActorCapture27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071010899b0,sub_71010899B0,92,_ZNK4ksys3res12ActorCapture18getRuntimeTypeInfoEv 0x0000007101089a0c,sub_7101089A0C,8,_ZNK4ksys3res12ActorCapture10needsParseEv @@ -87669,7 +87669,7 @@ 0x0000007101089c8c,sub_7101089C8C,172,_ZThn664_N4ksys3res12ActorCaptureD0Ev 0x0000007101089d38,sub_7101089D38,20,_ZN4ksys7ParamIOD2Ev 0x0000007101089d4c,j__ZdlPv_1140,4,_ZN4ksys7ParamIOD0Ev -0x0000007101089d50,sub_7101089D50,8,_ZN4ksys7ParamIO10ParamIO_m0Ev +0x0000007101089d50,sub_7101089D50,8,_ZN4ksys7ParamIO10ParamIO_m0EPc 0x0000007101089d58,sub_7101089D58,48,_ZN4ksys3res12ActorCapture10CameraInfoD2Ev 0x0000007101089d88,j__ZdlPv_1141,4,_ZN4ksys3res12ActorCapture10CameraInfoD0Ev 0x0000007101089d8c,sub_7101089D8C,64,_ZN4ksys3res12ActorCapture9ActorInfoD2Ev @@ -87915,7 +87915,7 @@ 0x0000007101097834,sub_7101097834,956,_ZN4ksys3res11DamageParam17getDamageReactionERKN4sead14SafeStringBaseIcEES6_ 0x0000007101097bf0,sub_7101097BF0,576,_ZN4ksys3res11DamageParamD2Ev 0x0000007101097e30,sub_7101097E30,36,_ZN4ksys3res11DamageParamD0Ev -0x0000007101097e54,sub_7101097E54,8,_ZN4ksys3res11DamageParam10ParamIO_m0Ev +0x0000007101097e54,sub_7101097E54,8,_ZN4ksys3res11DamageParam10ParamIO_m0EPc 0x0000007101097e5c,sub_7101097E5C,8,_ZNK4ksys3res11DamageParam27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x0000007101097e64,sub_7101097E64,92,_ZNK4ksys3res11DamageParam18getRuntimeTypeInfoEv 0x0000007101097ec0,sub_7101097EC0,8,_ZNK4ksys3res11DamageParam10needsParseEv @@ -87948,7 +87948,7 @@ 0x0000007101099498,Bdrop::findTableIndex,336,_ZNK4ksys3res4Drop14findTableIndexERKN4sead14SafeStringBaseIcEE 0x00000071010995e8,sub_71010995E8,124,_ZN4ksys3res4DropD2Ev 0x0000007101099664,sub_7101099664,112,_ZN4ksys3res4DropD0Ev -0x00000071010996d4,sub_71010996D4,8,_ZN4ksys3res4Drop10ParamIO_m0Ev +0x00000071010996d4,sub_71010996D4,8,_ZN4ksys3res4Drop10ParamIO_m0EPc 0x00000071010996dc,sub_71010996DC,8,_ZNK4ksys3res4Drop27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071010996e4,sub_71010996E4,92,_ZNK4ksys3res4Drop18getRuntimeTypeInfoEv 0x0000007101099740,sub_7101099740,8,_ZNK4ksys3res4Drop10needsParseEv @@ -87968,7 +87968,7 @@ 0x000000710109a1f4,_ZNK3aal8ShapeMgr20isTemplateRegisteredERKN4sead14SafeStringBaseIcEE,280, 0x000000710109a30c,sub_710109A30C,156,_ZN4ksys3res13LifeConditionD2Ev 0x000000710109a3a8,sub_710109A3A8,144,_ZN4ksys3res13LifeConditionD0Ev -0x000000710109a438,sub_710109A438,8,_ZN4ksys3res13LifeCondition10ParamIO_m0Ev +0x000000710109a438,sub_710109A438,8,_ZN4ksys3res13LifeCondition10ParamIO_m0EPc 0x000000710109a440,sub_710109A440,8,_ZNK4ksys3res13LifeCondition27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x000000710109a448,sub_710109A448,92,_ZNK4ksys3res13LifeCondition18getRuntimeTypeInfoEv 0x000000710109a4a4,sub_710109A4A4,8,_ZNK4ksys3res13LifeCondition10needsParseEv @@ -87989,7 +87989,7 @@ 0x000000710109af18,sub_710109AF18,316,_ZNK4ksys3res18RagdollBlendWeight12findStateIdxERKN4sead14SafeStringBaseIcEE 0x000000710109b054,sub_710109B054,208,_ZN4ksys3res18RagdollBlendWeightD2Ev 0x000000710109b124,sub_710109B124,196,_ZN4ksys3res18RagdollBlendWeightD0Ev -0x000000710109b1e8,sub_710109B1E8,8,_ZN4ksys3res18RagdollBlendWeight10ParamIO_m0Ev +0x000000710109b1e8,sub_710109B1E8,8,_ZN4ksys3res18RagdollBlendWeight10ParamIO_m0EPc 0x000000710109b1f0,sub_710109B1F0,8,_ZNK4ksys3res18RagdollBlendWeight27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x000000710109b1f8,sub_710109B1F8,92,_ZNK4ksys3res18RagdollBlendWeight18getRuntimeTypeInfoEv 0x000000710109b254,sub_710109B254,8,_ZNK4ksys3res18RagdollBlendWeight10needsParseEv @@ -88010,7 +88010,7 @@ 0x000000710109c2b8,sub_710109C2B8,336,_ZNK4ksys3res4Shop14findTableIndexERKN4sead14SafeStringBaseIcEE 0x000000710109c408,sub_710109C408,124,_ZN4ksys3res4ShopD2Ev 0x000000710109c484,sub_710109C484,112,_ZN4ksys3res4ShopD0Ev -0x000000710109c4f4,sub_710109C4F4,8,_ZN4ksys3res4Shop10ParamIO_m0Ev +0x000000710109c4f4,sub_710109C4F4,8,_ZN4ksys3res4Shop10ParamIO_m0EPc 0x000000710109c4fc,sub_710109C4FC,8,_ZNK4ksys3res4Shop27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x000000710109c504,sub_710109C504,92,_ZNK4ksys3res4Shop18getRuntimeTypeInfoEv 0x000000710109c560,sub_710109C560,8,_ZNK4ksys3res4Shop10needsParseEv @@ -91258,7 +91258,7 @@ 0x0000007101185d68,ActorParam::Event::setSignal,8,_ZN4ksys3act10ActorParam14setEventSignalEv 0x0000007101185d70,ActorParam::Event::wait,8,_ZN4ksys3act10ActorParam12waitForEventEv 0x0000007101185d78,sub_7101185D78,8,_ZNK4ksys3act10ActorParam11isSignalSetEv -0x0000007101185d80,sub_7101185D80,684, +0x0000007101185d80,sub_7101185D80,684,_ZN4ksys3act10ActorParam14updateResourceEPKcPcS4_ 0x000000710118602c,ActorParam::Load::x,52,_ZN4ksys3act10ActorParam11allocHandleEv 0x0000007101186060,sub_7101186060,24,_ZN4ksys3act10ActorParam14freeLastHandleEv 0x0000007101186078,ActorParam::Load::setResourcePointer,28,_ZN4ksys3act10ActorParam11setResourceENS1_12ResourceTypeEPNS_7ParamIOE @@ -91343,7 +91343,7 @@ 0x00000071011a6c68,BgparamlistObjectMotorcycle::ctor,2736,_ZN4ksys3res26GParamListObjectMotorcycleC2Ev 0x00000071011a7718,sub_71011A7718,52,_ZN4ksys3res10GParamListD2Ev 0x00000071011a774c,sub_71011A774C,40,_ZN4ksys3res10GParamListD0Ev -0x00000071011a7774,sub_71011A7774,8,_ZN4ksys3res10GParamList10ParamIO_m0Ev +0x00000071011a7774,sub_71011A7774,8,_ZN4ksys3res10GParamList10ParamIO_m0EPc 0x00000071011a777c,sub_71011A777C,8,_ZNK4ksys3res10GParamList27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071011a7784,sub_71011A7784,92,_ZNK4ksys3res10GParamList18getRuntimeTypeInfoEv 0x00000071011a77e0,sub_71011A77E0,8,_ZNK4ksys3res10GParamList10needsParseEv @@ -96682,7 +96682,7 @@ 0x00000071012f6a0c,ResourceBawareness::parse,28,_ZThn632_N4ksys3res9Awareness6parse_EPhmPN4sead4HeapE 0x00000071012f6a28,sub_71012F6A28,336,_ZN4ksys3res9AwarenessD2Ev 0x00000071012f6b78,sub_71012F6B78,324,_ZN4ksys3res9AwarenessD0Ev -0x00000071012f6cbc,sub_71012F6CBC,8,_ZN4ksys3res9Awareness10ParamIO_m0Ev +0x00000071012f6cbc,sub_71012F6CBC,8,_ZN4ksys3res9Awareness10ParamIO_m0EPc 0x00000071012f6cc4,sub_71012F6CC4,8,_ZNK4ksys3res9Awareness27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071012f6ccc,sub_71012F6CCC,92,_ZNK4ksys3res9Awareness18getRuntimeTypeInfoEv 0x00000071012f6d28,sub_71012F6D28,8,_ZNK4ksys3res9Awareness10needsParseEv @@ -96707,7 +96707,7 @@ 0x00000071012f9868,sub_71012F9868,312,_ZN4sead6BufferIN4ksys3res11BoneControl9BoneGroupEE14tryAllocBufferEiPNS_4HeapEi 0x00000071012f99a0,sub_71012F99A0,8,_ZThn632_N4ksys3res11BoneControl6parse_EPhmPN4sead4HeapE 0x00000071012f99a8,sub_71012F99A8,452,_ZNK4ksys3res11BoneControl12getBoneGroupERKN4sead14SafeStringBaseIcEE -0x00000071012f9b6c,sub_71012F9B6C,8,_ZN4ksys3res11BoneControl10ParamIO_m0Ev +0x00000071012f9b6c,sub_71012F9B6C,8,_ZN4ksys3res11BoneControl10ParamIO_m0EPc 0x00000071012f9b74,sub_71012F9B74,8,_ZNK4ksys3res11BoneControl27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071012f9b7c,sub_71012F9B7C,92,_ZNK4ksys3res11BoneControl18getRuntimeTypeInfoEv 0x00000071012f9bd8,sub_71012F9BD8,8,_ZNK4ksys3res11BoneControl10needsParseEv @@ -96743,7 +96743,7 @@ 0x00000071012fabd8,sub_71012FABD8,28,_ZThn632_N4ksys3res3Lod6parse_EPhmPN4sead4HeapE 0x00000071012fabf4,sub_71012FABF4,148,_ZN4ksys3res3LodD2Ev 0x00000071012fac88,sub_71012FAC88,136,_ZN4ksys3res3LodD0Ev -0x00000071012fad10,sub_71012FAD10,8,_ZN4ksys3res3Lod10ParamIO_m0Ev +0x00000071012fad10,sub_71012FAD10,8,_ZN4ksys3res3Lod10ParamIO_m0EPc 0x00000071012fad18,sub_71012FAD18,8,_ZNK4ksys3res3Lod27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071012fad20,sub_71012FAD20,92,_ZNK4ksys3res3Lod18getRuntimeTypeInfoEv 0x00000071012fad7c,sub_71012FAD7C,8,_ZNK4ksys3res3Lod10needsParseEv @@ -96805,7 +96805,7 @@ 0x00000071012fcbcc,ResourceBrecipe::parse,28,_ZThn632_N4ksys3res6Recipe6parse_EPhmPN4sead4HeapE 0x00000071012fcbe8,sub_71012FCBE8,124,_ZN4ksys3res6RecipeD2Ev 0x00000071012fcc64,sub_71012FCC64,112,_ZN4ksys3res6RecipeD0Ev -0x00000071012fccd4,sub_71012FCCD4,8,_ZN4ksys3res6Recipe10ParamIO_m0Ev +0x00000071012fccd4,sub_71012FCCD4,8,_ZN4ksys3res6Recipe10ParamIO_m0EPc 0x00000071012fccdc,sub_71012FCCDC,8,_ZNK4ksys3res6Recipe27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071012fcce4,sub_71012FCCE4,92,_ZNK4ksys3res6Recipe18getRuntimeTypeInfoEv 0x00000071012fcd40,sub_71012FCD40,8,_ZNK4ksys3res6Recipe10needsParseEv diff --git a/src/KingSystem/ActorSystem/actActorParam.cpp b/src/KingSystem/ActorSystem/actActorParam.cpp index dbe2096e..2c3ed848 100644 --- a/src/KingSystem/ActorSystem/actActorParam.cpp +++ b/src/KingSystem/ActorSystem/actActorParam.cpp @@ -3,7 +3,13 @@ #include #include "KingSystem/ActorSystem/actActorParamMgr.h" #include "KingSystem/ActorSystem/actActorTemplate.h" +#include "KingSystem/Resource/resResourceAS.h" +#include "KingSystem/Resource/resResourceASList.h" +#include "KingSystem/Resource/resResourceAttClient.h" +#include "KingSystem/Resource/resResourceRagdollConfig.h" +#include "KingSystem/Resource/resResourceRagdollConfigList.h" #include "KingSystem/Utils/Byaml/Byaml.h" +#include "KingSystem/Utils/ParamIO.h" namespace ksys::act { @@ -88,6 +94,51 @@ bool ActorParam::isSignalSet() const { return mEvent.isSignalSet(); } +int ActorParam::updateResource(const char* data, char* data1, char* data2) { + for (int i = 0; i < mRes.mArray.size(); ++i) { + if (mRes.mArray[i] && mRes.mArray[i]->getPath().include(data)) { + if (mRes.mArray[i]->ParamIO_m0(data1)) + return 1; + if (mRes.mArray[i]->applyResourceUpdate(data1, data2)) + return 0; + } + } + + for (int i = 0; i < mRes.mASList->getASDefines().size(); ++i) { + if (mRes.mASList->getASDefines()[i].as && + mRes.mASList->getASDefines()[i].as->getPath().include(data)) { + if (mRes.mASList->getASDefines()[i].as->ParamIO_m0(data1)) + return 1; + if (mRes.mASList->getASDefines()[i].as->applyResourceUpdate(data1, data2)) + return 0; + } + } + + auto* atcllist = mRes.mAttClientList; + for (int i = 0; i < atcllist->getClients().size(); ++i) { + auto* client = atcllist->getClients()[i].client; + if (client->getPath().include(data)) { + if (client->ParamIO_m0(data1)) + return 1; + if (client->applyResourceUpdate(data1, data2)) + return 0; + } + } + + auto* rgconfiglist = mRes.mRagdollConfigList; + for (int i = 0; i < rgconfiglist->getImpulseParams().size(); ++i) { + auto* config = rgconfiglist->getImpulseParams()[i].config; + if (config->getPath().include(data)) { + if (config->ParamIO_m0(data1)) + return 1; + if (config->applyResourceUpdate(data1, data2)) + return 0; + } + } + + return 2; +} + res::Handle* ActorParam::allocHandle() { const auto idx = mNumHandles[mActiveBufferIdx]; ++mNumHandles[mActiveBufferIdx]; diff --git a/src/KingSystem/ActorSystem/actActorParam.h b/src/KingSystem/ActorSystem/actActorParam.h index 2d395965..2c6bf9c6 100644 --- a/src/KingSystem/ActorSystem/actActorParam.h +++ b/src/KingSystem/ActorSystem/actActorParam.h @@ -13,6 +13,8 @@ namespace ksys { +class ParamIO; + namespace res { class AIProgram; class AISchedule; @@ -109,7 +111,7 @@ public: res::UMii* mUMii; res::AnimInfo* mAnimationInfo; }; - sead::SafeArray mArray; + sead::SafeArray mArray; }; KSYS_CHECK_SIZE_NX150(Resources, 0xc8); @@ -144,7 +146,7 @@ private: void setEventSignal(); void waitForEvent(); bool isSignalSet() const; - int updateResource(const char* data, const char* data1, const char* data2); + int updateResource(const char* data, char* data1, char* data2); res::Handle* allocHandle(); void freeLastHandle(); diff --git a/src/KingSystem/Resource/resResourceActorCapture.h b/src/KingSystem/Resource/resResourceActorCapture.h index 6fe6bd77..51145a68 100644 --- a/src/KingSystem/Resource/resResourceActorCapture.h +++ b/src/KingSystem/Resource/resResourceActorCapture.h @@ -54,7 +54,7 @@ public: void doCreate_(u8*, u32, sead::Heap*) override {} bool needsParse() const override { return true; } - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } void reset(); diff --git a/src/KingSystem/Resource/resResourceAwareness.h b/src/KingSystem/Resource/resResourceAwareness.h index 80fe11a0..2e6888ef 100644 --- a/src/KingSystem/Resource/resResourceAwareness.h +++ b/src/KingSystem/Resource/resResourceAwareness.h @@ -14,7 +14,7 @@ public: ~Awareness() override = default; bool needsParse() const override { return true; } - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } private: void doCreate_(u8*, u32, sead::Heap*) override {} diff --git a/src/KingSystem/Resource/resResourceBoneControl.h b/src/KingSystem/Resource/resResourceBoneControl.h index 696ff5f0..4cb74ea5 100644 --- a/src/KingSystem/Resource/resResourceBoneControl.h +++ b/src/KingSystem/Resource/resResourceBoneControl.h @@ -139,7 +139,7 @@ public: void doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) override; bool parse_(u8* data, size_t size, sead::Heap* heap) override; - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } bool needsParse() const override { return true; } const Whole& getWhole() const { return mWhole; } diff --git a/src/KingSystem/Resource/resResourceDamageParam.h b/src/KingSystem/Resource/resResourceDamageParam.h index 01ac1971..30d75c44 100644 --- a/src/KingSystem/Resource/resResourceDamageParam.h +++ b/src/KingSystem/Resource/resResourceDamageParam.h @@ -15,7 +15,7 @@ public: ~DamageParam() override = default; bool needsParse() const override { return true; } - bool ParamIO_m0() override { return false; } + bool ParamIO_m0(char* data) override { return false; } f32 getDamageRate(const sead::SafeString& damage_source); const sead::SafeString& getDamageReaction(const sead::SafeString& damage_source, diff --git a/src/KingSystem/Resource/resResourceDrop.h b/src/KingSystem/Resource/resResourceDrop.h index f7e8d284..198f26e5 100644 --- a/src/KingSystem/Resource/resResourceDrop.h +++ b/src/KingSystem/Resource/resResourceDrop.h @@ -35,7 +35,7 @@ public: s32 getRepeatNum(s32 table_idx) const; s32 getRepeatNum(const sead::SafeString& table_name) const; - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } void doCreate_(u8*, u32, sead::Heap*) override {} bool needsParse() const override { return true; } diff --git a/src/KingSystem/Resource/resResourceGParamList.h b/src/KingSystem/Resource/resResourceGParamList.h index 39e8f6ec..98ac36f0 100644 --- a/src/KingSystem/Resource/resResourceGParamList.h +++ b/src/KingSystem/Resource/resResourceGParamList.h @@ -15,7 +15,7 @@ public: GParamList() : ParamIO("bgparamlist", 0) {} ~GParamList() override = default; - bool ParamIO_m0() override { return false; } + bool ParamIO_m0(char* data) override { return false; } void doCreate_(u8* buffer, u32 bufferSize, sead::Heap* heap) override; bool needsParse() const override { return true; } diff --git a/src/KingSystem/Resource/resResourceLifeCondition.h b/src/KingSystem/Resource/resResourceLifeCondition.h index f3107f5f..8f6d6d9d 100644 --- a/src/KingSystem/Resource/resResourceLifeCondition.h +++ b/src/KingSystem/Resource/resResourceLifeCondition.h @@ -15,7 +15,7 @@ public: ~LifeCondition() override = default; bool needsParse() const override { return true; } - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } private: void doCreate_(u8*, u32, sead::Heap*) override {} diff --git a/src/KingSystem/Resource/resResourceLod.h b/src/KingSystem/Resource/resResourceLod.h index 059ef0cc..098faee2 100644 --- a/src/KingSystem/Resource/resResourceLod.h +++ b/src/KingSystem/Resource/resResourceLod.h @@ -14,7 +14,7 @@ public: Lod() : ParamIO("lod", 0) {} ~Lod() override = default; - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } void doCreate_(u8*, u32, sead::Heap*) override {} bool needsParse() const override { return true; } diff --git a/src/KingSystem/Resource/resResourceRagdollBlendWeight.h b/src/KingSystem/Resource/resResourceRagdollBlendWeight.h index ee17de84..257c3184 100644 --- a/src/KingSystem/Resource/resResourceRagdollBlendWeight.h +++ b/src/KingSystem/Resource/resResourceRagdollBlendWeight.h @@ -36,7 +36,7 @@ public: float getWeightBlendRate(int state_idx, int weight_idx) const; int findStateIdx(const sead::SafeString& key) const; - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } void doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) override; bool needsParse() const override { return true; } bool parse_(u8* data, size_t size, sead::Heap* heap) override; diff --git a/src/KingSystem/Resource/resResourceRecipe.h b/src/KingSystem/Resource/resResourceRecipe.h index a18bcf42..0429451b 100644 --- a/src/KingSystem/Resource/resResourceRecipe.h +++ b/src/KingSystem/Resource/resResourceRecipe.h @@ -28,7 +28,7 @@ public: Recipe() : ParamIO("recipe", 0) {} - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } void doCreate_(u8*, u32, sead::Heap*) override {} bool needsParse() const override { return true; } diff --git a/src/KingSystem/Resource/resResourceShop.h b/src/KingSystem/Resource/resResourceShop.h index db93ea5e..14c383e1 100644 --- a/src/KingSystem/Resource/resResourceShop.h +++ b/src/KingSystem/Resource/resResourceShop.h @@ -35,7 +35,7 @@ public: s32 findTableIndexOrNormal(const sead::SafeString& table_name) const; s32 findTableIndex(const sead::SafeString& table_name) const; - bool ParamIO_m0() override { return true; } + bool ParamIO_m0(char* data) override { return true; } void doCreate_(u8*, u32, sead::Heap*) override {} bool needsParse() const override { return true; } diff --git a/src/KingSystem/Utils/ParamIO.h b/src/KingSystem/Utils/ParamIO.h index 1cb6b0eb..aeeba0fd 100644 --- a/src/KingSystem/Utils/ParamIO.h +++ b/src/KingSystem/Utils/ParamIO.h @@ -12,7 +12,7 @@ class ParamIO : public agl::utl::IParameterIO, public sead::hostio::Node { public: using agl::utl::IParameterIO::IParameterIO; - virtual bool ParamIO_m0() { return false; } + virtual bool ParamIO_m0(char* data) { return false; } bool applyResourceUpdate(char* data, char* data1);