diff --git a/GpApp/Banner.cpp b/GpApp/Banner.cpp index b8f60dd..81f3344 100644 --- a/GpApp/Banner.cpp +++ b/GpApp/Banner.cpp @@ -166,7 +166,7 @@ void BringUpBanner (void) DrawBanner(&topLeft); DrawBannerMessage(topLeft); - DumpScreenOn(&justRoomsRect); + DumpScreenOn(&justRoomsRect, false); // if (quickerTransitions) // DissBitsChunky(&justRoomsRect); // was workSrcRect diff --git a/GpApp/GliderProtos.h b/GpApp/GliderProtos.h index 12b7df5..634d825 100644 --- a/GpApp/GliderProtos.h +++ b/GpApp/GliderProtos.h @@ -498,7 +498,7 @@ void FollowTheLeader (void); void PourScreenOn (Rect *); // --- Transitions.c void WipeScreenOn (SInt16, Rect *); -void DumpScreenOn (Rect *); +void DumpScreenOn (Rect *, Boolean); //void DissBits (Rect *); //void DissBitsChunky (Rect *); //void FillColorNoise (Rect *); diff --git a/GpApp/HighScores.cpp b/GpApp/HighScores.cpp index 2b0ce9c..c52633e 100644 --- a/GpApp/HighScores.cpp +++ b/GpApp/HighScores.cpp @@ -82,13 +82,13 @@ void DoHighScores (void) // else // DissBits(&workSrcRect); - DumpScreenOn(&workSrcRect); + DumpScreenOn(&workSrcRect, false); SpinCursor(3); DrawHighScores(workSrcMap); - DumpScreenOn(&workSrcRect); + DumpScreenOn(&workSrcRect, false); SpinCursor(3); // if (quickerTransitions) diff --git a/GpApp/Play.cpp b/GpApp/Play.cpp index f070766..58d3012 100644 --- a/GpApp/Play.cpp +++ b/GpApp/Play.cpp @@ -168,16 +168,16 @@ void NewGame (short mode) if (mode == kNewGameMode) { BringUpBanner(); - DumpScreenOn(&justRoomsRect); + DumpScreenOn(&justRoomsRect, false); } else if (mode == kResumeGameMode) { DisplayStarsRemaining(); - DumpScreenOn(&justRoomsRect); + DumpScreenOn(&justRoomsRect, false); } else { - DumpScreenOn(&justRoomsRect); + DumpScreenOn(&justRoomsRect, false); } InitGarbageRects(); @@ -381,7 +381,7 @@ void HandleGameResolutionChange(void) ResetLocale(true); InitScoreboardMap(); RefreshScoreboard(wasScoreboardTitleMode); - DumpScreenOn(&justRoomsRect); + DumpScreenOn(&justRoomsRect, true); } //-------------------------------------------------------------- PlayGame diff --git a/GpApp/Transitions.cpp b/GpApp/Transitions.cpp index b115752..4e10ed6 100644 --- a/GpApp/Transitions.cpp +++ b/GpApp/Transitions.cpp @@ -122,28 +122,28 @@ void WipeScreenOn (short direction, Rect *theRect) wipeRect.bottom = wipeRect.top + wipeRectThick; hOffset = 0; vOffset = wipeRectThick; - count = ((theRect->bottom - theRect->top) / wipeRectThick) + 1; + count = (theRect->bottom - theRect->top + wipeRectThick - 1) / wipeRectThick; break; case kToRight: wipeRect.left = wipeRect.right - wipeRectThick; hOffset = -wipeRectThick; vOffset = 0; - count = workSrcRect.right / wipeRectThick; + count = (workSrcRect.right + wipeRectThick - 1) / wipeRectThick; break; case kBelow: wipeRect.top = wipeRect.bottom - wipeRectThick; hOffset = 0; vOffset = -wipeRectThick; - count = ((theRect->bottom - theRect->top) / wipeRectThick) + 1; + count = (theRect->bottom - theRect->top + wipeRectThick - 1) / wipeRectThick; break; case kToLeft: wipeRect.right = wipeRect.left + wipeRectThick; hOffset = wipeRectThick; vOffset = 0; - count = workSrcRect.right / wipeRectThick; + count = (workSrcRect.right + wipeRectThick - 1) / wipeRectThick; break; } @@ -170,7 +170,7 @@ void WipeScreenOn (short direction, Rect *theRect) } } -//-------------------------------------------------------------- DumpScreenOn +//-------------------------------------------------------------- DissolveScreenOn void DissolveScreenOn(Rect *theRect) { @@ -239,9 +239,9 @@ void DissolveScreenOn(Rect *theRect) //-------------------------------------------------------------- DumpScreenOn -void DumpScreenOn(Rect *theRect) +void DumpScreenOn(Rect *theRect, Boolean fast) { - if (quickerTransitions) + if (quickerTransitions || fast) { DrawSurface *graf = mainWindow->GetDrawSurface();