From e03bd801d6606b17b792356aece75cf5d2d3eb8c Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 10 Jun 2008 20:19:44 +0000 Subject: 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 --- engines/drascula/drascula.cpp | 15 ++++++++++++--- 1 file 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(); -- cgit v1.2.3