[Scummvm-cvs-logs] SF.net SVN: scummvm: [21722] scummvm/trunk/engines/simon/charset.cpp

kirben at users.sourceforge.net kirben at users.sourceforge.net
Sun Apr 9 04:35:03 CEST 2006


Revision: 21722
Author:   kirben
Date:     2006-04-09 04:34:10 -0700 (Sun, 09 Apr 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21722&view=rev

Log Message:
-----------
Add font table for FF

Modified Paths:
--------------
    scummvm/trunk/engines/simon/charset.cpp
Modified: scummvm/trunk/engines/simon/charset.cpp
===================================================================
--- scummvm/trunk/engines/simon/charset.cpp	2006-04-09 10:58:18 UTC (rev 21721)
+++ scummvm/trunk/engines/simon/charset.cpp	2006-04-09 11:34:10 UTC (rev 21722)
@@ -1300,10 +1300,208 @@
 };
 #endif
 
+static const byte feeble_video_font[] = {
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	128,128,128,128,128,128,128,0,0,128,0,0,0,
+	144,144,144,0,0,0,0,0,0,0,0,0,0,
+	0,72,252,72,72,252,72,0,0,0,0,0,0,
+	124,146,144,144,124,18,18,18,146,124,16,16,0,
+	62,98,146,100,8,16,32,76,146,140,0,0,0,
+	0,112,136,136,80,32,82,138,132,122,0,0,0,
+	128,128,128,0,0,0,0,0,0,0,0,0,0,
+	32,64,128,128,128,128,128,128,64,32,0,0,0,
+	128,64,32,32,32,32,32,32,64,128,0,0,0,
+	16,146,84,56,56,84,146,16,0,0,0,0,0,
+	0,0,16,16,16,254,16,16,16,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,64,64,128,0,
+	0,0,0,0,0,254,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,128,0,0,0,
+	0,0,1,2,4,8,16,32,64,128,128,0,0,
+	120,132,132,132,132,132,132,132,132,120,0,0,0,
+	16,48,16,16,16,16,16,16,16,56,0,0,0,
+	120,132,132,4,4,8,16,32,64,252,0,0,0,
+	124,130,130,2,2,28,2,2,130,124,0,0,0,
+	4,12,20,36,68,132,254,4,4,4,0,0,0,
+	254,128,128,252,2,2,2,2,130,124,0,0,0,
+	62,64,128,252,130,130,130,130,130,124,0,0,0,
+	254,2,2,2,2,4,8,16,16,16,0,0,0,
+	120,132,132,132,120,132,132,132,132,120,0,0,0,
+	124,130,130,130,130,130,126,2,2,124,0,0,0,
+	0,0,0,0,128,0,0,0,128,0,0,0,0,
+	0,0,0,0,0,64,0,0,0,64,64,128,0,
+	0,0,16,32,64,128,64,32,16,0,0,0,0,
+	0,0,0,254,0,0,254,0,0,0,0,0,0,
+	0,0,128,64,32,16,32,64,128,0,0,0,0,
+	60,66,130,2,4,8,16,16,0,16,16,0,0,
+	60,66,130,154,166,166,156,128,128,126,0,0,0,
+	124,130,130,130,130,254,130,130,130,130,0,0,0,
+	252,130,130,130,252,130,130,130,130,252,0,0,0,
+	124,130,130,128,128,128,128,130,130,124,0,0,0,
+	252,130,130,130,130,130,130,130,130,252,0,0,0,
+	254,128,128,128,128,252,128,128,128,254,0,0,0,
+	254,128,128,128,128,252,128,128,128,128,0,0,0,
+	124,130,130,128,128,134,130,130,130,124,0,0,0,
+	130,130,130,130,130,254,130,130,130,130,0,0,0,
+	224,64,64,64,64,64,64,64,64,224,0,0,0,
+	30,2,2,2,2,2,130,130,130,124,0,0,0,
+	130,130,132,136,144,224,144,136,132,130,0,0,0,
+	128,128,128,128,128,128,128,128,128,254,0,0,0,
+	130,198,170,146,130,130,130,130,130,130,0,0,0,
+	130,130,194,162,146,138,134,130,130,130,0,0,0,
+	124,130,130,130,130,130,130,130,130,124,0,0,0,
+	252,130,130,130,130,252,128,128,128,128,0,0,0,
+	124,130,130,130,130,130,130,130,130,126,2,2,0,
+	252,130,130,130,130,252,130,130,130,130,0,0,0,
+	124,130,128,128,124,2,2,130,130,124,0,0,0,
+	254,16,16,16,16,16,16,16,16,16,0,0,0,
+	130,130,130,130,130,130,130,130,130,124,0,0,0,
+	130,130,130,130,130,130,130,68,40,16,0,0,0,
+	130,130,130,130,130,130,130,146,170,198,0,0,0,
+	130,68,40,16,16,16,16,40,68,130,0,0,0,
+	130,130,130,130,68,40,16,16,16,16,0,0,0,
+	254,2,2,4,8,16,32,64,128,254,0,0,0,
+	224,128,128,128,128,128,128,128,128,224,0,0,0,
+	128,128,64,32,16,8,4,2,1,0,0,0,0,
+	224,32,32,32,32,32,32,32,32,224,0,0,0,
+	160,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,255,0,0,0,
+	32,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,62,66,130,130,130,134,122,0,0,0,
+	128,128,128,252,130,130,130,130,130,252,0,0,0,
+	0,0,0,124,130,128,128,128,130,124,0,0,0,
+	2,2,2,126,130,130,130,130,130,126,0,0,0,
+	0,0,0,124,130,130,254,128,128,126,0,0,0,
+	28,32,32,248,32,32,32,32,32,32,0,0,0,
+	0,0,0,62,66,130,130,130,130,126,2,2,124,
+	128,128,128,252,130,130,130,130,130,130,0,0,0,
+	64,0,0,64,192,64,64,64,64,224,0,0,0,
+	16,0,0,16,16,16,16,16,16,16,16,16,224,
+	128,128,128,132,136,144,224,144,136,132,0,0,0,
+	192,64,64,64,64,64,64,64,64,64,0,0,0,
+	0,0,0,252,146,146,146,146,146,146,0,0,0,
+	0,0,0,156,162,194,130,130,130,130,0,0,0,
+	0,0,0,124,130,130,130,130,130,124,0,0,0,
+	0,0,0,252,130,130,130,130,130,252,128,128,128,
+	0,0,0,126,130,130,130,130,130,126,2,2,2,
+	0,0,0,156,162,194,128,128,128,128,0,0,0,
+	0,0,0,124,128,128,120,4,4,248,0,0,0,
+	32,32,32,248,32,32,32,32,32,28,0,0,0,
+	0,0,0,130,130,130,130,130,130,126,0,0,0,
+	0,0,0,130,130,130,130,68,40,16,0,0,0,
+	0,0,0,146,146,146,146,146,146,124,0,0,0,
+	0,0,0,130,68,40,16,40,68,130,0,0,0,
+	0,0,0,130,130,130,130,130,130,126,2,2,124,
+	0,0,0,254,4,8,16,32,64,254,0,0,0,
+	48,64,64,64,64,128,64,64,64,64,48,0,0,
+	128,128,128,128,128,128,128,128,128,128,128,128,0,
+	192,32,32,32,32,16,32,32,32,32,192,0,0,
+	152,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,254,0,0,
+	124,130,130,128,128,128,128,130,130,124,16,16,48,
+	0,40,0,130,130,130,130,130,130,126,0,0,0,
+	16,32,0,124,130,130,254,128,128,126,0,0,0,
+	16,40,0,62,66,130,130,130,134,122,0,0,0,
+	0,40,0,62,66,130,130,130,134,122,0,0,0,
+	16,8,0,62,66,130,130,130,134,122,0,0,0,
+	8,20,8,62,66,130,130,130,134,122,0,0,0,
+	0,0,0,124,130,128,128,128,130,124,16,16,48,
+	16,40,0,124,130,130,254,128,128,126,0,0,0,
+	0,40,0,124,130,130,254,128,128,126,0,0,0,
+	16,8,0,124,130,130,254,128,128,126,0,0,0,
+	0,160,0,64,192,64,64,64,64,224,0,0,0,
+	64,160,0,64,192,64,64,64,64,224,0,0,0,
+	128,64,0,64,192,64,64,64,64,224,0,0,0,
+	40,0,124,130,130,130,254,130,130,130,0,0,0,
+	16,40,124,130,130,130,254,130,130,130,0,0,0,
+	40,0,254,128,128,252,128,128,128,254,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	16,40,0,124,130,130,130,130,130,124,0,0,0,
+	0,40,0,124,130,130,130,130,130,124,0,0,0,
+	32,16,0,124,130,130,130,130,130,124,0,0,0,
+	16,40,0,130,130,130,130,130,130,126,0,0,0,
+	16,8,0,130,130,130,130,130,130,126,0,0,0,
+	0,40,0,130,130,130,130,130,130,126,2,2,124,
+	40,0,124,130,130,130,130,130,130,124,0,0,0,
+	40,0,130,130,130,130,130,130,130,124,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	8,16,0,62,66,130,130,130,134,122,0,0,0,
+	64,128,0,64,192,64,64,64,64,224,0,0,0,
+	16,32,0,124,130,130,130,130,130,124,0,0,0,
+	8,16,0,130,130,130,130,130,130,126,0,0,0,
+	20,40,0,156,162,194,130,130,130,130,0,0,0,
+	20,40,130,194,162,146,138,134,130,130,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	16,16,0,16,16,32,64,128,130,132,120,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	128,0,0,128,128,128,128,128,128,128,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+	60,66,130,130,130,132,132,130,130,130,156,128,128,
+	0,0,0,0,0,0,0,0,0,0,0,0,0,
+};
+
 void SimonEngine::video_putchar_drawchar(WindowBlock *window, uint x, uint y, byte chr) {
 	const byte *src;
 	byte color, *dst;
-	uint h, i;
+	uint h, w, i;
 
 	if (_noOracleScroll)
 		return;
@@ -1313,38 +1511,47 @@
 	dst = getFrontBuf();
 	dst += y * _dxSurfacePitch + x + window->textColumnOffset;
 
-	switch(_language) {
-	case Common::RU_RUS:
-		src = russian_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::PL_POL:
-		src = polish_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::HB_ISR:
-		src = hebrew_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::ES_ESP:
-		src = spanish_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::IT_ITA:
-		src = italian_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::FR_FRA:
-		src = french_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::DE_DEU:
-		src = german_video_font + (chr - 0x20) * 8;
-		break;
-	case Common::EN_ANY:
-		src = video_font + (chr - 0x20) * 8;
-		break;
-	default:
-		error("video_putchar_drawchar: Unknown language %d\n", _language);
+	if (getGameType() == GType_FF) {
+		h = 13;
+		w =  feebleFontSize[chr - 0x20];
+
+		src = feeble_video_font + (chr - 0x20) * 13;
+	} else {
+		h = 8;
+		w = 6;
+
+		switch(_language) {
+		case Common::RU_RUS:
+			src = russian_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::PL_POL:
+			src = polish_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::HB_ISR:
+			src = hebrew_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::ES_ESP:
+			src = spanish_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::IT_ITA:
+			src = italian_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::FR_FRA:
+			src = french_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::DE_DEU:
+			src = german_video_font + (chr - 0x20) * 8;
+			break;
+		case Common::EN_ANY:
+			src = video_font + (chr - 0x20) * 8;
+			break;
+		default:
+			error("video_putchar_drawchar: Unknown language %d\n", _language);
+		}
 	}
 
 	color = window->text_color;
 
-	h = 8;
 	do {
 		int8 b = *src++;
 		i = 0;
@@ -1352,7 +1559,7 @@
 			if (b < 0)
 				dst[i] = color;
 			b <<= 1;
-		} while (++i != 6);
+		} while (++i != w);
 		dst += _dxSurfacePitch;
 	} while (--h);
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list