#ifndef RIGID_BODIES_H_
#define RIGID_BODIES_H_
+#include "math/mat3x3.h"
+
typedef struct RigidBodies RigidBodies;
-typedef struct Camera Camera;
typedef struct Platforms Platforms;
-typedef struct LineStream LineStream;
typedef size_t RigidBodyId;
int rigid_bodies_render(RigidBodies *rigid_bodies,
RigidBodyId id,
- Camera *camera);
+ Color color,
+ const Camera *camera);
RigidBodyId rigid_bodies_add(RigidBodies *rigid_bodies,
- Rect rect,
- Color color);
-RigidBodyId rigid_bodies_add_from_line_stream(RigidBodies *rigid_bodies,
- LineStream *line_stream);
+ Rect rect);
void rigid_bodies_remove(RigidBodies *rigid_bodies,
RigidBodyId id);
void rigid_bodies_move(RigidBodies *rigid_bodies,
RigidBodyId id,
- Vec movement);
+ Vec2f movement);
int rigid_bodies_touches_ground(const RigidBodies *rigid_bodies,
RigidBodyId id);
void rigid_bodies_apply_force(RigidBodies * rigid_bodies,
RigidBodyId id,
- Vec force);
+ Vec2f force);
void rigid_bodies_apply_omniforce(RigidBodies *rigid_bodies,
- Vec force);
+ Vec2f force);
void rigid_bodies_transform_velocity(RigidBodies *rigid_bodies,
RigidBodyId id,
void rigid_bodies_teleport_to(RigidBodies *rigid_bodies,
RigidBodyId id,
- Vec position);
+ Vec2f position);
void rigid_bodies_damper(RigidBodies *rigid_bodies,
RigidBodyId id,
- Vec v);
+ Vec2f v);
void rigid_bodies_disable(RigidBodies *rigid_bodies,
RigidBodyId id,