SWORD1: Add internal support for language switching

For now this is controllable only by setting e.g.:
subtitles_language_override=it
in the relevant [sword1] entry within scummvm.ini.
This commit is contained in:
AndywinXp 2024-08-23 17:31:48 +02:00
parent 4bcf8fb58d
commit 9d5b70d1d4

View File

@ -124,7 +124,20 @@ Common::Error SwordEngine::init() {
_systemVars.fastMode = false;
_systemVars.parallaxOn = true;
switch (_systemVars.realLanguage) {
Common::Language langOverride = Common::UNK_LANG;
if (ConfMan.hasKey("subtitles_language_override", _targetName)) {
langOverride = Common::parseLanguage(ConfMan.get("subtitles_language_override"));
// Versions with extended language support have seven languages instead of five...
bool hasExtendedLangSupport = (_systemVars.realLanguage == Common::PT_BRA || _systemVars.realLanguage == Common::CS_CZE);
// ...but let's avoid setting one of the extra languages in a five-languages edition
if (!hasExtendedLangSupport && (langOverride == Common::PT_BRA || langOverride == Common::CS_CZE))
langOverride = Common::UNK_LANG;
}
switch (langOverride != Common::UNK_LANG ? langOverride : _systemVars.realLanguage) {
case Common::DE_DEU:
_systemVars.language = BS1_GERMAN;
break;