+++ /dev/null
-#ifndef PLAYER_RAGDOLL_H
-#define PLAYER_RAGDOLL_H
-
-#include "player_api.h"
-#include "skeleton.h"
-#include "rigidbody.h"
-#include "player_render.h"
-
-struct player_ragdoll{
- struct ragdoll_part{
- u32 bone_id;
-
- /* Collider transform relative to bone */
- m4x3f collider_mtx,
- inv_collider_mtx;
-
- v4f prev_q;
- v3f prev_co;
-
- u32 use_limits;
- v3f limits[2];
-
- rb_object obj;
- u32 parent;
- u32 colour;
- }
- parts[32];
- u32 part_count;
-
- rb_constr_pos position_constraints[32];
- u32 position_constraints_count;
-
- rb_constr_swingtwist cone_constraints[32];
- u32 cone_constraints_count;
-
- int shoes[2];
-};
-
-static float k_ragdoll_floatyiness = 20.0f,
- k_ragdoll_floatydrag = 1.0f,
- k_ragdoll_limit_scale = 1.0f;
-
-static int k_ragdoll_div = 1,
- ragdoll_frame = 0,
- k_ragdoll_debug_collider = 1,
- k_ragdoll_debug_constraints = 0;
-
-static void player_ragdoll_init(void);
-static void player_init_ragdoll_bone_collider( struct skeleton_bone *bone,
- struct ragdoll_part *rp );
-static u32 ragdoll_bone_parent( struct player_ragdoll *rd,
- struct player_avatar *av, u32 bone_id );
-static void player_setup_ragdoll_from_avatar( struct player_ragdoll *rd,
- struct player_avatar *av );
-static void copy_ragdoll_pose_to_avatar( struct player_ragdoll *rd,
- struct player_avatar *av );
-static void copy_avatar_pose_to_ragdoll( struct player_avatar *av,
- struct player_ragdoll *rd,
- v3f velocity );
-static void player_debug_ragdoll(void);
-static void player_ragdoll_iter( struct player_ragdoll *rd );
-
-#endif /* PLAYER_RAGDOLL_H */