diff options
author | stevenhoefel | 2017-04-13 14:41:00 +1000 |
---|---|---|
committer | stevenhoefel | 2017-04-13 14:41:00 +1000 |
commit | bcc3fffc2d5f48adc3dc2618cba9b5fa5093ca62 (patch) | |
tree | 4611371d4aabddef168118154d626a7435b62d70 /engines/director/resource.cpp | |
parent | 5741ee3103ec9a7a1802b020dad243c21e71572e (diff) | |
download | scummvm-rg350-bcc3fffc2d5f48adc3dc2618cba9b5fa5093ca62.tar.gz scummvm-rg350-bcc3fffc2d5f48adc3dc2618cba9b5fa5093ca62.tar.bz2 scummvm-rg350-bcc3fffc2d5f48adc3dc2618cba9b5fa5093ca62.zip |
DIRECTOR: D5 Shared Cast loading.
Diffstat (limited to 'engines/director/resource.cpp')
-rw-r--r-- | engines/director/resource.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp index dc961b86eb..da3b1b2fed 100644 --- a/engines/director/resource.cpp +++ b/engines/director/resource.cpp @@ -40,7 +40,10 @@ Archive *DirectorEngine::createArchive() { else return new RIFXArchive(); } else { - return new RIFFArchive(); + if (getVersion() < 4) + return new RIFFArchive(); + else + return new RIFXArchive(); } } @@ -269,8 +272,10 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) { if (cast.size() > 0) { debug(0, "****** Loading %d CASt resources", cast.size()); - for (Common::Array<uint16>::iterator iterator = cast.begin(); iterator != cast.end(); ++iterator) - _sharedScore->loadCastData(*shardcst->getResource(MKTAG('C','A','S','t'), *iterator), *iterator, NULL); + for (Common::Array<uint16>::iterator iterator = cast.begin(); iterator != cast.end(); ++iterator) { + Resource res = shardcst->getResourceDetail(MKTAG('C', 'A', 'S', 't'), *iterator); + _sharedScore->loadCastData(*shardcst->getResource(MKTAG('C', 'A', 'S', 't'), *iterator), *iterator, &res); + } } Common::Array<uint16> vwci = shardcst->getResourceIDList(MKTAG('V', 'W', 'C', 'I')); |