X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=1c02a4e55f1742d1fd0894c2ef22e17657bdd6c5;hb=a1056ed8198f0f5be0e0f341da8bd49aa6c47198;hp=85bca0a8258a5f13aa067d14d3de5fba4ad5fb3c;hpb=5a6199fecf8afcff4b4ef2d341a0dfd0e220420d;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 85bca0a..1c02a4e 100644 --- a/player.h +++ b/player.h @@ -6,7 +6,7 @@ #include "player_common.h" #include "player_walk.h" #include "player_skate.h" -//#include "player_dead.h" +#include "player_dead.h" struct player_instance { @@ -14,6 +14,10 @@ struct player_instance rigidbody rb; v3f angles; + v4f qbasis; + m3x3f basis, invbasis, basis_gate; + world_instance *viewable_world; + /* * Camera management * --------------------------- @@ -28,27 +32,26 @@ struct player_instance camera_mode; float camera_type_blend; -#if 0 - struct - { - v3f co, angles; - } - cam1, cam3; -#endif - v3f follow_pos, - follow_angles, - follow_pos_target, - follow_angles_target, - override_pos, - override_angles, - fpv_pos, - fpv_angles; + v3f fpv_offset, /* expressed relative to rigidbody */ + tpv_offset, + fpv_viewpoint, /* expressed relative to neck bone inverse final */ + fpv_offset_smooth, + fpv_viewpoint_smooth, + tpv_offset_smooth, + tpv_lpf, + cam_velocity_smooth; - float cam_position_override_strength, - cam_angles_override_strength; + float cam_velocity_influence, + cam_velocity_coefficient, + cam_velocity_constant, + cam_velocity_coefficient_smooth, + cam_velocity_constant_smooth, + cam_velocity_influence_smooth, + cam_land_punch, + cam_land_punch_v; - teleport_gate *gate_waiting; + ent_gate *gate_waiting; /* * Input @@ -60,6 +63,9 @@ struct player_instance *input_js2v, *input_jump, *input_push, + *input_trick0, + *input_trick1, + *input_trick2, *input_walk, *input_walkh, *input_walkv, @@ -78,6 +84,9 @@ struct player_instance struct player_ragdoll ragdoll; vg_tex2d *playertex; + player_pose holdout_pose; + float holdout_time; + /* * Subsystems * ------------------------------------------------- @@ -93,7 +102,7 @@ struct player_instance struct player_skate _skate; struct player_walk _walk; - //struct player_dead _dead; + struct player_dead _dead; }; /* @@ -110,7 +119,7 @@ void (*_player_bind[])( player_instance *player ) = }; VG_STATIC -void (*_player_reset[])( player_instance *player, struct respawn_point *rp ) = +void (*_player_reset[])( player_instance *player, ent_spawn *rp ) = { NULL, player__skate_reset, @@ -130,7 +139,7 @@ void( *_player_update[])( player_instance *player ) = { player__walk_update, player__skate_update, - NULL + player__dead_update, }; VG_STATIC @@ -154,7 +163,7 @@ void( *_player_animate[])( player_instance *player, player_animation *dest ) = { player__walk_animate, player__skate_animate, - NULL + player__dead_animate }; VG_STATIC @@ -162,7 +171,7 @@ void( *_player_post_animate[])( player_instance *player ) = { player__walk_post_animate, player__skate_post_animate, - NULL + player__dead_post_animate }; /* implementation */ @@ -171,7 +180,7 @@ void( *_player_post_animate[])( player_instance *player ) = #include "player_common.c" #include "player_walk.c" #include "player_skate.c" -//#include "player_dead.c" +#include "player_dead.c" #endif /* PLAYER_H */ @@ -392,68 +401,6 @@ VG_STATIC void reset_player_poll( int argc, char const *argv[] ); VG_STATIC void player_init(void) /* 1 */ { -#if 0 - player.input_js1h = vg_create_named_input( "steer-h", k_input_type_axis ); - player.input_js1v = vg_create_named_input( "steer-v", k_input_type_axis ); - player.input_grab = vg_create_named_input( "grab", k_input_type_axis_norm ); - player.input_js2h = vg_create_named_input( "grab-h", k_input_type_axis ); - player.input_js2v = vg_create_named_input( "grab-v", k_input_type_axis ); - player.input_jump = vg_create_named_input( "jump", k_input_type_button ); - player.input_push = vg_create_named_input( "push", k_input_type_button ); - player.input_walk = vg_create_named_input( "walk", k_input_type_button ); - - player.input_walkh = vg_create_named_input( "walk-h", - k_input_type_axis ); - player.input_walkv = vg_create_named_input( "walk-v", - k_input_type_axis ); - - - player.input_switch_mode = vg_create_named_input( "switch-mode", - k_input_type_button ); - player.input_reset = vg_create_named_input( "reset", k_input_type_button ); - - const char *default_cfg[] = - { - "bind steer-h gp-ls-h", - "bind -steer-h a", - "bind +steer-h d", - - "bind steer-v gp-ls-v", - "bind -steer-v w", - "bind +steer-v s", - - "bind grab gp-rt", - "bind +grab shift", - "bind grab-h gp-rs-h", - "bind grab-v gp-rs-v", - - "bind jump space", - "bind jump gp-a", - - "bind push gp-b", - "bind push w", - - "bind walk shift", - "bind walk gp-ls", - - "bind walk-h gp-ls-h", - "bind walk-v -gp-ls-v", - "bind +walk-h d", - "bind -walk-h a", - "bind +walk-v w", - "bind -walk-v s", - - "bind reset gp-lb", - "bind reset r", - - "bind switch-mode gp-y", - "bind switch-mode e", - }; - - for( int i=0; i