aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/support/files_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/support/files_manager.cpp')
-rw-r--r--engines/titanic/support/files_manager.cpp11
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) :