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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Mon Oct 12 17:52:50 CEST 2009


Revision: 44989
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44989&view=rev
Author:   m_kiewitz
Date:     2009-10-12 15:52:50 +0000 (Mon, 12 Oct 2009)

Log Message:
-----------
SCI/newgui: background of noupdate cels is now correctly saved (was typo) solves sticky cel problem

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

Modified: scummvm/trunk/engines/sci/gui/gui_gfx.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_gfx.cpp	2009-10-12 15:41:19 UTC (rev 44988)
+++ scummvm/trunk/engines/sci/gui/gui_gfx.cpp	2009-10-12 15:52:50 UTC (rev 44989)
@@ -1147,7 +1147,7 @@
 	GuiAnimateList::iterator listBegin = _animateList.begin();
 	GuiAnimateList::iterator listEnd = _animateList.end();
 
-	// Remove all previous cels from screen
+	// Remove all no-update cels, if requested
 	listIterator = _animateList.reverse_begin();
 	while (listIterator != listEnd) {
 		listEntry = *listIterator;
@@ -1174,6 +1174,7 @@
 		listIterator--;
 	}
 
+	// Draw always-update cels
 	listIterator = listBegin;
 	while (listIterator != listEnd) {
 		listEntry = *listIterator;
@@ -1196,6 +1197,7 @@
 		listIterator++;
 	}
 
+	// Saving background for all NoUpdate-cels
 	listIterator = listBegin;
 	while (listIterator != listEnd) {
 		listEntry = *listIterator;
@@ -1208,7 +1210,7 @@
 			} else {
 				signal &= 0xFFFF ^ SCI_ANIMATE_SIGNAL_REMOVEVIEW;
 				if (signal & SCI_ANIMATE_SIGNAL_IGNOREACTOR)
-					bitsHandle = BitsSave(listEntry->celRect, SCI_SCREEN_MASK_PRIORITY|SCI_SCREEN_MASK_PRIORITY);
+					bitsHandle = BitsSave(listEntry->celRect, SCI_SCREEN_MASK_VISUAL|SCI_SCREEN_MASK_PRIORITY);
 				else
 					bitsHandle = BitsSave(listEntry->celRect, SCI_SCREEN_MASK_ALL);
 				PUT_SEL32(curObject, underBits, bitsHandle);
@@ -1218,6 +1220,7 @@
 		listIterator++;
 	}
 
+	// Draw NoUpdate cels
 	listIterator = listBegin;
 	while (listIterator != listEnd) {
 		listEntry = *listIterator;


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