From 1c00cc5dc56329debd2d3e3538155f097e96756c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 4 Mar 2007 15:05:17 +0000 Subject: Work around bad characters in "Long live King Brandon!" string in FM-Towns version. (thanks to Florian Kagerer) svn-id: r25974 --- tools/create_kyradat/create_kyradat.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'tools/create_kyradat') 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; -- cgit v1.2.3