aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2017-07-01 17:40:51 -0400
committerPaul Gilbert2017-07-01 17:40:51 -0400
commit72423657e2a4f46d35726a5bb4371c4d1ec4b1bc (patch)
treed5a848ee1448deb88f3ccd8946a0df4f1e63fd0e /engines
parent372610a907a0498b8dc0a7a85f205a2121fe77c6 (diff)
downloadscummvm-rg350-72423657e2a4f46d35726a5bb4371c4d1ec4b1bc.tar.gz
scummvm-rg350-72423657e2a4f46d35726a5bb4371c4d1ec4b1bc.tar.bz2
scummvm-rg350-72423657e2a4f46d35726a5bb4371c4d1ec4b1bc.zip
TITANIC: Fix service lift indicator when going down floors
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/game/service_elevator_window.cpp4
-rw-r--r--engines/titanic/support/avi_surface.cpp1
2 files changed, 3 insertions, 2 deletions
diff --git a/engines/titanic/game/service_elevator_window.cpp b/engines/titanic/game/service_elevator_window.cpp
index 887fd3d086..84c4d7e8de 100644
--- a/engines/titanic/game/service_elevator_window.cpp
+++ b/engines/titanic/game/service_elevator_window.cpp
@@ -70,16 +70,16 @@ bool CServiceElevatorWindow::ServiceElevatorFloorChangeMsg(CServiceElevatorFloor
int count = clip->_endFrame - clip->_startFrame;
int startFrame = clip->_startFrame + count * FACTORS[msg->_startFloor] / 100;
int endFrame = clip->_startFrame + count * FACTORS[msg->_endFloor] / 100;
+
double rate = (startFrame < endFrame ? 1.0 : -1.0) * count / fps;
+ setMovieFrameRate(rate);
if (_notifyFlag) {
// Service elevator indicator
playMovie(startFrame, endFrame, MOVIE_NOTIFY_OBJECT);
- setMovieFrameRate(rate);
} else {
// Background outside elevator
playMovie(startFrame, endFrame, 0);
- setMovieFrameRate(rate);
if (_intoSpace)
playClip("Into Space");
diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp
index 7bfd614109..810c0ec5db 100644
--- a/engines/titanic/support/avi_surface.cpp
+++ b/engines/titanic/support/avi_surface.cpp
@@ -149,6 +149,7 @@ bool AVISurface::startAtFrame(int frameNumber) {
_decoder->start();
// Seek to the starting frame
+ _currentFrame = -1;
seekToFrame(frameNumber);
// If we're in reverse playback, set the decoder to play in reverse