commit e5d5a0930ea060f7908f64ab93e04cd08e21d355
Author: Thomas A. Birkel <capnclever@gmail.com>
AuthorDate: Sun Oct 16 04:17:24 2016 -0400
Commit: Thomas A. Birkel <capnclever@gmail.com>
CommitDate: Sun Oct 16 04:17:24 2016 -0400
g_game.c: Fix -timedemo "realtics" duration in Heretic/Hexen
Same fix that fraggle did for Doom: only matters for multilevel demos so
it wasn't relevant until such demos could be played back.
Partial implementation of #432
---
NEWS.md | 4 ++++
src/heretic/g_game.c | 3 ++-
src/hexen/g_game.c | 3 ++-
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/NEWS.md b/NEWS.md
index ec7a88fa..1d2e0d99 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -18,6 +18,10 @@
* The vanilla limit of 4046 lumps per WAD is now enforced. (thanks
Jon, Quasar, Edward-san)
* Solidsegs overflow is emulated like in vanilla. (thanks Quasar)
+ * Heretic/Hexen demo support has expanded. "-demoextend" allows
+ demos to last longer than a single level; "-shortticfix" adjusts
+ low-resolution turning to match Doom's handling; "-maxdemo" and
+ "-longtics" support. (thanks CapnClever)
### Build systems
* Improved compatibility with BSD Make. (thanks R.Rebello)
diff --git a/src/heretic/g_game.c b/src/heretic/g_game.c
index 146dc40c..f61ec0a1 100644
--- a/src/heretic/g_game.c
+++ b/src/heretic/g_game.c
@@ -680,7 +680,6 @@ void G_DoLoadLevel(void)
P_SetupLevel(gameepisode, gamemap, 0, gameskill);
displayplayer = consoleplayer; // view the guy you are playing
- starttime = I_GetTime();
gameaction = ga_nothing;
Z_CheckHeap();
@@ -1842,6 +1841,8 @@ void G_TimeDemo(char *name)
}
G_InitNew(skill, episode, map);
+ starttime = I_GetTime();
+
usergame = false;
demoplayback = true;
timingdemo = true;
diff --git a/src/hexen/g_game.c b/src/hexen/g_game.c
index 1c5c3ad6..7acfe485 100644
--- a/src/hexen/g_game.c
+++ b/src/hexen/g_game.c
@@ -682,7 +682,6 @@ void G_DoLoadLevel(void)
SN_StopAllSequences();
P_SetupLevel(gameepisode, gamemap, 0, gameskill);
displayplayer = consoleplayer; // view the guy you are playing
- starttime = I_GetTime();
gameaction = ga_nothing;
Z_CheckHeap();
@@ -2009,6 +2008,8 @@ void G_TimeDemo(char *name)
}
G_InitNew(skill, episode, map);
+ starttime = I_GetTime();
+
usergame = false;
demoplayback = true;
timingdemo = true;