aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula
diff options
context:
space:
mode:
authorThierry Crozat2016-04-09 15:39:34 +0100
committerThierry Crozat2016-04-09 15:43:04 +0100
commit57d782420baf15b38ecd74418693f45606fe1a4d (patch)
tree3e00d1189490e90af9d5353425132fe9e7c36df0 /engines/drascula
parent4cae92a7d4c2dedee7c8bf72728572b37d77a723 (diff)
downloadscummvm-rg350-57d782420baf15b38ecd74418693f45606fe1a4d.tar.gz
scummvm-rg350-57d782420baf15b38ecd74418693f45606fe1a4d.tar.bz2
scummvm-rg350-57d782420baf15b38ecd74418693f45606fe1a4d.zip
DRASCULA: Fix character walking off screen
There was an unhandled case in chapter 2 when the character is at the exact Y location and close to the X location to where we asked him to walk. The code started the walk but without properly setting the curDirection and trackProtagonist variables. This resulted in the walk never stopping. I checked what the original source code is doing for this case and implemented it in the same way: the character does not start walking. This fixes bug #7112: DRASCULA: protagonist walking off the screen
Diffstat (limited to 'engines/drascula')
-rw-r--r--engines/drascula/actors.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/drascula/actors.cpp b/engines/drascula/actors.cpp
index 849e2ccd24..b41647dbbc 100644
--- a/engines/drascula/actors.cpp
+++ b/engines/drascula/actors.cpp
@@ -123,6 +123,8 @@ void DrasculaEngine::startWalking() {
walkUp();
else if (roomY > curY + curHeight)
walkDown();
+ else
+ characterMoved = 0;
} else {
if ((roomX < curX + curWidth / 2 ) && (roomY <= (curY + curHeight)))
quadrant_1();