X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_walk.h;h=4c6b7a39af89ce320966403f10d8b4d151ae0314;hb=469722649507c5df7547afa6feccce04ed5c716f;hp=465a58161d4c177b8b87b59f5aeb7e047ad8db6d;hpb=2673c575386c604fc2c0603dba2480eda05cf97a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_walk.h b/player_walk.h index 465a581..4c6b7a3 100644 --- a/player_walk.h +++ b/player_walk.h @@ -3,12 +3,10 @@ #include "player_api.h" -struct player_walk -{ +struct player_walk{ rb_capsule collider; - struct - { + struct{ v3f prev_pos; v3f drop_in_target, drop_in_foot_anchor, @@ -18,8 +16,7 @@ struct player_walk float drop_in_start_angle, drop_in_angle; - enum walk_activity - { + enum walk_activity{ k_walk_activity_air, k_walk_activity_ground, k_walk_activity_sleep, @@ -28,8 +25,7 @@ struct player_walk } activity; - enum walk_outro - { + enum walk_outro{ k_walk_outro_none, k_walk_outro_jump_to_air, k_walk_outro_drop_in, @@ -57,6 +53,25 @@ struct player_walk int step_phase; }; +VG_STATIC float + k_walkspeed = 10.0f, + k_airspeed = 1.2f, + k_stopspeed = 4.0f, + k_walk_accel = 10.0f, + k_walk_air_accel = 7.0f, + k_walk_friction = 10.0f, + k_walk_step_height = 0.2f; + +VG_STATIC void player__walk_register(void) +{ + VG_VAR_F32( k_walkspeed, flags=VG_VAR_CHEAT ); + VG_VAR_F32( k_stopspeed, flags=VG_VAR_CHEAT ); + VG_VAR_F32( k_airspeed, flags=VG_VAR_CHEAT ); + VG_VAR_F32( k_walk_friction, flags=VG_VAR_CHEAT ); + VG_VAR_F32( k_walk_air_accel, flags=VG_VAR_CHEAT ); + VG_VAR_F32( k_walk_accel, flags=VG_VAR_CHEAT ); +} + VG_STATIC void player__walk_pre_update ( player_instance *player ); VG_STATIC void player__walk_update ( player_instance *player ); VG_STATIC void player__walk_post_update ( player_instance *player ); @@ -68,5 +83,6 @@ 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 */