struct skeleton *sk = &player->playeravatar->sk;
+ if( player->holdout_time > 0.0f )
+ {
+ skeleton_lerp_pose( sk, res.pose, player->holdout_pose,
+ player->holdout_time, res.pose );
+ player->holdout_time -= vg.frame_delta * 4.0f;
+ }
+
skeleton_apply_pose( sk, res.pose, k_anim_apply_defer_ik );
skeleton_apply_ik_pass( sk );
skeleton_apply_pose( sk, res.pose, k_anim_apply_deffered_only );
struct player_ragdoll ragdoll;
vg_tex2d *playertex;
+ player_pose holdout_pose;
+ float holdout_time;
+
/*
* Subsystems
* -------------------------------------------------
v4_copy( dest->root_q, player->rb.q );
v3_muladds( dest->root_co, player->rb.to_world[1],
-0.28f * dop_t, dest->root_co );
+
+ skeleton_copy_pose( sk, dest->pose, player->holdout_pose );
+ player->holdout_time = 1.0f;
}
return;
}
{
v3_muladds( dest->root_co, player->rb.to_world[1],
-0.28f * outro_t, dest->root_co );
+
+ skeleton_copy_pose( sk, dest->pose, player->holdout_pose );
+ player->holdout_time = 1.0f;
}
}
else