aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJohannes Schickel2007-03-04 15:05:17 +0000
committerJohannes Schickel2007-03-04 15:05:17 +0000
commit1c00cc5dc56329debd2d3e3538155f097e96756c (patch)
tree604ff71d2639a5b8839ebe83526c0eba14b58048 /tools
parent1eb2d6f6253c578735da81a6e7671ae7773d05e0 (diff)
downloadscummvm-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.cpp9
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;