diff options
author | Thierry Crozat | 2016-04-09 15:39:34 +0100 |
---|---|---|
committer | Thierry Crozat | 2016-04-09 15:43:04 +0100 |
commit | 57d782420baf15b38ecd74418693f45606fe1a4d (patch) | |
tree | 3e00d1189490e90af9d5353425132fe9e7c36df0 /engines/drascula | |
parent | 4cae92a7d4c2dedee7c8bf72728572b37d77a723 (diff) | |
download | scummvm-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.cpp | 2 |
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(); |