X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=2d31e46e28aa8188bae035d5e591fba2c37446c1;hb=1d06671f87a9d24596fc6808d8e0db889a818750;hp=6315e1a219c9dadb4b53cae73bdb73bb293585dd;hpb=2dd61c7f0185ec525658ca398801f46e6adccf23;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 6315e1a..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 * ------------------------------------------------- @@ -111,8 +110,7 @@ static localplayer; */ VG_STATIC -void (*_player_system_register[])(void) = -{ +void (*_player_system_register[])(void) = { player__walk_register, player__skate_register, NULL, @@ -120,8 +118,7 @@ void (*_player_system_register[])(void) = }; VG_STATIC -void (*_player_bind[])( player_instance *player ) = -{ +void (*_player_bind[])( player_instance *player ) = { player__walk_bind, player__skate_bind, NULL, @@ -129,8 +126,7 @@ void (*_player_bind[])( player_instance *player ) = }; VG_STATIC -void (*_player_reset[])( player_instance *player, ent_spawn *rp ) = -{ +void (*_player_reset[])( player_instance *player, ent_spawn *rp ) = { player__walk_reset, player__skate_reset, NULL, @@ -138,8 +134,7 @@ void (*_player_reset[])( player_instance *player, ent_spawn *rp ) = }; VG_STATIC -void (*_player_pre_update[])( player_instance *player ) = -{ +void (*_player_pre_update[])( player_instance *player ) = { player__walk_pre_update, player__skate_pre_update, NULL, @@ -147,8 +142,7 @@ void (*_player_pre_update[])( player_instance *player ) = }; VG_STATIC -void( *_player_update[])( player_instance *player ) = -{ +void( *_player_update[])( player_instance *player ) = { player__walk_update, player__skate_update, player__dead_update, @@ -156,17 +150,15 @@ void( *_player_update[])( player_instance *player ) = }; VG_STATIC -void( *_player_post_update[])( player_instance *player ) = -{ +void( *_player_post_update[])( player_instance *player ) = { player__walk_post_update, player__skate_post_update, - NULL, + player__dead_post_update, player__drive_post_update }; VG_STATIC -void( *_player_im_gui[])( player_instance *player ) = -{ +void( *_player_im_gui[])( player_instance *player ) = { player__walk_im_gui, player__skate_im_gui, NULL, @@ -174,8 +166,7 @@ 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, @@ -183,33 +174,21 @@ void( *_player_animate[])( player_instance *player, player_animation *dest ) = }; VG_STATIC -void( *_player_post_animate[])( player_instance *player ) = -{ +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, player__skate_post_animate, player__dead_post_animate, player__drive_post_animate }; -VG_STATIC -void( *_player_store_state[] )( player_instance *player ) = -{ - NULL, - NULL, - NULL, - NULL -}; - -VG_STATIC -void( *_player_load_state_lerp[] )( player_instance *player, - void *A, void *B, f32 t ) = -{ - NULL, - NULL, - NULL, - NULL -}; - PLAYER_API void player__debugtext( int size, const char *fmt, ... ); PLAYER_API void player__create( player_instance *inst ); PLAYER_API void player__use_avatar( player_instance *player, @@ -228,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 );