diff options
author | Travis Howell | 2003-09-26 05:34:52 +0000 |
---|---|---|
committer | Travis Howell | 2003-09-26 05:34:52 +0000 |
commit | c03b99eab6367c22d6a7fced806690e23ae3baa2 (patch) | |
tree | d37d19f441dd39500612608af5cb58e8f20ecb25 /simon | |
parent | 68c060405ce04ba34cb0252498e54ab77d57cc4b (diff) | |
download | scummvm-rg350-c03b99eab6367c22d6a7fced806690e23ae3baa2.tar.gz scummvm-rg350-c03b99eab6367c22d6a7fced806690e23ae3baa2.tar.bz2 scummvm-rg350-c03b99eab6367c22d6a7fced806690e23ae3baa2.zip |
Small correction for simon1/2 Hebrew
svn-id: r10411
Diffstat (limited to 'simon')
-rw-r--r-- | simon/charset.cpp | 10 | ||||
-rw-r--r-- | simon/items.cpp | 12 | ||||
-rw-r--r-- | simon/simon.cpp | 2 |
3 files changed, 16 insertions, 8 deletions
diff --git a/simon/charset.cpp b/simon/charset.cpp index 774b0c1009..9bb8665c93 100644 --- a/simon/charset.cpp +++ b/simon/charset.cpp @@ -215,11 +215,12 @@ void SimonEngine::video_putchar(FillOrCopyStruct *fcs, byte c) { video_fill_or_copy_from_3_to_2(fcs); } else if (c == 0xD || c == 0xA) { video_putchar_newline(fcs); - } else if (c == 8 || (_language != 20 && c == 1)) { + } else if ((c == 1 && _language != 20) || (c == 8)) { if (_language == 20) { //Hebrew + if (c >= 64 && c < 91) + width = _hebrew_char_widths [c-64]; + if (fcs->textLength != 0) { - if (c >= 64 && c < 91) - width = _hebrew_char_widths [c-64]; fcs->textLength--; fcs->textColumnOffset += width; if (fcs->textColumnOffset >= 8) { @@ -229,6 +230,7 @@ void SimonEngine::video_putchar(FillOrCopyStruct *fcs, byte c) { } } else { int8 val = (c == 8) ? 6 : 4; + if (fcs->textLength != 0) { fcs->textLength--; fcs->textColumnOffset -= val; @@ -251,7 +253,7 @@ void SimonEngine::video_putchar(FillOrCopyStruct *fcs, byte c) { width = _hebrew_char_widths [c-64]; fcs->textColumnOffset -= width; if (fcs->textColumnOffset >= width) { - ++fcs->textColumn; + fcs->textColumn++; fcs->textColumnOffset += 8; } video_putchar_drawchar(fcs, fcs->width + fcs->x - fcs->textColumn, fcs->textRow * 8 + fcs->y, c); diff --git a/simon/items.cpp b/simon/items.cpp index 947bf4cf88..02d738041b 100644 --- a/simon/items.cpp +++ b/simon/items.cpp @@ -1490,9 +1490,15 @@ void SimonEngine::o_unk_132_helper_2(FillOrCopyStruct *fcs, int x) { old_text = fcs->text_color; fcs->text_color = fcs->fill_color; - x += 120; - if (x != 128) - x = 129; + if (_language == 20) { //Hebrew + x = 128; + } else { + x += 120; + if (x != 128) + x = 129; + + } + video_putchar(fcs, x); fcs->text_color = old_text; diff --git a/simon/simon.cpp b/simon/simon.cpp index fce3ee104b..cf10e66c4b 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -2733,7 +2733,7 @@ restart:; width = _hebrew_char_widths [name[name_len]-64]; fcs->textLength++; fcs->textColumnOffset -= width; - if (fcs->textColumnOffset >= width) { + if (fcs->textColumnOffset < width) { fcs->textColumnOffset += 8; fcs->textColumn++; } |