qboolean Movie_GetSoundtime (void) { if (!Movie_IsActive()) return false; soundtime += Q_rint (host_frametime * shm->speed * (Movie_FrameTime() / host_frametime)); return true; }
/* =================== Host_FilterTime Returns false if the time is too short to run a frame =================== */ qboolean Host_FilterTime (double time) { double fps; realtime += time; fps = QMAX(10, pq_maxfps.value); #ifdef SUPPORTS_AVI_CAPTURE if (!cls.capturedemo && !cls.timedemo && realtime - oldrealtime < 1.0 / fps) #else if (!cls.timedemo && realtime - oldrealtime < 1.0 / fps) #endif { #ifdef SUPPORTS_SYSSLEEP if (host_sleep.value) Sys_Sleep (); // Lower cpu #endif return false; // framerate is too high } #ifdef SUPPORTS_AVI_CAPTURE if (Movie_IsActive()) host_frametime = Movie_FrameTime (); else #endif host_frametime = realtime - oldrealtime; #ifdef SUPPORTS_DEMO_CONTROLS if (cls.demoplayback) host_frametime *= bound(0, cl_demospeed.value, 20); #endif oldrealtime = realtime; //johnfitz -- host_timescale is more intuitive than host_framerate if (host_timescale.value > 0) host_frametime *= host_timescale.value; //johnfitz else if (host_framerate.value > 0) host_frametime = host_framerate.value; else // don't allow really long or short frames host_frametime = bound(0.001, host_frametime, 0.1); return true; }