diff options
author | Travis Howell | 2003-02-05 09:29:37 +0000 |
---|---|---|
committer | Travis Howell | 2003-02-05 09:29:37 +0000 |
commit | 465296ef4eb3915d0ca9afabf47824b69857b369 (patch) | |
tree | 27ca2a7fc1151a6c27411a697848ecd441d6ff34 /simon | |
parent | a3f0758bddbc10224e556ed87f96abec7912a048 (diff) | |
download | scummvm-rg350-465296ef4eb3915d0ca9afabf47824b69857b369.tar.gz scummvm-rg350-465296ef4eb3915d0ca9afabf47824b69857b369.tar.bz2 scummvm-rg350-465296ef4eb3915d0ca9afabf47824b69857b369.zip |
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
Diffstat (limited to 'simon')
-rw-r--r-- | simon/items.cpp | 25 | ||||
-rw-r--r-- | simon/simon.cpp | 107 | ||||
-rw-r--r-- | simon/verb.cpp | 24 |
3 files changed, 142 insertions, 14 deletions
diff --git a/simon/items.cpp b/simon/items.cpp index bd82f3907b..11d1ec054c 100644 --- a/simon/items.cpp +++ b/simon/items.cpp @@ -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:; } diff --git a/simon/simon.cpp b/simon/simon.cpp index c0f55bb670..53f355fa3f 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -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; diff --git a/simon/verb.cpp b/simon/verb.cpp index f75dfce31f..eb29eb5162 100644 --- a/simon/verb.cpp +++ b/simon/verb.cpp @@ -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]; |