diff options
author | Johannes Schickel | 2007-03-04 15:05:17 +0000 |
---|---|---|
committer | Johannes Schickel | 2007-03-04 15:05:17 +0000 |
commit | 1c00cc5dc56329debd2d3e3538155f097e96756c (patch) | |
tree | 604ff71d2639a5b8839ebe83526c0eba14b58048 /tools | |
parent | 1eb2d6f6253c578735da81a6e7671ae7773d05e0 (diff) | |
download | scummvm-rg350-1c00cc5dc56329debd2d3e3538155f097e96756c.tar.gz scummvm-rg350-1c00cc5dc56329debd2d3e3538155f097e96756c.tar.bz2 scummvm-rg350-1c00cc5dc56329debd2d3e3538155f097e96756c.zip |
Work around bad characters in "Long live King Brandon!" string in FM-Towns version. (thanks to Florian Kagerer)
svn-id: r25974
Diffstat (limited to 'tools')
-rw-r--r-- | tools/create_kyradat/create_kyradat.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/create_kyradat/create_kyradat.cpp b/tools/create_kyradat/create_kyradat.cpp index e89011d8cf..f4e30a7500 100644 --- a/tools/create_kyradat/create_kyradat.cpp +++ b/tools/create_kyradat/create_kyradat.cpp @@ -337,7 +337,10 @@ bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32 } if (fmtPatch == 2) { - targetsize += (g->special - 1); + if (g->special == kFMTownsVersionE) + targetsize--; + if (g->special == kFMTownsVersionJ) + targetsize += 2; entries += (g->special - 1); } @@ -350,6 +353,10 @@ bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32 if (g->special == kFMTownsVersionE || g->special == kFMTownsVersionJ) { const byte * c = data + size; do { + if (fmtPatch == 2 && input - data == 0x3C0 && input[0x10] == 0x32) { + memcpy(output, input, 0x0F); + input += 0x11; output += 0x0F; + } strcpy((char*) output, (const char*) input); uint32 stringsize = strlen((const char*)output) + 1; input += stringsize; output += stringsize; |