]> git.lizzy.rs Git - nothing.git/blob - src/game/level/lava.h
(#1142) Top-left resize snapping
[nothing.git] / src / game / level / lava.h
1 #ifndef LAVA_H_
2 #define LAVA_H_
3
4 #include <stdbool.h>
5
6 #include "game/camera.h"
7 #include "game/level/rigid_bodies.h"
8 #include "math/rect.h"
9
10 typedef struct Lava Lava;
11 typedef struct LineStream LineStream;
12 typedef struct RectLayer RectLayer;
13
14 Lava *create_lava_from_line_stream(LineStream *line_stream);
15 Lava *create_lava_from_rect_layer(const RectLayer *rect_layer);
16 void destroy_lava(Lava *lava);
17
18 int lava_render(const Lava *lava,
19                 const Camera *camera);
20 int lava_update(Lava *lava, float delta_time);
21
22 bool lava_overlaps_rect(const Lava *lava, Rect rect);
23
24 void lava_float_rigid_body(Lava *lava, RigidBodies *rigid_bodies, RigidBodyId id);
25
26 #endif  // LAVA_H_