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
activity,
activity_prev;
- float /* steery,
- steerx,
- steery_s,
- steerx_s, */
- reverse,
+ float reverse,
slip;
int manual_direction;
v3f up_dir;
v3f head_position;
- int lift_frames;
-
v3f throw_v;
v3f cog_v, cog;
v2f grab_mouse_delta;
int charging_jump, jump_dir;
- float jump_charge;
+ float jump_charge,
+ slap;
double jump_time;
double start_push,
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;
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];
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
* ----------------------------------------------------
grind_vec,
grind_dir;
- u32 grind_cooldown;
+ u32 grind_cooldown,
+ surface_cooldown;
float grind_strength;
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 );