extern long randrange(long);
extern long score(enum termination);
extern void terminate(enum termination) __attribute__((noreturn));
+extern int savefile(FILE *);
extern int suspend(void);
extern int resume(void);
extern int restore(FILE *);
#define PCT(N) (randrange(100) < (N))
#define GSTONE(OBJ) ((OBJ) == EMERALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
#define FOREST(LOC) CNDBIT(LOC, COND_FOREST)
-#define VOCWRD(LETTRS,SECT) (vocab(MAKEWD(LETTRS),SECT))
#define SPECIAL(LOC) ((LOC) > SPECIALBASE)
#define OUTSID(LOC) (CNDBIT(LOC, COND_ABOVE) || FOREST(LOC))
#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC))
-/* vocabulary items */
-extern long NUL;
-extern long BACK;
-extern long LOOK;
-extern long CAVE;
-extern long FIND;
-extern long INVENT;
-extern long SAY;
-extern long ENTER;
-extern long STREAM;
-extern long DPRSSN;
-extern long ENTRNC;
-extern long LOCK;
-extern long THROW;
-
enum speechpart {unknown, intransitive, transitive};
struct command_t {