diff options
-rw-r--r-- | crawl-ref/source/message.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/message.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/tilereg.cc | 12 | ||||
-rw-r--r-- | crawl-ref/source/tilesdl.cc | 2 |
4 files changed, 9 insertions, 16 deletions
diff --git a/crawl-ref/source/message.cc b/crawl-ref/source/message.cc index 24c014dfae..aedfa7ba65 100644 --- a/crawl-ref/source/message.cc +++ b/crawl-ref/source/message.cc @@ -756,7 +756,7 @@ static void base_mpr(const char *inf, msg_channel_type channel, int param, { if (Options.force_more_message[i].is_filtered( channel, imsg )) { - more(); + more(true); New_Message_Count = 0; // One more() is quite enough, thank you! break; @@ -884,7 +884,7 @@ void formatted_message_history(const std::string &st_nocolor, { if (Options.force_more_message[f].is_filtered(channel, st_nocolor)) { - more(); + more(true); New_Message_Count = 0; // One more() is quite enough, thank you! break; @@ -928,7 +928,7 @@ void reset_more_autoclear() autoclear_more = false; } -void more(void) +void more(bool user_forced) { #ifdef DEBUG_DIAGNOSTICS if (you.running) @@ -976,7 +976,8 @@ void more(void) } while (keypress != ' ' && keypress != '\r' && keypress != '\n' && keypress != ESCAPE && keypress != -1 - && keypress != CK_MOUSE_CLICK); + && (user_forced || keypress != CK_MOUSE_CLICK)); + if (keypress == ESCAPE) autoclear_more = true; } diff --git a/crawl-ref/source/message.h b/crawl-ref/source/message.h index 5ccc166d07..4f7cb8f1de 100644 --- a/crawl-ref/source/message.h +++ b/crawl-ref/source/message.h @@ -31,7 +31,7 @@ void mesclr( bool force = false ); * item_use - items - message - misc - ouch - player - * religion - spell - spells - spells2 - spells3 * *********************************************************************** */ -void more(void); +void more(bool user_forced = false); class formatted_string; diff --git a/crawl-ref/source/tilereg.cc b/crawl-ref/source/tilereg.cc index e001386f73..68ed8f5cd9 100644 --- a/crawl-ref/source/tilereg.cc +++ b/crawl-ref/source/tilereg.cc @@ -831,15 +831,7 @@ int DungeonRegion::handle_mouse(MouseEvent &event) || mouse_control::current_mode() == MOUSE_MODE_MACRO || mouse_control::current_mode() == MOUSE_MODE_MORE) { - if (event.event == MouseEvent::PRESS - && event.button == MouseEvent::LEFT) - { - return CK_MOUSE_CLICK; - } - else - { - return 0; - } + return 0; } int cx; @@ -2229,7 +2221,7 @@ int MessageRegion::handle_mouse(MouseEvent &event) return 0; if (mouse_control::current_mode() != MOUSE_MODE_COMMAND) - return CK_MOUSE_CLICK; + return 0; return CONTROL('P'); } diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc index 84eb19ff61..116b799163 100644 --- a/crawl-ref/source/tilesdl.cc +++ b/crawl-ref/source/tilesdl.cc @@ -615,7 +615,7 @@ int TilesFramework::handle_mouse(MouseEvent &event) && event.button == MouseEvent::LEFT && event.event == MouseEvent::PRESS) { - return '\r'; + return CK_MOUSE_CLICK; } // TODO enne - in what cases should the buttons be returned? |