struct player_subsystem_interface{
void(*system_register)(void);
void(*bind)(void);
- void(*reset)( ent_spawn *rp );
void(*pre_update)(void);
void(*update)(void);
void(*post_update)(void);
rigidbody rb;
v3f angles;
+#if 0
v4f qbasis;
m3x3f basis, invbasis, basis_gate;
world_instance *viewable_world;
+#endif
/*
* Camera management
* --------------------------------------------------
*/
- struct player_avatar *playeravatar;
struct player_ragdoll ragdoll;
struct player_model fallback_model;
*/
enum player_subsystem subsystem; /* .. prev */
+
+ /*
+ * Rendering
+ */
+ mdl_context skeleton_meta;
+ struct skeleton skeleton;
+
+ u32 id_hip,
+ id_chest,
+ id_ik_hand_l,
+ id_ik_hand_r,
+ id_ik_elbow_l,
+ id_ik_elbow_r,
+ id_head,
+ id_ik_foot_l,
+ id_ik_foot_r,
+ id_ik_knee_l,
+ id_ik_knee_r,
+ id_wheel_l,
+ id_wheel_r,
+ id_board;
}
static localplayer = {
.rb = {
*/
static void player__debugtext( int size, const char *fmt, ... );
-static void player__use_avatar( struct player_avatar *av );
static void player__use_mesh( glmesh *mesh );
static void player__use_texture( vg_tex2d *tex );
static void player__use_model( u16 reg_id );
static void player__im_gui(void);
static void player__setpos( v3f pos );
static void player__spawn( ent_spawn *rp );
+static void player__reset(void);
static void player__kill(void);
static void player__begin_holdout( v3f offset );