struct
{
- v3f angles;
- float heading_angle;
-
v3f prev_pos;
+ v3f drop_in_target,
+ drop_in_foot_anchor,
+ drop_in_start,
+ drop_in_normal;
+
+ float drop_in_start_angle,
+ drop_in_angle;
enum walk_activity
{
k_walk_activity_air,
k_walk_activity_ground,
- k_walk_activity_sleep
+ k_walk_activity_sleep,
+ k_walk_activity_immobile,
+ k_walk_activity_lockedmove
}
activity;
+ enum walk_outro
+ {
+ k_walk_outro_none,
+ k_walk_outro_jump_to_air,
+ k_walk_outro_drop_in,
+ k_walk_outro_regular
+ }
+ outro_type;
+
struct skeleton_anim *outro_anim;
double outro_start_time;
}
enum mdl_surface_prop surface;
struct skeleton_anim *anim_walk, *anim_run, *anim_idle, *anim_jump,
- *anim_jump_to_air;
+ *anim_jump_to_air, *anim_drop_in, *anim_intro;
float blend_fly,
blend_run,
move_speed,
walk_timer;
+
+ int step_phase;
};
VG_STATIC void player__walk_pre_update ( player_instance *player );