aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-10-26 10:04:09 +0200
committerEugene Sandulenko2016-10-26 10:48:37 +0200
commitdf2bd1a94c17b4cf4e6981b85d80d23172d31ba0 (patch)
tree2549d7751b81a9a7b8fb5e3e3b5a874c744c10fd
parent45d208b2ec058d2709c3a5da58abff41d08d782c (diff)
downloadscummvm-rg350-df2bd1a94c17b4cf4e6981b85d80d23172d31ba0.tar.gz
scummvm-rg350-df2bd1a94c17b4cf4e6981b85d80d23172d31ba0.tar.bz2
scummvm-rg350-df2bd1a94c17b4cf4e6981b85d80d23172d31ba0.zip
DIRECTOR: Skipping useless movie scanning.
We can easily rely on the FS path resolving.
-rw-r--r--engines/director/archive.cpp6
-rw-r--r--engines/director/director.cpp9
2 files changed, 11 insertions, 4 deletions
diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index 1af63a81b7..9976c253f7 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -194,7 +194,11 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
debugC(1, kDebugLoading, "Loading Shared cast '%s'", filename.c_str());
- shardcst->openFile(filename);
+ if (!shardcst->openFile(filename)) {
+ warning("No shared cast %s", filename.c_str());
+
+ return;
+ }
_sharedDIB = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>;
_sharedSTXT = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>;
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 8c5e456781..034c7c4afb 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -120,10 +120,13 @@ Common::Error DirectorEngine::run() {
//testFont();
- _movies = scanMovies(ConfMan.get("path"));
+ if (getPlatform() == Common::kPlatformWindows)
+ _sharedCastFile = "SHARDCST.MMM";
+ else
+ _sharedCastFile = "Shared Cast*";
+
+ loadSharedCastsFrom(_sharedCastFile);
- if (!_sharedCastFile.empty())
- loadSharedCastsFrom(_sharedCastFile);
loadMainArchive();
_currentScore = new Score(this, _mainArchive);