From d36e28b6829abb100762434ab9113fbf2fd0c6f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 10 Apr 2021 20:27:15 +0200 Subject: [PATCH] ksys/res: Move ASParamParser to separate source file It's used for other ASResource parsers --- src/KingSystem/Resource/CMakeLists.txt | 2 ++ .../Resource/resResourceASResource.cpp | 1 + .../Resource/resResourceASResource.h | 36 +++++++++++++++++++ .../Resource/resResourceASSetting.h | 22 +----------- 4 files changed, 40 insertions(+), 21 deletions(-) create mode 100644 src/KingSystem/Resource/resResourceASResource.cpp create mode 100644 src/KingSystem/Resource/resResourceASResource.h diff --git a/src/KingSystem/Resource/CMakeLists.txt b/src/KingSystem/Resource/CMakeLists.txt index beb48433..bb534ff9 100644 --- a/src/KingSystem/Resource/CMakeLists.txt +++ b/src/KingSystem/Resource/CMakeLists.txt @@ -142,6 +142,8 @@ target_sources(uking PRIVATE resResourceAS.h resResourceASList.cpp resResourceASList.h + resResourceASResource.cpp + resResourceASResource.h resResourceASSetting.cpp resResourceASSetting.h resResourceAttClient.cpp diff --git a/src/KingSystem/Resource/resResourceASResource.cpp b/src/KingSystem/Resource/resResourceASResource.cpp new file mode 100644 index 00000000..fb2f4bec --- /dev/null +++ b/src/KingSystem/Resource/resResourceASResource.cpp @@ -0,0 +1 @@ +#include "KingSystem/Resource/resResourceASResource.h" diff --git a/src/KingSystem/Resource/resResourceASResource.h b/src/KingSystem/Resource/resResourceASResource.h new file mode 100644 index 00000000..40b42c75 --- /dev/null +++ b/src/KingSystem/Resource/resResourceASResource.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include +#include +#include +#include "KingSystem/Utils/Types.h" + +namespace sead { +class Heap; +} + +namespace ksys::res { + +class ASParamParser { + SEAD_RTTI_BASE(ASParamParser) +public: + struct ParseArgs { + void* user_data; + agl::utl::ResParameterList res_list; + sead::Heap* heap; + }; + + virtual ~ASParamParser() = default; + virtual bool parse(const ParseArgs& args) { return true; } + + agl::utl::ParameterList& getList() { return mList; } + const agl::utl::ParameterList& getList() const { return mList; } + +protected: + u32 _8 = 8; + agl::utl::ParameterList mList; +}; +KSYS_CHECK_SIZE_NX150(ASParamParser, 0x58); + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceASSetting.h b/src/KingSystem/Resource/resResourceASSetting.h index 2a6d0d02..d92268e0 100644 --- a/src/KingSystem/Resource/resResourceASSetting.h +++ b/src/KingSystem/Resource/resResourceASSetting.h @@ -10,30 +10,10 @@ #include #include #include "KingSystem/Resource/resResource.h" +#include "KingSystem/Resource/resResourceASResource.h" namespace ksys::res { -class ASParamParser { - SEAD_RTTI_BASE(ASParamParser) -public: - struct ParseArgs { - void* user_data; - agl::utl::ResParameterList res_list; - sead::Heap* heap; - }; - - virtual ~ASParamParser() = default; - virtual bool parse(const ParseArgs& args) { return true; } - - agl::utl::ParameterList& getList() { return mList; } - const agl::utl::ParameterList& getList() const { return mList; } - -protected: - u32 _8 = 8; - agl::utl::ParameterList mList; -}; -KSYS_CHECK_SIZE_NX150(ASParamParser, 0x58); - class ASSetting : public agl::utl::IParameterIO, public Resource { SEAD_RTTI_OVERRIDE(ASSetting, Resource)