aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorathrxx2011-06-10 22:19:43 +0200
committerathrxx2011-06-10 22:45:44 +0200
commitafbfb056f7e93dab083b0fed56aa0723ce825604 (patch)
treebd92e8acf596fb6e01f95b9300d99bdf820fd797 /engines/kyra
parent6a6b9aabeaca1737000401c6099fd39b00eb351e (diff)
downloadscummvm-rg350-afbfb056f7e93dab083b0fed56aa0723ce825604.tar.gz
scummvm-rg350-afbfb056f7e93dab083b0fed56aa0723ce825604.tar.bz2
scummvm-rg350-afbfb056f7e93dab083b0fed56aa0723ce825604.zip
LOL: fix so-called bug #3313950
(LoL support for Italian fan translation)
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/detection_tables.h53
-rw-r--r--engines/kyra/kyra_v1.h2
-rw-r--r--engines/kyra/lol.cpp7
3 files changed, 60 insertions, 2 deletions
diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h
index 8a948eff00..e4815ab751 100644
--- a/engines/kyra/detection_tables.h
+++ b/engines/kyra/detection_tables.h
@@ -47,6 +47,7 @@ namespace {
#define KYRA3_CD_FAN_FLAGS(x, y) FLAGS_FAN(x, y, false, false, true, false, false, true, false, Kyra::GI_KYRA3)
#define LOL_CD_FLAGS FLAGS(false, false, true, false, false, false, false, Kyra::GI_LOL)
+#define LOL_CD_FAN_FLAGS(x, y) FLAGS_FAN(x, y, false, false, true, false, false, false, false, Kyra::GI_LOL)
#define LOL_FLOPPY_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_LOL)
#define LOL_FLOPPY_CMP_FLAGS FLAGS(false, false, false, false, false, false, true, Kyra::GI_LOL)
#define LOL_PC98_SJIS_FLAGS FLAGS(false, false, false, true, true, false, false, Kyra::GI_LOL)
@@ -1056,6 +1057,58 @@ const KYRAGameDescription adGameDescs[] = {
LOL_CD_FLAGS
},
+ // Italian fan translation
+ {
+ {
+ "lol",
+ "CD",
+ {
+ { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 },
+ { "L01.PAK", 0, "898485c0eb7bb4403fdd63bf5191f37e", -1 },
+ { 0, 0, 0, 0 }
+ },
+ Common::IT_ITA,
+ Common::kPlatformPC,
+ ADGF_DROPLANGUAGE | ADGF_CD,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK
+ },
+ LOL_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY)
+ },
+
+ {
+ {
+ "lol",
+ "CD",
+ {
+ { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 },
+ { "L01.PAK", 0, "898485c0eb7bb4403fdd63bf5191f37e", -1 },
+ { 0, 0, 0, 0 }
+ },
+ Common::DE_DEU,
+ Common::kPlatformPC,
+ ADGF_DROPLANGUAGE | ADGF_CD,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK
+ },
+ LOL_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY)
+ },
+
+ {
+ {
+ "lol",
+ "CD",
+ {
+ { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 },
+ { "L01.PAK", 0, "898485c0eb7bb4403fdd63bf5191f37e", -1 },
+ { 0, 0, 0, 0 }
+ },
+ Common::FR_FRA,
+ Common::kPlatformPC,
+ ADGF_DROPLANGUAGE | ADGF_CD,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK
+ },
+ LOL_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY)
+ },
+
{
{
"lol",
diff --git a/engines/kyra/kyra_v1.h b/engines/kyra/kyra_v1.h
index cf15b189ac..5b4f3385a4 100644
--- a/engines/kyra/kyra_v1.h
+++ b/engines/kyra/kyra_v1.h
@@ -99,7 +99,7 @@ class KyraMetaEngine;
* - The Legend of Kyrandia (fully supported, except for Macintosh port, which lacks sound)
* - (The) Hand of Fate (fully supported)
* - Malcolm's Revenge (fully supported)
- * - Lands of Lore: The Throne of Chaos (completable, still work in progress)
+ * - Lands of Lore: The Throne of Chaos (fully supported)
*/
namespace Kyra {
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index 0d4eb0056c..c567cbb037 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -43,7 +43,12 @@ LoLEngine::LoLEngine(OSystem *system, const GameFlags &flags) : KyraEngine_v1(sy
_txt = 0;
_tim = 0;
- switch (_flags.lang) {
+ _lang = 0;
+ Common::Language lang = Common::parseLanguage(ConfMan.get("language"));
+ if (lang == _flags.fanLang && _flags.replacedLang != Common::UNK_LANG)
+ lang = _flags.replacedLang;
+
+ switch (lang) {
case Common::EN_ANY:
case Common::EN_USA:
case Common::EN_GRB: