diff --git a/doomsday/engine/portable/include/dd_main.h b/doomsday/engine/portable/include/dd_main.h index ba5ba6a74b..4466450dbe 100644 --- a/doomsday/engine/portable/include/dd_main.h +++ b/doomsday/engine/portable/include/dd_main.h @@ -59,6 +59,10 @@ extern Game* theGame; int DD_EarlyInit(void); int DD_Main(void); + +/// @return @c true if shutdown is in progress. +boolean DD_IsShuttingDown(void); + void DD_CheckTimeDemo(void); void DD_UpdateEngineState(void); diff --git a/doomsday/engine/portable/include/sys_system.h b/doomsday/engine/portable/include/sys_system.h index 99bd105ffb..ff27eedf00 100644 --- a/doomsday/engine/portable/include/sys_system.h +++ b/doomsday/engine/portable/include/sys_system.h @@ -43,6 +43,9 @@ void Sys_Init(void); void Sys_Shutdown(void); void Sys_Quit(void); +/// @return @c true if shutdown is in progress. +boolean Sys_IsShuttingDown(void); + int Sys_CriticalMessage(const char* msg); int Sys_CriticalMessagef(const char* format, ...) PRINTF_F(1,2); diff --git a/doomsday/engine/portable/src/dd_main.c b/doomsday/engine/portable/src/dd_main.c index a01c84e625..fb58996dbc 100644 --- a/doomsday/engine/portable/src/dd_main.c +++ b/doomsday/engine/portable/src/dd_main.c @@ -1263,6 +1263,11 @@ boolean DD_ChangeGame(Game* game) return DD_ChangeGame2(game, false); } +boolean DD_IsShuttingDown(void) +{ + return Sys_IsShuttingDown(); +} + /** * Looks for new files to autoload from the auto-load data directory. */ diff --git a/doomsday/engine/portable/src/sys_system.c b/doomsday/engine/portable/src/sys_system.c index e0f640912f..ced26202ca 100644 --- a/doomsday/engine/portable/src/sys_system.c +++ b/doomsday/engine/portable/src/sys_system.c @@ -27,8 +27,6 @@ * Abstract interfaces to platform-level services. */ -// HEADER FILES ------------------------------------------------------------ - #ifdef WIN32 # include # include @@ -47,27 +45,9 @@ #include "de_audio.h" #include "de_misc.h" -// MACROS ------------------------------------------------------------------ - -// TYPES ------------------------------------------------------------------- - -// EXTERNAL FUNCTION PROTOTYPES -------------------------------------------- - -// PUBLIC FUNCTION PROTOTYPES ---------------------------------------------- - -// PRIVATE FUNCTION PROTOTYPES --------------------------------------------- - -// EXTERNAL DATA DECLARATIONS ---------------------------------------------- - -// PUBLIC DATA DEFINITIONS ------------------------------------------------- - //int systics = 0; // System tics (every game tic). int novideo; // if true, stay in text mode for debugging -// PRIVATE DATA DEFINITIONS ------------------------------------------------ - -// CODE -------------------------------------------------------------------- - #ifdef WIN32 /** * Borrowed from Lee Killough. @@ -135,6 +115,11 @@ void Sys_Init(void) VERBOSE2( Con_Message("Sys_Init: Done in %.2f seconds.\n", (Sys_GetRealTime() - startTime) / 1000.0f) ); } +boolean Sys_IsShuttingDown(void) +{ + return appShutdown; +} + /** * Return to default system state. */