X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=saveresume.c;h=d66854344733de47951fb7a3cd33f9eba356f72c;hb=643656fcc35838d3e8b6e819fa8b1f9c4adda88c;hp=f4d986a36ddb5312d0cfc0d10ef842213c96ccb7;hpb=4069bf210b68d0aaa44ca30eff264d7eb93d8d70;p=open-adventure.git diff --git a/saveresume.c b/saveresume.c index f4d986a..d668543 100644 --- a/saveresume.c +++ b/saveresume.c @@ -60,10 +60,11 @@ int suspend(void) /* Suspend. Offer to save things in a file, but charging * some points (so can't win by using saved games to retry * battles or to start over after learning zzword). - * If ADVENT_NOSAVE is defined, do nothing instead. */ + * If ADVENT_NOSAVE is defined, gripe instead. */ -#ifdef ADVENT_NOSAVE - return GO_UNKNOWN; +#if defined ADVENT_NOSAVE || defined ADVENT_AUTOSAVE + rspeak(SAVERESUME_DISABLED) + return GO_TOP; #endif FILE *fp = NULL; @@ -91,10 +92,11 @@ int suspend(void) int resume(void) { /* Resume. Read a suspended game back from a file. - * If ADVENT_NOSAVE is defined, do nothing instead. */ + * If ADVENT_NOSAVE is defined, gripe instead. */ -#ifdef ADVENT_NOSAVE - return GO_UNKNOWN; +#if defined ADVENT_NOSAVE || defined ADVENT_AUTOSAVE + rspeak(SAVERESUME_DISABLED) + return GO_TOP; #endif FILE *fp = NULL; @@ -107,9 +109,9 @@ int resume(void) while (fp == NULL) { char* name = myreadline("\nFile name: "); - // Autocomplete can leave the input with an extra trailing space. - if (name != NULL && strlen(name) > 0 && name[strlen(name) - 1] == ' ') - name[strlen(name) - 1] = '\0'; + // Autocomplete can leave the input with an extra trailing space. + if (name != NULL && strlen(name) > 0 && name[strlen(name) - 1] == ' ') + name[strlen(name) - 1] = '\0'; if (name == NULL) return GO_TOP; fp = fopen(name, READ_MODE); @@ -125,9 +127,10 @@ int restore(FILE* fp) { /* Read and restore game state from file, assuming * sane initial state. - * If ADVENT_NOSAVE is defined, do nothing instead. */ + * If ADVENT_NOSAVE is defined, gripe instead. */ #ifdef ADVENT_NOSAVE - return GO_UNKNOWN; + rspeak(SAVERESUME_DISABLED) + return GO_TOP; #endif IGNORE(fread(&save, sizeof(struct save_t), 1, fp)); @@ -143,8 +146,8 @@ int restore(FILE* fp) bool is_valid(struct game_t valgame) { /* Save files can be roughly grouped into three groups: - * With valid, reaceable state, with valid, but unreachable - * state and with invaild state. We check that state is + * With valid, reacheable state, with valid, but unreachable + * state and with invalid state. We check that state is * valid: no states are outside minimal or maximal value */