aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/tsage/ringworld_scenes1.cpp9
-rw-r--r--engines/tsage/ringworld_scenes1.h1
-rw-r--r--engines/tsage/saveload.h2
3 files changed, 11 insertions, 1 deletions
diff --git a/engines/tsage/ringworld_scenes1.cpp b/engines/tsage/ringworld_scenes1.cpp
index 3999d4c36d..aad4d5629c 100644
--- a/engines/tsage/ringworld_scenes1.cpp
+++ b/engines/tsage/ringworld_scenes1.cpp
@@ -1840,6 +1840,8 @@ void Scene50::signal() {
}
void Scene50::dispatch() {
+ Scene::dispatch();
+
if ((_sceneMode != 55) && _doorwayRect.contains(_globals->_player._position)) {
// Player in house doorway, start player moving to within
_globals->_player.disableControl();
@@ -1850,6 +1852,13 @@ void Scene50::dispatch() {
}
}
+void Scene50::synchronize(Serializer &s) {
+ Scene::synchronize(s);
+
+ if (s.getVersion() >= 3)
+ _doorwayRect.synchronize(s);
+}
+
/*--------------------------------------------------------------------------
* Scene 60 - Flycycle controls
*
diff --git a/engines/tsage/ringworld_scenes1.h b/engines/tsage/ringworld_scenes1.h
index 18e1ef74bb..2daf902248 100644
--- a/engines/tsage/ringworld_scenes1.h
+++ b/engines/tsage/ringworld_scenes1.h
@@ -309,6 +309,7 @@ public:
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void dispatch();
+ virtual void synchronize(Serializer &s);
};
class Scene60 : public Scene {
diff --git a/engines/tsage/saveload.h b/engines/tsage/saveload.h
index a04bba2773..51b7696590 100644
--- a/engines/tsage/saveload.h
+++ b/engines/tsage/saveload.h
@@ -33,7 +33,7 @@ namespace tSage {
typedef void (*SaveNotifierFn)(bool postFlag);
-#define TSAGE_SAVEGAME_VERSION 2
+#define TSAGE_SAVEGAME_VERSION 3
class SavedObject;