From 91f727e82c16dadcddb3f437415edff2d712d4ec Mon Sep 17 00:00:00 2001 From: havoc Date: Sun, 19 Dec 2004 00:47:26 +0000 Subject: [PATCH] VID_Finish in WGL now turns off videosync during timedemos git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4861 d7cf8633-e32d-0410-b094-e92efae38249 --- vid_wgl.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/vid_wgl.c b/vid_wgl.c index 4726150c..2b502ce3 100644 --- a/vid_wgl.c +++ b/vid_wgl.c @@ -76,7 +76,10 @@ static dllfunction_t wglswapintervalfuncs[] = static DEVMODE gdevmode; static qboolean vid_initialized = false; static qboolean vid_wassuspended = false; -static int vid_usingmouse; +static qboolean vid_usingmouse = false; +static qboolean vid_usingvsync = false; +static qboolean vid_usemouse = false; +static qboolean vid_usevsync = false; static HICON hIcon; HWND mainwindow; @@ -302,23 +305,10 @@ void VID_GetWindowSize (int *x, int *y, int *width, int *height) void VID_Finish (void) { - int vid_usemouse; - static int old_vsync = -1; - - if (old_vsync != vid_vsync.integer) - { - old_vsync = bound(0, vid_vsync.integer, 1); - Cvar_SetValueQuick(&vid_vsync, old_vsync); - if (gl_videosyncavailable) - qwglSwapIntervalEXT (old_vsync); - } - - if (r_render.integer && !vid_hidden) - { - if (r_speeds.integer || gl_finish.integer) - qglFinish(); - SwapBuffers(baseDC); - } + vid_usevsync = vid_vsync.integer && !cls.timedemo && gl_videosyncavailable; + if (old_vsync != vsync && gl_videosyncavailable) + qwglSwapIntervalEXT (vsync); + vid_usingvsync = vsync; // handle the mouse state when windowed if that's changed vid_usemouse = false; @@ -346,6 +336,13 @@ void VID_Finish (void) IN_ShowMouse(); } } + + if (r_render.integer && !vid_hidden) + { + if (r_speeds.integer || gl_finish.integer) + qglFinish(); + SwapBuffers(baseDC); + } } //========================================================================== -- 2.39.2