[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