TITANIC: Fix pause during intro credits cutscene

This commit is contained in:
Paul Gilbert 2017-07-15 11:29:21 -04:00
parent 4a6feaefc8
commit fe1617ac51
2 changed files with 13 additions and 5 deletions

View File

@ -472,11 +472,20 @@ Graphics::ManagedSurface *AVISurface::duplicateTransparency() const {
}
void AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) {
bool isDifferent = _movieFrameSurface[0]->w != r.width() ||
_movieFrameSurface[0]->h != r.height();
bool isDifferent = false;
if (_currentFrame != ((int)startFrame - 1) || startFrame == 0) {
// Start video playback at the desired starting frame
setFrame(startFrame);
isDifferent = _movieFrameSurface[0]->w != r.width() ||
_movieFrameSurface[0]->h != r.height();
startAtFrame(startFrame);
_currentFrame = startFrame;
startAtFrame(startFrame);
_currentFrame = startFrame;
} else {
// Already in position, so pick up where we left off
_decoder->start();
}
while (_currentFrame < (int)endFrame && !g_vm->shouldQuit()) {
if (isNextFrame()) {

View File

@ -124,7 +124,6 @@ void OSMovie::playCutscene(const Rect &drawRect, uint startFrame, uint endFrame)
CEventTarget eventTarget;
g_vm->_events->addTarget(&eventTarget);
_aviSurface.setFrame(startFrame);
_aviSurface.playCutscene(drawRect, startFrame, endFrame);
g_vm->_events->removeTarget();