diff options
author | Eugene Sandulenko | 2010-06-15 10:15:51 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-06-15 10:15:51 +0000 |
commit | d137b4610ab6c2d1577d6656bf8c193d2e4cf8a3 (patch) | |
tree | 3f966540bd5d1bfb5c2c29220136c7c162a22a9f /engines/kyra | |
parent | d5c3cda8c5cc06a75b27d7fd7f735fb27e5877e3 (diff) | |
download | scummvm-rg350-d137b4610ab6c2d1577d6656bf8c193d2e4cf8a3.tar.gz scummvm-rg350-d137b4610ab6c2d1577d6656bf8c193d2e4cf8a3.tar.bz2 scummvm-rg350-d137b4610ab6c2d1577d6656bf8c193d2e4cf8a3.zip |
Split out detection code in Kyra engine.
svn-id: r49695
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/detection.cpp | 1169 | ||||
-rw-r--r-- | engines/kyra/detection_tables.h | 1192 |
2 files changed, 1193 insertions, 1168 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp index 90a107099f..4ed314934d 100644 --- a/engines/kyra/detection.cpp +++ b/engines/kyra/detection.cpp @@ -41,1172 +41,7 @@ struct KYRAGameDescription { Kyra::GameFlags flags; }; -namespace { - -#define FLAGS(x, y, z, a, b, c, d, id) { Common::UNK_LANG, Common::UNK_LANG, Common::UNK_LANG, Common::kPlatformUnknown, x, y, z, a, b, c, d, id } -#define FLAGS_FAN(fanLang, repLang, x, y, z, a, b, c, d, id) { Common::UNK_LANG, fanLang, repLang, Common::kPlatformUnknown, x, y, z, a, b, c, d, id } - -#define KYRA1_FLOPPY_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA1) -#define KYRA1_FLOPPY_CMP_FLAGS FLAGS(false, false, false, false, false, false, true, Kyra::GI_KYRA1) -#define KYRA1_AMIGA_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA1) -#define KYRA1_TOWNS_FLAGS FLAGS(false, true, false, false, false, false, false, Kyra::GI_KYRA1) -#define KYRA1_TOWNS_SJIS_FLAGS FLAGS(false, true, false, true, false, false, false, Kyra::GI_KYRA1) -#define KYRA1_CD_FLAGS FLAGS(false, true, true, false, false, false, false, Kyra::GI_KYRA1) -#define KYRA1_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA1) -#define KYRA1_DEMO_CD_FLAGS FLAGS(true, true, true, false, false, false, false, Kyra::GI_KYRA1) - -#define KYRA2_FLOPPY_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA2) -#define KYRA2_FLOPPY_CMP_FLAGS FLAGS(false, false, false, false, false, false, true, Kyra::GI_KYRA2) -#define KYRA2_CD_FLAGS FLAGS(false, false, true, false, false, false, false, Kyra::GI_KYRA2) -#define KYRA2_CD_FAN_FLAGS(x, y) FLAGS_FAN(x, y, false, false, true, false, false, false, false, Kyra::GI_KYRA2) -#define KYRA2_CD_DEMO_FLAGS FLAGS(true, false, true, false, false, false, false, Kyra::GI_KYRA2) -#define KYRA2_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA2) -#define KYRA2_TOWNS_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA2) -#define KYRA2_TOWNS_SJIS_FLAGS FLAGS(false, false, false, true, false, false, false, Kyra::GI_KYRA2) - -#define KYRA3_CD_FLAGS FLAGS(false, false, true, false, false, true, true, Kyra::GI_KYRA3) -#define KYRA3_CD_INS_FLAGS FLAGS(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_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) -#define LOL_DEMO_FLAGS FLAGS(true, true, false, false, false, false, false, Kyra::GI_LOL) -#define LOL_KYRA2_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA2) - -const KYRAGameDescription adGameDescs[] = { - /* disable these targets until they get supported - { - { - "kyra1", - 0, - AD_ENTRY1("DISK1.EXE", "c8641d0414d6c966d0a3dad79db07bf4"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_CMP_FLAGS - }, - - { - { - "kyra1", - 0, - AD_ENTRY1("DISK1.EXE", "5d5cee4c3d0b68d586788b74243d254a"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_CMP_FLAGS - }, - */ - - { - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "3c244298395520bb62b5edfe41688879"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "796e44863dd22fa635b042df1bf16673"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "abf8eb360e79a6c2a837751fbd4d3d24"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "6018e1dfeaca7fe83f8d0b00eb0dd049"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { // from Arne.F - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "f0b276781f47c130f423ec9679fe9ed9"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { // from VooD - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "8909b41596913b3f5deaf3c9f1017b01"), - Common::ES_ESP, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { // floppy 1.8 from clemmy - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "747861d2a9c643c59fdab570df5b9093"), - Common::ES_ESP, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - { // from gourry - { - "kyra1", - "Extracted", - AD_ENTRY1("GEMCUT.EMC", "ef08c8c237ee1473fd52578303fc36df"), - Common::IT_ITA, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - - { - { - "kyra1", - 0, - { - { "GEMCUT.PAK", 0, "2bd1da653eaefd691e050e4a9eb68a64", -1 }, - { "GEMCUT.EMC", 0, "2a3f44e179f1e9f7643e90083c747571", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::EN_ANY, - Common::kPlatformAmiga, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_AMIGA_FLAGS - }, - - { - { - "kyra1", - 0, - { - { "GEMCUT.PAK", 0, "2bd1da653eaefd691e050e4a9eb68a64", -1 }, - { "GEMCUT.EMC", 0, "74f99e9ed99abf8d0429826d78485a2a", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::DE_DEU, - Common::kPlatformAmiga, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_AMIGA_FLAGS - }, - - { - { - "kyra1", - 0, - { - { "GEMCUT.EMC", 0, "796e44863dd22fa635b042df1bf16673", -1 }, - { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::EN_ANY, - Common::kPlatformMacintosh, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_FLOPPY_FLAGS - }, - - { // FM-TOWNS version - { - "kyra1", - 0, - { - { "EMC.PAK", 0, "a046bb0b422061aab8e4c4689400343a", -1 }, - { "TWMUSIC.PAK", 0, "e53bca3a3e3fb49107d59463ec387a59", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::EN_ANY, - Common::kPlatformFMTowns, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_TOWNS_FLAGS - }, - { - { - "kyra1", - 0, - { - { "JMC.PAK", 0, "9c5707a2a478e8167e44283246612d2c", -1 }, - { "TWMUSIC.PAK", 0, "e53bca3a3e3fb49107d59463ec387a59", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::JA_JPN, - Common::kPlatformFMTowns, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_TOWNS_SJIS_FLAGS - }, - - // PC-9801 floppy + CD / PC-9821 floppy version are all using the same data files, - // thus we will mark it as non CD game. - { - { - "kyra1", - "", - { - { "JMC.PAK", 0, "9c5707a2a478e8167e44283246612d2c", -1 }, - { "MUSIC98.PAK", 0, "02fc212f799331b769b274e33d87b37f", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::JA_JPN, - Common::kPlatformPC98, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA1_TOWNS_SJIS_FLAGS - }, - - { - { - "kyra1", - "CD", - AD_ENTRY1("GEMCUT.PAK", "fac399fe62f98671e56a005c5e94e39f"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - { - { - "kyra1", - "CD", - AD_ENTRY1("GEMCUT.PAK", "230f54e6afc007ab4117159181a1c722"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - { - { - "kyra1", - "CD", - AD_ENTRY1("GEMCUT.PAK", "b037c41768b652a040360ffa3556fd2a"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - - { // italian fan translation see fr#1727941 "KYRA: add Italian CD Version to kyra.dat" - { - "kyra1", - "CD", - AD_ENTRY1("GEMCUT.PAK", "d8327fc4b7a72b23c900fa13aef4093a"), - Common::IT_ITA, - Common::kPlatformPC, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - - { // Kyra 1 Mac CD as mentioned in fr #2766454 "KYRA1: Add support for Macintosh CD" by nnooiissee - { - "kyra1", - "CD", - { - { "GEMCUT.PAK", 0, "d3d4b281cd357230aabcec46843d04bd", -1 }, - { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::EN_ANY, - Common::kPlatformMacintosh, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - { - { - "kyra1", - "CD", - { - { "GEMCUT.PAK", 0, "4a0cb720e824295bcbccbd1407652110", -1 }, - { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::DE_DEU, - Common::kPlatformMacintosh, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - { - { - "kyra1", - "CD", - { - { "GEMCUT.PAK", 0, "b71ee090aa12e80ed2ba068826d92bed", -1 }, - { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, - { NULL, 0, NULL, 0 } - }, - Common::FR_FRA, - Common::kPlatformMacintosh, - ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_CD_FLAGS - }, - - { - { - "kyra1", - "Demo", - AD_ENTRY1("DEMO1.WSA", "fb722947d94897512b13b50cc84fd648"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DEMO, - Common::GUIO_NOSPEECH - }, - KYRA1_DEMO_FLAGS - }, - - { // Special Kyrandia 1 CD demo - { - "kyra1", - "Demo/CD", - AD_ENTRY1("INTRO.VRM", "e3045fb69b8c29db84b8fda3ccbdac54"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DEMO | ADGF_CD, - Common::GUIO_NONE - }, - KYRA1_DEMO_CD_FLAGS - }, - - { // Floppy version - { - "kyra2", - 0, - AD_ENTRY1("WESTWOOD.001", "3f52dda68c4f7696c8309038be9f4151"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_FLOPPY_CMP_FLAGS - }, - - { // Floppy version - { - "kyra2", - 0, - AD_ENTRY1("WESTWOOD.001", "d787b9559afddfe058b84c0b3a787224"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_FLOPPY_CMP_FLAGS - }, - - { // Floppy version extracted - { - "kyra2", - "Extracted", - AD_ENTRY1("FATE.PAK", "1ba18be685ad8e5a0ab5d46a0ce4d345"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_FLOPPY_FLAGS - }, - - { // Floppy version extracted - { - "kyra2", - "Extracted", - AD_ENTRY1("FATE.PAK", "262fb69dd8e52e596c7aefc6456f7c1b"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_FLOPPY_FLAGS - }, - - { // Floppy version extracted - { - "kyra2", - "Extracted", - AD_ENTRY1("FATE.PAK", "f7de11506b4c8fdf64bc763206c3e4e7"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_FLOPPY_FLAGS - }, - - { // Floppy version extracted - { - "kyra2", - "Extracted", - AD_ENTRY1("FATE.PAK", "e0a70c31b022cb4bb3061890020fc27c"), - Common::IT_ITA, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_FLOPPY_FLAGS - }, - - { // CD version - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FLAGS - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FLAGS - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FLAGS - }, - - // Italian fan translation, see fr#2003504 "KYRA: add support for Italian version of Kyrandia 2&3" - { // CD version - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "30487f3b8d7790c7857f4769ff2dd125"), - Common::IT_ITA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "30487f3b8d7790c7857f4769ff2dd125"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "30487f3b8d7790c7857f4769ff2dd125"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) - }, - - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "39772ff82e42c4c520050518deb82e64"), - Common::IT_ITA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) - }, - - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "39772ff82e42c4c520050518deb82e64"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) - }, - - { - { - "kyra2", - "CD", - AD_ENTRY1("FATE.PAK", "39772ff82e42c4c520050518deb82e64"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) - }, - - { // Interactive Demo - { - "kyra2", - "CD/Demo", - AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD | ADGF_DEMO, - Common::GUIO_NONE - }, - KYRA2_CD_DEMO_FLAGS - }, - - { // Interactive Demo - { - "kyra2", - "CD/Demo", - AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD | ADGF_DEMO, - Common::GUIO_NONE - }, - KYRA2_CD_DEMO_FLAGS - }, - - { // Interactive Demo - { - "kyra2", - "CD/Demo", - AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD | ADGF_DEMO, - Common::GUIO_NONE - }, - KYRA2_CD_DEMO_FLAGS - }, - - { // Non-Interactive Demos - { - "kyra2", - "Demo", - AD_ENTRY1("VOC.PAK", "ecb3561b63749158172bf21528cf5f45"), - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DEMO, - Common::GUIO_NONE - }, - KYRA2_DEMO_FLAGS - }, - - { // FM-TOWNS - { - "kyra2", - 0, - AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), - Common::EN_ANY, - Common::kPlatformFMTowns, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_TOWNS_FLAGS - }, - { - { - "kyra2", - 0, - AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), - Common::JA_JPN, - Common::kPlatformFMTowns, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - KYRA2_TOWNS_SJIS_FLAGS - }, - { // PC-9821 - { - "kyra2", - "CD", - AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), - Common::EN_ANY, - Common::kPlatformPC98, - ADGF_CD, - Common::GUIO_NOSPEECH - }, - KYRA2_TOWNS_FLAGS - }, - { - { - "kyra2", - "CD", - AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), - Common::JA_JPN, - Common::kPlatformPC98, - ADGF_CD, - Common::GUIO_NOSPEECH - }, - KYRA2_TOWNS_SJIS_FLAGS - }, - - // Kyra3 - - // non installed version - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "WESTWOOD.001", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FLAGS - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "WESTWOOD.001", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FLAGS - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "WESTWOOD.001", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FLAGS - }, - - // installed version - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_INS_FLAGS - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_INS_FLAGS - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_INS_FLAGS - }, - - // Mac version - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformMacintosh, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_INS_FLAGS - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformMacintosh, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_INS_FLAGS - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::FR_FRA, - Common::kPlatformMacintosh, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_INS_FLAGS - }, - - // Spanish fan translation, see fr#1994040 "KYRA3: Add support for Spanish fan translation" - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "9aaca21d2a205ca02ec53132f2911794", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::ES_ESP, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY) - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "9aaca21d2a205ca02ec53132f2911794", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY) - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "9aaca21d2a205ca02ec53132f2911794", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY) - }, - - // Italian fan translation, see fr#2003504 "KYRA: add support for Italian version of Kyrandia 2&3" - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "ee2d4d056a5de5333a3c6bda055b3cb4", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "ee2d4d056a5de5333a3c6bda055b3cb4", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) - }, - { - { - "kyra3", - 0, - { - { "ONETIME.PAK", 0, "ee2d4d056a5de5333a3c6bda055b3cb4", -1 }, - { "AUD.PAK", 0, 0, -1 }, - { 0, 0, 0, 0 } - }, - Common::IT_ITA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE, - Common::GUIO_NOMIDI - }, - KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) - }, - -#ifdef ENABLE_LOL - // Lands of Lore CD - { - { - "lol", - "CD", - { - { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 }, - { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - LOL_CD_FLAGS - }, - - { - { - "lol", - "CD", - { - { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 }, - { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - LOL_CD_FLAGS - }, - - { - { - "lol", - "CD", - { - { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 }, - { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, - { 0, 0, 0, 0 } - }, - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - LOL_CD_FLAGS - }, - - { - { - "lol", - "CD", - { - { "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 }, - { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - LOL_CD_FLAGS - }, - - { - { - "lol", - "CD", - { - { "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 }, - { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - LOL_CD_FLAGS - }, - - { - { - "lol", - "CD", - { - { "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 }, - { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, - { 0, 0, 0, 0 } - }, - Common::FR_FRA, - Common::kPlatformPC, - ADGF_DROPLANGUAGE | ADGF_CD, - Common::GUIO_NONE - }, - LOL_CD_FLAGS - }, - - { - { - "lol", - 0, - { - { "WESTWOOD.1", 0, "c656aa9a2b4032d341e3dc8e3525b917", -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - LOL_FLOPPY_CMP_FLAGS - }, - - { - { - "lol", - 0, - { - { "WESTWOOD.1", 0, "3c61cb7de5b2ec452f5851f5075207ee", -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - LOL_FLOPPY_CMP_FLAGS - }, - - { - { - "lol", - "Extracted", - { - { "GENERAL.PAK", 0, "2aaa30e120c08af87196820e9dd4bf73", -1 }, - { "CHAPTER7.PAK", 0, "eb92bf7ebb4e890add1233a6b0c810ff", -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - LOL_FLOPPY_FLAGS - }, - - { - { - "lol", - "Extracted", - { - { "GENERAL.PAK", 0, "996e66e81054d36249907a1d8158da3d", -1 }, - { "CHAPTER7.PAK", 0, "cabee57f00d6d84b65a732b6868a4959", -1 }, - { 0, 0, 0, 0 } - }, - Common::DE_DEU, - Common::kPlatformPC, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - LOL_FLOPPY_FLAGS - }, - - { - { - "lol", - 0, - { - { "GENERAL.PAK", 0, "3fe6539b9b09084c0984eaf7170464e9", -1 }, - { "MUS.PAK", 0, "008dc69d8cbcdb6bae30e270fab26e76", -1 }, - { 0, 0, 0, 0 } - }, - Common::JA_JPN, - Common::kPlatformPC98, - ADGF_NO_FLAGS, - Common::GUIO_NOSPEECH - }, - LOL_PC98_SJIS_FLAGS - }, - - { - { - "lol", - "Demo", - { - { "INTRO.PAK", 0, "4bc22a3b57f19a49212c5de58ab014d6", -1 }, - { "INTROVOC.PAK", 0, "7e578e4f1da31c1f294e14a8e8f3cc44", -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DEMO, - Common::GUIO_NONE - }, - LOL_DEMO_FLAGS - }, - - { - { - "lol", - "Demo", - { - { "GENERAL.PAK", 0, "e94863d86c4597a2d581d05481c152ba", -1 }, - { 0, 0, 0, 0 } - }, - Common::EN_ANY, - Common::kPlatformPC, - ADGF_DEMO, - Common::GUIO_NOSPEECH - }, - LOL_KYRA2_DEMO_FLAGS - }, -#endif // ENABLE_LOL - - { AD_TABLE_END_MARKER, FLAGS(0, 0, 0, 0, 0, 0, 0, 0) } -}; - -const PlainGameDescriptor gameList[] = { - { "kyra1", "The Legend of Kyrandia" }, - { "kyra2", "The Legend of Kyrandia: The Hand of Fate" }, - { "kyra3", "The Legend of Kyrandia: Malcolm's Revenge" }, -#ifdef ENABLE_LOL - { "lol", "Lands of Lore: The Throne of Chaos" }, -#endif // ENABLE_LOL - { 0, 0 } -}; +#include "kyra/detection_tables.h" const ADParams detectionParams = { // Pointer to ADGameDescription or its superset structure @@ -1231,8 +66,6 @@ const ADParams detectionParams = { 1 }; -} // End of anonymous namespace - class KyraMetaEngine : public AdvancedMetaEngine { public: KyraMetaEngine() : AdvancedMetaEngine(detectionParams) {} diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h new file mode 100644 index 0000000000..9f40cc3b1f --- /dev/null +++ b/engines/kyra/detection_tables.h @@ -0,0 +1,1192 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + */ + +namespace { + +#define FLAGS(x, y, z, a, b, c, d, id) { Common::UNK_LANG, Common::UNK_LANG, Common::UNK_LANG, Common::kPlatformUnknown, x, y, z, a, b, c, d, id } +#define FLAGS_FAN(fanLang, repLang, x, y, z, a, b, c, d, id) { Common::UNK_LANG, fanLang, repLang, Common::kPlatformUnknown, x, y, z, a, b, c, d, id } + +#define KYRA1_FLOPPY_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA1) +#define KYRA1_FLOPPY_CMP_FLAGS FLAGS(false, false, false, false, false, false, true, Kyra::GI_KYRA1) +#define KYRA1_AMIGA_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA1) +#define KYRA1_TOWNS_FLAGS FLAGS(false, true, false, false, false, false, false, Kyra::GI_KYRA1) +#define KYRA1_TOWNS_SJIS_FLAGS FLAGS(false, true, false, true, false, false, false, Kyra::GI_KYRA1) +#define KYRA1_CD_FLAGS FLAGS(false, true, true, false, false, false, false, Kyra::GI_KYRA1) +#define KYRA1_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA1) +#define KYRA1_DEMO_CD_FLAGS FLAGS(true, true, true, false, false, false, false, Kyra::GI_KYRA1) + +#define KYRA2_FLOPPY_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA2) +#define KYRA2_FLOPPY_CMP_FLAGS FLAGS(false, false, false, false, false, false, true, Kyra::GI_KYRA2) +#define KYRA2_CD_FLAGS FLAGS(false, false, true, false, false, false, false, Kyra::GI_KYRA2) +#define KYRA2_CD_FAN_FLAGS(x, y) FLAGS_FAN(x, y, false, false, true, false, false, false, false, Kyra::GI_KYRA2) +#define KYRA2_CD_DEMO_FLAGS FLAGS(true, false, true, false, false, false, false, Kyra::GI_KYRA2) +#define KYRA2_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA2) +#define KYRA2_TOWNS_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_KYRA2) +#define KYRA2_TOWNS_SJIS_FLAGS FLAGS(false, false, false, true, false, false, false, Kyra::GI_KYRA2) + +#define KYRA3_CD_FLAGS FLAGS(false, false, true, false, false, true, true, Kyra::GI_KYRA3) +#define KYRA3_CD_INS_FLAGS FLAGS(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_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) +#define LOL_DEMO_FLAGS FLAGS(true, true, false, false, false, false, false, Kyra::GI_LOL) +#define LOL_KYRA2_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA2) + +const KYRAGameDescription adGameDescs[] = { + /* disable these targets until they get supported + { + { + "kyra1", + 0, + AD_ENTRY1("DISK1.EXE", "c8641d0414d6c966d0a3dad79db07bf4"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_CMP_FLAGS + }, + + { + { + "kyra1", + 0, + AD_ENTRY1("DISK1.EXE", "5d5cee4c3d0b68d586788b74243d254a"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_CMP_FLAGS + }, + */ + + { + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "3c244298395520bb62b5edfe41688879"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "796e44863dd22fa635b042df1bf16673"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "abf8eb360e79a6c2a837751fbd4d3d24"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "6018e1dfeaca7fe83f8d0b00eb0dd049"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { // from Arne.F + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "f0b276781f47c130f423ec9679fe9ed9"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { // from VooD + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "8909b41596913b3f5deaf3c9f1017b01"), + Common::ES_ESP, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { // floppy 1.8 from clemmy + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "747861d2a9c643c59fdab570df5b9093"), + Common::ES_ESP, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + { // from gourry + { + "kyra1", + "Extracted", + AD_ENTRY1("GEMCUT.EMC", "ef08c8c237ee1473fd52578303fc36df"), + Common::IT_ITA, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + + { + { + "kyra1", + 0, + { + { "GEMCUT.PAK", 0, "2bd1da653eaefd691e050e4a9eb68a64", -1 }, + { "GEMCUT.EMC", 0, "2a3f44e179f1e9f7643e90083c747571", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::EN_ANY, + Common::kPlatformAmiga, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_AMIGA_FLAGS + }, + + { + { + "kyra1", + 0, + { + { "GEMCUT.PAK", 0, "2bd1da653eaefd691e050e4a9eb68a64", -1 }, + { "GEMCUT.EMC", 0, "74f99e9ed99abf8d0429826d78485a2a", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::DE_DEU, + Common::kPlatformAmiga, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_AMIGA_FLAGS + }, + + { + { + "kyra1", + 0, + { + { "GEMCUT.EMC", 0, "796e44863dd22fa635b042df1bf16673", -1 }, + { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::EN_ANY, + Common::kPlatformMacintosh, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_FLOPPY_FLAGS + }, + + { // FM-TOWNS version + { + "kyra1", + 0, + { + { "EMC.PAK", 0, "a046bb0b422061aab8e4c4689400343a", -1 }, + { "TWMUSIC.PAK", 0, "e53bca3a3e3fb49107d59463ec387a59", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::EN_ANY, + Common::kPlatformFMTowns, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_TOWNS_FLAGS + }, + { + { + "kyra1", + 0, + { + { "JMC.PAK", 0, "9c5707a2a478e8167e44283246612d2c", -1 }, + { "TWMUSIC.PAK", 0, "e53bca3a3e3fb49107d59463ec387a59", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::JA_JPN, + Common::kPlatformFMTowns, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_TOWNS_SJIS_FLAGS + }, + + // PC-9801 floppy + CD / PC-9821 floppy version are all using the same data files, + // thus we will mark it as non CD game. + { + { + "kyra1", + "", + { + { "JMC.PAK", 0, "9c5707a2a478e8167e44283246612d2c", -1 }, + { "MUSIC98.PAK", 0, "02fc212f799331b769b274e33d87b37f", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::JA_JPN, + Common::kPlatformPC98, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA1_TOWNS_SJIS_FLAGS + }, + + { + { + "kyra1", + "CD", + AD_ENTRY1("GEMCUT.PAK", "fac399fe62f98671e56a005c5e94e39f"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + { + { + "kyra1", + "CD", + AD_ENTRY1("GEMCUT.PAK", "230f54e6afc007ab4117159181a1c722"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + { + { + "kyra1", + "CD", + AD_ENTRY1("GEMCUT.PAK", "b037c41768b652a040360ffa3556fd2a"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + + { // italian fan translation see fr#1727941 "KYRA: add Italian CD Version to kyra.dat" + { + "kyra1", + "CD", + AD_ENTRY1("GEMCUT.PAK", "d8327fc4b7a72b23c900fa13aef4093a"), + Common::IT_ITA, + Common::kPlatformPC, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + + { // Kyra 1 Mac CD as mentioned in fr #2766454 "KYRA1: Add support for Macintosh CD" by nnooiissee + { + "kyra1", + "CD", + { + { "GEMCUT.PAK", 0, "d3d4b281cd357230aabcec46843d04bd", -1 }, + { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::EN_ANY, + Common::kPlatformMacintosh, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + { + { + "kyra1", + "CD", + { + { "GEMCUT.PAK", 0, "4a0cb720e824295bcbccbd1407652110", -1 }, + { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::DE_DEU, + Common::kPlatformMacintosh, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + { + { + "kyra1", + "CD", + { + { "GEMCUT.PAK", 0, "b71ee090aa12e80ed2ba068826d92bed", -1 }, + { "BEAD.CPS", 0, "3038466f65b7751451844707187aa401", -1 }, + { NULL, 0, NULL, 0 } + }, + Common::FR_FRA, + Common::kPlatformMacintosh, + ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_CD_FLAGS + }, + + { + { + "kyra1", + "Demo", + AD_ENTRY1("DEMO1.WSA", "fb722947d94897512b13b50cc84fd648"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DEMO, + Common::GUIO_NOSPEECH + }, + KYRA1_DEMO_FLAGS + }, + + { // Special Kyrandia 1 CD demo + { + "kyra1", + "Demo/CD", + AD_ENTRY1("INTRO.VRM", "e3045fb69b8c29db84b8fda3ccbdac54"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DEMO | ADGF_CD, + Common::GUIO_NONE + }, + KYRA1_DEMO_CD_FLAGS + }, + + { // Floppy version + { + "kyra2", + 0, + AD_ENTRY1("WESTWOOD.001", "3f52dda68c4f7696c8309038be9f4151"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_FLOPPY_CMP_FLAGS + }, + + { // Floppy version + { + "kyra2", + 0, + AD_ENTRY1("WESTWOOD.001", "d787b9559afddfe058b84c0b3a787224"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_FLOPPY_CMP_FLAGS + }, + + { // Floppy version extracted + { + "kyra2", + "Extracted", + AD_ENTRY1("FATE.PAK", "1ba18be685ad8e5a0ab5d46a0ce4d345"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_FLOPPY_FLAGS + }, + + { // Floppy version extracted + { + "kyra2", + "Extracted", + AD_ENTRY1("FATE.PAK", "262fb69dd8e52e596c7aefc6456f7c1b"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_FLOPPY_FLAGS + }, + + { // Floppy version extracted + { + "kyra2", + "Extracted", + AD_ENTRY1("FATE.PAK", "f7de11506b4c8fdf64bc763206c3e4e7"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_FLOPPY_FLAGS + }, + + { // Floppy version extracted + { + "kyra2", + "Extracted", + AD_ENTRY1("FATE.PAK", "e0a70c31b022cb4bb3061890020fc27c"), + Common::IT_ITA, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_FLOPPY_FLAGS + }, + + { // CD version + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FLAGS + }, + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FLAGS + }, + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "28cbad1c5bf06b2d3825ae57d760d032"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FLAGS + }, + + // Italian fan translation, see fr#2003504 "KYRA: add support for Italian version of Kyrandia 2&3" + { // CD version + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "30487f3b8d7790c7857f4769ff2dd125"), + Common::IT_ITA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) + }, + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "30487f3b8d7790c7857f4769ff2dd125"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) + }, + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "30487f3b8d7790c7857f4769ff2dd125"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) + }, + + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "39772ff82e42c4c520050518deb82e64"), + Common::IT_ITA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) + }, + + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "39772ff82e42c4c520050518deb82e64"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) + }, + + { + { + "kyra2", + "CD", + AD_ENTRY1("FATE.PAK", "39772ff82e42c4c520050518deb82e64"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + KYRA2_CD_FAN_FLAGS(Common::IT_ITA, Common::EN_ANY) + }, + + { // Interactive Demo + { + "kyra2", + "CD/Demo", + AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD | ADGF_DEMO, + Common::GUIO_NONE + }, + KYRA2_CD_DEMO_FLAGS + }, + + { // Interactive Demo + { + "kyra2", + "CD/Demo", + AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD | ADGF_DEMO, + Common::GUIO_NONE + }, + KYRA2_CD_DEMO_FLAGS + }, + + { // Interactive Demo + { + "kyra2", + "CD/Demo", + AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD | ADGF_DEMO, + Common::GUIO_NONE + }, + KYRA2_CD_DEMO_FLAGS + }, + + { // Non-Interactive Demos + { + "kyra2", + "Demo", + AD_ENTRY1("VOC.PAK", "ecb3561b63749158172bf21528cf5f45"), + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DEMO, + Common::GUIO_NONE + }, + KYRA2_DEMO_FLAGS + }, + + { // FM-TOWNS + { + "kyra2", + 0, + AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), + Common::EN_ANY, + Common::kPlatformFMTowns, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_TOWNS_FLAGS + }, + { + { + "kyra2", + 0, + AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), + Common::JA_JPN, + Common::kPlatformFMTowns, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + KYRA2_TOWNS_SJIS_FLAGS + }, + { // PC-9821 + { + "kyra2", + "CD", + AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), + Common::EN_ANY, + Common::kPlatformPC98, + ADGF_CD, + Common::GUIO_NOSPEECH + }, + KYRA2_TOWNS_FLAGS + }, + { + { + "kyra2", + "CD", + AD_ENTRY1("WSCORE.PAK", "c44de1302b67f27d4707409987b7a685"), + Common::JA_JPN, + Common::kPlatformPC98, + ADGF_CD, + Common::GUIO_NOSPEECH + }, + KYRA2_TOWNS_SJIS_FLAGS + }, + + // Kyra3 + + // non installed version + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "WESTWOOD.001", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FLAGS + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "WESTWOOD.001", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FLAGS + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "WESTWOOD.001", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FLAGS + }, + + // installed version + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_INS_FLAGS + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_INS_FLAGS + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_INS_FLAGS + }, + + // Mac version + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformMacintosh, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_INS_FLAGS + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformMacintosh, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_INS_FLAGS + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "3833ff312757b8e6147f464cca0a6587", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::FR_FRA, + Common::kPlatformMacintosh, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_INS_FLAGS + }, + + // Spanish fan translation, see fr#1994040 "KYRA3: Add support for Spanish fan translation" + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "9aaca21d2a205ca02ec53132f2911794", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::ES_ESP, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY) + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "9aaca21d2a205ca02ec53132f2911794", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY) + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "9aaca21d2a205ca02ec53132f2911794", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY) + }, + + // Italian fan translation, see fr#2003504 "KYRA: add support for Italian version of Kyrandia 2&3" + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "ee2d4d056a5de5333a3c6bda055b3cb4", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "ee2d4d056a5de5333a3c6bda055b3cb4", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) + }, + { + { + "kyra3", + 0, + { + { "ONETIME.PAK", 0, "ee2d4d056a5de5333a3c6bda055b3cb4", -1 }, + { "AUD.PAK", 0, 0, -1 }, + { 0, 0, 0, 0 } + }, + Common::IT_ITA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE, + Common::GUIO_NOMIDI + }, + KYRA3_CD_FAN_FLAGS(Common::IT_ITA, Common::FR_FRA) + }, + +#ifdef ENABLE_LOL + // Lands of Lore CD + { + { + "lol", + "CD", + { + { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 }, + { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + LOL_CD_FLAGS + }, + + { + { + "lol", + "CD", + { + { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 }, + { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + LOL_CD_FLAGS + }, + + { + { + "lol", + "CD", + { + { "GENERAL.PAK", 0, "05a4f588fb81dc9c0ef1f2ec20d89e24", -1 }, + { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, + { 0, 0, 0, 0 } + }, + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + LOL_CD_FLAGS + }, + + { + { + "lol", + "CD", + { + { "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 }, + { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + LOL_CD_FLAGS + }, + + { + { + "lol", + "CD", + { + { "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 }, + { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + LOL_CD_FLAGS + }, + + { + { + "lol", + "CD", + { + { "GENERAL.PAK", 0, "9e4bab499b7ea9337b91ac29fcba6d13", -1 }, + { "L01.PAK", 0, "759a0ac26808d77ea968bd392355ba1d", -1 }, + { 0, 0, 0, 0 } + }, + Common::FR_FRA, + Common::kPlatformPC, + ADGF_DROPLANGUAGE | ADGF_CD, + Common::GUIO_NONE + }, + LOL_CD_FLAGS + }, + + { + { + "lol", + 0, + { + { "WESTWOOD.1", 0, "c656aa9a2b4032d341e3dc8e3525b917", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + LOL_FLOPPY_CMP_FLAGS + }, + + { + { + "lol", + 0, + { + { "WESTWOOD.1", 0, "3c61cb7de5b2ec452f5851f5075207ee", -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + LOL_FLOPPY_CMP_FLAGS + }, + + { + { + "lol", + "Extracted", + { + { "GENERAL.PAK", 0, "2aaa30e120c08af87196820e9dd4bf73", -1 }, + { "CHAPTER7.PAK", 0, "eb92bf7ebb4e890add1233a6b0c810ff", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + LOL_FLOPPY_FLAGS + }, + + { + { + "lol", + "Extracted", + { + { "GENERAL.PAK", 0, "996e66e81054d36249907a1d8158da3d", -1 }, + { "CHAPTER7.PAK", 0, "cabee57f00d6d84b65a732b6868a4959", -1 }, + { 0, 0, 0, 0 } + }, + Common::DE_DEU, + Common::kPlatformPC, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + LOL_FLOPPY_FLAGS + }, + + { + { + "lol", + 0, + { + { "GENERAL.PAK", 0, "3fe6539b9b09084c0984eaf7170464e9", -1 }, + { "MUS.PAK", 0, "008dc69d8cbcdb6bae30e270fab26e76", -1 }, + { 0, 0, 0, 0 } + }, + Common::JA_JPN, + Common::kPlatformPC98, + ADGF_NO_FLAGS, + Common::GUIO_NOSPEECH + }, + LOL_PC98_SJIS_FLAGS + }, + + { + { + "lol", + "Demo", + { + { "INTRO.PAK", 0, "4bc22a3b57f19a49212c5de58ab014d6", -1 }, + { "INTROVOC.PAK", 0, "7e578e4f1da31c1f294e14a8e8f3cc44", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DEMO, + Common::GUIO_NONE + }, + LOL_DEMO_FLAGS + }, + + { + { + "lol", + "Demo", + { + { "GENERAL.PAK", 0, "e94863d86c4597a2d581d05481c152ba", -1 }, + { 0, 0, 0, 0 } + }, + Common::EN_ANY, + Common::kPlatformPC, + ADGF_DEMO, + Common::GUIO_NOSPEECH + }, + LOL_KYRA2_DEMO_FLAGS + }, +#endif // ENABLE_LOL + + { AD_TABLE_END_MARKER, FLAGS(0, 0, 0, 0, 0, 0, 0, 0) } +}; + +const PlainGameDescriptor gameList[] = { + { "kyra1", "The Legend of Kyrandia" }, + { "kyra2", "The Legend of Kyrandia: The Hand of Fate" }, + { "kyra3", "The Legend of Kyrandia: Malcolm's Revenge" }, +#ifdef ENABLE_LOL + { "lol", "Lands of Lore: The Throne of Chaos" }, +#endif // ENABLE_LOL + { 0, 0 } +}; + +} // End of anonymous namespace |