LOL: fix so-called bug #3313950

(LoL support for Italian fan translation)
This commit is contained in:
athrxx 2011-06-10 22:19:43 +02:00
parent 6a6b9aabea
commit afbfb056f7
3 changed files with 60 additions and 2 deletions

View File

@ -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 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_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_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_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) #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 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", "lol",

View File

@ -99,7 +99,7 @@ class KyraMetaEngine;
* - The Legend of Kyrandia (fully supported, except for Macintosh port, which lacks sound) * - The Legend of Kyrandia (fully supported, except for Macintosh port, which lacks sound)
* - (The) Hand of Fate (fully supported) * - (The) Hand of Fate (fully supported)
* - Malcolm's Revenge (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 { namespace Kyra {

View File

@ -43,7 +43,12 @@ LoLEngine::LoLEngine(OSystem *system, const GameFlags &flags) : KyraEngine_v1(sy
_txt = 0; _txt = 0;
_tim = 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_ANY:
case Common::EN_USA: case Common::EN_USA:
case Common::EN_GRB: case Common::EN_GRB: