Add guess word for spanish version

Add better hebrew support, font doesn't seem quite right though.
Divide quit section into languages

svn-id: r6585
This commit is contained in:
Travis Howell 2003-02-05 09:29:37 +00:00
parent a3f0758bdd
commit 465296ef4e
3 changed files with 142 additions and 14 deletions

View File

@ -1313,16 +1313,21 @@ void SimonState::o_quit_if_user_presses_y()
{
for (;;) {
delay(1);
switch (_key_pressed) {
case 'y':
case 'o': // french
case 'j': // german
_system->quit();
break;
case 'n':
goto get_out;
}
if (_key_pressed == 'f' && _language == 20) // Hebrew
_system->quit();
// FIXME Exact key press for Spanish verison unknown
if (_key_pressed == 'y' && _language == 5) // Spanish
_system->quit();
if (_key_pressed == 's' && _language == 3) // Italian
_system->quit();
if (_key_pressed == 'o' && _language == 2) // French
_system->quit();
if (_key_pressed == 'j' && _language == 1) // German
_system->quit();
if (_key_pressed == 'y' && _language == 0) // English
_system->quit();
if (_key_pressed == 'n')
goto get_out;
}
get_out:;
}

View File

@ -3235,7 +3235,6 @@ void SimonState::processSpecialKeys()
if (_game & GAME_SIMON2)
_exit_cutscene = true;
break;
case 't':
_vk_t_toggle ^= 1;
if (_game == GAME_SIMON1TALKIE || _game == GAME_SIMON1WIN && _vk_t_toggle)
@ -3720,6 +3719,107 @@ void SimonState::video_putchar_newline(FillOrCopyStruct *fcs)
fcs->textRow++;
}
static const byte hebrew_video_font[] = {
0, 0, 0, 0, 0, 0, 0, 0, //4, 43, 0, 178, 0, 38, 0, 176,
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,
0, 0, 20, 8, 62, 8, 20, 0,
0, 112, 136, 240, 136, 136, 240, 0,
0, 0, 0, 0, 0, 48, 48, 96,
0, 0, 0, 240, 100, 0, 178, 0,
9, 0, 176, 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, 5, 5,
4, 6, 5, 3, 4, 5, 6, 3,
5, 5, 4, 6, 5, 3, 4, 6,
5, 6, 6, 6, 5, 5, 5, 6,
5, 6, 6, 6, 6, 6, 112, 136,
8, 16, 32, 0, 32, 0, 0, 0,
144, 80, 160, 144, 144, 0, 0, 0,
224, 32, 32, 32, 240, 0, 0, 0,
224, 32, 96, 160, 160, 0, 0, 0,
248, 16, 16, 16, 16, 0, 0, 0,
240, 16, 16, 144, 144, 0, 0, 0,
192, 64, 64, 64, 64, 0, 0, 0,
224, 64, 32, 64, 64, 0, 0, 0,
240, 144, 144, 144, 144, 0, 0, 0,
184, 168, 136, 136, 112, 0, 0, 0,
192, 64, 0, 0, 0, 0, 0, 0,
240, 16, 16, 16, 16, 16, 0, 0,
224, 16, 16, 16, 224, 0, 128, 128,
224, 32, 32, 32, 192, 0, 0, 0,
248, 72, 72, 72, 120, 0, 0, 0,
176, 208, 144, 144, 176, 0, 0, 0,
192, 64, 64, 64, 64, 64, 0, 0,
96, 32, 32, 32, 224, 0, 0, 0,
248, 72, 72, 72, 48, 0, 0, 0,
80, 80, 80, 80, 224, 0, 0, 0,
248, 72, 104, 8, 8, 8, 0, 0,
248, 72, 104, 8, 248, 0, 0, 0,
216, 72, 48, 16, 16, 16, 0, 0,
144, 80, 32, 16, 240, 0, 0, 0,
240, 16, 144, 160, 128, 128, 0, 0,
240, 16, 16, 16, 16, 0, 0, 0,
168, 168, 200, 136, 112, 0, 0, 0,
240, 80, 80, 80, 208, 0, 0, 14,
8, 8, 8, 8, 14, 0, 0, 128,
64, 32, 16, 8, 4, 0, 0, 112,
16, 16, 16, 16, 112, 0, 0, 48,
72, 64, 72, 48, 16, 48, 0, 80,
0, 96, 32, 40, 48, 0, 32, 16,
0, 152, 144, 144, 232, 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, 139, 2,
178, 252, 8, 0, 176, 240, 8, 0,
176, 32, 33, 34, 35, 36, 37, 38,
};
static const byte video_font[] = {
0, 0, 0, 0, 0, 0, 0, 0,
32, 112, 112, 32, 32, 0, 32, 0,
@ -3832,7 +3932,10 @@ void SimonState::video_putchar_drawchar(FillOrCopyStruct *fcs, uint x, uint y, b
dst = dx_lock_2();
dst += y * _dx_surface_pitch + x * 8 + fcs->textColumnOffset;
src = video_font + (chr - 0x20) * 8;
if (_language == 20)
src = hebrew_video_font + (chr - 0x20) * 8;
else
src = video_font + (chr - 0x20) * 8;
color = fcs->text_color;

View File

@ -41,6 +41,18 @@ static const char *const verb_names[] = {
"Give"
};
static const char *const hebrew_verb_prep_names[] = {
"", "", "", "",
"", "", "", "RM ND ?",
"", "", "", "LNI ?"
};
static const char *const spanish_verb_prep_names[] = {
"", "", "", "",
"", "", "", "con qu/ ?",
"", "", "", "qui/n ?"
};
static const char *const italian_verb_prep_names[] = {
"", "", "", "",
"", "", "", "con che cosa ?",
@ -98,7 +110,11 @@ void SimonState::focusVerb(uint hitarea_id)
hitarea_id -= 101;
if (_language == 3) {
if (_language == 20) {
CHECK_BOUNDS(hitarea_id, hebrew_verb_prep_names);
} else if (_language == 5) {
CHECK_BOUNDS(hitarea_id, spanish_verb_prep_names);
} else if (_language == 3) {
CHECK_BOUNDS(hitarea_id, italian_verb_prep_names);
} else if (_language == 2) {
CHECK_BOUNDS(hitarea_id, french_verb_prep_names);
@ -109,7 +125,11 @@ void SimonState::focusVerb(uint hitarea_id)
}
if (_show_preposition) {
if (_language == 3) {
if (_language == 20) {
CHECK_BOUNDS(hitarea_id, hebrew_verb_prep_names);
} else if (_language == 5) {
txt = spanish_verb_prep_names[hitarea_id];
} else if (_language == 3) {
txt = italian_verb_prep_names[hitarea_id];
} else if (_language == 2) {
txt = french_verb_prep_names[hitarea_id];