diff options
Diffstat (limited to 'engines/tinsel')
-rw-r--r-- | engines/tinsel/detection.cpp | 43 | ||||
-rw-r--r-- | engines/tinsel/tinsel.cpp | 50 |
2 files changed, 72 insertions, 21 deletions
diff --git a/engines/tinsel/detection.cpp b/engines/tinsel/detection.cpp index 8870fabfc6..1cba5da1b8 100644 --- a/engines/tinsel/detection.cpp +++ b/engines/tinsel/detection.cpp @@ -87,8 +87,8 @@ static const TinselGameDescription gameDescriptions[] = { // TINSEL_V2: The Discworld 2 game used this updated version of the Tinsel 1 engine, // and as far as we know there aren't any variations of this engine. - { - { // This version has *.gra files + { // Floppy V1 version, with *.gra files + { "dw", "Floppy", AD_ENTRY1s("dw.gra", "c8808ccd988d603dd35dff42013ae7fd", 781656), @@ -102,6 +102,24 @@ static const TinselGameDescription gameDescriptions[] = { TINSEL_V1, }, + { // CD V1 version, with *.gra files (same as the floppy one, with english.smp) + { + "dw", + "CD", + { + {"dw.gra", 0, "c8808ccd988d603dd35dff42013ae7fd", 781656}, + {"english.smp", 0, NULL, -1}, + }, + Common::EN_ANY, + Common::kPlatformPC, + Common::ADGF_NO_FLAGS + }, + GID_DW1, + 0, + GF_CD, + TINSEL_V1, + }, + { // Multilingual CD with english speech and *.gra files. // Note: It contains no english subtitles. { @@ -267,7 +285,7 @@ static const TinselGameDescription gameDescriptions[] = { TINSEL_V1, }, - { // Europen/Australian Discworld 2 release + { // European/Australian Discworld 2 release { "dw2", "CD", @@ -286,6 +304,25 @@ static const TinselGameDescription gameDescriptions[] = { TINSEL_V2, }, + { // US Discworld 2 release + { + "dw2", + "CD", + { + {"dw2.scn", 0, "c6d15ce9720a9d8fef06e6582dcf3f34", 103593}, + {"us1.smp", 0, NULL, -1}, + {NULL, 0, NULL, 0} + }, + Common::EN_ANY, + Common::kPlatformPC, + Common::ADGF_NO_FLAGS + }, + GID_DW2, + 0, + GF_CD | GF_SCNFILES, + TINSEL_V2, + }, + { // French version of Discworld 2 { "dw2", diff --git a/engines/tinsel/tinsel.cpp b/engines/tinsel/tinsel.cpp index a998836d1d..f4d16b268c 100644 --- a/engines/tinsel/tinsel.cpp +++ b/engines/tinsel/tinsel.cpp @@ -800,26 +800,40 @@ static const GameSettings tinselSettings[] = { {NULL, NULL, 0, 0, NULL} }; +// For the languages, refer to the LANGUAGE enum in dw.h + const char *TinselEngine::_sampleIndices[][3] = { - { "english.idx", "english1.idx", "english2.idx" }, - { "french.idx", "french1.idx", "french2.idx" }, - { "german.idx", "german1.idx", "german2.idx" }, - { "english.idx", "english1.idx", "english2.idx" }, // Italian - { "english.idx", "english1.idx", "english2.idx" } // Spanish + { "english.idx", "english1.idx", "english2.idx" }, // English + { "french.idx", "french1.idx", "french2.idx" }, // French + { "german.idx", "german1.idx", "german2.idx" }, // German + { "english.idx", "english1.idx", "english2.idx" }, // Italian + { "english.idx", "english1.idx", "english2.idx" }, // Spanish + { "english.idx", "english1.idx", "english2.idx" }, // Hebrew (FIXME: not sure if this is correct) + { "english.idx", "english1.idx", "english2.idx" }, // Hungarian (FIXME: not sure if this is correct) + { "english.idx", "english1.idx", "english2.idx" }, // Japanese (FIXME: not sure if this is correct) + { "us.idx", "us1.idx", "us2.idx" } // US English }; const char *TinselEngine::_sampleFiles[][3] = { - { "english.smp", "english1.smp", "english2.smp" }, - { "french.smp", "french1.smp", "french2.smp" }, - { "german.smp", "german1.smp", "german2.smp" }, - { "english.smp", "english1.smp", "english2.smp" }, // Italian - { "english.smp", "english1.smp", "english2.smp" } // Spanish, + { "english.smp", "english1.smp", "english2.smp" }, // English + { "french.smp", "french1.smp", "french2.smp" }, // French + { "german.smp", "german1.smp", "german2.smp" }, // German + { "english.smp", "english1.smp", "english2.smp" }, // Italian + { "english.smp", "english1.smp", "english2.smp" }, // Spanish + { "english.smp", "english1.smp", "english2.smp" }, // Hebrew (FIXME: not sure if this is correct) + { "english.smp", "english1.smp", "english2.smp" }, // Hungarian (FIXME: not sure if this is correct) + { "english.smp", "english1.smp", "english2.smp" }, // Japanese (FIXME: not sure if this is correct) + { "us.smp", "us1.smp", "us2.smp" }, // US English }; const char *TinselEngine::_textFiles[][3] = { - { "english.txt", "english1.txt", "english2.txt" }, - { "french.txt", "french1.txt", "french2.txt" }, - { "german.txt", "german1.txt", "german2.txt" }, - { "italian.txt", "italian1.txt", "italian2.txt" }, - { "spanish.txt", "spanish1.txt", "spanish2.txt" } + { "english.txt", "english1.txt", "english2.txt" }, // English + { "french.txt", "french1.txt", "french2.txt" }, // French + { "german.txt", "german1.txt", "german2.txt" }, // German + { "italian.txt", "italian1.txt", "italian2.txt" }, // Italian + { "spanish.txt", "spanish1.txt", "spanish2.txt" }, // Spanish + { "english.txt", "english1.txt", "english2.txt" }, // Hebrew (FIXME: not sure if this is correct) + { "english.txt", "english1.txt", "english2.txt" }, // Hungarian (FIXME: not sure if this is correct) + { "english.txt", "english1.txt", "english2.txt" }, // Japanese (FIXME: not sure if this is correct) + { "us.txt", "us1.txt", "us2.txt" } // US English }; @@ -1246,7 +1260,7 @@ const char *TinselEngine::getSampleIndex(LANGUAGE lang) { if (TinselV2) { cd = GetCurrentCD(); assert((cd == 1) || (cd == 2)); - assert(((unsigned int) lang) < 5); + assert(((unsigned int) lang) < NUM_LANGUAGES); } else { cd = 0; lang = TXT_ENGLISH; @@ -1261,7 +1275,7 @@ const char *TinselEngine::getSampleFile(LANGUAGE lang) { if (TinselV2) { cd = GetCurrentCD(); assert((cd == 1) || (cd == 2)); - assert(((unsigned int) lang) < 5); + assert(((unsigned int) lang) < NUM_LANGUAGES); } else { cd = 0; lang = TXT_ENGLISH; @@ -1271,7 +1285,7 @@ const char *TinselEngine::getSampleFile(LANGUAGE lang) { } const char *TinselEngine::getTextFile(LANGUAGE lang) { - assert(((unsigned int) lang) < 5); + assert(((unsigned int) lang) < NUM_LANGUAGES); int cd; |