X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=7484ce94610c1100a030fe03cc4f2c3399fdef5e;hb=67928190c66b05bd48b6b515278e930974d25cd2;hp=38e01ad2865bf73d72b12e64e43c433b007ef3e8;hpb=f99902f513b0ad606437bf32de47405dd4ea5f98;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 38e01ad..7484ce9 100644 --- a/player.h +++ b/player.h @@ -1,8 +1,9 @@ #ifndef PLAYER_H #define PLAYER_H -#include "player_api.h" - +#include "player_ragdoll.h" +#include "player_render.h" +#include "player_model.h" #include "player_common.h" #include "player_walk.h" #include "player_skate.h" @@ -12,8 +13,11 @@ #define PLAYER_REWIND_FRAMES 60*4 #define RESET_MAX_TIME 45.0 -struct player_instance -{ +static i32 k_cinema_fixed = 0; +static f32 k_cinema = 0.0f; +static i32 k_invert_y = 0; + +struct player_instance{ /* transform definition */ rigidbody rb, rb_gate_storage; v3f angles, angles_storage; @@ -37,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, @@ -45,40 +50,23 @@ struct player_instance cam_velocity_smooth; v3f cam_override_pos; - v2f cam_override_angles; + v3f cam_override_angles; + float cam_override_fov; float cam_override_strength; + f32 cam_trackshake; 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; + cam_velocity_influence_smooth; + + v3f cam_land_punch, cam_land_punch_v; ent_gate *gate_waiting; - /* - * Input - * -------------------------------- - */ - struct input_binding *input_js1h, - *input_js1v, - *input_js2h, - *input_js2v, - *input_jump, - *input_push, - *input_trick0, - *input_trick1, - *input_trick2, - *input_walk, - *input_walkh, - *input_walkv, - *input_use, - *input_reset, - *input_grab, - *input_camera; + int immobile; /* * Animation @@ -86,13 +74,16 @@ struct player_instance */ struct player_avatar *playeravatar; - glmesh *playermesh; struct player_ragdoll ragdoll; - vg_tex2d *playertex; + 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 * ---------------------------------------------------- @@ -130,7 +121,8 @@ struct player_instance struct player_walk _walk; struct player_dead _dead; struct player_drive _drive; -}; +} +static localplayer; /* * Gameloop tables @@ -227,21 +219,26 @@ void( *_player_restore[] )( player_instance *player ) = NULL }; -VG_STATIC void player_init(void) -{ - for( u32 i=0; i