mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-04 01:46:42 +00:00
More palette changes needed for HE 7.0 games.
svn-id: r14202
This commit is contained in:
parent
a98f67562b
commit
d189654e55
@ -588,40 +588,39 @@ void ScummEngine::darkenPalette(int redScale, int greenScale, int blueScale, int
|
||||
|
||||
if (startColor <= endColor) {
|
||||
const byte *cptr;
|
||||
byte *cur;
|
||||
int j;
|
||||
int color;
|
||||
|
||||
cptr = getPalettePtr(_curPalIndex) + startColor * 3;
|
||||
cur = _currentPalette + startColor * 3;
|
||||
int color, idx, j;
|
||||
|
||||
for (j = startColor; j <= endColor; j++) {
|
||||
// FIXME: Hack to fix Amiga palette adjustments
|
||||
if ((_features & GF_AMIGA && _version == 5) && (j >= 16 && j < 81)) {
|
||||
cptr += 3;
|
||||
cur += 3;
|
||||
if ((_features & GF_AMIGA && _version == 5) && (j >= 16 && j < 81))
|
||||
continue;
|
||||
}
|
||||
|
||||
idx = (_heversion == 70) ? _HEV7ActorPalette[j] : j;
|
||||
cptr = getPalettePtr(_curPalIndex) + idx * 3;
|
||||
|
||||
if (_heversion == 70)
|
||||
setDirtyColors(idx, idx);
|
||||
|
||||
color = *cptr++;
|
||||
color = color * redScale / 0xFF;
|
||||
if (color > 255)
|
||||
color = 255;
|
||||
*cur++ = color;
|
||||
_currentPalette[idx * 3 + 0] = color;
|
||||
|
||||
color = *cptr++;
|
||||
color = color * greenScale / 0xFF;
|
||||
if (color > 255)
|
||||
color = 255;
|
||||
*cur++ = color;
|
||||
_currentPalette[idx * 3 + 1] = color;
|
||||
|
||||
color = *cptr++;
|
||||
color = color * blueScale / 0xFF;
|
||||
if (color > 255)
|
||||
color = 255;
|
||||
*cur++ = color;
|
||||
_currentPalette[idx * 3 + 2] = color;
|
||||
}
|
||||
setDirtyColors(startColor, endColor);
|
||||
if (_heversion != 70)
|
||||
setDirtyColors(startColor, endColor);
|
||||
}
|
||||
}
|
||||
|
||||
@ -809,6 +808,9 @@ void ScummEngine::copyPalColor(int dst, int src) {
|
||||
}
|
||||
|
||||
void ScummEngine::setPalColor(int idx, int r, int g, int b) {
|
||||
if (_heversion == 70)
|
||||
idx = _HEV7ActorPalette[idx];
|
||||
|
||||
_currentPalette[idx * 3 + 0] = r;
|
||||
_currentPalette[idx * 3 + 1] = g;
|
||||
_currentPalette[idx * 3 + 2] = b;
|
||||
|
Loading…
x
Reference in New Issue
Block a user