X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=main.c;h=31eaf4691e9e68131b9f9530941e7a750204dd65;hb=4c5474121fb033a7d7048d2c65c0d9ddb2640c37;hp=fd84ca7894b16961f1e46b5546c679f034dd66ca;hpb=6319d27481e153088912a2935b6f41e8ecca47fd;p=open-adventure.git diff --git a/main.c b/main.c index fd84ca7..31eaf46 100644 --- a/main.c +++ b/main.c @@ -11,6 +11,7 @@ #include #include "advent.h" #include "database.h" +#include "linenoise/linenoise.h" struct game_t game; @@ -82,6 +83,8 @@ case 'l': } } + linenoiseHistorySetMaxLen(350); + /* Logical variables: * * game.closed says whether we're all the way closed @@ -659,6 +662,7 @@ static bool do_command(FILE *cmdin) long KQ, VERB, KK, V1, V2; long obj, i; static long IGO = 0; + enum speechpart part; /* Can't leave cave once it's closing (except by main office). */ if (OUTSID(game.newloc) && game.newloc != 0 && game.closng) { @@ -868,11 +872,11 @@ L3000: SETPRM(1,WD1,WD1X); /* Verb and object analysis moved to separate module. */ -L4000: i=4000; VERB=K; goto Laction; -L4090: i=4090; goto Laction; -L5000: i=5000; obj = K; +L4000: part=intransitive; VERB=K; goto Laction; +L4090: part=transitive; goto Laction; +L5000: part=unknown; obj = K; Laction: - switch (action(cmdin, i, VERB, obj)) { + switch (action(cmdin, part, VERB, obj)) { case 2: return true; case 8: goto L8; case 2000: goto L2000;