SCUMM: (DIG/CJK) - add specific text positioning fix from disasm

This is basically a hack, but the original does it just like that. It ensures that certain CJK message strings at the bottom of the screen won't get cut off.
This commit is contained in:
athrxx 2020-09-27 00:20:50 +02:00
parent c4d3cc6c18
commit c5216c6367

View file

@ -129,6 +129,14 @@ void ScummEngine_v6::enqueueText(const byte *text, int x, int y, byte color, byt
BlastText &bt = _blastTextQueue[_blastTextQueuePos++];
assert(_blastTextQueuePos <= ARRAYSIZE(_blastTextQueue));
if (_useCJKMode) {
// The Dig expressly checks for x == 160 && y == 189 && charset == 3. Usually, if the game wants to print CJK text at the bottom
// of the screen it will use y = 183. So maybe this is a hack to fix some script texts that weren forgotten in the CJK converting
// process. COMI doesn't have anything like that.
if (_game.id == GID_DIG && x == 160 && y == 189 && charset == 3)
y -= 6;
}
convertMessageToString(text, bt.text, sizeof(bt.text));
bt.xpos = x;
bt.ypos = y;