aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorTravis Howell2009-10-26 14:49:01 +0000
committerTravis Howell2009-10-26 14:49:01 +0000
commitb0b1ab70c3a5f71d2c62dcc178611ef51cb0428b (patch)
treef048e9d864772f5411bc1968b7603dc304d8265e /engines/scumm
parentdec5406e416418952a898b57439e707523341a26 (diff)
downloadscummvm-rg350-b0b1ab70c3a5f71d2c62dcc178611ef51cb0428b.tar.gz
scummvm-rg350-b0b1ab70c3a5f71d2c62dcc178611ef51cb0428b.tar.bz2
scummvm-rg350-b0b1ab70c3a5f71d2c62dcc178611ef51cb0428b.zip
Fix charset color in PCE version of Loom.
svn-id: r45407
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/charset.cpp8
-rw-r--r--engines/scumm/palette.cpp3
2 files changed, 5 insertions, 6 deletions
diff --git a/engines/scumm/charset.cpp b/engines/scumm/charset.cpp
index a12636d9a4..5af0c41d6e 100644
--- a/engines/scumm/charset.cpp
+++ b/engines/scumm/charset.cpp
@@ -971,12 +971,12 @@ void CharsetRendererCommon::drawBits1(const Graphics::Surface &s, byte *dst, con
if ((bits & revBitMask(x % 8)) && y + drawTop >= 0) {
if (bitDepth == 2) {
if (_shadowMode != kNoShadowMode) {
- WRITE_UINT16(dst + 2, _shadowColor);
- WRITE_UINT16(dst + s.pitch, _shadowColor);
+ WRITE_UINT16(dst + 2, _vm->_16BitPalette[_shadowColor]);
+ WRITE_UINT16(dst + s.pitch, _vm->_16BitPalette[_shadowColor]);
if (_shadowMode != kFMTOWNSShadowMode)
- WRITE_UINT16(dst + s.pitch + 2, _shadowColor);
+ WRITE_UINT16(dst + s.pitch + 2, _vm->_16BitPalette[_shadowColor]);
}
- WRITE_UINT16(dst, _color);
+ WRITE_UINT16(dst, _vm->_16BitPalette[_color]);
} else {
if (_shadowMode != kNoShadowMode) {
*(dst + 1) = _shadowColor;
diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp
index 57b70f0bbf..1b0edd743d 100644
--- a/engines/scumm/palette.cpp
+++ b/engines/scumm/palette.cpp
@@ -261,9 +261,8 @@ void ScummEngine::setPCEPaletteFromPtr(const byte *ptr) {
}
if (_game.features & GF_16BIT_COLOR) {
- for (int i = firstIndex; i < firstIndex + numcolor - 1; ++i) {
+ for (int i = firstIndex; i < firstIndex + numcolor; ++i)
_16BitPalette[i] = get16BitColor(_currentPalette[i * 3 + 0], _currentPalette[i * 3 + 1], _currentPalette[i * 3 + 2]);
- }
}
setDirtyColors(firstIndex, firstIndex + numcolor - 1);
}