]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - hunt/huntd/hunt.h
fix unused variable warnings
[bsdgames-darwin.git] / hunt / huntd / hunt.h
index 3f6c4d97584e9fff83b3672f6888aa7ed4b1cb34..116a418cda7725ec9e318bfc873497fcc0a6e263 100644 (file)
-/*     $NetBSD: hunt.h,v 1.3 1998/01/09 08:03:41 perry Exp $   */
+/*     $NetBSD: hunt.h,v 1.19 2009/08/12 07:42:11 dholland Exp $       */
 
 /*
- *  Hunt
- *  Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
- *  San Francisco, California
+ * Copyright (c) 1983-2003, Regents of the University of California.
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions are 
+ * met:
+ * 
+ * + Redistributions of source code must retain the above copyright 
+ *   notice, this list of conditions and the following disclaimer.
+ * + Redistributions in binary form must reproduce the above copyright 
+ *   notice, this list of conditions and the following disclaimer in the 
+ *   documentation and/or other materials provided with the distribution.
+ * + Neither the name of the University of California, San Francisco nor 
+ *   the names of its contributors may be used to endorse or promote 
+ *   products derived from this software without specific prior written 
+ *   permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-# include "bsd.h"
-
-# include      <stdio.h>
-# include      <string.h>
-# ifdef LOG
-# include      <syslog.h>
-# endif
-# if !defined(TERMINFO) && BSD_RELEASE < 44
-# include      <sgtty.h>
-# else
-# include      <sys/ioctl.h>
-# endif
-# include      <sys/types.h>
-# include      <sys/uio.h>
-# include      <sys/socket.h>
-# ifdef        INTERNET
-# include      <netinet/in.h>
-# include      <netdb.h>
-# include      <arpa/inet.h>
-# ifdef BROADCAST
-# include      <net/if.h>
-# endif
-# else
-# include      <sys/un.h>
-# endif
-
-# ifdef        INTERNET
-# define       SOCK_FAMILY     AF_INET
-# else
-# define       SOCK_FAMILY     AF_UNIX
-# define       AF_UNIX_HACK            /* 4.2 hack; leaves files around */
-# endif
+#include "bsd.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#ifdef LOG
+#include <syslog.h>
+#endif
+
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <sys/poll.h>
+
+#ifdef INTERNET
+#include <netinet/in.h>
+#include <netdb.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#else
+#include <sys/un.h>
+#endif
+
+#ifdef INTERNET
+#define SOCK_FAMILY    AF_INET
+#else
+#define SOCK_FAMILY    AF_UNIX
+#define AF_UNIX_HACK                   /* 4.2 hack; leaves files around */
+#endif
 
 /*
  * Preprocessor define dependencies
  */
-# if defined(VOLCANO) && !defined(OOZE)
-# define OOZE
-# endif
-# if defined(BOOTS) && !defined(FLY)
-# define FLY
-# endif
-# if !defined(REFLECT) && !defined(RANDOM)
-# define RANDOM
-# endif
-# ifdef TERMINFO
-/* mvcur() in terminfo needs the curses library to be initialized to not
- * coredump, so give up and use it. */
-# define USE_CURSES
-# endif
+#if defined(VOLCANO) && !defined(OOZE)
+#define OOZE
+#endif
+#if defined(BOOTS) && !defined(FLY)
+#define FLY
+#endif
+#if !defined(REFLECT) && !defined(RANDOM)
+#define RANDOM
+#endif
 
 /* decrement version number for each change in startup protocol */
