xref: /openbsd/games/atc/struct.h (revision 2317ec67)
1*2317ec67Smestre /*	$OpenBSD: struct.h,v 1.6 2015/12/31 16:50:29 mestre Exp $	*/
2df930be7Sderaadt /*	$NetBSD: struct.h,v 1.3 1995/03/21 15:04:31 cgd Exp $	*/
3df930be7Sderaadt 
4df930be7Sderaadt /*-
5df930be7Sderaadt  * Copyright (c) 1990, 1993
6df930be7Sderaadt  *	The Regents of the University of California.  All rights reserved.
7df930be7Sderaadt  *
8df930be7Sderaadt  * This code is derived from software contributed to Berkeley by
9df930be7Sderaadt  * Ed James.
10df930be7Sderaadt  *
11df930be7Sderaadt  * Redistribution and use in source and binary forms, with or without
12df930be7Sderaadt  * modification, are permitted provided that the following conditions
13df930be7Sderaadt  * are met:
14df930be7Sderaadt  * 1. Redistributions of source code must retain the above copyright
15df930be7Sderaadt  *    notice, this list of conditions and the following disclaimer.
16df930be7Sderaadt  * 2. Redistributions in binary form must reproduce the above copyright
17df930be7Sderaadt  *    notice, this list of conditions and the following disclaimer in the
18df930be7Sderaadt  *    documentation and/or other materials provided with the distribution.
197a09557bSmillert  * 3. Neither the name of the University nor the names of its contributors
20df930be7Sderaadt  *    may be used to endorse or promote products derived from this software
21df930be7Sderaadt  *    without specific prior written permission.
22df930be7Sderaadt  *
23df930be7Sderaadt  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24df930be7Sderaadt  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25df930be7Sderaadt  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26df930be7Sderaadt  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27df930be7Sderaadt  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28df930be7Sderaadt  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29df930be7Sderaadt  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30df930be7Sderaadt  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31df930be7Sderaadt  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32df930be7Sderaadt  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33df930be7Sderaadt  * SUCH DAMAGE.
34df930be7Sderaadt  *
35df930be7Sderaadt  *	@(#)struct.h	8.1 (Berkeley) 5/31/93
36df930be7Sderaadt  */
37df930be7Sderaadt 
38df930be7Sderaadt /*
39df930be7Sderaadt  * Copyright (c) 1987 by Ed James, UC Berkeley.  All rights reserved.
40df930be7Sderaadt  *
41df930be7Sderaadt  * Copy permission is hereby granted provided that this notice is
42df930be7Sderaadt  * retained on all partial or complete copies.
43df930be7Sderaadt  *
44df930be7Sderaadt  * For more info on this and all of my stuff, mail edjames@berkeley.edu.
45df930be7Sderaadt  */
46df930be7Sderaadt 
47*2317ec67Smestre #include <limits.h>
48*2317ec67Smestre 
49df930be7Sderaadt typedef struct {
50df930be7Sderaadt 	int	x, y;
51df930be7Sderaadt 	int	dir;	/* used only sometimes */
52df930be7Sderaadt } SCREEN_POS;
53df930be7Sderaadt 
54df930be7Sderaadt typedef struct {
55df930be7Sderaadt 	SCREEN_POS	p1, p2;
56df930be7Sderaadt } LINE;
57df930be7Sderaadt 
58df930be7Sderaadt typedef SCREEN_POS	EXIT;
59df930be7Sderaadt typedef SCREEN_POS	BEACON;
60df930be7Sderaadt typedef SCREEN_POS	AIRPORT;
61df930be7Sderaadt 
62df930be7Sderaadt typedef struct {
63df930be7Sderaadt 	int	width, height;
64df930be7Sderaadt 	int	update_secs;
65df930be7Sderaadt 	int	newplane_time;
66df930be7Sderaadt 	int	num_exits;
67df930be7Sderaadt 	int	num_lines;
68df930be7Sderaadt 	int	num_beacons;
69df930be7Sderaadt 	int	num_airports;
70df930be7Sderaadt 	EXIT	*exit;
71df930be7Sderaadt 	LINE	*line;
72df930be7Sderaadt 	BEACON	*beacon;
73df930be7Sderaadt 	AIRPORT	*airport;
74df930be7Sderaadt } C_SCREEN;
75df930be7Sderaadt 
76df930be7Sderaadt typedef struct plane {
77df930be7Sderaadt 	struct plane	*next, *prev;
78df930be7Sderaadt 	int		status;
79df930be7Sderaadt 	int		plane_no;
80df930be7Sderaadt 	int		plane_type;
81df930be7Sderaadt 	int		orig_no;
82df930be7Sderaadt 	int		orig_type;
83df930be7Sderaadt 	int		dest_no;
84df930be7Sderaadt 	int		dest_type;
85df930be7Sderaadt 	int		altitude;
86df930be7Sderaadt 	int		new_altitude;
87df930be7Sderaadt 	int		dir;
88df930be7Sderaadt 	int		new_dir;
89df930be7Sderaadt 	int		fuel;
90df930be7Sderaadt 	int		xpos;
91df930be7Sderaadt 	int		ypos;
92df930be7Sderaadt 	int		delayd;
93df930be7Sderaadt 	int		delayd_no;
94df930be7Sderaadt } PLANE;
95df930be7Sderaadt 
96df930be7Sderaadt typedef struct {
97df930be7Sderaadt 	PLANE	*head, *tail;
98df930be7Sderaadt } LIST;
99df930be7Sderaadt 
100df930be7Sderaadt typedef struct {
10134278d36Sguenther 	char	name[LOGIN_NAME_MAX];
102df930be7Sderaadt 	char	game[256];
103df930be7Sderaadt 	int	planes;
104df930be7Sderaadt 	int	time;
105df930be7Sderaadt 	int	real_time;
106df930be7Sderaadt } SCORE;
107df930be7Sderaadt 
108df930be7Sderaadt typedef struct displacement {
109df930be7Sderaadt 	int	dx;
110df930be7Sderaadt 	int	dy;
111df930be7Sderaadt } DISPLACEMENT;
112