aboutsummaryrefslogtreecommitdiff
path: root/engines/director/score.h
diff options
context:
space:
mode:
authorIskrich2016-05-26 01:16:29 +0300
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commit11c9bbd9cb78ea4229e9cd64ad1d31e46d32ec41 (patch)
tree8c43f44c1cda1d1d521a0678d11def7737518be0 /engines/director/score.h
parent2de66ee08396ca70bdb75e47867e7bd386c5bb9b (diff)
downloadscummvm-rg350-11c9bbd9cb78ea4229e9cd64ad1d31e46d32ec41.tar.gz
scummvm-rg350-11c9bbd9cb78ea4229e9cd64ad1d31e46d32ec41.tar.bz2
scummvm-rg350-11c9bbd9cb78ea4229e9cd64ad1d31e46d32ec41.zip
DIRECTOR: Play score, display DIB sprites
Diffstat (limited to 'engines/director/score.h')
-rw-r--r--engines/director/score.h70
1 files changed, 39 insertions, 31 deletions
diff --git a/engines/director/score.h b/engines/director/score.h
index 25d6cdda6e..cadd130312 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -23,6 +23,8 @@
#include "common/rect.h"
#include "common/stream.h"
#include "common/array.h"
+#include "director/resource.h"
+
namespace Director {
#define CHANNEL_COUNT 24
@@ -68,50 +70,56 @@ enum mainChannelsPosition {
kPaletePosition = 15
};
-struct Sprite {
+class Sprite {
public:
- bool enabled;
- uint8 castId;
- //castType type;
- uint16 flags;
- Common::Point startPoint;
- uint16 width;
- uint16 height;
Sprite();
- Sprite(const Sprite& sprite);
+ Sprite(const Sprite &sprite);
+ bool _enabled;
+ uint8 _castId;
+ //castType type;
+ uint16 _flags;
+ Common::Point _startPoint;
+ uint16 _width;
+ uint16 _height;
};
-struct Frame {
+class Frame {
public:
- uint8 actionId;
-
- uint8 transFlags;
- uint8 transChunkSize;
- uint8 transType;
- uint8 tempo;
-
- uint16 sound1;
- uint8 soundType1;
- uint16 sound2;
- uint8 soundType2;
-
- uint8 skipFrameFlag;
- uint8 blend;
- Common::Array<Sprite*> sprites;
-
Frame();
~Frame();
- Frame(const Frame& frame);
+ Frame(const Frame &frame);
void readChannel(Common::SeekableReadStream &stream, uint16 offset, uint16 size);
+ void display();
+
private:
void readSprite(Common::SeekableReadStream &stream, uint16 offset, uint16 size);
void readMainChannels(Common::SeekableReadStream &stream, uint16 offset, uint16 size);
+
+public:
+ uint8 _actionId;
+ uint8 _transFlags;
+ uint8 _transChunkSize;
+ uint8 _transType;
+ uint8 _tempo;
+
+ uint16 _sound1;
+ uint8 _soundType1;
+ uint16 _sound2;
+ uint8 _soundType2;
+
+ uint8 _skipFrameFlag;
+ uint8 _blend;
+ Common::Array<Sprite *> _sprites;
+
};
-struct Score {
+class Score {
+public:
+ Common::Array<Frame *> _frames;
+
public:
- Score(Common::SeekableReadStream &stream);
- Common::Array<Frame*> frames;
+ Score(Common::SeekableReadStream &stream);
+ void play();
};
-} //End of namespace Director \ No newline at end of file
+} //End of namespace Director