aboutsummaryrefslogtreecommitdiff
path: root/engines/director/director.cpp
diff options
context:
space:
mode:
authorDmitry Iskrich2016-06-30 20:04:05 +0300
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commit0f58203c021512396d8e3a32ada41f49eb0e1880 (patch)
tree37b1630f696d39d58d10b50bf855ada9efeeb206 /engines/director/director.cpp
parentd70a76f1d6e5fdb5e7dd0a3c45f7c6acf4f8a94f (diff)
downloadscummvm-rg350-0f58203c021512396d8e3a32ada41f49eb0e1880.tar.gz
scummvm-rg350-0f58203c021512396d8e3a32ada41f49eb0e1880.tar.bz2
scummvm-rg350-0f58203c021512396d8e3a32ada41f49eb0e1880.zip
DIRECTOR: Fix rendering resource, loading shared BMP
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 2081ebdc89..c7ae940873 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -58,6 +58,11 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_currentPalette = 0;
//FIXME
_sharedMMM = "SHARDCST.MMM";
+ _sharedCasts = new Common::HashMap<int, Cast *>();
+ _sharedDIB = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
+ _sharedBMP = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
+ _sharedSTXT = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
+ _sharedSound = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
_movies = new Common::HashMap<Common::String, Score *>();
const Common::FSNode gameDataDir(ConfMan.get("path"));
@@ -423,6 +428,15 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
}
}
+ Common::Array<uint16> bmp = shardcst->getResourceIDList(MKTAG('B','I','T','D'));
+
+ if (bmp.size() != 0) {
+ Common::Array<uint16>::iterator iterator;
+ for (iterator = bmp.begin(); iterator != bmp.end(); ++iterator) {
+ _sharedBMP->setVal(*iterator, shardcst->getResource(MKTAG('B','I','T','D'), *iterator));
+ }
+ }
+
Common::Array<uint16> sound = shardcst->getResourceIDList(MKTAG('S','N','D',' '));
if (stxt.size() != 0) {