X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fgame%2Flevel%2Fboxes.h;h=207d1278906c76e6c9f6444cc9c99fcbd65daf55;hb=dc356739e8d0bc20bf62c2ca034d1b1122e4aea4;hp=8a342b850c439fbedf1a022bcd98e8dd655c7cbd;hpb=a2d914f555251c2333bd503bc1ee5860d7156e91;p=nothing.git diff --git a/src/game/level/boxes.h b/src/game/level/boxes.h index 8a342b85..207d1278 100644 --- a/src/game/level/boxes.h +++ b/src/game/level/boxes.h @@ -1,26 +1,28 @@ #ifndef BOXES_H_ #define BOXES_H_ -#include "game/level/platforms.h" #include "game/camera.h" +#include "game/level/platforms.h" +#include "lava.h" +#include "ebisp/expr.h" + +typedef struct Boxes Boxes; +typedef struct Player Player; +typedef struct Physical_world Physical_world; +typedef struct LineStream LineStream; -typedef struct boxes_t boxes_t; -typedef struct player_t player_t; +Boxes *create_boxes_from_line_stream(LineStream *line_stream, RigidBodies *rigid_bodies); +void destroy_boxes(Boxes *boxes); -boxes_t *create_boxes_from_stream(FILE *stream); -void destroy_boxes(boxes_t *boxes); +int boxes_render(Boxes *boxes, Camera *camera); +int boxes_update(Boxes *boxes, float delta_time); -solid_ref_t boxes_as_solid(boxes_t *boxes); +void boxes_float_in_lava(Boxes *boxes, Lava *lava); -int boxes_render(boxes_t *boxes, camera_t *camera); -int boxes_update(boxes_t *boxes, float delta_time); -void boxes_rect_object_collide(const boxes_t *boxes, - rect_t object, - int sides[RECT_SIDE_N]); +int boxes_add_to_physical_world(const Boxes *boxes, + Physical_world *Physical_world); -void boxes_collide_with_solid(boxes_t *boxes, - solid_ref_t solid); -void boxes_take_impact_from_player(boxes_t *boxes, - player_t *player); +struct EvalResult +boxes_send(Boxes *boxes, Gc *gc, struct Scope *scope, struct Expr path); #endif // BOXES_H_