aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--simon/charset.cpp1
-rw-r--r--simon/simon.cpp28
2 files changed, 20 insertions, 9 deletions
diff --git a/simon/charset.cpp b/simon/charset.cpp
index 9843822a54..e1f0537f9d 100644
--- a/simon/charset.cpp
+++ b/simon/charset.cpp
@@ -244,7 +244,6 @@ void SimonEngine::video_putchar(FillOrCopyStruct *fcs, byte c) {
if (_language == 20) { //Hebrew
if (c >= 64 && c < 91)
width = _hebrew_char_widths [c-64];
-
fcs->textColumnOffset -= width;
if (fcs->textColumnOffset >= width) {
++fcs->textColumn;
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 18a353dcf0..ad00b4e7ef 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -2676,15 +2676,27 @@ restart:;
// now process entire savegame name to get correct x offset for cursor
name_len = 0;
while (name[name_len]) {
- fcs->textLength++;
- fcs->textColumnOffset += 6;
- if (name[name_len] == 'i' || name[name_len] == 'l')
- fcs->textColumnOffset -= 2;
- if (fcs->textColumnOffset >= 8) {
- fcs->textColumnOffset -= 8;
- fcs->textColumn++;
+ if (_language == 20) {
+ byte width = 6;
+ if (name[name_len] >= 64 && name[name_len] < 91)
+ width = _hebrew_char_widths [name[name_len]-64];
+ fcs->textLength++;
+ fcs->textColumnOffset -= width;
+ if (fcs->textColumnOffset >= width) {
+ fcs->textColumnOffset += 8;
+ fcs->textColumn++;
+ }
+ } else {
+ fcs->textLength++;
+ fcs->textColumnOffset += 6;
+ if (name[name_len] == 'i' || name[name_len] == 'l')
+ fcs->textColumnOffset -= 2;
+ if (fcs->textColumnOffset >= 8) {
+ fcs->textColumnOffset -= 8;
+ fcs->textColumn++;
+ }
+ name_len++;
}
- name_len++;
}
// while_1_end