#include "quakedef.h"
+#ifdef CONFIG_VIDEO_CAPTURE
extern cvar_t cl_capturevideo;
+extern cvar_t cl_capturevideo_demo_stop;
+#endif
int old_vsync = 0;
static void CL_FinishTimeDemo (void);
Called when a demo file runs out, or the user starts a game
==============
*/
-// LordHavoc: now called only by CL_Disconnect
+// LadyHavoc: now called only by CL_Disconnect
void CL_StopPlayback (void)
{
+#ifdef CONFIG_VIDEO_CAPTURE
+ if (cl_capturevideo_demo_stop.integer)
+ Cvar_Set("cl_capturevideo", "0");
+#endif
+
if (!cls.demoplayback)
return;
int i;
float f;
- if (cls.demopaused) // LordHavoc: pausedemo
+ if (cls.demopaused) // LadyHavoc: pausedemo
return;
len = LittleLong (message->cursize);
if (!cls.demoplayback)
return;
- // LordHavoc: pausedemo
+ // LadyHavoc: pausedemo
if (cls.demopaused)
return;
cls.td_onesecondnexttime++;
}
}
- else if (cl.time <= cl.mtime[0])
+ else if (cl.time < cl.mtime[0])
{
// don't need another message yet
return;
}
// write a disconnect message to the demo file
- // LordHavoc: don't replace the cl_message when doing this
+ // LadyHavoc: don't replace the cl_message when doing this
buf.data = bufdata;
buf.maxsize = sizeof(bufdata);
SZ_Clear(&buf);
fpsmin = cls.td_onesecondminfps;
fpsavg = cls.td_onesecondavgcount ? cls.td_onesecondavgfps / cls.td_onesecondavgcount : 0;
fpsmax = cls.td_onesecondmaxfps;
- // LordHavoc: timedemo now prints out 7 digits of fraction, and min/avg/max
+ // LadyHavoc: timedemo now prints out 7 digits of fraction, and min/avg/max
Con_Printf("%i frames %5.7f seconds %5.7f fps, one-second fps min/avg/max: %.0f %.0f %.0f (%i seconds)\n", frames, time, totalfpsavg, fpsmin, fpsavg, fpsmax, cls.td_onesecondavgcount);
Log_Printf("benchmark.log", "date %s | enginedate %s | demo %s | commandline %s | run %d | result %i frames %5.7f seconds %5.7f fps, one-second fps min/avg/max: %.0f %.0f %.0f (%i seconds)\n", Sys_TimeString("%Y-%m-%d %H:%M:%S"), buildstring, cls.demoname, cmdline.string, benchmark_runs + 1, frames, time, totalfpsavg, fpsmin, fpsavg, fpsmax, cls.td_onesecondavgcount);
if (COM_CheckParm("-benchmark"))
cls.timedemo = true;
cls.td_frames = -2; // skip the first frame
cls.demonum = -1; // stop demo loop
- cls.demonum = -1; // stop demo loop
}