X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=514ae598c97e3f01f898076395c9e92754cb079a;hb=f7d6884dedabaa237056164ec6d90335de8025cb;hp=61a82e2f49e13e2140b97e167e70b6aeac31475b;hpb=c5250b5f3f7e91c9af36877f2eeeb769bf3157b2;p=open-adventure.git diff --git a/main.c b/main.c index 61a82e2..514ae59 100644 --- a/main.c +++ b/main.c @@ -107,14 +107,14 @@ int main(int argc, char *argv[]) #ifndef ADVENT_NOSAVE if (!rfp) { - game.novice = yes(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]); + game.novice = yes_or_no(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]); if (game.novice) game.limit = NOVICELIMIT; } else { restore(rfp); } #else - game.novice = yes(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]); + game.novice = yes_or_no(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]); if (game.novice) game.limit = NOVICELIMIT; #endif @@ -147,7 +147,7 @@ char *myreadline(const char *prompt) if (settings.argc == 0) return readline(prompt); - char *buf = malloc(BUFSIZ); + char *buf = malloc(LINESIZE+1); for (;;) { if (settings.scriptfp == NULL || feof(settings.scriptfp)) { if (settings.optind >= settings.argc) { @@ -160,16 +160,16 @@ char *myreadline(const char *prompt) if (settings.scriptfp != NULL && feof(settings.scriptfp)) fclose(settings.scriptfp); if (strcmp(next, "-") == 0) - settings.scriptfp = stdin; + settings.scriptfp = stdin; // LCOV_EXCL_LINE else settings.scriptfp = fopen(next, "r"); } if (isatty(fileno(settings.scriptfp))) { - free(buf); - return readline(prompt); + free(buf); // LCOV_EXCL_LINE + return readline(prompt); // LCOV_EXCL_LINE } else { - char *ln = fgets(buf, BUFSIZ-1, settings.scriptfp); + char *ln = fgets(buf, LINESIZE, settings.scriptfp); if (ln != NULL) { fputs(PROMPT, stdout); fputs(ln, stdout); @@ -255,15 +255,16 @@ static void checkhints(void) game.hintlc[hint] = 0; return; default: // LCOV_EXCL_LINE + // Should never hap[pen BUG(HINT_NUMBER_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE } /* Fall through to hint display */ game.hintlc[hint] = 0; - if (!yes(hints[hint].question, arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN])) + if (!yes_or_no(hints[hint].question, arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN])) return; rspeak(HINT_COST, hints[hint].penalty, hints[hint].penalty); - game.hinted[hint] = yes(arbitrary_messages[WANT_HINT], hints[hint].hint, arbitrary_messages[OK_MAN]); + game.hinted[hint] = yes_or_no(arbitrary_messages[WANT_HINT], hints[hint].hint, arbitrary_messages[OK_MAN]); if (game.hinted[hint] && game.limit > WARNTIME) game.limit += WARNTIME * hints[hint].penalty; } @@ -518,7 +519,7 @@ static void croak(void) * death and exit. */ rspeak(DEATH_CLOSING); terminate(endgame); - } else if (!yes(query, yes_response, arbitrary_messages[OK_MAN]) + } else if (!yes_or_no(query, yes_response, arbitrary_messages[OK_MAN]) || game.numdie == NDEATHS) { /* Player is asked if he wants to try again. If not, or if * he's already used all of his lives, we end the game */ @@ -1087,7 +1088,7 @@ static bool preprocess_command(command_t *command) if (game.loc == LOC_COBBLE || game.loc == LOC_DEBRIS || game.loc == LOC_AWKWARD || - game.loc == LOC_BIRD || + game.loc == LOC_BIRDCHAMBER || game.loc == LOC_PITTOP) { command->word[0].id = ENTRANCE; }