From 53a64266c8963f46be68f54fcd1fb89432a02826 Mon Sep 17 00:00:00 2001 From: Joost Peters Date: Sun, 10 Apr 2005 14:30:24 +0000 Subject: 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 --- gob/driver_vga.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gob') diff --git a/gob/driver_vga.cpp b/gob/driver_vga.cpp index ab870926fb..12add0bf9f 100644 --- a/gob/driver_vga.cpp +++ b/gob/driver_vga.cpp @@ -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]; } -- cgit v1.2.3