aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2019-11-06 18:25:50 +0100
committerEugene Sandulenko2019-11-13 22:07:08 +0100
commitdadd6e4cf0f3a70fbd1740b48cf8cac35464bbd5 (patch)
treee31de729db7e6b109be829261d1f61d7e3a7d4ac /engines
parentdfadc426b74f23d49654b969e7408978aa0d3786 (diff)
downloadscummvm-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.cpp18
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)) {