mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 23:00:42 +00:00
Fix transitions not spanning the entire screen and fix dissolve replaying when toggling full-screen
This commit is contained in:
@@ -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
|
||||||
|
@@ -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 *);
|
||||||
|
@@ -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)
|
||||||
|
@@ -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
|
||||||
|
@@ -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();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user