From 0fc29972804c12ad9b051574a6e0588ff2b065ee Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 22 Apr 2015 05:06:13 -0500 Subject: SHERLOCK: Fixes for saving and restoring games --- engines/sherlock/events.cpp | 1 + engines/sherlock/scene.cpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/engines/sherlock/events.cpp b/engines/sherlock/events.cpp index f7b473ff7a..f83219d7d2 100644 --- a/engines/sherlock/events.cpp +++ b/engines/sherlock/events.cpp @@ -54,6 +54,7 @@ void Events::loadCursors(const Common::String &filename) { delete _cursorImages; _cursorImages = new ImageFile(filename); + _cursorId = INVALID_CURSOR; } /** diff --git a/engines/sherlock/scene.cpp b/engines/sherlock/scene.cpp index 4671dbdade..316b8739b1 100644 --- a/engines/sherlock/scene.cpp +++ b/engines/sherlock/scene.cpp @@ -1463,7 +1463,11 @@ void Scene::synchronize(Common::Serializer &s) { s.syncAsSint16LE(_overPos.x); s.syncAsSint16LE(_overPos.y); s.syncAsSint16LE(_oldCharPoint); - s.syncAsSint16LE(_goToScene); + + if (s.isSaving()) + s.syncAsSint16LE(_currentScene); + else + s.syncAsSint16LE(_goToScene); for (int sceneNum = 0; sceneNum < SCENES_COUNT; ++sceneNum) { for (int flag = 0; flag < 65; ++flag) { -- cgit v1.2.3