diff options
author | Dmitry Iskrich | 2016-06-27 21:11:26 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2016-08-03 23:40:36 +0200 |
commit | 825a9fb29f39226a6be0f66ed0253ebafa8b143f (patch) | |
tree | a884111154ca790088f092c152c56e5129e748ad /engines/director/director.cpp | |
parent | 840487d2ef1aa50748e526bd70dc2b7a3677d7eb (diff) | |
download | scummvm-rg350-825a9fb29f39226a6be0f66ed0253ebafa8b143f.tar.gz scummvm-rg350-825a9fb29f39226a6be0f66ed0253ebafa8b143f.tar.bz2 scummvm-rg350-825a9fb29f39226a6be0f66ed0253ebafa8b143f.zip |
DIRECTOR: Load shared casts in engine
Diffstat (limited to 'engines/director/director.cpp')
-rw-r--r-- | engines/director/director.cpp | 14 |
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 |