]> git.pond.sub.org Git - empserver/blobdiff - include/player.h
Update known contributors comments
[empserver] / include / player.h
index bb10d269cd5f51da4810af0cc68163e01b82dc24..8f8eb51b8a9d8aac6783c89c5de60690f6bb5820 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  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
  *  ---
  *
  *  player.h: Definitions for player information (threads)
- * 
+ *
  *  Known contributors to this file:
  *     Dave Pare, 1994
  *     Doug Hay, 1998
+ *     Markus Armbruster, 2005-2009
  */
 
 #ifndef PLAYER_H
 #include "queue.h"
 #include "types.h"
 
+       /* nstat values */
+#define VIS            bit(0)
+#define SANCT          (bit(1) | VIS)
+#define NORM           (bit(2) | VIS)
+#define GOD            (bit(3) | NORM | VIS)
+#define EXEC           bit(5)
+#define        CAP             bit(6)
+#define        MONEY           bit(7)
+
 struct player {
     struct emp_qelem queue;
     empth_t *proc;
@@ -52,40 +62,37 @@ struct player {
     natid cnum;
     int state;
     int flags;
-    struct cmndstr *command;
+    struct cmndstr *command;   /* currently executing command */
     struct iop *iop;
     char combuf[1024];         /* command input buffer, UTF-8 */
-    char *argp[128];           /* arguments, ASCII */
-    char *condarg;             /* conditional, ASCII */
-    time_t lasttime;
-    int ncomstat;
-    int minleft;
+    char *argp[128];           /* arguments, ASCII, valid if command */
+    char *condarg;             /* conditional, ASCII, valid if command */
+    char *comtail[128];                /* start of args in combuf[] */
+    time_t lasttime;           /* when nat_timeused was last updated */
     int btused;
-    int visitor;
     int god;
     int owner;
-    int nstat;
-    int waiting;
+    int nstat;                 /* command capabilities */
     int simulation;            /* e.g. budget command */
     double dolcost;
-    int broke;
-    time_t curup;              /* used in calc of minutes used */
-    int aborted;
+    time_t curup;              /* when last input was received */
+    int aborted;               /* interrupt cookie or EOF received? */
+    int eof;                   /* EOF (cookie or real) received? */
+    int recvfail;              /* #recvclient() failures */
     int curid;                 /* for pr, cur. line's id, -1 none */
-    int blitz_time;
     char *map;                 /* pointer to in-mem map */
     char *bmap;                        /* pointer to in-mem bmap */
 };
 
 #define PS_INIT                0
-#define PS_LOGIN       1
-#define PS_PLAYING     2
-#define PS_SHUTDOWN    3
-#define PS_KILL                4
+#define PS_PLAYING     1
+#define PS_SHUTDOWN    2
 
 /* player flags */
 enum {
-    PF_UTF8 = bit(0)                   /* client wants UTF-8 */
+    PF_UTF8 = bit(0),          /* client wants UTF-8 */
+    PF_DOWN = bit(1),          /* told player game is down */
+    PF_HOURS = bit(2)          /* told player hours restriction is on */
 };
 
 #endif