X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=8af645bdf1ac102d6deb07419742fa285e3da972;hb=981f43376c7929866e9294fc35b8bc4cf806eb38;hp=ba2cfcef65172b07a7a4457b383f375ee178894b;hpb=2c91a71533b4ce86b9e7fd708420ae05c74d8f52;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index ba2cfce..8af645b 100644 --- a/player_skate.h +++ b/player_skate.h @@ -44,11 +44,13 @@ struct player_skate{ 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; @@ -76,12 +78,15 @@ struct player_skate{ float land_dist; v3f land_normal; v4f smoothed_rotation; + + f32 velocity_limit, grind_y_start; } state; struct player_skate_animator { v3f root_co; v4f root_q; + v3f root_v; v3f offset, local_cog; @@ -120,6 +125,7 @@ struct player_skate{ f32 push_time, jump_time; u8 jump_dir; u8 trick_type; + u8 activity; } animator; @@ -293,6 +299,9 @@ static void player__skate_post_update (void); static void player__skate_im_gui (void); static void player__skate_animate (void); static void player__skate_pose (void *animator, player_pose *pose); +static void player__skate_effects( void *_animator, m4x3f *final_mtx, + struct player_board *board, + struct player_effects_data *effect_data ); static void player__skate_post_animate (void); static void player__skate_animator_exchange( bitpack_ctx *ctx, void *data ); static void player__skate_sfx_oneshot ( u8 id, v3f pos, f32 volume ); @@ -310,6 +319,7 @@ struct player_subsystem_interface static player_subsystem_skate = { .im_gui = player__skate_im_gui, .animate = player__skate_animate, .pose = player__skate_pose, + .effects = player__skate_effects, .post_animate = player__skate_post_animate, .network_animator_exchange = player__skate_animator_exchange, .sfx_oneshot = player__skate_sfx_oneshot,