aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2015-04-22 17:36:50 -0500
committerPaul Gilbert2015-04-22 17:36:50 -0500
commit0a4b722b5d348ba38ab4161cac06597506cbe6cf (patch)
treec1af8fa55167436dc65dff577eda15cba32fbe91
parent214cd61afd6ab60f749263a54127dfbd629147dd (diff)
downloadscummvm-rg350-0a4b722b5d348ba38ab4161cac06597506cbe6cf.tar.gz
scummvm-rg350-0a4b722b5d348ba38ab4161cac06597506cbe6cf.tar.bz2
scummvm-rg350-0a4b722b5d348ba38ab4161cac06597506cbe6cf.zip
SHERLOCK: Fix leaving scenes via exit zones
-rw-r--r--engines/sherlock/objects.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index ec8bb4f551..a1ead2c437 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -161,11 +161,15 @@ void Sprite::adjustSprite() {
Exit *exit = scene.checkForExit(charRect);
if (exit) {
- scene._hsavedPos = exit->_people;
- scene._hsavedFs = exit->_peopleDir;
+ scene._goToScene = exit->_scene;
- if (scene._hsavedFs > 100 && scene._hsavedPos.x < 1)
- scene._hsavedPos.x = 100;
+ if (exit->_people.x != 0) {
+ scene._hsavedPos = exit->_people;
+ scene._hsavedFs = exit->_peopleDir;
+
+ if (scene._hsavedFs > 100 && scene._hsavedPos.x < 1)
+ scene._hsavedPos.x = 100;
+ }
}
}
}