This is global.h in view mode; [Download] [Up]
/* SCCS Id: @(#)global.h 3.0 89/11/08 /* 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 GLOBAL_H #define GLOBAL_H #ifndef VMS # include <stdio.h> #endif /* #define BETA /* if a beta-test copy [MRS] */ #define VERSION "3.0i" /* version number. */ /* * Files expected to exist in the playground directory. */ #define RECORD "record" /* a file containing list of topscorers */ #define HELP "help" /* a file containing command descriptions */ #define SHELP "hh" /* abbreviated form of the same */ #define RUMORFILE "rumors" /* a file with fortune cookies */ #define ORACLEFILE "oracles" /* a file with oracular information */ #define DATAFILE "data" /* a file giving the meaning of symbols used */ #define CMDHELPFILE "cmdhelp" /* file telling what commands do */ #define HISTORY "history" /* a file giving nethack's history */ #define LICENSE "license" /* file with license information */ #define OPTIONFILE "opthelp" /* a file explaining runtime options */ #ifdef MACOS #define MACHELP "MacHelp" /* file with Macintosh information */ #endif /* Assorted definitions that may depend on selections in config.h. */ /* * for DUMB preprocessor and compiler, e.g., cpp and pcc supplied * with Microport SysV/AT, which have small symbol tables; * DUMB if needed is defined in CFLAGS */ #ifdef DUMB #ifdef BITFIELDS #undef BITFIELDS #endif #ifndef STUPID #define STUPID #endif #ifndef STUPID_CPP #define STUPID_CPP #endif #endif /* DUMB */ /* * type xchar: small integers in the range 0 - 127, usually coordinates * although they are nonnegative they must not be declared unsigned * since otherwise comparisons with signed quantities are done incorrectly */ typedef schar xchar; typedef xchar boolean; /* 0 or 1 */ #ifndef MACOS #ifndef TRUE /* defined in some systems' native include files */ #define TRUE ((boolean)1) #define FALSE ((boolean)0) #endif #endif #ifdef BITFIELDS #define Bitfield(x,n) unsigned x:n #else #define Bitfield(x,n) uchar x #endif /* * According to ANSI, prototypes for old-style declarations must widen the * arguments to int. However, the MSDOS compilers accept shorter arguments * (char, short, etc.) in prototypes and do typechecking with them. Therefore * this mess to allow the better typechecking while also allowing some * prototypes for the ANSI compilers so people quit trying to fix the prototypes * to match the standard and thus lose the typechecking. */ #if (defined(MSDOS) && !defined(TOS)) || defined (AMIGA) || defined(THINKC4) # define CHAR_P char # define SCHAR_P schar # define UCHAR_P uchar # define XCHAR_P xchar # define BOOLEAN_P boolean #else # ifdef __STDC__ # define CHAR_P int # define SCHAR_P int # define UCHAR_P int # define XCHAR_P int # define BOOLEAN_P int # endif #endif #define SIZE(x) (int)(sizeof(x) / sizeof(x[0])) /* (No, LARGEST_INT doesn't have to correspond to the largest integer on * a particular machine.) */ #define LARGEST_INT ((1 << 15) - 1) #ifdef STRONGHOLD # ifdef ALTARS # ifdef THEOLOGY #define ENDGAME # endif # endif #endif #ifdef REDO #define Getchar pgetchar #endif /* * Automatic inclusions for the subsidiary files. * Please don't change the order. It does matter. */ #ifndef COORD_H #include "coord.h" #endif #if defined(VMS) && !defined(VMSCONF_H) # include "vmsconf.h" # include <stdio.h> #endif #if defined(UNIX) && !defined(UNIXCONF_H) # include "unixconf.h" #endif #if defined(MSDOS) && !defined(PCCONF_H) # include "pcconf.h" #endif #if defined(TOS) && !defined(TOSCONF_H) # include "tosconf.h" #endif #if defined(AMIGA) && !defined(AMICONF_H) # include "amiconf.h" #endif #if defined(MACOS) && !defined(MACCONF_H) # include "macconf.h" #endif #if defined(NEXT) && !defined(NEXTCONF_H) # include "nextconf.h" #endif /* * Configurable internal parameters. * * Please be very careful if you are going to change one of these. Any * changes in these parameters, unless properly done, can render the * executable inoperative. */ /* size of terminal screen is (at least) (ROWNO+3) by COLNO */ #define COLNO 80 #define ROWNO 21 #define MAXNROFROOMS 20 /* max number of rooms per level */ #define DOORMAX 120 /* max number of doors per level */ #define BUFSZ 256 /* for getlin buffers */ #define PL_NSIZ 32 /* name of player, ghost, shopkeeper */ #define PL_CSIZ 20 /* sizeof pl_character */ #define PL_FSIZ 32 /* fruit name */ #define MAXLEVEL 50 /* max number of levels in the dungeon */ #ifdef ENDGAME #define ENDLEVEL (MAXLEVEL+1) /* endgame level */ #endif #define HELLLEVEL 30 /* first hell level (varies ifdef STRONGHOLD) */ #define MAXULEV 30 /* max character experience level */ #define MAXMONNO 120 /* geno monst after this number killed */ #define MHPMAX 500 /* maximum monster hp */ #endif /* GLOBAL_H /**/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.