X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=9fbc5634832050bb574dbd4c37054f3b7bf59267;hb=67928190c66b05bd48b6b515278e930974d25cd2;hp=464ef50d9326a81264d94a565be1fb1a03d08918;hpb=f99902f513b0ad606437bf32de47405dd4ea5f98;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index 464ef50..9fbc563 100644 --- a/player_skate.h +++ b/player_skate.h @@ -8,7 +8,7 @@ typedef struct jump_info jump_info; struct player_skate{ - struct{ + struct player_skate_state{ enum skate_activity{ k_skate_activity_air, k_skate_activity_air_to_grind, @@ -24,8 +24,7 @@ struct player_skate{ activity, activity_prev; - float reverse, - slip; + f32 reverse, slip, delayed_slip_dir; int manual_direction; @@ -37,6 +36,13 @@ struct player_skate{ v3f trick_vel, /* measured in units of TAU/s */ trick_euler; /* measured in units of TAU */ float trick_time; + enum trick_type{ + k_trick_type_none, + k_trick_type_kickflip, + k_trick_type_shuvit, + k_trick_type_treflip + } + trick_type; float gravity_bias; v3f up_dir; @@ -89,6 +95,7 @@ struct player_skate{ blend_jump, blend_airdir, blend_weight, + blend_trick_foot, subslap; /* vectors representing the direction of the axels in localspace */ @@ -184,6 +191,7 @@ VG_STATIC float k_cog_damp = 0.02f, k_cog_mass_ratio = 0.9f, + k_mmthrow_steer = 1.0f, k_mmthrow_scale = 6.0f, k_mmcollect_lat = 2.0f, k_mmcollect_vert = 0.0f, @@ -244,6 +252,7 @@ VG_STATIC void player__skate_register(void) VG_VAR_F32( k_mmcollect_lat, flags=VG_VAR_CHEAT ); VG_VAR_F32( k_mmcollect_vert, flags=VG_VAR_CHEAT ); VG_VAR_F32( k_mmdecay, flags=VG_VAR_CHEAT ); + VG_VAR_F32( k_mmthrow_steer, flags=VG_VAR_CHEAT ); } VG_STATIC void player__skate_bind ( player_instance *player );