Browse Source

Detect fixed poses and completely disable animation blending in that case. Fixes entities sometimes reappearing in the wrong pose (e.g. a dead enemy) when lerping is enabled.

console
Nico de Poel 5 years ago
parent
commit
4b5b30a81b
  1. 3
      engine/Quake/r_alias.c

3
engine/Quake/r_alias.c

@ -642,6 +642,9 @@ void R_DrawAliasModel (entity_t *e)
R_SetupEntityTransform (e, &lerpdata); R_SetupEntityTransform (e, &lerpdata);
UQ_Game_SetEntityTransform(e->num, lerpdata.origin, lerpdata.angles); UQ_Game_SetEntityTransform(e->num, lerpdata.origin, lerpdata.angles);
if (lerpdata.pose1 == lerpdata.pose2)
UQ_Game_UpdateEntityAnimation(e->num, (float)lerpdata.pose1); // Fixed pose, don't lerp
else
UQ_Game_UpdateEntityAnimation(e->num, (float)lerpdata.pose1 + lerpdata.blend); UQ_Game_UpdateEntityAnimation(e->num, (float)lerpdata.pose1 + lerpdata.blend);
// //

Loading…
Cancel
Save