diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/detection.cpp | 13 | ||||
-rw-r--r-- | engines/kyra/resource.cpp | 7 |
2 files changed, 17 insertions, 3 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp index 135a9ae7b2..875b49b62d 100644 --- a/engines/kyra/detection.cpp +++ b/engines/kyra/detection.cpp @@ -43,6 +43,13 @@ struct KYRAGameDescription { #include "kyra/detection_tables.h" +namespace { + +const char * const directoryGlobs[] = { + "malcolm", + 0 +}; + const ADParams detectionParams = { // Pointer to ADGameDescription or its superset structure (const byte *)adGameDescs, @@ -63,11 +70,13 @@ const ADParams detectionParams = { // Additional GUI options (for every game} Common::GUIO_NONE, // Maximum directory depth - 1, + 2, // List of directory globs - 0 + directoryGlobs }; +} // End of anonymous namespace + class KyraMetaEngine : public AdvancedMetaEngine { public: KyraMetaEngine() : AdvancedMetaEngine(detectionParams) {} diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp index efc1b16c9b..31a49a0af9 100644 --- a/engines/kyra/resource.cpp +++ b/engines/kyra/resource.cpp @@ -38,6 +38,11 @@ namespace Kyra { Resource::Resource(KyraEngine_v1 *vm) : _archiveCache(), _files(), _archiveFiles(), _protectedFiles(), _loaders(), _vm(vm) { initializeLoaders(); + // Initialize directories for playing from CD or with original + // directory structure + if (_vm->game() == GI_KYRA3) + SearchMan.addSubDirectoryMatching(Common::FSNode(ConfMan.get("path")), "malcolm"); + _files.add("global_search", &Common::SearchManager::instance(), 3, false); // compressed installer archives are added at level '2', // but that's done in Resource::reset not here @@ -70,7 +75,7 @@ bool Resource::reset() { // List of files in the talkie version, which can never be unload. static const char * const list[] = { "ADL.PAK", "CHAPTER1.VRM", "COL.PAK", "FINALE.PAK", "INTRO1.PAK", "INTRO2.PAK", - "INTRO3.PAK", "INTRO4.PAK", "MISC.PAK", "SND.PAK", "STARTUP.PAK", "XMI.PAK", + "INTRO3.PAK", "INTRO4.PAK", "MISC.PAK", "SND.PAK", "STARTUP.PAK", "XMI.PAK", "CAVE.APK", "DRAGON1.APK", "DRAGON2.APK", "LAGOON.APK", 0 }; |