X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=37c90dc796326d06bedd9bdeead4cd25965b6107;hb=fc1d543772607ab0643e54ebd2db9ec9dce614d1;hp=11c66e9d203ccc2c4493613cf289664eae8328e2;hpb=b1557496a922904b7abcd47d5a59a6da44d70fe8;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index 11c66e9..37c90dc 100644 --- a/player_skate.h +++ b/player_skate.h @@ -13,7 +13,14 @@ struct player_skate { k_skate_activity_air, k_skate_activity_ground, - k_skate_activity_grind + 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_back50, + k_skate_activity_grind_front50, + k_skate_activity_grind_5050 } activity, activity_prev; @@ -63,12 +70,42 @@ struct player_skate state, state_gate_storage; + + /* animation */ + struct skeleton_anim *anim_stand, *anim_highg, *anim_slide, + *anim_air, + *anim_push, *anim_push_reverse, + *anim_ollie, *anim_ollie_reverse, + *anim_grabs, *anim_stop; + v3f + board_trick_residualv, + board_trick_residuald; + + float blend_slide, + blend_z, + blend_x, + blend_fly, + blend_stand, + blend_push, + blend_jump, + blend_airdir; + + v2f wobble; + + /* + * Physics + * ---------------------------------------------------- + */ + + float substep, + substep_delta; + struct land_prediction { v3f log[50]; v3f n; v3f apex; - u32 log_length; + int log_length; float score, land_dist; @@ -87,33 +124,20 @@ struct player_skate float land_dist; v3f land_normal; - /* animation */ - struct skeleton_anim *anim_stand, *anim_highg, *anim_slide, - *anim_air, - *anim_push, *anim_push_reverse, - *anim_ollie, *anim_ollie_reverse, - *anim_grabs, *anim_stop; - v3f board_offset, - board_trick_residualv, - board_trick_residuald; - v4f board_rotation; - - float blend_slide, - blend_z, - blend_x, - blend_fly, - blend_stand, - blend_push, - blend_jump, - blend_airdir; - - float substep, - substep_delta; + v3f surface_picture, + weight_distribution, + grind_vec, + grind_dir; - v2f wobble; + float grind_strength; - float debug_normal_pressure; - u32 device_id_walk; + struct grind_limit + { + v3f ra, n; + float p; + } + limits[3]; + u32 limit_count; }; VG_STATIC void player__skate_bind ( player_instance *player );