From 4736fc2643a63c1514cb0589ad3aa701baa039e7 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Thu, 8 Mar 2018 18:04:21 +0100 Subject: [PATCH 1/1] Game's save state is stored at current directory under windows --- src/mercenary/main.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/mercenary/main.c b/src/mercenary/main.c index 4dce2fb..80aff01 100644 --- a/src/mercenary/main.c +++ b/src/mercenary/main.c @@ -296,7 +296,13 @@ static void disk_read(int track, int __attribute__((unused)) side, uint32_t data FILE *fp; memset(game_save, 0, sizeof(game_save)); /* clear so make the game fail, if we fail */ - sprintf(filename, "%s/%s/%d.gamesave", home_dir, config_gamesave_dir, gamesave_num); +#if defined(_WIN32) + filename[0] = '\0'; +#else + sprintf(filename, "%s/%s/", home_dir, config_gamesave_dir); + mkdir(filename, 0777); +#endif + sprintf(filename + strlen(filename), "%d.gamesave", gamesave_num); fp = fopen(filename, "r"); if (!fp) { fail: @@ -345,9 +351,13 @@ static void disk_write(int track, int __attribute__((unused)) side, uint32_t dat int wrote; FILE *fp; - sprintf(filename, "%s/%s", home_dir, config_gamesave_dir); +#if defined(_WIN32) + filename[0] = '\0'; +#else + sprintf(filename, "%s/%s/", home_dir, config_gamesave_dir); mkdir(filename, 0777); - sprintf(filename + strlen(filename), "/%d.gamesave", gamesave_num); +#endif + sprintf(filename + strlen(filename), "%d.gamesave", gamesave_num); fp = fopen(filename, "w"); if (!fp) { fail: -- 2.13.6