Fix transitions not spanning the entire screen and fix dissolve replaying when toggling full-screen

This commit is contained in:
elasota
2020-07-20 12:17:36 -04:00
parent a77e1d868f
commit 7bf6147fa1
5 changed files with 15 additions and 15 deletions

View File

@@ -166,7 +166,7 @@ void BringUpBanner (void)
DrawBanner(&topLeft); DrawBanner(&topLeft);
DrawBannerMessage(topLeft); DrawBannerMessage(topLeft);
DumpScreenOn(&justRoomsRect); DumpScreenOn(&justRoomsRect, false);
// if (quickerTransitions) // if (quickerTransitions)
// DissBitsChunky(&justRoomsRect); // was workSrcRect // DissBitsChunky(&justRoomsRect); // was workSrcRect

View File

@@ -498,7 +498,7 @@ void FollowTheLeader (void);
void PourScreenOn (Rect *); // --- Transitions.c void PourScreenOn (Rect *); // --- Transitions.c
void WipeScreenOn (SInt16, Rect *); void WipeScreenOn (SInt16, Rect *);
void DumpScreenOn (Rect *); void DumpScreenOn (Rect *, Boolean);
//void DissBits (Rect *); //void DissBits (Rect *);
//void DissBitsChunky (Rect *); //void DissBitsChunky (Rect *);
//void FillColorNoise (Rect *); //void FillColorNoise (Rect *);

View File

@@ -82,13 +82,13 @@ void DoHighScores (void)
// else // else
// DissBits(&workSrcRect); // DissBits(&workSrcRect);
DumpScreenOn(&workSrcRect); DumpScreenOn(&workSrcRect, false);
SpinCursor(3); SpinCursor(3);
DrawHighScores(workSrcMap); DrawHighScores(workSrcMap);
DumpScreenOn(&workSrcRect); DumpScreenOn(&workSrcRect, false);
SpinCursor(3); SpinCursor(3);
// if (quickerTransitions) // if (quickerTransitions)

View File

@@ -168,16 +168,16 @@ void NewGame (short mode)
if (mode == kNewGameMode) if (mode == kNewGameMode)
{ {
BringUpBanner(); BringUpBanner();
DumpScreenOn(&justRoomsRect); DumpScreenOn(&justRoomsRect, false);
} }
else if (mode == kResumeGameMode) else if (mode == kResumeGameMode)
{ {
DisplayStarsRemaining(); DisplayStarsRemaining();
DumpScreenOn(&justRoomsRect); DumpScreenOn(&justRoomsRect, false);
} }
else else
{ {
DumpScreenOn(&justRoomsRect); DumpScreenOn(&justRoomsRect, false);
} }
InitGarbageRects(); InitGarbageRects();
@@ -381,7 +381,7 @@ void HandleGameResolutionChange(void)
ResetLocale(true); ResetLocale(true);
InitScoreboardMap(); InitScoreboardMap();
RefreshScoreboard(wasScoreboardTitleMode); RefreshScoreboard(wasScoreboardTitleMode);
DumpScreenOn(&justRoomsRect); DumpScreenOn(&justRoomsRect, true);
} }
//-------------------------------------------------------------- PlayGame //-------------------------------------------------------------- PlayGame

View File

@@ -122,28 +122,28 @@ void WipeScreenOn (short direction, Rect *theRect)
wipeRect.bottom = wipeRect.top + wipeRectThick; wipeRect.bottom = wipeRect.top + wipeRectThick;
hOffset = 0; hOffset = 0;
vOffset = wipeRectThick; vOffset = wipeRectThick;
count = ((theRect->bottom - theRect->top) / wipeRectThick) + 1; count = (theRect->bottom - theRect->top + wipeRectThick - 1) / wipeRectThick;
break; break;
case kToRight: case kToRight:
wipeRect.left = wipeRect.right - wipeRectThick; wipeRect.left = wipeRect.right - wipeRectThick;
hOffset = -wipeRectThick; hOffset = -wipeRectThick;
vOffset = 0; vOffset = 0;
count = workSrcRect.right / wipeRectThick; count = (workSrcRect.right + wipeRectThick - 1) / wipeRectThick;
break; break;
case kBelow: case kBelow:
wipeRect.top = wipeRect.bottom - wipeRectThick; wipeRect.top = wipeRect.bottom - wipeRectThick;
hOffset = 0; hOffset = 0;
vOffset = -wipeRectThick; vOffset = -wipeRectThick;
count = ((theRect->bottom - theRect->top) / wipeRectThick) + 1; count = (theRect->bottom - theRect->top + wipeRectThick - 1) / wipeRectThick;
break; break;
case kToLeft: case kToLeft:
wipeRect.right = wipeRect.left + wipeRectThick; wipeRect.right = wipeRect.left + wipeRectThick;
hOffset = wipeRectThick; hOffset = wipeRectThick;
vOffset = 0; vOffset = 0;
count = workSrcRect.right / wipeRectThick; count = (workSrcRect.right + wipeRectThick - 1) / wipeRectThick;
break; break;
} }
@@ -170,7 +170,7 @@ void WipeScreenOn (short direction, Rect *theRect)
} }
} }
//-------------------------------------------------------------- DumpScreenOn //-------------------------------------------------------------- DissolveScreenOn
void DissolveScreenOn(Rect *theRect) void DissolveScreenOn(Rect *theRect)
{ {
@@ -239,9 +239,9 @@ void DissolveScreenOn(Rect *theRect)
//-------------------------------------------------------------- DumpScreenOn //-------------------------------------------------------------- DumpScreenOn
void DumpScreenOn(Rect *theRect) void DumpScreenOn(Rect *theRect, Boolean fast)
{ {
if (quickerTransitions) if (quickerTransitions || fast)
{ {
DrawSurface *graf = mainWindow->GetDrawSurface(); DrawSurface *graf = mainWindow->GetDrawSurface();