Source:NetHack 3.0.0/decl.h

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to decl.h from the source code of NetHack 3.0.0. To link to a particular line, write [[NetHack 3.0.0/decl.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: @(#)decl.h	3.0	88/10/24
2.    /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3.    /* NetHack may be freely redistributed.  See license for details. */
4.    
5.    #ifndef DECL_H
6.    #define DECL_H
7.    
8.    #define E extern
9.    
10.   E int bases[];
11.   E int warnlevel;	/* defined in mon.c */
12.   E int occtime;
13.   E int nroom;
14.   E int multi;
15.   E int hackpid;
16.   #ifdef UNIX
17.   E int locknum;
18.   #ifdef DEF_PAGER
19.   E char *catmore;
20.   #endif	/* DEF_PAGER */
21.   #endif	/* UNIX */
22.   E char SAVEF[];
23.   E char *hname;
24.   E const char *hu_stat[];	/* defined in eat.c */
25.   E int medusa_level;
26.   E int bigroom_level;
27.   #ifdef REINCARNATION
28.   E int rogue_level;
29.   #endif
30.   #ifdef ORACLE
31.   E int oracle_level;
32.   #endif
33.   #ifdef STRONGHOLD
34.   E int stronghold_level, tower_level;
35.   #endif
36.   E int wiz_level;
37.   E boolean is_maze_lev;
38.   
39.   E xchar xdnstair, ydnstair, xupstair, yupstair; /* stairs up and down. */
40.   #ifdef STRONGHOLD
41.   E xchar xdnladder, ydnladder, xupladder, yupladder; /* ladders up and down. */
42.   #endif
43.   E xchar scrlx, scrhx, scrly, scrhy; /* corners of new area on screen. pri.c */
44.   E xchar dlevel;
45.   E xchar maxdlevel; /* dungeon level */
46.   E int done_stopprint;
47.   E int done_hup;
48.   E xchar curx,cury;	/* cursor location on screen */
49.   E xchar seehx, seelx, seehy, seely; /* where to see */
50.   E xchar seehx2, seelx2, seehy2, seely2; /* where to see */
51.   E xchar fountsound, sinksound;	/* numbers of noisy things */
52.   
53.   E char pl_character[PL_CSIZ];
54.   E char pl_fruit[PL_FSIZ];
55.   E int current_fruit;
56.   E struct fruit *ffruit;
57.   #ifdef STRONGHOLD
58.   E char tune[6];
59.   #  ifdef MUSIC
60.   E schar music_heard;
61.   #  endif
62.   #endif
63.   
64.   E const char quitchars[];
65.   E const char vowels[];
66.   E const char ynchars[];
67.   E const char ynqchars[];
68.   E const char ynaqchars[];
69.   E const char nyaqchars[];
70.   E int smeq[];
71.   E int doorindex;
72.   E char *save_cm;
73.   E char *killer;
74.   E char inv_order[];
75.   E char plname[PL_NSIZ];
76.   E char dogname[];
77.   E char catname[];
78.   E const char sdir[], ndir[];	/* defined in hack.c */
79.   E char *occtxt;		/* defined when occupation != NULL */
80.   E char *nomovemsg;
81.   E const char nul[];
82.   E char *HI, *HE, *AS, *AE;	/* set up in termcap.c */
83.   E char *CD;			/* set up in termcap.c */
84.   E int CO, LI;			/* set up in termcap.c: COLNO and ROWNO+3 */
85.   E char *traps[];
86.   #ifndef MAKEDEFS_C  /* avoid conflict with lock() */
87.   E char lock[];
88.   #endif
89.   E char morc;
90.   
91.   E const schar xdir[], ydir[];	/* idem */
92.   E schar tbx, tby;		/* set in mthrowu.c */
93.   E int dig_effort;	/* apply.c, hack.c */
94.   E uchar dig_level;
95.   E coord dig_pos;
96.   E boolean dig_down;
97.   
98.   E long moves;
99.   E long wailmsg;
100.  
101.  E boolean unweapon;
102.  E boolean stoned;
103.  E boolean in_mklev;
104.  #ifdef KOPS
105.  E boolean allow_kops;
106.  #endif
107.  
108.  #ifdef SPELLS
109.  #ifndef SPELLS_H
110.  #include "spell.h"
111.  #endif
112.  E struct spell spl_book[];	/* sized in decl.c */
113.  #endif
114.  
115.  #ifdef REDO
116.  E int in_doagain;
117.  #endif
118.  
119.  #ifdef MSDOSCOLOR
120.  E char *HI_RED, *HI_YELLOW, *HI_GREEN, *HI_BLUE, *HI_WHITE; /* termcap.c */
121.  #endif
122.  
123.  #ifndef OBJ_H
124.  #include "obj.h"
125.  #endif
126.  
127.  E struct obj *invent, *uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf,
128.  #ifdef SHIRT
129.  	*uarmu, /* under-wear, so to speak */
130.  #endif
131.  #ifdef POLYSELF
132.  	*uskin,
133.  #endif
134.  	*uamul, *uleft, *uright, *ublindf, *fcobj, *uwep;
135.  
136.  E struct obj *uchain;	/* defined iff PUNISHED */
137.  E struct obj *uball;	/* defined if PUNISHED */
138.  
139.  #ifndef YOU_H
140.  #include "you.h"
141.  #endif
142.  
143.  E struct you u;
144.  
145.  #ifndef MAKEDEFS_C
146.  #ifndef ONAMES_H
147.  #include "onames.h"
148.  #endif
149.  #ifndef PM_H
150.  #include "pm.h"
151.  #endif
152.  #endif /* MAKEDEFS_C */
153.  
154.  E struct permonst playermon, *uasmon;	/* also decl'd extern in permonst.h */
155.  					/* init'd in monst.c */
156.  E struct obj zeroobj;		/* init'd and defined in decl.c */
157.  
158.  E struct monst youmonst;	/* init'd and defined in decl.c */
159.  
160.  E const char obj_symbols[];		/* init'd in objects.h */
161.  
162.  E struct obj *billobjs;
163.  
164.  E const char black[];
165.  E const char amber[];
166.  #ifdef THEOLOGY
167.  E const char golden[];
168.  #endif
169.  E const char light_blue[];
170.  E const char red[];
171.  E const char green[];
172.  E const char silver[];
173.  E const char blue[];
174.  E const char purple[];
175.  E const char white[];
176.  
177.  E const char nothing_happens[];
178.  E const char thats_enough_tries[];
179.  
180.  #undef E
181.  
182.  #endif /* DECL_H /**/