[Scummvm-cvs-logs] scummvm master -> 78c00744c21b95e98f022f037dbb38591112a104

wjp wjp at usecode.org
Fri Mar 4 00:29:00 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
78c00744c2 SCI: Add fixme for EGA flood fill bug (#3078365)


Commit: 78c00744c21b95e98f022f037dbb38591112a104
    https://github.com/scummvm/scummvm/commit/78c00744c21b95e98f022f037dbb38591112a104
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-03-03T15:28:23-08:00

Commit Message:
SCI: Add fixme for EGA flood fill bug (#3078365)

Changed paths:
    engines/sci/graphics/screen.cpp



diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index b019853..ef2bffc 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -357,6 +357,13 @@ byte GfxScreen::isFillMatch(int16 x, int16 y, byte screenMask, byte t_color, byt
 	int offset = y * _width + x;
 	byte match = 0;
 
+	// FIXME:
+	// This does not behave properly in EGA games where a pixel in the
+	// framebuffer is only 4 bits. We store a full byte per pixel to allow
+	// undithering, but when comparing pixels for flood-fill purposes, we
+	// should only compare the visible color of a pixel (with dithering
+	// enabled). See bug #3078365. Also see IS_BOUNDARY in FreeSCI's picfill.
+
 	if ((screenMask & GFX_SCREEN_MASK_VISUAL) && *(_visualScreen + offset) == t_color)
 		match |= GFX_SCREEN_MASK_VISUAL;
 	if ((screenMask & GFX_SCREEN_MASK_PRIORITY) && *(_priorityScreen + offset) == t_pri)






More information about the Scummvm-git-logs mailing list