diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 6a1cbe4740d..bf29dbb0469 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -248,6 +248,8 @@ void SegManager::saveLoadWithSerializer(Common::Serializer &s) { s.syncAsSint32LE(_clonesSegId); s.syncAsSint32LE(_listsSegId); s.syncAsSint32LE(_nodesSegId); + + syncArray(s, _classTable); } @@ -343,8 +345,6 @@ void EngineState::saveLoadWithSerializer(Common::Serializer &s) { _segMan->saveLoadWithSerializer(s); - syncArray(s, _segMan->_classTable); - g_sci->_soundCmd->syncPlayList(s); } diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index 6fb11145554..5bb6f7e524c 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -462,8 +462,6 @@ public: public: // TODO: make private Common::Array _heap; - // Only accessible from saveLoadWithSerializer() - Common::Array _classTable; /**< Table of all classes */ #ifdef ENABLE_SCI32 SciArray *allocateArray(reg_t *addr); @@ -476,6 +474,8 @@ public: // TODO: make private #endif private: + // Only accessible from saveLoadWithSerializer() + Common::Array _classTable; /**< Table of all classes */ /** Map script ids to segment ids. */ Common::HashMap _scriptSegMap;