aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorEugene Sandulenko2017-03-01 22:41:07 +0100
committerEugene Sandulenko2017-03-01 22:41:07 +0100
commit4ab38721ce3e57a7174d12d017bdb6679f635153 (patch)
tree0908cbbc3a4d31d317f02bd34da1457770beb800 /engines/director
parent3a7c0911224adc0d0d467dc530f62f97a8868bee (diff)
downloadscummvm-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.cpp6
-rw-r--r--engines/director/score.h2
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);