]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/platforms.c
create_lt() -> {0}
[nothing.git] / src / game / level / platforms.c
index f820099a3239e4f4dd1ee919ecdf27b822816dd2..41f215fb145e568cbb5a9ba523108c3689015a90 100644 (file)
 #include "game/level/level_editor/layer.h"
 
 struct Platforms {
-    Lt *lt;
+    Lt lt;
 
     Rect *rects;
     Color *colors;
     size_t rects_size;
 };
 
-Platforms *create_platforms_from_layer(Layer *layer)
+Platforms *create_platforms_from_rect_layer(const RectLayer *layer)
 {
     trace_assert(layer);
 
-    Lt *lt = create_lt();
+    Lt lt = {0};
     if (lt == NULL) {
         return NULL;
     }
@@ -39,20 +39,20 @@ Platforms *create_platforms_from_layer(Layer *layer)
     }
     platforms->lt = lt;
 
-    platforms->rects_size = layer_count(layer);
+    platforms->rects_size = rect_layer_count(layer);
 
-    platforms->rects = PUSH_LT(lt, nth_alloc(sizeof(Rect) * platforms->rects_size), free);
+    platforms->rects = PUSH_LT(lt, nth_calloc(1, sizeof(Rect) * platforms->rects_size), free);
     if (platforms->rects == NULL) {
         RETURN_LT(lt, NULL);
     }
-    memcpy(platforms->rects, layer_rects(layer), sizeof(Rect) * platforms->rects_size);
+    memcpy(platforms->rects, rect_layer_rects(layer), sizeof(Rect) * platforms->rects_size);
 
 
-    platforms->colors = PUSH_LT(lt, nth_alloc(sizeof(Color) * platforms->rects_size), free);
+    platforms->colors = PUSH_LT(lt, nth_calloc(1, sizeof(Color) * platforms->rects_size), free);
     if (platforms->colors == NULL) {
         RETURN_LT(lt, NULL);
     }
-    memcpy(platforms->colors, layer_colors(layer), sizeof(Color) * platforms->rects_size);
+    memcpy(platforms->colors, rect_layer_colors(layer), sizeof(Color) * platforms->rects_size);
 
     return platforms;
 }