[Scummvm-cvs-logs] scummvm master -> 179ef7adb2c7dd0eb790a58748ad374ce92b898d
m-kiewitz
m_kiewitz at users.sourceforge.net
Thu Apr 23 18:54:47 CEST 2015
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
179ef7adb2 SCI: fix Camelot save on map screen bug #6744
Commit: 179ef7adb2c7dd0eb790a58748ad374ce92b898d
https://github.com/scummvm/scummvm/commit/179ef7adb2c7dd0eb790a58748ad374ce92b898d
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-04-23T18:54:07+02:00
Commit Message:
SCI: fix Camelot save on map screen bug #6744
don't put restored script windows into
_windowList[]
Changed paths:
engines/sci/engine/savegame.cpp
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 61f8058..d146cba 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -772,10 +772,17 @@ void GfxPorts::saveLoadWithSerializer(Common::Serializer &s) {
if (window->counterTillFree) {
_freeCounter++;
} else {
- if (window->wndStyle & SCI_WINDOWMGR_STYLE_TOPMOST)
- _windowList.push_front(window);
- else
- _windowList.push_back(window);
+ // we don't put the saved script windows into _windowList[], so that they aren't used
+ // by kernel functions. This is important and would cause issues otherwise.
+ // see Conquests of Camelot - bug #6744 - when saving on the map screen (room 103),
+ // restoring would result in a black window in place
+ // where the area name was displayed before
+ // In Sierra's SCI the behaviour is identical to us
+ // Sierra's SCI won't show those windows after restoring
+ // If this should cause issues in another game, we would have to add a flag to simply
+ // avoid any drawing operations for such windows
+ // We still have to restore script windows, because for example Conquests of Camelot
+ // will immediately delete windows, that were created before saving the game.
}
windowCount--;
More information about the Scummvm-git-logs
mailing list