Source:NetHack 3.4.3/include/amiconf.h

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to include/amiconf.h from NetHack 3.4.3. To link to a particular line, write [[amiconf.h#line123]], for example.

/*	SCCS Id: @(#)amiconf.h	3.4	2000/01/12	*/
/* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1990, 1991, 1992, 1993. */
/* NetHack may be freely redistributed.  See license for details. */

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

#ifndef AMICONF_H
#define AMICONF_H

#undef abs		/* avoid using macro form of abs */
#ifndef __SASC_60
# undef min		/* this gets redefined */
# undef max		/* this gets redefined */
#endif

#include <time.h>	/* get time_t defined before use! */

#ifdef __SASC_60	/* since SAS can prevent re-inclusion */
#include <stdlib.h>	/* general things, including builtins */
#include <string.h>
#endif

#ifdef AZTEC_50
#include <stdlib.h>
# define AZTEC_C_WORKAROUND /* Bug which turns up in sounds.c. Bummer... */
# define NO_SIGNAL	/* 5.0 signal handling doesn't like SIGINT... */
#endif

#ifdef _DCC
#include <stdlib.h>
# define _SIZE_T
# define DCC30_BUG	/* A bitfield bug (from dog.c, others) in DICE 3.0. */
#endif

#ifndef __GNUC__
typedef long off_t;
#endif

#define MICRO		/* must be defined to allow some inclusions */

#define NOCWD_ASSUMPTIONS	/* Allow paths to be specified for HACKDIR,
				   LEVELDIR, SAVEDIR, BONESDIR, DATADIR,
				   SCOREDIR, LOCKDIR, CONFIGDIR, and TROUBLEDIR */

/* data librarian defs */
#ifndef NOCWD_ASSUMPTIONS
# define DLBFILE	"NetHack:nhdat"		/* main library */
# define DLBFILE2	"NetHack:nhsdat"	/* sound library */
#else
# define DLBFILE	"nhdat"			/* main library */
# define DLBFILE2	"nhsdat"		/* sound library */
#endif

#define FILENAME_CMP	stricmp			/* case insensitive */

#ifndef __SASC_60
# define O_BINARY	0
#endif

/* Compile in New Intuition look for 2.0 */
#ifdef	IDCMP_CLOSEWINDOW
# ifndef INTUI_NEW_LOOK
#  define	INTUI_NEW_LOOK	1
# endif
#endif

#define MFLOPPY		/* You'll probably want this; provides assistance
			 * for typical personal computer configurations
			 */
#define RANDOM

/* ### amidos.c ### */

extern void  FDECL(nethack_exit, (int));

/* ### amiwbench.c ### */

extern void NDECL(ami_wbench_init);
extern void NDECL(ami_wbench_args);
extern int FDECL(ami_wbench_getsave, (int));
extern void FDECL(ami_wbench_unlink, (char *));
extern int FDECL(ami_wbench_iconsize, (char *));
extern void FDECL(ami_wbench_iconwrite, (char *));
extern int FDECL(ami_wbench_badopt, (const char *));
extern void NDECL(ami_wbench_cleanup);
extern void FDECL(getlind, (const char *,char *,const char *));

/* ### winreq.c ### */

extern void amii_setpens(int);

extern void FDECL(exit, (int));
extern void NDECL(CleanUp);
extern void FDECL(Abort, (long));
extern int NDECL(getpid);
extern char *FDECL(CopyFile, (const char *, const char *));
extern int NDECL(kbhit);
extern int NDECL(WindowGetchar);
extern void FDECL(ami_argset, (int *, char *[]));
extern void FDECL(ami_mkargline, (int *, char **[]));
extern void ami_wininit_data(void);

#define FromWBench 0 /* A hint for compiler ... */
/* extern boolean FromWBench;	/* how were we run? */
extern int ami_argc;
extern char **ami_argv;

#ifndef MICRO_H
#include "micro.h"
#endif

#ifndef PCCONF_H
#include "pcconf.h"	/* remainder of stuff is almost same as the PC */
#endif

#define remove(x)	unlink(x)

/* DICE wants rewind() to return void.	We want it to return int. */
#if defined(_DCC) || defined(__GNUC__)
# define rewind(f)	fseek(f, 0, 0)
#endif

#ifdef AZTEC_C
extern FILE *FDECL(freopen, (const char *, const char *, FILE *));
extern char *FDECL(gets, (char *));
#endif

#define msmsg		printf

/*
* If AZTEC_C  we can't use the long cpath in vision.c....
*/
#ifdef AZTEC_C
# undef MACRO_CPATH
#endif

/*
*  (Possibly) configurable Amiga options:
*/

#define TEXTCOLOR		/* Use colored monsters and objects */
#define HACKFONT		/* Use special hack.font */
#define SHELL			/* Have a shell escape command (!) */
#define MAIL			/* Get mail at unexpected occasions */
#define DEFAULT_ICON "NetHack:default.icon"	/* private icon */
#define AMIFLUSH		/* toss typeahead (select flush in .cnf) */
/* #define OPT_DISPMAP		/* enable fast_map option */

/* new window system options */
			/* WRONG - AMIGA_INTUITION should go away */
#ifdef AMII_GRAPHICS
# define AMIGA_INTUITION	/* high power graphics interface (amii) */
#endif

#define CHANGE_COLOR	1

#ifdef	TEXTCOLOR
#  define	DEPTH	6	/* Maximum depth of the screen allowed */
#else
# define	DEPTH	2	/* Four colors...sigh... */
#endif

#define AMII_MAXCOLORS	(1L<<DEPTH)
typedef unsigned short AMII_COLOR_TYPE;

#define PORT_HELP	"nethack:amii.hlp"

#undef	TERMLIB

#define AMII_MUFFLED_VOLUME	40
#define AMII_SOFT_VOLUME	50
#define AMII_OKAY_VOLUME	60
#define AMII_LOUDER_VOLUME	80

#ifdef TTY_GRAPHICS
# define ANSI_DEFAULT
#endif

extern int amibbs;	/* BBS mode? */

#ifdef AMII_GRAPHICS
extern int amii_numcolors;
void FDECL( amii_setpens, (int) );
#endif

/* for cmd.c: override version in micro.h */
#ifdef __SASC_60
# undef M
# define M(c) ((c) - 128 )
#endif

#endif /* AMICONF_H */