summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Howard2013-09-04 04:07:51 +0000
committerSimon Howard2013-09-04 04:07:51 +0000
commit466e09152f9fd24dfb24fcdf6b95731ae9e0f4ed (patch)
treeb40d450e1ce0133bfe2223b1e93534917001c57e
parent4e4f77f13ef73ad62dc96b3f9bcac7f01697196a (diff)
downloadchocolate-doom-466e09152f9fd24dfb24fcdf6b95731ae9e0f4ed.tar.gz
chocolate-doom-466e09152f9fd24dfb24fcdf6b95731ae9e0f4ed.tar.bz2
chocolate-doom-466e09152f9fd24dfb24fcdf6b95731ae9e0f4ed.zip
Don't show ENDOOM screen when aborting netgame startup (thanks Alexandre
Xavier). Subversion-branch: /branches/v2-branch Subversion-revision: 2635
-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;
}