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