diff options
Diffstat (limited to 'engines/dreamweb/print.cpp')
-rw-r--r-- | engines/dreamweb/print.cpp | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp index dce5fc76be..528b897b60 100644 --- a/engines/dreamweb/print.cpp +++ b/engines/dreamweb/print.cpp @@ -171,12 +171,6 @@ uint8 DreamGenContext::printDirect(const uint8** string, uint16 x, uint16 *y, ui } } -void DreamGenContext::getNumber() { - uint16 offset = di; - cl = getNumber((Frame *)ds.ptr(0, 0), es.ptr(si, 0), dl, (bool)(dl & 1), &offset); - di = offset; -} - uint8 DreamGenContext::getNumber(const Frame *charSet, const uint8 *string, uint16 maxWidth, bool centered, uint16* offset) { uint8 totalWidth = 0; uint8 charCount = 0; @@ -185,31 +179,30 @@ uint8 DreamGenContext::getNumber(const Frame *charSet, const uint8 *string, uint uint8 done = getNextWord(charSet, string, &wordTotalWidth, &wordCharCount); string += wordCharCount; + uint16 tmp = totalWidth + wordTotalWidth - 10; if (done == 1) { //endoftext - ax = totalWidth + wordTotalWidth - 10; - if (ax < maxWidth) { + if (tmp < maxWidth) { totalWidth += wordTotalWidth; charCount += wordCharCount; } if (centered) { - ax = (maxWidth & 0xfe) + 2 + 20 - totalWidth; - ax /= 2; + tmp = (maxWidth & 0xfe) + 2 + 20 - totalWidth; + tmp /= 2; } else { - ax = 0; + tmp = 0; } *offset += ax; return charCount; } - ax = totalWidth + wordTotalWidth - 10; - if (ax >= maxWidth) { //gotoverend + if (tmp >= maxWidth) { //gotoverend if (centered) { - ax = (maxWidth & 0xfe) - totalWidth + 20; - ax /= 2; + tmp = (maxWidth & 0xfe) - totalWidth + 20; + tmp /= 2; } else { - ax = 0; + tmp = 0; } - *offset += ax; + *offset += tmp; return charCount; } totalWidth += wordTotalWidth; |