aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/saveload.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 56d40c15bf..7ec94ea22d 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -92,6 +92,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
SaveFile *in;
int i, j;
SaveGameHeader hdr;
+ int sb, sh;
byte *roomptr;
makeSavegameName(filename, slot, compat);
@@ -272,13 +273,18 @@ bool ScummEngine::loadState(int slot, bool compat) {
camera._last.x = camera._cur.x;
}
+ sb = _screenB;
+ sh = _screenH;
+
// Restore the virtual screens and force a fade to black.
- initScreens(_screenB, _screenH);
+ initScreens(kMainVirtScreen, _screenHeight);
VirtScreen *vs = &virtscr[0];
memset(vs->screenPtr + vs->xstart, 0, vs->width * vs->height);
vs->setDirtyRange(0, vs->height);
updateDirtyScreen(kMainVirtScreen);
updatePalette();
+ initScreens(sb, sh);
+
_completeScreenRedraw = true;
// Reset charset mask