diff options
Diffstat (limited to 'engines/sherlock/journal.cpp')
-rw-r--r-- | engines/sherlock/journal.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/sherlock/journal.cpp b/engines/sherlock/journal.cpp index 6a4347ae04..9441d6682a 100644 --- a/engines/sherlock/journal.cpp +++ b/engines/sherlock/journal.cpp @@ -683,4 +683,24 @@ void Journal::loadJournalFile(bool alreadyLoaded) { } } +void Journal::synchronize(Serializer &s) { + s.syncAsSint16LE(_index); + s.syncAsSint16LE(_sub); + s.syncAsSint16LE(_page); + s.syncAsSint16LE(_maxPage); + + int journalCount = _journal.size(); + s.syncAsUint16LE(journalCount); + if (s.isLoading()) + _journal.resize(journalCount); + + for (uint idx = 0; idx < _journal.size(); ++idx) { + JournalEntry &je = _journal[idx]; + + s.syncAsSint16LE(je._converseNum); + s.syncAsByte(je._replyOnly); + s.syncAsSint16LE(je._statementNum); + } +} + } // End of namespace Sherlock |