X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=63cd302d673f6f518db6e0130a1b88899ef14b01;hb=f2c77307831c6f971dcad62552cbe57fa99bce98;hp=6ee3112b701165ff9a401c6ed1961d140d3f4fa5;hpb=ce0205fd929e5fb1446f8c52fcab344884d82569;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 6ee3112..63cd302 100644 --- a/player.h +++ b/player.h @@ -36,7 +36,6 @@ struct player_cam_controller { 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); @@ -74,9 +73,11 @@ struct { rigidbody rb; v3f angles; +#if 0 v4f qbasis; m3x3f basis, invbasis, basis_gate; world_instance *viewable_world; +#endif /* * Camera management @@ -115,7 +116,6 @@ struct { * -------------------------------------------------- */ - struct player_avatar *playeravatar; struct player_ragdoll ragdoll; struct player_model fallback_model; @@ -133,6 +133,27 @@ struct { */ 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 = { @@ -158,7 +179,6 @@ struct player_subsystem_interface static *player_subsystems[] = { */ 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 ); @@ -172,8 +192,9 @@ static void player__pass_gate( u32 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(void); +static void player__begin_holdout( v3f offset ); static int localplayer_cmd_respawn( int argc, const char *argv[] ); static void player_apply_transport_to_cam( m4x3f transport );