aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/scalpel
diff options
context:
space:
mode:
authorPaul Gilbert2015-08-16 13:42:58 -0400
committerPaul Gilbert2015-08-16 13:42:58 -0400
commit8950549b440d6649bf1021015f72c2af919703fe (patch)
tree5a9c255a815d77f5be062e4b2266dbf7cd9cb2d3 /engines/sherlock/scalpel
parent621a37bbe30756a7983c1e5463389539898d41a5 (diff)
downloadscummvm-rg350-8950549b440d6649bf1021015f72c2af919703fe.tar.gz
scummvm-rg350-8950549b440d6649bf1021015f72c2af919703fe.tar.bz2
scummvm-rg350-8950549b440d6649bf1021015f72c2af919703fe.zip
SHERLOCK: Further fixes to character movement across saves
Restoring movement across save didn't work, so properly handle stopping any moving characters when loading a savegame
Diffstat (limited to 'engines/sherlock/scalpel')
-rw-r--r--engines/sherlock/scalpel/scalpel_people.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/engines/sherlock/scalpel/scalpel_people.cpp b/engines/sherlock/scalpel/scalpel_people.cpp
index 9ff3127020..0b8caf3721 100644
--- a/engines/sherlock/scalpel/scalpel_people.cpp
+++ b/engines/sherlock/scalpel/scalpel_people.cpp
@@ -371,15 +371,11 @@ Common::Point ScalpelPerson::getSourcePoint() const {
}
void ScalpelPerson::synchronize(Serializer &s) {
+ if (_walkCount)
+ gotoStand();
+
s.syncAsSint32LE(_position.x);
s.syncAsSint32LE(_position.y);
- s.syncAsSint32LE(_delta.x);
- s.syncAsSint32LE(_delta.y);
- s.syncAsSint16LE(_sequenceNumber);
- s.syncAsSint16LE(_walkCount);
-
- // Walk to list
- _walkTo.synchronize(s);
}
/*----------------------------------------------------------------*/