]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level.c
Remove Lt from PointLayer
[nothing.git] / src / game / level.c
index 47da3c9f2f0e26da1b1c18595f6a540204599ccd..e61d4e31815f6adf5fb6bd036d3f7cf2adc8ad3d 100644 (file)
 #include "game/level/player.h"
 #include "game/level/regions.h"
 #include "game/level/rigid_bodies.h"
-#include "game/level_metadata.h"
 #include "game/level/level_editor/rect_layer.h"
 #include "game/level/level_editor/point_layer.h"
 #include "game/level/level_editor/player_layer.h"
 #include "game/level/level_editor/label_layer.h"
 #include "game/level/level_editor/background_layer.h"
-#include "system/line_stream.h"
 #include "system/log.h"
 #include "system/lt.h"
 #include "system/nth_alloc.h"
@@ -40,7 +38,6 @@ struct Level
     Lt *lt;
 
     LevelState state;
-    LevelMetadata *metadata;
     Background background;
     RigidBodies *rigid_bodies;
     Player *player;
@@ -89,7 +86,7 @@ Level *create_level_from_level_editor(const LevelEditor *level_editor)
 
     level->platforms = PUSH_LT(
         lt,
-        create_platforms_from_rect_layer(level_editor->platforms_layer),
+        create_platforms_from_rect_layer(&level_editor->platforms_layer),
         destroy_platforms);
     if (level->platforms == NULL) {
         RETURN_LT(lt, NULL);
@@ -97,7 +94,7 @@ Level *create_level_from_level_editor(const LevelEditor *level_editor)
 
     level->goals = PUSH_LT(
         lt,
-        create_goals_from_point_layer(level_editor->goals_layer),
+        create_goals_from_point_layer(&level_editor->goals_layer),
         destroy_goals);
     if (level->goals == NULL) {
         RETURN_LT(lt, NULL);
@@ -105,7 +102,7 @@ Level *create_level_from_level_editor(const LevelEditor *level_editor)
 
     level->lava = PUSH_LT(
         lt,
-        create_lava_from_rect_layer(level_editor->lava_layer),
+        create_lava_from_rect_layer(&level_editor->lava_layer),
         destroy_lava);
     if (level->lava == NULL) {
         RETURN_LT(lt, NULL);
@@ -113,7 +110,7 @@ Level *create_level_from_level_editor(const LevelEditor *level_editor)
 
     level->back_platforms = PUSH_LT(
         lt,
-        create_platforms_from_rect_layer(level_editor->back_platforms_layer),
+        create_platforms_from_rect_layer(&level_editor->back_platforms_layer),
         destroy_platforms);
     if (level->back_platforms == NULL) {
         RETURN_LT(lt, NULL);
@@ -121,7 +118,7 @@ Level *create_level_from_level_editor(const LevelEditor *level_editor)
 
     level->boxes = PUSH_LT(
         lt,
-        create_boxes_from_rect_layer(level_editor->boxes_layer, level->rigid_bodies),
+        create_boxes_from_rect_layer(&level_editor->boxes_layer, level->rigid_bodies),
         destroy_boxes);
     if (level->boxes == NULL) {
         RETURN_LT(lt, NULL);
@@ -138,7 +135,7 @@ Level *create_level_from_level_editor(const LevelEditor *level_editor)
     level->regions = PUSH_LT(
         lt,
         create_regions_from_rect_layer(
-            level_editor->regions_layer,
+            &level_editor->regions_layer,
             level->labels,
             level->goals),
         destroy_regions);
@@ -360,3 +357,14 @@ int level_enter_camera_event(Level *level, Camera *camera)
     labels_enter_camera_event(level->labels, camera);
     return 0;
 }
+
+void level_disable_pause_mode(Level *level, Camera *camera,
+                              Sound_samples *sound_samples)
+{
+    trace_assert(level);
+    trace_assert(camera);
+    trace_assert(sound_samples);
+    level->state = LEVEL_STATE_IDLE;
+    camera->blackwhite_mode = false;
+    sound_samples_toggle_pause(sound_samples);
+}