aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/gui')
-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++) {