4 #include "player_api.h"
7 #define PLAYER_JUMP_EPSILON 0.1 /* 100ms jump allowance */
12 struct player_walk_state
{
19 float drop_in_start_angle
,
24 k_walk_activity_ground
,
25 k_walk_activity_sleep
,
26 k_walk_activity_lockedmove
32 k_walk_outro_jump_to_air
,
37 double outro_start_time
;
49 enum mdl_surface_prop surface
;
50 struct skeleton_anim
*anim_walk
, *anim_run
, *anim_idle
, *anim_jump
,
51 *anim_jump_to_air
, *anim_drop_in
, *anim_intro
;
53 struct player_walk_animator
{
63 enum walk_outro outro_type
;
75 k_walk_air_accel
= 7.0f
,
76 k_walk_friction
= 10.0f
,
77 k_walk_step_height
= 0.2f
;
79 VG_STATIC
void player__walk_register(void)
81 VG_VAR_F32( k_walkspeed
, flags
=VG_VAR_CHEAT
);
82 VG_VAR_F32( k_stopspeed
, flags
=VG_VAR_CHEAT
);
83 VG_VAR_F32( k_airspeed
, flags
=VG_VAR_CHEAT
);
84 VG_VAR_F32( k_walk_friction
, flags
=VG_VAR_CHEAT
);
85 VG_VAR_F32( k_walk_air_accel
, flags
=VG_VAR_CHEAT
);
86 VG_VAR_F32( k_walk_accel
, flags
=VG_VAR_CHEAT
);
89 VG_STATIC
void player__walk_pre_update ( player_instance
*player
);
90 VG_STATIC
void player__walk_update ( player_instance
*player
);
91 VG_STATIC
void player__walk_post_update ( player_instance
*player
);
92 VG_STATIC
void player__walk_animate ( player_instance
*player
);
93 VG_STATIC
void player__walk_pose( player_instance
*player
, player_pose
*pose
);
94 VG_STATIC
void player__walk_post_animate( player_instance
*player
);
95 VG_STATIC
void player__walk_im_gui ( player_instance
*player
);
96 VG_STATIC
void player__walk_bind ( player_instance
*player
);
97 VG_STATIC
void player__walk_transition ( player_instance
*player
);
98 VG_STATIC
void player__walk_reset ( player_instance
*player
,
100 VG_STATIC
void player__walk_restore( player_instance
*player
);
102 #endif /* PLAYER_WALK_H */