[Scummvm-cvs-logs] SF.net SVN: scummvm:[47495] scummvm/trunk/engines/sci/graphics

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sun Jan 24 11:06:28 CET 2010


Revision: 47495
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47495&view=rev
Author:   m_kiewitz
Date:     2010-01-24 10:06:27 +0000 (Sun, 24 Jan 2010)

Log Message:
-----------
SCI: supporting .used bit 1 in palettes (force direct palette setting) and clipping palette intensity results fixes fade in/out in sq5 intro (some timing problems remain)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/palette.cpp
    scummvm/trunk/engines/sci/graphics/screen.cpp

Modified: scummvm/trunk/engines/sci/graphics/palette.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/palette.cpp	2010-01-24 08:20:22 UTC (rev 47494)
+++ scummvm/trunk/engines/sci/graphics/palette.cpp	2010-01-24 10:06:27 UTC (rev 47495)
@@ -199,8 +199,8 @@
 	for (i = 1 ; i < 255; i++) {
 		if (!pFrom->colors[i].used)// color is not used - so skip it
 			continue;
-		// forced palette merging or dest color is not used yet
-		if (flag == 2 || (!pTo->colors[i].used)) {
+		// forced palette merging or dest color is not used yet or bit 1 of new color is set
+		if (flag == 2 || (!pTo->colors[i].used) || (pFrom->colors[i].used & 2)) {
 			pTo->colors[i].used = pFrom->colors[i].used;
 			pTo->colors[i].r = pFrom->colors[i].r;
 			pTo->colors[i].g = pFrom->colors[i].g;

Modified: scummvm/trunk/engines/sci/graphics/screen.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/screen.cpp	2010-01-24 08:20:22 UTC (rev 47494)
+++ scummvm/trunk/engines/sci/graphics/screen.cpp	2010-01-24 10:06:27 UTC (rev 47495)
@@ -394,9 +394,9 @@
 	for (int16 i = 0; i < 256; i++) {
 		if (!pal->colors[i].used)
 			continue;
-		bpal[i * 4] = pal->colors[i].r * pal->intensity[i] / 100;
-		bpal[i * 4 + 1] = pal->colors[i].g * pal->intensity[i] / 100;
-		bpal[i * 4 + 2] = pal->colors[i].b * pal->intensity[i] / 100;
+		bpal[i * 4] = CLIP(pal->colors[i].r * pal->intensity[i] / 100, 0, 255);
+		bpal[i * 4 + 1] = CLIP(pal->colors[i].g * pal->intensity[i] / 100, 0, 255);
+		bpal[i * 4 + 2] = CLIP(pal->colors[i].b * pal->intensity[i] / 100, 0, 255);
 		bpal[i * 4 + 3] = 100;
 	}
 	g_system->setPalette(bpal, 0, 256);


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