diff options
Diffstat (limited to 'engines/titanic/support/movie.cpp')
-rw-r--r-- | engines/titanic/support/movie.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/titanic/support/movie.cpp b/engines/titanic/support/movie.cpp index aea51e1a1e..2115906992 100644 --- a/engines/titanic/support/movie.cpp +++ b/engines/titanic/support/movie.cpp @@ -143,6 +143,10 @@ void OSMovie::playCutscene(const Rect &drawRect, uint startFrame, uint endFrame) g_vm->_events->removeTarget(); } +void OSMovie::pause() { + _aviSurface.pause(); +} + void OSMovie::stop() { _aviSurface.stop(); removeFromPlayingMovies(); @@ -161,6 +165,10 @@ void OSMovie::setFrame(uint frameNumber) { } bool OSMovie::handleEvents(CMovieEventList &events) { + // WORKAROUND: If a movie is paused as part of initial + // scene loading, now's the time to un-pause it + _aviSurface.resume(); + if (!_aviSurface.isPlaying()) return false; if (!_aviSurface.isNextFrame()) |