From 0b2bd31010826a32faa129c532b31d19dd167b38 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sat, 2 Aug 2003 07:10:30 +0000 Subject: Hebrew support for load/save dialog svn-id: r9398 --- simon/charset.cpp | 1 - simon/simon.cpp | 28 ++++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) (limited to 'simon') 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 -- cgit v1.2.3