diff options
author | stevenhoefel | 2017-03-12 00:18:03 +1100 |
---|---|---|
committer | stevenhoefel | 2017-03-12 00:18:03 +1100 |
commit | fba1368267c470f66099bb833359b9d7fec6273e (patch) | |
tree | c1c87f7244562aefb86f7a93102d8320bdafaa83 /engines/director/score.h | |
parent | 145d60b663d94796e031872b5782fa4a8609f86a (diff) | |
download | scummvm-rg350-fba1368267c470f66099bb833359b9d7fec6273e.tar.gz scummvm-rg350-fba1368267c470f66099bb833359b9d7fec6273e.tar.bz2 scummvm-rg350-fba1368267c470f66099bb833359b9d7fec6273e.zip |
DIRECTOR: pre-load cast members.
Diffstat (limited to 'engines/director/score.h')
-rw-r--r-- | engines/director/score.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/director/score.h b/engines/director/score.h index 346a84ce63..83ffecd245 100644 --- a/engines/director/score.h +++ b/engines/director/score.h @@ -26,6 +26,8 @@ #include "common/substream.h" #include "common/rect.h" #include "director/archive.h" +#include "director/cast.h" +#include "director/images.h" namespace Graphics { class ManagedSurface; @@ -57,7 +59,7 @@ const char *scriptType2str(ScriptType scr); class Score { public: - Score(DirectorEngine *vm, Archive *); + Score(DirectorEngine *vm); ~Score(); static Common::Rect readRect(Common::ReadStreamEndian &stream); @@ -68,6 +70,7 @@ public: void gotoNext(); void gotoPrevious(); void startLoop(); + void setArchive(Archive *archive); Archive *getArchive() const { return _movieArchive; }; void loadConfig(Common::SeekableSubReadStreamEndian &stream); void loadCastDataVWCR(Common::SeekableSubReadStreamEndian &stream); @@ -78,8 +81,13 @@ public: Common::String getMacName() const { return _macName; } Sprite *getSpriteById(uint16 id); void setSpriteCasts(); + void loadSpriteImages(bool isSharedCast); Graphics::ManagedSurface *getSurface() { return _surface; } + void loadCastInto(Sprite *sprite, int castId); + Common::Rect getCastMemberInitialRect(int castId); + void setCastMemberModified(int castId); + int getPreviousLabelNumber(int referenceFrame); int getCurrentLabelNumber(); int getNextLabelNumber(int referenceFrame); @@ -100,7 +108,7 @@ private: public: Common::Array<Frame *> _frames; - Common::HashMap<int, Cast *> _casts; + Common::HashMap<int, CastType> _castTypes; Common::HashMap<uint16, CastInfo *> _castsInfo; Common::HashMap<Common::String, int> _castsNames; Common::SortedArray<Label *> *_labels; @@ -116,6 +124,13 @@ public: bool _stopPlay; uint32 _nextFrameTime; + Common::HashMap<int, ButtonCast *> *_loadedButtons; + Common::HashMap<int, TextCast *> *_loadedText; + //Common::HashMap<int, SoundCast *> _loadedSound; + Common::HashMap<int, BitmapCast *> *_loadedBitmaps; + Common::HashMap<int, ShapeCast *> *_loadedShapes; + Common::HashMap<int, ScriptCast *> *_loadedScripts; + private: uint16 _versionMinor; uint16 _versionMajor; |