aboutsummaryrefslogtreecommitdiff
path: root/engines/director/director.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/director.cpp')
-rw-r--r--engines/director/director.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index cb31f88aa0..2c8441d1d9 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -56,6 +56,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_mainArchive = 0;
_macBinary = 0;
_currentPalette = 0;
+
_movies = new Common::HashMap<Common::String, Score *>();
const Common::FSNode gameDataDir(ConfMan.get("path"));
SearchMan.addSubDirectoryMatching(gameDataDir, "data");
@@ -370,4 +371,17 @@ void DirectorEngine::setPalette(byte *palette, uint16 count) {
_currentPaletteLength = count;
}
+Common::HashMap<int, Cast *> DirectorEngine::loadSharedCastsFrom(Common::String filename) {
+
+ //TODO d4 arch
+ RIFFArchive *shardcst = new RIFFArchive();
+ shardcst->openFile(filename);
+
+ Score *castScore = new Score(this);
+
+ Common::SeekableSubReadStreamEndian *castStream = shardcst->getResource(MKTAG('V','W','C','R'), 1024);
+
+ castScore->loadCastData(*castStream);
+ return castScore->_casts;
+}
} // End of namespace Director