aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/globals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tsage/globals.cpp')
-rw-r--r--engines/tsage/globals.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp
index 00444f3672..81a507102c 100644
--- a/engines/tsage/globals.cpp
+++ b/engines/tsage/globals.cpp
@@ -43,6 +43,12 @@ static SavedObject *classFactoryProc(const Common::String &className) {
if (className == "ObjectMover2") return new ObjectMover2();
if (className == "ObjectMover3") return new ObjectMover3();
if (className == "PlayerMover") return new PlayerMover();
+ // The following is needed, as saved games can contain SceneObjectWrapper
+ // objects (e.g. scene 4050 and 5000).
+ // FIXME: Since SceneObjectWrapper objects are contained within other
+ // objects, I'm not quite sure if this is the best solution (however, saved
+ // games do work with this). If this is correct, please remove this FIXME.
+ if (className == "SceneObjectWrapper") return new SceneObjectWrapper();
return NULL;
}