diff options
author | Bastien Bouclet | 2018-07-02 21:04:19 +0200 |
---|---|---|
committer | Bastien Bouclet | 2018-07-02 21:48:19 +0200 |
commit | 9aeb4a356e886cb7a34adfebb3be46d445fcfc54 (patch) | |
tree | 45a11d9633ec3c4df62633f0ebc7c21cbaa0053b /engines/mohawk/myst.cpp | |
parent | 7df014ea6d63c8ebb831fda2aa69401c4544eebc (diff) | |
download | scummvm-rg350-9aeb4a356e886cb7a34adfebb3be46d445fcfc54.tar.gz scummvm-rg350-9aeb4a356e886cb7a34adfebb3be46d445fcfc54.tar.bz2 scummvm-rg350-9aeb4a356e886cb7a34adfebb3be46d445fcfc54.zip |
MOHAWK: MYST: Always clear the screen before playing fullscreen movies
Fixes the broderbund logo movie being partially visible when the Cyan
logo is playing.
Fixes Trac#10595.
Diffstat (limited to 'engines/mohawk/myst.cpp')
-rw-r--r-- | engines/mohawk/myst.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp index c936046a16..bbd72be956 100644 --- a/engines/mohawk/myst.cpp +++ b/engines/mohawk/myst.cpp @@ -230,6 +230,15 @@ VideoEntryPtr MohawkEngine_Myst::playMovie(const Common::String &name, MystStack return video; } +VideoEntryPtr MohawkEngine_Myst::playMovieFullscreen(const Common::String &name, MystStack stack) { + _gfx->clearScreen(); + + VideoEntryPtr video = playMovie(name, stack); + video->center(); + return video; +} + + VideoEntryPtr MohawkEngine_Myst::findVideo(const Common::String &name, MystStack stack) { Common::String filename = wrapMovieFilename(name, stack); return _video->findVideo(filename); @@ -280,15 +289,14 @@ void MohawkEngine_Myst::playFlybyMovie(MystStack stack, uint16 card) { return; } + _gfx->clearScreen(); + Common::String filename = wrapMovieFilename(flyby, kMasterpieceOnly); VideoEntryPtr video = _video->playMovie(filename, Audio::Mixer::kSFXSoundType); if (!video) { error("Failed to open the '%s' movie", filename.c_str()); } - // Clear screen - _system->fillScreen(_system->getScreenFormat().RGBToColor(0, 0, 0)); - video->center(); waitUntilMovieEnds(video); } @@ -606,10 +614,7 @@ void MohawkEngine_Myst::changeToStack(MystStack stackId, uint16 card, uint16 lin _sound->stopBackground(); - if (getFeatures() & GF_ME) - _system->fillScreen(_system->getScreenFormat().RGBToColor(0, 0, 0)); - else - _gfx->clearScreenPalette(); + _gfx->clearScreen(); if (linkSrcSound) playSoundBlocking(linkSrcSound); |