X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=main.c;h=efaeedc22a0a58c2ec09342394281dd62d823bdc;hp=faa353b514be4001c04d0506170d0e660fbc47ef;hb=30f13c6c25be8d0fb5b0e6d819685b4e6f45829c;hpb=a3c159660bb03f220b7de52ba0ac4977098f389e diff --git a/main.c b/main.c index faa353b..efaeedc 100644 --- a/main.c +++ b/main.c @@ -133,28 +133,6 @@ int main(int argc, char *argv[]) terminate(quitgame); } -static bool fallback_handler(struct command_t command) -/* fallback handler for commands not handled by FORTRANish parser */ -{ - long sv; - turn_t turnlimit; - char buf[DIM(command.raw1) + DIM(command.raw2) + 1]; - sprintf(buf, "%s %s", command.raw1, command.raw2); - - if (sscanf(buf, "seed %ld", &sv) == 1) { - set_seed(sv); - printf("Seed set to %ld\n", sv); - // autogenerated, so don't charge user time for it. - --game.turns; - return true; - } else if (sscanf(buf, "waste %ld", &turnlimit) == 1) { - game.limit -= turnlimit; - printf("Game limit is now %ld\n", game.limit); - return true; - } - return false; -} - /* Check if this loc is eligible for any hints. If been here long * enough, display. Ignore "HINTS" < 4 (special stuff, see database * notes). */ @@ -1136,8 +1114,6 @@ Lookup: rspeak(GO_UNNEEDED); } if (command.id1 == WORD_NOT_FOUND) { - if (fallback_handler(command)) - continue; /* Gee, I don't understand. */ sspeak(DONT_KNOW, command.raw1); goto Lclearobj; @@ -1152,12 +1128,13 @@ Lookup: command.obj = command.id1; break; case ACTION: - command.part = intransitive; + if(command.type2 == NUMERIC) + command.part = transitive; + else + command.part = intransitive; command.verb = command.id1; break; - case SPECIAL: - speak(specials[command.id1].message); - goto Lclearobj; + case NUMERIC: default: // LCOV_EXCL_LINE BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE }