k_skate_activity_air,
k_skate_activity_air_to_grind,
k_skate_activity_ground,
+ k_skate_activity_handplant,
k_skate_activity_undefined,
k_skate_activity_grind_any,
k_skate_activity_grind_boardslide,
k_trick_type_none,
k_trick_type_kickflip,
k_trick_type_shuvit,
- k_trick_type_treflip
+ k_trick_type_treflip,
}
trick_type;
float gravity_bias;
+ f32 trick_input_collect;
+
v3f up_dir;
v3f head_position;
v3f land_normal;
v4f smoothed_rotation;
- f32 velocity_limit, grind_y_start;
+ f32 velocity_limit, grind_y_start, skid;
+ f32 handplant_t;
+
+ v3f store_cog_v, store_cog, store_co;
+ v4f store_smoothed, store_q;
}
state;
local_cog;
f32 slide,
+ skid,
z,
x,
fly,
f32 jump_charge;
- /* linear anims */
- f32 push_time, jump_time;
+ /* linear anims. TODO: we can union a bunch of variables here depending
+ * on activity. */
+ f32 push_time, jump_time, handplant_t;
u8 jump_dir;
u8 trick_type;
u8 activity;
*anim_air, *anim_grind, *anim_grind_jump,
*anim_push, *anim_push_reverse,
*anim_ollie, *anim_ollie_reverse,
- *anim_grabs, *anim_stop;
+ *anim_grabs, *anim_stop,
+ *anim_handplant;
/* vectors representing the direction of the axels in localspace */
v3f truckv0[2];
k_board_end_radius = 0.1f,
k_board_radius = 0.14f, /* 0.07 */
- k_grind_balance = -40.0f;
+ k_grind_balance = -40.0f,
+ k_anim_transition = 0.12f;
static void player__skate_register(void){
VG_VAR_F32( k_grind_dampener, 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_VAR_F32( k_anim_transition, flags=VG_VAR_CHEAT );
}
static void player__skate_bind (void);