aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKari Salminen2007-06-20 23:42:38 +0000
committerKari Salminen2007-06-20 23:42:38 +0000
commit0ebf986a1ff35b4a13ab37485421f9634c032700 (patch)
treec1bc7c2976796383e4a649219b991c164c99c96e
parentdbac0054c19fa7f7ab63f508fcf02bd05f84f599 (diff)
downloadscummvm-rg350-0ebf986a1ff35b4a13ab37485421f9634c032700.tar.gz
scummvm-rg350-0ebf986a1ff35b4a13ab37485421f9634c032700.tar.bz2
scummvm-rg350-0ebf986a1ff35b4a13ab37485421f9634c032700.zip
Make putPixelsA-function use correct mask (0x0f normally for 16 colors, 0xff for 256 colors in AGI256 mode).
svn-id: r27571
-rw-r--r--engines/agi/graphics.cpp3
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;
}
}
}