diff options
Diffstat (limited to 'sky')
-rw-r--r-- | sky/control.cpp | 8 | ||||
-rw-r--r-- | sky/mouse.cpp | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sky/control.cpp b/sky/control.cpp index c398cb2ea5..72c5445e5e 100644 --- a/sky/control.cpp +++ b/sky/control.cpp @@ -1499,6 +1499,9 @@ uint16 SkyControl::quickXRestore(uint16 slot) { _savedCharSet = _skyText->giveCurrentCharSet(); _skyText->fnSetFont(0); + _system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, FULL_SCREEN_WIDTH, FULL_SCREEN_HEIGHT); + _system->update_screen(); + if (SkyState::_systemVars.gameVersion < 331) _skyScreen->setPalette(60509); else @@ -1517,6 +1520,11 @@ uint16 SkyControl::quickXRestore(uint16 slot) { memset(_skyScreen->giveCurrent(), 0, GAME_SCREEN_WIDTH * GAME_SCREEN_HEIGHT); _skyScreen->showScreen(_skyScreen->giveCurrent()); _skyScreen->forceRefresh(); + } else { + memset(_screenBuf, 0, FULL_SCREEN_WIDTH * FULL_SCREEN_HEIGHT); + _system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT); + _system->update_screen(); + _skyScreen->showScreen(_skyScreen->giveCurrent()); } _skyScreen->setPaletteEndian((uint8 *)SkyState::fetchCompact(SkyState::_systemVars.currentPalette)); _skyMouse->spriteMouse(_savedMouse, 0, 0); diff --git a/sky/mouse.cpp b/sky/mouse.cpp index 5252461d52..5b718e8d88 100644 --- a/sky/mouse.cpp +++ b/sky/mouse.cpp @@ -82,6 +82,7 @@ SkyMouse::SkyMouse(OSystem *system, SkyDisk *skyDisk) { _skyDisk = skyDisk; _system = system; _mouseB = 0; + _currentCursor = 6; _miceData = _skyDisk->loadFile(MICE_FILE, NULL); fixMouseTransparency(_miceData, _skyDisk->_lastLoadedFileSize); |