Finally fixed the string extraction for Kyrandia 1 Amiga. This should make the intro/outro strings work fine again.

svn-id: r43246
This commit is contained in:
Johannes Schickel 2009-08-11 01:24:40 +00:00
parent 1a9630834c
commit 6e9ff8e381
3 changed files with 6 additions and 3 deletions

Binary file not shown.

View File

@ -371,8 +371,11 @@ void GUI_LoK::setGUILabels() {
walkspeedGarbageOffset = 0;
} else if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
// English Amiga version
offsetOptions = 8;
offset = 23;
offsetOn = 23;
offsetOptions = 32;
walkspeedGarbageOffset = 2;
offsetMainMenu = 23;
}
assert(offset + 27 < _vm->_guiStringsSize);

View File

@ -500,7 +500,7 @@ bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32
if (g->special == kAmigaVersion) {
if (i + 1 >= size)
++entries;
else if (!data[i+1])
else if (!data[i+1] && !(i & 1))
continue;
else
++entries;
@ -616,7 +616,7 @@ bool extractStrings(PAKFile &out, const Game *g, const byte *data, const uint32
// we need to strip some aligment zeros out here
int dstPos = 0;
for (uint32 i = 0; i < size; ++i) {
if (!data[i]) {
if (!data[i] && !(i & 1)) {
if (i + 1 > size)
continue;
else if (i + 1 < size && !data[i+1])