KYRA: (EOB2/Amiga) - fix German version text

(add necessary character conversion)
This commit is contained in:
athrxx 2019-04-06 17:59:43 +02:00
parent 2692702892
commit d7e6b46814
2 changed files with 24 additions and 0 deletions

View file

@ -116,6 +116,7 @@ void TextDisplayer_rpg::removePageBreakFlag() {
}
void TextDisplayer_rpg::displayText(char *str, ...) {
convertString(str);
_printFlag = false;
_lineWidth = 0;
@ -754,6 +755,27 @@ void TextDisplayer_rpg::displayWaitButton() {
SWAP(_vm->_dialogueButtonLabelColor1, _vm->_dialogueButtonLabelColor2);
}
void TextDisplayer_rpg::convertString(char *str) {
static const char convertTable_EOB2_Amiga_DE[] = {
'\x84', '\x7F', '\x8E', '\x7F', '\x81', '\x7D', '\x9A', '\x7D', '\x94', '\x7E', '\x99', '\x7E', '\0', '\0'
};
const char *table = 0;
if (_vm->game() == GI_EOB2 && _vm->gameFlags().platform == Common::kPlatformAmiga && _vm->gameFlags().lang == Common::DE_DEU)
table = convertTable_EOB2_Amiga_DE;
if (!table)
return;
for (; *str; ++str) {
for (const char *c = table; *c; c += 2) {
if ((*str) == c[0])
*str = c[1];
}
}
}
} // End of namespace Kyra
#endif // (ENABLE_EOB || ENABLE_LOL)

View file

@ -67,6 +67,8 @@ protected:
virtual void textPageBreak();
void displayWaitButton();
void convertString(char *str);
char *_dialogueBuffer;
char *_tempString1;