Sfoglia il codice sorgente

Remove level_generic_free from LevelBehavior

jblanked 1 anno fa
parent
commit
0ab5909597
2 ha cambiato i file con 18 aggiunte e 1 eliminazioni
  1. 2 1
      game/level.c
  2. 16 0
      game/world.c

+ 2 - 1
game/level.c

@@ -6,6 +6,7 @@ static void level_start(Level *level, GameManager *manager, void *context)
     level_clear(level);
     player_spawn(level, manager);
     LevelContext *level_context = context;
+
     // check if the world exists
     if (!world_exists(level_context->id))
     {
@@ -94,7 +95,7 @@ static void level_alloc_generic_world(Level *level, GameManager *manager, void *
 // Do NOT touch (this is for dynamic level creation)
 const LevelBehaviour _generic_level = {
     .alloc = level_alloc_generic_world,   // called once, when level allocated
-    .free = level_generic_free,           // called once, when level freed
+    .free = NULL,                         // called once, when level freed
     .start = level_start,                 // called when level is changed to this level
     .stop = NULL,                         // called when level is changed from this level
     .context_size = sizeof(LevelContext), // size of level context, will be automatically allocated and freed

+ 16 - 0
game/world.c

@@ -311,6 +311,22 @@ void draw_town_world(Level *level)
         // Vertical line of 8 icons starting further down (y=50)
         spawn_icon_line(level, tree_icon->icon, 5 + i * 17, 50, tree_icon->width, tree_icon->height, 8, false);
     }
+    free(house_icon);
+    free(fence_icon);
+    free(fence_end_icon);
+    free(plant_icon);
+    free(flower_icon);
+    free(man_icon);
+    free(woman_icon);
+    free(lake_top_left_icon);
+    free(lake_top_icon);
+    free(lake_top_right_icon);
+    free(lake_left_icon);
+    free(lake_right_icon);
+    free(lake_bottom_left_icon);
+    free(lake_bottom_icon);
+    free(lake_bottom_right_icon);
+    free(tree_icon);
 }
 
 FuriString *fetch_world(char *name, void *app)