diff options
author | Eugene Sandulenko | 2019-11-06 18:25:50 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2019-11-13 22:07:08 +0100 |
commit | dadd6e4cf0f3a70fbd1740b48cf8cac35464bbd5 (patch) | |
tree | e31de729db7e6b109be829261d1f61d7e3a7d4ac /engines | |
parent | dfadc426b74f23d49654b969e7408978aa0d3786 (diff) | |
download | scummvm-rg350-dadd6e4cf0f3a70fbd1740b48cf8cac35464bbd5.tar.gz scummvm-rg350-dadd6e4cf0f3a70fbd1740b48cf8cac35464bbd5.tar.bz2 scummvm-rg350-dadd6e4cf0f3a70fbd1740b48cf8cac35464bbd5.zip |
GRIFFON: Fixed endgame fadeouts
Diffstat (limited to 'engines')
-rw-r--r-- | engines/griffon/cutscenes.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/engines/griffon/cutscenes.cpp b/engines/griffon/cutscenes.cpp index b96e469d1a..e98b26578d 100644 --- a/engines/griffon/cutscenes.cpp +++ b/engines/griffon/cutscenes.cpp @@ -283,8 +283,6 @@ void GriffonEngine::endOfGame() { int ticks1 = _ticks; int ya = 0; - _videoBuffer->copyRectToSurface(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h); - float ld = 0; bool ldstop = false; // CHECKME: Check if actually used @@ -305,11 +303,11 @@ void GriffonEngine::endOfGame() { } else break; - _videoBuffer->fillRect(Common::Rect(0, 0, _videoBuffer->w, _videoBuffer->h), 0); - _videoBuffer2->setAlpha(ya); - _videoBuffer2->blit(*_videoBuffer); + _videoBuffer2->fillRect(Common::Rect(0, 0, _videoBuffer2->w, _videoBuffer2->h), 0); + _videoBuffer->setAlpha(255 - ya); + _videoBuffer->blit(*_videoBuffer2); - g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h); + g_system->copyRectToScreen(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h); if (g_system->getEventManager()->pollEvent(_event)) { if (_event.type == Common::EVENT_QUIT) { @@ -517,9 +515,11 @@ void GriffonEngine::theEnd() { } for (float y = 0; y < 100; y += _fpsr) { - _videoBuffer->setAlpha((int)y); - _videoBuffer->fillRect(Common::Rect(0, 0, _videoBuffer->w, _videoBuffer->h), 0); - g_system->copyRectToScreen(_videoBuffer->getPixels(), _videoBuffer->pitch, 0, 0, _videoBuffer->w, _videoBuffer->h); + _videoBuffer2->fillRect(Common::Rect(0, 0, _videoBuffer2->w, _videoBuffer2->h), 0); + _videoBuffer->setAlpha((int)((100.0 - y) / 100 * 255)); + _videoBuffer->blit(*_videoBuffer2); + + g_system->copyRectToScreen(_videoBuffer2->getPixels(), _videoBuffer2->pitch, 0, 0, _videoBuffer2->w, _videoBuffer2->h); g_system->updateScreen(); if (g_system->getEventManager()->pollEvent(_event)) { |