diff options
Diffstat (limited to 'engines/titanic/support/files_manager.cpp')
-rw-r--r-- | engines/titanic/support/files_manager.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/titanic/support/files_manager.cpp b/engines/titanic/support/files_manager.cpp index ee3a3e1cde..836d35b717 100644 --- a/engines/titanic/support/files_manager.cpp +++ b/engines/titanic/support/files_manager.cpp @@ -24,11 +24,12 @@ #include "common/memstream.h" #include "titanic/support/files_manager.h" #include "titanic/game_manager.h" +#include "titanic/titanic.h" namespace Titanic { -CFilesManager::CFilesManager() : _gameManager(nullptr), _assetsPath("Assets"), - _drive(-1) { +CFilesManager::CFilesManager(TitanicEngine *vm) : _vm(vm), _gameManager(nullptr), + _assetsPath("Assets"), _drive(-1) { loadResourceIndex(); } @@ -122,6 +123,12 @@ void CFilesManager::preload(const CString &name) { Common::SeekableReadStream *CFilesManager::getResource(const CString &str) { ResourceEntry resEntry = _resources[str]; + + // If we're running the German version, check for the existance of + // a German specific version of the given resource + if (_vm->getLanguage() == Common::DE_DEU && _resources.contains(str + "/DE")) + resEntry = _resources[str + "/DE"]; + _datFile.seek(resEntry._offset); return (resEntry._size > 0) ? _datFile.readStream(resEntry._size) : |