diff options
-rw-r--r-- | engines/scumm/palette.cpp | 9 | ||||
-rw-r--r-- | sound/mods/maxtrax.h | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp index 5b0183f47f..1b531f6bab 100644 --- a/engines/scumm/palette.cpp +++ b/engines/scumm/palette.cpp @@ -201,8 +201,13 @@ void ScummEngine::setPaletteFromPtr(const byte *ptr, int numcolor) { assertRange(0, numcolor, 256, "setPaletteFromPtr: numcolor"); dest = _currentPalette; + if ((_game.platform == Common::kPlatformAmiga) && _game.version == 4 && _renderMode != Common::kRenderEGA) { + firstIndex = 16; + dest += 3 * 16; + ptr += 3 * 16; + } - for (i = 0; i < numcolor; i++) { + for (i = firstIndex; i < numcolor; i++) { r = *ptr++; g = *ptr++; b = *ptr++; @@ -227,7 +232,7 @@ void ScummEngine::setPaletteFromPtr(const byte *ptr, int numcolor) { memcpy(_darkenPalette, _currentPalette, 768); } - setDirtyColors(0, numcolor - 1); + setDirtyColors(firstIndex, numcolor - 1); } void ScummEngine::setDirtyColors(int min, int max) { diff --git a/sound/mods/maxtrax.h b/sound/mods/maxtrax.h index f5845e617f..c75a14c237 100644 --- a/sound/mods/maxtrax.h +++ b/sound/mods/maxtrax.h @@ -205,7 +205,7 @@ private: int32 stopEventTime; } _voiceCtx[kNumVoices]; - void MaxTrax::controlCh(ChannelContext &channel, byte command, byte data); + void controlCh(ChannelContext &channel, byte command, byte data); void freePatches(); void freeScores(); void resetChannel(ChannelContext &chan, bool rightChannel); |