diff options
author | Johannes Schickel | 2008-04-08 18:52:27 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-04-08 18:52:27 +0000 |
commit | 50c373247843370e622fde6b2b869f050465d0d4 (patch) | |
tree | 84f0212dbed2d492a969b32f8f9a8a476959ab44 /engines | |
parent | e4ddd5d5f1bc52a7fb3d82a6858ad3578f312663 (diff) | |
download | scummvm-rg350-50c373247843370e622fde6b2b869f050465d0d4.tar.gz scummvm-rg350-50c373247843370e622fde6b2b869f050465d0d4.tar.bz2 scummvm-rg350-50c373247843370e622fde6b2b869f050465d0d4.zip |
- Set language to Common::UNK_LANG for multilanguage games (kyra2cd and kyra3) in detection code
- Save language changes done in menu in HoF to the config file
svn-id: r31454
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/detection.cpp | 51 | ||||
-rw-r--r-- | engines/kyra/kyra.h | 2 | ||||
-rw-r--r-- | engines/kyra/kyra_v2.cpp | 22 |
3 files changed, 29 insertions, 46 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp index 3818990ecc..b814d75924 100644 --- a/engines/kyra/detection.cpp +++ b/engines/kyra/detection.cpp @@ -301,29 +301,7 @@ const KYRAGameDescription adGameDescs[] = { "kyra2", "CD", AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), - Common::EN_ANY, - Common::kPlatformPC, - Common::ADGF_NO_FLAGS - }, - KYRA2_CD_FLAGS - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), - Common::DE_DEU, - Common::kPlatformPC, - Common::ADGF_NO_FLAGS - }, - KYRA2_CD_FLAGS - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), - Common::FR_FRA, + Common::UNK_LANG, Common::kPlatformPC, Common::ADGF_NO_FLAGS }, @@ -382,29 +360,7 @@ const KYRAGameDescription adGameDescs[] = { "kyra3", 0, AD_ENTRY1("ONETIME.PAK", "3833ff312757b8e6147f464cca0a6587"), - Common::EN_ANY, - Common::kPlatformPC, - Common::ADGF_NO_FLAGS - }, - KYRA3_CD_FLAGS - }, - { - { - "kyra3", - 0, - AD_ENTRY1("ONETIME.PAK", "3833ff312757b8e6147f464cca0a6587"), - Common::DE_DEU, - Common::kPlatformPC, - Common::ADGF_NO_FLAGS - }, - KYRA3_CD_FLAGS - }, - { - { - "kyra3", - 0, - AD_ENTRY1("ONETIME.PAK", "3833ff312757b8e6147f464cca0a6587"), - Common::FR_FRA, + Common::UNK_LANG, Common::kPlatformPC, Common::ADGF_NO_FLAGS }, @@ -480,6 +436,9 @@ bool KyraMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common flags.lang = Common::EN_ANY; } + if (flags.lang == Common::EN_USA || flags.lang == Common::EN_GRB) + flags.lang = Common::EN_ANY; + switch (flags.gameID) { case Kyra::GI_KYRA1: *engine = new Kyra::KyraEngine_v1(syst, flags); diff --git a/engines/kyra/kyra.h b/engines/kyra/kyra.h index 03aaf2915c..1122919502 100644 --- a/engines/kyra/kyra.h +++ b/engines/kyra/kyra.h @@ -205,6 +205,8 @@ protected: GameFlags _flags; int _lang; + void updateLanguage(); + // opcode virtual void setupOpcodeTable() = 0; Common::Array<const Opcode*> _opcodes; diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp index 2a73366124..a4adf26798 100644 --- a/engines/kyra/kyra_v2.cpp +++ b/engines/kyra/kyra_v2.cpp @@ -2261,6 +2261,28 @@ void KyraEngine_v2::registerDefaultSettings() { void KyraEngine_v2::writeSettings() { ConfMan.setInt("talkspeed", ((_configTextspeed-2) * 255) / 95); + + switch (_lang) { + case 1: + _flags.lang = Common::FR_FRA; + break; + + case 2: + _flags.lang = Common::DE_DEU; + break; + + case 3: + _flags.lang = Common::JA_JPN; + break; + + case 0: + default: + _flags.lang = Common::EN_ANY; + break; + } + + ConfMan.set("language", Common::getLanguageCode(_flags.lang)); + KyraEngine::writeSettings(); } |