X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_dead.c;h=acb434aba50fae7f72cce65c633bbc287dd7bfa4;hb=9eb3de757a997becb8406417a4bf613f4cb04900;hp=e06c20abad85670825a3af264246352852abdd9c;hpb=e5dfbef890431a69291a9f0a9ca4a88ea8d0705a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_dead.c b/player_dead.c index e06c20a..acb434a 100644 --- a/player_dead.c +++ b/player_dead.c @@ -31,13 +31,17 @@ VG_STATIC void player__dead_post_animate( player_instance *player ) struct ragdoll_part *part = &player->ragdoll.parts[ av->id_hip-1 ]; - v3_lerp( d->co_lpf, part->obj.rb.co, vg.frame_delta*4.0f, d->co_lpf ); - v3_lerp( d->v_lpf, part->obj.rb.v, vg.frame_delta*4.0f, d->v_lpf ); - v3_lerp( d->w_lpf, part->obj.rb.w, vg.frame_delta*4.0f, d->w_lpf ); + v3f ext_co; + v4f ext_q; + rb_extrapolate( &part->obj.rb, ext_co, ext_q ); + + v3_lerp( d->co_lpf, ext_co, vg.time_frame_delta*4.0f, d->co_lpf ); + v3_lerp( d->v_lpf, part->obj.rb.v, vg.time_frame_delta*4.0f, d->v_lpf ); + v3_lerp( d->w_lpf, part->obj.rb.w, vg.time_frame_delta*4.0f, d->w_lpf ); v3_copy( d->co_lpf, player->rb.co ); - v3_copy( d->v_lpf, player->rb.v ); - v3_copy( d->w_lpf, player->rb.w ); + v3_zero( player->rb.v ); + v3_zero( player->rb.w ); } VG_STATIC void player__dead_im_gui ( player_instance *player )