X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_walk.h;h=da4172c1394ecc8f3d4bb93254dff1f3efa50fa5;hb=HEAD;hp=a8dd9facd0dc526d2fecf94e1adac836fe37de11;hpb=137d40d96fe923600d8378b8e138e3c276f27ff4;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_walk.h b/player_walk.h deleted file mode 100644 index a8dd9fa..0000000 --- a/player_walk.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef PLAYER_WALK_H -#define PLAYER_WALK_H - -#include "player.h" -#include "player_api.h" -#include "rigidbody.h" - -#define PLAYER_JUMP_EPSILON 0.1 /* 100ms jump allowance */ - -struct player_walk{ - rb_capsule collider; - - struct player_walk_state{ - 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_lockedmove, - k_walk_activity_sit, - k_walk_activity_sit_up - } - activity; - - enum walk_outro{ - k_walk_outro_none, - k_walk_outro_jump_to_air, - k_walk_outro_drop_in, - k_walk_outro_regular, - k_walk_outro_max - } - outro_type; - double outro_start_time; - - int jump_queued; - f64 jump_input_time; - - f32 walk_timer; - f32 sit_t; - int step_phase; - } - state; - - f32 move_speed; - - enum mdl_surface_prop surface; - struct skeleton_anim *anim_walk, *anim_run, *anim_idle, *anim_jump, - *anim_jump_to_air, *anim_drop_in, *anim_intro, - *anim_sit; - - struct player_walk_animator { - v3f root_co; - v4f root_q; - f32 fly, - run, - walk; - - f32 walk_timer, yaw, pitch; - - v3f foot_anchor; - enum walk_outro outro_type; - f32 outro_t, - commit_t, - sit_t; - } - animator; -} -static player_walk; - -static f32 - 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, - - k_sit_yaw_limit = VG_PIf/1.7f, - k_sit_pitch_limit = VG_PIf/4.0f; - -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 ); -} - -static void player__walk_pre_update (void); -static void player__walk_update (void); -static void player__walk_post_update (void); -static void player__walk_animate (void); -static void player__walk_pose (void *animator, player_pose *pose); -static void player__walk_post_animate(void); -static void player__walk_im_gui (void); -static void player__walk_bind (void); -static void player__walk_transition (void); -static void player__walk_reset (ent_spawn *rp ); -static void player__walk_restore (void); -static void player__walk_animator_exchange( bitpack_ctx *ctx, void *data ); - -struct player_subsystem_interface static player_subsystem_walk = { - .system_register = player__walk_register, - .bind = player__walk_bind, - .reset = player__walk_reset, - .pre_update = player__walk_pre_update, - .update = player__walk_update, - .post_update = player__walk_post_update, - .im_gui = player__walk_im_gui, - .animate = player__walk_animate, - .post_animate = player__walk_post_animate, - .pose = player__walk_pose, - .network_animator_exchange = player__walk_animator_exchange, - - .animator_data = &player_walk.animator, - .animator_size = sizeof(player_walk.animator), - .name = "Walk" -}; - -#endif /* PLAYER_WALK_H */