aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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?