aboutsummaryrefslogtreecommitdiff
path: root/engines/made/screenfx.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-05-28 23:17:10 +0000
committerFilippos Karapetis2008-05-28 23:17:10 +0000
commitb844e4bd5ad61699144ad4430ef158b9222ca6b3 (patch)
tree0f362a28611fcb52321c799a8feb9ca58614d56d /engines/made/screenfx.cpp
parentab6c82a8502ede6172f102bd5da8f3817b29a69f (diff)
downloadscummvm-rg350-b844e4bd5ad61699144ad4430ef158b9222ca6b3.tar.gz
scummvm-rg350-b844e4bd5ad61699144ad4430ef158b9222ca6b3.tar.bz2
scummvm-rg350-b844e4bd5ad61699144ad4430ef158b9222ca6b3.zip
Implemented visual effects 11 and 13 (inverse of 10 and 12)
svn-id: r32356
Diffstat (limited to 'engines/made/screenfx.cpp')
-rw-r--r--engines/made/screenfx.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/engines/made/screenfx.cpp b/engines/made/screenfx.cpp
index b65c3db60c..ee96af601a 100644
--- a/engines/made/screenfx.cpp
+++ b/engines/made/screenfx.cpp
@@ -76,10 +76,18 @@ void ScreenEffects::run(int16 effectNum, Graphics::Surface *surface, byte *palet
vfx10(surface, palette, newPalette, colorCount);
break;
+ case 11: // "Screen wipe in", right to left
+ vfx11(surface, palette, newPalette, colorCount);
+ break;
+
case 12: // "Screen wipe in", top to bottom
vfx12(surface, palette, newPalette, colorCount);
break;
+ case 13: // "Screen wipe in", bottom to top
+ vfx13(surface, palette, newPalette, colorCount);
+ break;
+
case 14: // "Screen open" effect
vfx14(surface, palette, newPalette, colorCount);
break;
@@ -256,6 +264,16 @@ void ScreenEffects::vfx10(Graphics::Surface *surface, byte *palette, byte *newPa
setPalette(palette);
}
+// "Screen wipe in", right to left
+void ScreenEffects::vfx11(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+ for (int x = 312; x > -56; x -= 8) {
+ copyFxRect(surface, x, 0, x + 64, 200);
+ setBlendedPalette(palette, newPalette, colorCount, x + 56, 368);
+ _screen->updateScreenAndWait(25);
+ }
+ setPalette(palette);
+}
+
// "Screen wipe in", top to bottom
void ScreenEffects::vfx12(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
for (int y = -70; y < 312; y += 10) {
@@ -266,6 +284,16 @@ void ScreenEffects::vfx12(Graphics::Surface *surface, byte *palette, byte *newPa
setPalette(palette);
}
+// "Screen wipe in", bottom to top
+void ScreenEffects::vfx13(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
+ for (int y = 312; y > -70; y -= 10) {
+ copyFxRect(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;