diff options
author | Benjamin Haisch | 2008-04-23 20:12:06 +0000 |
---|---|---|
committer | Benjamin Haisch | 2008-04-23 20:12:06 +0000 |
commit | d0ad5867e0d8ecb21aee7abfe0e7beb8eacfcf25 (patch) | |
tree | 77bafd6d29d67402ed0d22db8c43b64c4eb5f926 /engines/made/screen.h | |
parent | c841481aa37e673af7cadda41da6dbc77514a8d4 (diff) | |
download | scummvm-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.h | 18 |
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; |