diff options
-rw-r--r-- | engines/titanic/support/avi_surface.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp index a7d6ef5fb6..bddbb9808e 100644 --- a/engines/titanic/support/avi_surface.cpp +++ b/engines/titanic/support/avi_surface.cpp @@ -205,7 +205,14 @@ bool AVISurface::handleEvents(CMovieEventList &events) { // Not empty, so move onto new first one info = _movieRangeInfo.front(); newFrame = info->_startFrame; - setFrameRate(info->_endFrame < info->_startFrame ? -DEFAULT_FPS : DEFAULT_FPS); + bool reversed = info->_endFrame < info->_startFrame; + + if (isReversed() != reversed) + // Direction is different, so force frame seek below + _priorFrame = -1; + + // Set the next clip's direction + setFrameRate(reversed ? -DEFAULT_FPS : DEFAULT_FPS); } } } |