extern const char ascii_to_advent[];
extern const char advent_to_ascii[];
extern FILE *logfp;
-extern bool oldstyle;
+extern bool oldstyle, editline, prompt;
extern lcg_state lcgstate;
/* b is not needed for POSIX but harmless */
#define READ_MODE "rb"
#define WRITE_MODE "wb"
-
-extern void SPEAK(vocab_t);
+extern void* xmalloc(size_t);
+extern void packed_to_token(long, char token[6]);
+extern void newspeak(char*);
extern void PSPEAK(vocab_t,int);
extern void RSPEAK(vocab_t);
extern void SETPRM(long,long,long);
RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
STEPS, STICK, STREAM, THROW, TRIDNT, TROLL, TROLL2,
URN, VASE, VEND, VOLCAN, WATER;
-/* everything else */
-extern long K, SPK, WD1, WD1X, WD2, WD2X;
enum speechpart {unknown, intransitive, transitive};
+/* Phase codes for action returns.
+ * These were at one time FORTRAN line numbers.
+ * The values don't matter, but perturb their order at your peril.
+ */
+#define GO_TERMINATE 2
+#define GO_MOVE 8
+#define GO_TOP 2000
+#define GO_CLEAROBJ 2012
+#define GO_CHECKHINT 2600
+#define GO_CHECKFOO 2607
+#define GO_CLOSEJUMP 2610
+#define GO_DIRECTION 2620
+#define GO_LOOKUP 2630
+#define GO_WORD2 2800
+#define GO_SPECIALS 1900
+#define GO_UNKNOWN 8000
+#define GO_ACTION 40000
+#define GO_DWARFWAKE 19000
+
/* hack to ignore GCC Unused Result */
#define IGNORE(r) do{if (r){}}while(0)