/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
* ---
*
* pr.c: Output to players
- *
+ *
* Known contributors to this file:
- * Dave Pare, 1986, 1989
+ * Dave Pare, 1986, 1989
* Steve McClure, 1998-2000
* Ron Koenderink, 2005
- * Markus Armbruster, 2005-2007
+ * Markus Armbruster, 2005-2008
*/
/*
#include "com.h"
#include "empio.h"
#include "file.h"
+#include "journal.h"
#include "misc.h"
#include "nat.h"
#include "player.h"
if (p->curid >= 0) {
io_puts(p->iop, "\n");
+ journal_output(p, "\n");
p->curid = -1;
}
va_start(ap, format);
bp += len;
}
}
+ journal_output(pl, buf);
}
/*
io_puts(pl->iop, printbuf);
}
}
+ journal_output(pl, buf);
}
/*
buf[1] = ' ';
buf[2] = '\0';
io_puts(pl->iop, buf);
+ journal_output(pl, buf);
pl->curid = n;
}
{
int r;
- /*
- * Each prompt must consume one line of input. recvclient()
- * doesn't do that while player->aborted.
- */
- CANT_HAPPEN(player->aborted);
-
if (CANT_HAPPEN(!prompt))
prompt = "? ";
{
int r;
- /* See prmptrd() */
- CANT_HAPPEN(player->aborted);
-
if (CANT_HAPPEN(!prompt))
prompt = "? ";
/*
* Print to country CN similar to printf().
* Use printf-style FORMAT with the optional arguments.
- * If CN is the current player and we're not in the update, print just
- * like pr(). Else print into a bulletin.
+ * If CN is zero, don't print anything.
+ * Else, if CN is the current player and we're not in the update,
+ * print just like pr(). Else print into a bulletin.
* Because printing like pr() requires normal text, and bulletins
* require user text, only plain ASCII is allowed.
*/
char buf[4096];
va_list ap;
+ if (!cn)
+ return;
va_start(ap, format);
(void)vsprintf(buf, format, ap);
va_end(ap);
- if (cn) {
- if (update_running || cn != player->cnum)
- typed_wu(0, cn, buf, TEL_BULLETIN);
- else
- pr_player(player, C_DATA, buf);
- }
+ if (update_running || cn != player->cnum)
+ typed_wu(0, cn, buf, TEL_BULLETIN);
+ else
+ pr_player(player, C_DATA, buf);
}
/*