aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/items.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/simon/items.cpp')
-rw-r--r--engines/simon/items.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/engines/simon/items.cpp b/engines/simon/items.cpp
index c8e2292d7a..700546c6a4 100644
--- a/engines/simon/items.cpp
+++ b/engines/simon/items.cpp
@@ -1622,20 +1622,18 @@ void SimonEngine::o1_specialFade() {
// 187: fade to black
uint i;
- memcpy(_videoBuf1, _paletteBackup, 1024);
-
- i = NUM_PALETTE_FADEOUT;
- do {
- paletteFadeOut((uint32 *)_videoBuf1, 32);
- paletteFadeOut((uint32 *)_videoBuf1 + 32 + 16, 144);
- paletteFadeOut((uint32 *)_videoBuf1 + 32 + 16 + 144 + 16, 48);
+ memcpy(_videoBuf1, _currentPalette, 1024);
+ for (i = 32; i != 0; --i) {
+ paletteFadeOut(_videoBuf1, 32, 4);
+ paletteFadeOut(_videoBuf1 + 64, 144, 4);
+ paletteFadeOut(_videoBuf1 + 128, 48, 4);
_system->setPalette(_videoBuf1, 0, 256);
delay(5);
- } while (--i);
+ }
- memcpy(_paletteBackup, _videoBuf1, 1024);
- memcpy(_palette, _videoBuf1, 1024);
+ memcpy(_currentPalette, _videoBuf1, 1024);
+ memcpy(_displayPalette, _videoBuf1, 1024);
}
// -----------------------------------------------------------------------
@@ -2132,9 +2130,9 @@ void SimonEngine::o3_setColour() {
uint g = getVarOrByte();
uint b = getVarOrByte();
- _palette[c + 0] = r;
- _palette[c + 1] = g;
- _palette[c + 2] = b;
+ _displayPalette[c + 0] = r;
+ _displayPalette[c + 1] = g;
+ _displayPalette[c + 2] = b;
_paletteFlag = 2;
}