1 #ifndef PLAYER_RAGDOLL_H
2 #define PLAYER_RAGDOLL_H
4 #include "player_api.h"
7 #include "player_render.h"
13 /* Collider transform relative to bone */
30 rb_constr_pos position_constraints
[32];
31 u32 position_constraints_count
;
33 rb_constr_swingtwist cone_constraints
[32];
34 u32 cone_constraints_count
;
39 VG_STATIC
float k_ragdoll_floatyiness
= 20.0f
,
40 k_ragdoll_floatydrag
= 1.0f
,
41 k_ragdoll_limit_scale
= 1.0f
;
43 VG_STATIC
int k_ragdoll_div
= 1,
45 k_ragdoll_debug_collider
= 1,
46 k_ragdoll_debug_constraints
= 0;
48 VG_STATIC
void player_ragdoll_init(void);
49 VG_STATIC
void player_init_ragdoll_bone_collider( struct skeleton_bone
*bone
,
50 struct ragdoll_part
*rp
);
51 VG_STATIC u32
ragdoll_bone_parent( struct player_ragdoll
*rd
,
52 struct player_avatar
*av
, u32 bone_id
);
53 VG_STATIC
void player_setup_ragdoll_from_avatar( struct player_ragdoll
*rd
,
54 struct player_avatar
*av
);
55 VG_STATIC
void copy_ragdoll_pose_to_avatar( struct player_ragdoll
*rd
,
56 struct player_avatar
*av
);
57 VG_STATIC
void copy_avatar_pose_to_ragdoll( struct player_avatar
*av
,
58 struct player_ragdoll
*rd
,
60 VG_STATIC
void player_debug_ragdoll(void);
61 VG_STATIC
void player_ragdoll_iter( struct player_ragdoll
*rd
);
63 #endif /* PLAYER_RAGDOLL_H */