Remove differences of the code between old AnimationTree and Mixer
This commit is contained in:
parent
7ed7ea53e6
commit
5acf6b4ca6
|
@ -860,7 +860,7 @@ double AnimationNodeStateMachinePlayback::_process(const String &p_base_path, An
|
||||||
pi.time = 0;
|
pi.time = 0;
|
||||||
pi.seeked = true;
|
pi.seeked = true;
|
||||||
}
|
}
|
||||||
fading_from_rem = p_state_machine->blend_node(p_state_machine->states[fading_from].node, fading_from, pi, AnimationNode::FILTER_IGNORE, true); // Blend values must be more than CMP_EPSILON to process discrete keys in edge.
|
fading_from_rem = p_state_machine->blend_node(p_state_machine->states[fading_from].node, fading_from, pi, AnimationNode::FILTER_IGNORE, true, p_test_only); // Blend values must be more than CMP_EPSILON to process discrete keys in edge.
|
||||||
|
|
||||||
// Guess playback position.
|
// Guess playback position.
|
||||||
if (fading_from_rem > len_fade_from) { /// Weird but ok.
|
if (fading_from_rem > len_fade_from) { /// Weird but ok.
|
||||||
|
@ -976,7 +976,7 @@ bool AnimationNodeStateMachinePlayback::_transition_to_next_recursive(AnimationT
|
||||||
pi.seeked = true;
|
pi.seeked = true;
|
||||||
pi.is_external_seeking = false;
|
pi.is_external_seeking = false;
|
||||||
pi.weight = 0;
|
pi.weight = 0;
|
||||||
p_state_machine->blend_node(p_state_machine->states[current].node, current, pi, AnimationNode::FILTER_IGNORE, true);
|
p_state_machine->blend_node(p_state_machine->states[current].node, current, pi, AnimationNode::FILTER_IGNORE, true, p_test_only);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Just get length to find next recursive.
|
// Just get length to find next recursive.
|
||||||
|
|
|
@ -100,9 +100,9 @@ void AnimationNode::blend_animation(const StringName &p_animation, AnimationMixe
|
||||||
process_state->tree->make_animation_instance(p_animation, p_playback_info);
|
process_state->tree->make_animation_instance(p_animation, p_playback_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
double AnimationNode::_pre_process(ProcessState *p_process_state, AnimationMixer::PlaybackInfo p_playback_info) {
|
double AnimationNode::_pre_process(ProcessState *p_process_state, AnimationMixer::PlaybackInfo p_playback_info, bool p_test_only) {
|
||||||
process_state = p_process_state;
|
process_state = p_process_state;
|
||||||
double t = process(p_playback_info);
|
double t = process(p_playback_info, p_test_only);
|
||||||
process_state = nullptr;
|
process_state = nullptr;
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ double AnimationNode::blend_input(int p_input, AnimationMixer::PlaybackInfo p_pl
|
||||||
}
|
}
|
||||||
|
|
||||||
double AnimationNode::blend_node(Ref<AnimationNode> p_node, const StringName &p_subpath, AnimationMixer::PlaybackInfo p_playback_info, FilterAction p_filter, bool p_sync, bool p_test_only) {
|
double AnimationNode::blend_node(Ref<AnimationNode> p_node, const StringName &p_subpath, AnimationMixer::PlaybackInfo p_playback_info, FilterAction p_filter, bool p_sync, bool p_test_only) {
|
||||||
node_state.connections.clear();
|
p_node->node_state.connections.clear();
|
||||||
return _blend_node(p_node, p_subpath, this, p_playback_info, p_filter, p_sync, p_test_only, nullptr);
|
return _blend_node(p_node, p_subpath, this, p_playback_info, p_filter, p_sync, p_test_only, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,9 +269,9 @@ double AnimationNode::_blend_node(Ref<AnimationNode> p_node, const StringName &p
|
||||||
p_node->node_state.parent = new_parent;
|
p_node->node_state.parent = new_parent;
|
||||||
if (!p_playback_info.seeked && !p_sync && !any_valid) {
|
if (!p_playback_info.seeked && !p_sync && !any_valid) {
|
||||||
p_playback_info.time = 0.0;
|
p_playback_info.time = 0.0;
|
||||||
return p_node->_pre_process(process_state, p_playback_info);
|
return p_node->_pre_process(process_state, p_playback_info, p_test_only);
|
||||||
}
|
}
|
||||||
return p_node->_pre_process(process_state, p_playback_info);
|
return p_node->_pre_process(process_state, p_playback_info, p_test_only);
|
||||||
}
|
}
|
||||||
|
|
||||||
String AnimationNode::get_caption() const {
|
String AnimationNode::get_caption() const {
|
||||||
|
@ -565,12 +565,12 @@ bool AnimationTree::_blend_pre_process(double p_delta, int p_track_count, const
|
||||||
if (started) {
|
if (started) {
|
||||||
// If started, seek.
|
// If started, seek.
|
||||||
pi.seeked = true;
|
pi.seeked = true;
|
||||||
root_animation_node->_pre_process(&process_state, pi);
|
root_animation_node->_pre_process(&process_state, pi, false);
|
||||||
started = false;
|
started = false;
|
||||||
} else {
|
|
||||||
pi.time = p_delta;
|
|
||||||
root_animation_node->_pre_process(&process_state, pi);
|
|
||||||
}
|
}
|
||||||
|
pi.seeked = false;
|
||||||
|
pi.time = p_delta;
|
||||||
|
root_animation_node->_pre_process(&process_state, pi, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!process_state.valid) {
|
if (!process_state.valid) {
|
||||||
|
|
|
@ -85,7 +85,7 @@ public:
|
||||||
void _set_filters(const Array &p_filters);
|
void _set_filters(const Array &p_filters);
|
||||||
friend class AnimationNodeBlendTree;
|
friend class AnimationNodeBlendTree;
|
||||||
double _blend_node(Ref<AnimationNode> p_node, const StringName &p_subpath, AnimationNode *p_new_parent, AnimationMixer::PlaybackInfo p_playback_info, FilterAction p_filter = FILTER_IGNORE, bool p_sync = true, bool p_test_only = false, real_t *r_activity = nullptr);
|
double _blend_node(Ref<AnimationNode> p_node, const StringName &p_subpath, AnimationNode *p_new_parent, AnimationMixer::PlaybackInfo p_playback_info, FilterAction p_filter = FILTER_IGNORE, bool p_sync = true, bool p_test_only = false, real_t *r_activity = nullptr);
|
||||||
double _pre_process(ProcessState *p_process_state, AnimationMixer::PlaybackInfo p_playback_info);
|
double _pre_process(ProcessState *p_process_state, AnimationMixer::PlaybackInfo p_playback_info, bool p_test_only = false);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual double _process(const AnimationMixer::PlaybackInfo p_playback_info, bool p_test_only = false);
|
virtual double _process(const AnimationMixer::PlaybackInfo p_playback_info, bool p_test_only = false);
|
||||||
|
|
Loading…
Reference in New Issue