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

john_doe at users.sourceforge.net john_doe at users.sourceforge.net
Sat Oct 18 23:28:05 CEST 2008


Revision: 34823
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34823&view=rev
Author:   john_doe
Date:     2008-10-18 21:28:05 +0000 (Sat, 18 Oct 2008)

Log Message:
-----------
Implemented visual effects 1, 3, 4, 5, 6, 7 and 16

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-10-18 13:06:27 UTC (rev 34822)
+++ scummvm/trunk/engines/made/screenfx.cpp	2008-10-18 21:28:05 UTC (rev 34823)
@@ -64,10 +64,34 @@
 		vfx00(surface, palette, newPalette, colorCount);
 		break;
 
+	case 1:
+		vfx01(surface, palette, newPalette, colorCount);
+		break;
+
 	case 2:
 		vfx02(surface, palette, newPalette, colorCount);
 		break;
 
+	case 3:
+		vfx03(surface, palette, newPalette, colorCount);
+		break;
+
+	case 4:
+		vfx04(surface, palette, newPalette, colorCount);
+		break;
+
+	case 5:
+		vfx05(surface, palette, newPalette, colorCount);
+		break;
+
+	case 6:
+		vfx06(surface, palette, newPalette, colorCount);
+		break;
+
+	case 7:
+		vfx07(surface, palette, newPalette, colorCount);
+		break;
+
 	case 9:		// "Checkerboard" effect
 		vfx09(surface, palette, newPalette, colorCount);
 		break;
@@ -96,6 +120,10 @@
 		vfx15(surface, palette, newPalette, colorCount);
 		break;
 
+	case 16:
+		vfx16(surface, palette, newPalette, colorCount);
+		break;
+
 	case 17:	// Palette fadeout/fadein
 		vfx17(surface, palette, newPalette, colorCount);
 		break;
@@ -229,10 +257,19 @@
 void ScreenEffects::vfx00(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
 	setPalette(palette);
 	_screen->showWorkScreen();
-	// FIXME: For Manhole; causes sluggish mouse
+	// Workaround for The Manhole, else animations will be shown too fast
 	_screen->updateScreenAndWait(100);
 }
 
+void ScreenEffects::vfx01(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int x = 0; x < 320; x += 8) {
+		copyRect(surface, x, 0, x + 8, 200);
+		setBlendedPalette(palette, newPalette, colorCount, x, 312);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
 void ScreenEffects::vfx02(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
 	for (int x = 312; x >= 0; x -= 8) {
 		copyRect(surface, x, 0, x + 8, 200);
@@ -242,6 +279,54 @@
  	setPalette(palette);
 }
 
+void ScreenEffects::vfx03(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int y = 0; y < 200; y += 10) {
+		copyRect(surface, 0, y, 320, y + 10);
+		setBlendedPalette(palette, newPalette, colorCount, y, 190);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
+void ScreenEffects::vfx04(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int y = 190; y >= 0; y -= 10) {
+		copyRect(surface, 0, y, 320, y + 10);
+		setBlendedPalette(palette, newPalette, colorCount, 190 - y, 190);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
+void ScreenEffects::vfx05(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int y = 0; y < 100; y += 10) {
+		copyRect(surface, 0, y + 100, 320, y + 110);
+		copyRect(surface, 0, 90 - y, 320, 100 - y);
+		setBlendedPalette(palette, newPalette, colorCount, y, 90);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
+void ScreenEffects::vfx06(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int x = 0; x < 160; x += 8) {
+		copyRect(surface, x + 160, 0, x + 168, 200);
+		copyRect(surface, 152 - x, 0, 160 - x, 200);
+		setBlendedPalette(palette, newPalette, colorCount, x, 152);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
+void ScreenEffects::vfx07(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	for (int x = 152; x >= 0; x -= 8) {
+		copyRect(surface, x + 160, 0, x + 168, 200);
+		copyRect(surface, 152 - x, 0, 160 - x, 200);
+		setBlendedPalette(palette, newPalette, colorCount, 152 - x, 152);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
 // "Checkerboard" effect
 void ScreenEffects::vfx09(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
 	for (int i = 0; i < 8; i++) {
@@ -318,6 +403,17 @@
  	setPalette(palette);
 }
 
+void ScreenEffects::vfx16(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+	int16 y = 8;
+	for (int i = 0; i < 27; i++) {
+		copyFxRect(surface, 0, 100 - y, 320, 100 + y);
+		y += 5;
+		setBlendedPalette(palette, newPalette, colorCount, i, 27);
+		_screen->updateScreenAndWait(25);
+	}
+ 	setPalette(palette);
+}
+
 // Palette fadeout/fadein
 void ScreenEffects::vfx17(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
 

Modified: scummvm/trunk/engines/made/screenfx.h
===================================================================
--- scummvm/trunk/engines/made/screenfx.h	2008-10-18 13:06:27 UTC (rev 34822)
+++ scummvm/trunk/engines/made/screenfx.h	2008-10-18 21:28:05 UTC (rev 34823)
@@ -54,7 +54,13 @@
 	void copyFxRect(Graphics::Surface *surface, int16 x1, int16 y1, int16 x2, int16 y2);
 	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 vfx01(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 	void vfx02(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx03(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx04(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx05(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx06(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx07(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 vfx11(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
@@ -62,6 +68,7 @@
 	void vfx13(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 	void vfx14(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
 	void vfx15(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
+	void vfx16(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