Source:NetHack 3.3.0/ntconf.h

From NetHackWiki
Jump to navigation Jump to search

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

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

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.

1.    /*	SCCS Id: @(#)ntconf.h	3.3	96/10/14	*/
2.    /* Copyright (c) NetHack PC Development Team 1993, 1994.  */
3.    /* NetHack may be freely redistributed.  See license for details. */
4.    
5.    #ifndef NTCONF_H
6.    #define NTCONF_H
7.    
8.    /* #define SHELL	/* nt use of pcsys routines caused a hang */
9.    
10.   #define RANDOM		/* have Berkeley random(3) */
11.   
12.   #define TEXTCOLOR	/* Color text */
13.   
14.   #define PATHLEN		64	/* maximum pathlength */
15.   #define FILENAME	80	/* maximum filename length (conservative) */
16.   #define EXEPATH			/* Allow .exe location to be used as HACKDIR */
17.   #define TRADITIONAL_GLYPHMAP	/* Store glyph mappings at level change time */
18.   #ifdef WIN32CON
19.   #define LAN_FEATURES		/* Include code for lan-aware features. */
20.   #endif
21.   
22.   #define PC_LOCKING		/* Prevent overwrites of aborted or in-progress games */
23.   				/* without first receiving confirmation. */
24.   
25.   /*
26.    * -----------------------------------------------------------------
27.    *  The remaining code shouldn't need modification.
28.    * -----------------------------------------------------------------
29.    */
30.   /* #define SHORT_FILENAMES	/* All NT filesystems support long names now */
31.   
32.   #define MICRO		/* always define this! */
33.   #define NO_TERMS
34.   #define ASCIIGRAPH
35.   
36.   /* The following is needed for prototypes of certain functions */
37.   #if defined(_MSC_VER)
38.   #include <process.h>	/* Provides prototypes of exit(), spawn()      */
39.   #endif
40.   
41.   #include <string.h>	/* Provides prototypes of strncmpi(), etc.     */
42.   #ifdef STRNCMPI
43.   #define strncmpi(a,b,c) strnicmp(a,b,c)
44.   #endif
45.   
46.   #include <sys/types.h>
47.   #include <stdlib.h>
48.   
49.   #define NO_SIGNAL
50.   #define index	strchr
51.   #define rindex	strrchr
52.   #include <time.h>
53.   #define USE_STDARG
54.   #ifdef RANDOM
55.   /* Use the high quality random number routines. */
56.   #define Rand()	random()
57.   #else
58.   #define Rand()	rand()
59.   #endif
60.   
61.   #define FCMASK	0660	/* file creation mask */
62.   #define regularize	nt_regularize
63.   #define HLOCK "NHPERM"
64.   
65.   #ifndef M
66.   #define M(c)		((char) (0x80 | (c)))
67.   /* #define M(c)		((c) - 128) */
68.   #endif
69.   
70.   #ifndef C
71.   #define C(c)		(0x1f & (c))
72.   #endif
73.   
74.   #if defined(DLB)
75.   #define FILENAME_CMP  stricmp		      /* case insensitive */
76.   #endif
77.   
78.   #ifdef MICRO
79.   # ifndef MICRO_H
80.   #include "micro.h"	/* contains necessary externs for [os_name].c */
81.   # endif
82.   #endif
83.   
84.   #include <fcntl.h>
85.   #include <io.h>
86.   #include <direct.h>
87.   #include <conio.h>
88.   #undef kbhit		/* Use our special NT kbhit */
89.   #define kbhit (*nt_kbhit)
90.   
91.   #ifdef LAN_FEATURES
92.   #define MAX_LAN_USERNAME 20
93.   #define LAN_MAIL
94.   #define LAN_RO_PLAYGROUND	/* not implemented in 3.3.0 */
95.   #define LAN_SHARED_BONES	/* not implemented in 3.3.0 */
96.   #include "nhlan.h"
97.   #endif
98.   
99.   #ifndef alloca
100.  #define ALLOCA_HACK	/* used in util/panic.c */
101.  #endif
102.  
103.  #ifndef REDO
104.  #undef	Getchar
105.  #define Getchar nhgetch
106.  #endif
107.  
108.  #ifdef _MSC_VER
109.  #if 0
110.  #pragma warning(disable:4018)	/* signed/unsigned mismatch */
111.  #pragma warning(disable:4305)	/* init, conv from 'const int' to 'char' */
112.  #endif
113.  #pragma warning(disable:4761)	/* integral size mismatch in arg; conv supp*/
114.  #ifdef YYPREFIX
115.  #pragma warning(disable:4102)	/* unreferenced label */
116.  #endif
117.  #endif
118.  
119.  #endif /* NTCONF_H */