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