[Scummvm-cvs-logs] SF.net SVN: scummvm:[35806] scummvm/trunk/engines/made
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Sat Jan 10 23:11:22 CET 2009
Revision: 35806
http://scummvm.svn.sourceforge.net/scummvm/?rev=35806&view=rev
Author: dreammaster
Date: 2009-01-10 22:11:22 +0000 (Sat, 10 Jan 2009)
Log Message:
-----------
Implemented screen vfx #8
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 2009-01-10 21:29:12 UTC (rev 35805)
+++ scummvm/trunk/engines/made/screenfx.cpp 2009-01-10 22:11:22 UTC (rev 35806)
@@ -257,10 +257,14 @@
}
-void ScreenEffects::copyRect(Graphics::Surface *surface, int16 x1, int16 y1, int16 x2, int16 y2) {
+void ScreenEffects::copyRect(Graphics::Surface *surface, int16 x1, int16 y1, int16 x2, int16 y2,
+ int xd, int yd) {
+ if (xd == -1) xd = x1;
+ if (yd == -1) yd = y1;
+
Graphics::Surface *vgaScreen = _screen->lockScreen();
byte *source = (byte*)surface->getBasePtr(x1, y1);
- byte *dest = (byte*)vgaScreen->getBasePtr(x1, y1);
+ byte *dest = (byte*)vgaScreen->getBasePtr(xd, yd);
for (int y = 0; y < y2 - y1; y++) {
memcpy(dest, source, x2 - x1);
dest += 320;
@@ -343,10 +347,14 @@
setPalette(palette);
}
+// "Screen slide in" right to left
void ScreenEffects::vfx08(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount) {
- // TODO
- warning("Unimplemented visual effect: 8");
- vfx00(surface, palette, newPalette, colorCount);
+ for (int x = 8; x <= 320; x += 8) {
+ copyRect(surface, 0, 0, x, 200, 320 - x, 0);
+ _screen->updateScreenAndWait(25);
+ }
+
+ setPalette(palette);
}
// "Checkerboard" effect
Modified: scummvm/trunk/engines/made/screenfx.h
===================================================================
--- scummvm/trunk/engines/made/screenfx.h 2009-01-10 21:29:12 UTC (rev 35805)
+++ scummvm/trunk/engines/made/screenfx.h 2009-01-10 22:11:22 UTC (rev 35806)
@@ -52,7 +52,8 @@
void setPalette(byte *palette);
void setBlendedPalette(byte *palette, byte *newPalette, int colorCount, int16 value, int16 maxValue);
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 copyRect(Graphics::Surface *surface, int16 x1, int16 y1, int16 x2, int16 y2,
+ int xd = -1, int yd = -1);
void vfx00(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);
void vfx01(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