summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/doom/d_main.c13
-rw-r--r--src/heretic/d_main.c5
-rw-r--r--src/strife/d_main.c12
3 files changed, 24 insertions, 6 deletions
diff --git a/src/doom/d_main.c b/src/doom/d_main.c
index 9f8b806c..eb36f4bb 100644
--- a/src/doom/d_main.c
+++ b/src/doom/d_main.c
@@ -128,6 +128,9 @@ boolean storedemo;
// "BFG Edition" version of doom2.wad does not include TITLEPIC.
boolean bfgedition;
+// If true, the main game loop has started.
+boolean main_loop_started = false;
+
char wadfile[1024]; // primary wad file
char mapdir[1024]; // directory of development maps
@@ -416,7 +419,9 @@ void D_DoomLoop (void)
{
if (demorecording)
G_BeginRecording ();
-
+
+ main_loop_started = true;
+
TryRunTics();
I_SetWindowTitle(gamedescription);
@@ -1024,9 +1029,11 @@ static void D_Endoom(void)
byte *endoom;
// Don't show ENDOOM if we have it disabled, or we're running
- // in screensaver or control test mode.
+ // in screensaver or control test mode. Only show it once the
+ // game has actually started.
- if (!show_endoom || screensaver_mode || M_CheckParm("-testcontrols") > 0)
+ if (!show_endoom || !main_loop_started
+ || screensaver_mode || M_CheckParm("-testcontrols") > 0)
{
return;
}
diff --git a/src/heretic/d_main.c b/src/heretic/d_main.c
index 8ca49ba6..6dc29cf7 100644
--- a/src/heretic/d_main.c
+++ b/src/heretic/d_main.c
@@ -79,6 +79,7 @@ int startmap;
int UpdateState;
static int graphical_startup = 1;
static boolean using_graphical_startup;
+static boolean main_loop_started = false;
boolean autostart;
extern boolean automapactive;
@@ -254,6 +255,8 @@ void D_DoomLoop(void)
I_InitGraphics();
I_SetGrabMouseCallback(D_GrabMouseCallback);
+ main_loop_started = true;
+
while (1)
{
// Frame syncronous IO operations
@@ -782,7 +785,7 @@ static void D_Endoom(void)
// Disable ENDOOM?
- if (!show_endoom || testcontrols)
+ if (!show_endoom || testcontrols || !main_loop_started)
{
return;
}
diff --git a/src/strife/d_main.c b/src/strife/d_main.c
index cabd0505..51782b43 100644
--- a/src/strife/d_main.c
+++ b/src/strife/d_main.c
@@ -150,6 +150,10 @@ char mapdir[1024]; // directory of development maps
int show_endoom = 1;
int graphical_startup = 1;
+// If true, startup has completed and the main game loop has started.
+
+static boolean main_loop_started = false;
+
// fraggle 06/03/11 [STRIFE]: Unused config variable, preserved
// for compatibility:
@@ -490,6 +494,8 @@ void D_DoomLoop (void)
if (demorecording)
G_BeginRecording ();
+ main_loop_started = true;
+
TryRunTics();
if (!showintro)
@@ -1038,9 +1044,11 @@ static void D_Endoom(void)
byte *endoom;
// Don't show ENDOOM if we have it disabled, or we're running
- // in screensaver or control test mode.
+ // in screensaver or control test mode. Only show it once the
+ // game has actually started.
+
- if (!show_endoom || screensaver_mode || testcontrols)
+ if (!show_endoom || !main_loop_started || screensaver_mode || testcontrols)
{
return;
}