summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorJosh Grams <josh@qualdan.com>2016-03-07 17:21:07 -0500
committerJosh Grams <josh@qualdan.com>2016-03-07 17:21:07 -0500
commit2e1b1234a339e5aa651b6462fe03461c65c98bc4 (patch)
treeb3e80abbb43590171396ec9809e7fc3c6b289570 /scene
parent20308c0475acb4678c9b86c7a4f210c1ec7548dc (diff)
TimeScale node: scale return value (time remaining).
Diffstat (limited to 'scene')
-rw-r--r--scene/animation/animation_tree_player.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/animation/animation_tree_player.cpp b/scene/animation/animation_tree_player.cpp
index b07611b318..67c7eae1bf 100644
--- a/scene/animation/animation_tree_player.cpp
+++ b/scene/animation/animation_tree_player.cpp
@@ -637,10 +637,12 @@ float AnimationTreePlayer::_process_node(const StringName& p_node,AnimationNode
} break;
case NODE_TIMESCALE: {
TimeScaleNode *tsn = static_cast<TimeScaleNode*>(nb);
+ float rem;
if (p_seek)
- return _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time,switched,true,p_filter,p_reverse_weight);
+ rem = _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time,switched,true,p_filter,p_reverse_weight);
else
- return _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time*tsn->scale,switched,false,p_filter,p_reverse_weight);
+ rem = _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time*tsn->scale,switched,false,p_filter,p_reverse_weight);
+ return rem / tsn->scale;
} break;
case NODE_TIMESEEK: {