From eb90d99210947b253fcd6b4e3547dfd5722bdd8a Mon Sep 17 00:00:00 2001 From: Giulio Camuffo Date: Sun, 24 Apr 2011 15:43:45 +0200 Subject: [PATCH] GRIM: Save and restore the path the actor is walking through. --- engines/grim/actor.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/engines/grim/actor.cpp b/engines/grim/actor.cpp index f68765537a7..2d95b03ba8f 100644 --- a/engines/grim/actor.cpp +++ b/engines/grim/actor.cpp @@ -254,6 +254,11 @@ void Actor::saveState(SaveGame *savedState) const { savedState->writeLESint32(_winY1); savedState->writeLESint32(_winX2); savedState->writeLESint32(_winY2); + + savedState->writeLESint32(_path.size()); + for (Common::List::const_iterator i = _path.begin(); i != _path.end(); ++i) { + savedState->writeVector3d(*i); + } } bool Actor::restoreState(SaveGame *savedState) { @@ -414,6 +419,11 @@ bool Actor::restoreState(SaveGame *savedState) { _winX2 = savedState->readLESint32(); _winY2 = savedState->readLESint32(); + size = savedState->readLESint32(); + for (int i = 0; i < size; ++i) { + _path.push_back(savedState->readVector3d()); + } + return true; }