diff options
Diffstat (limited to 'crawl-ref/source/message.cc')
-rw-r--r-- | crawl-ref/source/message.cc | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/crawl-ref/source/message.cc b/crawl-ref/source/message.cc index 62fa88ea1c..4bad0ce3d1 100644 --- a/crawl-ref/source/message.cc +++ b/crawl-ref/source/message.cc @@ -190,10 +190,6 @@ int channel_to_colour( int channel, int param ) ret = CYAN; break; - case MSGCH_DANGER_MAGIC: - ret = LIGHTCYAN; - break; - case MSGCH_DIAGNOSTICS: case MSGCH_MULTITURN_ACTION: ret = DARKGREY; // makes it easier to ignore at times -- bwr @@ -350,7 +346,7 @@ static void base_mpr(const char *inf, int channel, int param) } } - if (Options.sound_mappings.size() > 0) + if (!Options.sound_mappings.empty()) { std::string message = inf; for (unsigned i = 0; i < Options.sound_mappings.size(); i++) @@ -365,6 +361,22 @@ static void base_mpr(const char *inf, int channel, int param) } } + if (!Options.message_colour_mappings.empty()) + { + std::string message = inf; + for (int i = 0, size = Options.message_colour_mappings.size(); + i < size; ++i) + { + const message_colour_mapping &m = + Options.message_colour_mappings[i]; + if (m.message.is_filtered(channel, message)) + { + colour = m.colour; + break; + } + } + } + flush_input_buffer( FLUSH_ON_MESSAGE ); const int num_lines = get_message_window_height(); |