X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=ce383a0fbd2366cf2c86ffc09ced36c8cdc1795f;hb=ad3b097c9e587c1474cc1cac93f89ada853902ff;hp=3c4d448ab56009f5f505b6aeb5510fe211e7ee5e;hpb=2328739e5141cfa9ede4c94f89571266a96bb5c0;p=open-adventure.git diff --git a/main.c b/main.c index 3c4d448..ce383a0 100644 --- a/main.c +++ b/main.c @@ -21,31 +21,10 @@ #include #include #include "advent.h" -#include "linenoise/linenoise.h" #include "dungeon.h" #define DIM(a) (sizeof(a)/sizeof(a[0])) -struct game_t game = { - .dloc[1] = LOC_KINGHALL, - .dloc[2] = LOC_WESTBANK, - .dloc[3] = LOC_Y2, - .dloc[4] = LOC_ALIKE3, - .dloc[5] = LOC_COMPLEX, - - /* Sixth dwarf is special (the pirate). He always starts at his - * chest's eventual location inside the maze. This loc is saved - * in chloc for ref. The dead end in the other maze has its - * loc stored in chloc2. */ - .dloc[6] = LOC_DEADEND12, - .chloc = LOC_DEADEND12, - .chloc2 = LOC_DEADEND13, - .abbnum = 5, - .clock1 = WARNTIME, - .clock2 = FLASHTIME, - .blklin = true -}; - FILE *logfp = NULL, *rfp = NULL; bool oldstyle = false; bool editline = true; @@ -135,16 +114,13 @@ int main(int argc, char *argv[]) } } - linenoiseHistorySetMaxLen(350); - /* Initialize game variables */ long seedval = initialise(); /* Start-up, dwarf stuff */ make_zzword(game.zzword); - game.newloc = LOC_START; - game.loc = LOC_START; - game.limit = GAMELIMIT; + +#ifndef ADVENT_NOSAVE if (!rfp) { game.novice = yes(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]); if (game.novice) @@ -152,6 +128,7 @@ int main(int argc, char *argv[]) } else { restore(rfp); } +#endif if (logfp) fprintf(logfp, "seed %ld\n", seedval); @@ -1056,7 +1033,7 @@ L2600: } strncpy(inputbuf, input, LINESIZE - 1); - linenoiseFree(input); + free(input); long tokens[4]; tokenize(inputbuf, tokens); @@ -1113,12 +1090,12 @@ L2607: wordclear(&command.wd2); } else { /* FIXME: Magic numbers related to vocabulary */ - if (!((V1 != PROMOTE_WORD(WATER) && V1 != PROMOTE_WORD(OIL)) || - (V2 != PROMOTE_WORD(PLANT) && V2 != PROMOTE_WORD(DOOR)))) { - if (AT(V2 - 1000)) + if (!((V1 != PROMOTE_WORD(WATER) && V1 != PROMOTE_WORD(OIL)) || + (V2 != PROMOTE_WORD(PLANT) && V2 != PROMOTE_WORD(DOOR)))) { + if (AT(DEMOTE_WORD(V2))) command.wd2 = token_to_packed("POUR"); } - if (V1 == PROMOTE_WORD(CAGE) && V2 == PROMOTE_WORD(BIRD) && HERE(CAGE) && HERE(BIRD)) + if (V1 == PROMOTE_WORD(CAGE) && V2 == PROMOTE_WORD(BIRD) && HERE(CAGE) && HERE(BIRD)) command.wd1 = token_to_packed("CATCH"); } L2620: