From 272926a797ad628cc5bc22628392c326953ba45a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 14 Nov 2020 00:24:48 +0100 Subject: [PATCH] ksys/res: Add AttClientList header --- src/KingSystem/Resource/CMakeLists.txt | 2 + .../Resource/resResourceAttClientList.cpp | 1 + .../Resource/resResourceAttClientList.h | 48 +++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 src/KingSystem/Resource/resResourceAttClientList.cpp create mode 100644 src/KingSystem/Resource/resResourceAttClientList.h diff --git a/src/KingSystem/Resource/CMakeLists.txt b/src/KingSystem/Resource/CMakeLists.txt index 387fdafa..e9940dbf 100644 --- a/src/KingSystem/Resource/CMakeLists.txt +++ b/src/KingSystem/Resource/CMakeLists.txt @@ -132,6 +132,8 @@ target_sources(uking PRIVATE resResourceAIProgram.h resResourceASList.cpp resResourceASList.h + resResourceAttClientList.cpp + resResourceAttClientList.h resResourceArchive.cpp resResourceArchive.h resResourceAwareness.cpp diff --git a/src/KingSystem/Resource/resResourceAttClientList.cpp b/src/KingSystem/Resource/resResourceAttClientList.cpp new file mode 100644 index 00000000..c764ef74 --- /dev/null +++ b/src/KingSystem/Resource/resResourceAttClientList.cpp @@ -0,0 +1 @@ +#include "KingSystem/Resource/resResourceAttClientList.h" diff --git a/src/KingSystem/Resource/resResourceAttClientList.h b/src/KingSystem/Resource/resResourceAttClientList.h new file mode 100644 index 00000000..adb38da8 --- /dev/null +++ b/src/KingSystem/Resource/resResourceAttClientList.h @@ -0,0 +1,48 @@ +#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 AttClientList : public ParamIO, public Resource { + SEAD_RTTI_OVERRIDE(AttClientList, Resource) +public: + struct AttPos { + agl::utl::Parameter _0; + agl::utl::Parameter _28; + agl::utl::Parameter _50; + agl::utl::Parameter _78; + }; + KSYS_CHECK_SIZE_NX150(AttPos, 0x98); + + struct Client { + agl::utl::Parameter name; + agl::utl::Parameter file_name; + agl::utl::Parameter is_valid; + agl::utl::ParameterObj obj; + void* _a0; + }; + KSYS_CHECK_SIZE_NX150(Client, 0xa8); + + AttClientList() : ParamIO("atcllist", 0) {} + + const AttPos& getAttPos() const { return mAttPos; } + bool isForceEdit() const { return mForceEdit.ref(); } + const sead::Buffer& getClients() const { return mClients; } + +private: + agl::utl::ParameterList mAttClientsList; + agl::utl::ParameterObj mAttPosObj; + AttPos mAttPos; + agl::utl::Parameter mForceEdit; + sead::Buffer mClients; +}; +KSYS_CHECK_SIZE_NX150(AttClientList, 0x3f0); + +} // namespace ksys::res