diff options
-rw-r--r-- | engines/agi/graphics.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/agi/graphics.cpp b/engines/agi/graphics.cpp index 266868d454..2d64a4352e 100644 --- a/engines/agi/graphics.cpp +++ b/engines/agi/graphics.cpp @@ -815,11 +815,12 @@ void GfxMgr::putPixelsA(int x, int y, int n, uint8 *p) { *(uint16 *)&_agiScreen[x + y * GFX_WIDTH] = q & 0x0f0f; } } else { + const uint16 mask = _vm->getFeatures() & (GF_AGI256 | GF_AGI256_2) ? 0xffff : 0x0f0f; for (x *= 2; n--; p++, x += 2) { register uint16 q = ((uint16) * p << 8) | *p; if (_vm->_debug.priority) q >>= 4; - *(uint16 *)&_agiScreen[x + y * GFX_WIDTH] = q & 0x0f0f; + *(uint16 *)&_agiScreen[x + y * GFX_WIDTH] = q & mask; } } } |