[Scummvm-cvs-logs] SF.net SVN: scummvm: [32196] scummvm/trunk/engines/made

john_doe at users.sourceforge.net john_doe at users.sourceforge.net
Tue May 20 20:01:27 CEST 2008


Revision: 32196
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32196&view=rev
Author:   john_doe
Date:     2008-05-20 11:01:26 -0700 (Tue, 20 May 2008)

Log Message:
-----------
Implemented visual effects 10 and 12

Modified Paths:
--------------
    scummvm/trunk/engines/made/screenfx.cpp
    scummvm/trunk/engines/made/screenfx.h

Modified: scummvm/trunk/engines/made/screenfx.cpp
===================================================================
--- scummvm/trunk/engines/made/screenfx.cpp	2008-05-20 16:37:32 UTC (rev 32195)
+++ scummvm/trunk/engines/made/screenfx.cpp	2008-05-20 18:01:26 UTC (rev 32196)
@@ -68,6 +68,14 @@
 		vfx09(surface, palette, newPalette, colorCount);
 		break;
 
+	case 10:
+		vfx10(surface, palette, newPalette, colorCount);
+		break;
+
+	case 12:
+		vfx12(surface, palette, newPalette, colorCount);
+		break;
+
 	case 14:	// "Screen open" effect
 		vfx14(surface, palette, newPalette, colorCount);
 		break;
@@ -108,7 +116,7 @@
 	if (!_screen->isPaletteLocked()) {
 		int32 mulValue = (value * 64) / maxValue;
 		for (int i = 0; i < colorCount * 3; i++)
-			_fxPalette[i] = newPalette[i] - (newPalette[i] - palette[i]) * mulValue / 64;
+			_fxPalette[i] = CLIP(newPalette[i] - (newPalette[i] - palette[i]) * mulValue / 64, 0, 255);
 		_screen->setRGBPalette(_fxPalette, 0, 256);
 	}
 }
@@ -207,6 +215,24 @@
 	setPalette(palette);
 }
 
+void ScreenEffects::vfx10(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int x = -56; x < 312; x += 8) {
+		copyRect(surface, x, 0, x + 64, 200);
+		setBlendedPalette(palette, newPalette, colorCount, x + 56, 368);
+		_screen->updateScreenAndWait(25);
+	}
+	setPalette(palette);
+}
+
+void ScreenEffects::vfx12(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int y = -70; y < 312; y += 10) {
+		copyRect(surface, 0, y, 320, y + 80);
+		setBlendedPalette(palette, newPalette, colorCount, y + 70, 260);
+		_screen->updateScreenAndWait(25);
+	}
+	setPalette(palette);
+}
+
 // "Screen open" effect
 void ScreenEffects::vfx14(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
 	int16 x = 8, y = 5;

Modified: scummvm/trunk/engines/made/screenfx.h
===================================================================
--- scummvm/trunk/engines/made/screenfx.h	2008-05-20 16:37:32 UTC (rev 32195)
+++ scummvm/trunk/engines/made/screenfx.h	2008-05-20 18:01:26 UTC (rev 32196)
@@ -54,6 +54,8 @@
 	void copyRect(Graphics::Surface *surface, int16 x1, int16 y1, int16 x2, int16 y2);
 	void vfx00(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 	void vfx09(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx10(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx12(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 	void vfx14(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 	void vfx17(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 };


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