- LineStream *level_stream = PUSH_LT(
- lt,
- create_line_stream(
- file_name,
- "r",
- LEVEL_LINE_MAX_LENGTH),
- destroy_line_stream);
- if (level_stream == NULL) {
- RETURN_LT(lt, NULL);
- }
-
- level_editor->metadata = PUSH_LT(
- lt,
- create_level_metadata_from_line_stream(level_stream),
- destroy_level_metadata);
- if (level_editor->metadata == NULL) {
- RETURN_LT(lt, NULL);
- }
-
- if (background_layer_read_from_line_stream(
- &level_editor->background_layer,
- level_stream) < 0) {
- RETURN_LT(lt, NULL);
- }
-
- level_editor->player_layer =
- create_player_layer_from_line_stream(level_stream);
-
- level_editor->platforms_layer =
- PUSH_LT(
- lt,
- create_rect_layer_from_line_stream(level_stream),
- destroy_rect_layer);
- if (level_editor->platforms_layer == NULL) {
- RETURN_LT(lt, NULL);
- }
-
- level_editor->goals_layer = PUSH_LT(
- lt,
- create_point_layer_from_line_stream(level_stream),
- destroy_point_layer);
- if (level_editor->goals_layer == NULL) {
- RETURN_LT(lt, NULL);
- }
-
- level_editor->lava_layer =
- PUSH_LT(
- lt,
- create_rect_layer_from_line_stream(level_stream),
- destroy_rect_layer);
- if (level_editor->lava_layer == NULL) {
- RETURN_LT(lt, NULL);
- }
-
- level_editor->back_platforms_layer =
- PUSH_LT(
- lt,
- create_rect_layer_from_line_stream(level_stream),
- destroy_rect_layer);
- if (level_editor->back_platforms_layer == NULL) {
- RETURN_LT(lt, NULL);
- }
+ Memory tmpmem = {
+ .capacity = LEVEL_EDITOR_TMPMEM_CAPACITY,
+ .buffer = malloc(LEVEL_EDITOR_TMPMEM_CAPACITY),
+ };
+ trace_assert(tmpmem.buffer);