#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"
Lt *lt;
LevelState state;
- LevelMetadata *metadata;
Background background;
RigidBodies *rigid_bodies;
Player *player;
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);
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);
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);
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);
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);
level->regions = PUSH_LT(
lt,
create_regions_from_rect_layer(
- level_editor->regions_layer,
+ &level_editor->regions_layer,
level->labels,
level->goals),
destroy_regions);
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);
+}