From ae885686a562d551ed83e5c45af06f3b92f0500f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 27 Jun 2015 22:17:49 -0400 Subject: [PATCH] SHERLOCK: RT: Fix walking with a very close dest --- engines/sherlock/tattoo/tattoo_people.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/engines/sherlock/tattoo/tattoo_people.cpp b/engines/sherlock/tattoo/tattoo_people.cpp index 217064fb4ac..b4c96fe22aa 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;