-# define       HUNT_VERSION            -1
-
-# define       ADDCH           ('a' | 0200)
-# define       MOVE            ('m' | 0200)
-# define       REFRESH         ('r' | 0200)
-# define       CLRTOEOL        ('c' | 0200)
-# define       ENDWIN          ('e' | 0200)
-# define       CLEAR           ('C' | 0200)
-# define       REDRAW          ('R' | 0200)
-# define       LAST_PLAYER     ('l' | 0200)
-# define       BELL            ('b' | 0200)
-# define       READY           ('g' | 0200)
+#define HUNT_VERSION           -1
+
+#define ADDCH          ('a' | 0200)
+#define MOVE           ('m' | 0200)
+#define REFRESH                ('r' | 0200)
+#define CLRTOEOL       ('c' | 0200)
+#define ENDWIN         ('e' | 0200)
+#define CLEAR          ('C' | 0200)
+#define REDRAW         ('R' | 0200)
+#define LAST_PLAYER    ('l' | 0200)
+#define BELL           ('b' | 0200)
+#define READY          ('g' | 0200)
 
 /*
  * Choose MAXPL and MAXMON carefully.  The screen is assumed to be
  * 23 lines high and will only tolerate (MAXPL == 17 && MAXMON == 0)
  * or (MAXPL + MAXMON <= 16).
  */
