X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=69be37e75411da8af5af97fbc3b3dccc6e8ef836;hb=eb203257efcfe324217de9e733cc6c1371b99de6;hp=d4900dd8d24fa476109236aa224192428cf9046b;hpb=95054f3e156a1cb86d573b11516f2c65fe02679e;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index d4900dd..69be37e 100644 --- a/player_skate.h +++ b/player_skate.h @@ -14,12 +14,12 @@ struct player_skate enum skate_activity { k_skate_activity_air, + k_skate_activity_air_to_grind, k_skate_activity_ground, k_skate_activity_undefined, k_skate_activity_grind_any, k_skate_activity_grind_boardslide, - k_skate_activity_grind_noseslide, - k_skate_activity_grind_tailslide, + k_skate_activity_grind_metallic, k_skate_activity_grind_back50, k_skate_activity_grind_front50, k_skate_activity_grind_5050 @@ -27,11 +27,7 @@ struct player_skate activity, activity_prev; - float /* steery, - steerx, - steery_s, - steerx_s, */ - reverse, + float reverse, slip; int manual_direction; @@ -49,8 +45,6 @@ struct player_skate v3f up_dir; v3f head_position; - int lift_frames; - v3f throw_v; v3f cog_v, cog; @@ -58,7 +52,8 @@ struct player_skate v2f grab_mouse_delta; int charging_jump, jump_dir; - float jump_charge; + float jump_charge, + slap; double jump_time; double start_push, @@ -70,14 +65,15 @@ struct player_skate double air_start; v3f air_init_v, air_init_co; + + v4f smoothed_rotation; } state, state_gate_storage; - - /* animation */ + /* animation /audio */ struct skeleton_anim *anim_stand, *anim_highg, *anim_slide, - *anim_air, + *anim_air, *anim_grind, *anim_grind_jump, *anim_push, *anim_push_reverse, *anim_ollie, *anim_ollie_reverse, *anim_grabs, *anim_stop; @@ -89,13 +85,14 @@ struct player_skate blend_z, blend_x, blend_fly, + blend_grind, + blend_grind_balance, blend_stand, blend_push, blend_jump, blend_airdir, - blend_weight; - - float slap; + blend_weight, + subslap; /* vectors representing the direction of the axels in localspace */ v3f truckv0[2]; @@ -104,6 +101,20 @@ struct player_skate audio_channel *aud_main, *aud_slide, *aud_air; enum mdl_surface_prop surface, audio_surface; + int wheel_contacts[2]; + float sample_change_cooldown; + + enum { + k_skate_sample_concrete, + k_skate_sample_wood, + k_skate_sample_concrete_scrape_metal, + k_skate_sample_concrete_scrape_wood, + k_skate_sample_metal_scrape_generic + } + main_sample_type; + + player_pose holdout; + /* * Physics * ---------------------------------------------------- @@ -147,7 +158,8 @@ struct player_skate grind_vec, grind_dir; - u32 frames_since_activity_change; + u32 grind_cooldown, + surface_cooldown; float grind_strength; @@ -170,6 +182,7 @@ VG_STATIC void player__skate_animate ( player_instance *player, VG_STATIC void player__skate_post_animate ( player_instance *player ); VG_STATIC void player__skate_reset ( player_instance *player, ent_spawn *rp ); +VG_STATIC void player__skate_restore( player_instance *player ); VG_STATIC void player__skate_clear_mechanics( player_instance *player ); VG_STATIC void player__skate_reset_animator( player_instance *player );