diff --git a/src/client/cl_main.c b/src/client/cl_main.c index ae750034..7b9e08e3 100644 --- a/src/client/cl_main.c +++ b/src/client/cl_main.c @@ -56,7 +56,6 @@ cvar_t *cl_showmiss; cvar_t *cl_showclamp; cvar_t *cl_paused; -cvar_t *cl_timedemo; cvar_t *lookspring; cvar_t *lookstrafe; @@ -505,7 +504,6 @@ CL_InitLocal(void) cl_showclamp = Cvar_Get("showclamp", "0", 0); cl_timeout = Cvar_Get("cl_timeout", "120", 0); cl_paused = Cvar_Get("paused", "0", 0); - cl_timedemo = Cvar_Get("timedemo", "0", 0); gl_stereo = Cvar_Get( "gl_stereo", "0", CVAR_ARCHIVE ); gl_stereo_separation = Cvar_Get( "gl_stereo_separation", "1", CVAR_ARCHIVE ); @@ -746,14 +744,6 @@ CL_Frame(int packetdelta, int renderdelta, int miscdelta, int timedelta, packetframe = true; } } - else - { - /* If we're running a timedemo ignore the global timing - and pump out as many frames as we can. */ - packetframe = true; - renderframe = true; - miscframe = true; - } // Update input stuff if (packetframe || renderframe) diff --git a/src/common/misc.c b/src/common/misc.c index e0f95765..e55e29f2 100644 --- a/src/common/misc.c +++ b/src/common/misc.c @@ -40,6 +40,7 @@ cvar_t *fixedtime; cvar_t *cl_maxfps; cvar_t *gl_maxfps; cvar_t *cl_async; +cvar_t *cl_timedemo; #ifndef DEDICATED_ONLY cvar_t *showtrace; @@ -244,6 +245,7 @@ Qcommon_Init(int argc, char **argv) timescale = Cvar_Get("timescale", "1", 0); fixedtime = Cvar_Get("fixedtime", "0", 0); logfile_active = Cvar_Get("logfile", "1", CVAR_ARCHIVE); + cl_timedemo = Cvar_Get("timedemo", "0", 0); #ifndef DEDICATED_ONLY showtrace = Cvar_Get("showtrace", "0", 0); #endif @@ -448,35 +450,34 @@ Qcommon_Frame(int msec) clienttimedelta += msec; servertimedelta += msec; - if (cl_async->value) - { - // Network frames.. - if (packetdelta < (1000000.0f / pfps)) - { - packetframe = false; - } + if (!cl_timedemo->value) { + if (cl_async->value) { + // Network frames.. + if (packetdelta < (1000000.0f / pfps)) { + packetframe = false; + } - // Render frames. - if (renderdelta < (1000000.0f / rfps)) - { - renderframe = false; - } + // Render frames. + if (renderdelta < (1000000.0f / rfps)) { + renderframe = false; + } - // Misc. frames. - if (miscdelta < 100000.0f) - { - miscframe = false; + // Misc. frames. + if (miscdelta < 100000.0f) { + miscframe = false; + } + } else { + // Cap frames at target framerate. + if (renderdelta < (1000000.0f / rfps)) { + renderframe = false; + packetframe = false; + miscframe = false; + } } } - else + else if (clienttimedelta < 1000 || servertimedelta < 1000) { - // Cap frames at target framerate. - if (renderdelta < (1000000.0f / rfps)) - { - renderframe = false; - packetframe = false; - miscframe = false; - } + return; }