-# ifdef MONITOR
-# define       MAXPL           15
-# define       MAXMON          1
-# else
-# define       MAXPL           17
-# endif
-# define       SHORTLEN        2               /* sizeof (network short) */
-# define       LONGLEN         4               /* sizeof (network long) */
-# define       NAMELEN         20
-# define       MSGLEN          SCREEN_WIDTH
-# define       DECAY           50.0
-
-# define       NASCII          128
-
-# define       WIDTH   51
-# define       WIDTH2  64      /* Next power of 2 >= WIDTH (for fast access) */
-# define       HEIGHT  23
-# define       UBOUND  1
-# define       DBOUND  (HEIGHT - 1)
-# define       LBOUND  1
-# define       RBOUND  (WIDTH - 1)
-
-# define       SCREEN_HEIGHT   24
-# define       SCREEN_WIDTH    80
-# define       SCREEN_WIDTH2   128     /* Next power of 2 >= SCREEN_WIDTH */
-
-# define       STAT_LABEL_COL  60
-# define       STAT_VALUE_COL  74
-# define       STAT_NAME_COL   61
-# define       STAT_SCAN_COL   (STAT_NAME_COL + 5)
-# define       STAT_AMMO_ROW   0
-# define       STAT_GUN_ROW    1
-# define       STAT_DAM_ROW    2
-# define       STAT_KILL_ROW   3
-# define       STAT_PLAY_ROW   5
-# ifdef MONITOR
-# define       STAT_MON_ROW    (STAT_PLAY_ROW + MAXPL + 1)
-# endif
-# define       STAT_NAME_LEN   18
-
-# define       DOOR    '#'
-# define       WALL1   '-'
-# define       WALL2   '|'
-# define       WALL3   '+'
-# ifdef REFLECT
-# define       WALL4   '/'
-# define       WALL5   '\\'
-# endif
-# define       KNIFE   'K'
-# define       SHOT    ':'
-# define       GRENADE 'o'
-# define       SATCHEL 'O'
-# define       BOMB    '@'
-# define       MINE    ';'
-# define       GMINE   'g'
-# ifdef        OOZE
-# define       SLIME   '$'
-# endif
-# ifdef        VOLCANO
-# define       LAVA    '~'
-# endif
-# ifdef DRONE
-# define       DSHOT   '?'
-# endif
-# ifdef FLY
-# define       FALL    'F'
-# endif
-# ifdef BOOTS
-# define       NBOOTS          2
-# define       BOOT            'b'
-# define       BOOT_PAIR       'B'
-# endif
-# define       SPACE   ' '
-
-# define       ABOVE   'i'
-# define       BELOW   '!'
-# define       RIGHT   '}'
-# define       LEFTS   '{'
-# ifdef FLY
-# define       FLYER   '&'
-# define       isplayer(c)     (c == LEFTS || c == RIGHT ||\
-                               c == ABOVE || c == BELOW || c == FLYER)
-# else
-# define       isplayer(c)     (c == LEFTS || c == RIGHT ||\
-                               c == ABOVE || c == BELOW)
-# endif
-
-# define       NORTH   01
-# define       SOUTH   02
-# define       EAST    010
-# define       WEST    020
-
-# ifndef TRUE
-# define       TRUE    1
-# define       FALSE   0
-# endif
-# undef CTRL
-# define       CTRL(x) ((x) & 037)
-
-# define       BULSPD          5               /* bullets movement speed */
-# define       ISHOTS          15
-# define       NSHOTS          5
-# define       MAXNCSHOT       2
-# define       MAXDAM          10
-# define       MINDAM          5
-# define       STABDAM         2
-
-# define       BULREQ          1
-# define       GRENREQ         9
-# define       SATREQ          25
-# define       BOMB7REQ        49
-# define       BOMB9REQ        81
-# define       BOMB11REQ       121
-# define       BOMB13REQ       169
-# define       BOMB15REQ       225
-# define       BOMB17REQ       289
-# define       BOMB19REQ       361
-# define       BOMB21REQ       441
-# define       MAXBOMB         11
-# ifdef DRONE
-# define       MINDSHOT        2       /* At least a satchel bomb */
-# endif
-extern int     shot_req[];
-extern int     shot_type[];
-# ifdef        OOZE
-# define       SLIME_FACTOR    3
-# define       SLIMEREQ        5
-# define       SSLIMEREQ       10
-# define       SLIME2REQ       15
-# define       SLIME3REQ       20
-# define       MAXSLIME        4
-# define       SLIMESPEED      5
-extern int     slime_req[];
-# endif
-# ifdef        VOLCANO
-# define       LAVASPEED       1
-# endif
-
-# define       CLOAKLEN        20
-# define       SCANLEN         (Nplayer * 20)
-# define       EXPLEN          4
-
-# define       Q_QUIT          0
-# define       Q_CLOAK         1
-# define       Q_FLY           2
-# define       Q_SCAN          3
-# define       Q_MESSAGE       4
-
-# define       C_PLAYER        0
-# define       C_MONITOR       1
-# define       C_MESSAGE       2
-# define       C_SCORES        3
-
-# ifdef MONITOR
-# define       C_TESTMSG()     (Query_driver ? C_MESSAGE :\
-                               (Show_scores ? C_SCORES :\
-                               (Am_monitor ? C_MONITOR :\
-                               C_PLAYER)))
-# else
-# define       C_TESTMSG()     (Show_scores ? C_SCORES :\
-                               (Query_driver ? C_MESSAGE :\
-                               C_PLAYER))
-# endif
-
-# ifdef FLY
-# define       _scan_char(pp)  (((pp)->p_scan < 0) ? ' ' : '*')
-# define       _cloak_char(pp) (((pp)->p_cloak < 0) ? _scan_char(pp) : '+')
-# define       stat_char(pp)   (((pp)->p_flying < 0) ? _cloak_char(pp) : FLYER)
-# else
-# define       _scan_char(pp)  (((pp)->p_scan < 0) ? ' ' : '*')
-# define       stat_char(pp)   (((pp)->p_cloak < 0) ? _scan_char(pp) : '+')
-# endif
+#ifdef MONITOR
+#define MAXPL          15
+#define MAXMON         1
+#else
+#define MAXPL          17
+#define MAXMON         0
+#endif
+#define SHORTLEN       2               /* sizeof (network short) */
+#define LONGLEN                4               /* sizeof (network long) */
+#define NAMELEN                20
+#define MSGLEN         SCREEN_WIDTH
+#define DECAY          50.0
+
+#define NASCII         128
+
+#define WIDTH          51
+#define WIDTH2         64      /* Next power of 2 >= WIDTH (for fast access) */
+#define HEIGHT         23
+#define UBOUND         1
+#define DBOUND         (HEIGHT - 1)
+#define LBOUND         1
+#define RBOUND         (WIDTH - 1)
+
+#define SCREEN_HEIGHT  24
+#define SCREEN_WIDTH   80
+#define SCREEN_WIDTH2  128     /* Next power of 2 >= SCREEN_WIDTH */
+
+#define STAT_LABEL_COL 60
+#define STAT_VALUE_COL 74
+#define STAT_NAME_COL  61
+#define STAT_SCAN_COL  (STAT_NAME_COL + 5)
+#define STAT_AMMO_ROW  0
+#define STAT_GUN_ROW   1
+#define STAT_DAM_ROW   2
+#define STAT_KILL_ROW  3
+#define STAT_PLAY_ROW  5
+#ifdef MONITOR
+#define STAT_MON_ROW   (STAT_PLAY_ROW + MAXPL + 1)
+#endif
+#define STAT_NAME_LEN  18
+
+#define DOOR           '#'
+#define WALL1          '-'
+#define WALL2          '|'
+#define WALL3          '+'
+#ifdef REFLECT
+#define WALL4          '/'
+#define WALL5          '\\'
+#endif
+#define KNIFE          'K'
+#define SHOT           ':'
+#define GRENADE                'o'
+#define SATCHEL                'O'
+#define BOMB           '@'
+#define MINE           ';'
+#define GMINE          'g'
+#ifdef OOZE
+#define SLIME          '$'
+#endif
+#ifdef VOLCANO
+#define LAVA           '~'
+#endif
+#ifdef DRONE
+#define DSHOT          '?'
+#endif
+#ifdef FLY
+#define FALL           'F'
+#endif
+#ifdef BOOTS
+#define NBOOTS         2
+#define BOOT           'b'
+#define BOOT_PAIR      'B'
+#endif
+#define SPACE          ' '
+
+#define ABOVE          'i'
+#define BELOW          '!'
+#define RIGHT          '}'
+#define LEFTS          '{'
+#ifdef FLY
+#define FLYER          '&'
+#define isplayer(c)    (c == LEFTS || c == RIGHT ||\
+                        c == ABOVE || c == BELOW || c == FLYER)
+#else
+#define        isplayer(c)     (c == LEFTS || c == RIGHT ||\
+                        c == ABOVE || c == BELOW)
+#endif
+
+#define NORTH  01
+#define SOUTH  02
+#define EAST   010
+#define WEST   020
+
+#ifndef TRUE
+#define TRUE   1
+#define FALSE  0
+#endif
+
+#undef CTRL
+#define CTRL(x) ((x) & 037)
+
+#define BULSPD         5               /* bullets movement speed */
+#define ISHOTS         15
+#define NSHOTS         5
+#define MAXNCSHOT      2
+#define MAXDAM         10
+#define MINDAM         5
+#define STABDAM                2
+
+#define BULREQ         1
+#define GRENREQ                9
+#define SATREQ         25
+#define BOMB7REQ       49
+#define BOMB9REQ       81
+#define BOMB11REQ      121
+#define BOMB13REQ      169
+#define BOMB15REQ      225
+#define BOMB17REQ      289
+#define BOMB19REQ      361
+#define BOMB21REQ      441
+#define MAXBOMB                11
+#ifdef DRONE
+#define MINDSHOT       2       /* At least a satchel bomb */
+#endif
+extern int shot_req[];
+extern int shot_type[];
+#ifdef OOZE
+#define SLIME_FACTOR   3
+#define SLIMEREQ       5
+#define SSLIMEREQ      10
+#define SLIME2REQ      15
+#define SLIME3REQ      20
+#define MAXSLIME       4
+#define SLIMESPEED     5
+extern int slime_req[];
+#endif
+#ifdef VOLCANO
+#define LAVASPEED      1
+#endif
+
+#define CLOAKLEN       20
+#define SCANLEN                (Nplayer * 20)
+#define EXPLEN         4
+
+#define Q_QUIT         0
+#define Q_CLOAK                1
+#define Q_FLY          2
+#define Q_SCAN         3
+#define Q_MESSAGE      4
+
+#define C_PLAYER       0
+#define C_MONITOR      1
+#define C_MESSAGE      2
+#define C_SCORES       3
+
+#ifdef MONITOR
+#define C_TESTMSG()    (Query_driver ? C_MESSAGE :\
+                       (Show_scores ? C_SCORES :\
+                       (Am_monitor ? C_MONITOR :\
+                       C_PLAYER)))
+#else
+#define        C_TESTMSG()     (Show_scores ? C_SCORES :\
+                       (Query_driver ? C_MESSAGE :\
+                       C_PLAYER))
+#endif
+
+#ifdef FLY
+#define _scan_char(pp) (((pp)->p_scan < 0) ? ' ' : '*')
+#define _cloak_char(pp)        (((pp)->p_cloak < 0) ? _scan_char(pp) : '+')
+#define stat_char(pp)  (((pp)->p_flying < 0) ? _cloak_char(pp) : FLYER)
+#else
+#define _scan_char(pp) (((pp)->p_scan < 0) ? ' ' : '*')
+#define stat_char(pp)  (((pp)->p_cloak < 0) ? _scan_char(pp) : '+')
+#endif
 
 typedef int                    FLAG;
 typedef struct bullet_def      BULLET;
