aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/drascula.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-06-10 20:19:44 +0000
committerFilippos Karapetis2008-06-10 20:19:44 +0000
commite03bd801d6606b17b792356aece75cf5d2d3eb8c (patch)
treebfebb2235c6447145a85d12cdd9a72a158daf7f5 /engines/drascula/drascula.cpp
parent3823a23b70ccb7346563e2d46ae3c12acb786712 (diff)
downloadscummvm-rg350-e03bd801d6606b17b792356aece75cf5d2d3eb8c.tar.gz
scummvm-rg350-e03bd801d6606b17b792356aece75cf5d2d3eb8c.tar.bz2
scummvm-rg350-e03bd801d6606b17b792356aece75cf5d2d3eb8c.zip
Fixed character walking in room 14 (the bar, right after BJ is kidnapped). This should fix the issues with the pianist in bug report #1979989 - "DRASCULA : Lip sync error when talking to pianist"
svn-id: r32648
Diffstat (limited to 'engines/drascula/drascula.cpp')
-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();