[Scummvm-cvs-logs] SF.net SVN: scummvm: [22372] scummvm/trunk/engines/simon/draw.cpp

kirben at users.sourceforge.net kirben at users.sourceforge.net
Sat May 6 17:33:31 CEST 2006


Revision: 22372
Author:   kirben
Date:     2006-05-06 17:32:00 -0700 (Sat, 06 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22372&view=rev

Log Message:
-----------
Fix slowFadeIn, the code of original Windows version was flawed

Modified Paths:
--------------
    scummvm/trunk/engines/simon/draw.cpp
Modified: scummvm/trunk/engines/simon/draw.cpp
===================================================================
--- scummvm/trunk/engines/simon/draw.cpp	2006-05-06 22:49:57 UTC (rev 22371)
+++ scummvm/trunk/engines/simon/draw.cpp	2006-05-07 00:32:00 UTC (rev 22372)
@@ -467,20 +467,23 @@
 	_fastFadeInFlag &= 0x7fff;
 	_paletteFlag = false;
 
-	memset(_videoBuf1, 0, 768);
-	memcpy(_currentPalette, _displayPalette, 768);
-	memcpy(_videoBuf1 + 768, _displayPalette, 768);
+	memset(_videoBuf1, 0, 1024);
+	memcpy(_currentPalette, _displayPalette, 1024);
+	memcpy(_videoBuf1 + 1024, _displayPalette, 1024);
 
 	for (c = 255; c >= 0; c -= 4) {
-	  	src = _videoBuf1 + 768;
+	  	src = _videoBuf1 + 1024;
  		dst = _videoBuf1;
 
-		for (p = _fastFadeInFlag; p !=0 ; p--) {
-			if (*src >= c)
-				*dst = *dst + 4;
-			
-			src++;
-			dst++;
+		for (p = _fastFadeInFlag; p !=0 ; p -= 3) {
+			if (src[0] >= c)
+				dst[0] += 4;
+			if (src[1] >= c)
+				dst[1] += 4;
+			if (src[2] >= c)
+				dst[2] += 4;
+			src += 4;
+			dst += 4;
  		}
  		_system->setPalette(_videoBuf1, 0, _fastFadeCount);
  		delay(5);


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