summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/command.cc1
-rw-r--r--crawl-ref/source/message.cc11
-rw-r--r--crawl-ref/source/tutorial.cc5
3 files changed, 13 insertions, 4 deletions
diff --git a/crawl-ref/source/command.cc b/crawl-ref/source/command.cc
index 7cad0c11d0..5bd032902b 100644
--- a/crawl-ref/source/command.cc
+++ b/crawl-ref/source/command.cc
@@ -2245,6 +2245,7 @@ static void _add_formatted_tutorial_help(column_composer &cols)
1,
"<h>Additional important commands\n"
"<w>S</w> : Save the game and exit\n"
+ "\n"
"<w>s</w> : search for one turn (also <w>.</w> and <w>Del</w>)\n"
"<w>5</w> : rest full/search longer (<w>Shift-Num 5</w>)\n"
"<w>x</w> : examine surroundings\n"
diff --git a/crawl-ref/source/message.cc b/crawl-ref/source/message.cc
index 4e3f805b6f..e5165c3022 100644
--- a/crawl-ref/source/message.cc
+++ b/crawl-ref/source/message.cc
@@ -57,6 +57,8 @@ public:
// Circular buffer for keeping past messages.
message_item Store_Message[ NUM_STORED_MESSAGES ]; // buffer of old messages
message_item prev_message;
+bool did_flush_message = false;
+
int Next_Message = 0; // end of messages
int Message_Line = 0; // line of next (previous?) message
@@ -757,9 +759,10 @@ static void handle_more(int colour)
// something, e.g. answer a prompt.
void flush_prev_message()
{
- if (prev_message.text.empty())
+ if (did_flush_message || prev_message.text.empty())
return;
+ did_flush_message = true;
base_mpr(prev_message.text.c_str(), prev_message.channel,
prev_message.param, prev_message.colour, prev_message.repeats,
false);
@@ -802,6 +805,7 @@ static void base_mpr(const char *inf, msg_channel_type channel, int param,
prev_message.param = param;
prev_message.colour = colour;
prev_message.repeats = repeats;
+ did_flush_message = false;
return;
}
}
@@ -845,7 +849,6 @@ static void base_mpr(const char *inf, msg_channel_type channel, int param,
static void mpr_formatted_output(formatted_string fs, int colour)
{
- flush_prev_message();
int curcol = Options.delay_message_clear ? 2 : 1;
if (need_prefix)
@@ -886,6 +889,8 @@ static void mpr_formatted_output(formatted_string fs, int colour)
void formatted_mpr(const formatted_string& fs, msg_channel_type channel,
int param)
{
+ flush_prev_message();
+
const std::string imsg = fs.tostring();
const int colour = prepare_message(imsg, channel, param);
if (colour == MSGCOL_MUTED)
@@ -914,6 +919,8 @@ void formatted_message_history(const std::string &st_nocolor,
msg_channel_type channel,
int param, int wrap_col)
{
+ flush_prev_message();
+
if (suppress_messages)
return;
diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc
index b56cf483ab..33e51eb159 100644
--- a/crawl-ref/source/tutorial.cc
+++ b/crawl-ref/source/tutorial.cc
@@ -2794,8 +2794,9 @@ void learned_something_new(tutorial_event_type seen_what, coord_def gc)
if (you.religion != GOD_NO_GOD)
listed.push_back("your religious standing (<w>^</w>)");
- listed.push_back("the character overview screen (<w>%</w>).");
- text << comma_separated_line(listed.begin(), listed.end());
+ listed.push_back("the message history (<w>Ctrl-P</w>)");
+ listed.push_back("the character overview screen (<w>%</w>)");
+ text << comma_separated_line(listed.begin(), listed.end()) << ".";
text << "\nAlternatively, you can dump all information pertaining to "
"your character into a text file with the <w>#</w> command. "