diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/engine.cpp | 4 | ||||
-rw-r--r-- | engines/engine.h | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/engines/engine.cpp b/engines/engine.cpp index 52020c772e..8326a1fe89 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -154,6 +154,10 @@ Engine::~Engine() { CursorMan.popCursorPalette(); } +void Engine::initializePath(const Common::FSNode &gamePath) { + SearchMan.addDirectory(gamePath.getPath(), gamePath, 0, 4); +} + void initCommonGFX(bool defaultTo1XScaler) { const Common::ConfigManager::Domain *transientDomain = ConfMan.getDomain(Common::ConfigManager::kTransientDomain); const Common::ConfigManager::Domain *gameDomain = ConfMan.getActiveDomain(); diff --git a/engines/engine.h b/engines/engine.h index 4f4223384a..33416dda44 100644 --- a/engines/engine.h +++ b/engines/engine.h @@ -37,6 +37,7 @@ class Error; class EventManager; class SaveFileManager; class TimerManager; +class FSNode; } namespace GUI { class Debugger; @@ -142,6 +143,16 @@ public: virtual ~Engine(); /** + * Init SearchMan according to the game path. + * + * By default it adds the directory in non-flat mode with a depth of 4 as + * priority 0 to SearchMan. + * + * @param gamePath The base directory of the game data. + */ + virtual void initializePath(const Common::FSNode &gamePath); + + /** * Init the engine and start its main loop. * @return returns kNoError on success, else an error code. */ |