diff options
author | athrxx | 2011-06-17 23:37:21 +0200 |
---|---|---|
committer | athrxx | 2011-06-17 23:38:22 +0200 |
commit | 0881f54a0650e479a30f1ce5e3b22f695495b4b7 (patch) | |
tree | 1d05703fa67d5aba9e1e45bdb99ba6a4a84e6825 /engines/scumm | |
parent | 158c2252ab4fea7fd9ecea62a2439d82b388df1c (diff) | |
download | scummvm-rg350-0881f54a0650e479a30f1ce5e3b22f695495b4b7.tar.gz scummvm-rg350-0881f54a0650e479a30f1ce5e3b22f695495b4b7.tar.bz2 scummvm-rg350-0881f54a0650e479a30f1ce5e3b22f695495b4b7.zip |
SCUMM: fix FM-TOWNS graphics output for ARM devices
(changed behavior of USE_ARM_GFX_ASM define)
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/gfx.cpp | 6 | ||||
-rw-r--r-- | engines/scumm/gfx_towns.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp index 98d447fdaf..d3ff8266a0 100644 --- a/engines/scumm/gfx.cpp +++ b/engines/scumm/gfx.cpp @@ -652,15 +652,15 @@ void ScummEngine::drawStripToScreen(VirtScreen *vs, int x, int width, int top, i assert(0 == (width & 3)); // Compose the text over the game graphics -#ifdef USE_ARM_GFX_ASM - asmDrawStripToScreen(height, width, text, src, _compositeBuf, vs->pitch, width, _textSurface.pitch); -#else #ifndef DISABLE_TOWNS_DUAL_LAYER_MODE if (_game.platform == Common::kPlatformFMTowns) { towns_drawStripToScreen(vs, x, y, x, top, width, height); return; } else #endif +#ifdef USE_ARM_GFX_ASM + asmDrawStripToScreen(height, width, text, src, _compositeBuf, vs->pitch, width, _textSurface.pitch); +#else if (_outputPixelFormat.bytesPerPixel == 2) { const byte *srcPtr = (const byte *)src; const byte *textPtr = (byte *)_textSurface.getBasePtr(x * m, y * m); diff --git a/engines/scumm/gfx_towns.cpp b/engines/scumm/gfx_towns.cpp index 3c96be8b9c..4ec9c1bbf4 100644 --- a/engines/scumm/gfx_towns.cpp +++ b/engines/scumm/gfx_towns.cpp @@ -453,6 +453,8 @@ void TownsScreen::updateOutputBuffer() { int ptch = _pitch - (r->right - r->left + 1) * _pixelFormat.bytesPerPixel; if (_pixelFormat.bytesPerPixel == 2 && l->bpp == 1) { + if (!l->palette) + error("void TownsScreen::updateOutputBuffer(): No palette assigned to 8 bit layer %d", i); for (int ic = 0; ic < l->numCol; ic++) l->bltTmpPal[ic] = calc16BitColor(&l->palette[ic * 3]); } |