-extern void score(long);
-extern long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
- BIRD, BLOOD, BONUS,
- BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
- CLAM, CLOSED, CLOSNG, CLSHNT,
- COINS, CONDS, DALTLC, DETAIL,
- DKILL, DOOR, DPRSSN, DRAGON, DTOTAL, DWARF, EGGS,
- EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOBAR, FOOD,
- GRATE, HINT, HINTED[], HINTLC[],
- I, INVENT, IGO, IWEST, J, JADE, K, K2, KEYS, KK,
- KNFLOC, KNIFE, KQ, L, LAMP, LIMIT, LL,
- LMWARN, LOC, LOCK, LOOK,
- MAGZIN, MAXDIE, MAXTRS, MESSAG, MIRROR, MXSCOR,
- NEWLOC, NOVICE, NUGGET, NUL, NUMDIE, OBJ,
- OGRE, OIL, OLDOBJ, OYSTER,
- PANIC, PEARL, PILLOW, PLANT, PLANT2, PROP[], PYRAM,
- RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAVED, SAY,
- SCORE, SECT, SETUP, SIGN, SNAKE, SPK, STEPS, STICK,
- STREAM, TALLY, THRESH, THROW, TK[], TRIDNT,
- TRNDEX, TRNLUZ, TROLL, TROLL2,
- TURNS, URN, V1, V2, VASE, VEND, VERB,
- VOLCAN, VRSION, WATER, WD1, WD1X, WD2, WD2X,
- WZDARK;
+void initialise(void);
+int action(FILE *input, struct command_t *command);
+
+/* 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_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
+
+/* Special object statuses in game.place - can also be a location number (> 0) */
+#define CARRIED -1 /* Player is toting it */
+
+/* hack to ignore GCC Unused Result */
+#define IGNORE(r) do{if (r){}}while(0)
+
+/*
+ * FIXME: These constants should be replaced by strings, at their usage sites.
+ * They are sixbit-packed representations of vocabulary words. This, and code
+ * left in misc.c, is the only place left in the runtime that knows about
+ * word packing.
+ */
+#define WORD_CATCH 301200308
+#define WORD_GO 715
+#define WORD_POUR 16152118
+#define WORD_BACK 2010311
+#define WORD_CAVE 3012205
+#define WORD_DPRSSN 405161805
+#define WORD_ENTER 514200518
+#define WORD_ENTRNC 514201801
+#define WORD_LOOK 12151511
+#define WORD_NUL 14211212
+#define WORD_STREAM 1920180501
+#define WORD_FIND 6091404
+#define WORD_INVENT 914220514
+#define WORD_LOCK 12150311
+#define WORD_SAY 190125
+#define WORD_THROW 2008181523
+#define WORD_WEST 23051920
+#define WORD_YES 250519
+#define WORD_YINIT 25
+
+/* end */