X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=saveresume.c;h=0ed8cd37c56a538b1d0834e03474e78c0b091756;hb=58cf204eba055cc7633aa83be7ec6f7c06ed70b7;hp=858498235fae8d5835e4638edf02f334911ec596;hpb=3640e5cb96db9057dec008b05e69d27676ecbfbb;p=open-adventure.git diff --git a/saveresume.c b/saveresume.c index 8584982..0ed8cd3 100644 --- a/saveresume.c +++ b/saveresume.c @@ -25,8 +25,7 @@ struct save_t save; int savefile(FILE *fp, int32_t version) /* Save game to file. No input or output from user. */ { - save.savetime = time(NULL); - save.mode = -1; + memcpy(&save.magic, ADVENT_MAGIC, sizeof(ADVENT_MAGIC)); save.version = (version == 0) ? SAVE_VERSION : version; save.game = game; @@ -136,7 +135,9 @@ int restore(FILE* fp) IGNORE(fread(&save, sizeof(struct save_t), 1, fp)); fclose(fp); - if (save.version != SAVE_VERSION) { + if (memcmp(save.magic, ADVENT_MAGIC, sizeof(ADVENT_MAGIC)) != 0) + rspeak(BAD_SAVE); + else if (save.version != SAVE_VERSION) { rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10), SAVE_VERSION / 10, MOD(SAVE_VERSION, 10)); } else if (!is_valid(save.game)) { rspeak(SAVE_TAMPERING);