aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tsage/saveload.cpp')
-rw-r--r--engines/tsage/saveload.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/tsage/saveload.cpp b/engines/tsage/saveload.cpp
index 8b07767f22..b1c66f944c 100644
--- a/engines/tsage/saveload.cpp
+++ b/engines/tsage/saveload.cpp
@@ -177,6 +177,13 @@ Common::Error Saver::restore(int slot) {
// Loop through each registered object to load in the data
for (SynchronisedList<SavedObject *>::iterator i = _objList.begin(); i != _objList.end(); ++i) {
+ // Saved games can contain PlayerMover objects, but these aren't synchronized.
+ // Fixes loading in scene 5000.
+ // TODO/FIXME: Add a more proper handling for these objects
+ if ((*i)->getClassName() == "PlayerMover") {
+ warning("HACK: PlayerMover object found, skipping synchronization");
+ continue;
+ }
serialiser.validate((*i)->getClassName());
(*i)->synchronise(serialiser);
}