diff options
author | Florian Kagerer | 2008-05-18 20:14:28 +0000 |
---|---|---|
committer | Florian Kagerer | 2008-05-18 20:14:28 +0000 |
commit | 17874266bd540aed192e2a8f550b181d2bd4b8ad (patch) | |
tree | 452951985ec3534922ccdfb7c98a82af28365885 /tools | |
parent | 8d0766f4f741df6d9c0a633c895fb158dac85f34 (diff) | |
download | scummvm-rg350-17874266bd540aed192e2a8f550b181d2bd4b8ad.tar.gz scummvm-rg350-17874266bd540aed192e2a8f550b181d2bd4b8ad.tar.bz2 scummvm-rg350-17874266bd540aed192e2a8f550b181d2bd4b8ad.zip |
add support for Kyra 1 Italian floppy (this fixes so called bug #1409244 - KYRA1: GFX problems with ITALIAN floppy)
svn-id: r32175
Diffstat (limited to 'tools')
-rw-r--r-- | tools/create_kyradat/create_kyradat.cpp | 11 | ||||
-rw-r--r-- | tools/create_kyradat/ita.h | 39 |
2 files changed, 44 insertions, 6 deletions
diff --git a/tools/create_kyradat/create_kyradat.cpp b/tools/create_kyradat/create_kyradat.cpp index abd1d54570..173ba0f993 100644 --- a/tools/create_kyradat/create_kyradat.cpp +++ b/tools/create_kyradat/create_kyradat.cpp @@ -31,7 +31,7 @@ #include "md5.h" enum { - kKyraDatVersion = 27, + kKyraDatVersion = 28, kIndexSize = 12 }; @@ -42,6 +42,7 @@ enum { #include "esp.h" #include "fre.h" #include "ger.h" +#include "ita.h" #include "towns.h" #include "amiga.h" @@ -425,12 +426,9 @@ bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32 continue; uint32 len = strlen((const char*) data + i); i += len; -#if 1 - // FIXME: Not sure whether this correct; the original code was ambiguious, see below + targetsize = targetsize - 1 - len; -#else - targetsize = --targetsize - len; // FIXME: This operation is undefined -#endif + while (!data[++i]) { if (i == len) break; @@ -1334,6 +1332,7 @@ const Game *gameDescs[] = { kyra1EspGames, kyra1FreGames, kyra1GerGames, + kyra1ItaGames, kyra1TownsGames, kyra1AmigaGames, kyra1FanTranslations, diff --git a/tools/create_kyradat/ita.h b/tools/create_kyradat/ita.h new file mode 100644 index 0000000000..6099f8f07d --- /dev/null +++ b/tools/create_kyradat/ita.h @@ -0,0 +1,39 @@ +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 +}; |