From c1207ec5b4b313ae9484c36cedcce1a141eadaa1 Mon Sep 17 00:00:00 2001 From: En Yi Date: Thu, 15 Aug 2024 11:08:20 +0800 Subject: [PATCH] Properly reset a level scene --- scenes/scene_systems.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scenes/scene_systems.c b/scenes/scene_systems.c index 67f5ee2..3935cc7 100644 --- a/scenes/scene_systems.c +++ b/scenes/scene_systems.c @@ -64,13 +64,19 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num) scene->data.tilemap.n_tiles = n_tiles; clear_entity_manager(&scene->scene.ent_manager); + for (size_t i = 0; i < scene->data.tilemap.n_tiles;i++) { - scene->data.tilemap.tiles[i].max_water_level = 4; + scene->data.tilemap.tiles[i].solid = NOT_SOLID; scene->data.tilemap.tiles[i].tile_type = EMPTY_TILE; + scene->data.tilemap.tiles[i].rotation = TILE_NOROTATE; + scene->data.tilemap.tiles[i].connectivity = 0; scene->data.tilemap.tiles[i].moveable = true; + scene->data.tilemap.tiles[i].offset = (Vector2){0, 0}; scene->data.tilemap.tiles[i].size = (Vector2){TILE_SIZE, TILE_SIZE}; + scene->data.tilemap.tiles[i].def = 0; + sc_map_clear_64v(&scene->data.tilemap.tiles[i].entities_set); if (lvl_map.tiles[i].tile_type == 1) @@ -78,6 +84,7 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num) change_a_tile(&scene->data.tilemap, i, SOLID_TILE); } + scene->data.tilemap.tiles[i].max_water_level = 4; scene->data.tilemap.tiles[i].water_level = lvl_map.tiles[i].water; scene->data.tilemap.tiles[i].wet = scene->data.tilemap.tiles[i].water_level > 0; }