xref: /dragonfly/games/hunt/huntd/hunt.h (revision 86d7f5d3)
1*86d7f5d3SJohn Marino /*-
2*86d7f5d3SJohn Marino  * Copyright (c) 1983-2003, Regents of the University of California.
3*86d7f5d3SJohn Marino  * All rights reserved.
4*86d7f5d3SJohn Marino  *
5*86d7f5d3SJohn Marino  * Redistribution and use in source and binary forms, with or without
6*86d7f5d3SJohn Marino  * modification, are permitted provided that the following conditions are
7*86d7f5d3SJohn Marino  * met:
8*86d7f5d3SJohn Marino  *
9*86d7f5d3SJohn Marino  * 1. Redistributions of source code must retain the above copyright
10*86d7f5d3SJohn Marino  *    notice, this list of conditions and the following disclaimer.
11*86d7f5d3SJohn Marino  * 2. Redistributions in binary form must reproduce the above copyright
12*86d7f5d3SJohn Marino  *    notice, this list of conditions and the following disclaimer in the
13*86d7f5d3SJohn Marino  *    documentation and/or other materials provided with the distribution.
14*86d7f5d3SJohn Marino  * 3. Neither the name of the University of California, San Francisco nor
15*86d7f5d3SJohn Marino  *    the names of its contributors may be used to endorse or promote
16*86d7f5d3SJohn Marino  *    products derived from this software without specific prior written
17*86d7f5d3SJohn Marino  *    permission.
18*86d7f5d3SJohn Marino  *
19*86d7f5d3SJohn Marino  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20*86d7f5d3SJohn Marino  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21*86d7f5d3SJohn Marino  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22*86d7f5d3SJohn Marino  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23*86d7f5d3SJohn Marino  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24*86d7f5d3SJohn Marino  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25*86d7f5d3SJohn Marino  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26*86d7f5d3SJohn Marino  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27*86d7f5d3SJohn Marino  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28*86d7f5d3SJohn Marino  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29*86d7f5d3SJohn Marino  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30*86d7f5d3SJohn Marino  *
31*86d7f5d3SJohn Marino  * $OpenBSD: hunt.h,v 1.5 2003/06/11 08:45:33 pjanzen Exp $
32*86d7f5d3SJohn Marino  * $NetBSD: hunt.h,v 1.5 1998/09/13 15:27:28 hubertf Exp $
33*86d7f5d3SJohn Marino  * $DragonFly: src/games/hunt/huntd/hunt.h,v 1.1 2008/09/02 21:50:21 dillon Exp $
34*86d7f5d3SJohn Marino  */
35*86d7f5d3SJohn Marino 
36*86d7f5d3SJohn Marino /*
37*86d7f5d3SJohn Marino  * Preprocessor define dependencies
38*86d7f5d3SJohn Marino  */
39*86d7f5d3SJohn Marino 
40*86d7f5d3SJohn Marino /* decrement version number for each change in startup protocol */
41*86d7f5d3SJohn Marino # define	HUNT_VERSION		(-1)
42*86d7f5d3SJohn Marino # define	HUNT_PORT		(('h' << 8) | 't')
43*86d7f5d3SJohn Marino 
44*86d7f5d3SJohn Marino # define	ADDCH		('a' | 0200)
45*86d7f5d3SJohn Marino # define	MOVE		('m' | 0200)
46*86d7f5d3SJohn Marino # define	REFRESH		('r' | 0200)
47*86d7f5d3SJohn Marino # define	CLRTOEOL	('c' | 0200)
48*86d7f5d3SJohn Marino # define	ENDWIN		('e' | 0200)
49*86d7f5d3SJohn Marino # define	CLEAR		('C' | 0200)
50*86d7f5d3SJohn Marino # define	REDRAW		('R' | 0200)
51*86d7f5d3SJohn Marino # define	LAST_PLAYER	('l' | 0200)
52*86d7f5d3SJohn Marino # define	BELL		('b' | 0200)
53*86d7f5d3SJohn Marino # define	READY		('g' | 0200)
54*86d7f5d3SJohn Marino 
55*86d7f5d3SJohn Marino # define	SCREEN_HEIGHT	24
56*86d7f5d3SJohn Marino # define	SCREEN_WIDTH	80
57*86d7f5d3SJohn Marino # define	HEIGHT	23
58*86d7f5d3SJohn Marino # define	WIDTH	51
59*86d7f5d3SJohn Marino # define	SCREEN_WIDTH2	128	/* Next power of 2 >= SCREEN_WIDTH */
60*86d7f5d3SJohn Marino # define	WIDTH2	64	/* Next power of 2 >= WIDTH (for fast access) */
61*86d7f5d3SJohn Marino 
62*86d7f5d3SJohn Marino # define	NAMELEN		20
63*86d7f5d3SJohn Marino 
64*86d7f5d3SJohn Marino # define	Q_QUIT		0
65*86d7f5d3SJohn Marino # define	Q_CLOAK		1
66*86d7f5d3SJohn Marino # define	Q_FLY		2
67*86d7f5d3SJohn Marino # define	Q_SCAN		3
68*86d7f5d3SJohn Marino # define	Q_MESSAGE	4
69*86d7f5d3SJohn Marino 
70*86d7f5d3SJohn Marino # define	C_PLAYER	0
71*86d7f5d3SJohn Marino # define	C_MONITOR	1
72*86d7f5d3SJohn Marino # define	C_MESSAGE	2
73*86d7f5d3SJohn Marino # define	C_SCORES	3
74*86d7f5d3SJohn Marino # define	C_TESTMSG()	(Query_driver ? C_MESSAGE :\
75*86d7f5d3SJohn Marino 				(Show_scores ? C_SCORES :\
76*86d7f5d3SJohn Marino 				(Am_monitor ? C_MONITOR :\
77*86d7f5d3SJohn Marino 				C_PLAYER)))
78*86d7f5d3SJohn Marino 
79*86d7f5d3SJohn Marino typedef int			FLAG;
80*86d7f5d3SJohn Marino 
81*86d7f5d3SJohn Marino /* Objects within the maze: */
82*86d7f5d3SJohn Marino 
83*86d7f5d3SJohn Marino # define	DOOR	'#'
84*86d7f5d3SJohn Marino # define	WALL1	'-'
85*86d7f5d3SJohn Marino # define	WALL2	'|'
86*86d7f5d3SJohn Marino # define	WALL3	'+'
87*86d7f5d3SJohn Marino # define	WALL4	'/'
88*86d7f5d3SJohn Marino # define	WALL5	'\\'
89*86d7f5d3SJohn Marino # define	KNIFE	'K'
90*86d7f5d3SJohn Marino # define	SHOT	':'
91*86d7f5d3SJohn Marino # define	GRENADE	'o'
92*86d7f5d3SJohn Marino # define	SATCHEL	'O'
93*86d7f5d3SJohn Marino # define	BOMB	'@'
94*86d7f5d3SJohn Marino # define	MINE	';'
95*86d7f5d3SJohn Marino # define	GMINE	'g'
96*86d7f5d3SJohn Marino # define	SLIME	'$'
97*86d7f5d3SJohn Marino # define	LAVA	'~'
98*86d7f5d3SJohn Marino # define	DSHOT	'?'
99*86d7f5d3SJohn Marino # define	FALL	'F'
100*86d7f5d3SJohn Marino # define	BOOT		'b'
101*86d7f5d3SJohn Marino # define	BOOT_PAIR	'B'
102*86d7f5d3SJohn Marino 
103*86d7f5d3SJohn Marino # define	SPACE	' '
104*86d7f5d3SJohn Marino 
105*86d7f5d3SJohn Marino # define	ABOVE	'i'
106*86d7f5d3SJohn Marino # define	BELOW	'!'
107*86d7f5d3SJohn Marino # define	RIGHT	'}'
108*86d7f5d3SJohn Marino # define	LEFTS	'{'
109*86d7f5d3SJohn Marino # define	FLYER	'&'
110*86d7f5d3SJohn Marino # define	is_player(c)	(c == LEFTS || c == RIGHT ||\
111*86d7f5d3SJohn Marino 				c == ABOVE || c == BELOW || c == FLYER)
112*86d7f5d3SJohn Marino 
113*86d7f5d3SJohn Marino # ifndef TRUE
114*86d7f5d3SJohn Marino # define	TRUE	1
115*86d7f5d3SJohn Marino # define	FALSE	0
116*86d7f5d3SJohn Marino # endif
117*86d7f5d3SJohn Marino 
118