@@ -255,201 +274,185 @@ typedef struct expl_def         EXPL;
 typedef struct player_def      PLAYER;
 typedef struct ident_def       IDENT;
 typedef struct regen_def       REGEN;
-# ifdef        INTERNET
+#ifdef INTERNET
 typedef struct sockaddr_in     SOCKET;
-# else
+#else
 typedef struct sockaddr_un     SOCKET;
-# endif
-typedef struct sgttyb          TTYB;
+#endif
 
 struct ident_def {
-       char    i_name[NAMELEN];
-       char    i_team;
-       long    i_machine;
-       long    i_uid;
-       float   i_kills;
-       int     i_entries;
-       float   i_score;
-       int     i_absorbed;
-       int     i_faced;
-       int     i_shot;
-       int     i_robbed;
-       int     i_slime;
-       int     i_missed;
-       int     i_ducked;
-       int     i_gkills, i_bkills, i_deaths, i_stillb, i_saved;
-       IDENT   *i_next;
+       char i_name[NAMELEN];
+       char i_team;
+       uint32_t i_machine;
+       uint32_t i_uid;
+       float i_kills;
+       int i_entries;
+       float i_score;
+       int i_absorbed;
+       int i_faced;
+       int i_shot;
+       int i_robbed;
+       int i_slime;
+       int i_missed;
+       int i_ducked;
+       int i_gkills, i_bkills, i_deaths, i_stillb, i_saved;
+       IDENT *i_next;
 };
 
 struct player_def {
-       IDENT   *p_ident;
-       char    p_over;
-       int     p_face;
-       int     p_undershot;
-# ifdef        FLY
-       int     p_flying;
-       int     p_flyx, p_flyy;
-# endif
-# ifdef        BOOTS
-       int     p_nboots;
-# endif
-       FILE    *p_output;
-       int     p_fd;
-       int     p_mask;
-       int     p_damage;
-       int     p_damcap;
-       int     p_ammo;
-       int     p_ncshot;
-       int     p_scan;
-       int     p_cloak;
-       int     p_x, p_y;
-       int     p_ncount;
-       int     p_nexec;
-       long    p_nchar;
-       char    p_death[MSGLEN];
-       char    p_maze[HEIGHT][WIDTH2];
-       int     p_curx, p_cury;
-       int     p_lastx, p_lasty;
-       char    p_cbuf[BUFSIZ];
+       IDENT *p_ident;
+       char p_over;
+       int p_face;
+       int p_undershot;
+#ifdef FLY
+       int p_flying;
+       int p_flyx, p_flyy;
+#endif
+#ifdef BOOTS
+       int p_nboots;
+#endif
+       FILE *p_output;
+       int p_fd;
+       int p_mask;
+       int p_damage;
+       int p_damcap;
+       int p_ammo;
+       int p_ncshot;
+       int p_scan;
+       int p_cloak;
+       int p_x, p_y;
+       int p_ncount;
+       int p_nexec;
+       long p_nchar;
+       char p_death[MSGLEN];
+       char p_maze[HEIGHT][WIDTH2];
+       int p_curx, p_cury;
+       int p_lastx, p_lasty;
+       char p_cbuf[BUFSIZ];
 };
 
 struct bullet_def {
-       int     b_x, b_y;
-       int     b_face;
-       int     b_charge;
-       char    b_type;
-       char    b_size;
-       char    b_over;
-       PLAYER  *b_owner;
-       IDENT   *b_score;
-       FLAG    b_expl;
-       BULLET  *b_next;
+       int b_x, b_y;
+       int b_face;
+       int b_charge;
+       char b_type;
+       char b_size;
+       char b_over;
+       PLAYER *b_owner;
+       IDENT *b_score;
+       FLAG b_expl;
+       BULLET *b_next;
 };
 
 struct expl_def {
-       int     e_x, e_y;
-       char    e_char;
-       EXPL    *e_next;
+       int e_x, e_y;
+       char e_char;
+       EXPL *e_next;
 };
 
 struct regen_def {
-       int     r_x, r_y;
-       REGEN   *r_next;
+       int r_x, r_y;
+       REGEN *r_next;
 };
 
 /*
  * external variables
  */
 
