From 161366e0a706dc13ddfa8c5a574f5656d92111ee Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Mon, 2 May 2022 11:17:07 -0400 Subject: [PATCH] Implemented loading world metadata --- src/terrain.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/terrain.c b/src/terrain.c index 7bdd139..8b59786 100644 --- a/src/terrain.c +++ b/src/terrain.c @@ -65,8 +65,27 @@ int World_save (World *world) { */ int World_load (World *world, const char *name) { int err = data_getWorldPath(world->path, name); - if (err) { return err; } + if (err) { return 1; } + char metadataPath[PATH_MAX]; + data_getWorldMetaPath(metadataPath, world->path); + + FILE *metadata = fopen(metadataPath, "r"); + if (metadata == NULL) { return 2; } + + int version; + fscanf(metadata, "%i", &version); + if (version != 0) { return 3; } + + fscanf ( + metadata, + "%i %lu %i %lu", + &world->type, + &world->seed, + &world->dayNightMode, + &world->time); + + fclose(metadata); return 0; }