aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorMartin Kiewitz2009-10-17 17:35:41 +0000
committerMartin Kiewitz2009-10-17 17:35:41 +0000
commit387db36f4d7ab78d25dc4954fcad90a447c27f85 (patch)
treee3f151a1ffc097a24062d7aa5e85edf85cf6376d /engines/sci
parenta19cfb48625321f5237d7225dbf45d91aac5167a (diff)
downloadscummvm-rg350-387db36f4d7ab78d25dc4954fcad90a447c27f85.tar.gz
scummvm-rg350-387db36f4d7ab78d25dc4954fcad90a447c27f85.tar.bz2
scummvm-rg350-387db36f4d7ab78d25dc4954fcad90a447c27f85.zip
SCI/newgui: set amiga palette immediately at game start and stop kPalette/animate to do anything on Amiga
svn-id: r45194
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/gui/gui.cpp4
-rw-r--r--engines/sci/gui/gui_palette.cpp2
2 files changed, 6 insertions, 0 deletions
diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp
index 00cb9f8c9b..0f77597da3 100644
--- a/engines/sci/gui/gui.cpp
+++ b/engines/sci/gui/gui.cpp
@@ -469,6 +469,10 @@ void SciGui::paletteSetIntensity(int fromColor, int toColor, int intensity, bool
}
void SciGui::paletteAnimate(int fromColor, int toColor, int speed) {
+ // kAnimate gets called for Amiga as well, but for colors above 32, so it doesnt make sense
+ if (!_s->resMan->isVGA())
+ return;
+
_palette->animate(fromColor, toColor, speed);
}
diff --git a/engines/sci/gui/gui_palette.cpp b/engines/sci/gui/gui_palette.cpp
index e5a81406b9..7b84beb17c 100644
--- a/engines/sci/gui/gui_palette.cpp
+++ b/engines/sci/gui/gui_palette.cpp
@@ -131,6 +131,7 @@ bool SciGuiPalette::setAmiga() {
_sysPalette.colors[curColor].b = (byte2 & 0x0F) * 0x11;
}
file.close();
+ setOnScreen();
return true;
}
return false;
@@ -278,6 +279,7 @@ void SciGuiPalette::animate(byte fromColor, byte toColor, int speed) {
GuiColor col;
int len = toColor - fromColor - 1;
uint32 now = g_system->getMillis() * 60 / 1000;;
+
// search for sheduled animations with the same 'from' value
int sz = _schedules.size();
for (int i = 0; i < sz; i++) {