aboutsummaryrefslogtreecommitdiff
path: root/engines/director/score.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/score.h')
-rw-r--r--engines/director/score.h131
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