From dcdb1fa70e946bc4349b0dd01df7ad274aece2b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 14 Nov 2020 12:31:34 +0100 Subject: [PATCH] ksys/res: Add AS header --- src/KingSystem/Resource/CMakeLists.txt | 2 ++ src/KingSystem/Resource/resResourceAS.cpp | 1 + src/KingSystem/Resource/resResourceAS.h | 42 +++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 src/KingSystem/Resource/resResourceAS.cpp create mode 100644 src/KingSystem/Resource/resResourceAS.h diff --git a/src/KingSystem/Resource/CMakeLists.txt b/src/KingSystem/Resource/CMakeLists.txt index 64a2c516..20742356 100644 --- a/src/KingSystem/Resource/CMakeLists.txt +++ b/src/KingSystem/Resource/CMakeLists.txt @@ -130,6 +130,8 @@ target_sources(uking PRIVATE resResourceActorLink.h resResourceAIProgram.cpp resResourceAIProgram.h + resResourceAS.cpp + resResourceAS.h resResourceASList.cpp resResourceASList.h resResourceAttClientList.cpp diff --git a/src/KingSystem/Resource/resResourceAS.cpp b/src/KingSystem/Resource/resResourceAS.cpp new file mode 100644 index 00000000..e4d0dbdc --- /dev/null +++ b/src/KingSystem/Resource/resResourceAS.cpp @@ -0,0 +1 @@ +#include "KingSystem/Resource/resResourceAS.h" diff --git a/src/KingSystem/Resource/resResourceAS.h b/src/KingSystem/Resource/resResourceAS.h new file mode 100644 index 00000000..76f2af2d --- /dev/null +++ b/src/KingSystem/Resource/resResourceAS.h @@ -0,0 +1,42 @@ +#pragma once + +#include +#include +#include +#include +#include "KingSystem/Resource/resResource.h" +#include "KingSystem/Utils/ParamIO.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +class AS : public ParamIO, public Resource { + SEAD_RTTI_OVERRIDE(AS, Resource) +public: + struct Element {}; + + AS(); + + void doCreate_(u8*, u32, sead::Heap*) override {} + bool needsParse() const override { return true; } + bool parse_(u8* data, size_t size, sead::Heap* heap) override; + void finalize_() override; + +private: + sead::Buffer mElements; + agl::utl::ParameterList mElementsList; + + agl::utl::ParameterObj mCommonParams; + agl::utl::Parameter mRandomRateMin; + agl::utl::Parameter mRandomRateMax; + agl::utl::Parameter mForbidPartialDemoAS; + agl::utl::Parameter mUseIK; + u8 _3b8{}; + u8 _3b9{}; + u8 _3ba{}; + u8 _3bb{}; + sead::Heap* mHeap{}; +}; +KSYS_CHECK_SIZE_NX150(AS, 0x3c8); + +} // namespace ksys::res