diff options
author | Gregory Montoir | 2007-11-25 23:27:51 +0000 |
---|---|---|
committer | Gregory Montoir | 2007-11-25 23:27:51 +0000 |
commit | 798ce43e19f1f4ee5b95f4de291217bf25a342f9 (patch) | |
tree | b4641214f0b39923c249eaec3ce1a62982cebaf2 /tools | |
parent | 3d59f805202bd1d2161baa69902d377fa01ee7c6 (diff) | |
download | scummvm-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')
-rw-r--r-- | tools/create_igortbl/create_igortbl.c | 37 | ||||
-rw-r--r-- | tools/create_igortbl/resource_sp_cdrom.h | 96 | ||||
-rw-r--r-- | tools/create_igortbl/strings.h | 55 |
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" }, |