aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/drascula/drascula.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index dd5f0968ff..3419096b65 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -429,12 +429,21 @@ bool DrasculaEngine::runCurrentChapter() {
}
if (currentChapter == 2) {
- if (roomNumber == 3 && (curX == 279) && (curY + curHeight == 101))
+ // NOTE: the checks for room number 14 below are a hack used in the original
+ // game, and move the character to a place where his feet are not drawn above
+ // the pianist's head. Originally, walkToObject was not updated properly, which
+ // lead to an incorrect setting of the protagonist's tracking flag (above). This
+ // made the character start walking off screen, as his actual position was
+ // different than the displayed one
+ if (roomNumber == 3 && (curX == 279) && (curY + curHeight == 101)) {
animation_1_2();
- else if (roomNumber == 14 && (curX == 214) && (curY + curHeight == 121))
+ } else if (roomNumber == 14 && (curX == 214) && (curY + curHeight == 121)) {
+ walkToObject = 1;
gotoObject(190, 130);
- else if (roomNumber == 14 && (curX == 246) && (curY + curHeight == 112))
+ } else if (roomNumber == 14 && (curX == 246) && (curY + curHeight == 112)) {
+ walkToObject = 1;
gotoObject(190, 130);
+ }
}
moveCursor();