diff --git a/src/KingSystem/GameData/CMakeLists.txt b/src/KingSystem/GameData/CMakeLists.txt index 60a64b50..b8ff7c44 100644 --- a/src/KingSystem/GameData/CMakeLists.txt +++ b/src/KingSystem/GameData/CMakeLists.txt @@ -4,6 +4,8 @@ target_sources(uking PRIVATE gdtFlagProxy.h gdtManager.cpp gdtManager.h + gdtSaveMgr.cpp + gdtSaveMgr.h gdtTriggerParam.cpp gdtTriggerParam.h ) diff --git a/src/KingSystem/GameData/gdtSaveMgr.cpp b/src/KingSystem/GameData/gdtSaveMgr.cpp new file mode 100644 index 00000000..10768040 --- /dev/null +++ b/src/KingSystem/GameData/gdtSaveMgr.cpp @@ -0,0 +1 @@ +#include "KingSystem/GameData/gdtSaveMgr.h" diff --git a/src/KingSystem/GameData/gdtSaveMgr.h b/src/KingSystem/GameData/gdtSaveMgr.h new file mode 100644 index 00000000..a978e30e --- /dev/null +++ b/src/KingSystem/GameData/gdtSaveMgr.h @@ -0,0 +1,41 @@ +#pragma once + +#include +#include +#include +#include +#include "KingSystem/Utils/Types.h" + +namespace ksys { + +// FIXME +class SaveMgr { + SEAD_SINGLETON_DISPOSER(SaveMgr) + SaveMgr(); + virtual ~SaveMgr(); + +public: + struct InitArg { + sead::Heap* heap; + u32 _8; + u32 buf_size; + u32 buf_alignment; + u32 size2; + u32 thread_priority; + u32 _1c; + sead::CoreIdMask thread_affinity; + sead::SafeString save_common_str = "save_common"; + sead::SafeString save_act_str = "save_act"; + bool is_demo = false; + sead::SafeString save_rid_demo_dir; + void* _60 = nullptr; + u32 _68 = 0; + u32 _6c; + }; + KSYS_CHECK_SIZE_NX150(InitArg, 0x70); + + void init(const InitArg& arg); + void loadGameSaveData(); +}; + +} // namespace ksys