diff options
Diffstat (limited to 'engines/director/score.h')
-rw-r--r-- | engines/director/score.h | 131 |
1 files changed, 6 insertions, 125 deletions
diff --git a/engines/director/score.h b/engines/director/score.h index 83f25284b1..9f6088307b 100644 --- a/engines/director/score.h +++ b/engines/director/score.h @@ -34,26 +34,14 @@ namespace Graphics { namespace Director { class Archive; +struct CastInfo; class DirectorEngine; class DirectorSound; class Frame; +struct Label; class Lingo; class Sprite; -enum CastType { - kCastBitmap = 1, - kCastFilmLoop, - kCastText, - kCastPalette, - kCastPicture, - kCastSound, - kCastButton, - kCastShape, - kCastMovie, - kCastDigitalVideo, - kCastScript -}; - enum ScriptType { kMovieScript = 0, kSpriteScript = 1, @@ -62,120 +50,12 @@ enum ScriptType { kMaxScriptType = 2 }; -struct Cast { - CastType type; - Common::Rect initialRect; - byte modified; -}; - -struct BitmapCast : Cast { - BitmapCast(Common::SeekableSubReadStreamEndian &stream); - - Common::Rect boundingRect; - uint16 regX; - uint16 regY; - uint8 flags; - uint16 someFlaggyThing; - uint16 unk1, unk2; -}; - -enum ShapeType { - kShapeRectangle, - kShapeRoundRect, - kShapeOval, - kShapeLine -}; - -struct ShapeCast : Cast { - ShapeCast(Common::SeekableSubReadStreamEndian &stream); - - ShapeType shapeType; - uint16 pattern; - byte fgCol; - byte bgCol; - byte fillType; - byte lineThickness; - byte lineDirection; -}; - -enum TextType { - kTextTypeAdjustToFit, - kTextTypeScrolling, - kTextTypeFixed -}; - -enum TextAlignType { - kTextAlignRight = -1, - kTextAlignLeft, - kTextAlignCenter -}; - -enum TextFlag { - kTextFlagEditable, - kTextFlagAutoTab, - kTextFlagDoNotWrap -}; - -enum SizeType { - kSizeNone, - kSizeSmallest, - kSizeSmall, - kSizeMedium, - kSizeLarge, - kSizeLargest -}; - -struct TextCast : Cast { - TextCast(Common::SeekableSubReadStreamEndian &stream); - - SizeType borderSize; - SizeType gutterSize; - SizeType boxShadow; - - byte flags1; - uint32 fontId; - uint16 fontSize; - TextType textType; - TextAlignType textAlign; - SizeType textShadow; - Common::Array<TextFlag> textFlags; - int16 palinfo1, palinfo2, palinfo3; -}; - -enum ButtonType { - kTypeButton, - kTypeCheckBox, - kTypeRadio -}; - -struct ButtonCast : TextCast { - ButtonCast(Common::SeekableSubReadStreamEndian &stream) : TextCast(stream) { - buttonType = static_cast<ButtonType>(stream.readUint16BE()); - } - - ButtonType buttonType; -}; - -struct CastInfo { - Common::String script; - Common::String name; - Common::String directory; - Common::String fileName; - Common::String type; -}; - -struct Label { - Common::String name; - uint16 number; - Label(Common::String name1, uint16 number1) { name = name1; number = number1; } -}; - class Score { public: Score(DirectorEngine *vm, Archive *); ~Score(); - static Common::Rect readRect(Common::SeekableSubReadStreamEndian &stream); + static Common::Rect readRect(Common::ReadStreamEndian &stream); static int compareLabels(const void *a, const void *b); void loadArchive(); void setStartToLabel(Common::String label); @@ -186,7 +66,8 @@ public: void processEvents(); Archive *getArchive() const { return _movieArchive; }; void loadConfig(Common::SeekableSubReadStreamEndian &stream); - void loadCastData(Common::SeekableSubReadStreamEndian &stream); + void loadCastDataVWCR(Common::SeekableSubReadStreamEndian &stream); + void loadCastData(Common::SeekableSubReadStreamEndian &stream, uint16 id); void setCurrentFrame(uint16 frameId) { _currentFrame = frameId; } int getCurrentFrame() { return _currentFrame; } Common::String getMacName() const { return _macName; } @@ -243,6 +124,6 @@ private: DirectorEngine *_vm; }; -} //End of namespace Director +} // End of namespace Director #endif |