mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-04 09:18:38 +00:00
SCI: handle given coordinate to draw() inside SJIS font support as if the horizontal part would be the center of the character, fixes not perfectly centered japanese text. I assume that PC98 ROM also handled it that way. The actual cause for those "bad" coordinates is GetLongest(), but that behaviour is definitely how sierra sci does it
svn-id: r48678
This commit is contained in:
parent
b191acf7cc
commit
88f6a39312
@ -74,7 +74,12 @@ byte GfxFontSjis::getCharHeight(uint16 chr) {
|
||||
void GfxFontSjis::draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput) {
|
||||
// TODO: Check, if character fits on screen - if it doesn't we need to skip it
|
||||
// Normally SCI cuts the character and draws the part that fits, but the common SJIS doesn't support that
|
||||
_screen->putKanjiChar(_commonFont, left, top, chr, color);
|
||||
// It seems as if the PC98 ROM actually uses the given position as the center of the character, that's why we
|
||||
// subtract 4 here. Otherwise the characters will be slightly to the right. The actual cause for "bad" coordinates
|
||||
// is GetLongest() inside GfxText16. It leaves the last character that is causing a split to a new line within the
|
||||
// current line instead of removing it. That way the result will actually be too long (not our fault, sierra sci
|
||||
// does it the same way)
|
||||
_screen->putKanjiChar(_commonFont, left - 4, top, chr, color);
|
||||
}
|
||||
|
||||
} // End of namespace Sci
|
||||
|
Loading…
x
Reference in New Issue
Block a user