aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2011-08-20 19:36:54 +0200
committerJohannes Schickel2011-08-20 19:36:54 +0200
commit59200bf426cc85b9ec49865010a035ce214bb2bd (patch)
treeb8e7237896fa47827024e6f599ac37da1062912e
parent5a1f75eae3a1d15bf0c610d2468a2afef30a893b (diff)
downloadscummvm-rg350-59200bf426cc85b9ec49865010a035ce214bb2bd.tar.gz
scummvm-rg350-59200bf426cc85b9ec49865010a035ce214bb2bd.tar.bz2
scummvm-rg350-59200bf426cc85b9ec49865010a035ce214bb2bd.zip
SCUMM: Fix compilation when translation support is disabled.
For this I added a convenience version of getLanguageYesNo, which works on the currently setup GUI translation language. All other code which requires this acan also use it instead of having to worry about the USE_TRANSLATION and thus having two code paths.
-rw-r--r--common/localization.cpp9
-rw-r--r--common/localization.h21
-rw-r--r--engines/scumm/dialogs.cpp2
3 files changed, 29 insertions, 3 deletions
diff --git a/common/localization.cpp b/common/localization.cpp
index c4c76c3b99..afd31b8d22 100644
--- a/common/localization.cpp
+++ b/common/localization.cpp
@@ -20,6 +20,7 @@
*/
#include "common/localization.h"
+#include "common/translation.h"
namespace Common {
@@ -54,4 +55,12 @@ void getLanguageYesNo(Language id, KeyCode &keyYes, KeyCode &keyNo) {
}
}
+void getLanguageYesNo(KeyCode &keyYes, KeyCode &keyNo) {
+#ifdef USE_TRANSLATION
+ getLanguageYesNo(Common::parseLanguageFromLocale(TransMan.getCurrentLanguage().c_str()), keyYes, keyNo);
+#else
+ getLanguageYesNo(Common::EN_ANY, keyYes, keyNo);
+#endif
+}
+
} // End of namespace Common
diff --git a/common/localization.h b/common/localization.h
index 879c31c1c7..3945cf5fab 100644
--- a/common/localization.h
+++ b/common/localization.h
@@ -27,9 +27,26 @@
namespace Common {
-/** Get localized equivalents for Y/N buttons */
+/**
+ * Get localized equivalents for Y/N buttons of the specified language. In
+ * case there is no specialized keys for the given language it will fall back
+ * to the English keys.
+ *
+ * @param id Language id
+ * @param keyYes Key code for yes
+ * @param keyYes Key code for no
+ */
void getLanguageYesNo(Language id, KeyCode &keyYes, KeyCode &keyNo);
-} // End of namespace Common
+/**
+ * Get localized equivalents for Y/N buttons of the current translation
+ * language of the ScummVM GUI.
+ *
+ * @param keyYes Key code for yes
+ * @param keyYes Key code for no
+ */
+void getLanguageYesNo(KeyCode &keyYes, KeyCode &keyNo);
+
+} // End of namespace Common
#endif
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 0b98ac22b6..74a92f2204 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -491,7 +491,7 @@ ConfirmDialog::ConfirmDialog(ScummEngine *scumm, int res)
void ConfirmDialog::handleKeyDown(Common::KeyState state) {
Common::KeyCode keyYes, keyNo;
- Common::getLanguageYesNo(Common::parseLanguageFromLocale(TransMan.getCurrentLanguage().c_str()), keyYes, keyNo);
+ Common::getLanguageYesNo(keyYes, keyNo);
if (state.keycode == Common::KEYCODE_n || state.ascii == _noKey || state.ascii == keyNo) {
setResult(0);