aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/ksound.cpp2
-rw-r--r--engines/sci/engine/state.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp
index 584e58c0be..5352774812 100644
--- a/engines/sci/engine/ksound.cpp
+++ b/engines/sci/engine/ksound.cpp
@@ -149,7 +149,7 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
if (language != -1)
s->resMan->setAudioLanguage(language);
- return make_reg(0, s->resMan->getAudioLanguage());
+ return make_reg(0, s->getLanguage());
}
break;
case kSciAudioCD:
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp
index a773894254..003043b8ca 100644
--- a/engines/sci/engine/state.cpp
+++ b/engines/sci/engine/state.cpp
@@ -153,7 +153,11 @@ Common::String EngineState::getLanguageString(const char *str, kLanguage lang) c
}
kLanguage EngineState::getLanguage() {
- kLanguage lang = K_LANG_ENGLISH;
+ kLanguage lang = (kLanguage)resMan->getAudioLanguage();
+ if (lang != K_LANG_NONE)
+ return lang;
+
+ lang = K_LANG_ENGLISH;
if (_kernel->_selectorCache.printLang != -1) {
lang = (kLanguage)GET_SEL32V(_segMan, _gameObj, printLang);