X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=6ace410aa910d08c5d7c3abdc5a7316ae0a43e09;hb=0b69490b7ced300b028240fe0606b10b39fe08a2;hp=e17e983641e8eb77e04076d7fdace839527d05d3;hpb=5a6199fecf8afcff4b4ef2d341a0dfd0e220420d;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index e17e983..6ace410 100644 --- a/player_skate.h +++ b/player_skate.h @@ -3,6 +3,8 @@ #include "player_api.h" +#define SKATE_CCD + struct player_skate { struct @@ -23,10 +25,15 @@ struct player_skate reverse, slip; + /* tricks */ v3f flip_axis; float flip_time, flip_rate; + v3f trick_vel, /* measured in units of TAU/s */ + trick_euler; /* measured in units of TAU */ + float trick_time; + m3x3f velocity_bias, velocity_bias_pstep; v3f apex; @@ -47,14 +54,6 @@ struct player_skate cur_push; v3f prev_pos; - - /* FIXME: Sensible names */ - - v3f vl; -#if 0 - v3f vl, /* 1st */ - posl, dirl; /* 3rd */ -#endif } state, state_gate_storage; @@ -89,8 +88,9 @@ struct player_skate *anim_push, *anim_push_reverse, *anim_ollie, *anim_ollie_reverse, *anim_grabs, *anim_stop; - rb_sphere sphere_front, sphere_back; - v3f board_offset; + v3f board_offset, + board_trick_residualv, + board_trick_residuald; v4f board_rotation; float blend_slide, @@ -102,6 +102,9 @@ struct player_skate blend_jump, blend_airdir; + float substep, + substep_delta; + v2f wobble; float debug_normal_pressure; @@ -119,9 +122,7 @@ VG_STATIC void player__skate_post_animate ( player_instance *player ); VG_STATIC void player__skate_reset ( player_instance *player, struct respawn_point *rp ); -VG_STATIC void player__skate_transition ( player_instance *player, - v3f init_velocity, - enum skate_activity init_acitivity - ); - +VG_STATIC void player__skate_clear_mechanics( player_instance *player ); +VG_STATIC void player__skate_reset_animator( player_instance *player ); +VG_STATIC void player__approximate_best_trajectory( player_instance *player ); #endif /* PLAYER_SKATE_H */