Move mbuf chain initialization into common place.
[dragonfly.git] / games / hack / def.rm.h
blob2a48df2abe6e15c69f675a04fa337012433b98bf
1 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
2 /* def.rm.h - version 1.0.2 */
3 /* $DragonFly: src/games/hack/def.rm.h,v 1.2 2004/11/06 12:29:17 eirikn Exp $ */
5 /* Level location types */
6 #define HWALL 1
7 #define VWALL 2
8 #define SDOOR 3
9 #define SCORR 4
10 #define LDOOR 5
11 #define POOL 6 /* not yet fully implemented */
12 /* this should in fact be a bit like lit */
13 #define DOOR 7
14 #define CORR 8
15 #define ROOM 9
16 #define STAIRS 10
19 * Avoid using the level types in inequalities:
20 * these types are subject to change.
21 * Instead, use one of the macros below.
23 #define IS_WALL(typ) ((typ) <= VWALL)
24 #define IS_ROCK(typ) ((typ) < POOL) /* absolutely nonaccessible */
25 #define ACCESSIBLE(typ) ((typ) >= DOOR) /* good position */
26 #define IS_ROOM(typ) ((typ) >= ROOM) /* ROOM or STAIRS */
27 #define ZAP_POS(typ) ((typ) > DOOR)
30 * A few of the associated symbols are not hardwired.
32 #ifdef QUEST
33 #define CORR_SYM ':'
34 #else
35 #define CORR_SYM '#'
36 #endif /* QUEST */
37 #define POOL_SYM '}'
39 #define ERRCHAR '{'
42 * The structure describing a coordinate position.
43 * Before adding fields, remember that this will significantly affect
44 * the size of temporary files and save files.
46 struct rm {
47 char scrsym;
48 unsigned typ:5;
49 unsigned new:1;
50 unsigned seen:1;
51 unsigned lit:1;
53 extern struct rm levl[COLNO][ROWNO];