X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=f1661d53c87c881c447263ecfe0ccc2d51927200;hb=919d1227839218c57430fe9cab8f74d594c7bd14;hp=e3f639a7360c6ef7577c8093043d88c73ed786f5;hpb=0a5ec40708e7d128511cac04f84d85055e6fc164;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index e3f639a..f1661d5 100644 --- a/player_skate.h +++ b/player_skate.h @@ -43,11 +43,15 @@ struct player_skate trick_euler; /* measured in units of TAU */ float trick_time; + + float gravity_bias; +#if 0 m3x3f velocity_bias, velocity_bias_pstep; v3f apex; - v3f up_dir; +#endif + v3f up_dir; v3f head_position; int lift_frames; @@ -60,12 +64,17 @@ struct player_skate int charging_jump, jump_dir; float jump_charge; - double jump_time; + double jump_time; double start_push, cur_push; v3f prev_pos; + + /* initial launch conditions */ + double air_start; + v3f air_init_v, + air_init_co; } state, state_gate_storage; @@ -88,10 +97,16 @@ struct player_skate blend_stand, blend_push, blend_jump, - blend_airdir; + blend_airdir, + blend_weight; + /* vectors representing the direction of the axels in localspace */ + v3f truckv0[2]; v2f wobble; + audio_channel *aud_main, *aud_slide, *aud_air; + enum mdl_surface_prop surface, audio_surface; + /* * Physics * ---------------------------------------------------- @@ -105,7 +120,11 @@ struct player_skate v3f log[50]; v3f n; v3f apex; - u32 log_length; + v3f v; + + float gravity; + + int log_length; float score, land_dist; @@ -119,14 +138,17 @@ struct player_skate u32 colour; } - predictions[22]; + predictions[32]; u32 prediction_count; float land_dist; v3f land_normal; v3f surface_picture, weight_distribution, - grind_vec; + grind_vec, + grind_dir; + + u32 frames_since_activity_change; float grind_strength; @@ -148,7 +170,7 @@ VG_STATIC void player__skate_animate ( player_instance *player, player_animation *anim ); VG_STATIC void player__skate_post_animate ( player_instance *player ); VG_STATIC void player__skate_reset ( player_instance *player, - struct respawn_point *rp ); + ent_spawn *rp ); VG_STATIC void player__skate_clear_mechanics( player_instance *player ); VG_STATIC void player__skate_reset_animator( player_instance *player );