diff --git a/src/KingSystem/System/CMakeLists.txt b/src/KingSystem/System/CMakeLists.txt index 4f907b81..68f827b8 100644 --- a/src/KingSystem/System/CMakeLists.txt +++ b/src/KingSystem/System/CMakeLists.txt @@ -1,4 +1,8 @@ target_sources(uking PRIVATE + UI/ArcResourceMgr.h + UI/LayoutResourceMgr.cpp + UI/LayoutResourceMgr.h + Account.cpp Account.h AutoDim.cpp diff --git a/src/KingSystem/System/UI/ArcResourceMgr.h b/src/KingSystem/System/UI/ArcResourceMgr.h new file mode 100644 index 00000000..247055ef --- /dev/null +++ b/src/KingSystem/System/UI/ArcResourceMgr.h @@ -0,0 +1,21 @@ +#pragma once + +#include +#include "KingSystem/Utils/Types.h" + +namespace ksys::ui { + +class ArcResourceMgr { +public: + ArcResourceMgr() = default; + virtual ~ArcResourceMgr(); +private: + // TODO: fields + /* sead::TList */ + char list[0x10]; + int _18 = 0; + int _1c = 0x20; +}; +KSYS_CHECK_SIZE_NX150(ArcResourceMgr, 0x20); + +} diff --git a/src/KingSystem/System/UI/LayoutResourceMgr.cpp b/src/KingSystem/System/UI/LayoutResourceMgr.cpp new file mode 100644 index 00000000..08e97e06 --- /dev/null +++ b/src/KingSystem/System/UI/LayoutResourceMgr.cpp @@ -0,0 +1,12 @@ + +#include "LayoutResourceMgr.h" + +namespace ksys::ui { + +SEAD_SINGLETON_DISPOSER_IMPL(LayoutResourceMgr) + +void LayoutResourceMgr::init(sead::Heap* heap) { + // TODO +} + +} diff --git a/src/KingSystem/System/UI/LayoutResourceMgr.h b/src/KingSystem/System/UI/LayoutResourceMgr.h new file mode 100644 index 00000000..76d8236b --- /dev/null +++ b/src/KingSystem/System/UI/LayoutResourceMgr.h @@ -0,0 +1,46 @@ +#pragma once + +#include +#include +#include +#include +#include "KingSystem/Resource/resHandle.h" +#include "KingSystem/Utils/Types.h" + +#include "ArcResourceMgr.h" + +namespace ksys::ui { + +class LayoutResourceMgr { + SEAD_SINGLETON_DISPOSER(LayoutResourceMgr) + LayoutResourceMgr() = default; + virtual ~LayoutResourceMgr(); + +public: + + void init(sead::Heap* heap); +private: + void* _28 = nullptr; + void* mLangFontTodo = nullptr; + res::Handle* mVersionRes = nullptr; + sead::FixedPtrArray mArray; + u64 _90 = 0; + ArcResourceMgr* mArcResourceMgr = nullptr; + res::Handle* mLangFontRes = nullptr; + void* _a8 = nullptr; + void* _b0 = nullptr; + void* _b8 = nullptr; + void* mTitleLayoutArchiveTodo = nullptr; + void* _c8 = nullptr; + u64 mSizexA8BufTodo = 0; + res::Handle* mHorseLayoutResu = nullptr; + u64 _e0 = 0; + u64 _e8 = 0; + u32 _f0 = 0; + sead::FixedSafeString<16> mVersionString; + int _120 = 0; + sead::CriticalSection mCriticalSection; +}; +KSYS_CHECK_SIZE_NX150(LayoutResourceMgr, 0x168); + +}