X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=3f6db0da358451f54330b923ca1d61f19d2042fa;hb=7555eb7de35b429438ac54891d17ccd682964cf5;hp=fd51c59a8d65f502676600e5fa3cb2a495fbb464;hpb=b2c85b36f813767d7dd31f63f4cd288dc8df3121;p=open-adventure.git diff --git a/main.c b/main.c index fd51c59..3f6db0d 100644 --- 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, - CLAM, COINS, DALTLC, DOOR, DPRSSN, DRAGON, DWARF, EGGS, + CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS, 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, MAXDIE, + 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; @@ -36,7 +35,7 @@ lcg_state lcgstate; 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) { @@ -154,8 +153,10 @@ static bool fallback_handler(char *buf) } static bool do_command(FILE *cmdin) { - long LL; + long LL, KQ, VERB, KK, K2; long obj; + long TK[21]; + static long IGO = 0; /* 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. */ -L4000: I=4000; goto Laction; +L4000: I=4000; VERB=K; goto 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;