summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/message.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/message.cc')
-rw-r--r--crawl-ref/source/message.cc29
1 files changed, 28 insertions, 1 deletions
diff --git a/crawl-ref/source/message.cc b/crawl-ref/source/message.cc
index 65faacbbd8..c6f391a53e 100644
--- a/crawl-ref/source/message.cc
+++ b/crawl-ref/source/message.cc
@@ -16,7 +16,8 @@
#include "message.h"
#include "religion.h"
-#include <string.h>
+#include <cstdarg>
+#include <cstring>
#ifdef DOS
#include <conio.h>
@@ -215,6 +216,32 @@ static char channel_to_colour( int channel, int param )
#endif
+static void do_message_print( int channel, int param,
+ const char *format, va_list argp )
+{
+ char buff[80];
+ vsnprintf( buff, sizeof( buff ), format, argp );
+ buff[79] = '\0';
+
+ mpr(buff, channel, param);
+}
+
+void mprf( int channel, const char *format, ... )
+{
+ va_list argp;
+ va_start( argp, format );
+ do_message_print( channel, 0, format, argp );
+ va_end( argp );
+}
+
+void mprf( const char *format, ... )
+{
+ va_list argp;
+ va_start( argp, format );
+ do_message_print( MSGCH_PLAIN, 0, format, argp );
+ va_end( argp );
+}
+
void mpr(const char *inf, int channel, int param)
{
char info2[80];