[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