X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=2d31e46e28aa8188bae035d5e591fba2c37446c1;hb=53597f45307d8a2120e3a0bbe71797b216e8750b;hp=ecf595d42c51a731daecfef6b4e99bdbaf43fd5c;hpb=9eb3de757a997becb8406417a4bf613f4cb04900;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index ecf595d..2d31e46 100644 --- a/player.h +++ b/player.h @@ -61,11 +61,6 @@ struct player_instance{ */ camera cam; struct player_cam_controller cam_control; - - v3f cam_override_pos; - v3f cam_override_angles; - float cam_override_fov; - float cam_override_strength; f32 cam_trackshake; float cam_velocity_influence, @@ -91,17 +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; - - /* - * Replay - * ------------------------------------------------- - */ - replay_buffer replay; - /* * Subsystems * ------------------------------------------------- @@ -122,8 +110,7 @@ static localplayer; */ VG_STATIC -void (*_player_system_register[])(void) = -{ +void (*_player_system_register[])(void) = { player__walk_register, player__skate_register, NULL, @@ -131,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, @@ -140,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, @@ -149,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, @@ -158,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, @@ -167,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, @@ -185,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, @@ -194,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, @@ -239,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 );