From 7bbde636e802f85c4ed9ee95b9ef19abc1aa249d Mon Sep 17 00:00:00 2001 From: Bojidar Marinov Date: Tue, 30 May 2017 23:21:50 +0300 Subject: [PATCH] Make Tween::interpolate_property's able to get() the initial value To use this behavior, pass `null` in place of the initial_value parameter. --- scene/animation/tween.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scene/animation/tween.cpp b/scene/animation/tween.cpp index e0508cf1479..b5e6fc79dbe 100644 --- a/scene/animation/tween.cpp +++ b/scene/animation/tween.cpp @@ -998,6 +998,8 @@ bool Tween::interpolate_property(Object *p_object, String p_property, Variant p_ _add_pending_command("interpolate_property", p_object, p_property, p_initial_val, p_final_val, p_duration, p_trans_type, p_ease_type, p_delay); return true; } + if (p_initial_val.get_type() == Variant::NIL) p_initial_val = p_object->get(p_property); + // convert INT to REAL is better for interpolaters if (p_initial_val.get_type() == Variant::INT) p_initial_val = p_initial_val.operator real_t(); if (p_final_val.get_type() == Variant::INT) p_final_val = p_final_val.operator real_t(); @@ -1188,6 +1190,8 @@ bool Tween::follow_property(Object *p_object, String p_property, Variant p_initi _add_pending_command("follow_property", p_object, p_property, p_initial_val, p_target, p_target_property, p_duration, p_trans_type, p_ease_type, p_delay); return true; } + if (p_initial_val.get_type() == Variant::NIL) p_initial_val = p_object->get(p_initial_val); + // convert INT to REAL is better for interpolaters if (p_initial_val.get_type() == Variant::INT) p_initial_val = p_initial_val.operator real_t();