CCD!
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.h
index f0efcf8ac3df169f6d911648c110968620980cba..6ace410aa910d08c5d7c3abdc5a7316ae0a43e09 100644 (file)
@@ -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;
@@ -81,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,
@@ -94,6 +102,9 @@ struct player_skate
          blend_jump,
          blend_airdir;
 
+   float substep,
+         substep_delta;
+
    v2f wobble;
 
    float debug_normal_pressure;