From d5ef246bdf91cdf66e6a22ce0fef0886169013ee Mon Sep 17 00:00:00 2001 From: fallenoak Date: Fri, 2 Jan 2026 22:06:42 -0600 Subject: [PATCH] feat(glue): partially implement CGlueMgr::Shutdown --- src/glue/CGlueMgr.cpp | 12 ++++++++++++ src/glue/CGlueMgr.hpp | 1 + 2 files changed, 13 insertions(+) diff --git a/src/glue/CGlueMgr.cpp b/src/glue/CGlueMgr.cpp index b62678d..0c579a0 100644 --- a/src/glue/CGlueMgr.cpp +++ b/src/glue/CGlueMgr.cpp @@ -1065,6 +1065,18 @@ void CGlueMgr::SetScreen(const char* screen) { FrameScript_SignalEvent(0, "%s", screen); } +void CGlueMgr::Shutdown() { + // TODO + + CGlueMgr::Suspend(); + + CGlueMgr::m_initialized = 0; + + EventUnregister(EVENT_ID_IDLE, &CGlueMgr::Idle); + + // TODO +} + void CGlueMgr::StatusDialogClick() { if (!SStrCmpI(CGlueMgr::m_currentScreen, "patchdownload", STORM_MAX_STR)) { CGlueMgr::SetScreen("login"); diff --git a/src/glue/CGlueMgr.hpp b/src/glue/CGlueMgr.hpp index 6e58044..6b3f96e 100644 --- a/src/glue/CGlueMgr.hpp +++ b/src/glue/CGlueMgr.hpp @@ -90,6 +90,7 @@ class CGlueMgr { static void SetIdleState(GLUE_IDLE_STATE state); static void SetLoginStateAndResult(LOGIN_STATE state, LOGIN_RESULT result, char const* addrStr, char const* stateStr, char const* resultStr, uint8_t flags); static void SetScreen(const char* screen); + static void Shutdown(); static void StatusDialogClick(); static void Sub4D8BA0(); static void Suspend();