X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=ec24b865a130c314a085a9bf1875ed18ce705f47;hb=ae7167001d7f442b08354b32873cd29c3fb4c74e;hp=dac0db44fd121079074b0ee2b19227c99ef4e7ba;hpb=1b522daa02f28128498b04def4d60b63e590d1f3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index dac0db4..ec24b86 100644 --- a/player.h +++ b/player.h @@ -13,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; @@ -46,51 +49,34 @@ 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 * -------------------------------------------------- */ - struct player_avatar *playeravatar; - struct player_model *playermodel; - struct player_board *playerboard; struct player_ragdoll ragdoll; + struct player_model fallback_model; + + u16 board_view_slot, playermodel_view_slot; player_pose holdout_pose; float holdout_time; @@ -236,6 +222,8 @@ PLAYER_API void player__use_avatar( player_instance *player, struct player_avatar *av ); PLAYER_API void player__use_mesh( player_instance *player, glmesh *mesh ); PLAYER_API void player__use_texture( player_instance *player, vg_tex2d *tex ); +PLAYER_API void player__use_model( player_instance *player, u16 reg_id ); + PLAYER_API void player__bind( player_instance *player ); PLAYER_API void player__pre_update( player_instance *player ); PLAYER_API void player__update( player_instance *player ); @@ -243,18 +231,11 @@ PLAYER_API void player__post_update( player_instance *player ); PLAYER_API void player__pass_gate( player_instance *player, ent_gate *gate ); 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 ); -/* implementation */ - -#include "player.c" -#include "player_common.c" -#include "player_walk.c" -#include "player_skate.c" -#include "player_dead.c" -#include "player_drive.c" -#include "player_render.c" -#include "player_ragdoll.c" +VG_STATIC int localplayer_cmd_respawn( int argc, const char *argv[] ); +VG_STATIC void player_apply_transport_to_cam( m4x3f transport ); #endif /* PLAYER_H */