* Copyright (c) 1983 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
* @(#)extern.h 5.2 (Berkeley) %G%
#define PATH(x) "/usr/games/lib/x"
#define logfile PATH(battlestar.log)
#define BITS (8 * sizeof (int))
#define OUTSIDE (position > 68 && position < 246 && position != 218)
#define rnd(x) (rand() % (x))
#define max(a,b) ((a) < (b) ? (b) : (a))
#define testbit(array, index) (array[index/BITS] & (1 << (index % BITS)))
#define setbit(array, index) (array[index/BITS] |= (1 << (index % BITS)))
#define clearbit(array, index) (array[index/BITS] &= ~(1 << (index % BITS)))
#define ARM 6 /* broken arm */
#define RIBS 7 /* broken ribs */
#define SPINE 9 /* broken back */
#define SKULL 11 /* fractured skull */
#define INCISE 10 /* deep incisions */
#define NECK 12 /* broken NECK */
/* fundamental constants */
#define NUMOFWORDS ((NUMOFOBJECTS + BITS - 1) / BITS)
/* initial variable values */
unsigned int objects
[NUMOFWORDS
];
/* object characteristics */
char *objdes
[NUMOFOBJECTS
];
char *objsht
[NUMOFOBJECTS
];
char *ouch
[NUMOFINJURIES
];
int objcumber
[NUMOFOBJECTS
];
#define NWORD 20 /* words per line */
int wordcount
, wordnumber
;
char *truedirec(), *rate();
char *getcom(), *getword();
int left
, right
, ahead
, back
;
int matchlight
, matchcount
;
int pleasure
, power
, ego
;
unsigned int inven
[NUMOFWORDS
];
unsigned int wear
[NUMOFWORDS
];
char beenthere
[NUMOFROOMS
+1];
char injuries
[NUMOFINJURIES
];
#define HASHMASK (HASHSIZE - 1)
struct wlist
*hashtab
[HASHSIZE
];