-extern FLAG    Last_player;
+extern FLAG Last_player;
 
-extern char    Buf[BUFSIZ], Maze[HEIGHT][WIDTH2], Orig_maze[HEIGHT][WIDTH2];
+extern char Buf[BUFSIZ], Maze[HEIGHT][WIDTH2], Orig_maze[HEIGHT][WIDTH2];
 
-extern char    *Sock_name, *Driver;
+extern const char *Driver;
 
-extern int     errno, Nplayer, Num_fds, Socket, Status;
-extern fd_set  Fds_mask, Have_inp;
+extern int Nplayer, Socket, Status;
+extern struct pollfd fdset[];
 
-# ifdef INTERNET
-extern u_short Test_port;
-# else
-extern char    *Sock_name;
-# endif
+#ifdef INTERNET
+extern u_short Test_port;
+#else
+extern char *Sock_name, *Stat_name;
+#endif
 
-# ifdef VOLCANO
-extern int     volcano;
-# endif
+#ifdef VOLCANO
+extern int volcano;
+#endif
 
-extern int     See_over[NASCII];
+extern int See_over[NASCII];
 
-extern BULLET  *Bullets;
+extern BULLET *Bullets;
 
-extern EXPL    *Expl[EXPLEN];
-extern EXPL    *Last_expl;
+extern EXPL *Expl[EXPLEN];
+extern EXPL *Last_expl;
 
