Fix artifacts if a resize reordered the saved maps of an item.

(Happens in Slumberland if resizing the window from 1600x900 to 800x600 in the second room, then picking up the cuckoo.)
This commit is contained in:
elasota
2020-04-25 00:50:28 -04:00
parent b5a3db860f
commit c357ca2b7c
7 changed files with 52 additions and 42 deletions

View File

@@ -301,9 +301,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
DrawRedClock(&itsRect);
}
@@ -315,9 +315,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
DrawBlueClock(&itsRect);
}
@@ -329,9 +329,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
DrawYellowClock(&itsRect);
}
@@ -343,9 +343,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
{
DrawCuckoo(&itsRect);
@@ -369,9 +369,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
DrawSimplePrizes(thisObject.what, &itsRect);
}
@@ -435,9 +435,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
DrawFoil(&itsRect);
}
@@ -453,9 +453,9 @@ void DrawARoomsObjects (short neighbor, Boolean redraw)
if (SectRect(&itsRect, &testRect, &whoCares))
{
if (redraw)
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i);
legit = ReBackUpSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
else
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i);
legit = BackUpToSavedMap(&itsRect, localNumbers[neighbor], i, kDefaultComponent);
if (legit != -1)
{
if (redraw)