[Scummvm-cvs-logs] SF.net SVN: scummvm:[44118] scummvm/trunk
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Wed Sep 16 22:52:59 CEST 2009
Revision: 44118
http://scummvm.svn.sourceforge.net/scummvm/?rev=44118&view=rev
Author: lordhoto
Date: 2009-09-16 20:52:59 +0000 (Wed, 16 Sep 2009)
Log Message:
-----------
Adapted create_kyradat to use an automatic offset search. (Hopefully no regressions).
Modified Paths:
--------------
scummvm/trunk/dists/engine-data/kyra.dat
scummvm/trunk/tools/create_kyradat/create_kyradat.cpp
scummvm/trunk/tools/create_kyradat/create_kyradat.h
scummvm/trunk/tools/create_kyradat/misc.h
scummvm/trunk/tools/create_kyradat/module.mk
Added Paths:
-----------
scummvm/trunk/tools/create_kyradat/providers.h
scummvm/trunk/tools/create_kyradat/search.cpp
scummvm/trunk/tools/create_kyradat/search.h
scummvm/trunk/tools/create_kyradat/tables.h
Removed Paths:
-------------
scummvm/trunk/tools/create_kyradat/Makefile
scummvm/trunk/tools/create_kyradat/amiga.h
scummvm/trunk/tools/create_kyradat/eng.h
scummvm/trunk/tools/create_kyradat/esp.h
scummvm/trunk/tools/create_kyradat/fre.h
scummvm/trunk/tools/create_kyradat/ger.h
scummvm/trunk/tools/create_kyradat/hof_cd.h
scummvm/trunk/tools/create_kyradat/hof_demo.h
scummvm/trunk/tools/create_kyradat/hof_floppy.h
scummvm/trunk/tools/create_kyradat/hof_towns.h
scummvm/trunk/tools/create_kyradat/ita.h
scummvm/trunk/tools/create_kyradat/lol_cd.h
scummvm/trunk/tools/create_kyradat/lol_demo.h
scummvm/trunk/tools/create_kyradat/lol_floppy.h
scummvm/trunk/tools/create_kyradat/malcolm.h
scummvm/trunk/tools/create_kyradat/towns.h
Modified: scummvm/trunk/dists/engine-data/kyra.dat
===================================================================
(Binary files differ)
Deleted: scummvm/trunk/tools/create_kyradat/Makefile
===================================================================
--- scummvm/trunk/tools/create_kyradat/Makefile 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/Makefile 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,29 +0,0 @@
-CXX ?= g++
-CC ?= gcc
-
-LDFLAGS ?=
-CXXFLAGS ?= -O2
-CFLAGS ?= -O2
-CPPFLAGS ?=
-
-BIN=create_kyradat
-
-OBJS=create_kyradat.o pak.o md5.o util.o
-
-all: $(BIN)
-
-$(BIN): $(OBJS)
- $(CXX) $(OBJS) $(LDFLAGS) -o $(BIN)
-
-clean:
- rm -f $(BIN)
- rm -f $(OBJS)
-
-create_kyradat.o: amiga.h eng.h esp.h fre.h ger.h misc.h pak.h towns.h util.h md5.h
-pak.o: pak.h util.h
-
-%.o: %.cpp
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
-
-%.o: %.c
- $(CXX) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
Deleted: scummvm/trunk/tools/create_kyradat/amiga.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/amiga.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/amiga.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,59 +0,0 @@
-const ExtractEntry kyra1AmigaEng[] = {
- { kKallakWritingSeq, 0x00031D26, 0x0003251A },
- { kMalcolmTreeSeq, 0x0003251A, 0x0003272E },
- { kWestwoodLogoSeq, 0x0003272E, 0x0003277B },
- { kKyrandiaLogoSeq, 0x0003277B, 0x000327D7 },
- { kKallakMalcolmSeq, 0x000327D7, 0x00032A52 },
- { kForestSeq, 0x00032A52, 0x00032D30 },
- { kIntroCPSStrings, 0x0000CAC4, 0x0000CADA },
- { kIntroWSAStrings, 0x0000CADA, 0x0000CB60 },
- { kIntroCOLStrings, 0x0000CB60, 0x0000CB8E },
- { kIntroStrings, 0x0000CB8E, 0x0000D098 },
- { kRoomList, 0x00032F68, 0x00037E34 },
- { kRoomFilenames, 0x00012330, 0x00012638 },
- { kCharacterImageFilenames, 0x0000C814, 0x0000C904 },
- { kDefaultShapes, 0x00039230, 0x000396BA },
- { kItemNames, 0x0001A3B8, 0x0001A738 },
- { kTakenStrings, 0x0000FAE8, 0x0000FAF0 },
- { kPlacedStrings, 0x0000FAF0, 0x0000FAFA },
- { kDroppedStrings, 0x000101F2, 0x000101FC },
- { kNoDropStrings, 0x0000C98E, 0x0000C9D6 },
- { kAmuleteAnimSeq, 0x0002C980, 0x0002C9AA },
- { kPutDownString, 0x0000499E, 0x000049C4 },
- { kWaitAmuletString, 0x000049C4, 0x00004A02 },
- { kBlackJewelString, 0x00004A02, 0x00004A26 },
- { kHealingTipString, 0x00004A26, 0x00004A54 },
- { kPoisonGoneString, 0x00004ABE, 0x00004AEC },
- { kHealing1Shapes, 0x00039723, 0x000397BD },
- { kHealing2Shapes, 0x000397BD, 0x0003988F },
- { kThePoisonStrings, 0x00017768, 0x000177C0 },
- { kFluteStrings, 0x0000038A, 0x000003C6 },
- { kPoisonDeathShapes, 0x00039B83, 0x00039C0F },
- { kFluteShapes, 0x00039A87, 0x00039B83 },
- { kWinter1Shapes, 0x0003988F, 0x000398C0 },
- { kWinter2Shapes, 0x000398C0, 0x000399B5 },
- { kWinter3Shapes, 0x000399B5, 0x000399D1 },
- { kDrinkShapes, 0x000396BA, 0x00039723 },
- { kWispShapes, 0x000399D1, 0x00039A87 },
- { kMagicAnimShapes, 0x00039C0F, 0x00039C32 },
- { kBranStoneShapes, 0x00039C32, 0x00039CA0 },
- { kWispJewelStrings, 0x00004A54, 0x00004AAA },
- { kMagicJewelStrings, 0x00004AAA, 0x00004ABE },
- { kFlaskFullString, 0x00017B9E, 0x00017BBA },
- { kFullFlaskString, 0x00017B04, 0x00017B9E },
- { kOutroReunionSeq, 0x00030A4A, 0x00030F94 },
- { kOutroHomeString, 0x0000C6FA, 0x0000C6FF },
- { kVeryCleverString, 0x0000B322, 0x0000B354 },
- { kGUIStrings, 0x0003844D, 0x0003862C },
- { kNewGameString, 0x00031164, 0x0003117A },
- { kConfigStrings, 0x00015ACA, 0x00015AF8 },
- { kCreditsStrings, 0x0000777C, 0x00007C48 },
- { kAmigaIntroSFXTable, 0x00032D5C, 0x00032E9C },
- { kAmigaGameSFXTable, 0x0002C55E, 0x0002C91E },
- { -1, 0, 0 }
-};
-
-const Game kyra1AmigaGames[] = {
- { kKyra1, EN_ANY, kAmigaVersion, "b620564b6b7e0787b053ca9e35bd9f52", kyra1AmigaEng },
- GAME_DUMMY_ENTRY
-};
Modified: scummvm/trunk/tools/create_kyradat/create_kyradat.cpp
===================================================================
--- scummvm/trunk/tools/create_kyradat/create_kyradat.cpp 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/create_kyradat.cpp 2009-09-16 20:52:59 UTC (rev 44118)
@@ -28,6 +28,9 @@
#include "create_kyradat.h"
+#include "tables.h"
+#include "providers.h"
+
#include "md5.h"
enum {
@@ -38,31 +41,7 @@
// tables
#include "misc.h"
-#include "eng.h"
-#include "esp.h"
-#include "fre.h"
-#include "ger.h"
-#include "ita.h"
-#include "towns.h"
-#include "amiga.h"
-#include "hof_floppy.h"
-#include "hof_towns.h"
-#include "hof_cd.h"
-#include "hof_demo.h"
-
-#include "malcolm.h"
-
-#include "lol_cd.h"
-#include "lol_floppy.h"
-//#include "lol_pc98.h"
-#include "lol_demo.h"
-
-const Game kyra1FanTranslations[] = {
- { kKyra1, IT_ITA, kTalkieVersion, "d0f1752098236083d81b9497bd2b6989", kyra1FreCD },
- GAME_DUMMY_ENTRY
-};
-
bool extractRaw(PAKFile &out, const Game *g, const byte *data, const uint32 size, const char *filename, int fmtPatch);
bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32 size, const char *filename, int fmtPatch);
bool extractRooms(PAKFile &out, const Game *g, const byte *data, const uint32 size, const char *filename, int fmtPatch);
@@ -430,59 +409,6 @@
}
}
-// entry checking
-
-int hashEntries(const int *entries) {
- int hash = 0;
- for (const int *i = entries; *i != -1; ++i) {
- hash += *i;
- }
- return hash;
-}
-
-bool hasEntry(const ExtractEntry *entries, const int id) {
- for (const ExtractEntry *i = entries; i->id != -1; ++i) {
- if (i->id == id)
- return true;
- }
- return false;
-}
-
-int hashEntries(const Game *game, const GameNeed *need, const PAKFile *file) {
- int hash = 0;
- char filename[128];
- for (const int *i = need->entries; *i != -1; ++i) {
- if (hasEntry(game->entries, *i)) {
- hash += *i;
- continue;
- }
-
- if (file) {
- filename[0] = 0;
-
- if (!getFilename(filename, game, *i))
- error("couldn't find filename for id %d", *i);
-
- PAKFile::cFileList *list = file->getFileList();
- if (list && list->findEntry(filename) != 0)
- hash += *i;
- }
- }
-
- return hash;
-}
-
-bool hasNeededEntries(const Game *game, const PAKFile *file) {
- for (const GameNeed *need = gameNeedTable; need->game != -1; ++need) {
- if (need->game == game->game && need->special == game->special) {
- if (hashEntries(need->entries) == hashEntries(game, need, file))
- return true;
- }
- }
-
- return false;
-}
-
// extraction
bool extractRaw(PAKFile &out, const Game *g, const byte *data, const uint32 size, const char *filename, int fmtPatch) {
@@ -494,13 +420,15 @@
memcpy(buffer, data, 0x7EE5);
memcpy(buffer + 0x7EE5, data + 0x7EE7, 0x7FFF);
memcpy(buffer + 0xFEE4, data + 0xFEE8, 0x271E);
+
+ return out.addFile(filename, buffer, 0x12602);
} else {
buffer = new uint8[size];
assert(buffer);
memcpy(buffer, data, size);
+
+ return out.addFile(filename, buffer, size);
}
-
- return out.addFile(filename, buffer, size);
}
bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32 size, const char *filename, int fmtPatch) {
@@ -1258,7 +1186,12 @@
uint32 getFeatures(const Game *g) {
uint32 features = 0;
- if (g->special == kTalkieVersion || g->special == k2CDFile1E || g->special == k2CDFile1F || g->special == k2CDFile1G || g->special == k2CDFile1I || g->special == k2CDFile2E || g->special == k2CDFile2F || g->special == k2CDFile2G || g->special == kLolCD || g->game == kKyra3)
+ if (g->special == kTalkieVersion
+ || g->special == k2CDFile1E || g->special == k2CDFile1F || g->special == k2CDFile1G || g->special == k2CDFile1I
+ || g->special == k2CDFile2E || g->special == k2CDFile2F || g->special == k2CDFile2G
+ || g->special == k2CDDemoE || g->special == k2CDDemoF || g->special == k2CDDemoG
+ || g->special == kLolCD1 || g->special == kLolCD2
+ || g->game == kKyra3)
features |= GF_TALKIE;
else if (g->special == kDemoVersion || g->special == k2DemoVersion || g->special == k2DemoLol)
features |= GF_DEMO;
@@ -1397,39 +1330,23 @@
continue;
}
- if (!hasNeededEntries(g, &out)) {
- warning("file '%s' is missing offset entries and thus can't be processed", argv[i]);
- delete[] buffer;
- continue;
- }
-
if (!process(out, g, buffer, size))
- fprintf(stderr, "ERROR: couldn't process file '%s'", argv[i]);
+ fprintf(stderr, "ERROR: couldn't process file '%s'\n", argv[i]);
if (g->special == kFMTownsVersionE || g->special == k2TownsFile1E || g->special == k2TownsFile2E ||
- g->special == k2CDFile1E || g->special == k2CDFile2E) {
+ g->special == k2CDFile1E || g->special == k2CDFile2E || g->special == k2CDDemoE) {
// This is for executables which contain support for at least 2 languages
// The English and non language specific data has now been extracted.
// We switch to the second language and continue extraction.
- if (!hasNeededEntries(++g, &out)) {
- warning("file '%s' is missing offset entries and thus can't be processed", argv[i]);
- delete[] buffer;
- continue;
- }
- if (!process(out, g, buffer, size))
- fprintf(stderr, "ERROR: couldn't process file '%s'", argv[i]);
+ if (!process(out, ++g, buffer, size))
+ fprintf(stderr, "ERROR: couldn't process file '%s'\n", argv[i]);
}
- if (g->special == k2CDFile1F || g->special == k2CDFile2F) {
+ if (g->special == k2CDFile1F || g->special == k2CDFile2F || g->special == k2CDDemoF) {
// This is for executables which contain support for 3 languages.
// We switch to the third language and continue extraction.
- if (!hasNeededEntries(++g, &out)) {
- warning("file '%s' is missing offset entries and thus can't be processed", argv[i]);
- delete[] buffer;
- continue;
- }
- if (!process(out, g, buffer, size))
- fprintf(stderr, "ERROR: couldn't process file '%s'", argv[i]);
+ if (!process(out, ++g, buffer, size))
+ fprintf(stderr, "ERROR: couldn't process file '%s'\n", argv[i]);
}
delete[] buffer;
@@ -1451,6 +1368,426 @@
return 0;
}
+const int *getNeedList(const Game *g) {
+ for (const GameNeed *need = gameNeedTable; need->game != -1; ++need) {
+ if (need->game == g->game && need->special == g->special)
+ return need->entries;
+ }
+
+ return 0;
+}
+
+const char *getIdString(const int id) {
+ switch (id) {
+ case kForestSeq:
+ return "kForestSeq";
+ case kKallakWritingSeq:
+ return "kKallakWritingSeq";
+ case kKyrandiaLogoSeq:
+ return "kKyrandiaLogoSeq";
+ case kKallakMalcolmSeq:
+ return "kKallakMalcolmSeq";
+ case kMalcolmTreeSeq:
+ return "kMalcolmTreeSeq";
+ case kWestwoodLogoSeq:
+ return "kWestwoodLogoSeq";
+ case kDemo1Seq:
+ return "kDemo1Seq";
+ case kDemo2Seq:
+ return "kDemo2Seq";
+ case kDemo3Seq:
+ return "kDemo3Seq";
+ case kDemo4Seq:
+ return "kDemo4Seq";
+ case kAmuleteAnimSeq:
+ return "kAmuleteAnimSeq";
+ case kOutroReunionSeq:
+ return "kOutroReunionSeq";
+ case kIntroCPSStrings:
+ return "kIntroCPSStrings";
+ case kIntroCOLStrings:
+ return "kIntroCOLStrings";
+ case kIntroWSAStrings:
+ return "kIntroWSAStrings";
+ case kIntroStrings:
+ return "kIntroStrings";
+ case kOutroHomeString:
+ return "kOutroHomeString";
+ case kRoomFilenames:
+ return "kRoomFilenames";
+ case kRoomList:
+ return "kRoomList";
+ case kCharacterImageFilenames:
+ return "kCharacterImageFilenames";
+ case kAudioTracks:
+ return "kAudioTracks";
+ case kAudioTracksIntro:
+ return "kAudioTracksIntro";
+ case kItemNames:
+ return "kItemNames";
+ case kTakenStrings:
+ return "kTakenStrings";
+ case kPlacedStrings:
+ return "kPlacedStrings";
+ case kDroppedStrings:
+ return "kDroppedStrings";
+ case kNoDropStrings:
+ return "kNoDropStrings";
+ case kPutDownString:
+ return "kPutDownString";
+ case kWaitAmuletString:
+ return "kWaitAmuletString";
+ case kBlackJewelString:
+ return "kBlackJewelString";
+ case kPoisonGoneString:
+ return "kPoisonGoneString";
+ case kHealingTipString:
+ return "kHealingTipString";
+ case kWispJewelStrings:
+ return "kWispJewelStrings";
+ case kMagicJewelStrings:
+ return "kMagicJewelStrings";
+ case kThePoisonStrings:
+ return "kThePoisonStrings";
+ case kFluteStrings:
+ return "kFluteStrings";
+ case kFlaskFullString:
+ return "kFlaskFullString";
+ case kFullFlaskString:
+ return "kFullFlaskString";
+ case kVeryCleverString:
+ return "kVeryCleverString";
+ case kNewGameString:
+ return "kNewGameString";
+ case kDefaultShapes:
+ return "kDefaultShapes";
+ case kHealing1Shapes:
+ return "kHealing1Shapes";
+ case kHealing2Shapes:
+ return "kHealing2Shapes";
+ case kPoisonDeathShapes:
+ return "kPoisonDeathShapes";
+ case kFluteShapes:
+ return "kFluteShapes";
+ case kWinter1Shapes:
+ return "kWinter1Shapes";
+ case kWinter2Shapes:
+ return "kWinter2Shapes";
+ case kWinter3Shapes:
+ return "kWinter3Shapes";
+ case kDrinkShapes:
+ return "kDrinkShapes";
+ case kWispShapes:
+ return "kWispShapes";
+ case kMagicAnimShapes:
+ return "kMagicAnimShapes";
+ case kBranStoneShapes:
+ return "kBranStoneShapes";
+ case kPaletteList1:
+ return "kPaletteList1";
+ case kPaletteList2:
+ return "kPaletteList2";
+ case kPaletteList3:
+ return "kPaletteList3";
+ case kPaletteList4:
+ return "kPaletteList4";
+ case kPaletteList5:
+ return "kPaletteList5";
+ case kPaletteList6:
+ return "kPaletteList6";
+ case kPaletteList7:
+ return "kPaletteList7";
+ case kPaletteList8:
+ return "kPaletteList8";
+ case kPaletteList9:
+ return "kPaletteList9";
+ case kPaletteList10:
+ return "kPaletteList10";
+ case kPaletteList11:
+ return "kPaletteList11";
+ case kPaletteList12:
+ return "kPaletteList12";
+ case kPaletteList13:
+ return "kPaletteList13";
+ case kPaletteList14:
+ return "kPaletteList14";
+ case kPaletteList15:
+ return "kPaletteList15";
+ case kPaletteList16:
+ return "kPaletteList16";
+ case kPaletteList17:
+ return "kPaletteList17";
+ case kPaletteList18:
+ return "kPaletteList18";
+ case kPaletteList19:
+ return "kPaletteList19";
+ case kPaletteList20:
+ return "kPaletteList20";
+ case kPaletteList21:
+ return "kPaletteList21";
+ case kPaletteList22:
+ return "kPaletteList22";
+ case kPaletteList23:
+ return "kPaletteList23";
+ case kPaletteList24:
+ return "kPaletteList24";
+ case kPaletteList25:
+ return "kPaletteList25";
+ case kPaletteList26:
+ return "kPaletteList26";
+ case kPaletteList27:
+ return "kPaletteList27";
+ case kPaletteList28:
+ return "kPaletteList28";
+ case kPaletteList29:
+ return "kPaletteList29";
+ case kPaletteList30:
+ return "kPaletteList30";
+ case kPaletteList31:
+ return "kPaletteList31";
+ case kPaletteList32:
+ return "kPaletteList32";
+ case kPaletteList33:
+ return "kPaletteList33";
+ case kGUIStrings:
+ return "kGUIStrings";
+ case kConfigStrings:
+ return "kConfigStrings";
+ case kKyra1TownsSFXwdTable:
+ return "kKyra1TownsSFXwdTable";
+ case kKyra1TownsSFXbtTable:
+ return "kKyra1TownsSFXbtTable";
+ case kKyra1TownsCDATable:
+ return "kKyra1TownsCDATable";
+ case kCreditsStrings:
+ return "kCreditsStrings";
+ case kAmigaIntroSFXTable:
+ return "kAmigaIntroSFXTable";
+ case kAmigaGameSFXTable:
+ return "kAmigaGameSFXTable";
+ case k2SeqplayPakFiles:
+ return "k2SeqplayPakFiles";
+ case k2SeqplayStrings:
+ return "k2SeqplayStrings";
+ case k2SeqplaySfxFiles:
+ return "k2SeqplaySfxFiles";
+ case k2SeqplayTlkFiles:
+ return "k2SeqplayTlkFiles";
+ case k2SeqplaySeqData:
+ return "k2SeqplaySeqData";
+ case k2SeqplayCredits:
+ return "k2SeqplayCredits";
+ case k2SeqplayCreditsSpecial:
+ return "k2SeqplayCreditsSpecial";
+ case k2SeqplayIntroTracks:
+ return "k2SeqplayIntroTracks";
+ case k2SeqplayFinaleTracks:
+ return "k2SeqplayFinaleTracks";
+ case k2SeqplayIntroCDA:
+ return "k2SeqplayIntroCDA";
+ case k2SeqplayFinaleCDA:
+ return "k2SeqplayFinaleCDA";
+ case k2SeqplayShapeAnimData:
+ return "k2SeqplayShapeAnimData";
+ case k2IngamePakFiles:
+ return "k2IngamePakFiles";
+ case k2IngameSfxFiles:
+ return "k2IngameSfxFiles";
+ case k2IngameSfxFilesTns:
+ return "k2IngameSfxFilesTns";
+ case k2IngameSfxIndex:
+ return "k2IngameSfxIndex";
+ case k2IngameTracks:
+ return "k2IngameTracks";
+ case k2IngameCDA:
+ return "k2IngameCDA";
+ case k2IngameTalkObjIndex:
+ return "k2IngameTalkObjIndex";
+ case k2IngameTimJpStrings:
+ return "k2IngameTimJpStrings";
+ case k2IngameItemAnimData:
+ return "k2IngameItemAnimData";
+ case k2IngameTlkDemoStrings:
+ return "k2IngameTlkDemoStrings";
+ case k3MainMenuStrings:
+ return "k3MainMenuStrings";
+ case k3MusicFiles:
+ return "k3MusicFiles";
+ case k3ScoreTable:
+ return "k3ScoreTable";
+ case k3SfxFiles:
+ return "k3SfxFiles";
+ case k3SfxMap:
+ return "k3SfxMap";
+ case k3ItemAnimData:
+ return "k3ItemAnimData";
+ case k3ItemMagicTable:
+ return "k3ItemMagicTable";
+ case k3ItemStringMap:
+ return "k3ItemStringMap";
+ case kLolSeqplayIntroTracks:
+ return "kLolSeqplayIntroTracks";
+ case kLolIngamePakFiles:
+ return "kLolIngamePakFiles";
+ case kLolCharacterDefs:
+ return "kLolCharacterDefs";
+ case kLolIngameSfxFiles:
+ return "kLolIngameSfxFiles";
+ case kLolIngameSfxIndex:
+ return "kLolIngameSfxIndex";
+ case kLolMusicTrackMap:
+ return "kLolMusicTrackMap";
+ case kLolGMSfxIndex:
+ return "kLolGMSfxIndex";
+ case kLolMT32SfxIndex:
+ return "kLolMT32SfxIndex";
+ case kLolSpellProperties:
+ return "kLolSpellProperties";
+ case kLolGameShapeMap:
+ return "kLolGameShapeMap";
+ case kLolSceneItemOffs:
+ return "kLolSceneItemOffs";
+ case kLolCharInvIndex:
+ return "kLolCharInvIndex";
+ case kLolCharInvDefs:
+ return "kLolCharInvDefs";
+ case kLolCharDefsMan:
+ return "kLolCharDefsMan";
+ case kLolCharDefsWoman:
+ return "kLolCharDefsWoman";
+ case kLolCharDefsKieran:
+ return "kLolCharDefsKieran";
+ case kLolCharDefsAkshel:
+ return "kLolCharDefsAkshel";
+ case kLolExpRequirements:
+ return "kLolExpRequirements";
+ case kLolMonsterModifiers:
+ return "kLolMonsterModifiers";
+ case kLolMonsterLevelOffsets:
+ return "kLolMonsterLevelOffsets";
+ case kLolMonsterDirFlags:
+ return "kLolMonsterDirFlags";
+ case kLolMonsterScaleY:
+ return "kLolMonsterScaleY";
+ case kLolMonsterScaleX:
+ return "kLolMonsterScaleX";
+ case kLolMonsterScaleWH:
+ return "kLolMonsterScaleWH";
+ case kLolFlyingItemShp:
+ return "kLolFlyingItemShp";
+ case kLolInventoryDesc:
+ return "kLolInventoryDesc";
+ case kLolLevelShpList:
+ return "kLolLevelShpList";
+ case kLolLevelDatList:
+ return "kLolLevelDatList";
+ case kLolCompassDefs:
+ return "kLolCompassDefs";
+ case kLolItemPrices:
+ return "kLolItemPrices";
+ case kLolStashSetup:
+ return "kLolStashSetup";
+ case kLolDscUnk1:
+ return "kLolDscUnk1";
+ case kLolDscShapeIndex1:
+ return "kLolDscShapeIndex1";
+ case kLolDscShapeIndex2:
+ return "kLolDscShapeIndex2";
+ case kLolDscScaleWidthData:
+ return "kLolDscScaleWidthData";
+ case kLolDscScaleHeightData:
+ return "kLolDscScaleHeightData";
+ case kLolDscX:
+ return "kLolDscX";
+ case kLolDscY:
+ return "kLolDscY";
+ case kLolDscTileIndex:
+ return "kLolDscTileIndex";
+ case kLolDscUnk2:
+ return "kLolDscUnk2";
+ case kLolDscDoorShapeIndex:
+ return "kLolDscDoorShapeIndex";
+ case kLolDscDimData1:
+ return "kLolDscDimData1";
+ case kLolDscDimData2:
+ return "kLolDscDimData2";
+ case kLolDscBlockMap:
+ return "kLolDscBlockMap";
+ case kLolDscDimMap:
+ return "kLolDscDimMap";
+ case kLolDscShapeOvlIndex:
+ return "kLolDscShapeOvlIndex";
+ case kLolDscBlockIndex:
+ return "kLolDscBlockIndex";
+ case kLolDscDoor1:
+ return "kLolDscDoor1";
+ case kLolDscDoorScale:
+ return "kLolDscDoorScale";
+ case kLolDscDoor4:
+ return "kLolDscDoor4";
+ case kLolDscDoorX:
+ return "kLolDscDoorX";
+ case kLolDscDoorY:
+ return "kLolDscDoorY";
+ case kLolScrollXTop:
+ return "kLolScrollXTop";
+ case kLolScrollYTop:
+ return "kLolScrollYTop";
+ case kLolScrollXBottom:
+ return "kLolScrollXBottom";
+ case kLolScrollYBottom:
+ return "kLolScrollYBottom";
+ case kLolButtonDefs:
+ return "kLolButtonDefs";
+ case kLolButtonList1:
+ return "kLolButtonList1";
+ case kLolButtonList2:
+ return "kLolButtonList2";
+ case kLolButtonList3:
+ return "kLolButtonList3";
+ case kLolButtonList4:
+ return "kLolButtonList4";
+ case kLolButtonList5:
+ return "kLolButtonList5";
+ case kLolButtonList6:
+ return "kLolButtonList6";
+ case kLolButtonList7:
+ return "kLolButtonList7";
+ case kLolButtonList8:
+ return "kLolButtonList8";
+ case kLolLegendData:
+ return "kLolLegendData";
+ case kLolMapCursorOvl:
+ return "kLolMapCursorOvl";
+ case kLolMapStringId:
+ return "kLolMapStringId";
+ case kLolSpellbookAnim:
+ return "kLolSpellbookAnim";
+ case kLolSpellbookCoords:
+ return "kLolSpellbookCoords";
+ case kLolHealShapeFrames:
+ return "kLolHealShapeFrames";
+ case kLolLightningDefs:
+ return "kLolLightningDefs";
+ case kLolFireballCoords:
+ return "kLolFireballCoords";
+ case kLolHistory:
+ return "kLolHistory";
+ default:
+ return "Unknown";
+ }
+}
+
+struct DataIdEntry {
+ DataIdEntry() : data(), id(-1) {}
+ DataIdEntry(SearchData d, int i) : data(d), id(i) {}
+
+ SearchData data;
+ int id;
+};
+
+typedef std::list<DataIdEntry> DataIdList;
+
bool process(PAKFile &out, const Game *g, const byte *data, const uint32 size) {
char filename[128];
@@ -1459,23 +1796,164 @@
return false;
}
- for (const ExtractEntry *i = g->entries; i->id != -1; ++i) {
- if (!getFilename(filename, g, i->id)) {
- fprintf(stderr, "ERROR: couldn't get filename for id %d\n", i->id);
+ const int *needList = getNeedList(g);
+ if (!needList) {
+ fprintf(stderr, "ERROR: No entry need list available\n");
+ return false;
+ }
+
+ DataIdList dataIdList;
+ Search search(data, size);
+
+ bool allDataPresentAlready = true;
+
+ for (const int *entry = needList; *entry != -1; ++entry) {
+ bool found = false;
+
+ // Try whether the data is present in the kyra.dat file already
+ filename[0] = 0;
+ if (!getFilename(filename, g, *entry))
+ error("couldn't find filename for id %d", *entry);
+
+ // Do not add the entry to the search list, when it's already present
+ // in kyra.dat, that will speed up the creation.
+ PAKFile::cFileList *list = out.getFileList();
+ if (list && list->findEntry(filename) != 0)
+ continue;
+
+ allDataPresentAlready = false;
+
+ for (const ExtractEntry *p = extractProviders; p->id != -1; ++p) {
+ if (p->id == *entry) {
+ // First check for special search ids
+ for (const ExtractEntrySearchData *d = p->providers; d->hint.size != 0; ++d) {
+ if (d->specialId == g->special) {
+ found = true;
+
+ search.addData(d->hint);
+ dataIdList.push_back(DataIdEntry(d->hint, *entry));
+ }
+ }
+
+ // When a special variant was found, we will break.
+ if (found)
+ break;
+
+ // Add non special variants
+ for (const ExtractEntrySearchData *d = p->providers; d->hint.size != 0; ++d) {
+ if (d->specialId == -1) {
+ found = true;
+
+ search.addData(d->hint);
+ dataIdList.push_back(DataIdEntry(d->hint, *entry));
+ }
+ }
+
+ break;
+ }
+ }
+
+ if (!found) {
+ fprintf(stderr, "ERROR: No provider for id %d/\"%s\"\n", *entry, getIdString(*entry));
return false;
}
+ }
- const ExtractFilename *fDesc = getFilenameDesc(i->id);
+ if (allDataPresentAlready)
+ return true;
+ // Process the data search
+ Search::ResultList results;
+ search.search(results);
+
+ if (results.empty()) {
+ fprintf(stderr, "ERROR: Couldn't find any required data\n");
+ return false;
+ }
+
+ typedef std::map<int, Search::ResultData> IdMap;
+
+ IdMap ids;
+ for (const int *entry = needList; *entry != -1; ++entry) {
+ Search::ResultList idResults;
+
+ // Fill in all id entries found
+ for (Search::ResultList::const_iterator i = results.begin(); i != results.end(); ++i) {
+ for (DataIdList::const_iterator j = dataIdList.begin(); j != dataIdList.end(); ++j) {
+ if (j->id == *entry && i->data == j->data)
+ idResults.push_back(*i);
+ }
+ }
+
+ if (idResults.size() > 1)
+ warning("Multiple entries found for id %d/\"%s\"", *entry, getIdString(*entry));
+
+ Search::ResultData result;
+ result.data.size = 0;
+ result.offset = 0xFFFFFFFF;
+
+ // Reduce all entries to one single entry.
+ //
+ // We use the following rules for this (in this order):
+ // - Prefer the entry with the higest size
+ // - Prefer the entry, which starts at the smallest offest
+ //
+ // TODO: These rules might not be safe for all games, but hopefully
+ // they will work fine. If there are any problems it should be rather
+ // easy to identify them, since we print out a warning for multiple
+ // entries found.
+ for (Search::ResultList::iterator i = idResults.begin(); i != idResults.end(); ++i) {
+ if (result.data.size <= i->data.size) {
+ if (result.offset >= i->offset)
+ result = *i;
+ }
+ }
+
+ ids[*entry] = result;
+ }
+
+ // Free up some memory
+ results.clear();
+ dataIdList.clear();
+
+ // Compare against need list
+ for (const int *entry = needList; *entry != -1; ++entry) {
+ if (ids.find(*entry) != ids.end())
+ continue;
+
+ // Try whether the data is present in the kyra.dat file already
+ filename[0] = 0;
+ if (!getFilename(filename, g, *entry))
+ error("couldn't find filename for id %d", *entry);
+
+ PAKFile::cFileList *list = out.getFileList();
+ // If the data wasn't found already, we need to break the extraction here
+ if (!list || !list->findEntry(filename)) {
+ fprintf(stderr, "Couldn't find id %d/\"%s\" in executable file", *entry, getIdString(*entry));
+ return false;
+ }
+ }
+
+ for (IdMap::const_iterator i = ids.begin(); i != ids.end(); ++i) {
+ const int id = i->first;
+
+ filename[0] = 0;
+ if (!getFilename(filename, g, id)) {
+ fprintf(stderr, "ERROR: couldn't get filename for id %d\n", id);
+ return false;
+ }
+
+ const ExtractFilename *fDesc = getFilenameDesc(id);
+
if (!fDesc) {
- fprintf(stderr, "ERROR: couldn't find file description for id %d\n", i->id);
+ fprintf(stderr, "ERROR: couldn't find file description for id %d\n", id);
return false;
}
const ExtractType *tDesc = findExtractType(fDesc->type);
if (!tDesc) {
- fprintf(stderr, "ERROR: couldn't find type description for id %d\n", i->id);
+ fprintf(stderr, "ERROR: couldn't find type description for id %d\n", id);
return false;
}
@@ -1486,30 +1964,30 @@
int patch = 0;
if (g->special == kFMTownsVersionE || g->special == kFMTownsVersionJ) {
// FM Towns files that need addional patches
- if (i->id == kTakenStrings || i->id == kNoDropStrings || i->id == kPoisonGoneString ||
- i->id == kThePoisonStrings || i->id == kFluteStrings || i->id == kWispJewelStrings)
+ if (id == kTakenStrings || id == kNoDropStrings || id == kPoisonGoneString ||
+ id == kThePoisonStrings || id == kFluteStrings || id == kWispJewelStrings)
patch = 1;
- else if (i->id == kIntroStrings || i->id == kKyra1TownsSFXwdTable)
+ else if (id == kIntroStrings || id == kKyra1TownsSFXwdTable)
patch = 2;
}
if (g->special == k2TownsFile1E || g->special == k2TownsFile1J) {
- if (i->id == k2SeqplayStrings)
+ if (id == k2SeqplayStrings)
patch = 3;
}
if (g->special == k2FloppyFile2) {
- if (i->id == k2IngamePakFiles)
+ if (id == k2IngamePakFiles)
patch = 4;
}
if (g->special == k2FloppyFile2 || g->special == k2CDFile2E) {
- if (i->id == k2IngameSfxFiles)
+ if (id == k2IngameSfxFiles)
patch = 5;
}
- if (!tDesc->extract(out, g, data + i->startOff, i->endOff - i->startOff, filename, patch)) {
- fprintf(stderr, "ERROR: couldn't extract id %d\n", i->id);
+ if (!tDesc->extract(out, g, data + i->second.offset, i->second.data.size, filename, patch)) {
+ fprintf(stderr, "ERROR: couldn't extract id %d\n", id);
return false;
}
}
@@ -1525,27 +2003,10 @@
// game data detection
const Game *gameDescs[] = {
- kyra1EngGames,
- kyra1EspGames,
- kyra1FreGames,
- kyra1GerGames,
- kyra1ItaGames,
- kyra1TownsGames,
- kyra1AmigaGames,
- kyra1FanTranslations,
-
- kyra2FloppyGames,
- kyra2TalkieGames,
- kyra2TownsGames,
- kyra2Demos,
-
+ kyra1Games,
+ kyra2Games,
kyra3Games,
-
- lolDemos,
- lolDosTalkieGames,
- lolDosFloppyGames,
- //lolPC98Games,
-
+ lolGames,
0
};
Modified: scummvm/trunk/tools/create_kyradat/create_kyradat.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/create_kyradat.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/create_kyradat.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -25,6 +25,7 @@
#include "util.h"
#include "pak.h"
+#include "search.h"
struct Language {
int lang;
@@ -267,10 +268,14 @@
kMaxResIDs
};
+struct ExtractEntrySearchData {
+ int specialId;
+ SearchData hint;
+};
+
struct ExtractEntry {
int id;
- uint32 startOff;
- uint32 endOff;
+ const ExtractEntrySearchData *providers;
};
struct ExtractFilename {
@@ -281,38 +286,42 @@
enum kSpecial {
kTalkieVersion = 0,
- kDemoVersion = 1,
- kFMTownsVersionE = 2,
- kFMTownsVersionJ = 3,
- kAmigaVersion = 4,
+ kDemoVersion,
+ kFMTownsVersionE,
+ kFMTownsVersionJ,
+ kAmigaVersion,
- k2CDFile1E = 5,
- k2CDFile1F = 6,
- k2CDFile1G = 7,
- k2CDFile2E = 8,
- k2CDFile2F = 9,
- k2CDFile2G = 10,
+ k2CDFile1E,
+ k2CDFile1F,
+ k2CDFile1G,
+ k2CDFile2E,
+ k2CDFile2F,
+ k2CDFile2G,
+ k2CDDemoE,
+ k2CDDemoF,
+ k2CDDemoG,
// Italian fan translation
- k2CDFile1I = 11,
+ k2CDFile1I,
- k2TownsFile1E = 12,
- k2TownsFile1J = 13,
- k2TownsFile2E = 14,
- k2TownsFile2J = 15,
+ k2TownsFile1E,
+ k2TownsFile1J,
+ k2TownsFile2E,
+ k2TownsFile2J,
- k2FloppyFile1 = 16,
- k2FloppyFile2 = 17,
+ k2FloppyFile1,
+ k2FloppyFile2,
- k2DemoVersion = 18,
- k2DemoVersionTlkE = 19,
- k2DemoVersionTlkF = 20,
- k2DemoVersionTlkG = 21,
- k2DemoLol = 22,
+ k2DemoVersion,
+ k2DemoVersionTlkE,
+ k2DemoVersionTlkF,
+ k2DemoVersionTlkG,
+ k2DemoLol,
- kLolCD = 23,
+ kLolCD1,
+ kLolCD2,
// special case for Kyrandia 1 CD demo
- kDemoCDVersion = 24
+ kDemoCDVersion
};
struct SpecialExtension {
@@ -333,10 +342,9 @@
int special;
const char *md5;
- const ExtractEntry *entries;
};
-#define GAME_DUMMY_ENTRY { -1, -1, -1, 0, 0 }
+#define GAME_DUMMY_ENTRY { -1, -1, -1, 0 }
struct GameNeed {
int game;
Deleted: scummvm/trunk/tools/create_kyradat/eng.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/eng.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/eng.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,212 +0,0 @@
-const ExtractEntry kyra1EngFloppy[] = {
- { kKallakWritingSeq, 0x0002FE5E, 0x00030653 },
- { kMalcolmTreeSeq, 0x00030653, 0x00030869 },
- { kWestwoodLogoSeq, 0x00030869, 0x000308B4 },
- { kKyrandiaLogoSeq, 0x000308B4, 0x00030910 },
- { kKallakMalcolmSeq, 0x00030910, 0x00030B7B },
- { kForestSeq, 0x00030B7B, 0x00030D10 },
- { kIntroCPSStrings, 0x00030D10, 0x00030D24 },
- { kIntroWSAStrings, 0x00030D24, 0x00030DA4 },
- { kIntroCOLStrings, 0x00030DA4, 0x00030DCF },
- { kIntroStrings, 0x00030DCF, 0x000312C4 },
- { kRoomList, 0x00028020, 0x0002CDF6 },
- { kRoomFilenames, 0x0003386A, 0x00033B46 },
- { kCharacterImageFilenames, 0x0003268D, 0x00032771 },
- { kDefaultShapes, 0x0002CFB0, 0x0002D43A },
- { kItemNames, 0x00033F2E, 0x00034396 },
- { kTakenStrings, 0x00033822, 0x00033832 },
- { kPlacedStrings, 0x00033832, 0x0003383B },
- { kDroppedStrings, 0x00033860, 0x0003386A },
- { kNoDropStrings, 0x000337DA, 0x00033821 },
- { kAmuleteAnimSeq, 0x0002EA9C, 0x0002EAC6 },
- { kPaletteList1, 0x00025100, 0x00025115 },
- { kPaletteList2, 0x00025115, 0x00025148 },
- { kPaletteList3, 0x00025148, 0x0002517B },
- { kPaletteList4, 0x0002517B, 0x000251AE },
- { kPaletteList5, 0x000251AE, 0x000251E1 },
- { kPaletteList6, 0x000251E1, 0x00025214 },
- { kPaletteList7, 0x00025214, 0x0002524A },
- { kPaletteList8, 0x0002524A, 0x00025280 },
- { kPaletteList9, 0x00025280, 0x000252AD },
- { kPaletteList10, 0x000252AD, 0x000252DA },
- { kPaletteList11, 0x000252DA, 0x00025307 },
- { kPaletteList12, 0x00025307, 0x00025334 },
- { kPaletteList13, 0x00025334, 0x00025361 },
- { kPaletteList14, 0x00025361, 0x0002539D },
- { kPaletteList15, 0x0002539D, 0x000253CA },
- { kPaletteList16, 0x000253CA, 0x000253EB },
- { kPaletteList17, 0x000253EB, 0x0002540C },
- { kPaletteList18, 0x0002540C, 0x00025421 },
- { kPaletteList19, 0x00025421, 0x00025436 },
- { kPaletteList20, 0x00025436, 0x0002544B },
- { kPaletteList21, 0x0002544B, 0x00025460 },
- { kPaletteList22, 0x00025460, 0x00025475 },
- { kPaletteList23, 0x00025475, 0x0002548A },
- { kPaletteList24, 0x0002548A, 0x000254BA },
- { kPaletteList25, 0x000254BA, 0x000254EA },
- { kPaletteList26, 0x000254EA, 0x0002551A },
- { kPaletteList27, 0x0002551A, 0x0002554A },
- { kPaletteList28, 0x0002554A, 0x0002557A },
- { kPaletteList29, 0x0002557A, 0x000255AA },
- { kPaletteList30, 0x000255AA, 0x000255E6 },
- { kPaletteList31, 0x000255E6, 0x0002560D },
- { kPaletteList32, 0x0002560D, 0x00025634 },
- { kPaletteList33, 0x00025634, 0x00025670 },
- { kPutDownString, 0x0002EBCE, 0x0002EBF4 },
- { kWaitAmuletString, 0x0002EBF4, 0x0002EC31 },
- { kBlackJewelString, 0x0002EC31, 0x0002EC54 },
- { kHealingTipString, 0x0002EC54, 0x0002EC81 },
- { kPoisonGoneString, 0x0002ECE7, 0x0002ED14 },
- { kHealing1Shapes, 0x0002D4A3, 0x0002D53D },
- { kHealing2Shapes, 0x0002D53D, 0x0002D60F },
- { kThePoisonStrings, 0x0002F8DC, 0x0002F933 },
- { kFluteStrings, 0x00031C7B, 0x00031CB7 },
- { kPoisonDeathShapes, 0x0002D903, 0x0002D98F },
- { kFluteShapes, 0x0002D807, 0x0002D903 },
- { kWinter1Shapes, 0x0002D60F, 0x0002D640 },
- { kWinter2Shapes, 0x0002D640, 0x0002D735 },
- { kWinter3Shapes, 0x0002D735, 0x0002D751 },
- { kDrinkShapes, 0x0002D43A, 0x0002D4A3 },
- { kWispShapes, 0x0002D751, 0x0002D807 },
- { kMagicAnimShapes, 0x0002D98F, 0x0002D9B2 },
- { kBranStoneShapes, 0x0002D9B2, 0x0002DA20 },
- { kWispJewelStrings, 0x0002EC81, 0x0002ECD4 },
- { kMagicJewelStrings, 0x0002ECD4, 0x0002ECE7 },
- { kFlaskFullString, 0x0002F9EB, 0x0002FA07 },
- { kFullFlaskString, 0x0002F954, 0x0002F9EB },
- { kOutroReunionSeq, 0x000313C1, 0x00031908 },
- { kOutroHomeString, 0x000319C2, 0x000319C7 },
- { kVeryCleverString, 0x00031922, 0x00031954 },
- { kGUIStrings, 0x0002EE7A, 0x0002F02A },
- { kNewGameString, 0x00032466, 0x0003247B },
- { kConfigStrings, 0x0002f870, 0x0002f8af },
- { kAudioTracks, 0x00032771, 0x000327B2 },
- { kAudioTracksIntro, 0x0002FC88, 0x0002FC8E },
-
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra1EngCD[] = {
- { kKallakWritingSeq, 0x0003008F, 0x00030894 },
- { kMalcolmTreeSeq, 0x00030894, 0x00030AC4 },
- { kWestwoodLogoSeq, 0x00030AC4, 0x00030B0F },
- { kKyrandiaLogoSeq, 0x00030B0F, 0x00030BB5 },
- { kKallakMalcolmSeq, 0x00030BB5, 0x00030E6D },
- { kForestSeq, 0x00030E6D, 0x000310E0 },
- { kIntroCPSStrings, 0x000310E0, 0x000310F5 },
- { kIntroWSAStrings, 0x000310F5, 0x00031175 },
- { kIntroCOLStrings, 0x00031175, 0x000311A0 },
- { kIntroStrings, 0x000311A0, 0x00031696 },
- { kRoomList, 0x00028280, 0x0002D056 },
- { kRoomFilenames, 0x00033F2C, 0x00034208 },
- { kCharacterImageFilenames, 0x00032F22, 0x00033006 },
- { kDefaultShapes, 0x0002D210, 0x0002D69A },
- { kItemNames, 0x00034442, 0x000348AA },
- { kTakenStrings, 0x00033EE4, 0x00033EF4 },
- { kPlacedStrings, 0x00033EF4, 0x00033EFD },
- { kDroppedStrings, 0x00033F22, 0x00033F2C },
- { kNoDropStrings, 0x00033E9C, 0x00033EE3 },
- { kAmuleteAnimSeq, 0x0002EE1C, 0x0002EE46 },
- { kPaletteList1, 0x00025530, 0x00025545 },
- { kPaletteList2, 0x00025545, 0x00025578 },
- { kPaletteList3, 0x00025578, 0x000255AB },
- { kPaletteList4, 0x000255AB, 0x000255DE },
- { kPaletteList5, 0x000255DE, 0x00025611 },
- { kPaletteList6, 0x00025611, 0x00025644 },
- { kPaletteList7, 0x00025644, 0x0002567A },
- { kPaletteList8, 0x0002567A, 0x000256B0 },
- { kPaletteList9, 0x000256B0, 0x000256DD },
- { kPaletteList10, 0x000256DD, 0x0002570A },
- { kPaletteList11, 0x0002570A, 0x00025737 },
- { kPaletteList12, 0x00025737, 0x00025764 },
- { kPaletteList13, 0x00025764, 0x00025791 },
- { kPaletteList14, 0x00025791, 0x000257CD },
- { kPaletteList15, 0x000257CD, 0x000257FA },
- { kPaletteList16, 0x000257FA, 0x0002581B },
- { kPaletteList17, 0x0002581B, 0x0002583C },
- { kPaletteList18, 0x0002583C, 0x00025851 },
- { kPaletteList19, 0x00025851, 0x00025866 },
- { kPaletteList20, 0x00025866, 0x0002587B },
- { kPaletteList21, 0x0002587B, 0x00025890 },
- { kPaletteList22, 0x00025890, 0x000258A5 },
- { kPaletteList23, 0x000258A5, 0x000258BA },
- { kPaletteList24, 0x000258BA, 0x000258EA },
- { kPaletteList25, 0x000258EA, 0x0002591A },
- { kPaletteList26, 0x0002591A, 0x0002594A },
- { kPaletteList27, 0x0002594A, 0x0002597A },
- { kPaletteList28, 0x0002597A, 0x000259AA },
- { kPaletteList29, 0x000259AA, 0x000259DA },
- { kPaletteList30, 0x000259DA, 0x00025A16 },
- { kPaletteList31, 0x00025A16, 0x00025A3D },
- { kPaletteList32, 0x00025A3D, 0x00025A64 },
- { kPaletteList33, 0x00025A64, 0x00025AA0 },
- { kPutDownString, 0x0002EF50, 0x0002EF76 },
- { kWaitAmuletString, 0x0002EF76, 0x0002EFB3 },
- { kBlackJewelString, 0x0002EFB3, 0x0002EFD6 },
- { kHealingTipString, 0x0002EFD6, 0x0002F003 },
- { kPoisonGoneString, 0x0002F068, 0x0002F095 },
- { kHealing1Shapes, 0x0002D703, 0x0002D79D },
- { kHealing2Shapes, 0x0002D79D, 0x0002D86F },
- { kThePoisonStrings, 0x0002FCCA, 0x0002FD21 },
- { kFluteStrings, 0x00032510, 0x000325AC },
- { kPoisonDeathShapes, 0x0002DB63, 0x0002DBEF },
- { kFluteShapes, 0x0002DA67, 0x0002DB63 },
- { kWinter1Shapes, 0x0002D86F, 0x0002D8A0 },
- { kWinter2Shapes, 0x0002D8A0, 0x0002D995 },
- { kWinter3Shapes, 0x0002D995, 0x0002D9B1 },
- { kDrinkShapes, 0x0002D69A, 0x0002D703 },
- { kWispShapes, 0x0002D9B1, 0x0002DA67 },
- { kMagicAnimShapes, 0x0002DBEF, 0x0002DC12 },
- { kBranStoneShapes, 0x0002DC12, 0x0002DC80 },
- { kWispJewelStrings, 0x0002F003, 0x0002F055 },
- { kMagicJewelStrings, 0x0002F055, 0x0002F068 },
- { kFlaskFullString, 0x0002FDE1, 0x0002FDFD },
- { kFullFlaskString, 0x0002FD4A, 0x0002FDE1 },
- { kOutroReunionSeq, 0x00031791, 0x00031D76 },
- { kOutroHomeString, 0x00031E3A, 0x00031E3F },
- { kVeryCleverString, 0x00031D90, 0x00031DC2 },
- { kGUIStrings, 0x0002F1EE, 0x0002F3F7 },
- { kNewGameString, 0x00032CFB, 0x00032D10 },
- { kConfigStrings, 0x0002fc3d, 0x0002fc9e },
- { kAudioTracks, 0x00033006, 0x00033047 },
- { kAudioTracksIntro, 0x0002FE9A, 0x0002FEA6 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra1EngDemo[] = {
- { kWestwoodLogoSeq, 0x00015327, 0x0001536B },
- { kKyrandiaLogoSeq, 0x0001536B, 0x000153BF },
- { kIntroCPSStrings, 0x000154B1, 0x000154BD },
- { kIntroWSAStrings, 0x000154BD, 0x0001550A },
- { kIntroCOLStrings, 0x0001550A, 0x00015550 },
- { kIntroStrings, 0x00015550, 0x0001584A },
- { kDemo1Seq, 0x000153BF, 0x000153E5 },
- { kDemo2Seq, 0x000153E5, 0x00015408 },
- { kDemo3Seq, 0x00015408, 0x00015461 },
- { kDemo4Seq, 0x00015461, 0x00015481 },
- { kAudioTracksIntro, 0x00014E6E, 0x00014E74 },
- { -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
-};
Deleted: scummvm/trunk/tools/create_kyradat/esp.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/esp.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/esp.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,39 +0,0 @@
-const ExtractEntry kyra1EspFloppy[] = {
- { kKallakWritingSeq, 0x00030462, 0x00030C57 },
- { kMalcolmTreeSeq, 0x00030C57, 0x00030E6D },
- { kWestwoodLogoSeq, 0x00030E6D, 0x00030EB8 },
- { kKyrandiaLogoSeq, 0x00030EB8, 0x00030F14 },
- { kKallakMalcolmSeq, 0x00030F14, 0x0003117F },
- { kForestSeq, 0x0003117F, 0x00031314 },
- { kIntroCPSStrings, 0x00031314, 0x00031328 },
- { kIntroWSAStrings, 0x00031328, 0x000313A8 },
- { kIntroCOLStrings, 0x000313A8, 0x000313D3 },
- { kIntroStrings, 0x000313D3, 0x000319A2 },
- { kItemNames, 0x0003467A, 0x00034BAA },
- { kTakenStrings, 0x00033F14, 0x00033F28 },
- { kPlacedStrings, 0x00033F28, 0x00033F35 },
- { kDroppedStrings, 0x00033F5E, 0x00033F66 },
- { kNoDropStrings, 0x00033ED6, 0x00033F13 },
- { kPutDownString, 0x0002F100, 0x0002F12D },
- { kWaitAmuletString, 0x0002F12D, 0x0002F16F },
- { kBlackJewelString, 0x0002F16F, 0x0002F194 },
- { kHealingTipString, 0x0002F194, 0x0002F1BC },
- { kPoisonGoneString, 0x0002F22C, 0x0002F25F },
- { kThePoisonStrings, 0x0002FEC6, 0x0002FF1F },
- { kFluteStrings, 0x00032361, 0x000323B3 },
- { kWispJewelStrings, 0x0002F1BC, 0x0002F21B },
- { kMagicJewelStrings, 0x0002F21B, 0x0002F22C },
- { kFlaskFullString, 0x0002FFDA, 0x0002FFF5 },
- { kFullFlaskString, 0x0002FF40, 0x0002FFDA },
- { kOutroHomeString, 0x000320A8, 0x000320AD },
- { kVeryCleverString, 0x00032004, 0x0003203A },
- { kGUIStrings, 0x0002f3d0, 0x0002f60a },
- { kNewGameString, 0x00032b62, 0x00032b7d },
- { kConfigStrings, 0x0002fe50, 0x0002fe9a },
- { -1, 0, 0 }
-};
-
-const Game kyra1EspGames[] = {
- { kKyra1, ES_ESP, -1, "9ff130d2558bcd674d4074849d93c362", kyra1EspFloppy },
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/fre.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/fre.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/fre.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,79 +0,0 @@
-const ExtractEntry kyra1FreFloppy[] = {
- { kKallakWritingSeq, 0x00030598, 0x00030D8D },
- { kMalcolmTreeSeq, 0x00030D8D, 0x00030FA3 },
- { kWestwoodLogoSeq, 0x00030FA3, 0x00030FEE },
- { kKyrandiaLogoSeq, 0x00030FEE, 0x0003104A },
- { kKallakMalcolmSeq, 0x0003104A, 0x000312B5 },
- { kForestSeq, 0x000312B5, 0x0003144A },
- { kIntroCPSStrings, 0x0003144A, 0x0003145E },
- { kIntroWSAStrings, 0x0003145E, 0x000314DE },
- { kIntroCOLStrings, 0x000314DE, 0x00031509 },
- { kIntroStrings, 0x00031509, 0x00031AF8 },
- { kItemNames, 0x00034862, 0x00034d68 },
- { kTakenStrings, 0x00034062, 0x00034080 },
- { kPlacedStrings, 0x00034080, 0x00034091 },
- { kDroppedStrings, 0x0003412f, 0x00034140 },
- { kNoDropStrings, 0x00034016, 0x00034062 },
- { kPutDownString, 0x0002f240, 0x0002f26e },
- { kWaitAmuletString, 0x0002f26e, 0x0002f2b7 },
- { kBlackJewelString, 0x0002f2b7, 0x0002f2e2 },
- { kHealingTipString, 0x0002f2e2, 0x0002f318 },
- { kPoisonGoneString, 0x0002f384, 0x0002f3dd },
- { kThePoisonStrings, 0x0003000e, 0x00030076 },
- { kFluteStrings, 0x000324af, 0x000324f4 },
- { kWispJewelStrings, 0x0002f318, 0x0002f373 },
- { kMagicJewelStrings, 0x0002f373, 0x0002f384 },
- { kFlaskFullString, 0x0003011c, 0x0003013a },
- { kFullFlaskString, 0x00030096, 0x0003011c },
- { kOutroHomeString, 0x000321f4, 0x000321fb },
- { kVeryCleverString, 0x0003215e, 0x00032185 },
- { kGUIStrings, 0x0002f51c, 0x0002f750 },
- { kNewGameString, 0x00032ca2, 0x00032cbf },
- { kConfigStrings, 0x0002ff96, 0x0002ffe1 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra1FreCD[] = {
- { kKallakWritingSeq, 0x0003023D, 0x00030A42 },
- { kMalcolmTreeSeq, 0x00030A42, 0x00030C72 },
- { kWestwoodLogoSeq, 0x00030C72, 0x00030CBD },
- { kKyrandiaLogoSeq, 0x00030CBD, 0x00030D63 },
- { kKallakMalcolmSeq, 0x00030D63, 0x0003101B },
- { kForestSeq, 0x0003101B, 0x0003128E },
- { kIntroCPSStrings, 0x0003128E, 0x000312A3 },
- { kIntroWSAStrings, 0x000312A3, 0x00031323 },
- { kIntroCOLStrings, 0x00031323, 0x0003134E },
- { kIntroStrings, 0x0003134E, 0x0003193E },
- { kRoomList, 0x000283A0, 0x0002D176 },
- { kRoomFilenames, 0x000342AA, 0x00034586 },
- { kCharacterImageFilenames, 0x00033206, 0x000332EA },
- { kDefaultShapes, 0x0002D330, 0x0002D823 },
- { kItemNames, 0x000347C0, 0x00034CC6 },
- { kTakenStrings, 0x0003427B, 0x0003428A },
- { kPlacedStrings, 0x000341EA, 0x000341FB },
- { kDroppedStrings, 0x00034299, 0x000342AA },
- { kNoDropStrings, 0x00034180, 0x000341CC },
- { kPutDownString, 0x0002F070, 0x0002F09E },
- { kWaitAmuletString, 0x0002F09E, 0x0002F0E7 },
- { kBlackJewelString, 0x0002F0E7, 0x0002F112 },
- { kHealingTipString, 0x0002F112, 0x0002F148 },
- { kPoisonGoneString, 0x0002F1A9, 0x0002F1D3 },
- { kThePoisonStrings, 0x0002FE76, 0x0002FEDE },
- { kFluteStrings, 0x000327EA, 0x0003282F },
- { kWispJewelStrings, 0x0002F148, 0x0002F198 },
- { kMagicJewelStrings, 0x0002F198, 0x0002F1A9 },
- { kFlaskFullString, 0x0002FF8C, 0x0002FFAA },
- { kFullFlaskString, 0x0002FF06, 0x0002FF8C },
- { kOutroHomeString, 0x000320D6, 0x000320DD },
- { kVeryCleverString, 0x00032038, 0x0003205F },
- { kGUIStrings, 0x0002f32c, 0x0002f589 },
- { kNewGameString, 0x00032FDF, 0x00032FFC },
- { kConfigStrings, 0x0002fdcf, 0x0002fe49 },
- { -1, 0, 0 }
-};
-
-const Game kyra1FreGames[] = {
- { kKyra1, FR_FRA, -1, "aa9d6d78d8b199deaf48efeca6d19af2", kyra1FreFloppy },
- { kKyra1, FR_FRA, kTalkieVersion, "307c5d4a554d9068ac3d326e350ae4a6", kyra1FreCD },
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/ger.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/ger.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/ger.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,80 +0,0 @@
-const ExtractEntry kyra1GerFloppy[] = {
- { kKallakWritingSeq, 0x000304F2, 0x00030CE7 },
- { kMalcolmTreeSeq, 0x00030CE7, 0x00030EFD },
- { kWestwoodLogoSeq, 0x00030EFD, 0x00030F48 },
- { kKyrandiaLogoSeq, 0x00030F48, 0x00030FA4 },
- { kKallakMalcolmSeq, 0x00030FA4, 0x0003120F },
- { kForestSeq, 0x0003120F, 0x000313A4 },
- { kIntroCPSStrings, 0x000313A4, 0x000313B8 },
- { kIntroWSAStrings, 0x000313B8, 0x00031438 },
- { kIntroCOLStrings, 0x00031438, 0x00031463 },
- { kIntroStrings, 0x00031463, 0x00031A68 },
- { kRoomFilenames, 0x00034058, 0x00034334 },
- { kItemNames, 0x00034776, 0x00034C88 },
- { kTakenStrings, 0x00033FEE, 0x0003400A },
- { kPlacedStrings, 0x0003400A, 0x00034015 },
- { kDroppedStrings, 0x00034046, 0x00034057 },
- { kNoDropStrings, 0x00033FA2, 0x00033FEE },
- { kPutDownString, 0x0002F100, 0x0002F128 },
- { kWaitAmuletString, 0x0002F128, 0x0002F170 },
- { kBlackJewelString, 0x0002F170, 0x0002F1A1 },
- { kHealingTipString, 0x0002F1A1, 0x0002F1DD },
- { kPoisonGoneString, 0x0002F252, 0x0002F288 },
- { kThePoisonStrings, 0x0002FF00, 0x0002FF72 },
- { kFluteStrings, 0x0003243F, 0x0003247F },
- { kWispJewelStrings, 0x0002F1DD, 0x0002F23E },
- { kMagicJewelStrings, 0x0002F23E, 0x0002F252 },
- { kFlaskFullString, 0x00030041, 0x0003005F },
- { kFullFlaskString, 0x0002FF92, 0x00030041 },
- { kOutroHomeString, 0x0003217E, 0x0003218C },
- { kVeryCleverString, 0x000320CC, 0x0003210F },
- { kGUIStrings, 0x0002f3fa, 0x0002f630 },
- { kNewGameString, 0x00032c2e, 0x00032c4b },
- { kConfigStrings, 0x0002fe76, 0x0002fed4 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra1GerCD[] = {
- { kKallakWritingSeq, 0x0003018F, 0x00030994 },
- { kMalcolmTreeSeq, 0x00030994, 0x00030BC4 },
- { kWestwoodLogoSeq, 0x00030BC4, 0x00030C0F },
- { kKyrandiaLogoSeq, 0x00030C0F, 0x00030CB5 },
- { kKallakMalcolmSeq, 0x00030CB5, 0x00030F6D },
- { kForestSeq, 0x00030F6D, 0x000311E0 },
- { kIntroCPSStrings, 0x000311E0, 0x000311F5 },
- { kIntroWSAStrings, 0x000311F5, 0x00031275 },
- { kIntroCOLStrings, 0x00031275, 0x000312A0 },
- { kIntroStrings, 0x000312A0, 0x000318A6 },
- { kRoomList, 0x00028280, 0x0002D056 },
- { kRoomFilenames, 0x000341FA, 0x000344D6 },
- { kCharacterImageFilenames, 0x000331CA, 0x000332AE },
- { kDefaultShapes, 0x0002D210, 0x0002D703 },
- { kItemNames, 0x00034710, 0x00034C22 },
- { kTakenStrings, 0x00034190, 0x000341AC },
- { kPlacedStrings, 0x000341AC, 0x000341B7 },
- { kDroppedStrings, 0x000341E8, 0x000341F9 },
- { kNoDropStrings, 0x00034144, 0x00034190 },
- { kPutDownString, 0x0002EF50, 0x0002EF78 },
- { kWaitAmuletString, 0x0002EF78, 0x0002EFC0 },
- { kBlackJewelString, 0x0002EFC0, 0x0002EFF1 },
- { kHealingTipString, 0x0002EFF1, 0x0002F02D },
- { kPoisonGoneString, 0x0002F099, 0x0002F0CF },
- { kThePoisonStrings, 0x0002FD82, 0x0002FDF4 },
- { kFluteStrings, 0x000327B4, 0x000327F4 },
- { kWispJewelStrings, 0x0002F02D, 0x0002F085 },
- { kMagicJewelStrings, 0x0002F085, 0x0002F099 },
- { kFlaskFullString, 0x0002FECB, 0x0002FEE9 },
- { kFullFlaskString, 0x0002FE1C, 0x0002FECB },
- { kOutroHomeString, 0x0003205A, 0x00032068 },
- { kVeryCleverString, 0x00031FA0, 0x00031FE3 },
- { kGUIStrings, 0x0002F22C, 0x0002F48D },
- { kNewGameString, 0x00032FA3, 0x00032FC0 },
- { kConfigStrings, 0x0002fcd3, 0x0002fd55 },
- { -1, 0, 0 }
-};
-
-const Game kyra1GerGames[] = {
- { kKyra1, DE_DEU, -1, "9442d6f7db6a41f3dd4aa4de5d36e107", kyra1GerFloppy },
- { kKyra1, DE_DEU, kTalkieVersion, "c65d381184f98ac26d9efd2d45baef51", kyra1GerCD },
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/hof_cd.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/hof_cd.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/hof_cd.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,62 +0,0 @@
-const ExtractEntry kyra2File1CDE[] = {
- { k2SeqplayPakFiles, 0x00029FA4, 0x00029FEA },
- { k2SeqplayCredits, 0x00027920, 0x00028408 },
- { k2SeqplayCreditsSpecial, 0x00029E01, 0x00029E1B },
- { k2SeqplayStrings, 0x0002C566, 0x0002CE7C },
- { k2SeqplaySfxFiles, 0x0002E284, 0x0002E4B8 },
- { k2SeqplayTlkFiles, 0x0002A2AC, 0x0002A349 },
- { k2SeqplayIntroTracks, 0x0002E4C5, 0x0002E4CD },
- { k2SeqplayFinaleTracks, 0x0002E4DA, 0x0002E4E3 },
- { k2SeqplaySeqData, 0x0002BB4C, 0x0002C20A },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1CDF[] = {
- { k2SeqplayStrings, 0x0002CE7C, 0x0002D845 },
- { k2SeqplayTlkFiles, 0x0002A349, 0x0002A3E6 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1CDG[] = {
- { k2SeqplayStrings, 0x0002D845, 0x0002E284 },
- { k2SeqplayTlkFiles, 0x0002A3E6, 0x0002A483 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1CDI[] = {
- { k2SeqplayStrings, 0x0002C566, 0x0002CE7C },
- { k2SeqplayTlkFiles, 0x0002A2AC, 0x0002A349 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2CDE[] = {
- { k2IngameSfxFiles, 0x0002CB30, 0x0002D221 },
- { k2IngameSfxIndex, 0x000294F0, 0x00029848 },
- { k2IngameTracks, 0x0002F2FE, 0x0002F37E },
- { k2IngameTalkObjIndex, 0x0002BAC2, 0x0002BB46 },
- { k2IngameItemAnimData, 0x0002FE68, 0x000301B0 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2CDF[] = {
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2CDG[] = {
- { -1, 0, 0 }
-};
-
-const Game kyra2TalkieGames[] = {
- { kKyra2, EN_ANY, k2CDFile1E, "85bbc1cc6c4cef6ad31fc6ee79518efb", kyra2File1CDE},
- { kKyra2, FR_FRA, k2CDFile1F, "85bbc1cc6c4cef6ad31fc6ee79518efb", kyra2File1CDF},
- { kKyra2, DE_DEU, k2CDFile1G, "85bbc1cc6c4cef6ad31fc6ee79518efb", kyra2File1CDG},
- { kKyra2, EN_ANY, k2CDFile2E, "e20d0d2e500f01e399ec588247a7e213", kyra2File2CDE},
- { kKyra2, FR_FRA, k2CDFile2F, "e20d0d2e500f01e399ec588247a7e213", kyra2File2CDF},
- { kKyra2, DE_DEU, k2CDFile2G, "e20d0d2e500f01e399ec588247a7e213", kyra2File2CDG},
-
- // Italian Fan Translation (using same offsets as English)
- { kKyra2, IT_ITA, k2CDFile1I, "130795aa8f2333250c895dae9028b9bb", kyra2File1CDI},
-
- GAME_DUMMY_ENTRY
-};
-
Deleted: scummvm/trunk/tools/create_kyradat/hof_demo.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/hof_demo.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/hof_demo.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,33 +0,0 @@
-const ExtractEntry kyra2Demo[] = {
- { k2SeqplayPakFiles, 0x0001C130, 0x0001C144 },
- { k2SeqplaySfxFiles, 0x0001CDDE, 0x0001CEBC },
- { k2SeqplaySeqData, 0x0001C920, 0x0001CB9C },
- { k2SeqplayIntroTracks, 0x0001CEBC, 0x0001CECC },
- { k2SeqplayShapeAnimData, 0x0001CC14, 0x0001CCCC },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2DemoCDE[] = {
- { k2IngameTlkDemoStrings, 0x0002F367, 0x0002F432 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2DemoCDF[] = {
- { k2IngameTlkDemoStrings, 0x0002F432, 0x0002F4F0 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2DemoCDG[] = {
- { k2IngameTlkDemoStrings, 0x0002F4F0, 0x0002F5CC },
- { -1, 0, 0 }
-};
-
-const Game kyra2Demos[] = {
- { kKyra2, EN_ANY, k2DemoVersion, "a620a37579dd44ab0403482285e3897f", kyra2Demo},
- { kKyra2, EN_ANY, k2CDFile2E, "fa54d8abfe05f9186c05f7de7eaf1480", kyra2DemoCDE},
- { kKyra2, FR_FRA, k2CDFile2F, "fa54d8abfe05f9186c05f7de7eaf1480", kyra2DemoCDF},
- { kKyra2, DE_DEU, k2CDFile2G, "fa54d8abfe05f9186c05f7de7eaf1480", kyra2DemoCDG},
- GAME_DUMMY_ENTRY
-};
-
-
Deleted: scummvm/trunk/tools/create_kyradat/hof_floppy.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/hof_floppy.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/hof_floppy.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,91 +0,0 @@
-const ExtractEntry kyra2File1E[] = {
- { k2SeqplayPakFiles, 0x0002132A, 0x0002134C },
- { k2SeqplayStrings, 0x00022DF2, 0x000236BA },
- { k2SeqplaySfxFiles, 0x000236BA, 0x0002382D },
- { k2SeqplayIntroTracks, 0x0002383A, 0x0002384A },
- { k2SeqplayFinaleTracks, 0x00023857, 0x00023869 },
- { k2SeqplaySeqData, 0x000223E0, 0x00022AD4 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1F[] = {
- { k2SeqplayPakFiles, 0x00020F9D, 0x00020FBF },
- { k2SeqplayStrings, 0x00022A9C, 0x00023431 },
- { k2SeqplaySfxFiles, 0x00023431, 0x000235A4 },
- { k2SeqplayIntroTracks, 0x000235B1, 0x000235C1 },
- { k2SeqplayFinaleTracks, 0x000235CE, 0x000235E0 },
- { k2SeqplaySeqData, 0x000223E0, 0x0002277E },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1G[] = {
- { k2SeqplayPakFiles, 0x000211F9, 0x0002121B },
- { k2SeqplayStrings, 0x00022D30, 0x0002371C },
- { k2SeqplaySfxFiles, 0x0002371C, 0x0002388F },
- { k2SeqplayIntroTracks, 0x0002389C, 0x000238AC },
- { k2SeqplayFinaleTracks, 0x000238B9, 0x000238CB },
- { k2SeqplaySeqData, 0x0002231E, 0x00022A12 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1I[] = {
- { k2SeqplayPakFiles, 0x00021189, 0x000211B7 },
- { k2SeqplayStrings, 0x00022C62, 0x0002352A },
- { k2SeqplaySfxFiles, 0x0002352A, 0x0002369D },
- { k2SeqplayIntroTracks, 0x000236AA, 0x000236AA },
- { k2SeqplayFinaleTracks, 0x000236C7, 0x000236D9 },
- { k2SeqplaySeqData, 0x00022250, 0x00022944 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2E[] = {
- { k2IngamePakFiles, 0x0035E4E, 0x00362ED },
- { k2IngameSfxFiles, 0x00034700, 0x00034DF1 },
- { k2IngameSfxIndex, 0x0002A710, 0x0002AA68 },
- { k2IngameTracks, 0x0003B2F2, 0x0003B370 },
- { k2IngameTalkObjIndex, 0x00033EB2, 0x00033F2A },
- { k2IngameItemAnimData, 0x0003B94A, 0x0003BC92 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2F[] = {
- { k2IngamePakFiles, 0x0003AA9C, 0x0003AB1A },
- { k2IngameSfxFiles, 0x00033E24, 0x00034515 },
- { k2IngameSfxIndex, 0x000288B0, 0x00028C08 },
- { k2IngameTracks, 0x0003B2F2, 0x0003B370 },
- { k2IngameTalkObjIndex, 0x0003328E, 0x00033306 },
- { k2IngameItemAnimData, 0x0003AFF6, 0x0003B33E },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2G[] = {
- { k2IngamePakFiles, 0x0035626, 0x0035AC5 },
- { k2IngameSfxFiles, 0x00033ED8, 0x000345C9 },
- { k2IngameSfxIndex, 0x000288E0, 0x00028C38 },
- { k2IngameTracks, 0x0003AA8C, 0x0003AB0A },
- { k2IngameTalkObjIndex, 0x000332BE, 0x00033336 },
- { k2IngameItemAnimData, 0x0003B00A, 0x0003B352 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2I[] = {
- { k2IngamePakFiles, 0x00036816, 0x00036CB5 },
- { k2IngameSfxFiles, 0x000350C6, 0x000357B7 },
- { k2IngameSfxIndex, 0x0002AB80, 0x0002AED8 },
- { k2IngameTracks, 0x0003BE78, 0x0003BEF6 },
- { k2IngameTalkObjIndex, 0x00034872, 0x000348EA },
- { k2IngameItemAnimData, 0x0003C4E2, 0x0003C82A },
- { -1, 0, 0 }
-};
-
-const Game kyra2FloppyGames[] = {
- { kKyra2, EN_ANY, k2FloppyFile1, "9b0f5e57b5a2ed88b5b989cbb402b6c7", kyra2File1E},
- { kKyra2, FR_FRA, k2FloppyFile1, "df31cc9e37e1cf68df2fdc75ddf2d87b", kyra2File1F},
- { kKyra2, DE_DEU, k2FloppyFile1, "0ca4f9a1438264a4c63c3218e064ed3b", kyra2File1G},
- { kKyra2, IT_ITA, k2FloppyFile1, "178d3ab913f61bfba21d2fb196405e8c", kyra2File1I},
- { kKyra2, EN_ANY, k2FloppyFile2, "7c3eadbe5122722cf2e5e1611e19dfb9", kyra2File2E},
- { kKyra2, FR_FRA, k2FloppyFile2, "fc2c6782778e6c6d5a553d1cb73c98ad", kyra2File2F},
- { kKyra2, DE_DEU, k2FloppyFile2, "0d9b0eb7b0ad889ec942d74d80dde1bf", kyra2File2G},
- { kKyra2, IT_ITA, k2FloppyFile2, "3a61ed6b7c00ddae383a0361799e2ba6", kyra2File2I},
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/hof_towns.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/hof_towns.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/hof_towns.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,37 +0,0 @@
-const ExtractEntry kyra2File1FMTownsE[] = {
- { k2SeqplayPakFiles, 0x00000540, 0x00000573 },
- { k2SeqplayStrings, 0x00001614, 0x00001FA4 },
- { k2SeqplaySfxFiles, 0x0000284C, 0x000029EF },
- { k2SeqplaySeqData, 0x000050D8, 0x00005794 },
- { k2SeqplayIntroCDA, 0x00007FF8, 0x00008010 },
- { k2SeqplayFinaleCDA, 0x00008010, 0x00008018 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File1FMTownsJ[] = {
- { k2SeqplayStrings, 0x00001FA4, 0x0000284C },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2FMTownsE[] = {
- { k2IngamePakFiles, 0x00000540, 0x0000065C },
- { k2IngameSfxFilesTns, 0x00003E3C, 0x000047A3 },
- { k2IngameSfxIndex, 0x00013980, 0x00013CD8 },
- { k2IngameCDA, 0x0001808C, 0x000181BC },
- { k2IngameTalkObjIndex, 0x000199B6, 0x00019A30 },
- { k2IngameTimJpStrings, 0x0000677C, 0x000067A9 },
- { k2IngameItemAnimData, 0x00012F28, 0x00013270 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry kyra2File2FMTownsJ[] = {
- { -1, 0, 0 }
-};
-
-const Game kyra2TownsGames[] = {
- { kKyra2, EN_ANY, k2TownsFile1E, "74f50d79c919cc8e7196c24942ce43d7", kyra2File1FMTownsE},
- { kKyra2, JA_JPN, k2TownsFile1J, "74f50d79c919cc8e7196c24942ce43d7", kyra2File1FMTownsJ},
- { kKyra2, EN_ANY, k2TownsFile2E, "a9a7fd4f05d00090e9e8bda073e6d431", kyra2File2FMTownsE},
- { kKyra2, JA_JPN, k2TownsFile2J, "a9a7fd4f05d00090e9e8bda073e6d431", kyra2File2FMTownsJ},
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/ita.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/ita.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/ita.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,39 +0,0 @@
-const ExtractEntry kyra1ItaFloppy[] = {
- { kKallakWritingSeq, 0x000304fa, 0x00030cef },
- { kMalcolmTreeSeq, 0x00030cef, 0x00030F05 },
- { kWestwoodLogoSeq, 0x00030F05, 0x00030F50 },
- { kKyrandiaLogoSeq, 0x00030F50, 0x00030FAC },
- { kKallakMalcolmSeq, 0x00030FAC, 0x00031217 },
- { kForestSeq, 0x00031217, 0x000313ac },
- { kIntroCPSStrings, 0x000313AC, 0x000313C0 },
- { kIntroWSAStrings, 0x000313C0, 0x00031440 },
- { kIntroCOLStrings, 0x00031440, 0x0003146B },
- { kIntroStrings, 0x0003146B, 0x000319E7 },
- { kItemNames, 0x000346DC, 0x00034C6D },
- { kTakenStrings, 0x00033F60, 0x00033F74 },
- { kPlacedStrings, 0x00033F74, 0x00033F81 },
- { kDroppedStrings, 0x00033FAA, 0x00033FB5 },
- { kNoDropStrings, 0x00033F1A, 0x00033F5F },
- { kPutDownString, 0x0002f120, 0x0002f154 },
- { kWaitAmuletString, 0x0002f154, 0x0002f19e },
- { kBlackJewelString, 0x0002f19e, 0x0002f1c0 },
- { kHealingTipString, 0x0002f1c0, 0x0002f1ff },
- { kPoisonGoneString, 0x0002f290, 0x0002f2c4 },
- { kThePoisonStrings, 0x0002ff20, 0x0002ff83 },
- { kFluteStrings, 0x000323ab, 0x000323f7 },
- { kWispJewelStrings, 0x0002f1ff, 0x0002f273 },
- { kMagicJewelStrings, 0x0002f273, 0x0002f290 },
- { kFlaskFullString, 0x00030059, 0x0003007a },
- { kFullFlaskString, 0x0002ffa4, 0x00030059 },
- { kOutroHomeString, 0x000320f2, 0x000320f7 },
- { kVeryCleverString, 0x0003204c, 0x00032084 },
- { kGUIStrings, 0x0002f434, 0x0002f659 },
- { kNewGameString, 0x00032ba6, 0x00032bc2 },
- { kConfigStrings, 0x0002fe9f, 0x0002fef3 },
- { -1, 0, 0 }
-};
-
-const Game kyra1ItaGames[] = {
- { kKyra1, IT_ITA, -1, "5d7550306b369a3492f9f3402702477c", kyra1ItaFloppy },
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/lol_cd.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/lol_cd.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/lol_cd.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,95 +0,0 @@
-const ExtractEntry lolCDFile1E[] = {
- { kLolHistory, 0x1FAA0, 0x1FC71 },
- { -1, 0, 0 }
-};
-
-const ExtractEntry lolCDFile2[] = {
- { kLolCharacterDefs, 0x00029D60, 0x0002A1F2 },
- { kLolIngameSfxFiles, 0x0002A330, 0x0002AC22 },
- { kLolIngameSfxIndex, 0x0002AC22, 0x0002B00A },
- { kLolMusicTrackMap, 0x0002A240, 0x0002A330 },
- { kLolGMSfxIndex, 0x0002B010, 0x0002B10A },
- { kLolMT32SfxIndex, 0x0002B110, 0x0002B20A },
- //{ kLolADLSfxIndex, 0x0002B210, 0x0002B30A },
- { kLolSpellProperties, 0x0002B5E0, 0x0002B6F8 },
- { kLolGameShapeMap, 0x0002B35C, 0x0002B470 },
- { kLolSceneItemOffs, 0x0003200F, 0x00032017 },
- { kLolCharInvIndex, 0x0002B470, 0x0002B47A },
- { kLolCharInvDefs, 0x0002B47A, 0x0002B4D2 },
- { kLolCharDefsMan, 0x0002B4D2, 0x0002B4E4 },
- { kLolCharDefsWoman, 0x0002B4E4, 0x0002B4F6 },
- { kLolCharDefsKieran, 0x0002B4F6, 0x0002B508 },
- //{ kLolCharDefsUnk, 0x0002B508, 0x0002B51A },
- { kLolCharDefsAkshel, 0x0002B51A, 0x0002B52C },
- { kLolExpRequirements, 0x0002B830, 0x0002B85C },
- { kLolMonsterModifiers, 0x0002B85C, 0x0002B874 },
- { kLolMonsterLevelOffsets, 0x00031FDF, 0x00031FFF },
- { kLolMonsterDirFlags, 0x00031FFF, 0x0003200F },
- { kLolMonsterScaleY, 0x00031BC0, 0x00031BDE },
- { kLolMonsterScaleX, 0x00031BDE, 0x00031BFE },
- { kLolMonsterScaleWH, 0x000285C0, 0x00028642 },
- { kLolFlyingItemShp, 0x00028642, 0x000286C4 },
- { kLolInventoryDesc, 0x00032706, 0x0003271C },
-
- { kLolLevelShpList, 0x00032826, 0x000328A5 },
- { kLolLevelDatList, 0x000328A5, 0x000329A4 },
- { kLolCompassDefs, 0x000286C4, 0x000287C4 },
- { kLolItemPrices, 0x0002F8C0, 0x0002F91C },
- { kLolStashSetup, 0x000324A5, 0x000324B1 },
-
- { kLolDscUnk1, 0x00032017, 0x0003203B },
- { kLolDscShapeIndex1, 0x0003203B, 0x0003205F },
- { kLolDscShapeIndex2, 0x0003205F, 0x00032069 },
- { kLolDscScaleWidthData, 0x00032069, 0x000320B1 },
- { kLolDscScaleHeightData, 0x000320B1, 0x000320F9 },
- { kLolDscX, 0x000320F9, 0x00032141 },
- { kLolDscY, 0x00032141, 0x00032165 },
- { kLolDscTileIndex, 0x00032165, 0x00032177 },
- { kLolDscUnk2, 0x00032177, 0x0003218E },
- { kLolDscDoorShapeIndex, 0x0003218E, 0x000321A5 },
- { kLolDscDimData1, 0x00031C03, 0x00031D47 },
- { kLolDscDimData2, 0x00031D47, 0x00031FD0 },
- { kLolDscBlockMap, 0x00031B64, 0x00031B70 },
- { kLolDscDimMap, 0x00031B70, 0x00031B82 },
- { kLolDscDoorScale, 0x00031B82, 0x00031B92 },
- { kLolDscShapeOvlIndex, 0x00031B92, 0x00031BBA },
- { kLolDscDoor4, 0x00031BBA, 0x00031BC2 },
- { kLolDscBlockIndex, 0x00033B53, 0x00033B9B },
- { kLolDscDoor1, 0x0002B550, 0x0002B5D0 },
- { kLolDscDoorX, 0x00027CC0, 0x00028140 },
- { kLolDscDoorY, 0x00028140, 0x000285C0 },
-
- { kLolScrollXTop, 0x00033D40, 0x00033D4A },
- { kLolScrollYTop, 0x00033D4A, 0x00033D54 },
- { kLolScrollXBottom, 0x00033D54, 0x00033D5E },
- { kLolScrollYBottom, 0x00033D5E, 0x00033D68 },
-
- { kLolButtonDefs, 0x00028E80, 0x000296AA },
- { kLolButtonList1, 0x000296B0, 0x00029700 },
- { kLolButtonList2, 0x00029700, 0x0002971E },
- { kLolButtonList3, 0x00029720, 0x00029724 },
- { kLolButtonList4, 0x00029730, 0x0002974E },
- { kLolButtonList5, 0x00029750, 0x00029770 },
- { kLolButtonList6, 0x00029770, 0x0002978C },
- { kLolButtonList7, 0x00029790, 0x00029796 },
- { kLolButtonList8, 0x000297A0, 0x000297A4 },
-
- { kLolLegendData, 0x000321F0, 0x0003222C },
- { kLolMapCursorOvl, 0x0003222C, 0x00032245 },
- { kLolMapStringId, 0x000287D0, 0x0002880C },
- //{ kLolMapPal, 0x0001D9C0, 0x0001DBC0 },
-
- { kLolSpellbookAnim, 0x00032D94, 0x00032DCC },
- { kLolSpellbookCoords, 0x00032DCC, 0x00032DE4 },
- { kLolHealShapeFrames, 0x000297D0, 0x00029820 },
- { kLolLightningDefs, 0x00032740, 0x00032754 },
- { kLolFireballCoords, 0x0001D9C0, 0x0001DBC0 },
-
- { -1, 0, 0 }
-};
-
-const Game lolDosTalkieGames[] = {
- { kLol, EN_ANY, kLolCD, "9d1778314de80598c0b0d032e2a1a1cf", lolCDFile1E },
- { kLol, EN_ANY, kLolCD, "263998ec600afca1cc7b935c473df670", lolCDFile2 },
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/lol_demo.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/lol_demo.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/lol_demo.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,15 +0,0 @@
-const ExtractEntry lolDemo[] = {
- { k2SeqplayPakFiles, 0x0001AC10, 0x0001AC1C },
- { k2SeqplayStrings, 0x0001B5EE, 0x0001B6F0 },
- { k2SeqplaySfxFiles, 0x0001B6F0, 0x0001B7B5 },
- { k2SeqplaySeqData, 0x0001B320, 0x0001B56C },
- { kLolSeqplayIntroTracks, 0x0001B7B5, 0x0001B7CF },
- { -1, 0, 0 }
-};
-
-const Game lolDemos[] = {
- { kLol, EN_ANY, k2DemoLol, "30bb5af87d38adb47d3e6ce06b1cb042", lolDemo},
- GAME_DUMMY_ENTRY
-};
-
-
Deleted: scummvm/trunk/tools/create_kyradat/lol_floppy.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/lol_floppy.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/lol_floppy.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,87 +0,0 @@
-const ExtractEntry lolFloppyFile2G[] = {
- { kLolIngamePakFiles, 0x0038C38, 0x0038CC0 },
-
- { kLolCharacterDefs, 0x0002A6D0, 0x0002AB62 },
- { kLolIngameSfxFiles, 0x0002ACA0, 0x0002B592 },
- { kLolIngameSfxIndex, 0x0002B592, 0x0002B97A },
- { kLolMusicTrackMap, 0x0002ABB0, 0x0002ACA0 },
- { kLolGMSfxIndex, 0x0002B980, 0x0002BA7A },
- { kLolMT32SfxIndex, 0x0002BA80, 0x0002BB7A },
- { kLolSpellProperties, 0x0002C0E0, 0x0002C1F8 },
- { kLolGameShapeMap, 0x0002BE5C, 0x0002BF70 },
- { kLolSceneItemOffs, 0x0003730F, 0x00037317 },
- { kLolCharInvIndex, 0x0002BF70, 0x0002BF7A },
- { kLolCharInvDefs, 0x0002BF7A, 0x0002BFD2 },
- { kLolCharDefsMan, 0x0002BFD2, 0x0002BFE4 },
- { kLolCharDefsWoman, 0x0002BFE4, 0x0002BFF6 },
- { kLolCharDefsKieran, 0x0002BFF6, 0x0002C008 },
- { kLolCharDefsAkshel, 0x0002C01A, 0x0002C02C },
- { kLolExpRequirements, 0x00031750, 0x0003177C },
- { kLolMonsterModifiers, 0x0003177C, 0x00031794 },
- { kLolMonsterLevelOffsets, 0x000372DF, 0x000372FF },
- { kLolMonsterDirFlags, 0x000372FF, 0x0003730F },
- { kLolMonsterScaleY, 0x00036EC0, 0x00036EDE },
- { kLolMonsterScaleX, 0x00036EDE, 0x00036EFE },
- { kLolMonsterScaleWH, 0x00028F30, 0x00028FB2 },
- { kLolFlyingItemShp, 0x00028FB2, 0x00029034 },
- { kLolInventoryDesc, 0x00037ACE, 0x00037AE4 },
-
- { kLolLevelShpList, 0x00037C02, 0x00037C81 },
- { kLolLevelDatList, 0x00037C81, 0x00037D00 },
- { kLolCompassDefs, 0x00029034, 0x00029134 },
- { kLolStashSetup, 0x0003781D, 0x00037829 },
-
- { kLolDscUnk1, 0x00037317, 0x0003733B },
- { kLolDscShapeIndex1, 0x0003733B, 0x0003735F },
- { kLolDscShapeIndex2, 0x0003735F, 0x00037369 },
- { kLolDscScaleWidthData, 0x00037369, 0x000373B1 },
- { kLolDscScaleHeightData, 0x000373B1, 0x000373F9 },
- { kLolDscX, 0x000373F9, 0x00037441 },
- { kLolDscY, 0x00037441, 0x00037465 },
- { kLolDscTileIndex, 0x00037465, 0x00037477 },
- { kLolDscUnk2, 0x00037477, 0x0003748E },
- { kLolDscDoorShapeIndex, 0x0003748E, 0x000374A5 },
- { kLolDscDimData1, 0x00036F03, 0x00037047 },
- { kLolDscDimData2, 0x00037047, 0x000372D0 },
- { kLolDscBlockMap, 0x00036E64, 0x00036E70 },
- { kLolDscDimMap, 0x00036E70, 0x00036E82 },
- { kLolDscDoorScale, 0x00036E82, 0x00036E92 },
- { kLolDscShapeOvlIndex, 0x00036E92, 0x00036EBA },
- { kLolDscDoor4, 0x00036EBA, 0x00036EC2 },
- { kLolDscBlockIndex, 0x00038B87, 0x00038BCF },
- { kLolDscDoor1, 0x0002C050, 0x0002C0D0 },
- { kLolDscDoorX, 0x00028630, 0x00028AB0 },
- { kLolDscDoorY, 0x00028AB0, 0x00028F30 },
-
- { kLolScrollXTop, 0x0003C216, 0x0003C220 },
- { kLolScrollYTop, 0x0003C220, 0x0003C22A },
- { kLolScrollXBottom, 0x0003C22A, 0x0003C234 },
- { kLolScrollYBottom, 0x0003C234, 0x0003C23E },
-
- { kLolButtonDefs, 0x000297F0, 0x0002A01A },
- { kLolButtonList1, 0x0002A020, 0x0002A070 },
- { kLolButtonList2, 0x0002A070, 0x0002A08E },
- { kLolButtonList3, 0x0002A090, 0x0002A094 },
- { kLolButtonList4, 0x0002A0A0, 0x0002A0BE },
- { kLolButtonList5, 0x0002A0C0, 0x0002A0E0 },
- { kLolButtonList6, 0x0002A0E0, 0x0002A0FC },
- { kLolButtonList7, 0x0002A100, 0x0002A106 },
- { kLolButtonList8, 0x0002A110, 0x0002A114 },
-
- { kLolLegendData, 0x000374F0, 0x0003752C },
- { kLolMapCursorOvl, 0x0003752C, 0x00037545 },
- { kLolMapStringId, 0x00029140, 0x0002917C },
-
- { kLolSpellbookAnim, 0x00038668, 0x000386A0 },
- { kLolSpellbookCoords, 0x000386A0, 0x000386B8 },
- { kLolHealShapeFrames, 0x0002A140, 0x0002A190 },
- { kLolLightningDefs, 0x00037B08, 0x00037B1C },
- { kLolFireballCoords, 0x0001E6E2, 0x0001E8E2 },
-
- { -1, 0, 0 }
-};
-
-const Game lolDosFloppyGames[] = {
- { kLol, EN_ANY, -1, "6b843869772c1b779e1386be868c15dd", lolFloppyFile2G },
- GAME_DUMMY_ENTRY
-};
Deleted: scummvm/trunk/tools/create_kyradat/malcolm.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/malcolm.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/malcolm.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -1,17 +0,0 @@
-const ExtractEntry kyra3cd[] = {
- { k3MainMenuStrings, 0x0002D932, 0x0002D9E2 },
- { k3MusicFiles, 0x0003062C, 0x00030801 },
- { k3ScoreTable, 0x0002E4D0, 0x0002E598 },
- { k3SfxFiles, 0x0002E84E, 0x0002F10D },
- { k3SfxMap, 0x0002A590, 0x0002AA50 },
- { k3ItemAnimData, 0x00031614, 0x000317DC },
- { k3ItemMagicTable, 0x0002FB2A, 0x0002FB72 },
- { k3ItemStringMap, 0x0002D07A, 0x0002D0C2 },
- { -1, 0, 0 }
-};
-
-const Game kyra3Games[] = {
- { kKyra3, EN_ANY, -1, "bf68701eb591d0b72219f314c0d32688", kyra3cd },
- GAME_DUMMY_ENTRY
-};
-
Modified: scummvm/trunk/tools/create_kyradat/misc.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/misc.h 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/misc.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -202,7 +202,7 @@
-1
};
-const int kyra1TownsEngNeed[] = {
+const int kyra1TownsNeed[] = {
kKallakWritingSeq,
kMalcolmTreeSeq,
kWestwoodLogoSeq,
@@ -293,32 +293,6 @@
-1
};
-const int kyra1TownsJapNeed[] = {
- kIntroStrings,
- kItemNames,
- kTakenStrings,
- kPlacedStrings,
- kDroppedStrings,
- kNoDropStrings,
- kPutDownString,
- kWaitAmuletString,
- kBlackJewelString,
- kHealingTipString,
- kPoisonGoneString,
- kThePoisonStrings,
- kFluteStrings,
- kWispJewelStrings,
- kMagicJewelStrings,
- kFlaskFullString,
- kFullFlaskString,
- kOutroHomeString,
- kVeryCleverString,
- kGUIStrings,
- kNewGameString,
- kConfigStrings,
- -1
-};
-
const int kyra1AmigaNeed[] = {
kKallakWritingSeq,
kMalcolmTreeSeq,
@@ -374,7 +348,7 @@
-1
};
-const int kyra2CDFile1EngNeed[] = {
+const int kyra2CDFile1Need[] = {
k2SeqplayPakFiles,
k2SeqplayCredits,
k2SeqplayCreditsSpecial,
@@ -387,41 +361,25 @@
-1
};
-const int kyra2CDFile1FreNeed[] = {
- k2SeqplayStrings,
- k2SeqplayTlkFiles,
+const int kyra2CDFile2Need[] = {
+ k2IngameSfxFiles,
+ k2IngameSfxIndex,
+ k2IngameTracks,
+ k2IngameTalkObjIndex,
+ k2IngameItemAnimData,
-1
};
-const int kyra2CDFile1GerNeed[] = {
- k2SeqplayStrings,
- k2SeqplayTlkFiles,
- -1
-};
-
-const int kyra2CDFile1ItaNeed[] = {
- k2SeqplayStrings,
- k2SeqplayTlkFiles,
- -1
-};
-
-const int kyra2CDFile2EngNeed[] = {
+const int kyra2CDDemoNeed[] = {
k2IngameSfxFiles,
k2IngameSfxIndex,
k2IngameTracks,
k2IngameTalkObjIndex,
k2IngameItemAnimData,
+ k2IngameTlkDemoStrings,
-1
};
-const int kyra2CDFile2FreNeed[] = {
- -1
-};
-
-const int kyra2CDFile2GerNeed[] = {
- -1
-};
-
const int kyra2FloppyFile1Need[] = {
k2SeqplayPakFiles,
k2SeqplayStrings,
@@ -442,7 +400,7 @@
-1
};
-const int kyra2TownsFile1EngNeed[] = {
+const int kyra2TownsFile1Need[] = {
k2SeqplayPakFiles,
k2SeqplayStrings,
k2SeqplaySfxFiles,
@@ -452,12 +410,7 @@
-1
};
-const int kyra2TownsFile1JapNeed[] = {
- k2SeqplayStrings,
- -1
-};
-
-const int kyra2TownsFile2EngNeed[] = {
+const int kyra2TownsFile2Need[] = {
k2IngamePakFiles,
k2IngameSfxFilesTns,
k2IngameSfxIndex,
@@ -468,10 +421,6 @@
-1
};
-const int kyra2TownsFile2JapNeed[] = {
- -1
-};
-
const int kyra2DemoNeed[] = {
k2SeqplayPakFiles,
k2SeqplaySeqData,
@@ -581,7 +530,7 @@
-1
};
-const int lolCDFile1ENeed[] = {
+const int lolCDFile1Need[] = {
kLolHistory,
-1
};
@@ -680,36 +629,39 @@
const GameNeed gameNeedTable[] = {
{ kKyra1, -1, kyra1FloppyNeed },
{ kKyra1, kTalkieVersion, kyra1CDNeed },
- { kKyra1, kFMTownsVersionE , kyra1TownsEngNeed },
- { kKyra1, kFMTownsVersionJ, kyra1TownsJapNeed },
+ { kKyra1, kFMTownsVersionE , kyra1TownsNeed },
+ { kKyra1, kFMTownsVersionJ, kyra1TownsNeed },
{ kKyra1, kAmigaVersion, kyra1AmigaNeed },
{ kKyra1, kDemoVersion, kyra1DemoNeed },
{ kKyra1, kDemoCDVersion, kyra1DemoCDNeed },
{ kKyra2, k2FloppyFile1, kyra2FloppyFile1Need },
{ kKyra2, k2FloppyFile2, kyra2FloppyFile2Need },
- { kKyra2, k2CDFile1E, kyra2CDFile1EngNeed },
- { kKyra2, k2CDFile1F, kyra2CDFile1FreNeed },
- { kKyra2, k2CDFile1G, kyra2CDFile1GerNeed },
- { kKyra2, k2CDFile1I, kyra2CDFile1ItaNeed }, // Italian fan translation
- { kKyra2, k2CDFile2E, kyra2CDFile2EngNeed },
- { kKyra2, k2CDFile2F, kyra2CDFile2FreNeed },
- { kKyra2, k2CDFile2G, kyra2CDFile2GerNeed },
- { kKyra2, k2TownsFile1E , kyra2TownsFile1EngNeed },
- { kKyra2, k2TownsFile1J, kyra2TownsFile1JapNeed },
- { kKyra2, k2TownsFile2E , kyra2TownsFile2EngNeed },
- { kKyra2, k2TownsFile2J, kyra2TownsFile2JapNeed },
- { kKyra2, k2DemoVersion, kyra2DemoNeed},
- { kKyra2, k2DemoVersionTlkE, kyra2TlkDemoNeed},
- { kKyra2, k2DemoVersionTlkF, kyra2TlkDemoNeed},
- { kKyra2, k2DemoVersionTlkG, kyra2TlkDemoNeed},
- { kLol, k2DemoLol, lolDemoNeed},
+ { kKyra2, k2CDFile1E, kyra2CDFile1Need },
+ { kKyra2, k2CDFile1F, kyra2CDFile1Need },
+ { kKyra2, k2CDFile1G, kyra2CDFile1Need },
+ { kKyra2, k2CDFile1I, kyra2CDFile1Need }, // Italian fan translation
+ { kKyra2, k2CDFile2E, kyra2CDFile2Need },
+ { kKyra2, k2CDFile2F, kyra2CDFile2Need },
+ { kKyra2, k2CDFile2G, kyra2CDFile2Need },
+ { kKyra2, k2CDDemoE, kyra2CDDemoNeed },
+ { kKyra2, k2CDDemoF, kyra2CDDemoNeed },
+ { kKyra2, k2CDDemoG, kyra2CDDemoNeed },
+ { kKyra2, k2TownsFile1E , kyra2TownsFile1Need },
+ { kKyra2, k2TownsFile1J, kyra2TownsFile1Need },
+ { kKyra2, k2TownsFile2E , kyra2TownsFile2Need },
+ { kKyra2, k2TownsFile2J, kyra2TownsFile2Need },
+ { kKyra2, k2DemoVersion, kyra2DemoNeed },
+ { kKyra2, k2DemoVersionTlkE, kyra2TlkDemoNeed },
+ { kKyra2, k2DemoVersionTlkF, kyra2TlkDemoNeed },
+ { kKyra2, k2DemoVersionTlkG, kyra2TlkDemoNeed },
+ { kLol, k2DemoLol, lolDemoNeed },
{ kKyra3, -1, kyra3Need },
{ kLol, -1, lolFloppyNeed },
- { kLol, kLolCD, lolCDFile1ENeed },
- { kLol, kLolCD, lolCDFile2Need },
+ { kLol, kLolCD1, lolCDFile1Need },
+ { kLol, kLolCD2, lolCDFile2Need },
{ -1, -1, 0 }
};
@@ -729,6 +681,9 @@
{ k2CDFile2E, "CD" },
{ k2CDFile2F, "CD" },
{ k2CDFile2G, "CD" },
+ { k2CDDemoE, "CD" },
+ { k2CDDemoF, "CD" },
+ { k2CDDemoG, "CD" },
{ k2TownsFile1E, "TNS" },
{ k2TownsFile1J, "TNS" },
@@ -737,7 +692,8 @@
{ k2DemoVersion, "DEM" },
{ k2DemoLol, "DEM" },
- { kLolCD, "CD" },
+ { kLolCD1, "CD" },
+ { kLolCD2, "CD" },
{ -1, 0 }
};
@@ -751,3 +707,85 @@
{ JA_JPN, "JPN" },
{ -1, 0 }
};
+
+const Game kyra1Games[] = {
+ // Demos
+ { kKyra1, EN_ANY, kDemoVersion, "7b7504c8560ffc914d34c44c71b3094c" },
+ { kKyra1, EN_ANY, kDemoCDVersion, "226fdba99cb11ef1047131d9a50e6292" },
+
+ // Amiga
+ { kKyra1, EN_ANY, kAmigaVersion, "b620564b6b7e0787b053ca9e35bd9f52" },
+
+ // Floppy
+ { kKyra1, EN_ANY, -1, "76a4fc84e173cadb6369785787e1546e" },
+ { kKyra1, DE_DEU, -1, "9442d6f7db6a41f3dd4aa4de5d36e107" },
+ { kKyra1, FR_FRA, -1, "aa9d6d78d8b199deaf48efeca6d19af2" },
+ { kKyra1, IT_ITA, -1, "5d7550306b369a3492f9f3402702477c" },
+ { kKyra1, ES_ESP, -1, "9ff130d2558bcd674d4074849d93c362" },
+
+ // Talkie
+ { kKyra1, EN_ANY, kTalkieVersion, "1ebc18f3e7fbb72474a55cb0fa089ed4" },
+ { kKyra1, DE_DEU, kTalkieVersion, "c65d381184f98ac26d9efd2d45baef51" },
+ { kKyra1, FR_FRA, kTalkieVersion, "307c5d4a554d9068ac3d326e350ae4a6" },
+ { kKyra1, IT_ITA, kTalkieVersion, "d0f1752098236083d81b9497bd2b6989" }, // Italian fan translation
+
+ // FM-TOWNS
+ { kKyra1, EN_ANY, kFMTownsVersionE, "5a3ad60ccd0f2e29463e0368cd14a60d" },
+ { kKyra1, JA_JPN, kFMTownsVersionJ, "5a3ad60ccd0f2e29463e0368cd14a60d" },
+
+ GAME_DUMMY_ENTRY
+};
+
+const Game kyra2Games[] = {
+ // demos
+ { kKyra2, EN_ANY, k2DemoVersion, "a620a37579dd44ab0403482285e3897f" },
+ { kKyra2, EN_ANY, k2CDDemoE, "fa54d8abfe05f9186c05f7de7eaf1480" },
+ { kKyra2, FR_FRA, k2CDDemoF, "fa54d8abfe05f9186c05f7de7eaf1480" },
+ { kKyra2, DE_DEU, k2CDDemoG, "fa54d8abfe05f9186c05f7de7eaf1480" },
+
+ // floppy games
+ { kKyra2, EN_ANY, k2FloppyFile1, "9b0f5e57b5a2ed88b5b989cbb402b6c7" },
+ { kKyra2, FR_FRA, k2FloppyFile1, "df31cc9e37e1cf68df2fdc75ddf2d87b" },
+ { kKyra2, DE_DEU, k2FloppyFile1, "0ca4f9a1438264a4c63c3218e064ed3b" },
+ { kKyra2, IT_ITA, k2FloppyFile1, "178d3ab913f61bfba21d2fb196405e8c" },
+ { kKyra2, EN_ANY, k2FloppyFile2, "7c3eadbe5122722cf2e5e1611e19dfb9" },
+ { kKyra2, FR_FRA, k2FloppyFile2, "fc2c6782778e6c6d5a553d1cb73c98ad" },
+ { kKyra2, DE_DEU, k2FloppyFile2, "0d9b0eb7b0ad889ec942d74d80dde1bf" },
+ { kKyra2, IT_ITA, k2FloppyFile2, "3a61ed6b7c00ddae383a0361799e2ba6" },
+
+ // talkie games
+ { kKyra2, EN_ANY, k2CDFile1E, "85bbc1cc6c4cef6ad31fc6ee79518efb" },
+ { kKyra2, FR_FRA, k2CDFile1F, "85bbc1cc6c4cef6ad31fc6ee79518efb" },
+ { kKyra2, DE_DEU, k2CDFile1G, "85bbc1cc6c4cef6ad31fc6ee79518efb" },
+ { kKyra2, EN_ANY, k2CDFile2E, "e20d0d2e500f01e399ec588247a7e213" },
+ { kKyra2, FR_FRA, k2CDFile2F, "e20d0d2e500f01e399ec588247a7e213" },
+ { kKyra2, DE_DEU, k2CDFile2G, "e20d0d2e500f01e399ec588247a7e213" },
+ { kKyra2, IT_ITA, k2CDFile1I, "130795aa8f2333250c895dae9028b9bb" }, // Italian Fan Translation (using same offsets as English)
+
+ // FM-TOWNS games
+ { kKyra2, EN_ANY, k2TownsFile1E, "74f50d79c919cc8e7196c24942ce43d7" },
+ { kKyra2, JA_JPN, k2TownsFile1J, "74f50d79c919cc8e7196c24942ce43d7" },
+ { kKyra2, EN_ANY, k2TownsFile2E, "a9a7fd4f05d00090e9e8bda073e6d431" },
+ { kKyra2, JA_JPN, k2TownsFile2J, "a9a7fd4f05d00090e9e8bda073e6d431" },
+
+ GAME_DUMMY_ENTRY
+};
+
+const Game kyra3Games[] = {
+ { kKyra3, EN_ANY, -1, "bf68701eb591d0b72219f314c0d32688" },
+ GAME_DUMMY_ENTRY
+};
+
+const Game lolGames[] = {
+ // DOS demo
+ { kLol, EN_ANY, k2DemoLol, "30bb5af87d38adb47d3e6ce06b1cb042" },
+
+ // DOS floppy
+ { kLol, EN_ANY, -1, "6b843869772c1b779e1386be868c15dd" },
+
+ // DOS CD
+ { kLol, EN_ANY, kLolCD1, "9d1778314de80598c0b0d032e2a1a1cf" },
+ { kLol, EN_ANY, kLolCD2, "263998ec600afca1cc7b935c473df670" },
+
+ GAME_DUMMY_ENTRY
+};
Modified: scummvm/trunk/tools/create_kyradat/module.mk
===================================================================
--- scummvm/trunk/tools/create_kyradat/module.mk 2009-09-16 20:42:10 UTC (rev 44117)
+++ scummvm/trunk/tools/create_kyradat/module.mk 2009-09-16 20:52:59 UTC (rev 44118)
@@ -7,7 +7,8 @@
create_kyradat.o \
pak.o \
md5.o \
- util.o
+ util.o \
+ search.o
# Set the name of the executable
TOOL_EXECUTABLE := create_kyradat
Added: scummvm/trunk/tools/create_kyradat/providers.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/providers.h (rev 0)
+++ scummvm/trunk/tools/create_kyradat/providers.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -0,0 +1,201 @@
+const ExtractEntry extractProviders[] = {
+ { kForestSeq, kForestSeqProvider },
+ { kKallakWritingSeq, kKallakWritingSeqProvider },
+ { kKyrandiaLogoSeq, kKyrandiaLogoSeqProvider },
+ { kKallakMalcolmSeq, kKallakMalcolmSeqProvider },
+ { kMalcolmTreeSeq, kMalcolmTreeSeqProvider },
+ { kWestwoodLogoSeq, kWestwoodLogoSeqProvider },
+ { kDemo1Seq, kDemo1SeqProvider },
+ { kDemo2Seq, kDemo2SeqProvider },
+ { kDemo3Seq, kDemo3SeqProvider },
+ { kDemo4Seq, kDemo4SeqProvider },
+ { kAmuleteAnimSeq, kAmuleteAnimSeqProvider },
+ { kOutroReunionSeq, kOutroReunionSeqProvider },
+ { kIntroCPSStrings, kIntroCPSStringsProvider },
+ { kIntroCOLStrings, kIntroCOLStringsProvider },
+ { kIntroWSAStrings, kIntroWSAStringsProvider },
+ { kIntroStrings, kIntroStringsProvider },
+ { kOutroHomeString, kOutroHomeStringProvider },
+ { kRoomFilenames, kRoomFilenamesProvider },
+ { kRoomList, kRoomListProvider },
+ { kCharacterImageFilenames, kCharacterImageFilenamesProvider },
+ { kAudioTracks, kAudioTracksProvider },
+ { kAudioTracksIntro, kAudioTracksIntroProvider },
+ { kItemNames, kItemNamesProvider },
+ { kTakenStrings, kTakenStringsProvider },
+ { kPlacedStrings, kPlacedStringsProvider },
+ { kDroppedStrings, kDroppedStringsProvider },
+ { kNoDropStrings, kNoDropStringsProvider },
+ { kPutDownString, kPutDownStringProvider },
+ { kWaitAmuletString, kWaitAmuletStringProvider },
+ { kBlackJewelString, kBlackJewelStringProvider },
+ { kPoisonGoneString, kPoisonGoneStringProvider },
+ { kHealingTipString, kHealingTipStringProvider },
+ { kWispJewelStrings, kWispJewelStringsProvider },
+ { kMagicJewelStrings, kMagicJewelStringsProvider },
+ { kThePoisonStrings, kThePoisonStringsProvider },
+ { kFluteStrings, kFluteStringsProvider },
+ { kFlaskFullString, kFlaskFullStringProvider },
+ { kFullFlaskString, kFullFlaskStringProvider },
+ { kVeryCleverString, kVeryCleverStringProvider },
+ { kNewGameString, kNewGameStringProvider },
+ { kDefaultShapes, kDefaultShapesProvider },
+ { kHealing1Shapes, kHealing1ShapesProvider },
+ { kHealing2Shapes, kHealing2ShapesProvider },
+ { kPoisonDeathShapes, kPoisonDeathShapesProvider },
+ { kFluteShapes, kFluteShapesProvider },
+ { kWinter1Shapes, kWinter1ShapesProvider },
+ { kWinter2Shapes, kWinter2ShapesProvider },
+ { kWinter3Shapes, kWinter3ShapesProvider },
+ { kDrinkShapes, kDrinkShapesProvider },
+ { kWispShapes, kWispShapesProvider },
+ { kMagicAnimShapes, kMagicAnimShapesProvider },
+ { kBranStoneShapes, kBranStoneShapesProvider },
+ { kPaletteList1, kPaletteList1Provider },
+ { kPaletteList2, kPaletteList2Provider },
+ { kPaletteList3, kPaletteList3Provider },
+ { kPaletteList4, kPaletteList4Provider },
+ { kPaletteList5, kPaletteList5Provider },
+ { kPaletteList6, kPaletteList6Provider },
+ { kPaletteList7, kPaletteList7Provider },
+ { kPaletteList8, kPaletteList8Provider },
+ { kPaletteList9, kPaletteList9Provider },
+ { kPaletteList10, kPaletteList10Provider },
+ { kPaletteList11, kPaletteList11Provider },
+ { kPaletteList12, kPaletteList12Provider },
+ { kPaletteList13, kPaletteList13Provider },
+ { kPaletteList14, kPaletteList14Provider },
+ { kPaletteList15, kPaletteList15Provider },
+ { kPaletteList16, kPaletteList16Provider },
+ { kPaletteList17, kPaletteList17Provider },
+ { kPaletteList18, kPaletteList18Provider },
+ { kPaletteList19, kPaletteList19Provider },
+ { kPaletteList20, kPaletteList20Provider },
+ { kPaletteList21, kPaletteList21Provider },
+ { kPaletteList22, kPaletteList22Provider },
+ { kPaletteList23, kPaletteList23Provider },
+ { kPaletteList24, kPaletteList24Provider },
+ { kPaletteList25, kPaletteList25Provider },
+ { kPaletteList26, kPaletteList26Provider },
+ { kPaletteList27, kPaletteList27Provider },
+ { kPaletteList28, kPaletteList28Provider },
+ { kPaletteList29, kPaletteList29Provider },
+ { kPaletteList30, kPaletteList30Provider },
+ { kPaletteList31, kPaletteList31Provider },
+ { kPaletteList32, kPaletteList32Provider },
+ { kPaletteList33, kPaletteList33Provider },
+ { kGUIStrings, kGUIStringsProvider },
+ { kConfigStrings, kConfigStringsProvider },
+ { kKyra1TownsSFXwdTable, kKyra1TownsSFXwdTableProvider },
+ { kKyra1TownsSFXbtTable, kKyra1TownsSFXbtTableProvider },
+ { kKyra1TownsCDATable, kKyra1TownsCDATableProvider },
+ { kCreditsStrings, kCreditsStringsProvider },
+ { kAmigaIntroSFXTable, kAmigaIntroSFXTableProvider },
+ { kAmigaGameSFXTable, kAmigaGameSFXTableProvider },
+ { k2SeqplayPakFiles, k2SeqplayPakFilesProvider },
+ { k2SeqplayStrings, k2SeqplayStringsProvider },
+ { k2SeqplaySfxFiles, k2SeqplaySfxFilesProvider },
+ { k2SeqplayTlkFiles, k2SeqplayTlkFilesProvider },
+ { k2SeqplaySeqData, k2SeqplaySeqDataProvider },
+ { k2SeqplayCredits, k2SeqplayCreditsProvider },
+ { k2SeqplayCreditsSpecial, k2SeqplayCreditsSpecialProvider },
+ { k2SeqplayIntroTracks, k2SeqplayIntroTracksProvider },
+ { k2SeqplayFinaleTracks, k2SeqplayFinaleTracksProvider },
+ { k2SeqplayIntroCDA, k2SeqplayIntroCDAProvider },
+ { k2SeqplayFinaleCDA, k2SeqplayFinaleCDAProvider },
+ { k2SeqplayShapeAnimData, k2SeqplayShapeAnimDataProvider },
+ { k2IngamePakFiles, k2IngamePakFilesProvider },
+ { k2IngameSfxFiles, k2IngameSfxFilesProvider },
+ { k2IngameSfxFilesTns, k2IngameSfxFilesTnsProvider },
+ { k2IngameSfxIndex, k2IngameSfxIndexProvider },
+ { k2IngameTracks, k2IngameTracksProvider },
+ { k2IngameCDA, k2IngameCDAProvider },
+ { k2IngameTalkObjIndex, k2IngameTalkObjIndexProvider },
+ { k2IngameTimJpStrings, k2IngameTimJpStringsProvider },
+ { k2IngameItemAnimData, k2IngameItemAnimDataProvider },
+ { k2IngameTlkDemoStrings, k2IngameTlkDemoStringsProvider },
+ { k3MainMenuStrings, k3MainMenuStringsProvider },
+ { k3MusicFiles, k3MusicFilesProvider },
+ { k3ScoreTable, k3ScoreTableProvider },
+ { k3SfxFiles, k3SfxFilesProvider },
+ { k3SfxMap, k3SfxMapProvider },
+ { k3ItemAnimData, k3ItemAnimDataProvider },
+ { k3ItemMagicTable, k3ItemMagicTableProvider },
+ { k3ItemStringMap, k3ItemStringMapProvider },
+ { kLolSeqplayIntroTracks, kLolSeqplayIntroTracksProvider },
+ { kLolIngamePakFiles, kLolIngamePakFilesProvider },
+ { kLolCharacterDefs, kLolCharacterDefsProvider },
+ { kLolIngameSfxFiles, kLolIngameSfxFilesProvider },
+ { kLolIngameSfxIndex, kLolIngameSfxIndexProvider },
+ { kLolMusicTrackMap, kLolMusicTrackMapProvider },
+ { kLolGMSfxIndex, kLolGMSfxIndexProvider },
+ { kLolMT32SfxIndex, kLolMT32SfxIndexProvider },
+ { kLolSpellProperties, kLolSpellPropertiesProvider },
+ { kLolGameShapeMap, kLolGameShapeMapProvider },
+ { kLolSceneItemOffs, kLolSceneItemOffsProvider },
+ { kLolCharInvIndex, kLolCharInvIndexProvider },
+ { kLolCharInvDefs, kLolCharInvDefsProvider },
+ { kLolCharDefsMan, kLolCharDefsManProvider },
+ { kLolCharDefsWoman, kLolCharDefsWomanProvider },
+ { kLolCharDefsKieran, kLolCharDefsKieranProvider },
+ { kLolCharDefsAkshel, kLolCharDefsAkshelProvider },
+ { kLolExpRequirements, kLolExpRequirementsProvider },
+ { kLolMonsterModifiers, kLolMonsterModifiersProvider },
+ { kLolMonsterLevelOffsets, kLolMonsterLevelOffsetsProvider },
+ { kLolMonsterDirFlags, kLolMonsterDirFlagsProvider },
+ { kLolMonsterScaleY, kLolMonsterScaleYProvider },
+ { kLolMonsterScaleX, kLolMonsterScaleXProvider },
+ { kLolMonsterScaleWH, kLolMonsterScaleWHProvider },
+ { kLolFlyingItemShp, kLolFlyingItemShpProvider },
+ { kLolInventoryDesc, kLolInventoryDescProvider },
+ { kLolLevelShpList, kLolLevelShpListProvider },
+ { kLolLevelDatList, kLolLevelDatListProvider },
+ { kLolCompassDefs, kLolCompassDefsProvider },
+ { kLolItemPrices, kLolItemPricesProvider },
+ { kLolStashSetup, kLolStashSetupProvider },
+ { kLolDscUnk1, kLolDscUnk1Provider },
+ { kLolDscShapeIndex1, kLolDscShapeIndex1Provider },
+ { kLolDscShapeIndex2, kLolDscShapeIndex2Provider },
+ { kLolDscScaleWidthData, kLolDscScaleWidthDataProvider },
+ { kLolDscScaleHeightData, kLolDscScaleHeightDataProvider },
+ { kLolDscX, kLolDscXProvider },
+ { kLolDscY, kLolDscYProvider },
+ { kLolDscTileIndex, kLolDscTileIndexProvider },
+ { kLolDscUnk2, kLolDscUnk2Provider },
+ { kLolDscDoorShapeIndex, kLolDscDoorShapeIndexProvider },
+ { kLolDscDimData1, kLolDscDimData1Provider },
+ { kLolDscDimData2, kLolDscDimData2Provider },
+ { kLolDscBlockMap, kLolDscBlockMapProvider },
+ { kLolDscDimMap, kLolDscDimMapProvider },
+ { kLolDscShapeOvlIndex, kLolDscShapeOvlIndexProvider },
+ { kLolDscBlockIndex, kLolDscBlockIndexProvider },
+ { kLolDscDoor1, kLolDscDoor1Provider },
+ { kLolDscDoorScale, kLolDscDoorScaleProvider },
+ { kLolDscDoor4, kLolDscDoor4Provider },
+ { kLolDscDoorX, kLolDscDoorXProvider },
+ { kLolDscDoorY, kLolDscDoorYProvider },
+ { kLolScrollXTop, kLolScrollXTopProvider },
+ { kLolScrollYTop, kLolScrollYTopProvider },
+ { kLolScrollXBottom, kLolScrollXBottomProvider },
+ { kLolScrollYBottom, kLolScrollYBottomProvider },
+ { kLolButtonDefs, kLolButtonDefsProvider },
+ { kLolButtonList1, kLolButtonList1Provider },
+ { kLolButtonList2, kLolButtonList2Provider },
+ { kLolButtonList3, kLolButtonList3Provider },
+ { kLolButtonList4, kLolButtonList4Provider },
+ { kLolButtonList5, kLolButtonList5Provider },
+ { kLolButtonList6, kLolButtonList6Provider },
+ { kLolButtonList7, kLolButtonList7Provider },
+ { kLolButtonList8, kLolButtonList8Provider },
+ { kLolLegendData, kLolLegendDataProvider },
+ { kLolMapCursorOvl, kLolMapCursorOvlProvider },
+ { kLolMapStringId, kLolMapStringIdProvider },
+ { kLolSpellbookAnim, kLolSpellbookAnimProvider },
+ { kLolSpellbookCoords, kLolSpellbookCoordsProvider },
+ { kLolHealShapeFrames, kLolHealShapeFramesProvider },
+ { kLolLightningDefs, kLolLightningDefsProvider },
+ { kLolFireballCoords, kLolFireballCoordsProvider },
+ { kLolHistory, kLolHistoryProvider },
+ { -1, NULL }
+};
+
Property changes on: scummvm/trunk/tools/create_kyradat/providers.h
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Date Rev Author URL Id
Added: svn:eol-style
+ native
Added: scummvm/trunk/tools/create_kyradat/search.cpp
===================================================================
--- scummvm/trunk/tools/create_kyradat/search.cpp (rev 0)
+++ scummvm/trunk/tools/create_kyradat/search.cpp 2009-09-16 20:52:59 UTC (rev 44118)
@@ -0,0 +1,195 @@
+#include "search.h"
+#include "md5.h"
+
+#include <algorithm>
+#include <cassert>
+
+Hasher::Hash Hasher::createHash(const byte *data, uint32 size) {
+ md5_context ctx;
+ md5_starts(&ctx);
+ md5_update(&ctx, data, size);
+
+ Hash hash;
+ md5_finish(&ctx, hash.digest);
+ return hash;
+}
+
+SearchData SearchCreator::create(const char *filename) {
+ FILE *f = fopen(filename, "rb");
+ assert(f);
+
+ SearchData data;
+ data.size = fileSize(f);
+
+ byte *buffer = new byte[data.size];
+ fread(buffer, 1, data.size, f);
+ fclose(f);
+
+ data = create(buffer, data.size);
+ delete[] buffer;
+
+ return data;
+}
+
+SearchData SearchCreator::create(const byte *buffer, uint32 size) {
+ SearchData data;
+
+ data.size = size;
+ data.hash = Hasher::createHash(buffer, data.size);
+ data.byteSum = 0;
+
+ for (uint32 i = 0; i < data.size; ++i)
+ data.byteSum += buffer[i];
+
+ return data;
+}
+
+SumCreator::SumCreator(InputList list, const DataInput &input) : _curOffset(0), _input(input), _sums() {
+ // Sort in ascending order
+ list.sort(std::less<uint32>());
+
+ uint32 byteSum = 0;
+ uint32 oldSize = 0;
+
+ for (InputList::const_iterator i = list.begin(); i != list.end(); ++i) {
+ // Strip out entries, which exceed the buffer size
+ if (*i > _input.size())
+ continue;
+
+ // Strip out duplicates
+ if (_sums.find(*i) != _sums.end())
+ continue;
+
+ // Only add the bytes exceeding the old sum's size
+ // to the sum. This saves a few accesses.
+ for (uint32 j = oldSize; j < *i; ++j)
+ byteSum += _input[j];
+
+ _sums[*i] = byteSum;
+
+ // Save this sum's size
+ oldSize = *i;
+ }
+}
+
+bool SumCreator::nextByte() {
+ // Calculate the bytes available for summing. We need to add
+ // 1 here, since we will only update the offset AFTER everything
+ // is done.
+ const uint32 sizeLeft = _input.size() - (_curOffset + 1);
+
+ if (!sizeLeft) {
+ _sums.clear();
+ return false;
+ }
+
+ // Grab the old first byte.
+ const byte firstByte = _input[_curOffset];
+
+ typedef std::list<uint32> DeletionList;
+ DeletionList toRemove;
+
+ for (SumMap::iterator i = _sums.begin(); i != _sums.end(); ++i) {
+ // If this entry needs to sum up a larger buffer than the buffer
+ // size left, we will remove the entry and continue to the next
+ // one.
+ if (i->first > sizeLeft) {
+ // Add the current entry to the removal list.
+ toRemove.push_back(i->first);
+ continue;
+ }
+
+ // Update the byte sum. First we remove the old first byte
+ // from the sum, next we add the next available byte.
+ i->second -= firstByte;
+ i->second += _input[_curOffset + i->first];
+ }
+
+ // Remove all entries flagged for removal
+ for (DeletionList::const_iterator i = toRemove.begin(); i != toRemove.end(); ++i)
+ _sums.erase(*i);
+
+ // Update out offset.
+ ++_curOffset;
+
+ // We return whether there are still some sums left available.
+ return !_sums.empty();
+}
+
+bool SumCreator::hasSum(uint32 size) const {
+ return _sums.find(size) != _sums.end();
+}
+
+uint32 SumCreator::getSum(uint32 size) const {
+ SumMap::const_iterator s = _sums.find(size);
+
+ if (s == _sums.end())
+ return 0;
+
+ return s->second;
+}
+
+Search::Search(const char *filename) : _data(), _search() {
+ FILE *src = fopen(filename, "rb");
+ assert(src);
+
+ uint32 size = fileSize(src);
+ byte *data = new byte[size];
+ fread(data, 1, size, src);
+ fclose(src);
+
+ _data.resize(size);
+ for (uint32 i = 0; i < size; ++i)
+ _data[i] = data[i];
+ delete[] data;
+}
+
+Search::Search(const byte *data, uint32 size) : _data(), _search() {
+ _data.resize(size);
+ for (uint32 i = 0; i < size; ++i)
+ _data[i] = data[i];
+}
+
+void Search::addData(SearchData data) {
+ for (SearchList::const_iterator i = _search.begin(); i != _search.end(); ++i) {
+ // Do not add any duplicates
+ if (*i == data)
+ return;
+ }
+
+ _search.push_back(data);
+}
+
+bool Search::search(ResultList &res) {
+ SumCreator::InputList list;
+ for (SearchList::const_iterator i = _search.begin(); i != _search.end(); ++i)
+ list.push_back(i->size);
+
+ SumCreator sum(list, _data);
+ list.clear();
+
+ do {
+ const uint32 offset = sum.getOffset();
+
+ for (SearchList::iterator i = _search.begin(); i != _search.end(); ) {
+ if (!sum.hasSum(i->size)) {
+ i = _search.erase(i);
+ continue;
+ }
+
+ const uint32 byteSum = sum.getSum(i->size);
+ if (byteSum == i->byteSum) {
+ if (Hasher::createHash(&_data[offset], i->size) == i->hash) {
+ res.push_back(ResultData(*i, offset));
+ i = _search.erase(i);
+ continue;
+ }
+ }
+
+ ++i;
+ }
+ } while (sum.nextByte());
+
+ return !res.empty();
+}
+
Property changes on: scummvm/trunk/tools/create_kyradat/search.cpp
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Date Rev Author URL Id
Added: svn:eol-style
+ native
Added: scummvm/trunk/tools/create_kyradat/search.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/search.h (rev 0)
+++ scummvm/trunk/tools/create_kyradat/search.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -0,0 +1,97 @@
+#ifndef SEARCH_H
+#define SEARCH_H
+
+#include "util.h"
+
+#include <list>
+#include <map>
+#include <vector>
+#include <cstring>
+
+class Hasher {
+public:
+ struct Hash {
+ uint8 digest[16];
+
+ bool operator==(const Hash &r) const {
+ return !std::memcmp(digest, r.digest, sizeof(digest));
+ }
+
+ bool operator<(const Hash &r) const {
+ return std::memcmp(digest, r.digest, sizeof(digest)) < 0;
+ }
+ };
+
+ static Hash createHash(const byte *data, uint32 size);
+};
+
+struct SearchData {
+ uint32 size;
+
+ uint32 byteSum;
+ Hasher::Hash hash;
+
+ bool operator==(const SearchData &r) const {
+ return (size == r.size && byteSum == r.byteSum && hash == r.hash);
+ }
+
+ bool operator<(const SearchData &r) const {
+ return (size < r.size && byteSum < r.byteSum && hash < r.hash);
+ }
+};
+
+class SearchCreator {
+public:
+ static SearchData create(const char *filename);
+ static SearchData create(const byte *buffer, uint32 size);
+};
+
+class SumCreator {
+public:
+ typedef std::list<uint32> InputList;
+ typedef std::vector<byte> DataInput;
+
+ SumCreator(InputList list, const DataInput &input);
+
+ bool nextByte();
+
+ uint32 getOffset() const { return _curOffset; }
+
+ bool hasSum(uint32 size) const;
+ uint32 getSum(uint32 size) const;
+private:
+ uint32 _curOffset;
+ DataInput _input;
+
+ typedef std::map<uint32, uint32> SumMap;
+ SumMap _sums;
+ typedef std::map<uint32, uint> SumCount;
+ SumCount _sumCount;
+};
+
+class Search {
+public:
+ Search(const char *filename);
+ Search(const byte *data, uint32 size);
+
+ void addData(SearchData data);
+
+ struct ResultData {
+ SearchData data;
+ uint32 offset;
+
+ ResultData() : data(), offset() {}
+ ResultData(SearchData d, uint32 o) : data(d), offset(o) {}
+ };
+
+ typedef std::list<ResultData> ResultList;
+ bool search(ResultList &res);
+private:
+ SumCreator::DataInput _data;
+
+ typedef std::list<SearchData> SearchList;
+ SearchList _search;
+};
+
+#endif
+
Property changes on: scummvm/trunk/tools/create_kyradat/search.h
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Date Rev Author URL Id
Added: svn:eol-style
+ native
Added: scummvm/trunk/tools/create_kyradat/tables.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/tables.h (rev 0)
+++ scummvm/trunk/tools/create_kyradat/tables.h 2009-09-16 20:52:59 UTC (rev 44118)
@@ -0,0 +1,1261 @@
+const ExtractEntrySearchData kForestSeqProvider[] = {
+ { -1, { 0x000002DE, 0x00003946, { { 0x85, 0x79, 0xDC, 0xB8, 0x62, 0xAD, 0xD6, 0x01, 0xA5, 0x66, 0x6B, 0xC4, 0x61, 0xCA, 0x82, 0xF5 } } } },
+ { -1, { 0x00000273, 0x00001D80, { { 0x18, 0x32, 0xB7, 0xFB, 0xD8, 0x1A, 0x6D, 0x83, 0x75, 0xF5, 0x2B, 0xF7, 0xC0, 0xFD, 0x85, 0xEF } } } },
+ { -1, { 0x00000195, 0x00001455, { { 0x86, 0xC2, 0x45, 0xEB, 0x16, 0x8A, 0x44, 0x73, 0xB4, 0x59, 0x13, 0x9B, 0x85, 0x40, 0x82, 0x81 } } } },
+ { -1, { 0x00000196, 0x00001468, { { 0x06, 0x8D, 0xC1, 0x9B, 0xBC, 0x28, 0xE8, 0x36, 0x43, 0x67, 0x34, 0xAA, 0x78, 0xB9, 0xCB, 0x72 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kKallakWritingSeqProvider[] = {
+ { -1, { 0x000007F4, 0x00006DAD, { { 0x84, 0x9D, 0x82, 0xD2, 0x4E, 0x8B, 0xE2, 0x86, 0x82, 0x5E, 0xE7, 0x2C, 0x7A, 0xD6, 0xFE, 0x19 } } } },
+ { -1, { 0x00000805, 0x0000719E, { { 0xA2, 0xFE, 0x0A, 0xAA, 0xD9, 0x43, 0x5A, 0xBE, 0x56, 0x38, 0x73, 0x42, 0xAC, 0xA9, 0x1B, 0x01 } } } },
+ { -1, { 0x000007F5, 0x00006DCD, { { 0x0E, 0x0A, 0x75, 0xA5, 0x71, 0x5A, 0xC6, 0x32, 0x52, 0x7F, 0xEC, 0x2B, 0x0B, 0xF2, 0x22, 0xE6 } } } },
+ { -1, { 0x000007F7, 0x00006E23, { { 0x97, 0x8C, 0x63, 0x8D, 0x91, 0x68, 0xA5, 0x63, 0x55, 0x43, 0xE7, 0xE0, 0x12, 0xF9, 0x80, 0xA4 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kKyrandiaLogoSeqProvider[] = {
+ { -1, { 0x0000005C, 0x000003D3, { { 0x75, 0xC5, 0x55, 0x54, 0x00, 0xD7, 0xE9, 0x26, 0x0F, 0x01, 0xB1, 0xB7, 0xA9, 0x29, 0xF7, 0x69 } } } },
+ { -1, { 0x000000A6, 0x00000A09, { { 0x70, 0x6E, 0x74, 0xBB, 0xD7, 0x09, 0x05, 0xDD, 0xA3, 0x09, 0x96, 0x40, 0xBD, 0x01, 0x19, 0x05 } } } },
+ { -1, { 0x00000054, 0x00000300, { { 0x4E, 0xAD, 0xD0, 0x73, 0xD2, 0x3C, 0xF6, 0x6B, 0x65, 0x23, 0xA2, 0x30, 0xD6, 0xEE, 0x1C, 0x13 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kKallakMalcolmSeqProvider[] = {
+ { -1, { 0x0000027B, 0x0000220A, { { 0xB7, 0xC1, 0x57, 0x04, 0x9B, 0x67, 0x82, 0x7B, 0x6E, 0xFD, 0x59, 0xF2, 0x10, 0x93, 0x89, 0x12 } } } },
+ { -1, { 0x000002B8, 0x0000280B, { { 0x98, 0xC8, 0x36, 0x8C, 0xF8, 0x92, 0xC2, 0xB9, 0x1B, 0x71, 0x6B, 0x4C, 0xA4, 0x6C, 0xF6, 0x30 } } } },
+ { -1, { 0x0000026B, 0x00002132, { { 0x51, 0x07, 0x32, 0xA2, 0x09, 0x47, 0x97, 0x02, 0x85, 0x31, 0x39, 0x93, 0x3A, 0x53, 0x47, 0xA5 } } } },
+ { -1, { 0x0000026D, 0x00002188, { { 0x7E, 0x3B, 0x06, 0x69, 0x11, 0x59, 0xBE, 0x42, 0xCB, 0x33, 0x9C, 0x15, 0xCF, 0x61, 0xF6, 0xB0 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kMalcolmTreeSeqProvider[] = {
+ { -1, { 0x00000214, 0x000014C4, { { 0xA2, 0x60, 0x16, 0x14, 0x20, 0xE4, 0x8D, 0x89, 0xC4, 0x30, 0x07, 0x21, 0xC9, 0x26, 0xA6, 0x84 } } } },
+ { -1, { 0x00000230, 0x0000192A, { { 0x28, 0xCC, 0x89, 0x40, 0x8A, 0xF7, 0xCB, 0xC0, 0x11, 0x8F, 0x0F, 0xE5, 0x5F, 0x24, 0x2D, 0x32 } } } },
+ { -1, { 0x00000216, 0x000014FB, { { 0xBA, 0x6F, 0x63, 0xD5, 0x44, 0xCE, 0xE8, 0x20, 0xD4, 0x4C, 0x06, 0x58, 0x21, 0x8E, 0x07, 0x8B } } } },
+ { -1, { 0x00000218, 0x00001551, { { 0x30, 0x42, 0xD3, 0x7D, 0x6B, 0x43, 0x3B, 0xC7, 0x63, 0x56, 0x7D, 0x12, 0xE0, 0x53, 0x41, 0x48 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kWestwoodLogoSeqProvider[] = {
+ { -1, { 0x0000004D, 0x00000319, { { 0xE9, 0x5D, 0xD4, 0x60, 0x4E, 0xA6, 0x92, 0x30, 0x9C, 0x77, 0x99, 0xBC, 0xB1, 0x97, 0xFB, 0xBD } } } },
+ { -1, { 0x0000004B, 0x0000032A, { { 0x9A, 0x54, 0x6F, 0x6C, 0x70, 0xD1, 0x02, 0x94, 0xD1, 0xA1, 0xA7, 0xBE, 0x1B, 0x10, 0xBD, 0x2F } } } },
+ { -1, { 0x00000044, 0x00000243, { { 0x00, 0x11, 0x10, 0x64, 0x60, 0xE8, 0xB5, 0x59, 0x00, 0x60, 0xF5, 0x10, 0xB5, 0x63, 0x9D, 0x55 } } } },
+ { -1, { 0x0000004B, 0x000002FE, { { 0x6E, 0xDA, 0x5D, 0x1E, 0xF4, 0x38, 0xAE, 0x7A, 0x9F, 0xBC, 0x00, 0x7C, 0x77, 0x9D, 0x03, 0xAF } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kDemo1SeqProvider[] = {
+ { -1, { 0x00000026, 0x0000016E, { { 0x61, 0xF2, 0x84, 0x42, 0x89, 0x6E, 0xB8, 0x0D, 0x01, 0xB7, 0xE4, 0x49, 0xA1, 0x72, 0xDC, 0x66 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
+const ExtractEntrySearchData kDemo2SeqProvider[] = {
+ { -1, { 0x00000023, 0x00000151, { { 0xE7, 0x9F, 0xA7, 0x80, 0xE3, 0xC1, 0x63, 0xF2, 0x3F, 0x7B, 0x64, 0xD9, 0x70, 0x3A, 0xF1, 0x55 } } } },
+ { -1, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } }
+};
+
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list