From 0cb4d828fc0a40626554abf45bdf4fcf636cafae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 4 Nov 2020 00:39:09 +0100 Subject: [PATCH] ksys/gdt: Add SaveMgr (stub) to prepare for GameDataMgr --- src/KingSystem/GameData/CMakeLists.txt | 2 ++ src/KingSystem/GameData/gdtSaveMgr.cpp | 1 + src/KingSystem/GameData/gdtSaveMgr.h | 41 ++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 src/KingSystem/GameData/gdtSaveMgr.cpp create mode 100644 src/KingSystem/GameData/gdtSaveMgr.h 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