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

Defined struct's

rm defined in line 45; used 48 times

Defined macros

ERRCHAR defined in line 38; used 1 times

Usage of this include

def.rm.h used 1 times
Last modified: 1985-10-14
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 879
Valid CSS Valid XHTML 1.0 Strict