[Scummvm-cvs-logs] CVS: scummvm/simon charset.cpp,1.43,1.44 simon.cpp,1.544,1.545

kirben kirben at users.sourceforge.net
Thu Nov 17 17:37:16 CET 2005


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1411/simon

Modified Files:
	charset.cpp simon.cpp 
Log Message:

Add Polish charset.
Remove some hard coded values.


Index: charset.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/charset.cpp,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- charset.cpp	5 Nov 2005 18:51:12 -0000	1.43
+++ charset.cpp	18 Nov 2005 01:36:14 -0000	1.44
@@ -176,7 +176,7 @@
 	dst += READ_BE_UINT32(p);
 
 	memset(dst, 0, count);
-	if (_language == 20)
+	if (_language == Common::HB_ISR)
 		dst += width - 1; // For Hebrew, start at the right edge, not the left.
 
 	dst_org = dst;
@@ -185,13 +185,13 @@
 			dst_org += width * 10;
 			dst = dst_org;
 		} else if ((chr -= ' ') == 0) {
-			dst += (_language == 20 ? -6 : 6); // Hebrew moves to the left, all others to the right
+			dst += (_language == Common::HB_ISR ? -6 : 6); // Hebrew moves to the left, all others to the right
 		} else {
 			byte *img_hdr = src + 48 + chr * 4;
 			uint img_height = img_hdr[2];
 			uint img_width = img_hdr[3], i;
 			byte *img = src + READ_LE_UINT16(img_hdr);
-			if (_language == 20)
+			if (_language == Common::HB_ISR)
 				dst -= img_width - 1; // For Hebrew, move from right edge to left edge of image.
 			byte *cur_dst = dst;
 
@@ -211,7 +211,7 @@
 				cur_dst += width;
 			} while (--img_height);
 
-			if (_language != 20) // Hebrew character movement is done higher up
+			if (_language != Common::HB_ISR) // Hebrew character movement is done higher up
 				dst += img_width - 1;
 		}
 	}
