Fix some issues found with fuzz testing
[aNetHack.git] / include / amiconf.h
blob21fe242af05dbef2e01562bc045c7a893ded1149
1 /* NetHack 3.6 amiconf.h $NHDT-Date: 1432512775 2015/05/25 00:12:55 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */
2 /* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1990, 1991, 1992, 1993.
3 */
4 /* NetHack may be freely redistributed. See license for details. */
6 #ifndef AMICONF_H
7 #define AMICONF_H
9 #undef abs /* avoid using macro form of abs */
10 #ifndef __SASC_60
11 #undef min /* this gets redefined */
12 #undef max /* this gets redefined */
13 #endif
15 #include <time.h> /* get time_t defined before use! */
17 #ifdef __SASC_60 /* since SAS can prevent re-inclusion */
18 #include <stdlib.h> /* general things, including builtins */
19 #include <string.h>
20 #endif
22 #ifdef AZTEC_50
23 #include <stdlib.h>
24 #define AZTEC_C_WORKAROUND /* Bug which turns up in sounds.c. Bummer... */
25 #define NO_SIGNAL /* 5.0 signal handling doesn't like SIGINT... */
26 #endif
28 #ifdef _DCC
29 #include <stdlib.h>
30 #define _SIZE_T
31 #define DCC30_BUG /* A bitfield bug (from dog.c, others) in DICE 3.0. */
32 #endif
34 #ifndef __GNUC__
35 typedef long off_t;
36 #endif
38 #define MICRO /* must be defined to allow some inclusions */
40 #define NOCWD_ASSUMPTIONS /* Allow paths to be specified for HACKDIR, \
41 LEVELDIR, SAVEDIR, BONESDIR, DATADIR, \
42 SCOREDIR, LOCKDIR, CONFIGDIR, and TROUBLEDIR */
44 /* data librarian defs */
45 #ifndef NOCWD_ASSUMPTIONS
46 #define DLBFILE "NetHack:nhdat" /* main library */
47 #define DLBFILE2 "NetHack:nhsdat" /* sound library */
48 #else
49 #define DLBFILE "nhdat" /* main library */
50 #define DLBFILE2 "nhsdat" /* sound library */
51 #endif
53 #define FILENAME_CMP stricmp /* case insensitive */
55 #ifndef __SASC_60
56 #define O_BINARY 0
57 #endif
59 /* Compile in New Intuition look for 2.0 */
60 #ifdef IDCMP_CLOSEWINDOW
61 #ifndef INTUI_NEW_LOOK
62 #define INTUI_NEW_LOOK 1
63 #endif
64 #endif
66 #define MFLOPPY /* You'll probably want this; provides assistance \
67 * for typical personal computer configurations \
69 #define RANDOM
71 /* ### amidos.c ### */
73 extern void FDECL(nethack_exit, (int));
75 /* ### amiwbench.c ### */
77 extern void NDECL(ami_wbench_init);
78 extern void NDECL(ami_wbench_args);
79 extern int FDECL(ami_wbench_getsave, (int));
80 extern void FDECL(ami_wbench_unlink, (char *));
81 extern int FDECL(ami_wbench_iconsize, (char *));
82 extern void FDECL(ami_wbench_iconwrite, (char *));
83 extern int FDECL(ami_wbench_badopt, (const char *));
84 extern void NDECL(ami_wbench_cleanup);
85 extern void FDECL(getlind, (const char *, char *, const char *));
87 /* ### winreq.c ### */
89 extern void amii_setpens(int);
91 extern void FDECL(exit, (int));
92 extern void NDECL(CleanUp);
93 extern void FDECL(Abort, (long));
94 extern int NDECL(getpid);
95 extern char *FDECL(CopyFile, (const char *, const char *));
96 extern int NDECL(kbhit);
97 extern int NDECL(WindowGetchar);
98 extern void FDECL(ami_argset, (int *, char *[]));
99 extern void FDECL(ami_mkargline, (int *, char **[]));
100 extern void FDECL(ami_wininit_data, (int));
102 #define FromWBench 0 /* A hint for compiler ... */
103 /* extern boolean FromWBench; /* how were we run? */
104 extern int ami_argc;
105 extern char **ami_argv;
107 #ifndef MICRO_H
108 #include "micro.h"
109 #endif
111 #ifndef PCCONF_H
112 #include "pcconf.h" /* remainder of stuff is almost same as the PC */
113 #endif
115 #define remove(x) unlink(x)
117 /* DICE wants rewind() to return void. We want it to return int. */
118 #if defined(_DCC) || defined(__GNUC__)
119 #define rewind(f) fseek(f, 0, 0)
120 #endif
122 #ifdef AZTEC_C
123 extern FILE *FDECL(freopen, (const char *, const char *, FILE *));
124 extern char *FDECL(gets, (char *));
125 #endif
127 #define msmsg printf
130 * If AZTEC_C we can't use the long cpath in vision.c....
132 #ifdef AZTEC_C
133 #undef MACRO_CPATH
134 #endif
137 * (Possibly) configurable Amiga options:
140 #define TEXTCOLOR /* Use colored monsters and objects */
141 #define HACKFONT /* Use special hack.font */
142 #define SHELL /* Have a shell escape command (!) */
143 #define MAIL /* Get mail at unexpected occasions */
144 #define DEFAULT_ICON "NetHack:default.icon" /* private icon */
145 #define AMIFLUSH /* toss typeahead (select flush in .cnf) */
146 /* #define OPT_DISPMAP /* enable fast_map option */
148 /* new window system options */
149 /* WRONG - AMIGA_INTUITION should go away */
150 #ifdef AMII_GRAPHICS
151 #define AMIGA_INTUITION /* high power graphics interface (amii) */
152 #endif
154 #define CHANGE_COLOR 1
156 #ifdef TEXTCOLOR
157 #define DEPTH 6 /* Maximum depth of the screen allowed */
158 #else
159 #define DEPTH 2 /* Four colors...sigh... */
160 #endif
162 #define AMII_MAXCOLORS (1L << DEPTH)
163 typedef unsigned short AMII_COLOR_TYPE;
165 #define PORT_HELP "nethack:amii.hlp"
167 #undef TERMLIB
169 #define AMII_MUFFLED_VOLUME 40
170 #define AMII_SOFT_VOLUME 50
171 #define AMII_OKAY_VOLUME 60
172 #define AMII_LOUDER_VOLUME 80
174 #ifdef TTY_GRAPHICS
175 #define ANSI_DEFAULT
176 #endif
178 extern int amibbs; /* BBS mode? */
180 #ifdef AMII_GRAPHICS
181 extern int amii_numcolors;
182 void FDECL(amii_setpens, (int));
183 #endif
185 /* for cmd.c: override version in micro.h */
186 #ifdef __SASC_60
187 #undef M
188 #define M(c) ((c) -128)
189 #endif
191 #endif /* AMICONF_H */