aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/titanic/support/avi_surface.cpp9
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);
}
}
}