1 #ifndef RIGID_BODIES_H_
2 #define RIGID_BODIES_H_
4 typedef struct RigidBodies RigidBodies;
5 typedef struct Camera Camera;
6 typedef struct Platforms Platforms;
7 typedef struct LineStream LineStream;
9 typedef size_t RigidBodyId;
11 RigidBodies *create_rigid_bodies(size_t capacity);
12 void destroy_rigid_bodies(RigidBodies *rigid_bodies);
14 int rigid_bodies_collide(RigidBodies *rigid_bodies,
15 const Platforms *platforms);
17 int rigid_bodies_update(RigidBodies *rigid_bodies,
21 int rigid_bodies_render(RigidBodies *rigid_bodies,
24 RigidBodyId rigid_bodies_add(RigidBodies *rigid_bodies,
27 RigidBodyId rigid_bodies_add_from_line_stream(RigidBodies *rigid_bodies,
28 LineStream *line_stream);
29 void rigid_bodies_remove(RigidBodies *rigid_bodies,
32 Rect rigid_bodies_hitbox(const RigidBodies *rigid_bodies,
35 void rigid_bodies_move(RigidBodies *rigid_bodies,
39 int rigid_bodies_touches_ground(const RigidBodies *rigid_bodies,
42 void rigid_bodies_apply_force(RigidBodies * rigid_bodies,
46 void rigid_bodies_apply_omniforce(RigidBodies *rigid_bodies,
49 void rigid_bodies_transform_velocity(RigidBodies *rigid_bodies,
53 void rigid_bodies_teleport_to(RigidBodies *rigid_bodies,
57 void rigid_bodies_damper(RigidBodies *rigid_bodies,
61 void rigid_bodies_disable(RigidBodies *rigid_bodies,
65 #endif // RIGID_BODIES_H_