]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
VID_Finish in WGL now turns off videosync during timedemos
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 19 Dec 2004 00:47:26 +0000 (00:47 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 19 Dec 2004 00:47:26 +0000 (00:47 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4861 d7cf8633-e32d-0410-b094-e92efae38249

vid_wgl.c

index 4726150ced845d16d9b6b7f2f2f4eecf03860949..2b502ce3895d02b09667eb3f730e956c2d99dda3 100644 (file)
--- 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);
+       }
 }
 
 //==========================================================================