-struct game_t {
- unsigned long lcg_a, lcg_c, lcg_m, lcg_x;
- long abbnum;
- long blklin;
- long bonus;
- long chloc;
- long chloc2;
- long clock1;
- long clock2;
- bool clshnt; /* has player read the clue in the endgame? */
- bool closed; /* whether we're all the way closed */
- bool closng; /* whether it's closing time yet */
- long conds;
- long detail;
- long dflag;
- long dkill;
- long dtotal;
- long foobar;
- long holdng;
- long iwest;
- long knfloc;
- long limit;
- bool lmwarn; /* has player been warned about lamp going dim? */
- long loc;
- long newloc;
- bool novice; /* asked for instructions at start-up? */
- long numdie;
- long oldloc;
- long oldlc2;
- long oldobj;
- bool panic; /* has player found out he's trapped in the cave? */
- long saved;
- long tally;
- long thresh;
- long trndex;
- long trnluz;
- long turns;
- bool wzdark; /* whether the loc he's leaving was dark */
- long zzword;
- long abbrev[LOCSIZ + 1];
- long atloc[LOCSIZ + 1];
- long dseen[NDWARVES + 1];
- long dloc[NDWARVES + 1];
- long odloc[NDWARVES + 1];
- long fixed[NOBJECTS + 1];
- long link[NOBJECTS * 2 + 1];
- long place[NOBJECTS + 1];
- long hinted[HINT_COUNT];
- long hintlc[HINT_COUNT];
- long prop[NOBJECTS + 1];
-};
-
-extern struct game_t game;
-
-extern long LNLENG, LNPOSN;
-extern char rawbuf[LINESIZE], INLINE[LINESIZE + 1];
-extern const char ascii_to_advent[];
-extern const char advent_to_ascii[];
-extern FILE *logfp;
-extern bool oldstyle, editline, prompt;
-
-/* b is not needed for POSIX but harmless */
-#define READ_MODE "rb"
-#define WRITE_MODE "wb"
-extern void* xmalloc(size_t size);
-extern char* xstrdup(const char*);
-extern void packed_to_token(long, char token[]);
-extern void token_to_packed(char token[], long*);
-extern void vspeak(const char*, va_list);
-extern bool wordeq(token_t, token_t);
-extern bool wordempty(token_t);
-extern void wordclear(token_t *);
-extern void speak(const char*, ...);
-extern void pspeak(vocab_t, int, ...);
-extern void rspeak(vocab_t, ...);
-extern bool GETIN(FILE *, token_t*, token_t*, token_t*, token_t*);
-extern void echo_input(FILE*, char*, char*);
-extern char* get_input(void);
-extern bool YES(const char*, const char*, const char*);
-extern long GETTXT(bool, bool, bool);
-extern token_t MAKEWD(long);
-extern long VOCAB(long, long);
-extern void JUGGLE(long);
-extern void MOVE(long, long);
-extern long PUT(long, long, long);
-extern void CARRY(long, long);
-extern void DROP(long, long);
-extern long ATDWRF(long);
-extern long SETBIT(long);
-extern bool TSTBIT(long, int);
-extern long RNDVOC(long, long);
-extern bool MAPLIN(FILE *);
-extern void DATIME(long*, long*);