foxygit / doom Log in
commit 089ab59dff793780c3c9f4963b7c62bce0d6a9b4
Author:     Thomas A. Birkel <capnclever@gmail.com>
AuthorDate: Sun Nov 20 11:13:50 2016 -0500
Commit:     Thomas A. Birkel <capnclever@gmail.com>
CommitDate: Sun Nov 20 11:13:50 2016 -0500

    g_game.c: Don't overwrite Heretic/Hexen timedemo arguments

    Same as commit 621a8d8 but changing G_TimeDemo().

    Additional fix for #803
---
 src/heretic/g_game.c | 8 +++++---
 src/hexen/g_game.c   | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/heretic/g_game.c b/src/heretic/g_game.c
index ff471aa0..73382f58 100644
--- a/src/heretic/g_game.c
+++ b/src/heretic/g_game.c
@@ -1921,9 +1921,11 @@ void G_TimeDemo(char *name)
     map = *demo_p++;

     // Read special parameter bits: see G_RecordDemo() for details.
-    respawnparm = (*demo_p & DEMOHEADER_RESPAWN) != 0;
-    longtics    = (*demo_p & DEMOHEADER_LONGTICS) != 0;
-    nomonsters  = (*demo_p & DEMOHEADER_NOMONSTERS) != 0;
+    longtics = (*demo_p & DEMOHEADER_LONGTICS) != 0;
+
+    // don't overwrite arguments from the command line
+    respawnparm |= (*demo_p & DEMOHEADER_RESPAWN) != 0;
+    nomonsters  |= (*demo_p & DEMOHEADER_NOMONSTERS) != 0;

     for (i = 0; i < MAXPLAYERS; i++)
     {
diff --git a/src/hexen/g_game.c b/src/hexen/g_game.c
index 1f61ae63..0edbe830 100644
--- a/src/hexen/g_game.c
+++ b/src/hexen/g_game.c
@@ -2091,9 +2091,11 @@ void G_TimeDemo(char *name)
     map = *demo_p++;

     // Read special parameter bits: see G_RecordDemo() for details.
-    respawnparm = (*demo_p & DEMOHEADER_RESPAWN) != 0;
-    longtics    = (*demo_p & DEMOHEADER_LONGTICS) != 0;
-    nomonsters  = (*demo_p & DEMOHEADER_NOMONSTERS) != 0;
+    longtics = (*demo_p & DEMOHEADER_LONGTICS) != 0;
+
+    // don't overwrite arguments from the command line
+    respawnparm |= (*demo_p & DEMOHEADER_RESPAWN) != 0;
+    nomonsters  |= (*demo_p & DEMOHEADER_NOMONSTERS) != 0;

     for (i = 0; i < maxplayers; i++)
     {