cvar_t host_framerate = {0, "host_framerate","0", "locks frame timing to this value in seconds, 0.05 is 20fps for example, note that this can easily run too fast, use cl_maxfps if you want to limit your framerate instead, or sys_ticrate to limit server speed"};
// shows time used by certain subsystems
cvar_t host_speeds = {0, "host_speeds","0", "reports how much time is used in server/graphics/sound"};
-cvar_t host_sleep = {0, "host_sleep","0", "gives up some processing time to other applications each frame, value in milliseconds"};
+cvar_t host_sleep = {0, "host_sleep","1", "gives up some processing time to other applications each frame, value in milliseconds"};
cvar_t cl_minfps = {CVAR_SAVE, "cl_minfps", "40", "minimum fps target - while the rendering performance is below this, it will drift toward lower quality"};
cvar_t cl_minfps_fade = {CVAR_SAVE, "cl_minfps_fade", "0.2", "how fast the quality adapts to varying framerate"};
cvar_t cl_minfps_qualitymax = {CVAR_SAVE, "cl_minfps_qualitymax", "1", "highest allowed drawdistance multiplier"};
Returns a time report string, for example for
==================
*/
-const char *Host_TimingReport()
+const char *Host_TimingReport(void)
{
return va("%.1f%% CPU, %.2f%% lost, offset avg %.1fms, max %.1fms, sdev %.1fms", svs.perf_cpuload * 100, svs.perf_lost * 100, svs.perf_offset_avg * 1000, svs.perf_offset_max * 1000, svs.perf_offset_sdev * 1000);
}
//
//-------------------
- if (cls.state != ca_dedicated && (cl_timer > 0 || cls.timedemo))
+ if (cls.state != ca_dedicated && (cl_timer > 0 || cls.timedemo || cl_maxfps.value < 1))
{
// decide the simulation time
if (cls.capturevideo.active)
{
+ //***
if (cls.capturevideo.realtime)
clframetime = cl.realframetime = max(cl_timer, 1.0 / cls.capturevideo.framerate);
else
cl.oldtime = cl.time;
cl.time += clframetime;
+ // update video
+ if (host_speeds.integer)
+ time1 = Sys_DoubleTime();
+
// Collect input into cmd
CL_Input();
// update client world (interpolate entities, create trails, etc)
CL_UpdateWorld();
- // update video
- if (host_speeds.integer)
- time1 = Sys_DoubleTime();
-
CL_Video_Frame();
CL_Gecko_Frame();
Sys_Sleep((int)wait);
}
+#if MEMPARANOIA
+ Mem_CheckSentinelsGlobal();
+#endif
+
// if there is some time remaining from this frame, reset the timers
if (cl_timer >= 0)
cl_timer = 0;
srand(time(NULL));
// FIXME: this is evil, but possibly temporary
+ // LordHavoc: doesn't seem very temporary...
+ // LordHavoc: enabled this by default on debug
+#ifndef DEBUG
// COMMANDLINEOPTION: Console: -developer enables warnings and other notices (RECOMMENDED for mod developers)
if (COM_CheckParm("-developer"))
+#endif
{
developer.value = developer.integer = 1;
developer.string = "1";
Sys_Shutdown();
Log_Close();
FS_Shutdown();
+ Con_Shutdown();
Memory_Shutdown();
}