aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/savegame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/savegame.cpp')
-rw-r--r--engines/sci/engine/savegame.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 4c16770fc5..a82499adc4 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -103,6 +103,10 @@ void syncWithSerializer(Common::Serializer &s, Node &obj) {
syncWithSerializer(s, obj.value);
}
+void syncWithSerializer(Common::Serializer &s, bool &obj) {
+ s.syncAsByte(obj);
+}
+
#pragma mark -
// By default, sync using syncWithSerializer, which in turn can easily be overloaded.
@@ -415,6 +419,12 @@ void Object::saveLoadWithSerializer(Common::Serializer &s) {
s.syncAsSint32LE(_methodCount); // that's actually a uint16
syncArray<reg_t>(s, _variables);
+ if (s.getVersion() >= 42 && getSciVersion() == SCI_VERSION_3) {
+ syncArray<bool>(s, _mustSetViewVisible);
+ syncWithSerializer(s, _superClassPosSci3);
+ syncWithSerializer(s, _speciesSelectorSci3);
+ syncWithSerializer(s, _infoSelectorSci3);
+ }
}