TurboFisto
[carveJwlIkooP6JGAAIwe30JlM.git] / player_walk.h
index 3d6f3adf515d80698c0b3514e21310f617f8bea5..29c210dd599d682495cdff3e83f63f5ded7be7df 100644 (file)
@@ -9,11 +9,6 @@ struct player_walk
 
    struct
    {
-#if 0
-      v3f angles;
-      float heading_angle;
-#endif
-
       v3f prev_pos;
       v3f drop_in_target,
           drop_in_foot_anchor,
@@ -28,7 +23,8 @@ struct player_walk
          k_walk_activity_air,
          k_walk_activity_ground,
          k_walk_activity_sleep,
-         k_walk_activity_immobile
+         k_walk_activity_immobile,
+         k_walk_activity_lockedmove
       }
       activity;
 
@@ -36,7 +32,8 @@ struct player_walk
       {
          k_walk_outro_none,
          k_walk_outro_jump_to_air,
-         k_walk_outro_drop_in
+         k_walk_outro_drop_in,
+         k_walk_outro_regular
       }
       outro_type;
 
@@ -48,7 +45,7 @@ struct player_walk
 
    enum mdl_surface_prop surface;
    struct skeleton_anim *anim_walk, *anim_run, *anim_idle, *anim_jump,
-                        *anim_jump_to_air, *anim_drop_in;
+                        *anim_jump_to_air, *anim_drop_in, *anim_intro;
 
    float blend_fly,
          blend_run,
@@ -56,6 +53,8 @@ struct player_walk
 
          move_speed,
          walk_timer;
+
+   int step_phase;
 };
 
 VG_STATIC void player__walk_pre_update  ( player_instance *player );
@@ -67,5 +66,8 @@ VG_STATIC void player__walk_post_animate( player_instance *player );
 VG_STATIC void player__walk_im_gui      ( player_instance *player );
 VG_STATIC void player__walk_bind        ( player_instance *player );
 VG_STATIC void player__walk_transition  ( player_instance *player, v3f angles );
+VG_STATIC void player__walk_reset       ( player_instance *player, 
+                                          ent_spawn *rp );
+VG_STATIC void player__walk_restore( player_instance *player );
 
 #endif /* PLAYER_WALK_H */