diff options
author | Torbjörn Andersson | 2005-07-11 13:22:55 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-07-11 13:22:55 +0000 |
commit | a2d809f854d7717f30b6595edd3a0509ea24fcf6 (patch) | |
tree | ad3f8bdd7b64ccaa841b2718a8152deddcc46bf3 /simon | |
parent | d1e7144a02c024fe7a948120821b426f4f1a77d1 (diff) | |
download | scummvm-rg350-a2d809f854d7717f30b6595edd3a0509ea24fcf6.tar.gz scummvm-rg350-a2d809f854d7717f30b6595edd3a0509ea24fcf6.tar.bz2 scummvm-rg350-a2d809f854d7717f30b6595edd3a0509ea24fcf6.zip |
In o_quit_if_user_presses_y(), assume that any unknown language (e.g.
"English (GB)") behaves like "English (US)". This is consistent with how we
handle language in the rest of the Simon engine, as far as I can see.
Should "n" really be the key for a negative answer in all languages?
svn-id: r18536
Diffstat (limited to 'simon')
-rw-r--r-- | simon/items.cpp | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/simon/items.cpp b/simon/items.cpp index 97e5350c12..a03f8fa33c 100644 --- a/simon/items.cpp +++ b/simon/items.cpp @@ -1295,6 +1295,32 @@ void SimonEngine::o_inventory_descriptions() { } void SimonEngine::o_quit_if_user_presses_y() { + // If all else fails, use English as fallback. + byte keyYes = 'y'; + byte keyNo = 'n'; + + switch (_language) { + case 21: // Russian + break; + case 20: // Hebrew + keyYes = 'f'; + break; + case 5: // Spanish + keyYes = 's'; + break; + case 3: // Italian + keyYes = 's'; + break; + case 2: // French + keyYes = 'o'; + break; + case 1: // German + keyYes = 'j'; + break; + default: + break; + } + for (;;) { delay(1); #ifdef _WIN32_WCE @@ -1307,22 +1333,11 @@ void SimonEngine::o_quit_if_user_presses_y() { } } #endif - if (_keyPressed == 'f' && _language == 20) // Hebrew - shutdown(); - if (_keyPressed == 's' && _language == 5) // Spanish - shutdown(); - if (_keyPressed == 's' && _language == 3) // Italian + if (_keyPressed == keyYes) shutdown(); - if (_keyPressed == 'o' && _language == 2) // French - shutdown(); - if (_keyPressed == 'j' && _language == 1) // German - shutdown(); - if (_keyPressed == 'y' && _language == 0) // English - shutdown(); - if (_keyPressed == 'n') - goto get_out; + else if (_keyPressed == keyNo) + break; } -get_out:; } void SimonEngine::o_unk_137(uint fcs_index) { |