diff options
author | Eugene Sandulenko | 2016-10-28 22:48:28 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-10-29 08:07:19 -0700 |
commit | 703178e033934b7aa09ab5e995480d967ef7113a (patch) | |
tree | 799c1eb719c621ea22ca9544596e6d6f1bc7b485 /engines/director/frame.h | |
parent | 9f35d6fdc6cc4462f1cb3a9916aba298d0a3e1be (diff) | |
download | scummvm-rg350-703178e033934b7aa09ab5e995480d967ef7113a.tar.gz scummvm-rg350-703178e033934b7aa09ab5e995480d967ef7113a.tar.bz2 scummvm-rg350-703178e033934b7aa09ab5e995480d967ef7113a.zip |
DIRECTOR: Rework Channel data parsing
Diffstat (limited to 'engines/director/frame.h')
-rw-r--r-- | engines/director/frame.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/director/frame.h b/engines/director/frame.h index 68eb1e33bb..694d3a770c 100644 --- a/engines/director/frame.h +++ b/engines/director/frame.h @@ -35,6 +35,10 @@ class Sprite; #define CHANNEL_COUNT 24 +enum { + kChannelDataSize = (25 * 50) +}; + enum TransitionType { kTransNone, kTransWipeRight, @@ -97,6 +101,7 @@ struct PaletteInfo { uint8 flags; uint8 speed; uint16 frameCount; + uint16 cycleCount; }; @@ -105,6 +110,7 @@ public: Frame(DirectorEngine *vm); Frame(const Frame &frame); ~Frame(); + void readChannels(Common::ReadStreamEndian *stream); void readChannel(Common::SeekableSubReadStreamEndian &stream, uint16 offset, uint16 size); void prepareFrame(Score *score); uint16 getSpriteIDFromPos(Common::Point pos); @@ -123,7 +129,9 @@ private: void drawMatteSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect); void drawGhostSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect); void drawReverseSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect); + public: + byte _channelData[kChannelDataSize]; uint8 _actionId; uint8 _transDuration; uint8 _transArea; //1 - Whole Stage, 0 - Changing Area |