aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dists/engine-data/kyra.datbin320297 -> 336375 bytes
-rw-r--r--engines/kyra/staticres.cpp9
-rw-r--r--tools/create_kyradat/create_kyradat.cpp12
-rw-r--r--tools/create_kyradat/create_kyradat.h7
-rw-r--r--tools/create_kyradat/games.cpp17
5 files changed, 23 insertions, 22 deletions
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index b3c1756e20..9e65c581cc 100644
--- a/dists/engine-data/kyra.dat
+++ b/dists/engine-data/kyra.dat
Binary files differ
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 },