This is config.h in view mode; [Download] [Up]
/* SCCS Id: @(#)config.h 3.0 89/06/23
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* Changed for graphical version of NetHack on NextStep */
/* by Christoph Marquardt 9/4/93 */
#ifndef CONFIG_H /* make sure the compiler does not see the typedefs twice */
#define CONFIG_H
/*
* Section 1: OS selection.
* Select the version of the OS you are using.
* For "UNIX" select either SYSV or BSD in unixconf.h.
* A "VMS" option is not needed since the VMS C-compiler
* provides it (comment out the default OS option here).
*/
#define NEXT /* NextStep version */
/* #define UNIX */ /* delete if no fork(), exec() available */
#ifdef __MSDOS__ /* Turbo C auto-defines __MSDOS__, MSC defines MSDOS */
#define MSDOS /* define for MS-DOS (in case compiler doesn't) */
#else
/* #define MSDOS /* define for MS-DOS and most other micros */
/* DO NOT define for AMIGA - MSDOS will be
* automatically defined at the right place. */
# ifdef AZTEC_C /* Manx 3.6 auto-defines this */
# ifdef MCH_AMIGA /* Manx 3.6 auto-defines this for AMIGA */
# ifndef AMIGA
#define AMIGA /* define for Commodore-Amiga */
# endif /* (Lattice auto-defines AMIGA) */
# endif
# endif
/* #define TOS /* define for Atari 1040ST */
/* #define STUPID /* avoid some complicated expressions if
your C compiler chokes on them */
/* #define STUPID_CPP /* use many small functions instead of macros to
avoid overloading limited preprocessors */
/* #define TERMINFO /* uses terminfo rather than termcap */
/* should be defined for most, but not all, SYSV */
/* in particular, it should NOT be defined for the
* UNIXPC unless you remove the use of the shared
* library in the makefile */
/* #define MINIMAL_TERM /* if a terminal handles highlighting or tabs poorly,
try this define, used in pager.c and termcap.c */
/* #define MACOS /* define for Apple Macintosh */
#endif
#ifdef AMIGA
#define NEED_VARARGS
# ifdef AZTEC_C
# define KR1ED /* Aztec 3.6 needs extra help for defined() */
# endif
#endif
#ifdef MACOS
/* #define KR1ED /* for compilers which can't handle defined() */
/* Lightspeed & Aztec can't handle defined() yet */
/* #define LSC /* for the Lightspeed 3.01p4 C compiler on the Mac */
/* #define AZTEC /* for the Manx Aztec C 3.6c compiler */
#define THINKC4 /* for the Think C 4 compiler */
/* #define MAKEDEFS_C /* uncomment this ONLY while compiling makedefs */
/* #define CUSTOM_IO /* uncomment only while compiling Nethack */
# ifndef MAKEDEFS_C
# ifndef NEED_VARARGS
#define NEED_VARARGS /* if you're using precompiled headers */
# endif
# endif
#define SMALLDATA /* for Mac compilers with 32K global data limit */
#endif
#ifdef KR1ED /* For compilers which cannot handle defined() */
#define defined(x) (-x-1 != -1)
/* Because:
* #define FOO => FOO={} => defined( ) => (-1 != - - 1) => 1
* #define FOO 1 or on command-line -DFOO
* => defined(1) => (-1 != - 1 - 1) => 1
* if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1
* for -DFOO, oh well.
* => defined(0) => (-1 != - 0 - 1) => 0
*
* But:
* defined("") => (-1 != - "" - 1)
* [which is an unavoidable catastrophe.]
*/
#endif
/*
* Section 2: Some global parameters and filenames.
* Commenting out WIZARD, LOGFILE, or NEWS removes that feature
* from the game; otherwise set the appropriate wizard name.
* LOGFILE and NEWS refer to files in the playground.
*/
#ifndef WIZARD /* allow for compile-time or Makefile changes */
# ifndef KR1ED
#define WIZARD "me" /* the person allowed to use the -D option */
# else
#define WIZARD
#define WIZARD_NAME "me"
# endif
#endif
#define LOGFILE "logfile" /* larger file for debugging purposes */
#define NEWS "news" /* the file containing the latest hack news */
/*
* If COMPRESS is defined, it should contain the full path name of your
* 'compress' program. Defining ZEROCOMP causes NetHack to do simpler
* zero-run compression internally. Both COMPRESS and ZEROCOMP create
* smaller bones/level/save files, but require additional code and time.
*/
#ifndef MACOS
#define COMPRESS "/usr/ucb/compress" /* path name for 'compress' */
# ifndef COMPRESS
#define ZEROCOMP /* Use only if COMPRESS is not used -- Olaf Seibert */
# endif
#endif
#ifndef MACOS
#define CHDIR /* delete if no chdir() available */
#endif
#ifdef CHDIR
/*
* If you define HACKDIR, then this will be the default playground;
* otherwise it will be the current directory.
*/
/* #define HACKDIR "/usr/games/lib/nethackdir" */ /* nethack directory */
/*
* Some system administrators are stupid enough to make Hack suid root
* or suid daemon, where daemon has other powers besides that of reading or
* writing Hack files. In such cases one should be careful with chdir's
* since the user might create files in a directory of his choice.
* Of course SECURE is meaningful only if HACKDIR is defined.
*/
/* #define SECURE /* do setuid(getuid()) after chdir() */
/*
* If it is desirable to limit the number of people that can play Hack
* simultaneously, define HACKDIR, SECURE and MAX_NR_OF_PLAYERS.
* #define MAX_NR_OF_PLAYERS 6
*/
#endif /* CHDIR /**/
/*
* Section 3: Definitions that may vary with system type.
* For example, both schar and uchar should be short ints on
* the AT&T 3B2/3B5/etc. family.
*/
/*
* Uncomment the following line if your compiler doesn't understand the
* 'void' type (and thus would give all sorts of compile errors without
* this definition).
*/
/* #define void int /* define if no "void" data type. */
#include "tradstdc.h"
/*
* type schar: small signed integers (8 bits suffice) (eg. TOS)
*
* typedef char schar;
*
* will do when you have signed characters; otherwise use
*
* typedef short int schar;
*/
#ifdef AZTEC
#define schar char
#else
typedef signed char schar;
#endif
/*
* type uchar: small unsigned integers (8 bits suffice - but 7 bits do not)
*
* typedef unsigned char uchar;
*
* will be satisfactory if you have an "unsigned char" type;
* otherwise use
*
* typedef unsigned short int uchar;
*/
typedef unsigned char uchar;
/*
* Various structures have the option of using bitfields to save space.
* If your C compiler handles bitfields well (e.g., it can initialize structs
* containing bitfields), you can define BITFIELDS. Otherwise, the game will
* allocate a separate character for each bitfield. (The bitfields used never
* have more than 7 bits, and most are only 1 bit.)
*/
#define BITFIELDS /* Good bitfield handling */
/*
* Section 4: THE FUN STUFF!!!
*
* Conditional compilation of special options are controlled here.
* If you define the following flags, you will add not only to the
* complexity of the game but also to the size of the load module.
*/
/* game features */
#define POLYSELF /* Polymorph self code by Ken Arromdee */
#define THEOLOGY /* Smarter gods - The Unknown Hacker */
#define SOUNDS /* Add more life to the dungeon */
#define KICK /* Allow kicking things besides doors -Izchak Miller */
/* dungeon features */
#define THRONES /* Thrones and Courts by M. Stephenson */
#define FOUNTAINS /* Fountain code by SRT (+ GAN + EB) */
#define SINKS /* Kitchen sinks - Janet Walz */
#define ALTARS /* Sacrifice sites - Jean-Christophe Collet */
/* dungeon levels */
#define WALLIFIED_MAZE /* Fancy mazes - Jean-Christophe Collet */
#define REINCARNATION /* Rogue-like levels */
#define STRONGHOLD /* Challenging special levels - Jean-Christophe Collet*/
/* monsters & objects */
#define ORACLE /* Include another source of information */
#define MEDUSA /* Mirrors and the Medusa by Richard P. Hughey */
#define KOPS /* Keystone Kops by Scott R. Turner */
#define ARMY /* Soldiers, barracks by Steve Creps */
#define WORM /* Long worms */
#define GOLEMS /* Golems, by KAA */
#define INFERNO /* Demons & Demonlords */
#ifdef INFERNO
#define SEDUCE /* Succubi/incubi additions, by KAA, suggested by IM */
#endif
#define TOLKIEN /* More varieties of objects and monsters */
#define PROBING /* Wand of probing code by Gil Neiger */
#define WALKIES /* Leash code by M. Stephenson */
#define SHIRT /* Hawaiian shirt code by Steve Linhart */
#define MUSIC /* Musical instruments - Jean-Christophe Collet */
#define TUTTI_FRUTTI /* Fruits as in Rogue, but which work... -KAA */
#define SPELLS /* Spell casting by M. Stephenson */
#define NAMED_ITEMS /* Special named items handling */
/* difficulty */
#define ELBERETH /* Allow for disabling the E word - Mike 3point */
#define EXPLORE_MODE /* Allow non-scoring play with additional powers */
#define HARD /* Enhanced wizard code by M. Stephenson */
/* I/O */
#define REDO /* support for redoing last command - DGK */
#define COM_COMPL /* Command line completion by John S. Bien */
#ifndef AMIGA
#define CLIPPING /* allow smaller screens -- ERS */
#endif
#ifdef REDO
#define DOAGAIN '\001' /* The "redo" key used in tty.c and cmd.c */
#endif
#define EXP_ON_BOTL /* Show experience on bottom line */
/* #define SCORE_ON_BOTL /* added by Gary Erickson (erickson@ucivax) */
#include "global.h" /* Define everything else according to choices above */
#endif /* CONFIG_H /**/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.