diff options
author | Travis Howell | 2009-11-22 08:36:14 +0000 |
---|---|---|
committer | Travis Howell | 2009-11-22 08:36:14 +0000 |
commit | 94e75b8b6d24f3ad0e0dc9f4e6e789948e31f48e (patch) | |
tree | cffd8027ddbb0ae8b71d939ea93f2d3294ecb855 /engines/scumm/gfx.cpp | |
parent | 4b3e3d5601d32f2323634612124d2bf16aa7a4db (diff) | |
download | scummvm-rg350-94e75b8b6d24f3ad0e0dc9f4e6e789948e31f48e.tar.gz scummvm-rg350-94e75b8b6d24f3ad0e0dc9f4e6e789948e31f48e.tar.bz2 scummvm-rg350-94e75b8b6d24f3ad0e0dc9f4e6e789948e31f48e.zip |
Fix charset palette in PCE version of Loom, based on information from Tobias.
svn-id: r46064
Diffstat (limited to 'engines/scumm/gfx.cpp')
-rw-r--r-- | engines/scumm/gfx.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp index 651bbec1ab..2d284e8e7c 100644 --- a/engines/scumm/gfx.cpp +++ b/engines/scumm/gfx.cpp @@ -643,9 +643,14 @@ void ScummEngine::drawStripToScreen(VirtScreen *vs, int x, int width, int top, i for (int h = 0; h < height * m; ++h) { for (int w = 0; w < width * m; ++w) { uint16 tmp = *textPtr++; - if (tmp == CHARSET_MASK_TRANSPARENCY) + if (tmp == CHARSET_MASK_TRANSPARENCY) { tmp = READ_UINT16(srcPtr); - WRITE_UINT16(dstPtr, tmp); dstPtr += 2; + WRITE_UINT16(dstPtr, tmp); dstPtr += 2; + } else if (_game.heversion != 0) { + error ("16Bit Color HE Game using old charset"); + } else { + WRITE_UINT16(dstPtr, _16BitPalette[tmp]); dstPtr += 2; + } srcPtr += vs->bytesPerPixel; } srcPtr += vsPitch; |