diff options
Diffstat (limited to 'engines/sword1')
-rw-r--r-- | engines/sword1/animation.cpp | 6 | ||||
-rw-r--r-- | engines/sword1/control.cpp | 4 | ||||
-rw-r--r-- | engines/sword1/objectman.cpp | 4 | ||||
-rw-r--r-- | engines/sword1/sword1.cpp | 4 | ||||
-rw-r--r-- | engines/sword1/sword1.h | 1 |
5 files changed, 12 insertions, 7 deletions
diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp index f7add4eed2..ff3c897dba 100644 --- a/engines/sword1/animation.cpp +++ b/engines/sword1/animation.cpp @@ -69,7 +69,7 @@ static const char *const sequenceList[20] = { }; // This is the list of the names of the PlayStation videos -// TODO: fight.str, flashy.str, +// TODO: fight.str, flashy.str, static const char *const sequenceListPSX[20] = { "e_ferr1", "ladder1", @@ -152,14 +152,14 @@ bool MoviePlayer::load(uint32 id) { warning("%s:%d startFrame (%d) <= lastEnd (%d)", filename.c_str(), lineNo, startFrame, lastEnd); continue; } - + int color = 0; if (*ptr == '@') { ++ptr; color = strtoul(ptr, const_cast<char **>(&ptr), 10); while (*ptr && Common::isSpace(*ptr)) ptr++; - } + } _movieTexts.push_back(MovieText(startFrame, endFrame, ptr, color)); lastEnd = endFrame; 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/objectman.cpp b/engines/sword1/objectman.cpp index 5d1864d58d..3e70a95699 100644 --- a/engines/sword1/objectman.cpp +++ b/engines/sword1/objectman.cpp @@ -107,7 +107,7 @@ char *ObjectMan::lockText(uint32 textId) { warning("Missing translation for textId %u (\"%s\")", textId, text); unlockText(textId, BS1_ENGLISH); } - + return _missingSubTitleStr; } return text; @@ -164,7 +164,7 @@ char *ObjectMan::lockText(uint32 textId, uint8 lang) { // We use the hardcoded text in this case. if (textId == 2950145) return const_cast<char *>(_translationId2950145[lang]); - + warning("ObjectMan::lockText(%d): text number has no text lines", textId); return NULL; } 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 { |