diff options
author | zlago | 2025-01-26 19:16:57 +0100 |
---|---|---|
committer | zlago | 2025-01-26 19:16:57 +0100 |
commit | c7d6efa3cdc39251d29450d2efa37da89cb8099a (patch) | |
tree | 44fd8b57842ca47ef22eaf9f18a6423f64997ac8 /src/main.c | |
parent | 1e792e1a30aeb9f19518b56936cc9154164c3f76 (diff) |
actually handle corrupt saves
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c index c10657a..c5f8359 100644 --- a/src/main.c +++ b/src/main.c @@ -420,7 +420,12 @@ int main(int const argc, char *const *const argv) { player_property(next_entities.player, "y", "64"); game_load_level("untitled"); } else { - game_load(file); + if (game_load(file)) { + fputs("the save file is corrupt!\n", stderr); + player_property(next_entities.player, "x", "40"); + player_property(next_entities.player, "y", "64"); + game_load_level("untitled"); + } } #if 0 struct blob blob = res_get_map("untitled"); @@ -641,7 +646,10 @@ void main_loop(void) { player_property(next_entities.player, "y", "64"); game_load_level("untitled"); } else { - game_load(file); + if (game_load(file)) { + fputs("the save file somehow corrupted itself!\n", stderr); + goto end; // better than freezing if the save file magically corrupts + } } } |