1 /* SCCS Id: @(#)sp_lev.h 3.4 1996/05/08 */
2 /* Copyright (c) 1989 by Jean-Christophe Collet */
3 /* NetHack may be freely redistributed. See license for details. */
13 #define W_ANY (W_NORTH|W_SOUTH|W_EAST|W_WEST)
23 #define SHORTSIGHTED 8
26 /* special level types */
27 #define SP_LEV_ROOMS 1
31 * Structures manipulated by the special levels loader & compiler
34 typedef union str_or_len {
40 boolean init_present, padding;
42 boolean smoothed, joined;
51 xchar wall, pos, secret, mask;
55 xchar x, y, chance, type;
59 Str_or_Len name, appear_as;
62 xchar x, y, chance, class, appear;
63 schar peaceful, asleep;
70 xchar x, y, chance, class, containment;
81 xchar x, y, dir, db_open;
101 xchar x1, y1, x2, y2;
102 xchar rtype, rlit, rirreg;
105 /* values for rtype are defined in dungeon.h */
107 struct { xchar x1, y1, x2, y2; } inarea;
108 struct { xchar x1, y1, x2, y2; } delarea;
109 boolean in_islev, del_islev;
110 xchar rtype, padding;
151 lev_region **lregions;
161 drawbridge **drawbridges;
177 engraving **engravings;
179 fountain **fountains;
190 typedef struct _room {
194 xchar xalign, yalign;
195 xchar rtype, chance, rlit, filled;
211 engraving **engravings;
213 fountain **fountains;
218 /* These three fields are only used when loading the level... */
220 struct _room *subrooms[MAX_SUBROOMS];
232 /* used only by lev_comp */
246 #endif /* SP_LEV_H */