diff options
author | Johannes Schickel | 2009-11-19 17:44:19 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-11-19 17:44:19 +0000 |
commit | 2a4e630967036d5c308930609e06b86d24ab4158 (patch) | |
tree | bd091359d3b649e5448c5eb215879bf19e0495e8 | |
parent | 95eef902d529e4a4df2ad141d492dc347040a0d0 (diff) | |
download | scummvm-rg350-2a4e630967036d5c308930609e06b86d24ab4158.tar.gz scummvm-rg350-2a4e630967036d5c308930609e06b86d24ab4158.tar.bz2 scummvm-rg350-2a4e630967036d5c308930609e06b86d24ab4158.zip |
Properly handle Kyra 2 Talkie demo in kyra.dat.
svn-id: r45990
-rw-r--r-- | dists/engine-data/kyra.dat | bin | 320297 -> 336375 bytes | |||
-rw-r--r-- | engines/kyra/staticres.cpp | 9 | ||||
-rw-r--r-- | tools/create_kyradat/create_kyradat.cpp | 12 | ||||
-rw-r--r-- | tools/create_kyradat/create_kyradat.h | 7 | ||||
-rw-r--r-- | tools/create_kyradat/games.cpp | 17 |
5 files changed, 23 insertions, 22 deletions
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat Binary files differindex b3c1756e20..9e65c581cc 100644 --- a/dists/engine-data/kyra.dat +++ b/dists/engine-data/kyra.dat diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index 6f2e6e26e9..f10aea9741 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -45,7 +45,7 @@ namespace Kyra { -#define RESFILE_VERSION 61 +#define RESFILE_VERSION 62 namespace { bool checkKyraDat(Common::SeekableReadStream *file) { @@ -93,10 +93,8 @@ enum { #define LANGUAGE_FLAGS (GF_ENGLISH | GF_FRENCH | GF_GERMAN | GF_SPANISH | GF_ITALIAN | GF_JAPANESE | GF_LNGUNK) uint32 createFeatures(const GameFlags &flags) { - // special case for kyrandia 1 CD demo - if (flags.gameID == GI_KYRA1 && flags.isTalkie && flags.isDemo) + if (flags.isTalkie && flags.isDemo) return GF_TALKIE | GF_DEMO; - if (flags.isTalkie) return GF_TALKIE; if (flags.isDemo) @@ -1373,8 +1371,7 @@ const char *StaticResource::getFilename(const char *name) { else if (_vm->gameFlags().gameID == GI_LOL) filename += ".LOL"; - // Special case for Kyrandia 1 CD demo - if (_vm->gameFlags().gameID == GI_KYRA1 && _vm->gameFlags().isTalkie && _vm->gameFlags().isDemo) { + if (_vm->gameFlags().isTalkie && _vm->gameFlags().isDemo) { filename += ".CD.DEM"; return filename.c_str(); } diff --git a/tools/create_kyradat/create_kyradat.cpp b/tools/create_kyradat/create_kyradat.cpp index ecd68758a8..1707a7a54a 100644 --- a/tools/create_kyradat/create_kyradat.cpp +++ b/tools/create_kyradat/create_kyradat.cpp @@ -37,7 +37,7 @@ #include "md5.h" enum { - kKyraDatVersion = 61, + kKyraDatVersion = 62, kIndexSize = 12 }; @@ -325,12 +325,13 @@ bool getFilename(char *dstFilename, const ExtractInformation *info, const int id const SpecialExtension specialTable[] = { { kTalkieVersion, "CD" }, { kDemoVersion, "DEM" }, - { kDemoCDVersion, "CD.DEM" }, + { kTalkieDemoVersion, "CD.DEM" }, { kTalkieFile1, "CD" }, { kTalkieFile2, "CD" }, - { k2CDDemo, "CD" }, + { kTalkieDemoFile1, "CD.DEM" }, + { kTalkieDemoFile2, "CD.DEM" }, { -1, 0 } }; @@ -374,12 +375,11 @@ enum { uint32 getFeatures(const Game *g) { uint32 features = 0; - if (g->special == kTalkieVersion || g->special == kTalkieFile1 || g->special == kTalkieFile2 - || g->special == k2CDDemo || g->game == kKyra3) + if (g->special == kTalkieVersion || g->special == kTalkieFile1 || g->special == kTalkieFile2 || g->game == kKyra3) features |= GF_TALKIE; else if (g->special == kDemoVersion) features |= GF_DEMO; - else if (g->special == kDemoCDVersion) + else if (g->special == kTalkieDemoVersion || g->special == kTalkieDemoFile1 || g->special == kTalkieDemoFile2) features |= (GF_DEMO | GF_TALKIE); else if (g->platform == kPlatformFMTowns || g->platform == kPlatformPC98) // HACK features |= GF_FMTOWNS; diff --git a/tools/create_kyradat/create_kyradat.h b/tools/create_kyradat/create_kyradat.h index 8c70d74c5a..ea877414bc 100644 --- a/tools/create_kyradat/create_kyradat.h +++ b/tools/create_kyradat/create_kyradat.h @@ -288,16 +288,15 @@ struct ExtractFilename { enum kSpecial { kTalkieVersion = 0, kDemoVersion, + kTalkieDemoVersion, kFile1, kFile2, kTalkieFile1, kTalkieFile2, - k2CDDemo, - - // special case for Kyrandia 1 CD demo - kDemoCDVersion + kTalkieDemoFile1, + kTalkieDemoFile2 }; struct SpecialExtension { diff --git a/tools/create_kyradat/games.cpp b/tools/create_kyradat/games.cpp index 5b353f0779..aa84e4f7ee 100644 --- a/tools/create_kyradat/games.cpp +++ b/tools/create_kyradat/games.cpp @@ -29,7 +29,7 @@ namespace { const Game kyra1Games[] = { // Demos { kKyra1, EN_ANY, kPlatformPC, kDemoVersion, "7b7504c8560ffc914d34c44c71b3094c" }, - { kKyra1, EN_ANY, kPlatformPC, kDemoCDVersion, "226fdba99cb11ef1047131d9a50e6292" }, + { kKyra1, EN_ANY, kPlatformPC, kTalkieDemoVersion, "226fdba99cb11ef1047131d9a50e6292" }, // Amiga { kKyra1, EN_ANY, kPlatformAmiga, -1, "b620564b6b7e0787b053ca9e35bd9f52" }, @@ -61,9 +61,13 @@ const Game kyra1Games[] = { const Game kyra2Games[] = { // demos { kKyra2, EN_ANY, kPlatformPC, kDemoVersion, "a620a37579dd44ab0403482285e3897f" }, - { kKyra2, EN_ANY, kPlatformPC, k2CDDemo, "fa54d8abfe05f9186c05f7de7eaf1480" }, - { kKyra2, FR_FRA, kPlatformPC, k2CDDemo, "fa54d8abfe05f9186c05f7de7eaf1480" }, - { kKyra2, DE_DEU, kPlatformPC, k2CDDemo, "fa54d8abfe05f9186c05f7de7eaf1480" }, + + { kKyra2, EN_ANY, kPlatformPC, kTalkieDemoFile1, "85bbc1cc6c4cef6ad31fc6ee79518efb" }, + { kKyra2, FR_FRA, kPlatformPC, kTalkieDemoFile1, "85bbc1cc6c4cef6ad31fc6ee79518efb" }, + { kKyra2, DE_DEU, kPlatformPC, kTalkieDemoFile1, "85bbc1cc6c4cef6ad31fc6ee79518efb" }, + { kKyra2, EN_ANY, kPlatformPC, kTalkieDemoFile2, "fa54d8abfe05f9186c05f7de7eaf1480" }, + { kKyra2, FR_FRA, kPlatformPC, kTalkieDemoFile2, "fa54d8abfe05f9186c05f7de7eaf1480" }, + { kKyra2, DE_DEU, kPlatformPC, kTalkieDemoFile2, "fa54d8abfe05f9186c05f7de7eaf1480" }, // floppy games { kKyra2, EN_ANY, kPlatformPC, kFile1, "9b0f5e57b5a2ed88b5b989cbb402b6c7" }, @@ -954,7 +958,7 @@ const GameNeed gameNeedTable[] = { { kKyra1, kPlatformPC, kDemoVersion, kyra1DemoNeed }, - { kKyra1, kPlatformPC, kDemoCDVersion, kyra1DemoCDNeed }, + { kKyra1, kPlatformPC, kTalkieDemoVersion, kyra1DemoCDNeed }, { kKyra2, kPlatformPC, kFile1, kyra2FloppyFile1Need }, { kKyra2, kPlatformPC, kFile2, kyra2FloppyFile2Need }, @@ -962,7 +966,8 @@ const GameNeed gameNeedTable[] = { { kKyra2, kPlatformPC, kTalkieFile1, kyra2CDFile1Need }, { kKyra2, kPlatformPC, kTalkieFile2, kyra2CDFile2Need }, - { kKyra2, kPlatformPC, k2CDDemo, kyra2CDDemoNeed }, + { kKyra2, kPlatformPC, kTalkieDemoFile1, kyra2CDFile1Need }, + { kKyra2, kPlatformPC, kTalkieDemoFile2, kyra2CDDemoNeed }, { kKyra2, kPlatformFMTowns, kFile1, kyra2TownsFile1Need }, { kKyra2, kPlatformFMTowns, kFile2, kyra2TownsFile2Need }, |