diff options
Diffstat (limited to 'engines/sci/gui')
-rw-r--r-- | engines/sci/gui/gui.cpp | 4 | ||||
-rw-r--r-- | engines/sci/gui/gui_palette.cpp | 2 |
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++) { |