2 * Empire - A multi-player, client/server Internet based war game.
3 * Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
4 * Ken Stevens, Steve McClure
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * See files README, COPYING and CREDITS in the root of the source
23 * tree for related information and legal notices. It is expected
24 * that future projects/authors will amend these files as needed.
28 * player.h: Definitions for player information (threads)
30 * Known contributors to this file:
33 * Markus Armbruster, 2005-2009
40 #include "empthread.h"
47 #define SANCT (bit(1) | VIS)
48 #define NORM (bit(2) | VIS)
49 #define GOD (bit(3) | NORM | VIS)
55 PLAYER_SLEEP_NEVER, PLAYER_SLEEP_ON_INPUT, PLAYER_SLEEP_FREELY
59 struct emp_qelem queue;
62 char hostname[512]; /* may be empty */
63 char client[128]; /* may be empty */
64 char userid[32]; /* may be empty */
69 struct cmndstr *command; /* currently executing command */
71 char combuf[1024]; /* command input buffer, UTF-8 */
72 char *argp[128]; /* arguments, ASCII, valid if command */
73 char *condarg; /* conditional, ASCII, valid if command */
74 char *comtail[128]; /* start of args in combuf[] */
75 time_t lasttime; /* when nat_timeused was last updated */
79 int nstat; /* command capabilities */
80 int simulation; /* e.g. budget command */
82 time_t curup; /* when last input was received */
83 enum player_sleep may_sleep; /* when may thread sleep? */
84 int aborted; /* interrupt cookie or EOF received? */
85 int eof; /* EOF (cookie or real) received? */
86 int recvfail; /* #recvclient() failures */
87 int curid; /* for pr, cur. line's id, -1 none */
88 char *map; /* pointer to in-mem map */
89 char *bmap; /* pointer to in-mem bmap */
98 PF_UTF8 = bit(0), /* client wants UTF-8 */
99 PF_DOWN = bit(1), /* told player game is down */
100 PF_HOURS = bit(2) /* told player hours restriction is on */