diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 397ab62c..483e3aee 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -96810,26 +96810,26 @@ 0x00000071012fce98,sub_71012FCE98,128,_ZThn664_N4ksys3res6RecipeD1Ev 0x00000071012fcf18,sub_71012FCF18,116,_ZThn664_N4ksys3res6RecipeD0Ev 0x00000071012fcf8c,sub_71012FCF8C,372,_ZN4ksys3res6Recipe33checkDerivedRuntimeTypeInfoStaticEPKN4sead15RuntimeTypeInfo9InterfaceE -0x00000071012fd100,sub_71012FD100,232, -0x00000071012fd1e8,sub_71012FD1E8,52, -0x00000071012fd21c,sub_71012FD21C,48, -0x00000071012fd24c,sub_71012FD24C,52, -0x00000071012fd280,sub_71012FD280,40, -0x00000071012fd2a8,sub_71012FD2A8,36, -0x00000071012fd2cc,sub_71012FD2CC,40, -0x00000071012fd2f4,sub_71012FD2F4,16, -0x00000071012fd304,sub_71012FD304,16, -0x00000071012fd314,nullsub_4847,4, -0x00000071012fd318,nullsub_4848,4, -0x00000071012fd31c,sub_71012FD31C,56, -0x00000071012fd354,sub_71012FD354,56, -0x00000071012fd38c,sub_71012FD38C,8, -0x00000071012fd394,sub_71012FD394,92, -0x00000071012fd3f0,sub_71012FD3F0,8, -0x00000071012fd3f8,sub_71012FD3F8,8, -0x00000071012fd400,sub_71012FD400,92, -0x00000071012fd45c,sub_71012FD45C,8, -0x00000071012fd464,sub_71012FD464,372, +0x00000071012fd100,sub_71012FD100,232,_ZN4ksys3res4UMiiC1Ev +0x00000071012fd1e8,sub_71012FD1E8,52,_ZN4ksys3res4UMiiD1Ev +0x00000071012fd21c,sub_71012FD21C,48,_ZThn632_N4ksys3res4UMiiD1Ev +0x00000071012fd24c,sub_71012FD24C,52,_ZThn664_N4ksys3res4UMiiD1Ev +0x00000071012fd280,sub_71012FD280,40,_ZN4ksys3res4UMiiD0Ev +0x00000071012fd2a8,sub_71012FD2A8,36,_ZThn632_N4ksys3res4UMiiD0Ev +0x00000071012fd2cc,sub_71012FD2CC,40,_ZThn664_N4ksys3res4UMiiD0Ev +0x00000071012fd2f4,sub_71012FD2F4,16,_ZN4ksys3res4UMii3m2_Ev +0x00000071012fd304,sub_71012FD304,16,_ZThn632_N4ksys3res4UMii3m2_Ev +0x00000071012fd314,nullsub_4847,4,_ZN4ksys3res4UMii9doCreate_EPhjPN4sead4HeapE +0x00000071012fd318,nullsub_4848,4,_ZThn632_N4ksys3res4UMii9doCreate_EPhjPN4sead4HeapE +0x00000071012fd31c,sub_71012FD31C,56,_ZN4ksys3res4UMii6parse_EPhmPN4sead4HeapE +0x00000071012fd354,sub_71012FD354,56,_ZThn632_N4ksys3res4UMii6parse_EPhmPN4sead4HeapE +0x00000071012fd38c,sub_71012FD38C,8,_ZNK4ksys3res4UMii27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE +0x00000071012fd394,sub_71012FD394,92,_ZNK4ksys3res4UMii18getRuntimeTypeInfoEv +0x00000071012fd3f0,sub_71012FD3F0,8,_ZNK4ksys3res4UMii10needsParseEv +0x00000071012fd3f8,sub_71012FD3F8,8,_ZThn632_NK4ksys3res4UMii27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE +0x00000071012fd400,sub_71012FD400,92,_ZThn632_NK4ksys3res4UMii18getRuntimeTypeInfoEv +0x00000071012fd45c,sub_71012FD45C,8,_ZThn632_NK4ksys3res4UMii10needsParseEv +0x00000071012fd464,sub_71012FD464,372,_ZN4ksys3res4UMii33checkDerivedRuntimeTypeInfoStaticEPKN4sead15RuntimeTypeInfo9InterfaceE 0x00000071012fd5d8,sub_71012FD5D8,24, 0x00000071012fd5f0,nullsub_4849,4, 0x00000071012fd5f4,j__ZdlPv_1323,4, diff --git a/src/KingSystem/Resource/CMakeLists.txt b/src/KingSystem/Resource/CMakeLists.txt index 9ec73441..aac46c92 100644 --- a/src/KingSystem/Resource/CMakeLists.txt +++ b/src/KingSystem/Resource/CMakeLists.txt @@ -156,4 +156,6 @@ target_sources(uking PRIVATE resResourceRecipe.h resResourceShop.cpp resResourceShop.h + resResourceUMii.cpp + resResourceUMii.h ) diff --git a/src/KingSystem/Resource/resResourceUMii.cpp b/src/KingSystem/Resource/resResourceUMii.cpp new file mode 100644 index 00000000..cefadea6 --- /dev/null +++ b/src/KingSystem/Resource/resResourceUMii.cpp @@ -0,0 +1,15 @@ +#include "KingSystem/Resource/resResourceUMii.h" + +namespace ksys::res { + +UMii::UMii() : ParamIO("umii", 0) {} + +UMii::~UMii() = default; + +bool UMii::parse_(u8* data, size_t, sead::Heap*) { + agl::utl::ResParameterArchive archive{data + mAllocSize}; + mData = archive.ptr(); + return true; +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceUMii.h b/src/KingSystem/Resource/resResourceUMii.h new file mode 100644 index 00000000..1191c76e --- /dev/null +++ b/src/KingSystem/Resource/resResourceUMii.h @@ -0,0 +1,27 @@ +#pragma once + +#include "KingSystem/Resource/resResource.h" +#include "KingSystem/Utils/ParamIO.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class UMii : public ParamIO, public Resource { + SEAD_RTTI_OVERRIDE(UMii, Resource) +public: + UMii(); + ~UMii() override; + + agl::utl::ResParameterArchiveData* getData() const { return mData; } + + bool needsParse() const override { return true; } + bool m2_() override { return mData != nullptr; } + void doCreate_(u8*, u32, sead::Heap*) override {} + bool parse_(u8* data, size_t size, sead::Heap* heap) override; + +private: + agl::utl::ResParameterArchiveData* mData{}; +}; +KSYS_CHECK_SIZE_NX150(UMii, 0x2b8); + +} // namespace ksys::res