diff options
Diffstat (limited to 'engines/scumm/dialogs.cpp')
-rw-r--r-- | engines/scumm/dialogs.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 1e0bf6d4be..093a103cc8 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -45,7 +45,6 @@ #include "scumm/scumm.h" #include "scumm/imuse/imuse.h" #include "scumm/imuse_digi/dimuse.h" -#include "scumm/player_v2.h" #include "scumm/verbs.h" #include "sound/mididrv.h" #include "sound/mixer.h" @@ -473,14 +472,25 @@ void PauseDialog::handleKeyDown(Common::KeyState state) { } ConfirmDialog::ConfirmDialog(ScummEngine *scumm, int res) - : InfoDialog(scumm, res) { + : InfoDialog(scumm, res), _yesKey('y'), _noKey('n') { + + if (_message.lastChar() != ')') { + _yesKey = _message.lastChar(); + _message.deleteLastChar(); + + if (_yesKey >= 'A' && _yesKey <= 'Z') + _yesKey += 'a' - 'A'; + + _text->setLabel(_message); + reflowLayout(); + } } void ConfirmDialog::handleKeyDown(Common::KeyState state) { - if (state.keycode == Common::KEYCODE_n) { + if (state.keycode == Common::KEYCODE_n || state.ascii == _noKey) { setResult(0); close(); - } else if (state.keycode == Common::KEYCODE_y) { + } else if (state.keycode == Common::KEYCODE_y || state.ascii == _yesKey) { setResult(1); close(); } else |