[Scummvm-cvs-logs] SF.net SVN: scummvm:[45006] scummvm/trunk/engines/sci/gui/gui_picture.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Tue Oct 13 10:09:17 CEST 2009


Revision: 45006
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45006&view=rev
Author:   m_kiewitz
Date:     2009-10-13 08:09:17 +0000 (Tue, 13 Oct 2009)

Log Message:
-----------
SCI/newgui: floodfill / remove screenMasks that are already filled with the right value (otherwise we could get into an endless loop)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/gui/gui_picture.cpp

Modified: scummvm/trunk/engines/sci/gui/gui_picture.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_picture.cpp	2009-10-13 08:03:09 UTC (rev 45005)
+++ scummvm/trunk/engines/sci/gui/gui_picture.cpp	2009-10-13 08:09:17 UTC (rev 45006)
@@ -599,6 +599,14 @@
 			return;
 	}
 
+	// Now remove screens, that already got the right color/priority/control
+	if ((screenMask & SCI_SCREEN_MASK_VISUAL) && (searchColor == color))
+		screenMask ^= SCI_SCREEN_MASK_VISUAL;
+	if ((screenMask & SCI_SCREEN_MASK_PRIORITY) && (searchPriority == priority))
+		screenMask ^= SCI_SCREEN_MASK_PRIORITY;
+	if ((screenMask & SCI_SCREEN_MASK_CONTROL) && (searchControl == control))
+		screenMask ^= SCI_SCREEN_MASK_CONTROL;
+
 	// hard borders for filling
 	int l = curPort->rect.left + curPort->left;
 	int t = curPort->rect.top + curPort->top;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list