1 /* funcs.h -- functions for dungeon */
2 
3 #ifndef FUNCS_H
4 #define FUNCS_H
5 
6 /* If __STDC__ is not defined, don't use function prototypes, void, or
7  * const.
8  */
9 
10 #ifdef __STDC__
11 #define P(x) x
12 #else
13 #define P(x) ()
14 #define void int
15 #define const
16 #endif
17 
18 /* Try to guess whether we need "rb" to open files in binary mode.
19  * If this is unix, it doesn't matter.  Otherwise, assume that if
20  * __STDC__ is defined we can use "rb".  Otherwise, assume that we
21  * had better use "r" or fopen will fail.
22  */
23 
24 #ifdef unix
25 #define BINREAD "r"
26 #define BINWRITE "w"
27 #else /* ! unix */
28 #ifdef __STDC__
29 #define BINREAD "rb"
30 #define BINWRITE "wb"
31 #else /* ! __STDC__ */
32 #define BINREAD "r"
33 #define BINWRITE "w"
34 #endif /* ! __STDC__ */
35 #endif /* ! unix */
36 
37 typedef int integer;
38 typedef int logical;
39 
40 #define TRUE_ (1)
41 #define FALSE_ (0)
42 
43 #define abs(x) ((x) >= 0 ? (x) : -(x))
44 #define min(a,b) ((a) <= (b) ? (a) : (b))
45 #define max(a,b) ((a) >= (b) ? (a) : (b))
46 
47 extern logical
48 	protected P((void)),
49 	wizard P((void));
50 
51 extern void
52 	more_init P((void)),
53 	more_output P((const char *)),
54 	more_input P((void));
55 
56 extern void
57 	bug_ P((integer, integer)),
58 	cevapp_ P((integer)),
59 	cpgoto_ P((integer)),
60 	cpinfo_ P((integer, integer)),
61 	encryp_ P((const char *, char *)),
62 	exit_ P((void)),
63 	fightd_ P((void)),
64 	game_ P((void)),
65 	gdt_ P((void)),
66 	gttime_ P((integer *)),
67 	invent_ P((integer)),
68 	itime_ P((integer *, integer *, integer *)),
69 	jigsup_ P((integer)),
70 	newsta_ P((integer, integer, integer, integer, integer)),
71 	orphan_ P((integer, integer, integer, integer, integer)),
72 	princo_ P((integer, integer)),
73 	princr_ P((logical, integer)),
74 	rdline_ P((char *, integer)),
75 	rspeak_ P((integer)),
76 	rspsb2_ P((integer, integer, integer)),
77 	rspsub_ P((integer, integer)),
78 	rstrgm_ P((void)),
79 	savegm_ P((void)),
80 	score_ P((logical)),
81 	scrupd_ P((integer)),
82 	swordd_ P((void)),
83 	thiefd_ P((void)),
84 	valuac_ P((integer));
85 extern integer
86 	blow_ P((integer, integer, integer, logical, integer)),
87 	fights_ P((integer, logical)),
88 	fwim_ P((integer, integer, integer, integer, integer, logical)),
89 	getobj_ P((integer, integer, integer)),
90 	schlst_ P((integer, integer, integer, integer,  integer, integer)),
91 	mrhere_ P((integer)),
92 	oactor_ P((integer)),
93 	rnd_ P((integer)),
94 	robadv_ P((integer, integer, integer, integer)),
95 	robrm_ P((integer, integer, integer, integer, integer)),
96 	sparse_ P((const integer *, integer, logical)),
97 	vilstr_ P((integer)),
98 	weight_ P((integer, integer, integer));
99 extern logical
100 	aappli_ P((integer)),
101 	ballop_ P((integer)),
102 	clockd_ P((void)),
103 	cyclop_ P((integer)),
104 	drop_ P((logical)),
105 	findxt_ P((integer, integer)),
106 	ghere_ P((integer, integer)),
107 	init_ P((void)),
108 	lightp_ P((integer)),
109 	lit_ P((integer)),
110 	moveto_ P((integer, integer)),
111 	nobjs_ P((integer, integer)),
112 	oappli_ P((integer, integer)),
113 	objact_ P((void)),
114 	opncls_ P((integer, integer, integer)),
115 	parse_ P((char *, logical)),
116 	prob_ P((integer, integer)),
117 	put_ P((logical)),
118 	rappli_ P((integer)),
119 	rappl1_ P((integer)),
120 	rappl2_ P((integer)),
121 	rmdesc_ P((integer)),
122 	sobjs_ P((integer, integer)),
123 	sverbs_ P((integer)),
124 	synmch_ P((void)),
125 	take_ P((logical)),
126 	thiefp_ P((integer)),
127 	trollp_ P((integer)),
128 	qempty_ P((integer)),
129 	qhere_ P((integer, integer)),
130 	vappli_ P((integer)),
131 	walk_ P((void)),
132 	winnin_ P((integer, integer)),
133 	yesno_ P((integer, integer, integer));
134 
135 #endif
136