aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/tony/loc.cpp7
-rw-r--r--engines/tony/window.cpp7
2 files changed, 5 insertions, 9 deletions
diff --git a/engines/tony/loc.cpp b/engines/tony/loc.cpp
index a2dd7e097d..dedac199fa 100644
--- a/engines/tony/loc.cpp
+++ b/engines/tony/loc.cpp
@@ -1945,9 +1945,6 @@ RMLocation::RMLocation() {
_buf = NULL;
TEMPNumLoc = 0;
_cmode = CM_256;
-
- _prevScroll.set(-1, -1);
- _prevFixedScroll.set(-1, -1);
}
@@ -2020,6 +2017,10 @@ bool RMLocation::load(RMDataStream &ds) {
byte cm;
int i;
+ // Reset dirty rectangling
+ _prevScroll.set(-1, -1);
+ _prevFixedScroll.set(-1, -1);
+
// Check the ID
ds >> id[0] >> id[1] >> id[2];
diff --git a/engines/tony/window.cpp b/engines/tony/window.cpp
index 3806aa67c8..b603fa39f3 100644
--- a/engines/tony/window.cpp
+++ b/engines/tony/window.cpp
@@ -140,16 +140,11 @@ void RMWindow::getNewFrame(RMGfxTargetBuffer &bigBuf, Common::Rect *rcBoundEllip
// Get a pointer to the bytes of the source buffer
byte *lpBuf = bigBuf;
- // FIXME: The current dirty rect handling code has a minor issue with screen refresh in one
- // scene in the introduction sequence as the scene changes. For now, we're working around the
- // problem by explicitly having full screen refreshes on that scene
- bool fullRefresh = g_vm->getEngine()->getCurrentLocation() == 98;
-
if (rcBoundEllipse != NULL) {
// Circular wipe effect
getNewFrameWipe(lpBuf, *rcBoundEllipse);
_wiping = true;
- } else if (_wiping || fullRefresh) {
+ } else if (_wiping) {
// Just finished a wiping effect, so copy the full screen
copyRectToScreen(lpBuf, RM_SX * 2, 0, 0, RM_SX, RM_SY);
_wiping = false;