aboutsummaryrefslogtreecommitdiff
path: root/tools/create_igortbl
diff options
context:
space:
mode:
authorGregory Montoir2007-11-25 23:27:51 +0000
committerGregory Montoir2007-11-25 23:27:51 +0000
commit798ce43e19f1f4ee5b95f4de291217bf25a342f9 (patch)
treeb4641214f0b39923c249eaec3ce1a62982cebaf2 /tools/create_igortbl
parent3d59f805202bd1d2161baa69902d377fa01ee7c6 (diff)
downloadscummvm-rg350-798ce43e19f1f4ee5b95f4de291217bf25a342f9.tar.gz
scummvm-rg350-798ce43e19f1f4ee5b95f4de291217bf25a342f9.tar.bz2
scummvm-rg350-798ce43e19f1f4ee5b95f4de291217bf25a342f9.zip
- enabled speech sounds
- added end of demo check for demo 1.10 - simplified parts loop - populated strings table in IGOR.TBL - updated and packed charset data svn-id: r29641
Diffstat (limited to 'tools/create_igortbl')
-rw-r--r--tools/create_igortbl/create_igortbl.c37
-rw-r--r--tools/create_igortbl/resource_sp_cdrom.h96
-rw-r--r--tools/create_igortbl/strings.h55
3 files changed, 173 insertions, 15 deletions
diff --git a/tools/create_igortbl/create_igortbl.c b/tools/create_igortbl/create_igortbl.c
index 06f12d968d..e5225c9bfb 100644
--- a/tools/create_igortbl/create_igortbl.c
+++ b/tools/create_igortbl/create_igortbl.c
@@ -51,20 +51,20 @@ struct ResourceEntry {
uint32 size;
};
-static const struct ResourceEntry _resourceEntriesEngDemo100[] = {
+static struct ResourceEntry _resourceEntriesEngDemo100[] = {
#include "resource_en_demo100.h"
};
-static const struct ResourceEntry _resourceEntriesEngDemo110[] = {
+static struct ResourceEntry _resourceEntriesEngDemo110[] = {
#include "resource_en_demo110.h"
};
-static const struct ResourceEntry _resourceEntriesSpaCd[] = {
+static struct ResourceEntry _resourceEntriesSpaCd[] = {
#include "resource_sp_cdrom.h"
};
-static const struct {
- const struct ResourceEntry *p;
+static struct {
+ struct ResourceEntry *p;
int count;
} _resourceEntriesList[] = {
{ _resourceEntriesEngDemo100, TABLE_SIZE(_resourceEntriesEngDemo100) },
@@ -81,7 +81,7 @@ static const uint32 _soundEntriesSpaCd[] = {
#include "fsd_sp_cdrom.h"
};
-static const struct {
+static struct {
const uint32 *p;
int count;
} _soundEntriesList[] = {
@@ -97,18 +97,18 @@ enum {
};
struct StringEntry {
- uint8 id;
+ int id;
uint8 language;
const char *str;
};
-static const struct StringEntry _stringEntries[] = {
+static struct StringEntry _stringEntries[] = {
#include "strings.h"
};
struct GameVersion {
uint32 borlandOverlaySize;
- const struct ResourceEntry *resourceEntries;
+ struct ResourceEntry *resourceEntries;
const uint32 *soundEntries;
};
@@ -119,7 +119,7 @@ static const struct GameVersion _gameVersions[] = {
};
static const uint32 ITBL_TAG = 0x4954424C;
-static const uint32 CURRENT_VERSION = 2;
+static const uint32 CURRENT_VERSION = 3;
static const uint32 DEFAULT_OFFSET = 0x12345678;
struct TablePtrOffset {
@@ -165,9 +165,14 @@ static void writeUint32BE(FILE *fp, uint32 value) {
writeUint16BE(fp, (uint16)(value & 0xFFFF));
}
-static void writeResourceEntriesTable(FILE *fp, const struct ResourceEntry *re, int count) {
+int compareResourceEntry(const void *a, const void *b) {
+ return ((struct ResourceEntry *)a)->id - ((struct ResourceEntry *)b)->id;
+}
+
+static void writeResourceEntriesTable(FILE *fp, struct ResourceEntry *re, int count) {
int i;
+ qsort(re, count, sizeof(struct ResourceEntry), compareResourceEntry);
writeUint16BE(fp, count);
for (i = 0; i < count; ++i, ++re) {
writeUint16BE(fp, re->id);
@@ -185,15 +190,21 @@ static void writeSoundEntriesTable(FILE *fp, const uint32 *fsd, int count) {
}
}
-static void writeStringEntriesTable(FILE *fp, const struct StringEntry *se, int count) {
+int compareStringEntry(const void *a, const void *b) {
+ return ((struct StringEntry *)a)->id - ((struct StringEntry *)b)->id;
+}
+
+static void writeStringEntriesTable(FILE *fp, struct StringEntry *se, int count) {
int i, len;
+ qsort(se, count, sizeof(struct StringEntry), compareStringEntry);
writeUint16BE(fp, count);
for (i = 0; i < count; ++i, ++se) {
- writeByte(fp, se->id);
+ writeUint16BE(fp, se->id);
writeByte(fp, se->language);
len = strlen(se->str);
assert(len < 256);
+ writeByte(fp, len);
fwrite(se->str, 1, len, fp);
}
}
diff --git a/tools/create_igortbl/resource_sp_cdrom.h b/tools/create_igortbl/resource_sp_cdrom.h
index f3f446b6de..80e2cbcda9 100644
--- a/tools/create_igortbl/resource_sp_cdrom.h
+++ b/tools/create_igortbl/resource_sp_cdrom.h
@@ -1,8 +1,27 @@
+{ FRM_PhysicsClassroom1, 0x19d541, 3100 },
+{ ANM_PhilipVodka, 0x19e46f, 24175 },
+{ AOF_PhilipVodka, 0x1a42de, 80 },
{ TXT_PhilipRoom, 0x1a4a75, 1191 },
{ IMG_PhilipRoom, 0x1a4f1c, 46080 },
{ PAL_PhilipRoom, 0x1b031c, 768 },
{ MSK_PhilipRoom, 0x1b061c, 3 },
{ BOX_PhilipRoom, 0x1b061f, 1280 },
+{ FRM_ChemistryClassroom1, 0x1d1191, 14 },
+{ FRM_ChemistryClassroom2, 0x1d119f, 3332 },
+{ DAT_Physicsclassroom, 0x3a1960, 6017 },
+{ TXT_PhysicsClassroom, 0x3a55a2, 1141 },
+{ IMG_PhysicsClassroom, 0x3a5a17, 46080 },
+{ PAL_PhysicsClassroom, 0x3b0e17, 624 },
+{ MSK_PhysicsClassroom, 0x3b1087, 1557 },
+{ BOX_PhysicsClassroom, 0x3b169c, 1280 },
+{ DAT_ChemistryClassroom, 0x3b4d8b, 6345 },
+{ TXT_ChemistryClassroom, 0x3b8ca2, 1233 },
+{ IMG_ChemistryClassroom, 0x3b9173, 46080 },
+{ PAL_ChemistryClassroom, 0x3c4573, 624 },
+{ MSK_ChemistryClassroom, 0x3c47e3, 1980 },
+{ BOX_ChemistryClassroom, 0x3c4f9f, 1280 },
+{ FRM_MenToilets1, 0x3d4159, 3038 },
+{ FRM_MenToilets2, 0x3d4d37, 1624 },
{ DAT_CollegeStairsSecondFloor, 0x407c47, 6393 },
{ FRM_CollegeStairsSecondFloor1, 0x40b7a3, 2756 },
{ FRM_CollegeStairsSecondFloor2, 0x40c267, 11136 },
@@ -24,6 +43,11 @@
{ FRM_CollegeCorridorMissBarrymore1, 0x448da3, 3250 },
{ FRM_CollegeCorridorMissBarrymore2, 0x449a55, 5280 },
{ FRM_CollegeCorridorMissBarrymore3, 0x44aef5, 10824 },
+{ TXT_CollegeCorridorMissBarrymore, 0x44e0a2, 1405 },
+{ IMG_CollegeCorridorMissBarrymore, 0x44e61f, 46080 },
+{ PAL_CollegeCorridorMissBarrymore, 0x459a1f, 624 },
+{ MSK_CollegeCorridorMissBarrymore, 0x459c8f, 2484 },
+{ BOX_CollegeCorridorMissBarrymore, 0x45a643, 1280 },
{ DAT_CollegeCorridorAnnouncementBoard, 0x45de90, 5973 },
{ FRM_CollegeCorridorAnnouncementBoard1, 0x461570, 2392 },
{ FRM_CollegeCorridorAnnouncementBoard2, 0x461ec8, 6944 },
@@ -51,6 +75,8 @@
{ PAL_CollegeCorridorCaroline, 0x4a789d, 624 },
{ MSK_CollegeCorridorCaroline, 0x4a7b0d, 2151 },
{ DAT_CollegeCorridorLucas, 0x4ab255, 6109 },
+{ FRM_SpringBridge1, 0x4b16f4, 24 },
+{ FRM_SpringBridge2, 0x4b170c, 4410 },
{ TXT_CollegeCorridorLucas, 0x4b2fa2, 1333 },
{ IMG_CollegeCorridorLucas, 0x4b34d7, 46080 },
{ PAL_CollegeCorridorLucas, 0x4be8d7, 624 },
@@ -75,6 +101,7 @@
{ PAL_CollegeLockers, 0x4fd1bb, 624 },
{ MSK_CollegeLockers, 0x4fd42b, 2235 },
{ BOX_CollegeLockers, 0x4fdce6, 1280 },
+{ DAT_MenToilets, 0x5015d7, 6465 },
{ DAT_WomenToilets, 0x508bfe, 6385 },
{ FRM_WomenToilets1, 0x50c907, 854 },
{ FRM_WomenToilets2, 0x50cc5d, 12 },
@@ -86,12 +113,57 @@
{ PAL_WomenToilets, 0x51cc24, 624 },
{ MSK_WomenToilets, 0x51ce94, 2022 },
{ BOX_WomenToilets, 0x51d67a, 1280 },
+{ TXT_MenToilets, 0x51e3a2, 1346 },
+{ IMG_MenToilets, 0x51e8e4, 46080 },
+{ PAL_MenToilets, 0x529ce4, 624 },
+{ MSK_MenToilets, 0x529f54, 1980 },
+{ BOX_MenToilets, 0x52a710, 1280 },
+{ DAT_OutsideCollege, 0x52f49f, 6777 },
+{ FRM_OutsideCollege1, 0x533609, 2156 },
+{ FRM_OutsideCollege2, 0x533e75, 4347 },
+{ FRM_OutsideCollege3, 0x534f70, 693 },
+{ FRM_OutsideCollege4, 0x535225, 594 },
+{ FRM_OutsideCollege5, 0x535477, 10080 },
+{ TXT_OutsideCollege, 0x5383a2, 1824 },
+{ IMG_OutsideCollege, 0x538ac2, 46080 },
+{ PAL_OutsideCollege, 0x543ec2, 624 },
+{ MSK_OutsideCollege, 0x544132, 4974 },
+{ BOX_OutsideCollege, 0x5454a0, 1280 },
+{ DAT_Laboratory, 0x54915f, 5645 },
+{ FRM_MargaretRoom1, 0x5509d4, 10853 },
+{ FRM_MargaretRoom2, 0x553439, 16 },
+{ FRM_MargaretRoom3, 0x553449, 44564 },
+{ FRM_MargaretRoom4, 0x55e25d, 80 },
{ TXT_MargaretRoom, 0x55e975, 1709 },
{ IMG_MargaretRoom, 0x55f022, 46080 },
{ PAL_MargaretRoom, 0x56a422, 768 },
{ MSK_MargaretRoom, 0x56a722, 3 },
{ BOX_MargaretRoom, 0x56a725, 1280 },
{ IMG_Meanwhile, 0x56aeb7, 46080 },
+{ FRM_Laboratory1, 0x5763a3, 2254 },
+{ FRM_Laboratory2, 0x576c71, 26218 },
+{ FRM_Laboratory3, 0x57d2db, 128 },
+{ TXT_Laboratory, 0x57daa2, 1482 },
+{ IMG_Laboratory, 0x57e06c, 46080 },
+{ PAL_Laboratory, 0x58946c, 624 },
+{ MSK_Laboratory, 0x5896dc, 2130 },
+{ BOX_Laboratory, 0x589f2e, 1280 },
+{ DAT_Map, 0x58c60b, 6273 },
+{ TXT_Map, 0x5902a2, 1023 },
+{ IMG_Map, 0x5906a1, 46080 },
+{ PAL_Map, 0x59baa1, 624 },
+{ MSK_Map, 0x59bd11, 1809 },
+{ BOX_Map, 0x59c422, 1280 },
+{ DAT_TobiasOffice, 0x59fc28, 5945 },
+{ ANM_TobiasOffice1, 0x5a9ad6, 2392 },
+{ AOF_TobiasOffice1, 0x5aa42e, 910 },
+{ ANM_TobiasOffice2, 0x5aa7bc, 16992 },
+{ AOF_TobiasOffice2, 0x5aea1c, 6678 },
+{ TXT_TobiasOffice, 0x5b0ba2, 2084 },
+{ IMG_TobiasOffice, 0x5b13c6, 46080 },
+{ PAL_TobiasOffice, 0x5bc7c6, 624 },
+{ MSK_TobiasOffice, 0x5bca36, 1455 },
+{ BOX_TobiasOffice, 0x5bcfe5, 1280 },
{ DAT_BellChurch, 0x5bf85c, 5617 },
{ FRM_BellChurch1, 0x5c2a70, 40960 },
{ FRM_BellChurch2, 0x5cca70, 2100 },
@@ -100,6 +172,23 @@
{ PAL_BellChurch, 0x5d9224, 624 },
{ MSK_BellChurch, 0x5d9494, 861 },
{ BOX_BellChurch, 0x5d97f1, 1280 },
+{ DAT_SpringBridge, 0x6a54a6, 6017 },
+{ WLK_Bridge1, 0x6a83a8, 134 },
+{ WLK_Bridge2, 0x6a842e, 2546 },
+{ DAT_SpringRock, 0x6b60ed, 6195 },
+{ WLK_Bridge3, 0x6b9153, 134 },
+{ WLK_Bridge4, 0x6b91d9, 2546 },
+{ FRM_SpringRock1, 0x6ba53e, 84 },
+{ FRM_SpringRock2, 0x6ba592, 759 },
+{ FRM_SpringRock3, 0x6ba889, 5145 },
+{ FRM_SpringRock4, 0x6bbca2, 4508 },
+{ FRM_SpringRock5, 0x6bce3e, 13364 },
+{ FRM_SpringRock6, 0x6c0272, 54 },
+{ TXT_SpringBridge, 0x6c0aa2, 1080 },
+{ IMG_SpringBridge, 0x6c0eda, 46080 },
+{ PAL_SpringBridge, 0x6cc2da, 624 },
+{ MSK_SpringBridge, 0x6cc5aa, 3936 },
+{ BOX_SpringBridge, 0x6cd50a, 1280 },
{ ANM_PhilipLauraIntro, 0x7cb4d4, 29824 },
{ AOF_PhilipLauraIntro, 0x7d2954, 74 },
{ ANM_LauraIntro, 0x7d299e, 12793 },
@@ -120,6 +209,11 @@
{ IMG_Presents, 0x80f66e, 64000 },
{ PAL_OptikSoftware, 0x81f16e, 768 },
{ IMG_OptikSoftware, 0x81f46e, 64000 },
+{ FRM_IgorDirBack2, 0x82f0c3, 10500 },
+{ FRM_IgorDirRight2, 0x8319c7, 13500 },
+{ FRM_IgorDirFront2, 0x834e83, 10500 },
+{ FRM_IgorDirLeft2, 0x837787, 13500 },
+{ FRM_IgorHead2, 0x83ac43, 3696 },
{ FRM_IgorDirBack, 0x83bdc3, 10500 },
{ FRM_IgorDirRight, 0x83e6c7, 13500 },
{ FRM_IgorDirFront, 0x841b83, 10500 },
@@ -127,3 +221,5 @@
{ FRM_IgorHead, 0x847943, 3696 },
{ IMG_VerbsPanel, 0x848ae0, 3840 },
{ TXT_MainTable, 0x8499e0, 28028 },
+{ IMG_InventoryPanel, 0x89a298, 9600 },
+{ IMG_Objects, 0x89c818, 48000 },
diff --git a/tools/create_igortbl/strings.h b/tools/create_igortbl/strings.h
index 4014000dd1..86edd881d6 100644
--- a/tools/create_igortbl/strings.h
+++ b/tools/create_igortbl/strings.h
@@ -1,3 +1,54 @@
-//{ STR_COPYRIGHT_1995, STR_LANG_ANY, "(C) 1995 Optik Software. All rights reserved." },
-//{ STR_COPYRIGHT_1994, STR_LANG_ANY, "(C) 1994 PENDULO STUDIOS. All rights reserved." },
+{ STR_COPYRIGHT_1995, STR_LANG_ANY, "(C) 1995 Optik Software. All rights reserved." },
+{ STR_COPYRIGHT_1994, STR_LANG_ANY, "(C) 1994 PENDULO STUDIOS. All rights reserved." },
+{ STR_BOTTLE_OF_WHISKY, STR_LANG_ENG, " bottle of whisky" },
+{ STR_EMPTY_BOTTLE, STR_LANG_ENG, " empty bottle" },
+{ STR_BOTTLE_OF_WATER, STR_LANG_ENG, " bottle of water" },
+{ STR_LIZARD, STR_LANG_ENG, " lizard" },
+{ STR_FAT_LIZARD, STR_LANG_ENG, " fat lizard" },
+{ STR_CAROLINE_FOLDER, STR_LANG_ENG, " Caroline%s folder" },
+{ STR_PHILIP_FOLDER, STR_LANG_ENG, " Philip%s folder" },
+{ STR_STATUETTE, STR_LANG_ENG, " statuette" },
+{ STR_REWARD, STR_LANG_ENG, " reward" },
+{ STR_IGOR_OBJECTIVE_UIKOKAHONIA, STR_LANG_ENG, "\"Igor. Objective Uikokahonia\"" },
+{ STR_SHAREWARE_VERSION, STR_LANG_ENG, "Shareware version" },
+{ STR_SHAREWARE_PLACE_ORDER, STR_LANG_ENG, "To place an order: 1-800-OPTIK-99" },
+
+{ STR_SHAREWARE_TEXT1, STR_LANG_ENG, "This is SHAREWARE!" },
+{ STR_SHAREWARE_TEXT2, STR_LANG_ENG, "You can copy this version!" },
+{ STR_SHAREWARE_TEXT3, STR_LANG_ENG, "Pass it around, give it to your friends, family," },
+{ STR_SHAREWARE_TEXT4, STR_LANG_ENG, "colleagues and upload it to your favorite BBS." },
+{ STR_SHAREWARE_TEXT5, STR_LANG_ENG, "Let everyone enjoy IGOR!" },
+
+{ STR_SHAREWARE_ORDER_1, STR_LANG_ENG, "Order the full IGOR game for only $34.99 US." },
+{ STR_SHAREWARE_ORDER_2, STR_LANG_ENG, "$5.00 for shipping and handling (US & CANADA)." },
+{ STR_SHAREWARE_ORDER_3, STR_LANG_ENG, "Please add $3.00 for international shipping." },
+{ STR_SHAREWARE_ORDER_4, STR_LANG_ENG, "To place an order: 1-800-OPTIK-99" },
+
+{ STR_SHAREWARE_SHIPPING_1, STR_LANG_ENG, "90 day limited warranty." },
+{ STR_SHAREWARE_SHIPPING_2, STR_LANG_ENG, "Please allow 2-4 days for delivery (US only)." },
+{ STR_SHAREWARE_SHIPPING_3, STR_LANG_ENG, "Elsewhere, up to a week or two..." },
+{ STR_SHAREWARE_SHIPPING_4, STR_LANG_ENG, "Overnight/second day shipping available an" },
+{ STR_SHAREWARE_SHIPPING_5, STR_LANG_ENG, "aditional change. Please call for exact pricing." },
+{ STR_SHAREWARE_SHIPPING_6, STR_LANG_ENG, "Three easy ways to order:" },
+{ STR_SHAREWARE_SHIPPING_7, STR_LANG_ENG, "- Call 1-800-678-4599 (orders only) and use" },
+{ STR_SHAREWARE_SHIPPING_8, STR_LANG_ENG, "Your Visa, Mastercard or Discover card." },
+{ STR_SHAREWARE_SHIPPING_9, STR_LANG_ENG, "- Fax your order (please include credit card" },
+{ STR_SHAREWARE_SHIPPING_10, STR_LANG_ENG, "information) to (412) 381-1031" },
+
+{ STR_SHAREWARE_OPTIK_ADDRESS_1, STR_LANG_ENG, "- Mail a check or money order to:" },
+{ STR_SHAREWARE_OPTIK_ADDRESS_2, STR_LANG_ENG, "Optik Software Inc." },
+{ STR_SHAREWARE_OPTIK_ADDRESS_3, STR_LANG_ENG, "1000 Napor Boulevard" },
+{ STR_SHAREWARE_OPTIK_ADDRESS_4, STR_LANG_ENG, "Pittsburgh, PA. 15205" },
+{ STR_SHAREWARE_OPTIK_ADDRESS_5, STR_LANG_ENG, "USA" },
+{ STR_SHAREWARE_OPTIK_ADDRESS_6, STR_LANG_ENG, "Optik Software Inc." },
+{ STR_SHAREWARE_OPTIK_ADDRESS_7, STR_LANG_ENG, "Orders only: 1-800-OPTIK-99 (67845-99)" },
+{ STR_SHAREWARE_OPTIK_ADDRESS_8, STR_LANG_ENG, "Fax: (412) 381-1031" },
+{ STR_SHAREWARE_OPTIK_ADDRESS_9, STR_LANG_ENG, "E-mail: optiksoft\xFA""aol.com" },
+
+{ STR_SHAREWARE_PENDULO_ADDRESS_1, STR_LANG_ENG, "A game by" },
+{ STR_SHAREWARE_PENDULO_ADDRESS_2, STR_LANG_ENG, "PENDULO STUDIOS" },
+{ STR_SHAREWARE_PENDULO_ADDRESS_3, STR_LANG_ENG, "P.O. Box 21091" },
+{ STR_SHAREWARE_PENDULO_ADDRESS_4, STR_LANG_ENG, "28009 Madrid" },
+{ STR_SHAREWARE_PENDULO_ADDRESS_5, STR_LANG_ENG, "Spain" },
+{ STR_SHAREWARE_PENDULO_ADDRESS_6, STR_LANG_ENG, "E-mail: 100641.1737\xFA""compuserve.com" },