diff options
author | Eugene Sandulenko | 2017-03-01 22:41:07 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-03-01 22:41:07 +0100 |
commit | 4ab38721ce3e57a7174d12d017bdb6679f635153 (patch) | |
tree | 0908cbbc3a4d31d317f02bd34da1457770beb800 /engines/director | |
parent | 3a7c0911224adc0d0d467dc530f62f97a8868bee (diff) | |
download | scummvm-rg350-4ab38721ce3e57a7174d12d017bdb6679f635153.tar.gz scummvm-rg350-4ab38721ce3e57a7174d12d017bdb6679f635153.tar.bz2 scummvm-rg350-4ab38721ce3e57a7174d12d017bdb6679f635153.zip |
DIRECTOR: Load CastInfo for the Shared Cast
Diffstat (limited to 'engines/director')
-rw-r--r-- | engines/director/resource.cpp | 6 | ||||
-rw-r--r-- | engines/director/score.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp index 3db6d66a13..6dace8bcb2 100644 --- a/engines/director/resource.cpp +++ b/engines/director/resource.cpp @@ -231,6 +231,12 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) { _sharedScore->loadCastData(*shardcst->getResource(MKTAG('C','A','S','t'), *iterator), *iterator, NULL); } + Common::Array<uint16> vwci = shardcst->getResourceIDList(MKTAG('V', 'W', 'C', 'I')); + if (vwci.size() > 0) { + for (Common::Array<uint16>::iterator iterator = vwci.begin(); iterator != vwci.end(); ++iterator) + _sharedScore->loadCastInfo(*shardcst->getResource(MKTAG('V', 'W', 'C', 'I'), *iterator), *iterator); + } + _sharedScore->setSpriteCasts(); Common::Array<uint16> dib = shardcst->getResourceIDList(MKTAG('D','I','B',' ')); diff --git a/engines/director/score.h b/engines/director/score.h index 9ffa0e4de2..0a51d65a9a 100644 --- a/engines/director/score.h +++ b/engines/director/score.h @@ -72,6 +72,7 @@ public: void loadConfig(Common::SeekableSubReadStreamEndian &stream); void loadCastDataVWCR(Common::SeekableSubReadStreamEndian &stream); void loadCastData(Common::SeekableSubReadStreamEndian &stream, uint16 id, Resource *res); + void loadCastInfo(Common::SeekableSubReadStreamEndian &stream, uint16 id); void setCurrentFrame(uint16 frameId) { _currentFrame = frameId; } int getCurrentFrame() { return _currentFrame; } Common::String getMacName() const { return _macName; } @@ -90,7 +91,6 @@ private: void loadFrames(Common::SeekableSubReadStreamEndian &stream); void loadLabels(Common::SeekableSubReadStreamEndian &stream); void loadActions(Common::SeekableSubReadStreamEndian &stream); - void loadCastInfo(Common::SeekableSubReadStreamEndian &stream, uint16 id); void loadScriptText(Common::SeekableSubReadStreamEndian &stream); void loadFileInfo(Common::SeekableSubReadStreamEndian &stream); void loadFontMap(Common::SeekableSubReadStreamEndian &stream); |