aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sword1/control.cpp4
-rw-r--r--engines/sword1/sword1.cpp4
-rw-r--r--engines/sword1/sword1.h1
3 files changed, 7 insertions, 2 deletions
diff --git a/engines/sword1/control.cpp b/engines/sword1/control.cpp
index 6e395116f9..7cd85dff54 100644
--- a/engines/sword1/control.cpp
+++ b/engines/sword1/control.cpp
@@ -541,7 +541,9 @@ void Control::setupMainPanel() {
if (SwordEngine::_systemVars.controlPanelMode == CP_DEATHSCREEN)
panelId = SR_DEATHPANEL;
else {
- if (SwordEngine::_systemVars.language <= BS1_SPANISH)
+ if (SwordEngine::_systemVars.realLanguage == Common::EN_USA)
+ panelId = SR_PANEL_AMERICAN;
+ else if (SwordEngine::_systemVars.language <= BS1_SPANISH)
panelId = SR_PANEL_ENGLISH + SwordEngine::_systemVars.language;
else
panelId = SR_PANEL_ENGLISH;
diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp
index 75e8f72d9d..fa593b8df4 100644
--- a/engines/sword1/sword1.cpp
+++ b/engines/sword1/sword1.cpp
@@ -116,8 +116,9 @@ Common::Error SwordEngine::init() {
_systemVars.controlPanelMode = CP_NEWGAME;
_systemVars.forceRestart = false;
_systemVars.wantFade = true;
+ _systemVars.realLanguage = Common::parseLanguage(ConfMan.get("language"));
- switch (Common::parseLanguage(ConfMan.get("language"))) {
+ switch (_systemVars.realLanguage) {
case Common::DE_DEU:
_systemVars.language = BS1_GERMAN;
break;
@@ -138,6 +139,7 @@ Common::Error SwordEngine::init() {
break;
default:
_systemVars.language = BS1_ENGLISH;
+ break;
}
_systemVars.showText = ConfMan.getBool("subtitles");
diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h
index ccdc2d3a59..ec6555b4b3 100644
--- a/engines/sword1/sword1.h
+++ b/engines/sword1/sword1.h
@@ -75,6 +75,7 @@ struct SystemVars {
uint8 language;
bool isDemo;
Common::Platform platform;
+ Common::Language realLanguage;
};
class SwordEngine : public Engine {