aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/parallaction/walk.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/engines/parallaction/walk.cpp b/engines/parallaction/walk.cpp
index 2a412fb8a2..fc8447f20e 100644
--- a/engines/parallaction/walk.cpp
+++ b/engines/parallaction/walk.cpp
@@ -422,6 +422,7 @@ void PathWalker_BR::setCharacterPath(AnimationPtr a, uint16 x, uint16 y) {
_character._a = a;
_character._first = true;
_character._fieldC = 1;
+ _character._walkDelay = 0;
buildPath(_character, x, y);
_character._active = true;
}
@@ -585,19 +586,16 @@ void PathWalker_BR::doWalk(State &s) {
debugC(3, kDebugWalk, "PathWalker_BR::doWalk(%s)", s._a->_name);
-#if 0
- // TODO: support delays in walking. This requires extending Input::walkIo().
- if (ch._walkDelay > 0) {
- ch._walkDelay--;
- if (ch._walkDelay == 0 && _ch._ani->_scriptName) {
+ if (s._walkDelay > 0) {
+ s._walkDelay--;
+ if (s._walkDelay == 0 && s._a->_scriptName) {
// stop script and reset
- _ch._ani->_flags &= ~kFlagsActing;
- Script *script = findScript(_ch._ani->_scriptName);
- script->_nextCommand = script->firstCommand;
+ s._a->_flags &= ~kFlagsActing;
+// _vm->_programExec->resetProgram(s._a->_scriptName);
}
return;
}
-#endif
+
if (s._fieldC == 0) {
s._walkPath.erase(s._walkPath.begin());