diff options
author | sylvaintv | 2011-07-09 03:26:43 +0200 |
---|---|---|
committer | sylvaintv | 2011-07-09 03:26:43 +0200 |
commit | 831d358d425b8d0e2725df87054fd321e6e8dd3b (patch) | |
tree | 8eaa722c2604683817109a13f7d48be55d08b025 | |
parent | 36222c747fb2feb35d8e3b8fae3e9e4eb7657111 (diff) | |
download | scummvm-rg350-831d358d425b8d0e2725df87054fd321e6e8dd3b.tar.gz scummvm-rg350-831d358d425b8d0e2725df87054fd321e6e8dd3b.tar.bz2 scummvm-rg350-831d358d425b8d0e2725df87054fd321e6e8dd3b.zip |
TOON: Fix rare palette glitch during one frame after cutscene
-rw-r--r-- | engines/toon/movie.cpp | 3 | ||||
-rw-r--r-- | engines/toon/toon.cpp | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/engines/toon/movie.cpp b/engines/toon/movie.cpp index 2318eaaac7..7637f4e62f 100644 --- a/engines/toon/movie.cpp +++ b/engines/toon/movie.cpp @@ -94,7 +94,7 @@ void Movie::play(Common::String video, int32 flags) { _vm->getAudioManager()->setMusicVolume(0); _decoder->loadFile(video.c_str()); playVideo(isFirstIntroVideo); - _vm->flushPalette(false); + _vm->flushPalette(true); if (flags & 1) _vm->getAudioManager()->setMusicVolume(_vm->getAudioManager()->isMusicMuted() ? 0 : 255); _decoder->close(); @@ -103,7 +103,6 @@ void Movie::play(Common::String video, int32 flags) { bool Movie::playVideo(bool isFirstIntroVideo) { debugC(1, kDebugMovie, "playVideo(isFirstIntroVideo: %d)", isFirstIntroVideo); - while (!_vm->shouldQuit() && !_decoder->endOfVideo()) { if (_decoder->needsUpdate()) { const Graphics::Surface *frame = _decoder->decodeNextFrame(); diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp index c261ca1db1..401ab3d70e 100644 --- a/engines/toon/toon.cpp +++ b/engines/toon/toon.cpp @@ -690,6 +690,11 @@ bool ToonEngine::showMainmenu(bool &loadedGame) { } } + if (_needPaletteFlush) { + flushPalette(false); + _needPaletteFlush = false; + } + parseInput(); copyToVirtualScreen(true); _system->delayMillis(17); |