diff options
author | Travis Howell | 2003-08-03 19:28:39 +0000 |
---|---|---|
committer | Travis Howell | 2003-08-03 19:28:39 +0000 |
commit | b63088268357882625fe5fa767f687f3202af72b (patch) | |
tree | 518d478d7cbbcf228d6016873e7ea97987959fd2 | |
parent | f18627bfd516f3417d247c7fc80c5430db14a63b (diff) | |
download | scummvm-rg350-b63088268357882625fe5fa767f687f3202af72b.tar.gz scummvm-rg350-b63088268357882625fe5fa767f687f3202af72b.tar.bz2 scummvm-rg350-b63088268357882625fe5fa767f687f3202af72b.zip |
Add Hebrew support for spoken text
Thanks to Jamieson
svn-id: r9444
-rw-r--r-- | simon/charset.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/simon/charset.cpp b/simon/charset.cpp index e1f0537f9d..774b0c1009 100644 --- a/simon/charset.cpp +++ b/simon/charset.cpp @@ -82,6 +82,8 @@ void SimonEngine::render_string(uint num_1, uint color, uint width, uint height, dst += READ_BE_UINT32(p); memset(dst, 0, count); + if (_language == 20) + dst += width - 1; // For Hebrew, start at the right edge, not the left. dst_org = dst; while ((chr = *txt++) != 0) { @@ -89,12 +91,14 @@ void SimonEngine::render_string(uint num_1, uint color, uint width, uint height, dst_org += width * 10; dst = dst_org; } else if ((chr -= ' ') == 0) { - dst += 6; + dst += (_language == 20 ? -6 : 6); // Hebrew moves to the left, all others to the right } else { byte *img_hdr = src + 48 + chr * 4; uint img_height = img_hdr[2]; uint img_width = img_hdr[3], i; byte *img = src + READ_LE_UINT16(img_hdr); + if (_language == 20) + dst -= img_width - 1; // For Hebrew, move from right edge to left edge of image. byte *cur_dst = dst; if (_game == GAME_SIMON1AMIGA) { @@ -122,7 +126,8 @@ void SimonEngine::render_string(uint num_1, uint color, uint width, uint height, cur_dst += width; } while (--img_height); - dst += img_width - 1; + if (_language != 20) // Hebrew character movement is done higher up + dst += img_width - 1; } } } |