aboutsummaryrefslogtreecommitdiff
path: root/simon
diff options
context:
space:
mode:
authorTorbjörn Andersson2005-07-11 13:22:55 +0000
committerTorbjörn Andersson2005-07-11 13:22:55 +0000
commita2d809f854d7717f30b6595edd3a0509ea24fcf6 (patch)
treead3f8bdd7b64ccaa841b2718a8152deddcc46bf3 /simon
parentd1e7144a02c024fe7a948120821b426f4f1a77d1 (diff)
downloadscummvm-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.cpp43
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) {