From 5674a4e6f31616c3cd4ce725ef54086689245ebc Mon Sep 17 00:00:00 2001 From: James Haley Date: Thu, 30 Jun 2011 04:07:25 +0000 Subject: Two changes: * Be vanilla-compatible with callpoint to M_Ticker. * Use a temporary screen buffer for screen wipes to avoid overdrawing the screen during the fade process. This didn't happen in vanilla due to its refresh system. Subversion-branch: /branches/strife-branch Subversion-revision: 2352 --- src/strife/d_net.c | 10 +++++++++- src/strife/f_wipe.c | 9 ++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/strife/d_net.c b/src/strife/d_net.c index 7e1644e8..39a89e28 100644 --- a/src/strife/d_net.c +++ b/src/strife/d_net.c @@ -165,10 +165,13 @@ void NetUpdate (void) I_StartTic (); D_ProcessEvents (); +#if 0 // Always run the menu + // - jhaley 20110629 [CHOCOFIX] - sure, if you want to cause serious + // problems. See TryRunTics for where the call to M_Ticker belongs. M_Ticker (); - +#endif if (drone) { // In drone mode, do not generate any ticcmds. @@ -608,6 +611,11 @@ void TryRunTics (void) if (advancedemo) D_DoAdvanceDemo (); + // [STRIFE]/[CHOCOFIX] jhaley 20110629 Chocolate compatibility problem! + // *Somebody* moved M_Ticker to NetUpdate where it specifically does not + // belong. It *must* be here. All it ever does is animate the cursor + // anyway so there is absolutely no reason to run it from NetUpdate. + M_Ticker (); G_Ticker (); gametic++; diff --git a/src/strife/f_wipe.c b/src/strife/f_wipe.c index 4c496f38..8c3eeaae 100644 --- a/src/strife/f_wipe.c +++ b/src/strife/f_wipe.c @@ -277,15 +277,18 @@ wipe_ScreenWipe if (!go) { go = 1; - // wipe_scr = (byte *) Z_Malloc(width*height, PU_STATIC, 0); // DEBUG - wipe_scr = I_VideoBuffer; + // haleyjd 20110629 [STRIFE]: We *must* use a temp buffer here. + wipe_scr = (byte *) Z_Malloc(width*height, PU_STATIC, 0); // DEBUG + //wipe_scr = I_VideoBuffer; (*wipes[wipeno*3])(width, height, ticks); } // do a piece of wipe-in V_MarkRect(0, 0, width, height); rc = (*wipes[wipeno*3+1])(width, height, ticks); - // V_DrawBlock(x, y, 0, width, height, wipe_scr); // DEBUG + + // haleyjd 20110629 [STRIFE]: Copy temp buffer to the real screen. + V_DrawBlock(x, y, width, height, wipe_scr); // final stuff if (rc) -- cgit v1.2.3