Continuing cleanup of misc.c.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index fd51c59a8d65f502676600e5fa3cb2a495fbb464..28f171200a04c73e0ec8da1aca3d02606e094d9c 100644 (file)
--- a/main.c
+++ b/main.c
@@ -19,16 +19,15 @@ char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
 
 long AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD,
                BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
 
 long AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD,
                BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
-               CLAM, COINS, DALTLC, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
+               CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
                EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD,
                EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD,
-               GRATE, HINT, I, INVENT, IGO, J, JADE, K, K2, KEYS, KK,
-               KNIFE, KQ, L, LAMP, LOCK, LOOK,
-               MAGZIN, MAXDIE, MAXTRS, MESSAG, MIRROR, MXSCOR,
-               NUGGET, NUL, OGRE, OIL, OYSTER, PEARL, PILLOW,
-               PLANT, PLANT2, PYRAM, RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY,
-               SCORE, SECT, SIGN, SNAKE, SPK, STEPS, STICK,
-               STREAM, THROW, TK[21], TRIDNT, TROLL, TROLL2,
-               URN, V1, V2, VASE, VEND, VERB,
+               GRATE, HINT, I, INVENT, J, JADE, K, KEYS,
+               KNIFE, L, LAMP, LOCK, LOOK, MAGZIN,
+               MESSAG, MIRROR, NUGGET, NUL, OGRE, OIL, OYSTER,
+               PEARL, PILLOW, PLANT, PLANT2, PYRAM, RESER, ROD, ROD2,
+               RUBY, RUG, SAPPH, SAY, SECT, SIGN, SNAKE, SPK,
+               STEPS, STICK, STREAM, THROW, TRIDNT, TROLL, TROLL2,
+               URN, V1, V2, VASE, VEND,
                VOLCAN, VRSION = 25, WATER, WD1, WD1X, WD2, WD2X;
 FILE  *logfp;
 bool oldstyle = false;
                VOLCAN, VRSION = 25, WATER, WD1, WD1X, WD2, WD2X;
 FILE  *logfp;
 bool oldstyle = false;
@@ -36,7 +35,7 @@ lcg_state lcgstate;
 
 extern void initialise();
 extern void score(long);
 
 extern void initialise();
 extern void score(long);
-extern int action(FILE *, long, long);
+extern int action(FILE *, long, long, long);
 
 void sig_handler(int signo)
 {
 
 void sig_handler(int signo)
 {
@@ -154,8 +153,10 @@ static bool fallback_handler(char *buf)
 }
 
 static bool do_command(FILE *cmdin) {
 }
 
 static bool do_command(FILE *cmdin) {
-       long LL;
+       long LL, KQ, VERB, KK, K2;
        long obj;
        long obj;
+       long TK[21];
+       static long IGO = 0;
 
 /*  Can't leave cave once it's closing (except by main office). */
 
 
 /*  Can't leave cave once it's closing (except by main office). */
 
@@ -471,11 +472,11 @@ L3000:    SETPRM(1,WD1,WD1X);
 
 /* Verb and object analysis moved to separate module. */
 
 
 /* Verb and object analysis moved to separate module. */
 
-L4000: I=4000; goto Laction;
+L4000: I=4000; VERB=K; goto Laction;
 L4090: I=4090; goto Laction;
 L5000: I=5000;
 Laction:
 L4090: I=4090; goto Laction;
 L5000: I=5000;
 Laction:
-        switch (action(cmdin, I, obj)) {
+        switch (action(cmdin, I, VERB, obj)) {
           case 2: return true;
           case 8: goto L8;
           case 2000: goto L2000;
           case 2: return true;
           case 8: goto L8;
           case 2000: goto L2000;