]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/rigid_bodies.h
Remove TODO(#964)
[nothing.git] / src / game / level / rigid_bodies.h
index 1007a0772692976aba1fe6b8d827e3549f274c65..b3c8107398d3b75da4227c06db5254c5ca57fa11 100644 (file)
@@ -3,19 +3,61 @@
 
 typedef struct RigidBodies RigidBodies;
 typedef struct Camera Camera;
+typedef struct Platforms Platforms;
+typedef struct LineStream LineStream;
 
 typedef size_t RigidBodyId;
 
 RigidBodies *create_rigid_bodies(size_t capacity);
 void destroy_rigid_bodies(RigidBodies *rigid_bodies);
 
+int rigid_bodies_collide(RigidBodies *rigid_bodies,
+                         const Platforms *platforms);
+
 int rigid_bodies_update(RigidBodies *rigid_bodies,
+                        RigidBodyId id,
                         float delta_time);
 
 int rigid_bodies_render(RigidBodies *rigid_bodies,
+                        RigidBodyId id,
+                        Color color,
                         Camera *camera);
 RigidBodyId rigid_bodies_add(RigidBodies *rigid_bodies,
-                             Rect rect,
-                             Color color);
+                             Rect rect);
+void rigid_bodies_remove(RigidBodies *rigid_bodies,
+                         RigidBodyId id);
+
+Rect rigid_bodies_hitbox(const RigidBodies *rigid_bodies,
+                         RigidBodyId id);
+
+void rigid_bodies_move(RigidBodies *rigid_bodies,
+                       RigidBodyId id,
+                       Vec movement);
+
+int rigid_bodies_touches_ground(const RigidBodies *rigid_bodies,
+                                RigidBodyId id);
+
+void rigid_bodies_apply_force(RigidBodies * rigid_bodies,
+                              RigidBodyId id,
+                              Vec force);
+
+void rigid_bodies_apply_omniforce(RigidBodies *rigid_bodies,
+                                  Vec force);
+
+void rigid_bodies_transform_velocity(RigidBodies *rigid_bodies,
+                                     RigidBodyId id,
+                                     mat3x3 trans_mat);
+
+void rigid_bodies_teleport_to(RigidBodies *rigid_bodies,
+                              RigidBodyId id,
+                              Vec position);
+
+void rigid_bodies_damper(RigidBodies *rigid_bodies,
+                         RigidBodyId id,
+                         Vec v);
+
+void rigid_bodies_disable(RigidBodies *rigid_bodies,
+                          RigidBodyId id,
+                          bool disabled);
 
 #endif  // RIGID_BODIES_H_