diff options
author | Filippos Karapetis | 2014-11-04 12:40:08 +0200 |
---|---|---|
committer | Filippos Karapetis | 2014-11-04 12:40:08 +0200 |
commit | c9a60233d587fd67ec00aeb494e8a7c1df4d2a3f (patch) | |
tree | dac38880ce86a4c0460c7f3fe7c46a30d7a83bbf | |
parent | d8e650b4cbfd76ed448e5ebc2caab3db5b1d1d55 (diff) | |
download | scummvm-rg350-c9a60233d587fd67ec00aeb494e8a7c1df4d2a3f.tar.gz scummvm-rg350-c9a60233d587fd67ec00aeb494e8a7c1df4d2a3f.tar.bz2 scummvm-rg350-c9a60233d587fd67ec00aeb494e8a7c1df4d2a3f.zip |
GROOVIE: More bugfixes for V2 puzzle overlay videos
-rw-r--r-- | engines/groovie/roq.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/groovie/roq.cpp b/engines/groovie/roq.cpp index 1996181571..49d6158973 100644 --- a/engines/groovie/roq.cpp +++ b/engines/groovie/roq.cpp @@ -169,7 +169,9 @@ bool ROQPlayer::playFrameInternal() { } // Wait until the current frame can be shown - waitFrame(); + // Don't wait if we're just showing one frame + if (!(_alpha && !_flagTwo)) + waitFrame(); if (_dirty) { // Update the screen @@ -177,6 +179,10 @@ bool ROQPlayer::playFrameInternal() { _syst->copyRectToScreen(src, _bg->pitch, 0, (_syst->getHeight() - _bg->h) / 2, _bg->w, _bg->h); _syst->updateScreen(); + // For overlay videos, set the background buffer when the video ends + if (_alpha && (!_flagTwo || (_flagTwo && _file->eos()))) + _bg->copyFrom(*_fg); + // Clear the dirty flag _dirty = false; } |