summaryrefslogtreecommitdiff
path: root/src/KingSystem/System/OverlayArenaSystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/KingSystem/System/OverlayArenaSystem.h')
-rw-r--r--src/KingSystem/System/OverlayArenaSystem.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/KingSystem/System/OverlayArenaSystem.h b/src/KingSystem/System/OverlayArenaSystem.h
index 73d55373..a0a3cd71 100644
--- a/src/KingSystem/System/OverlayArenaSystem.h
+++ b/src/KingSystem/System/OverlayArenaSystem.h
@@ -23,7 +23,25 @@ class TaskThread;
} // namespace util
class OverlayArena;
-class SystemPauseMgr;
+
+class ISystemPauseMgr {
+public:
+ virtual ~ISystemPauseMgr() = default;
+
+ virtual void m2() = 0;
+ virtual void waitForOnUiActorMgrAndBlockSaveMaybe() = 0;
+ virtual void stopNfpAndWaitForSaveMgr() = 0;
+ virtual void waitForOnUiActorMgr() = 0;
+ virtual void pauseGameSceneAndWait() = 0;
+ virtual bool releaseScreensAndShowMainLayer() = 0;
+ virtual void onSystemPauseResume() = 0;
+ virtual void waitForStageGenFinalStep() = 0;
+ virtual void restoreMainLayerAndResumeGameScene() = 0;
+ virtual bool hideMainLayer() = 0;
+ virtual void openFadeScreen() = 0;
+ virtual void showMainLayerAndResumeProcJobs() = 0;
+ virtual void clearHideMainLayerAndResumeEvents() = 0;
+};
// FIXME: incomplete
class OverlayArenaSystem {
@@ -34,7 +52,7 @@ class OverlayArenaSystem {
public:
struct InitArg {
- SystemPauseMgr* system_pause_mgr;
+ ISystemPauseMgr* system_pause_mgr;
};
bool init(const InitArg& arg, sead::Heap* heap);
@@ -95,7 +113,7 @@ private:
OverlayArena* mAudioArena = nullptr;
OverlayArena* mUnknownArena = nullptr;
sead::Heap* mJpegHeap = nullptr;
- SystemPauseMgr* mSystemPauseMgr = nullptr;
+ ISystemPauseMgr* mSystemPauseMgr = nullptr;
OverlayArenaSystemS1 mS1;
u32 _b8 = 0;
util::TaskThread* mPrepareThread = nullptr;