aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-08-29 18:06:41 +0200
committerEugene Sandulenko2016-08-29 18:06:41 +0200
commitae54fb98db317ddbecefe4659eca3dc41da9576d (patch)
tree318e62d68ad028ab11d63cc4c4d100252ef9aaf8
parent3ff6dfee8bef8aa9af1a665d3131834883987ccd (diff)
downloadscummvm-rg350-ae54fb98db317ddbecefe4659eca3dc41da9576d.tar.gz
scummvm-rg350-ae54fb98db317ddbecefe4659eca3dc41da9576d.tar.bz2
scummvm-rg350-ae54fb98db317ddbecefe4659eca3dc41da9576d.zip
DIRECTOR: Refactor Archive creation
-rw-r--r--engines/director/director.cpp33
-rw-r--r--engines/director/director.h3
2 files changed, 18 insertions, 18 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 7ce85c5ab6..44275f73b6 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -146,18 +146,13 @@ Common::HashMap<Common::String, Score *> DirectorEngine::loadMMMNames(Common::St
if (!movies.empty()) {
for (Common::FSList::const_iterator i = movies.begin(); i != movies.end(); ++i) {
+ debugC(2, kDebugLoading, "File: %s", i->getName().c_str());
if (Common::matchString(i->getName().c_str(), sharedMMMname, true)) {
loadSharedCastsFrom(i->getPath());
continue;
}
- Archive *arc;
-
- if (getVersion() < 4) {
- arc = new RIFFArchive();
- } else {
- arc = new RIFXArchive();
- }
+ Archive *arc = createArchive();
arc->openFile(i->getPath());
Score *sc = new Score(this);
@@ -168,6 +163,14 @@ Common::HashMap<Common::String, Score *> DirectorEngine::loadMMMNames(Common::St
return nameMap;
}
+Archive *DirectorEngine::createArchive() {
+ if (getVersion() < 4) {
+ return new RIFFArchive();
+ } else {
+ return new RIFXArchive();
+ }
+}
+
void DirectorEngine::loadEXE() {
Common::SeekableReadStream *exeStream = SearchMan.createReadStreamForMember(getEXEName());
if (!exeStream)
@@ -207,8 +210,8 @@ void DirectorEngine::loadEXEv3(Common::SeekableReadStream *stream) {
Common::String mmmFileName = readPascalString(*stream);
Common::String directoryName = readPascalString(*stream);
- debug("Main MMM: '%s'", mmmFileName.c_str());
- debug("Directory Name: '%s'", directoryName.c_str());
+ debugC(1, kDebugLoading, "Main MMM: '%s'", mmmFileName.c_str());
+ debugC(1, kDebugLoading, "Directory Name: '%s'", directoryName.c_str());
_mainArchive = new RIFFArchive();
@@ -322,13 +325,7 @@ void DirectorEngine::setPalette(byte *palette, uint16 count) {
}
void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
- Archive *shardcst;
-
- if (getVersion() < 4) {
- shardcst = new RIFFArchive();
- } else {
- shardcst = new RIFXArchive();
- }
+ Archive *shardcst = createArchive();
shardcst->openFile(filename);
@@ -343,7 +340,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
if (dib.size() != 0) {
Common::Array<uint16>::iterator iterator;
for (iterator = dib.begin(); iterator != dib.end(); ++iterator) {
- debug(3, "Shared DIB %d", *iterator);
+ debugC(3, kDebugLoading, "Shared DIB %d", *iterator);
_sharedDIB->setVal(*iterator, shardcst->getResource(MKTAG('D','I','B',' '), *iterator));
}
}
@@ -353,7 +350,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
if (stxt.size() != 0) {
Common::Array<uint16>::iterator iterator;
for (iterator = stxt.begin(); iterator != stxt.end(); ++iterator) {
- debug(3, "Shared STXT %d", *iterator);
+ debugC(3, kDebugLoading, "Shared STXT %d", *iterator);
_sharedSTXT->setVal(*iterator, shardcst->getResource(MKTAG('S','T','X','T'), *iterator));
}
}
diff --git a/engines/director/director.h b/engines/director/director.h
index e0d5d82240..05ce34e7ca 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -80,6 +80,9 @@ public:
const byte *getPalette() const { return _currentPalette; }
uint16 getPaletteColorCount() const { return _currentPaletteLength; }
void loadSharedCastsFrom(Common::String filename);
+
+ Archive *createArchive();
+
Common::HashMap<int, Common::SeekableSubReadStreamEndian *> *getSharedDIB() const { return _sharedDIB; }
Common::HashMap<int, Common::SeekableSubReadStreamEndian *> *getSharedBMP() const { return _sharedBMP; }
Common::HashMap<int, Common::SeekableSubReadStreamEndian *> *getSharedSTXT() const { return _sharedSTXT; }