diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-11-01 12:11:05 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-11-01 12:11:05 +0000 |
commit | 0a8672084b1c7d63b2e87a5a6e579f4c2afeabd7 (patch) | |
tree | 0433cac3c2c0180fe1c02f87d5465d2adffb5c09 /crawl-ref/source/stuff.cc | |
parent | b0bb78bd1d4f2364fb560ce31dadd878d3253573 (diff) | |
download | crawl-ref-0a8672084b1c7d63b2e87a5a6e579f4c2afeabd7.tar.gz crawl-ref-0a8672084b1c7d63b2e87a5a6e579f4c2afeabd7.zip |
Allow yesno to use an override keymap applied after getchm(), make Escape cancel out of the explore stop prompt (bobbens).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2716 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/stuff.cc')
-rw-r--r-- | crawl-ref/source/stuff.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crawl-ref/source/stuff.cc b/crawl-ref/source/stuff.cc index 7562d1e0b0..29c03cd096 100644 --- a/crawl-ref/source/stuff.cc +++ b/crawl-ref/source/stuff.cc @@ -725,7 +725,8 @@ void canned_msg(canned_message_type which_message) // jmf: general helper (should be used all over in code) // -- idea borrowed from Nethack bool yesno( const char *str, bool safe, int safeanswer, bool clear_after, - bool interrupt_delays, bool noprompt ) + bool interrupt_delays, bool noprompt, + const explicit_keymap *map ) { if (interrupt_delays && !crawl_state.is_repeating_cmd()) interrupt_activity( AI_FORCE_INTERRUPT ); @@ -737,6 +738,9 @@ bool yesno( const char *str, bool safe, int safeanswer, bool clear_after, int tmp = getchm(KC_CONFIRM); + if (map && map->find(tmp) != map->end()) + tmp = map->find(tmp)->second; + if ((tmp == ' ' || tmp == 27 || tmp == '\r' || tmp == '\n') && safeanswer) tmp = safeanswer; |