basic replayable replays
[carveJwlIkooP6JGAAIwe30JlM.git] / player_skate.h
index 9fbc5634832050bb574dbd4c37054f3b7bf59267..c3ec0e6a81942392e99b43b5043c2b6546f2b66a 100644 (file)
@@ -24,8 +24,10 @@ struct player_skate{
       activity,
       activity_prev;
 
-      f32 reverse, slip, delayed_slip_dir;
+      u32 grind_cooldown,
+          surface_cooldown;
 
+      f32 reverse, slip, delayed_slip_dir;
       int manual_direction;
 
       /* tricks */
@@ -70,37 +72,37 @@ struct player_skate{
              air_init_co;
 
       v4f smoothed_rotation;
+
+      /* animator controls which require persistence */
+      v3f board_trick_residualv,
+          board_trick_residuald;
+      f32 blend_slide,
+          blend_z,
+          blend_x,
+          blend_fly,
+          blend_grind,
+          blend_grind_balance,
+          blend_stand,
+          blend_push,
+          blend_jump,
+          blend_airdir,
+          blend_weight,
+          blend_trick_foot,
+          subslap;
+      v2f wobble;
    }
-   state,
-   state_gate_storage;
+   state;
 
-   /* animation /audio */
+   /* animation /audio
+    * --------------------------------------------------------------*/
    struct skeleton_anim *anim_stand, *anim_highg, *anim_slide,
                         *anim_air, *anim_grind, *anim_grind_jump,
                         *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_grind,
-         blend_grind_balance,
-         blend_stand,
-         blend_push,
-         blend_jump,
-         blend_airdir,
-         blend_weight,
-         blend_trick_foot,
-         subslap;
 
    /* vectors representing the direction of the axels in localspace */
    v3f truckv0[2];
-   v2f wobble;
 
    audio_channel *aud_main, *aud_slide, *aud_air;
    enum mdl_surface_prop surface, audio_surface;
@@ -116,7 +118,6 @@ struct player_skate{
       k_skate_sample_metal_scrape_generic
    }
    main_sample_type;
-
    player_pose holdout;
 
    /*
@@ -124,8 +125,7 @@ struct player_skate{
     * ----------------------------------------------------
     */
 
-   float substep,
-         substep_delta;
+   float substep, substep_delta;
 
    struct jump_info{
       v3f   log[50];
@@ -160,11 +160,7 @@ struct player_skate{
        grind_vec,
        grind_dir;
 
-   u32 grind_cooldown,
-       surface_cooldown;
-
    float grind_strength;
-
    struct grind_limit{
       v3f ra, n;
       float p;