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.
This commit is contained in:
Johannes Schickel 2011-08-20 19:36:54 +02:00
parent 5a1f75eae3
commit 59200bf426
3 changed files with 29 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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);