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 | |
| 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
| -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++;  				}  | 
