aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Mettifogo2007-07-13 20:50:57 +0000
committerNicola Mettifogo2007-07-13 20:50:57 +0000
commit5a851033744189a53886a8db0992b54d5fd1ef3c (patch)
tree6988464850f49a141906779fafa1ee6c6998214c
parent355ac5db2f380d972925baf1ac2013514a30028b (diff)
downloadscummvm-rg350-5a851033744189a53886a8db0992b54d5fd1ef3c.tar.gz
scummvm-rg350-5a851033744189a53886a8db0992b54d5fd1ef3c.tar.bz2
scummvm-rg350-5a851033744189a53886a8db0992b54d5fd1ef3c.zip
Full screen updates aren't automatic after palette changes anymore now. Traded some code pollution with SPEED!
svn-id: r28061
-rw-r--r--engines/parallaction/callables.cpp9
-rw-r--r--engines/parallaction/graphics.cpp5
-rw-r--r--engines/parallaction/location.cpp6
-rw-r--r--engines/parallaction/menu.cpp1
-rw-r--r--engines/parallaction/parallaction.h1
5 files changed, 17 insertions, 5 deletions
diff --git a/engines/parallaction/callables.cpp b/engines/parallaction/callables.cpp
index be92ca1daa..d236766432 100644
--- a/engines/parallaction/callables.cpp
+++ b/engines/parallaction/callables.cpp
@@ -78,7 +78,8 @@ void _c_fade(void *parm) {
_vm->_gfx->fadePalette(pal);
_vm->_gfx->setPalette(pal);
- _vm->waitTime( 1 );
+ g_system->delayMillis(20);
+ _vm->_gfx->updateScreen();
}
return;
@@ -292,6 +293,9 @@ void _c_endComment(void *param) {
}
_vm->_gfx->setPalette(_enginePal);
+ g_system->delayMillis(20);
+ _vm->_gfx->updateScreen();
+
}
waitUntilLeftClick();
@@ -316,11 +320,14 @@ void _c_frankenstein(void *parm) {
for (uint16 _di = 0; _di < 30; _di++) {
g_system->delayMillis(20);
_vm->_gfx->setPalette(pal0, FIRST_BASE_COLOR, BASE_PALETTE_COLORS);
+ _vm->_gfx->updateScreen();
g_system->delayMillis(20);
_vm->_gfx->setPalette(pal1, FIRST_BASE_COLOR, BASE_PALETTE_COLORS);
+ _vm->_gfx->updateScreen();
}
_vm->_gfx->setPalette(_vm->_gfx->_palette);
+ _vm->_gfx->updateScreen();
return;
}
diff --git a/engines/parallaction/graphics.cpp b/engines/parallaction/graphics.cpp
index 67f2463038..7474316460 100644
--- a/engines/parallaction/graphics.cpp
+++ b/engines/parallaction/graphics.cpp
@@ -30,9 +30,6 @@
#include "parallaction/parallaction.h"
-
-extern OSystem *g_system;
-
namespace Parallaction {
byte * Gfx::_buffers[];
@@ -142,7 +139,7 @@ void Gfx::setPalette(Palette pal, uint32 first, uint32 num) {
if (_vm->getPlatform() == Common::kPlatformAmiga)
g_system->setPalette(sysExtraPal, first+FIRST_EHB_COLOR, num);
- g_system->updateScreen();
+// g_system->updateScreen();
return;
}
diff --git a/engines/parallaction/location.cpp b/engines/parallaction/location.cpp
index 3c54460692..34d2dd6a18 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);
@@ -450,6 +455,7 @@ void Parallaction::doLocationEnterTransition() {
_gfx->quickFadePalette(pal);
_gfx->setPalette(pal);
waitTime( 1 );
+ _gfx->updateScreen();
}
debugC(1, kDebugLocation, "doLocationEnterTransition completed");
diff --git a/engines/parallaction/menu.cpp b/engines/parallaction/menu.cpp
index 427f24a467..7c182a56a5 100644
--- a/engines/parallaction/menu.cpp
+++ b/engines/parallaction/menu.cpp
@@ -435,6 +435,7 @@ void Menu::selectCharacter() {
}
_vm->_gfx->setBlackPalette();
+ _vm->_gfx->updateScreen();
_engineFlags |= kEngineChangeLocation;
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index 561b15acc9..ad8db9e3f4 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -43,6 +43,7 @@ namespace GUI {
class CommandSender;
}
+extern OSystem *g_system;
namespace Parallaction {