X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=6f21554de079a5dc3c73b774ccd4fb9c6889bcf8;hb=b0eb54b125c952cd23d71f58238bcb0460d90fb8;hp=e3c7085d55dcb4a4f6303fef06e28d008a1c1f5a;hpb=696779d3377edf363e8d829c9931f9e2330b9128;p=open-adventure.git diff --git a/main.c b/main.c index e3c7085..6f21554 100644 --- a/main.c +++ b/main.c @@ -824,8 +824,12 @@ L2607: game.foobar=(game.foobar>0 ? -game.foobar : 0); if (game.trndex <= TRNVLS) game.thresh=MOD(TRNVAL[game.trndex],100000)+1; } - if (VERB == SAY && WD2 > 0)VERB=0; - if (VERB == SAY) goto L4090; + if (VERB == SAY && WD2 > 0) + VERB=0; + if (VERB == SAY) { + part=transitive; + goto Laction; + } if (game.tally == 0 && INDEEP(game.loc) && game.loc != 33) --game.clock1; @@ -1013,17 +1017,12 @@ L2630: switch (KQ-1) { case 0: goto L8; - case 1: goto L5000; - case 2: goto L4000; + case 1: part=unknown; obj = KMOD; break; + case 2: part=intransitive; VERB = KMOD; break; case 3: RSPEAK(KMOD); goto L2012; + default: BUG(22); } - BUG(22); - -/* Verb and object analysis moved to separate module. */ -L4000: part=intransitive; VERB = KMOD; goto Laction; -L4090: part=transitive; goto Laction; -L5000: part=unknown; obj = KMOD; Laction: switch (action(cmdin, part, VERB, obj)) { case 2: return true; @@ -1051,9 +1050,12 @@ Laction: RSPEAK(136); score(0); return true; + default: + BUG(99); } - BUG(99); + /* no fallthrough here */ + /* Figure out the new location */ L8: if (playermove(cmdin, VERB, KMOD)) return true;