shithub: choc

Download patch

ref: e5d5a0930ea060f7908f64ab93e04cd08e21d355
parent: 9d51e5310899f3d0fefdd36c305dfe7a6d9ef3de
author: Thomas A. Birkel <capnclever@gmail.com>
date: Sun Oct 16 00:17:24 EDT 2016

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

--- 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)
--- a/src/heretic/g_game.c
+++ b/src/heretic/g_game.c
@@ -680,7 +680,6 @@
 
     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 @@
     }
 
     G_InitNew(skill, episode, map);
+    starttime = I_GetTime();
+
     usergame = false;
     demoplayback = true;
     timingdemo = true;
--- a/src/hexen/g_game.c
+++ b/src/hexen/g_game.c
@@ -682,7 +682,6 @@
     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 @@
     }
 
     G_InitNew(skill, episode, map);
+    starttime = I_GetTime();
+
     usergame = false;
     demoplayback = true;
     timingdemo = true;