diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/create_kyradat/create_kyradat.cpp | 4 | ||||
-rw-r--r-- | tools/create_kyradat/create_kyradat.h | 5 | ||||
-rw-r--r-- | tools/create_kyradat/eng.h | 16 | ||||
-rw-r--r-- | tools/create_kyradat/misc.h | 17 |
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" }, |