aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-09 17:07:34 +0000
committerFilippos Karapetis2010-11-09 17:07:34 +0000
commit55f0b88c07f02eb2fcdeb5284131acd10e13eee8 (patch)
tree9adf2071fd8ce900cb3082fce7ec5fa75c862d4c
parent4582a94ff9045a132cd473e5cc61d20c382d7056 (diff)
downloadscummvm-rg350-55f0b88c07f02eb2fcdeb5284131acd10e13eee8.tar.gz
scummvm-rg350-55f0b88c07f02eb2fcdeb5284131acd10e13eee8.tar.bz2
scummvm-rg350-55f0b88c07f02eb2fcdeb5284131acd10e13eee8.zip
SCI: Fixed the fallback detector again
This is a regression from r54155, as we previously ignored the result of addInternalSources() in the fallback detector svn-id: r54163
-rw-r--r--engines/sci/detection.cpp2
-rw-r--r--engines/sci/resource.cpp12
-rw-r--r--engines/sci/resource.h2
3 files changed, 8 insertions, 8 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp
index 80da7b1375..e26e514b02 100644
--- a/engines/sci/detection.cpp
+++ b/engines/sci/detection.cpp
@@ -513,7 +513,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const Common::FSList &fsl
ResourceManager *resMan = new ResourceManager();
assert(resMan);
resMan->addAppropriateSources(fslist);
- resMan->init();
+ resMan->init(true);
// TODO: Add error handling.
#ifndef ENABLE_SCI32
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 703dc47760..f08c72a833 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -813,7 +813,7 @@ void ResourceManager::freeResourceSources() {
ResourceManager::ResourceManager() {
}
-void ResourceManager::init() {
+void ResourceManager::init(bool initFromFallbackDetector) {
_memoryLocked = 0;
_memoryLRU = 0;
_LRU.clear();
@@ -845,12 +845,12 @@ void ResourceManager::init() {
scanNewSources();
- if (!addInternalSources()) {
- error("Somehow I can't seem to find the sound files I need (RESOURCE.AUD/RESOURCE.SFX), aborting");
- return;
- }
+ if (!initFromFallbackDetector) {
+ if (!addInternalSources())
+ error("Somehow I can't seem to find the sound files I need (RESOURCE.AUD/RESOURCE.SFX), aborting");
- scanNewSources();
+ scanNewSources();
+ }
detectSciVersion();
diff --git a/engines/sci/resource.h b/engines/sci/resource.h
index f46f26620d..d9b162df31 100644
--- a/engines/sci/resource.h
+++ b/engines/sci/resource.h
@@ -273,7 +273,7 @@ public:
/**
* Initializes the resource manager.
*/
- void init();
+ void init(bool initFromFallbackDetector = false);
int addAppropriateSources();
int addAppropriateSources(const Common::FSList &fslist); // TODO: Switch from FSList to Common::Archive?