diff options
author | johndoe123 | 2014-04-15 13:21:00 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 1f74de6a4679cecba4fd77e9c79cfaee9c3dd0f6 (patch) | |
tree | d8a58e89f20839b2853551bf41b28a9623a0e2af /engines/illusions/screen.h | |
parent | b1927ca30458226ad7ed52cc85d37416261d444d (diff) | |
download | scummvm-rg350-1f74de6a4679cecba4fd77e9c79cfaee9c3dd0f6.tar.gz scummvm-rg350-1f74de6a4679cecba4fd77e9c79cfaee9c3dd0f6.tar.bz2 scummvm-rg350-1f74de6a4679cecba4fd77e9c79cfaee9c3dd0f6.zip |
ILLUSIONS: More work on Duckman
- Implement palette fader
- Add more inventory functions
- Add more script opcodes
Diffstat (limited to 'engines/illusions/screen.h')
-rw-r--r-- | engines/illusions/screen.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/illusions/screen.h b/engines/illusions/screen.h index bdecda48a5..15a703c46c 100644 --- a/engines/illusions/screen.h +++ b/engines/illusions/screen.h @@ -97,6 +97,20 @@ protected: bool calcItemRect(SpriteDrawQueueItem *item, Common::Rect &srcRect, Common::Rect &dstRect); }; +struct Fader { + bool _active; + int _currValue; + bool _paused; + int _minValue; + int _maxValue; + int _firstIndex; + int _lastIndex; + uint32 _startTime; + int _duration; + uint32 _notifyThreadId; + Fader() : _active(false), _paused(false) {} +}; + // TODO Split into two classes (8bit and 16bit)? class Screen { @@ -116,6 +130,8 @@ public: void getPalette(byte *colors); void shiftPalette(int16 fromIndex, int16 toIndex); void updatePalette(); + void updateFaderPalette(); + void setFader(int newValue, int firstIndex, int lastIndex); void drawText(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 *text, uint count); int16 drawChar(FontResource *font, Graphics::Surface *surface, int16 x, int16 y, uint16 c); int16 getScreenWidth() const { return _backSurface->w; } @@ -133,6 +149,10 @@ public: byte _mainPalette[768]; byte _colorTransTbl[256]; + bool _isFaderActive; + byte _faderPalette[768]; + int _newFaderValue, _firstFaderIndex, _lastFaderIndex; + void setSystemPalette(byte *palette); void buildColorTransTbl(); |