X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=ecf595d42c51a731daecfef6b4e99bdbaf43fd5c;hb=9eb3de757a997becb8406417a4bf613f4cb04900;hp=77c63db3ae355ed68b7006fd4d5ca1ea69f5853a;hpb=b615f03b922d155f9449d2a23d3cc18eed320ed3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index 77c63db..ecf595d 100644 --- a/player.h +++ b/player.h @@ -1,6 +1,8 @@ #ifndef PLAYER_H #define PLAYER_H +#include "skaterift.h" + enum player_subsystem{ k_player_subsystem_walk = 0, k_player_subsystem_skate = 1, @@ -8,6 +10,25 @@ enum player_subsystem{ k_player_subsystem_drive = 3 }; +struct player_cam_controller { + enum camera_mode{ + k_cam_firstperson = 1, + k_cam_thirdperson = 0 + } + camera_mode; + f32 camera_type_blend; + + 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, + tpv_offset_smooth, + tpv_lpf, + cam_velocity_smooth; +}; + #include "player_ragdoll.h" #include "player_render.h" #include "player_model.h" @@ -27,8 +48,8 @@ static i32 k_invert_y = 0; struct player_instance{ /* transform definition */ - rigidbody rb, rb_gate_storage; - v3f angles, angles_storage; + rigidbody rb; + v3f angles; v4f qbasis; m3x3f basis, invbasis, basis_gate; @@ -39,23 +60,7 @@ struct player_instance{ * --------------------------- */ camera cam; - - enum camera_mode{ - k_cam_firstperson = 1, - k_cam_thirdperson = 0 - } - camera_mode; - float camera_type_blend; - - 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, - tpv_offset_smooth, - tpv_lpf, - cam_velocity_smooth; + struct player_cam_controller cam_control; v3f cam_override_pos; v3f cam_override_angles; @@ -71,7 +76,6 @@ struct player_instance{ cam_velocity_influence_smooth; v3f cam_land_punch, cam_land_punch_v; - ent_gate *gate_waiting; int immobile; @@ -92,25 +96,6 @@ struct player_instance{ struct board_pose board_pose; - /* - * Rewind (OLD SYSTEM) - * ---------------------------------------------------- - */ - int rewinding, rewind_sound_wait; - - struct rewind_frame{ - v3f pos; - v3f ang; - } - *rewind_buffer; - u32 rewind_length; - float rewind_accum; - ent_gate *rewind_gate; - - float rewind_total_length, rewind_predicted_time, - dist_accum; - double rewind_start, rewind_time; - /* * Replay * ------------------------------------------------- @@ -122,9 +107,7 @@ struct player_instance{ * ------------------------------------------------- */ - enum player_subsystem - subsystem, - subsystem_gate; + enum player_subsystem subsystem; /* .. prev */ struct player_skate _skate; struct player_walk _walk; @@ -219,17 +202,6 @@ void( *_player_post_animate[])( player_instance *player ) = player__drive_post_animate }; - -__attribute__((deprecated)) -VG_STATIC -void( *_player_restore[] )( player_instance *player ) = -{ - player__walk_restore, - player__skate_restore, - NULL, - NULL -}; - VG_STATIC void( *_player_store_state[] )( player_instance *player ) = {