X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=2d31e46e28aa8188bae035d5e591fba2c37446c1;hb=dbbdf411d1aaf70cb995c3371cfae37fd0b7dbcc;hp=2ae0485307b8f056e5dd51911c6d2d1ac2e64106;hpb=0399d5a0a2e1818c3d4951f42abc1132f7e26421;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 2ae0485..2d31e46 100644 --- a/player.h +++ b/player.h @@ -86,11 +86,10 @@ struct player_instance{ u16 board_view_slot, playermodel_view_slot; + player_pose pose; player_pose holdout_pose; float holdout_time; - struct board_pose board_pose; - /* * Subsystems * ------------------------------------------------- @@ -154,7 +153,7 @@ VG_STATIC void( *_player_post_update[])( player_instance *player ) = { player__walk_post_update, player__skate_post_update, - NULL, + player__dead_post_update, player__drive_post_update }; @@ -167,13 +166,21 @@ void( *_player_im_gui[])( player_instance *player ) = { }; VG_STATIC -void( *_player_animate[])( player_instance *player, player_animation *dest ) = { +void( *_player_animate[])( player_instance *player ) = { player__walk_animate, player__skate_animate, player__dead_animate, player__drive_animate }; +VG_STATIC +void( *_player_pose[] )( player_instance *player, player_pose *pose ) = { + player__walk_pose, + player__skate_pose, + player__dead_pose, + player__drive_pose, +}; + VG_STATIC void( *_player_post_animate[])( player_instance *player ) = { player__walk_post_animate, @@ -200,6 +207,7 @@ 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 ); +PLAYER_API void player__begin_holdout( player_instance *player ); VG_STATIC int localplayer_cmd_respawn( int argc, const char *argv[] ); VG_STATIC void player_apply_transport_to_cam( m4x3f transport );