X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=7484ce94610c1100a030fe03cc4f2c3399fdef5e;hb=67928190c66b05bd48b6b515278e930974d25cd2;hp=8f1e3c6be4ae9ed96c3538b49294eeb6c440ffe5;hpb=cbeec2e44e93ab43ccde54c2dd9cd02f559ebef8;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 8f1e3c6..7484ce9 100644 --- a/player.h +++ b/player.h @@ -17,8 +17,7 @@ static i32 k_cinema_fixed = 0; static f32 k_cinema = 0.0f; static i32 k_invert_y = 0; -struct player_instance -{ +struct player_instance{ /* transform definition */ rigidbody rb, rb_gate_storage; v3f angles, angles_storage; @@ -42,6 +41,7 @@ struct player_instance v3f fpv_offset, /* expressed relative to rigidbody */ tpv_offset, + tpv_offset_extra, fpv_viewpoint, /* expressed relative to neck bone inverse final */ fpv_offset_smooth, fpv_viewpoint_smooth, @@ -75,20 +75,15 @@ struct player_instance struct player_avatar *playeravatar; struct player_ragdoll ragdoll; - -#if 0 - //struct player_model *playermodel; - //struct player_board *board; - - struct cache_board *board_view_slot; - struct cache_playermodel *playermodel_view_slot; -#endif + struct player_model fallback_model; u16 board_view_slot, playermodel_view_slot; player_pose holdout_pose; float holdout_time; + struct board_pose board_pose; + /* * Rewind * ---------------------------------------------------- @@ -230,6 +225,8 @@ PLAYER_API void player__use_avatar( player_instance *player, struct player_avatar *av ); PLAYER_API void player__use_mesh( player_instance *player, glmesh *mesh ); PLAYER_API void player__use_texture( player_instance *player, vg_tex2d *tex ); +PLAYER_API void player__use_model( player_instance *player, u16 reg_id ); + PLAYER_API void player__bind( player_instance *player ); PLAYER_API void player__pre_update( player_instance *player ); PLAYER_API void player__update( player_instance *player ); @@ -237,6 +234,7 @@ PLAYER_API void player__post_update( player_instance *player ); PLAYER_API void player__pass_gate( player_instance *player, ent_gate *gate ); PLAYER_API void player__im_gui( player_instance *player ); +PLAYER_API void player__setpos( player_instance *player, v3f pos ); PLAYER_API void player__spawn( player_instance *player, ent_spawn *rp ); PLAYER_API void player__kill( player_instance *player );