Source:NetHack 3.0.0/global.h

Below is the full text to global.h from the source code of NetHack 3.0.0. To link to a particular line, write [[NetHack 3.0.0/global.h#line123 ]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

1.   /*	SCCS Id: @(#)global.h	3.0	89/07/12 2.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3.    /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #ifndef GLOBAL_H 6.   #define	GLOBAL_H 7.    8.    #include   9. 10.   11.   /* #define BETA		/* if a beta-test copy  [MRS] */ 12.  #define VERSION	"3.0e"	/* version number. */ 13.    14.   /*  15.    * Files expected to exist in the playground directory. 16.   */  17.    18.   #define RECORD	"record"  /* the file containing the list of topscorers */ 19.  #define	HELP	"help"	  /* the file containing command descriptions */ 20.  #define	SHELP	"hh"	  /* abbreviated form of the same */ 21.  #define	RUMORFILE	"rumors"	/* a file with fortune cookies */ 22.  #define ORACLEFILE	"oracles"	/* a file with oracular information */ 23.  #define	DATAFILE	"data"	/* a file giving the meaning of symbols used */ 24.  #define CMDHELPFILE	"cmdhelp"	/* file telling what commands do */ 25.  #define HISTORY		"history"	/* a file giving nethack's history */ 26.  #define LICENSE		"license"	/* file with license information */ 27.  #define OPTIONFILE	"opthelp"	/* a file explaining runtime options */ 28.   29.    30.    31.   /* Assorted definitions that may depend on selections in config.h. */ 32.   33.   /*  34.    * for DUMB preprocessor and compiler, e.g., cpp and pcc supplied 35.   * with Microport SysV/AT, which have small symbol tables; 36.   * DUMB if needed is defined in CFLAGS 37.   */  38.   #ifdef DUMB 39.  #ifdef BITFIELDS 40.  #undef BITFIELDS 41.  #endif 42.  #ifndef STUPID 43.  #define STUPID 44.  #endif 45.  #ifndef STUPID_CPP 46.  #define STUPID_CPP 47.  #endif 48.  #endif	/* DUMB */ 49.   50.   /*  51.    * type xchar: small integers in the range 0 - 127, usually coordinates 52.   * although they are nonnegative they must not be declared unsigned 53.   * since otherwise comparisons with signed quantities are done incorrectly 54.   */  55.   typedef schar	xchar; 56.  typedef	xchar	boolean;		/* 0 or 1 */ 57.   58.   #define	TRUE	((boolean)1) 59.  #define	FALSE	((boolean)0) 60.   61.   #ifdef BITFIELDS 62.  #define	Bitfield(x,n)	unsigned x:n 63.  #else 64.  #define	Bitfield(x,n)	uchar x  65. #endif 66.   67.    68.   #define	SIZE(x)	(int)(sizeof(x) / sizeof(x[0])) 69.   70.   /* (No, LARGEST_INT doesn't have to correspond to the largest integer on  71.    * a particular machine.) 72.   */  73.   #define LARGEST_INT	((1 << 15) - 1) 74.   75.    76.   #ifdef STRONGHOLD 77.  # ifdef ALTARS 78.  #  ifdef THEOLOGY 79.  #define ENDGAME 80.  #  endif 81.  # endif 82.  #endif 83.   84.   #ifdef REDO 85.  #define Getchar pgetchar 86.  #endif 87.   88.   /*  89.    * Automatic inclusions for the subsidiary files. 90.   * Please don't change the order. It does matter. 91.   */  92.    93.   #ifndef COORD_H 94.  #include "coord.h"  95. #endif 96.  #if defined(UNIX) && !defined(UNIXCONF_H) 97.  # include "unixconf.h"  98. #endif 99.   100.  #if defined(MSDOS) && !defined(PCCONF_H) 101. # include "pcconf.h"  102. #endif 103.  104.  #if defined(TOS) && !defined(TOSCONF_H) 105. # include "tosconf.h"  106. #endif 107.  108.  #if defined(AMIGA) && !defined(AMICONF_H) 109. # include "amiconf.h"  110. #endif 111.  112.   113.   114.  /*  115.   * Configurable internal parameters. 116.  *  117.   * Please be very careful if you are going to change one of these. Any 118.  * changes in these parameters, unless properly done, can render the 119.  * executable inoperative. 120.  */  121.   122.  /* size of terminal screen is (at least) (ROWNO+3) by COLNO */ 123. #define	COLNO	80 124. #define	ROWNO	21 125.  126.  #define	MAXNROFROOMS	20	/* max number of rooms per level */ 127. #define	DOORMAX		120	/* max number of doors per level */ 128.  129.  #define	BUFSZ		256	/* for getlin buffers */ 130.  131.  #define	PL_NSIZ		32	/* name of player, ghost, shopkeeper */ 132. #define	PL_CSIZ		20	/* sizeof pl_character */ 133. #define PL_FSIZ		32	/* fruit name */ 134.  135.  #define	MAXLEVEL	50	/* max number of levels in the dungeon */ 136. #ifdef ENDGAME 137. #define ENDLEVEL (MAXLEVEL+1)	/* endgame level */ 138. #endif 139. #define HELLLEVEL	30	/* first hell level (varies ifdef STRONGHOLD) */ 140. #define	MAXULEV		30	/* max character experience level */ 141.  142.  #define	MAXMONNO	120	/* geno monst after this number killed */ 143. #define MHPMAX		500	/* maximum monster hp */ 144.  145.  #endif /* GLOBAL_H /**/