[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