summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/message.cc
diff options
context:
space:
mode:
authorNeil Moore <neil@s-z.org>2013-11-30 10:49:10 -0500
committerNeil Moore <neil@s-z.org>2013-11-30 10:56:31 -0500
commit252c9087c9be1fbc75035142ae6507b3899d6eea (patch)
tree62d67bb14a0535a1df2e2866d45a0194f733e1cb /crawl-ref/source/message.cc
parent338e2d3e333d9d050bab9c9d1ff99889cfbfcd90 (diff)
downloadcrawl-ref-252c9087c9be1fbc75035142ae6507b3899d6eea.tar.gz
crawl-ref-252c9087c9be1fbc75035142ae6507b3899d6eea.zip
Add mprf_nojoin().
Diffstat (limited to 'crawl-ref/source/message.cc')
-rw-r--r--crawl-ref/source/message.cc39
1 files changed, 28 insertions, 11 deletions
diff --git a/crawl-ref/source/message.cc b/crawl-ref/source/message.cc
index 748c86637d..d0ada6d8d2 100644
--- a/crawl-ref/source/message.cc
+++ b/crawl-ref/source/message.cc
@@ -990,19 +990,19 @@ int channel_to_colour(msg_channel_type channel, int param)
}
static void do_message_print(msg_channel_type channel, int param, bool cap,
- const char *format, va_list argp)
+ bool nojoin, const char *format, va_list argp)
{
va_list ap;
va_copy(ap, argp);
char buff[200];
size_t len = vsnprintf(buff, sizeof(buff), format, argp);
if (len < sizeof(buff))
- _mpr(buff, channel, param, false, cap);
+ _mpr(buff, channel, param, nojoin, cap);
else
{
char *heapbuf = (char*)malloc(len + 1);
vsnprintf(heapbuf, len + 1, format, ap);
- _mpr(heapbuf, channel, param, false, cap);
+ _mpr(heapbuf, channel, param, nojoin, cap);
free(heapbuf);
}
va_end(ap);
@@ -1012,7 +1012,7 @@ void mprf_nocap(msg_channel_type channel, int param, const char *format, ...)
{
va_list argp;
va_start(argp, format);
- do_message_print(channel, param, false, format, argp);
+ do_message_print(channel, param, false, false, format, argp);
va_end(argp);
}
@@ -1021,7 +1021,7 @@ void mprf_nocap(msg_channel_type channel, const char *format, ...)
va_list argp;
va_start(argp, format);
do_message_print(channel, channel == MSGCH_GOD ? you.religion : 0,
- false, format, argp);
+ false, false, format, argp);
va_end(argp);
}
@@ -1029,7 +1029,7 @@ void mprf_nocap(const char *format, ...)
{
va_list argp;
va_start(argp, format);
- do_message_print(MSGCH_PLAIN, 0, false, format, argp);
+ do_message_print(MSGCH_PLAIN, 0, false, false, format, argp);
va_end(argp);
}
@@ -1037,7 +1037,7 @@ void mprf(msg_channel_type channel, int param, const char *format, ...)
{
va_list argp;
va_start(argp, format);
- do_message_print(channel, param, true, format, argp);
+ do_message_print(channel, param, true, false, format, argp);
va_end(argp);
}
@@ -1046,7 +1046,7 @@ void mprf(msg_channel_type channel, const char *format, ...)
va_list argp;
va_start(argp, format);
do_message_print(channel, channel == MSGCH_GOD ? you.religion : 0,
- true, format, argp);
+ true, false, format, argp);
va_end(argp);
}
@@ -1054,7 +1054,24 @@ void mprf(const char *format, ...)
{
va_list argp;
va_start(argp, format);
- do_message_print(MSGCH_PLAIN, 0, true, format, argp);
+ do_message_print(MSGCH_PLAIN, 0, true, false, format, argp);
+ va_end(argp);
+}
+
+void mprf_nojoin(msg_channel_type channel, const char *format, ...)
+{
+ va_list argp;
+ va_start(argp, format);
+ do_message_print(channel, channel == MSGCH_GOD ? you.religion : 0,
+ true, true, format, argp);
+ va_end(argp);
+}
+
+void mprf_nojoin(const char *format, ...)
+{
+ va_list argp;
+ va_start(argp, format);
+ do_message_print(MSGCH_PLAIN, 0, true, true, format, argp);
va_end(argp);
}
@@ -1063,7 +1080,7 @@ void dprf(const char *format, ...)
{
va_list argp;
va_start(argp, format);
- do_message_print(MSGCH_DIAGNOSTICS, 0, false, format, argp);
+ do_message_print(MSGCH_DIAGNOSTICS, 0, false, false, format, argp);
va_end(argp);
}
@@ -1074,7 +1091,7 @@ void dprf(diag_type param, const char *format, ...)
va_list argp;
va_start(argp, format);
- do_message_print(MSGCH_DIAGNOSTICS, param, false, format, argp);
+ do_message_print(MSGCH_DIAGNOSTICS, param, false, false, format, argp);
va_end(argp);
}
#endif