Source:NetHack 3.0.0/sp lev.h

From NetHackWiki
Revision as of 05:31, 4 March 2008 by Kernigh bot (talk | contribs) (NetHack 3.0.0/sp lev.h moved to Source:NetHack 3.0.0/sp lev.h: Robot: moved page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Below is the full text to sp_lev.h from the source code of NetHack 3.0.0. To link to a particular line, write [[NetHack 3.0.0/sp_lev.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: @(#)sp_lev.h	3.0	88/18/12
2.    /* 	Copyright (c) 1989 by Jean-Christophe Collet */
3.    /* NetHack may be freely redistributed.  See license for details. */
4.    
5.    #define W_NORTH     0
6.    #define W_SOUTH     2
7.    #define W_EAST	    1
8.    #define W_WEST	    3
9.    
10.   /* 
11.    * Structures manipulated by the special levels loader & compiler
12.    */
13.   
14.   typedef struct {
15.   	xchar x, y, mask;
16.   } door;
17.   
18.   typedef struct {
19.   	xchar x, y, type;
20.   } trap;
21.   
22.   typedef struct {
23.   	xchar x, y, class;
24.   	short id;
25.   } monster;
26.   
27.   typedef struct {
28.   	xchar x, y, class;
29.   	short id;
30.   } object;
31.   
32.   typedef struct {
33.   	xchar x, y, align, shrine;
34.   } altar;
35.   
36.   typedef struct {
37.   	xchar x, y, dir, open;
38.   } drawbridge;
39.   
40.   typedef struct {
41.   	xchar x, y, dir;
42.   } walk;
43.   
44.   typedef struct {
45.   	xchar x1, y1, x2, y2;
46.   } dig;
47.   
48.   typedef struct {
49.   	xchar x, y, up;
50.   } lad;
51.   
52.   typedef struct {
53.   	xchar x1, y1, x2, y2;
54.   	xchar rtype, rlit;
55.   } region;
56.   
57.   typedef struct {
58.   	char halign, valign;
59.   	char xsize, ysize;
60.   	char **map;
61.   	char nrobjects;
62.   	char *robjects;
63.   	char nloc;
64.   	char *rloc_x;
65.   	char *rloc_y;
66.   	char nrmonst;
67.   	char *rmonst;
68.   	char nreg;
69.   	region **regions;
70.   	char ndoor;
71.   	door **doors;
72.   	char ntraps;
73.   	trap **traps;
74.   	char nmonster;
75.   	monster **monsters;
76.   	char nobjects;
77.   	object **objects;
78.   	char ndrawbridge;
79.   	drawbridge **drawbridges;
80.   	char nwalk;
81.   	walk **walks;
82.   	char ndig;
83.   	dig **digs;
84.   	char nlad;
85.   	lad **lads;
86.   #ifdef ALTARS
87.   	char naltar;
88.   	altar **altars;
89.   #endif /* ALTARS /**/
90.   } mazepart;
91.       
92.   typedef struct {
93.   	char numpart;
94.   	mazepart **parts;
95.   } specialmaze;
96.   
97.   typedef struct {
98.   	xchar x, y, w, h;
99.   	xchar rtype, rlit;
100.  	char ndoor;
101.  	door **doors;
102.  	char ntraps;
103.  	trap **traps;
104.  	char nmonster;
105.  	monster **monsters;
106.  	char nobjects;
107.  	object **objects;
108.  #ifdef ALTARS
109.  	char naltar;
110.  	altar **altars;
111.  #endif /* ALTARS /**/
112.  } room;
113.  
114.  typedef struct {
115.  	xchar x1,y1, x2,y2;
116.  } corridor;
117.  
118.  typedef struct {
119.  	xchar nroom;
120.  	room **rooms;
121.  	xchar ncorr;
122.  	corridor **corrs;
123.  	char ntraps;
124.  	trap **traps;
125.  	char nmonster;
126.  	monster **monsters;
127.  	char nobjects;
128.  	object **objects;
129.  	xchar xdnstairs, ydnstairs;
130.  	xchar xupstairs, yupstairs;
131.  } splev;