This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to tag 1.51
in repository iortcw.

commit 6bf0ccfec6585ce90f9bcef9e4f00db0dcbbbc9c
Author: MAN-AT-ARMS <[email protected]>
Date:   Fri May 5 12:01:21 2017 -0400

    All: Don't spam screen updates when using r_swapinterval (VSync)
---
 MP/code/client/cl_cgame.c | 19 ++++++++++++++-----
 SP/code/client/cl_cgame.c | 19 ++++++++++++++-----
 2 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/MP/code/client/cl_cgame.c b/MP/code/client/cl_cgame.c
index 6f554db..683f9a3 100644
--- a/MP/code/client/cl_cgame.c
+++ b/MP/code/client/cl_cgame.c
@@ -560,11 +560,20 @@ intptr_t CL_CgameSystemCalls( intptr_t *args ) {
                return 0;
        case CG_UPDATESCREEN:
                // this is used during lengthy level loading, so pump message 
loop
-//             Com_EventLoop();        // FIXME: if a server restarts here, 
BAD THINGS HAPPEN!
-// We can't call Com_EventLoop here, a restart will crash and this _does_ 
happen
-// if there is a map change while we are downloading at pk3.
-// ZOID
-               SCR_UpdateScreen();
+               //Com_EventLoop();      // FIXME: if a server restarts here, 
BAD THINGS HAPPEN!
+               // We can't call Com_EventLoop here, a restart will crash and 
this _does_ happen
+               // if there is a map change while we are downloading at pk3.
+               // ZOID
+               // Don't spam screen updates if we're vsynced
+               if ( Cvar_VariableIntegerValue( "r_swapInterval" ) )
+               {
+                       static int lastUpdate = 0;
+
+                       if ( lastUpdate == 0 || Sys_Milliseconds() - lastUpdate 
> 16 )
+                               SCR_UpdateScreen();
+
+                       lastUpdate = Sys_Milliseconds();
+               }
                return 0;
        case CG_CM_LOADMAP:
                CL_CM_LoadMap( VMA( 1 ) );
diff --git a/SP/code/client/cl_cgame.c b/SP/code/client/cl_cgame.c
index 9763593..16fb94a 100644
--- a/SP/code/client/cl_cgame.c
+++ b/SP/code/client/cl_cgame.c
@@ -479,11 +479,20 @@ intptr_t CL_CgameSystemCalls( intptr_t *args ) {
                return 0;
        case CG_UPDATESCREEN:
                // this is used during lengthy level loading, so pump message 
loop
-//             Com_EventLoop();        // FIXME: if a server restarts here, 
BAD THINGS HAPPEN!
-// We can't call Com_EventLoop here, a restart will crash and this _does_ 
happen
-// if there is a map change while we are downloading at pk3.
-// ZOID
-               SCR_UpdateScreen();
+               //Com_EventLoop();      // FIXME: if a server restarts here, 
BAD THINGS HAPPEN!
+               // We can't call Com_EventLoop here, a restart will crash and 
this _does_ happen
+               // if there is a map change while we are downloading at pk3.
+               // ZOID
+               // Don't spam screen updates if we're vsynced
+               if ( Cvar_VariableIntegerValue( "r_swapInterval" ) )
+               {
+                       static int lastUpdate = 0;
+
+                       if ( lastUpdate == 0 || Sys_Milliseconds() - lastUpdate 
> 16 )
+                               SCR_UpdateScreen();
+
+                       lastUpdate = Sys_Milliseconds();
+               }
                return 0;
        case CG_CM_LOADMAP:
                CL_CM_LoadMap( VMA( 1 ) );

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/iortcw.git

_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to