aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2015-04-27 02:18:57 -0500
committerPaul Gilbert2015-04-27 02:18:57 -0500
commit80fba27cb372c052a912e23595fcd201fd688acf (patch)
treea753c7583da9aceb1ba8342678861b570d062c97
parent3a8aa6956812d8e69c6b5e1021ba5c05e3fe0b0b (diff)
downloadscummvm-rg350-80fba27cb372c052a912e23595fcd201fd688acf.tar.gz
scummvm-rg350-80fba27cb372c052a912e23595fcd201fd688acf.tar.bz2
scummvm-rg350-80fba27cb372c052a912e23595fcd201fd688acf.zip
SHERLOCK: Fix analysing flower on lab table
-rw-r--r--engines/sherlock/scene.cpp3
-rw-r--r--engines/sherlock/talk.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/engines/sherlock/scene.cpp b/engines/sherlock/scene.cpp
index 7b885a2cb9..f6fe8c8671 100644
--- a/engines/sherlock/scene.cpp
+++ b/engines/sherlock/scene.cpp
@@ -1014,6 +1014,9 @@ int Scene::startCAnim(int cAnimNum, int playRate) {
while (--temp > 0) {
cObj._frameNumber--;
doBgAnim();
+
+ if (_vm->shouldQuit())
+ return 0;
}
cObj._frameNumber += dir;
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index ea2cb16252..427be09cc3 100644
--- a/engines/sherlock/talk.cpp
+++ b/engines/sherlock/talk.cpp
@@ -1117,7 +1117,7 @@ void Talk::doScript(const Common::String &script) {
// doing bg anims in the next call, so we need to know where to return to
++str;
_scriptCurrentIndex = (str + 1) - script.c_str();
- scene.startCAnim(((byte)str[0] - 1) & 127, 1 + ((byte)str[0] & 128));
+ scene.startCAnim(((byte)str[0] - 1) & 127, ((byte)str[0] & 128) ? -1 : 1);
if (_talkToAbort)
return;