Fix timedemos.

This commit is contained in:
Yamagi Burmeister 2017-09-06 17:56:34 +02:00
parent 5ece000c18
commit 0c3c2976cf
2 changed files with 25 additions and 34 deletions

View file

@ -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)

View file

@ -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;
}