aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/location.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/location.cpp')
-rw-r--r--engines/parallaction/location.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/parallaction/location.cpp b/engines/parallaction/location.cpp
index 3c54460692..024938074b 100644
--- a/engines/parallaction/location.cpp
+++ b/engines/parallaction/location.cpp
@@ -25,6 +25,8 @@
#include "common/stdafx.h"
+#include "common/system.h"
+
#include "parallaction/parallaction.h"
#include "parallaction/sound.h"
@@ -249,7 +251,9 @@ void Parallaction::switchBackground(const char* background, const char* mask) {
_si += 3;
}
+ g_system->delayMillis(20);
_gfx->setPalette(pal);
+ _gfx->updateScreen();
}
_disk->loadScenery(background, mask);
@@ -371,6 +375,7 @@ void Parallaction::changeLocation(char *location) {
_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2);
_gfx->setBlackPalette();
+ _gfx->updateScreen();
if (_location._commands.size() > 0) {
runCommands(_location._commands);
@@ -419,7 +424,7 @@ void Parallaction::doLocationEnterTransition() {
}
byte pal[PALETTE_SIZE];
- _gfx->buildBWPalette(pal);
+ _gfx->makeGrayscalePalette(pal);
_gfx->setPalette(pal);
jobRunScripts(NULL, NULL);
@@ -447,9 +452,10 @@ void Parallaction::doLocationEnterTransition() {
// fades maximum intensity palette towards approximation of main palette
for (uint16 _si = 0; _si<6; _si++) {
- _gfx->quickFadePalette(pal);
+ _gfx->fadePalette(pal, _gfx->_palette, 4);
_gfx->setPalette(pal);
waitTime( 1 );
+ _gfx->updateScreen();
}
debugC(1, kDebugLocation, "doLocationEnterTransition completed");