aboutsummaryrefslogtreecommitdiff
path: root/simon/charset.cpp
diff options
context:
space:
mode:
authorTravis Howell2004-07-31 10:14:05 +0000
committerTravis Howell2004-07-31 10:14:05 +0000
commit6d52fbe0b10bba3e8ae5f328bb186f8048bc0c8d (patch)
tree41c9e70825bfecaf7839f613afeb42f21112d883 /simon/charset.cpp
parentcef2de6a691288d26f9bdba912fdfa373ffa204e (diff)
downloadscummvm-rg350-6d52fbe0b10bba3e8ae5f328bb186f8048bc0c8d.tar.gz
scummvm-rg350-6d52fbe0b10bba3e8ae5f328bb186f8048bc0c8d.tar.bz2
scummvm-rg350-6d52fbe0b10bba3e8ae5f328bb186f8048bc0c8d.zip
Add support for Russian Simon1.
svn-id: r14376
Diffstat (limited to 'simon/charset.cpp')
-rw-r--r--simon/charset.cpp106
1 files changed, 105 insertions, 1 deletions
diff --git a/simon/charset.cpp b/simon/charset.cpp
index cafb549009..5cf47802e0 100644
--- a/simon/charset.cpp
+++ b/simon/charset.cpp
@@ -373,6 +373,7 @@ void SimonEngine::video_putchar_newline(FillOrCopyStruct *fcs) {
}
#ifdef __PALM_OS__
+static const byte *russian_video_font;
static const byte *french_video_font;
static const byte *german_video_font;
static const byte *hebrew_video_font;
@@ -380,6 +381,107 @@ static const byte *italian_video_font;
static const byte *spanish_video_font;
static const byte *video_font;
#else
+static const byte russian_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, 144, 0, 96, 144, 144, 104, 0,
+ 0, 144, 0, 96, 144, 144, 96, 0,
+ 0, 144, 0, 144, 144, 144, 96, 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,
+ 72, 84, 84, 116, 84, 84, 72, 0,
+ 0, 112, 136, 240, 136, 136, 240, 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,
+ 16, 32, 0, 120, 112, 64, 56, 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,
+ 32, 16, 0, 112, 8, 248, 120, 0,
+ 0, 0, 96, 48, 40, 40, 112, 0,
+ 0, 0, 112, 88, 20, 20, 56, 0,
+ 0, 0, 120, 4, 28, 4, 120, 0,
+ 112, 136, 8, 16, 32, 0, 32, 0,
+ 0, 0, 84, 84, 84, 84, 56, 4,
+ 56, 68, 68, 124, 68, 68, 68, 0,
+ 124, 36, 32, 56, 36, 36, 120, 0,
+ 120, 36, 36, 56, 36, 36, 120, 0,
+ 124, 36, 32, 32, 32, 32, 112, 0,
+ 56, 40, 40, 40, 40, 40, 124, 68,
+ 124, 36, 32, 56, 32, 36, 124, 0,
+ 84, 84, 84, 56, 84, 84, 84, 0,
+ 56, 68, 4, 24, 4, 68, 56, 0,
+ 68, 68, 76, 84, 100, 68, 68, 0,
+ 100, 40, 40, 48, 40, 36, 100, 0,
+ 28, 36, 36, 36, 36, 36, 100, 0,
+ 68, 108, 84, 68, 68, 68, 68, 0,
+ 68, 68, 68, 124, 68, 68, 68, 0,
+ 56, 68, 68, 68, 68, 68, 56, 0,
+ 124, 68, 68, 68, 68, 68, 68, 0,
+ 120, 36, 36, 56, 32, 32, 112, 0,
+ 56, 68, 64, 64, 64, 68, 56, 0,
+ 124, 84, 16, 16, 16, 16, 56, 0,
+ 100, 36, 36, 28, 4, 4, 56, 0,
+ 56, 84, 84, 84, 56, 16, 56, 0,
+ 108, 40, 16, 16, 40, 40, 108, 0,
+ 72, 72, 72, 72, 72, 72, 60, 4,
+ 76, 72, 72, 56, 8, 8, 28, 0,
+ 84, 84, 84, 84, 84, 84, 60, 0,
+ 84, 84, 84, 84, 84, 84, 56, 4,
+ 56, 68, 4, 28, 4, 68, 56, 0,
+ 0, 0, 68, 100, 84, 84, 100, 0,
+ 0, 0, 72, 84, 116, 84, 72, 0,
+ 0, 0, 60, 68, 60, 36, 100, 0,
+ 0, 0, 120, 4, 24, 4, 120, 0,
+ 0, 0, 100, 40, 48, 40, 100, 0,
+ 60, 68, 68, 60, 36, 68, 68, 0,
+ 0, 0, 56, 4, 60, 68, 60, 0,
+ 60, 64, 32, 56, 68, 68, 56, 0,
+ 48, 72, 80, 120, 68, 68, 56, 0,
+ 0, 0, 120, 4, 56, 64, 60, 0,
+ 56, 4, 4, 60, 68, 68, 56, 0,
+ 0, 0, 56, 68, 120, 64, 56, 0,
+ 40, 0, 56, 68, 120, 64, 56, 0,
+ 0, 0, 84, 84, 56, 84, 84, 0,
+ 64, 0, 192, 64, 64, 64, 224, 0,
+ 0, 0, 68, 68, 68, 68, 60, 0,
+ 56, 0, 68, 68, 68, 68, 60, 0,
+ 192, 64, 64, 64, 64, 64, 224, 0,
+ 0, 0, 28, 36, 36, 36, 100, 0,
+ 0, 0, 68, 108, 84, 68, 68, 0,
+ 0, 0, 56, 68, 68, 68, 56, 0,
+ 0, 0, 68, 68, 124, 68, 68, 0,
+ 0, 0, 124, 68, 68, 68, 68, 0,
+ 0, 0, 120, 36, 36, 56, 32, 112,
+ 0, 0, 60, 64, 64, 64, 60, 0,
+ 0, 0, 124, 84, 16, 16, 56, 0,
+ 0, 0, 68, 68, 60, 4, 56, 0,
+ 48, 16, 56, 84, 84, 56, 16, 56,
+ 0, 0, 68, 40, 16, 40, 68, 0,
+ 0, 0, 72, 72, 72, 72, 60, 4,
+ 0, 0, 76, 72, 72, 56, 8, 28,
+ 0, 0, 84, 84, 84, 84, 60, 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,
@@ -997,7 +1099,9 @@ void SimonEngine::video_putchar_drawchar(FillOrCopyStruct *fcs, uint x, uint y,
dst = dx_lock_2();
dst += y * _dx_surface_pitch + x * 8 + fcs->textColumnOffset;
- if (_language == 20) {
+ if (_language == 21) {
+ src = russian_video_font + (chr - 0x20) * 8;
+ } else if (_language == 20) {
src = hebrew_video_font + (chr - 0x20) * 8;
} else if (_language == 5) {
src = spanish_video_font + (chr - 0x20) * 8;