aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel/saveload.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2011-10-18 19:47:45 +1100
committerPaul Gilbert2011-10-18 19:47:45 +1100
commitca7bc7184652be9673045f5d810ec4bd310c120c (patch)
tree30fb308b5cf0e12d614ed7f5870c5bd96bc3b684 /engines/tinsel/saveload.cpp
parent3b71a3a7fbfc5a1c7d039610b4fc73476651c24e (diff)
downloadscummvm-rg350-ca7bc7184652be9673045f5d810ec4bd310c120c.tar.gz
scummvm-rg350-ca7bc7184652be9673045f5d810ec4bd310c120c.tar.bz2
scummvm-rg350-ca7bc7184652be9673045f5d810ec4bd310c120c.zip
TINSEL: Bugfix for restoring DW1 savegames with a saved scene
This happens, for example, when restoring a savegame of the dragon summoning book close-up. After restoring, you couldn't leave the close up.
Diffstat (limited to 'engines/tinsel/saveload.cpp')
-rw-r--r--engines/tinsel/saveload.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp
index 4ac172be43..a0801d8247 100644
--- a/engines/tinsel/saveload.cpp
+++ b/engines/tinsel/saveload.cpp
@@ -84,6 +84,8 @@ extern void syncPolyInfo(Common::Serializer &s);
extern int sceneCtr;
+extern bool ASceneIsSaved;
+
//----------------- LOCAL DEFINES --------------------
struct SaveGameHeader {
@@ -438,6 +440,11 @@ static void DoSync(Common::Serializer &s) {
SAVED_DATA *sdPtr = SaveSceneSsData;
for (int i = 0; i < *SaveSceneSsCount; ++i, ++sdPtr)
syncSavedData(s, *sdPtr);
+
+ // Flag that there is a saved scene to return to. Note that in this context 'saved scene'
+ // is a stored scene to return to from another scene, such as from the Summoning Book close-up
+ // in Discworld 1 to whatever scene Rincewind was in prior to that
+ ASceneIsSaved = true;
}
if (!TinselV2)