* files afterwards. Otherwise you will get a spurious failure due to the old version
* having been generated into a check file.
*/
-#define SAVE_VERSION 29
+#define SAVE_VERSION 30
+
+/*
+ * Goes at start of gile so sabes can be identified by file(1) and the like.
+ */
+#define ADVENT_MAGIC "open-adventure\n"
/*
* If you change the first three members, the resume function may not properly
* when you do that.
*/
struct save_t {
- int64_t savetime;
- int32_t mode; /* not used, must be present for version detection */
+ char magic[sizeof(ADVENT_MAGIC)];
int32_t version;
struct game_t game;
};
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;
Can't open file y, try again.
I'm sorry, but that Adventure was begun using Version -133.-7 of the
-save file format, and this program uses Version 2.9. You must find an instance
+save file format, and this program uses Version 3.0. You must find an instance
using that other version in order to resume that Adventure.
You're in front of building.