aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/journal.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-07-05 19:16:54 -0400
committerPaul Gilbert2015-07-05 19:16:54 -0400
commit8570f052a39eb6ba4efe3764eb152076fbcd2f76 (patch)
treeeb71d36ac795fdb5118fb1a864a7843f5edec889 /engines/sherlock/journal.cpp
parent24663029035ec9bfd228e2dada39235656ac1daa (diff)
downloadscummvm-rg350-8570f052a39eb6ba4efe3764eb152076fbcd2f76.tar.gz
scummvm-rg350-8570f052a39eb6ba4efe3764eb152076fbcd2f76.tar.bz2
scummvm-rg350-8570f052a39eb6ba4efe3764eb152076fbcd2f76.zip
SHERLOCK: RT: Cleanup and fleshing out of saving
Diffstat (limited to 'engines/sherlock/journal.cpp')
-rw-r--r--engines/sherlock/journal.cpp20
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