Skip to content

Commit

Permalink
DIRECTOR: Move score loading resource to constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
Dmitry Iskrich authored and sev- committed Aug 3, 2016
1 parent 961adee commit f858362
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 16 deletions.
10 changes: 1 addition & 9 deletions engines/director/director.cpp
Expand Up @@ -70,15 +70,7 @@ Common::Error DirectorEngine::run() {
_mainArchive = new RIFFArchive();
_mainArchive->openFile("bookshelf_example.mmm");

Common::SeekableReadStream *scr = _mainArchive->getResource(MKTAG('V','W','S','C'), 1024);
Score score(*scr, *_mainArchive);

Common::SeekableReadStream *conf = _mainArchive->getResource(MKTAG('V','W','C','F'), 1024);
score.loadConfig(*conf);

Common::SeekableReadStream *records = _mainArchive->getResource(MKTAG('V','W','C','R'), 1024);
score.loadCastData(*records);

Score score(*_mainArchive);
score.play();

if (getPlatform() == Common::kPlatformWindows)
Expand Down
13 changes: 11 additions & 2 deletions engines/director/score.cpp
Expand Up @@ -35,11 +35,20 @@

namespace Director {

Score::Score(Common::SeekableReadStream &stream, Archive &movie) {
Score::Score(Archive &movie) {

_surface = new Graphics::ManagedSurface;

_movieArchive = &movie;
assert(_movieArchive->hasResource(MKTAG('V','W','S','C'), 1024));
assert(_movieArchive->hasResource(MKTAG('V','W','C','F'), 1024));
assert(_movieArchive->hasResource(MKTAG('V','W','C','R'), 1024));

loadFrames(*_movieArchive->getResource(MKTAG('V','W','S','C'), 1024));
loadConfig(*_movieArchive->getResource(MKTAG('V','W','C','F'), 1024));
loadCastData(*_movieArchive->getResource(MKTAG('V','W','C','R'), 1024));
}

void Score::loadFrames(Common::SeekableReadStream &stream) {
uint32 size = stream.readUint32BE();
size -= 4;
uint16 channelSize;
Expand Down
10 changes: 5 additions & 5 deletions engines/director/score.h
Expand Up @@ -184,17 +184,17 @@ class Frame {

class Score {
public:
Score(Common::SeekableReadStream &stream, Archive &movie);
void readVersion(uint32 rid);
void loadConfig(Common::SeekableReadStream &stream);
void loadCastData(Common::SeekableReadStream &stream);
Score(Archive &movie);
static Common::Rect readRect(Common::SeekableReadStream &stream);
void play();

private:
void processEvents();
void display();

void readVersion(uint32 rid);
void loadConfig(Common::SeekableReadStream &stream);
void loadCastData(Common::SeekableReadStream &stream);
void loadFrames(Common::SeekableReadStream &stream);
public:
Common::Array<Frame *> _frames;
Common::HashMap<int, Cast *> _casts;
Expand Down

0 comments on commit f858362

Please sign in to comment.