diff options
author | Martin Kiewitz | 2009-12-08 20:54:18 +0000 |
---|---|---|
committer | Martin Kiewitz | 2009-12-08 20:54:18 +0000 |
commit | a2d7505e8118bd7af5fe8f3f2a184af5e6ac3834 (patch) | |
tree | ca3e51302f4edaf656c22651825ada191e3175c1 /engines/sci/engine | |
parent | 5f178e86500b93d6d0c5fb65ce2908522319e703 (diff) | |
download | scummvm-rg350-a2d7505e8118bd7af5fe8f3f2a184af5e6ac3834.tar.gz scummvm-rg350-a2d7505e8118bd7af5fe8f3f2a184af5e6ac3834.tar.bz2 scummvm-rg350-a2d7505e8118bd7af5fe8f3f2a184af5e6ac3834.zip |
SCI: Saving picPort now (fixes loading saved games in castle of dr. brain)
svn-id: r46292
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/savegame.cpp | 15 | ||||
-rw-r--r-- | engines/sci/engine/savegame.h | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 90694cf84f..fb4e658b54 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -340,6 +340,21 @@ void EngineState::saveLoadWithSerializer(Common::Serializer &s) { s.skip(4, VER(12), VER(12)); // obsolete: used to be status_bar_foreground s.skip(4, VER(12), VER(12)); // obsolete: used to be status_bar_background + if (s.getVersion() >= 13) { + // Save/Load picPort as well (cause sierra sci also does this) + int16 picPortTop, picPortLeft; + Common::Rect picPortRect; + if (s.isSaving()) + picPortRect = _gui->getPortPic(&picPortTop, &picPortLeft); + + s.syncBytes((byte *)&picPortRect, sizeof(picPortRect)); + s.syncAsSint16LE(picPortTop); + s.syncAsSint16LE(picPortLeft); + + if (s.isLoading()) + _gui->setPortPic(picPortRect, picPortTop, picPortLeft, true); + } + sync_SegManagerPtr(s, resMan, _segMan); syncArray<Class>(s, _segMan->_classtable); diff --git a/engines/sci/engine/savegame.h b/engines/sci/engine/savegame.h index 95f3099f07..ade9715c48 100644 --- a/engines/sci/engine/savegame.h +++ b/engines/sci/engine/savegame.h @@ -36,7 +36,7 @@ namespace Sci { struct EngineState; enum { - CURRENT_SAVEGAME_VERSION = 12, + CURRENT_SAVEGAME_VERSION = 13, MINIMUM_SAVEGAME_VERSION = 9 }; |