aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-04-09 11:34:10 +0000
committerTravis Howell2006-04-09 11:34:10 +0000
commit6a1636c292e28759728cd2c404e420936bf2dc78 (patch)
tree4f38ba85c41f4caa2e078ec20d1028c2732850c5
parent00a48b248f07fb5e0698555fe2f63377f6aba3bd (diff)
downloadscummvm-rg350-6a1636c292e28759728cd2c404e420936bf2dc78.tar.gz
scummvm-rg350-6a1636c292e28759728cd2c404e420936bf2dc78.tar.bz2
scummvm-rg350-6a1636c292e28759728cd2c404e420936bf2dc78.zip
Add font table for FF
svn-id: r21722
-rw-r--r--engines/simon/charset.cpp267
1 files changed, 237 insertions, 30 deletions
diff --git a/engines/simon/charset.cpp b/engines/simon/charset.cpp
index 0ecdebff07..87d1b943fc 100644
--- a/engines/simon/charset.cpp
+++ b/engines/simon/charset.cpp
@@ -1300,10 +1300,208 @@ static const byte video_font[] = {
};
#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 @@ void SimonEngine::video_putchar_drawchar(WindowBlock *window, uint x, uint y, by
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 @@ void SimonEngine::video_putchar_drawchar(WindowBlock *window, uint x, uint y, by
if (b < 0)
dst[i] = color;
b <<= 1;
- } while (++i != 6);
+ } while (++i != w);
dst += _dxSurfacePitch;
} while (--h);