@@ -301,8 +301,8 @@
 		video_fill_or_copy_from_3_to_2(fcs);
 	} else if (c == 0xD || c == 0xA) {
 		video_putchar_newline(fcs);
-	} else if ((c == 1 && _language != 20) || (c == 8)) {
-		if (_language == 20) { //Hebrew
+	} else if ((c == 1 && _language != Common::HB_ISR) || (c == 8)) {
+		if (_language == Common::HB_ISR) { //Hebrew
 			if (b >= 64 && b < 91)
 				width = _hebrew_char_widths [b - 64];
 
@@ -334,7 +334,7 @@
 			fcs->textRow--;
 		}
 
-		if (_language == 20) { //Hebrew
+		if (_language == Common::HB_ISR) { //Hebrew
 			if (c >= 64 && c < 91)
 				width = _hebrew_char_widths [c - 64];
 			fcs->textColumnOffset  -= width;
@@ -371,6 +371,7 @@
 
 #ifdef PALMOS_68K
 static const byte *russian_video_font;
+static const byte *polish_video_font;
 static const byte *french_video_font;
 static const byte *german_video_font;
 static const byte *hebrew_video_font;
@@ -479,6 +480,107 @@
 	240, 240, 240, 240, 240, 240, 240, 240,
 };
 
+static const byte polish_video_font[] = {
+	0, 0, 0, 0, 0, 0, 0, 0,
+	32, 112, 112, 32, 32, 0, 32, 0,
+	48, 48, 96, 0, 0, 0, 0, 0,
+	0, 0, 112, 136, 248, 128, 112, 8,
+	0, 16, 120, 128, 112, 8, 240, 0,
+	192, 64, 64, 96, 192, 64, 224, 0,
+	0, 16, 40, 16, 42, 68, 58, 0,
+	48, 48, 96, 0, 0, 0, 0, 0,
+	0, 4, 8, 8, 8, 8, 4, 0,
+	0, 32, 16, 16, 16, 16, 32, 0,
+	0, 0, 20, 8, 62, 8, 20, 0,
+	0, 32, 112, 136, 136, 136, 112, 0,
+	0, 0, 0, 0, 0, 48, 48, 96,
+	0, 0, 0, 240, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 48, 48, 0,
+	0, 32, 112, 136, 128, 136, 112, 0,
+	112, 136, 152, 168, 200, 136, 112, 0,
+	32, 96, 32, 32, 32, 32, 112, 0,
+	112, 136, 8, 48, 64, 136, 248, 0,
+	112, 136, 8, 48, 8, 136, 112, 0,
+	16, 48, 80, 144, 248, 16, 56, 0,
+	248, 128, 240, 8, 8, 136, 112, 0,
+	48, 64, 128, 240, 136, 136, 112, 0,
+	248, 136, 8, 16, 32, 32, 32, 0,
+	112, 136, 136, 112, 136, 136, 112, 0,
+	112, 136, 136, 120, 8, 16, 96, 0,
+	0, 0, 48, 48, 0, 48, 48, 0,
+	0, 32, 240, 136, 136, 136, 136, 0,
+	80, 0, 136, 136, 136, 136, 112, 0,
+	0, 32, 248, 144, 32, 72, 248, 0,
+	8, 32, 248, 144, 32, 72, 248, 0,
+	112, 136, 8, 16, 32, 0, 32, 0,
+	0, 0, 112, 8, 120, 136, 120, 4,
+	112, 136, 136, 248, 136, 136, 136, 0,
+	240, 72, 72, 112, 72, 72, 240, 0,
+	48, 72, 128, 128, 128, 72, 48, 0,
+	224, 80, 72, 72, 72, 80, 224, 0,
+	248, 72, 64, 112, 64, 72, 248, 0,
+	248, 72, 64, 112, 64, 64, 224, 0,
+	48, 72, 128, 152, 136, 72, 56, 0,
+	136, 136, 136, 248, 136, 136, 136, 0,
+	248, 32, 32, 32, 32, 32, 248, 0,
+	24, 8, 8, 8, 136, 136, 112, 0,
+	200, 72, 80, 96, 80, 72, 200, 0,
+	224, 64, 64, 64, 64, 72, 248, 0,
+	136, 216, 168, 168, 136, 136, 136, 0,
+	136, 200, 168, 152, 136, 136, 136, 0,
+	112, 136, 136, 136, 136, 136, 112, 0,
+	240, 72, 72, 112, 64, 64, 224, 0,
+	112, 136, 136, 136, 136, 168, 112, 8,
+	240, 72, 72, 112, 72, 72, 200, 0,
+	112, 136, 128, 112, 8, 136, 112, 0,
+	248, 168, 32, 32, 32, 32, 112, 0,
+	136, 136, 136, 136, 136, 136, 120, 0,
+	136, 136, 136, 80, 80, 32, 32, 0,
+	136, 136, 136, 136, 168, 216, 136, 0,
+	136, 136, 80, 32, 80, 136, 136, 0,
+	136, 136, 136, 112, 32, 32, 112, 0,
+	248, 136, 16, 32, 64, 136, 248, 0,
+	0, 14, 8, 8, 8, 8, 14, 0,
+	0, 128, 64, 32, 16, 8, 4, 0,
+	224, 64, 64, 96, 192, 72, 248, 0,
+	16, 120, 128, 112, 8, 136, 112, 0,
+	248, 72, 64, 112, 64, 72, 248, 16,
+	32, 248, 16, 32, 64, 136, 248, 0,
+	0, 0, 112, 8, 120, 136, 120, 0,
+	192, 64, 80, 104, 72, 72, 112, 0,
+	0, 0, 112, 136, 128, 136, 112, 0,
+	24, 16, 80, 176, 144, 144, 112, 0,
+	0, 0, 112, 136, 248, 128, 112, 0,
+	48, 72, 64, 224, 64, 64, 224, 0,
+	0, 0, 104, 144, 144, 112, 136, 112,
+	192, 64, 80, 104, 72, 72, 200, 0,
+	64, 0, 192, 64, 64, 64, 224, 0,
+	8, 0, 8, 8, 8, 8, 136, 112,
+	192, 64, 72, 80, 96, 80, 200, 0,
+	192, 64, 64, 64, 64, 64, 224, 0,
+	0, 0, 144, 216, 168, 136, 136, 0,
+	0, 0, 240, 136, 136, 136, 136, 0,
+	0, 0, 112, 136, 136, 136, 112, 0,
+	0, 0, 176, 72, 72, 112, 64, 224,
+	0, 0, 104, 144, 144, 112, 16, 56,
+	0, 0, 176, 72, 72, 64, 224, 0,
+	0, 0, 120, 128, 112, 8, 240, 0,
+	64, 64, 240, 64, 64, 72, 48, 0,
+	0, 0, 144, 144, 144, 144, 104, 0,
+	0, 0, 136, 136, 136, 80, 32, 0,
+	0, 0, 136, 136, 168, 216, 144, 0,
+	0, 0, 136, 80, 32, 80, 136, 0,
+	0, 0, 136, 136, 136, 112, 32, 192,
+	0, 0, 248, 144, 32, 72, 248, 0,
+	32, 80, 0, 96, 144, 144, 96, 0,
+	0, 14, 8, 48, 8, 8, 14, 0,
+	0, 8, 8, 8, 8, 8, 8, 0,
+	0, 112, 16, 12, 16, 16, 112, 0,
+	0, 0, 0, 0, 0, 0, 248, 0,
+	252, 252, 252, 252, 252, 252, 252, 252,
+	240, 240, 240, 240, 240, 240, 240, 240,
+};
+
 static const byte french_video_font[] = {
 	0, 0, 0, 0, 0, 0, 0, 0,
 	32, 112, 112, 32, 32, 0, 32, 0,
@@ -1096,20 +1198,34 @@
 	dst = dx_lock_2();
 	dst += y * _dxSurfacePitch + x * 8 + fcs->textColumnOffset;
 
-	if (_language == 21) {
+	switch(_language == 21) {
+	case Common::RU_RUS:
 		src = russian_video_font + (chr - 0x20) * 8;
-	} else if (_language == 20) {
+		break;
+	case Common::PL_POL:
+		src = polish_video_font + (chr - 0x20) * 8;
+		break;
+	case Common::HB_ISR:
 		src = hebrew_video_font + (chr - 0x20) * 8;
-	} else if (_language == 5) {
+		break;
+	case Common::ES_ESP:
 		src = spanish_video_font + (chr - 0x20) * 8;
-	} else if (_language == 3) {
+		break;
+	case Common::IT_ITA:
 		src = italian_video_font + (chr - 0x20) * 8;
-	} else if (_language == 2) {
+		break;
+	case Common::FR_FRA:
 		src = french_video_font + (chr - 0x20) * 8;
-	} else if (_language == 1) {
+		break;
+	case Common::DE_DEU:
 		src = german_video_font + (chr - 0x20) * 8;
-	} else
+		break;
+	case Common::EN_USA:
 		src = video_font + (chr - 0x20) * 8;
+		break;
+	default:
+		error("video_putchar_drawchar: Unknown language %d\n", _language);
+	}
 
 	color = fcs->text_color;
 
@@ -1137,6 +1253,7 @@
 
 _GINIT(Simon_Charset)
 _GSETPTR(Simon::russian_video_font, GBVARS_RUSSIANVIDEOFONT_INDEX, byte, GBVARS_SIMON)
+_GSETPTR(Simon::polish_video_font, GBVARS_POLISHVIDEOFONT_INDEX, byte, GBVARS_SIMON)
 _GSETPTR(Simon::french_video_font, GBVARS_FRENCHVIDEOFONT_INDEX, byte, GBVARS_SIMON)
 _GSETPTR(Simon::german_video_font, GBVARS_GERMANVIDEOFONT_INDEX, byte, GBVARS_SIMON)
 _GSETPTR(Simon::hebrew_video_font, GBVARS_HEBREWVIDEOFONT_INDEX, byte, GBVARS_SIMON)
@@ -1147,6 +1264,7 @@
 
 _GRELEASE(Simon_Charset)
 _GRELEASEPTR(GBVARS_RUSSIANVIDEOFONT_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_POLISHVIDEOFONT_INDEX, GBVARS_SIMON)
 _GRELEASEPTR(GBVARS_FRENCHVIDEOFONT_INDEX, GBVARS_SIMON)
 _GRELEASEPTR(GBVARS_GERMANVIDEOFONT_INDEX, GBVARS_SIMON)
 _GRELEASEPTR(GBVARS_HEBREWVIDEOFONT_INDEX, GBVARS_SIMON)

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.544
retrieving revision 1.545
diff -u -d -r1.544 -r1.545
--- simon.cpp	15 Nov 2005 05:35:32 -0000	1.544
+++ simon.cpp	18 Nov 2005 01:36:14 -0000	1.545
@@ -660,19 +660,19 @@
 	if ((getGameType() == GType_SIMON1) && (getFeatures() & GF_TALKIE)) {
 		// Add default file directories
 		switch (_language) {
-		case 20:
+		case Common::HB_ISR:
 			File::addDefaultDirectory(_gameDataPath + "hebrew/");
 			File::addDefaultDirectory(_gameDataPath + "HEBREW/");
 			break;
-		case  5:
+		case  Common::ES_ESP:
 			File::addDefaultDirectory(_gameDataPath + "spanish/");
 			File::addDefaultDirectory(_gameDataPath + "SPANISH/");
 			break;
-		case  3:
+		case  Common::IT_ITA:
 			File::addDefaultDirectory(_gameDataPath + "italian/");
 			File::addDefaultDirectory(_gameDataPath + "ITALIAN/");
 			break;
-		case  2:
+		case  Common::FR_FRA:
 			File::addDefaultDirectory(_gameDataPath + "french/");
 			File::addDefaultDirectory(_gameDataPath + "FRENCH/");
 			break;





More information about the Scummvm-git-logs mailing list