aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/bladerunner.cpp
diff options
context:
space:
mode:
authorStrangerke2019-09-07 22:49:27 +0200
committerStrangerke2019-09-07 22:49:27 +0200
commitd0bc1cf25cad3c469aadd5ad1ab8ce6bec7f0ee7 (patch)
treec102f6ff1718cee0bc30fda07ba1e4496bda3c0c /engines/bladerunner/bladerunner.cpp
parentb1db45b718c6ebdc4f159a22c7b8ab1ecf6ce106 (diff)
parent94b9304014217c57d4e050efb66ba9861f948ae2 (diff)
downloadscummvm-rg350-d0bc1cf25cad3c469aadd5ad1ab8ce6bec7f0ee7.tar.gz
scummvm-rg350-d0bc1cf25cad3c469aadd5ad1ab8ce6bec7f0ee7.tar.bz2
scummvm-rg350-d0bc1cf25cad3c469aadd5ad1ab8ce6bec7f0ee7.zip
Merge branch 'master' of https://github.com/scummvm/scummvm
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r--engines/bladerunner/bladerunner.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index fa0d79e0ba..cc4570036c 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -625,6 +625,8 @@ bool BladeRunnerEngine::startup(bool hasSavegames) {
if (!_textOptions->open("OPTIONS"))
return false;
+ _russianCP1251 = ((uint8)_textOptions->getText(0)[0]) == 209;
+
_dialogueMenu = new DialogueMenu(this);
if (!_dialogueMenu->loadText("DLGMENU"))
return false;
@@ -1925,13 +1927,22 @@ void BladeRunnerEngine::setSubtitlesEnabled(bool newVal) {
}
Common::SeekableReadStream *BladeRunnerEngine::getResourceStream(const Common::String &name) {
+ // If the file is extracted from MIX files use it directly, it is used by Russian translation patched by Siberian Studio
+ if (Common::File::exists(name)) {
+ Common::File directFile;
+ if (directFile.open(name)) {
+ Common::SeekableReadStream *stream = directFile.readStream(directFile.size());
+ directFile.close();
+ return stream;
+ }
+ }
+
for (int i = 0; i != kArchiveCount; ++i) {
if (!_archives[i].isOpen()) {
continue;
}
// debug("getResource: Searching archive %s for %s.", _archives[i].getName().c_str(), name.c_str());
-
Common::SeekableReadStream *stream = _archives[i].createReadStreamForMember(name);
if (stream) {
return stream;