aboutsummaryrefslogtreecommitdiff
path: root/engines/made/screen.h
diff options
context:
space:
mode:
authorBenjamin Haisch2008-04-23 20:12:06 +0000
committerBenjamin Haisch2008-04-23 20:12:06 +0000
commitd0ad5867e0d8ecb21aee7abfe0e7beb8eacfcf25 (patch)
tree77bafd6d29d67402ed0d22db8c43b64c4eb5f926 /engines/made/screen.h
parentc841481aa37e673af7cadda41da6dbc77514a8d4 (diff)
downloadscummvm-rg350-d0ad5867e0d8ecb21aee7abfe0e7beb8eacfcf25.tar.gz
scummvm-rg350-d0ad5867e0d8ecb21aee7abfe0e7beb8eacfcf25.tar.bz2
scummvm-rg350-d0ad5867e0d8ecb21aee7abfe0e7beb8eacfcf25.zip
Fixed palette issues when showing the inventory and the menu.
Moved drawing code from drawFlex/drawAnimFrame to drawSurface. Implemented opcodes: - o1_VISUALFX - o1_SCREENLOCK - o1_SETTIMER - o1_SETGROUND - o1_SETCLIP - o1_SETEXCLUDE svn-id: r31675
Diffstat (limited to 'engines/made/screen.h')
-rw-r--r--engines/made/screen.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/engines/made/screen.h b/engines/made/screen.h
index c25ddbd6fb..eb072477a3 100644
--- a/engines/made/screen.h
+++ b/engines/made/screen.h
@@ -60,11 +60,16 @@ public:
void clearScreen();
- void drawSurface(Graphics::Surface *source, int x, int y);
+ void drawSurface(Graphics::Surface *sourceSurface, int x, int y, const ClipInfo &clipInfo);
void loadRGBPalette(byte *palRGB, int count = 256);
void setRGBPalette(byte *palRGB, int start = 0, int count = 256);
bool isPaletteLocked() { return _paletteLock; }
+ void setScreenLock(bool lock) { _screenLock = lock; }
void setPaletteLock(bool lock) { _paletteLock = lock; }
+ void setVisualEffectNum(int visualEffectNum) { _visualEffectNum = visualEffectNum; }
+ void setClip(uint16 clip) { _clip = clip; }
+ void setExclude(uint16 exclude) { _exclude = exclude; }
+ void setGround(uint16 ground) { _ground = ground; }
uint16 updateChannel(uint16 channelIndex);
void deleteChannel(uint16 channelIndex);
@@ -76,7 +81,7 @@ public:
void drawSpriteChannels(const ClipInfo &clipInfo, int16 includeStateMask, int16 excludeStateMask);
void updateSprites();
void clearChannels();
-
+
uint16 drawFlex(uint16 flexIndex, int16 x, int16 y, uint16 flag1, uint16 flag2, const ClipInfo &clipInfo);
void drawAnimFrame(uint16 animIndex, int16 x, int16 y, int16 frameNum, uint16 flag1, uint16 flag2, const ClipInfo &clipInfo);
@@ -98,10 +103,6 @@ public:
void show();
- void setClip(uint16 clip);
- void setExclude(uint16 exclude);
- void setGround(uint16 ground);
-
byte _screenPalette[256 * 4];
protected:
@@ -110,7 +111,12 @@ protected:
bool _screenLock;
bool _paletteLock;
+ byte _palette[768], _newPalette[768];
+ int _paletteColorCount, _oldPaletteColorCount;
+ bool _paletteInitialized, _needPalette;
+
uint16 _clip, _exclude, _ground;
+ int _visualEffectNum;
Graphics::Surface *_screen1, *_screen2;
ClipInfo _clipArea, _clipInfo1, _clipInfo2;