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