aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/support/avi_surface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/support/avi_surface.cpp')
-rw-r--r--engines/titanic/support/avi_surface.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp
index e43127ccb9..79c1badf61 100644
--- a/engines/titanic/support/avi_surface.cpp
+++ b/engines/titanic/support/avi_surface.cpp
@@ -364,7 +364,7 @@ void AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) {
_movieFrameSurface[0]->h != r.height();
startAtFrame(startFrame);
- while (getFrame() <= (int)endFrame) {
+ while (_currentFrame < (int)endFrame && !g_vm->shouldQuit()) {
if (isNextFrame()) {
renderFrame();
_currentFrame = _decoders[0]->getCurFrame();
@@ -378,12 +378,17 @@ void AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) {
} else {
g_vm->_screen->blitFrom(*_movieFrameSurface[0], Common::Point(r.left, r.top));
}
+
+ g_vm->_screen->update();
+ g_vm->_events->pollEvents();
}
// Brief wait, and check at the same time for clicks to abort the clip
if (g_vm->_events->waitForPress(10))
break;
}
+
+ stop();
}
} // End of namespace Titanic