X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_walk.c;h=815e4b4a70f81ade5c718023fa6ec1cd82b719a5;hb=da1a0abc0c32b4283746949ba9a135a7d3c0b82c;hp=077dfd9a823d2cffa59acb10abd16323bc14cb7a;hpb=3e59ac7081ea3005060b56449bc77c8f73cdc6b6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_walk.c b/player_walk.c index 077dfd9..815e4b4 100644 --- a/player_walk.c +++ b/player_walk.c @@ -660,12 +660,12 @@ VG_STATIC void player__walk_post_update( player_instance *player ){ int walk_phase = 0; - if( vg_fractf(w->walk_timer) > 0.5f ) + if( vg_fractf(w->state.walk_timer) > 0.5f ) walk_phase = 1; else walk_phase = 0; - if( (w->step_phase != walk_phase) && + if( (w->state.step_phase != walk_phase) && (w->state.activity == k_walk_activity_ground ) ) { audio_lock(); @@ -692,7 +692,7 @@ VG_STATIC void player__walk_post_update( player_instance *player ){ audio_unlock(); } - w->step_phase = walk_phase; + w->state.step_phase = walk_phase; } VG_STATIC void player__walk_animate( player_instance *player ){ @@ -720,11 +720,11 @@ VG_STATIC void player__walk_animate( player_instance *player ){ run_norm = 30.0f/(float)w->anim_run->length, walk_adv = vg_lerpf( walk_norm, run_norm, w->move_speed ); - w->walk_timer += walk_adv * vg.time_delta; - } - else{ - w->walk_timer = 0.0f; + w->state.walk_timer += walk_adv * vg.time_delta; } + else + w->state.walk_timer = 0.0f; + animator->walk_timer = w->state.walk_timer; if( !player->immobile ) rb_extrapolate( &player->rb, animator->root_co, animator->root_q ); @@ -796,10 +796,11 @@ VG_STATIC void player__walk_pose( player_instance *player, player_pose *pose ){ v3_copy( animator->root_co, pose->root_co ); v4_copy( animator->root_q, pose->root_q ); pose->board.lean = 0.0f; + pose->type = k_player_pose_type_ik; float walk_norm = (float)w->anim_walk->length/30.0f, run_norm = (float)w->anim_run->length/30.0f, - t = w->walk_timer, + t = animator->walk_timer, l = vg_clampf( animator->run*15.0f, 0.0f, 1.0f ), idle_walk = vg_clampf( (animator->run-0.1f)/(1.0f-0.1f), 0.0f, 1.0f );