diff options
Diffstat (limited to 'engines/sci/engine/savegame.cpp')
-rw-r--r-- | engines/sci/engine/savegame.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 31fb848a2c..f49853de2f 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -158,6 +158,18 @@ void syncWithSerializer(Common::Serializer &s, SciString &obj) { obj.setValue(i, value); } } + +void syncWithSerializer(Common::Serializer &s, SciBitmap &obj) { + debug("TODO: Sync bitmap"); + +// if (s.isSaving()) { +// size = obj.getSize(); +// s.syncAsUint32LE(size); +// } else { +// s.syncAsUint32LE(size); +// obj.setSize(size); +// } +} #endif #pragma mark - @@ -273,6 +285,8 @@ void SegManager::saveLoadWithSerializer(Common::Serializer &s) { } else if (type == SEG_TYPE_STRING) { // Set the correct segment for SCI32 strings _stringSegId = i; + } else if (s.getVersion() >= 36 && type == SEG_TYPE_BITMAP) { + _bitmapSegId = i; #endif } @@ -687,6 +701,14 @@ void StringTable::saveLoadWithSerializer(Common::Serializer &ser) { sync_Table<StringTable>(ser, *this); } + +void BitmapTable::saveLoadWithSerializer(Common::Serializer &ser) { + if (ser.getVersion() < 36) + return; + + // TODO: Should only include bitmaps with gc = true + sync_Table(ser, *this); +} #endif void GfxPalette::palVarySaveLoadPalette(Common::Serializer &s, Palette *palette) { |