diff options
Diffstat (limited to 'engines/sherlock')
-rw-r--r-- | engines/sherlock/tattoo/tattoo_people.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sherlock/tattoo/tattoo_people.cpp b/engines/sherlock/tattoo/tattoo_people.cpp index 217064fb4a..b4c96fe22a 100644 --- a/engines/sherlock/tattoo/tattoo_people.cpp +++ b/engines/sherlock/tattoo/tattoo_people.cpp @@ -556,14 +556,17 @@ void TattooPerson::walkToCoords(const Point32 &destPos, int destDir) { _updateNPCPath = false; // Secondary walking wait loop - do { + bool done = false; + while (!done && !_vm->shouldQuit()) { events.wait(1); scene.doBgAnim(); // See if we're past the initial goto stand sequence for (int idx = 0; idx < _frameNumber; ++idx) { - if (_walkSequences[_sequenceNumber][idx] == 0) + if (_walkSequences[_sequenceNumber][idx] == 0) { + done = true; break; + } } if (events.kbHit()) { @@ -576,7 +579,7 @@ void TattooPerson::walkToCoords(const Point32 &destPos, int destDir) { talk._talkToAbort = true; } } - } while (!_vm->shouldQuit()); + } if (!isHolmes) _updateNPCPath = true; |