aboutsummaryrefslogtreecommitdiff
path: root/engines/made/screenfx.h
diff options
context:
space:
mode:
authorFilippos Karapetis2011-09-26 22:22:16 +0300
committerFilippos Karapetis2011-09-26 22:22:16 +0300
commit8c431e13a6021785d480375dbf3b40a4b83f278c (patch)
treea6d7f71b0dc35d22b2cc1396a59f8f1213301c54 /engines/made/screenfx.h
parent9fd66deb43a8ba1bd7b423cb6fe2b7177af74166 (diff)
downloadscummvm-rg350-8c431e13a6021785d480375dbf3b40a4b83f278c.tar.gz
scummvm-rg350-8c431e13a6021785d480375dbf3b40a4b83f278c.tar.bz2
scummvm-rg350-8c431e13a6021785d480375dbf3b40a4b83f278c.zip
MADE: Hopefully fixed bug #2957333 - "MADE: Screen effects sometimes look wrong/bad"
Applied johndoe's patch from that tracker item
Diffstat (limited to 'engines/made/screenfx.h')
-rw-r--r--engines/made/screenfx.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/made/screenfx.h b/engines/made/screenfx.h
index 793fcba2d6..6011da7d6f 100644
--- a/engines/made/screenfx.h
+++ b/engines/made/screenfx.h
@@ -34,6 +34,14 @@
namespace Made {
+struct BlendedPaletteStatus {
+ bool _active;
+ byte *_palette, *_newPalette;
+ int _colorCount;
+ int16 _value, _maxValue, _incr;
+ int cnt;
+};
+
class ScreenEffects {
public:
ScreenEffects(Screen *screen);
@@ -47,8 +55,12 @@ private:
static const byte vfxOffsIndexTable[8];
const byte *vfxOffsTablePtr;
int16 vfxX1, vfxY1, vfxWidth, vfxHeight;
+ BlendedPaletteStatus _blendedPaletteStatus;
+
void setPalette(byte *palette);
void setBlendedPalette(byte *palette, byte *newPalette, int colorCount, int16 value, int16 maxValue);
+ void startBlendedPalette(byte *palette, byte *newPalette, int colorCount, int16 maxValue);
+ void stepBlendedPalette();
void copyFxRect(Graphics::Surface *surface, int16 x1, int16 y1, int16 x2, int16 y2);
void vfx00(Graphics::Surface *surface, byte *palette, byte *newPalette, int colorCount);