Background background;
RigidBodies *rigid_bodies;
Player *player;
- Platforms *platforms;
+ Platforms platforms;
Goals *goals;
Lava *lava;
- Platforms *back_platforms;
+ Platforms back_platforms;
Boxes *boxes;
Labels *labels;
Regions *regions;
RETURN_LT(lt, NULL);
}
- level->platforms = PUSH_LT(
- lt,
- create_platforms_from_rect_layer(level_editor->platforms_layer),
- destroy_platforms);
- if (level->platforms == NULL) {
- RETURN_LT(lt, NULL);
- }
+ level->platforms = create_platforms_from_rect_layer(level_editor->platforms_layer);
level->goals = PUSH_LT(
lt,
RETURN_LT(lt, NULL);
}
- level->back_platforms = PUSH_LT(
- lt,
- create_platforms_from_rect_layer(level_editor->back_platforms_layer),
- destroy_platforms);
- if (level->back_platforms == NULL) {
- RETURN_LT(lt, NULL);
- }
+ level->back_platforms =
+ create_platforms_from_rect_layer(level_editor->back_platforms_layer);
level->boxes = PUSH_LT(
lt,
return -1;
}
- if (platforms_render(level->back_platforms, camera) < 0) {
+ if (platforms_render(&level->back_platforms, camera) < 0) {
return -1;
}
return -1;
}
- if (platforms_render(level->platforms, camera) < 0) {
+ if (platforms_render(&level->platforms, camera) < 0) {
return -1;
}
boxes_update(level->boxes, delta_time);
player_update(level->player, delta_time);
- rigid_bodies_collide(level->rigid_bodies, level->platforms);
+ rigid_bodies_collide(level->rigid_bodies, &level->platforms);
player_die_from_lava(level->player, level->lava);
regions_player_enter(level->regions, level->player);