-extern IDENT   *Scores;
+extern IDENT *Scores;
 
-extern PLAYER  Player[MAXPL], *End_player;
-# ifdef BOOTS
-extern PLAYER  Boot[NBOOTS];
-# endif
+extern PLAYER Player[MAXPL], *End_player;
+#ifdef BOOTS
+extern PLAYER Boot[NBOOTS];
+#endif
 
-# ifdef MONITOR
-extern FLAG    Am_monitor;
-extern PLAYER  Monitor[MAXMON], *End_monitor;
-# endif
+#ifdef MONITOR
+extern FLAG Am_monitor;
+extern PLAYER Monitor[MAXMON], *End_monitor;
+#endif
 
-# ifdef INTERNET
-extern char    *Send_message;
-# endif
+#ifdef INTERNET
+extern char *Send_message;
+#endif
 
-extern char    map_key[256];
-extern FLAG    no_beep;
+extern char map_key[256];
+extern FLAG no_beep;
 
 /*
  * function types
  */
 
-void           add_shot __P((int, int, int, char, int, PLAYER *, int, char));
-int            answer __P((void));
-void           bad_con __P((void));
-void           bad_ver __P((void));
-int            broadcast_vec __P((int, struct  sockaddr **));
-void           ce __P((PLAYER *));
-void           cgoto __P((PLAYER *, int, int));
-void           check __P((PLAYER *, int, int));
-void           checkdam __P((PLAYER *, PLAYER *, IDENT *, int, char));
-void           clearwalls __P((void));
-void           clear_eol __P((void));
-void           clear_the_screen __P((void));
-void           clrscr __P((PLAYER *));
-BULLET        *create_shot __P((int, int, int, char, int, int, PLAYER *,
-                   IDENT *, int, char));
-void           do_connect __P((char *, char, long));
-void           do_message __P((void));
-void           drawmaze __P((PLAYER *));
-void           drawplayer __P((PLAYER *, FLAG));
-void           drawstatus __P((PLAYER *));
-void           execute __P((PLAYER *));
-void           faketalk __P((void));
-void           find_driver __P((FLAG));
-void           fixshots __P((int, int, char));
-IDENT         *get_ident __P((u_long, u_long, char *, char));
-void           get_local_name __P((char *));
-int            get_remote_name __P((char *));
-BULLET        *is_bullet __P((int, int));
-void           look __P((PLAYER *));
-void           makemaze __P((void));
-void           message __P((PLAYER *, char *));
-void           mon_execute __P((PLAYER *));
-void           moveshots __P((void));
-void           open_ctl __P((void));
-int            opposite __P((int, char));
-void           otto __P((int, int, char));
-void           outch __P((PLAYER *, int));
-void           outstr __P((PLAYER *, char *, int));
-int            player_sym __P((PLAYER *, int, int));
-PLAYER        *play_at __P((int, int));
-void           playit __P((void));
-void           put_ch __P((char));
-void           put_str __P((char *));
-int            quit __P((int));
-int            rand_dir __P((void));
-int            rand_num __P((int));
-void           redraw_screen __P((void));
-void           rmnl __P((char *));
-void           rollexpl __P((void));
-void           see __P((PLAYER *, int));
-void           sendcom __P((PLAYER *, int, ...));
-void           showexpl __P((int, int, char));
-void           showstat __P((PLAYER *));
-void           start_driver __P((void));
-void           stmonitor __P((PLAYER *));
-void           stplayer __P((PLAYER *, int));
-char           translate __P((char));
-SIGNAL_TYPE    cleanup __P((int));
-SIGNAL_TYPE    intr __P((int));
-SIGNAL_TYPE    sigalrm __P((int));
-SIGNAL_TYPE    sigemt __P((int));
-SIGNAL_TYPE    sigterm __P((int));
-SIGNAL_TYPE    tstp __P((int));
+void add_shot(int, int, int, char, int, PLAYER *, int, char);
+int answer(void);
+void bad_con(void) __dead;
+void bad_ver(void) __dead;
+void ce(PLAYER *);
+void cgoto(PLAYER *, int, int);
+void check(PLAYER *, int, int);
+void checkdam(PLAYER *, PLAYER *, IDENT *, int, char);
+void clearwalls(void);
+void clear_eol(void);
+void clear_the_screen(void);
+void clrscr(PLAYER *);
+BULLET *create_shot(int, int, int, char, int, int, PLAYER *,
+                   IDENT *, int, char);
+void do_connect(char *, char, long);
+void do_message(void);
+void drawmaze(PLAYER *);
+void drawplayer(PLAYER *, FLAG);
+void execute(PLAYER *);
+void faketalk(void);
+void fixshots(int, int, char);
+void get_local_name(char *);
+int get_remote_name(char *);
+BULLET *is_bullet(int, int);
+void look(PLAYER *);
+void makemaze(void);
+void message(PLAYER *, const char *);
+void mon_execute(PLAYER *);
+void moveshots(void);
+void open_ctl(void);
+int opposite(int, char);
+void otto(int, int, char);
+void outch(PLAYER *, int);
+void outstr(PLAYER *, const char *, int);
+PLAYER *play_at(int, int);
+void playit(void);
+void put_ch(char);
+void put_str(char *);
+int quit(int);
+int rand_dir(void);
+int rand_num(int);
+void rollexpl(void);
+void sendcom(PLAYER *, int, ...);
+void showexpl(int, int, char);
+void showstat(PLAYER *);
+void cleanup(int) __dead;
+void intr(int);
+void tstp(int);