Apply "correct handling of transp in drawSprite()" patch by wjp.

(Colour 0 should only be skipped when transp is set)
Fixes wrong colour in intro and clearing of buffer after fades.

svn-id: r17511
This commit is contained in:
Joost Peters 2005-04-10 14:30:24 +00:00
parent 0553720ca0
commit 53a64266c8

View File

@ -37,8 +37,13 @@ void VGAVideoDriver::drawSprite(SurfaceDesc *source, SurfaceDesc *dest, int16 le
byte *srcPos = source->vidPtr + (top * source->width) + left;
byte *destPos = dest->vidPtr + (y * dest->width) + x;
while (height--) {
for (int16 i = 0; i < width; ++i) {
if (srcPos[i])
if (transp) {
for (int16 i = 0; i < width; ++i) {
if (srcPos[i])
destPos[i] = srcPos[i];
}
} else {
for (int16 i = 0; i < width; ++i)
destPos[i] = srcPos[i];
}