diff options
Diffstat (limited to 'engines')
-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]); } |