aboutsummaryrefslogtreecommitdiff
path: root/tools/create_kyradat
diff options
context:
space:
mode:
authorJohannes Schickel2009-08-25 22:37:34 +0000
committerJohannes Schickel2009-08-25 22:37:34 +0000
commit189b1ec62ff7de17fa2a089b454335f716f29a6b (patch)
tree976b9f27f404b6c166c6607f8c57a11e50b46ba9 /tools/create_kyradat
parentfde3814fbc9063c8ac2c7e8329b78f283d41e1d6 (diff)
downloadscummvm-rg350-189b1ec62ff7de17fa2a089b454335f716f29a6b.tar.gz
scummvm-rg350-189b1ec62ff7de17fa2a089b454335f716f29a6b.tar.bz2
scummvm-rg350-189b1ec62ff7de17fa2a089b454335f716f29a6b.zip
Implement support for the Kyrandia 1 CD demo.
svn-id: r43737
Diffstat (limited to 'tools/create_kyradat')
-rw-r--r--tools/create_kyradat/create_kyradat.cpp4
-rw-r--r--tools/create_kyradat/create_kyradat.h5
-rw-r--r--tools/create_kyradat/eng.h16
-rw-r--r--tools/create_kyradat/misc.h17
4 files changed, 40 insertions, 2 deletions
diff --git a/tools/create_kyradat/create_kyradat.cpp b/tools/create_kyradat/create_kyradat.cpp
index 7f43a81ec9..43e17c80e0 100644
--- a/tools/create_kyradat/create_kyradat.cpp
+++ b/tools/create_kyradat/create_kyradat.cpp
@@ -31,7 +31,7 @@
#include "md5.h"
enum {
- kKyraDatVersion = 50,
+ kKyraDatVersion = 51,
kIndexSize = 12
};
@@ -1234,6 +1234,8 @@ uint32 getFeatures(const Game *g) {
features |= GF_TALKIE;
else if (g->special == kDemoVersion || g->special == k2DemoVersion || g->special == k2DemoLol)
features |= GF_DEMO;
+ else if (g->special == kDemoCDVersion)
+ features |= (GF_DEMO | GF_TALKIE);
else if (g->special == kFMTownsVersionE || g->special == kFMTownsVersionJ ||
g->special == k2TownsFile1E || g->special == k2TownsFile1J ||
g->special == k2TownsFile2E || g->special == k2TownsFile2J)
diff --git a/tools/create_kyradat/create_kyradat.h b/tools/create_kyradat/create_kyradat.h
index cc1f990a39..2a6e0a37c3 100644
--- a/tools/create_kyradat/create_kyradat.h
+++ b/tools/create_kyradat/create_kyradat.h
@@ -304,7 +304,10 @@ enum kSpecial {
k2DemoVersionTlkG = 21,
k2DemoLol = 22,
- kLolCD = 23
+ kLolCD = 23,
+
+ // special case for Kyrandia 1 CD demo
+ kDemoCDVersion = 24
};
struct SpecialExtension {
diff --git a/tools/create_kyradat/eng.h b/tools/create_kyradat/eng.h
index 7ed9e06189..f83979195a 100644
--- a/tools/create_kyradat/eng.h
+++ b/tools/create_kyradat/eng.h
@@ -188,9 +188,25 @@ const ExtractEntry kyra1EngDemo[] = {
{ -1, 0, 0 }
};
+const ExtractEntry kyra1EngDemoCD[] = {
+ { kKallakWritingSeq, 0x0002FF3F, 0x00030744 },
+ { kMalcolmTreeSeq, 0x00030744, 0x00030974 },
+ { kWestwoodLogoSeq, 0x00030974, 0x000309BF },
+ { kKyrandiaLogoSeq, 0x000309BF, 0x00030A65 },
+ { kKallakMalcolmSeq, 0x00030A65, 0x00030D1D },
+ { kForestSeq, 0x00030D1D, 0x00030F90 },
+ { kIntroCPSStrings, 0x00030F90, 0x00030FA5 },
+ { kIntroWSAStrings, 0x00030FA5, 0x00031025 },
+ { kIntroCOLStrings, 0x00031025, 0x00031050 },
+ { kIntroStrings, 0x00031050, 0x00031546 },
+ { kAudioTracksIntro, 0x0002FD4A, 0x0002FD5C },
+ { -1, 0, 0 }
+};
+
const Game kyra1EngGames[] = {
{ kKyra1, EN_ANY, -1, "76a4fc84e173cadb6369785787e1546e", kyra1EngFloppy },
{ kKyra1, EN_ANY, kTalkieVersion, "1ebc18f3e7fbb72474a55cb0fa089ed4", kyra1EngCD },
{ kKyra1, EN_ANY, kDemoVersion, "7b7504c8560ffc914d34c44c71b3094c", kyra1EngDemo },
+ { kKyra1, EN_ANY, kDemoCDVersion, "226fdba99cb11ef1047131d9a50e6292", kyra1EngDemoCD },
GAME_DUMMY_ENTRY
};
diff --git a/tools/create_kyradat/misc.h b/tools/create_kyradat/misc.h
index c4cd03bf5e..2a14dab611 100644
--- a/tools/create_kyradat/misc.h
+++ b/tools/create_kyradat/misc.h
@@ -187,6 +187,21 @@ const int kyra1DemoNeed[] = {
-1
};
+const int kyra1DemoCDNeed[] = {
+ kKallakWritingSeq,
+ kMalcolmTreeSeq,
+ kWestwoodLogoSeq,
+ kKyrandiaLogoSeq,
+ kKallakMalcolmSeq,
+ kForestSeq,
+ kIntroCPSStrings,
+ kIntroCOLStrings,
+ kIntroWSAStrings,
+ kIntroStrings,
+ kAudioTracksIntro,
+ -1
+};
+
const int kyra1TownsEngNeed[] = {
kKallakWritingSeq,
kMalcolmTreeSeq,
@@ -587,6 +602,7 @@ const GameNeed gameNeedTable[] = {
{ kKyra1, kFMTownsVersionJ, kyra1TownsJapNeed },
{ kKyra1, kAmigaVersion, kyra1AmigaNeed },
{ kKyra1, kDemoVersion, kyra1DemoNeed },
+ { kKyra1, kDemoCDVersion, kyra1DemoCDNeed },
{ kKyra2, k2FloppyFile1, kyra2FloppyFile1Need },
{ kKyra2, k2FloppyFile2, kyra2FloppyFile2Need },
@@ -618,6 +634,7 @@ const GameNeed gameNeedTable[] = {
const SpecialExtension specialTable[] = {
{ kTalkieVersion, "CD" },
{ kDemoVersion, "DEM" },
+ { kDemoCDVersion, "CD.DEM" },
{ kFMTownsVersionE , "TNS" },
{ kFMTownsVersionJ, "TNS" },
{ kAmigaVersion, "AMG" },