diff options
author | Travis Howell | 2003-10-08 07:38:48 +0000 |
---|---|---|
committer | Travis Howell | 2003-10-08 07:38:48 +0000 |
commit | 802a2a1310cea01a95c5d9a698440a221a418043 (patch) | |
tree | e5dcee4601d128911a23693032db464b3b402c62 /simon | |
parent | 7adf0ff1fcd4e22c957455bb4ab7e24dc7a07e72 (diff) | |
download | scummvm-rg350-802a2a1310cea01a95c5d9a698440a221a418043.tar.gz scummvm-rg350-802a2a1310cea01a95c5d9a698440a221a418043.tar.bz2 scummvm-rg350-802a2a1310cea01a95c5d9a698440a221a418043.zip |
Fix display of verb name text when verb is selected in Simon the Sorcerer 1 and enable for all versions of the game.
svn-id: r10677
Diffstat (limited to 'simon')
-rw-r--r-- | simon/simon.cpp | 3 | ||||
-rw-r--r-- | simon/simon.h | 1 | ||||
-rw-r--r-- | simon/verb.cpp | 101 |
3 files changed, 97 insertions, 8 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp index 1330d83177..bb4b25133d 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -284,7 +284,6 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) _video_var_8 = 0; _use_palette_delay = 0; _sync_flag_2 = 0; - _hitarea_unk_6 = 0; _in_callback = 0; _cepe_flag = 0; _copy_partial_mode = 0; @@ -1379,7 +1378,6 @@ void SimonEngine::setup_cond_c_helper() { _last_hitarea = 0; _hitarea_object_item = NULL; - _hitarea_unk_6 = true; last = _last_hitarea_2_ptr; defocusHitarea(); @@ -1415,7 +1413,6 @@ out_of_here: _last_hitarea_3 = 0; _last_hitarea = 0; _last_hitarea_2_ptr = NULL; - _hitarea_unk_6 = false; } void SimonEngine::startSubroutine170() { diff --git a/simon/simon.h b/simon/simon.h index c5f47671f2..7dfc856c60 100644 --- a/simon/simon.h +++ b/simon/simon.h @@ -174,7 +174,6 @@ protected: byte _video_var_8; bool _use_palette_delay; bool _sync_flag_2; - bool _hitarea_unk_6; bool _in_callback; bool _cepe_flag; byte _copy_partial_mode; diff --git a/simon/verb.cpp b/simon/verb.cpp index 108ce5406c..256a8e92b0 100644 --- a/simon/verb.cpp +++ b/simon/verb.cpp @@ -26,7 +26,92 @@ namespace Simon { -static const char *const verb_names[] = { +static const char *const hebrew_verb_names[] = { + "LJ @L", + "DQZKL RL", + "TZG", + "DFF", + + "@KEL", + "DXM", + "QBEX", + "DYZNY", + + "CAX @L", + "DQX", + "LAY", + "ZO" +}; + +static const char *const spanish_verb_names[] = { + "Caminar", + "Mirar", + "Abrir", + "Mover", + + "Consumir", + "Coger", + "Cerrar", + "Usar", + + "Hablar", + "Quitar", + "Llevar", + "Dar" +}; + +static const char *const italian_verb_names[] = { + "Vai verso", + "Osserva", + "Apri", + "Sposta", + + "Mangia", + "Raccogli", + "Chiudi", + "Usa", + + "Parla a", + "Togli", + "Indossa", + "Dai" +}; + +static const char *const french_verb_names[] = { + "Aller vers", + "Regarder", + "Ouvrir", + "D/placer", + + "Consommer", + "Prendre", + "Fermer", + "Utiliser", + + "Parler ;", + "Enlever", + "Mettre", + "Donner" +}; + +static const char *const german_verb_names[] = { + "Gehe zu", + "Schau an", + ";ffne", + "Bewege", + + "Verzehre", + "Nimm", + "Schlie+e", + "Benutze", + + "Rede mit", + "Entferne", + "Trage", + "Gib" +}; + +static const char *const english_verb_names[] = { "Walk to", "Look at", "Open", @@ -99,14 +184,14 @@ void SimonEngine::defocusHitarea() { hitareaChangedHelper(); _hitarea_ptr_7 = last; - if (last != NULL && _hitarea_unk_6 && - (ha = findHitAreaByID(200)) && (ha->flags & 0x40) && !(last->flags & 0x40)) + if (last != NULL && (ha = findHitAreaByID(200)) && (ha->flags & 0x40) && !(last->flags & 0x40)) focusVerb(last->id); } void SimonEngine::focusVerb(uint hitarea_id) { uint x; const char *txt; + const char * const *verb_names; const char * const *verb_prep_names; hitarea_id -= 101; @@ -123,7 +208,15 @@ void SimonEngine::focusVerb(uint hitarea_id) { CHECK_BOUNDS(hitarea_id, english_verb_prep_names); txt = verb_prep_names[hitarea_id]; } else { - CHECK_BOUNDS(hitarea_id, verb_names); + switch (_language) { + case 20: verb_names = hebrew_verb_names; break; + case 5: verb_names = spanish_verb_names; break; + case 3: verb_names = italian_verb_names; break; + case 2: verb_names = french_verb_names; break; + case 1: verb_names = german_verb_names; break; + default: verb_names = english_verb_names; break; + } + CHECK_BOUNDS(hitarea_id, english_verb_names); txt = verb_names[hitarea_id]; } x = (53 - strlen(txt)) * 3; |