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__ 34typedef 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 72extern void FDECL(nethack_exit, (int)); 73 74/* ### amiwbench.c ### */ 75 76extern void NDECL(ami_wbench_init); 77extern void NDECL(ami_wbench_args); 78extern int FDECL(ami_wbench_getsave, (int)); 79extern void FDECL(ami_wbench_unlink, (char *)); 80extern int FDECL(ami_wbench_iconsize, (char *)); 81extern void FDECL(ami_wbench_iconwrite, (char *)); 82extern int FDECL(ami_wbench_badopt, (const char *)); 83extern void NDECL(ami_wbench_cleanup); 84extern void FDECL(getlind, (const char *,char *,const char *)); 85 86/* ### winreq.c ### */ 87 88extern void amii_setpens(int); 89 90extern void FDECL(exit, (int)); 91extern void NDECL(CleanUp); 92extern void FDECL(Abort, (long)); 93extern int NDECL(getpid); 94extern char *FDECL(CopyFile, (const char *, const char *)); 95extern int NDECL(kbhit); 96extern int NDECL(WindowGetchar); 97extern void FDECL(ami_argset, (int *, char *[])); 98extern void FDECL(ami_mkargline, (int *, char **[])); 99extern void ami_wininit_data(void); 100 101#define FromWBench 0 /* A hint for compiler ... */ 102/* extern boolean FromWBench; /* how were we run? */ 103extern int ami_argc; 104extern 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 122extern FILE *FDECL(freopen, (const char *, const char *, FILE *)); 123extern 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) 162typedef 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 177extern int amibbs; /* BBS mode? */ 178 179#ifdef AMII_GRAPHICS 180extern int amii_numcolors; 181void 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