aboutsummaryrefslogtreecommitdiff
path: root/scene/animation/animation_tree_player.h
diff options
context:
space:
mode:
authorm4nu3lf2016-06-19 00:28:10 +0100
committerm4nu3lf2016-06-22 19:34:12 +0100
commitcfa11777c0a031c0f3f556b27240dc4d789e3cd6 (patch)
treee0f80d06122d55a25dae816bf0d2430f1debd610 /scene/animation/animation_tree_player.h
parente69e50040b51d3cba4bb38b848bac6ed003640d7 (diff)
downloadgodot-cfa11777c0a031c0f3f556b27240dc4d789e3cd6.tar.gz
godot-cfa11777c0a031c0f3f556b27240dc4d789e3cd6.tar.zst
godot-cfa11777c0a031c0f3f556b27240dc4d789e3cd6.zip
Diffstat (limited to 'scene/animation/animation_tree_player.h')
-rw-r--r--scene/animation/animation_tree_player.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/scene/animation/animation_tree_player.h b/scene/animation/animation_tree_player.h
index dae891b5c..6b5350e9e 100644
--- a/scene/animation/animation_tree_player.h
+++ b/scene/animation/animation_tree_player.h
@@ -111,6 +111,7 @@ private:
Variant value;
bool skip;
+ float total_weight;
};
@@ -273,7 +274,7 @@ private:
Map<StringName,NodeBase*> node_map;
// return time left to finish animation
- float _process_node(const StringName& p_node,AnimationNode **r_prev_anim, float p_weight,float p_step, bool p_seek=false,const HashMap<NodePath,bool> *p_filter=NULL, float p_reverse_weight=0);
+ float _process_node(const StringName& p_node,AnimationNode **r_prev_anim,float p_step, bool p_seek=false, float p_fallback_weight = 1.0, HashMap<NodePath,float>* p_weights = NULL);
void _process_animation(float p_delta);
bool reset_request;
@@ -283,6 +284,8 @@ private:
void _recompute_caches();
void _recompute_caches(const StringName& p_node);
DVector<String> _get_node_list();
+
+ void _compute_weights(float *p_fallback_weight, HashMap<NodePath,float> *p_weights, float p_coeff, const HashMap<NodePath,bool> *p_filter = NULL, float p_filtered_coeff = 0);
protected: