1 /*	SCCS Id: @(#)amiconf.h	3.3	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 typedef long off_t;
34 
35 #define MICRO		/* must be defined to allow some inclusions */
36 
37 /* data librarian defs */
38 #define DLBFILE		"NetHack:nhdat"		/* main library */
39 #define DLBFILE2	"NetHack:nhsdat"	/* sound library */
40 #define FILENAME_CMP	stricmp			/* case insensitive */
41 
42 #ifndef __SASC_60
43 # define O_BINARY	0
44 #endif
45 
46 /* Compile in New Intuition look for 2.0 */
47 #ifdef	IDCMP_CLOSEWINDOW
48 # ifndef INTUI_NEW_LOOK
49 #  define	INTUI_NEW_LOOK	1
50 # endif
51 #endif
52 
53 #define MFLOPPY		/* You'll probably want this; provides assistance
54 			 * for typical personal computer configurations
55 			 */
56 #define RANDOM
57 
58 /* ### amidos.c ### */
59 
60 extern void  FDECL(nethack_exit, (int));
61 
62 /* ### amiwbench.c ### */
63 
64 extern void NDECL(ami_wbench_init);
65 extern void NDECL(ami_wbench_args);
66 extern int FDECL(ami_wbench_getsave, (int));
67 extern void FDECL(ami_wbench_unlink, (char *));
68 extern int FDECL(ami_wbench_iconsize, (char *));
69 extern void FDECL(ami_wbench_iconwrite, (char *));
70 extern int FDECL(ami_wbench_badopt, (const char *));
71 extern void NDECL(ami_wbench_cleanup);
72 extern void FDECL(getlind, (const char *,char *,const char *));
73 
74 /* ### winreq.c ### */
75 
76 extern void amii_setpens(int);
77 
78 extern void FDECL(exit, (int));
79 extern void NDECL(CleanUp);
80 extern void FDECL(Abort, (long));
81 extern int NDECL(getpid);
82 extern char *FDECL(CopyFile, (const char *, const char *));
83 extern int NDECL(kbhit);
84 extern int NDECL(WindowGetchar);
85 extern void FDECL(ami_argset, (int *, char *[]));
86 extern void FDECL(ami_mkargline, (int *, char **[]));
87 extern void ami_wininit_data(void);
88 
89 extern boolean FromWBench;	/* how were we run? */
90 extern int ami_argc;
91 extern char **ami_argv;
92 
93 #ifndef MICRO_H
94 #include "micro.h"
95 #endif
96 
97 #ifndef PCCONF_H
98 #include "pcconf.h"	/* remainder of stuff is almost same as the PC */
99 #endif
100 
101 #define remove(x)	unlink(x)
102 
103 /* DICE wants rewind() to return void.	We want it to return int. */
104 #ifdef _DCC
105 # define rewind(f)	fseek(f, 0, 0)
106 #endif
107 
108 #ifdef AZTEC_C
109 extern FILE *FDECL(freopen, (const char *, const char *, FILE *));
110 extern char *FDECL(gets, (char *));
111 #endif
112 
113 #define msmsg		printf
114 
115 /*
116  * If AZTEC_C  we can't use the long cpath in vision.c....
117  */
118 #ifdef AZTEC_C
119 # undef MACRO_CPATH
120 #endif
121 
122 /*
123  *  (Possibly) configurable Amiga options:
124  */
125 
126 #define TEXTCOLOR		/* Use colored monsters and objects */
127 #define HACKFONT		/* Use special hack.font */
128 #define SHELL			/* Have a shell escape command (!) */
129 #define MAIL			/* Get mail at unexpected occasions */
130 #define DEFAULT_ICON "NetHack:default.icon"	/* private icon */
131 #define AMIFLUSH		/* toss typeahead (select flush in .cnf) */
132 /* #define OPT_DISPMAP		/* enable fast_map option */
133 
134 /* new window system options */
135 			/* WRONG - AMIGA_INTUITION should go away */
136 #ifdef AMII_GRAPHICS
137 # define AMIGA_INTUITION	/* high power graphics interface (amii) */
138 #endif
139 
140 #define CHANGE_COLOR	1
141 
142 #ifdef	TEXTCOLOR
143 #  define	DEPTH	6	/* Maximum depth of the screen allowed */
144 #else
145 # define	DEPTH	2	/* Four colors...sigh... */
146 #endif
147 
148 #define AMII_MAXCOLORS	(1L<<DEPTH)
149 typedef unsigned short AMII_COLOR_TYPE;
150 
151 #define PORT_HELP	"nethack:amii.hlp"
152 
153 #undef	TERMLIB
154 
155 #define AMII_MUFFLED_VOLUME	40
156 #define AMII_SOFT_VOLUME	50
157 #define AMII_OKAY_VOLUME	60
158 #define AMII_LOUDER_VOLUME	80
159 
160 #ifdef TTY_GRAPHICS
161 # define ANSI_DEFAULT
162 #endif
163 
164 extern int amibbs;	/* BBS mode? */
165 
166 #ifdef AMII_GRAPHICS
167 extern int amii_numcolors;
168 void FDECL( amii_setpens, (int) );
169 #endif
170 
171 /* for cmd.c: override version in micro.h */
172 #ifdef __SASC_60
173 # undef M
174 # define M(c) ((c) - 128 )
175 #endif
176 
177 #endif /* AMICONF_H */
178