[Scummvm-cvs-logs] SF.net SVN: scummvm: [28367] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Tue Jul 31 21:25:08 CEST 2007


Revision: 28367
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28367&view=rev
Author:   peres001
Date:     2007-07-31 12:25:07 -0700 (Tue, 31 Jul 2007)

Log Message:
-----------
Generalized fadePalette to support custom target palette.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/graphics.cpp
    scummvm/trunk/engines/parallaction/graphics.h
    scummvm/trunk/engines/parallaction/location.cpp

Modified: scummvm/trunk/engines/parallaction/graphics.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.cpp	2007-07-31 19:18:41 UTC (rev 28366)
+++ scummvm/trunk/engines/parallaction/graphics.cpp	2007-07-31 19:25:07 UTC (rev 28367)
@@ -226,11 +226,19 @@
 	return;
 }
 
-void Gfx::fadePalette(Palette pal) {
+void Gfx::fadePalette(Palette pal, Palette target, uint step) {
 
+	if (step == 0)
+		return;
+
 	for (uint16 i = 0; i < BASE_PALETTE_COLORS * 3; i++) {
-		if (pal[i] == _palette[i]) continue;
-		pal[i] += (pal[i] < _palette[i] ? 4 : -4);
+		if (pal[i] == target[i]) continue;
+
+		if (pal[i] < target[i])
+			pal[i] = CLIP(pal[i] + step, (uint)0, (uint)target[i]);
+		else
+			pal[i] = CLIP(pal[i] - step, (uint)target[i], (uint)255);
+
 	}
 
 	return;

Modified: scummvm/trunk/engines/parallaction/graphics.h
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.h	2007-07-31 19:18:41 UTC (rev 28366)
+++ scummvm/trunk/engines/parallaction/graphics.h	2007-07-31 19:25:07 UTC (rev 28367)
@@ -210,7 +210,7 @@
 	void setBlackPalette();
 	void animatePalette();
 	void fadeInPalette(Palette palette);		// fades palette (from black) to system palette
-	void fadePalette(Palette palette);			// fades palette to system palette
+	void fadePalette(Palette palette, Palette target, uint step);			// fades palette to target palette, with specified step
 	void makeGrayscalePalette(Palette palette);		// transform palette into black and white
 
 	// amiga specific

Modified: scummvm/trunk/engines/parallaction/location.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/location.cpp	2007-07-31 19:18:41 UTC (rev 28366)
+++ scummvm/trunk/engines/parallaction/location.cpp	2007-07-31 19:25:07 UTC (rev 28367)
@@ -452,7 +452,7 @@
 
 	// fades maximum intensity palette towards approximation of main palette
 	for (uint16 _si = 0; _si<6; _si++) {
-		_gfx->fadePalette(pal);
+		_gfx->fadePalette(pal, _gfx->_palette, 4);
 		_gfx->setPalette(pal);
 		waitTime( 1 );
 		_gfx->updateScreen();


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