diff options
author | Paul Gilbert | 2015-04-22 17:36:50 -0500 |
---|---|---|
committer | Paul Gilbert | 2015-04-22 17:36:50 -0500 |
commit | 0a4b722b5d348ba38ab4161cac06597506cbe6cf (patch) | |
tree | c1af8fa55167436dc65dff577eda15cba32fbe91 | |
parent | 214cd61afd6ab60f749263a54127dfbd629147dd (diff) | |
download | scummvm-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.cpp | 12 |
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; + } } } } |