Skip to content

Commit

Permalink
Fixes BlendSpace2D BLEND_MODE_DISCRETE_CARRY.
Browse files Browse the repository at this point in the history
When BlendSpace2D switches animations, it will now correctly
calculate the previous animation position and length and
apply is to the new animation.
  • Loading branch information
rune-scape committed May 7, 2021
1 parent 33a0fb6 commit bcb1e2b
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions scene/animation/animation_blend_space_2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -532,10 +532,10 @@ float AnimationNodeBlendSpace2D::process(float p_time, bool p_seek) {
float from = 0.0;
if (blend_mode == BLEND_MODE_DISCRETE_CARRY && closest != -1) {
//see how much animation remains
from = blend_node(blend_points[closest].name, blend_points[closest].node, p_time, true, 0.0, FILTER_IGNORE, false) - length_internal;
from = length_internal - blend_node(blend_points[closest].name, blend_points[closest].node, p_time, false, 0.0, FILTER_IGNORE, false);
}

mind = blend_node(blend_points[new_closest].name, blend_points[new_closest].node, from, true, 1.0, FILTER_IGNORE, false) + from;
mind = blend_node(blend_points[new_closest].name, blend_points[new_closest].node, from, true, 1.0, FILTER_IGNORE, false);
length_internal = from + mind;

closest = new_closest;
Expand Down

0 comments on commit bcb1e2b

Please sign in to comment.