aboutsummaryrefslogtreecommitdiff
path: root/simon
diff options
context:
space:
mode:
authorTravis Howell2003-09-26 05:34:52 +0000
committerTravis Howell2003-09-26 05:34:52 +0000
commitc03b99eab6367c22d6a7fced806690e23ae3baa2 (patch)
treed37d19f441dd39500612608af5cb58e8f20ecb25 /simon
parent68c060405ce04ba34cb0252498e54ab77d57cc4b (diff)
downloadscummvm-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.cpp10
-rw-r--r--simon/items.cpp12
-rw-r--r--simon/simon.cpp2
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++;
}