Explorar o código

Add a special case for 0-time interpolations

(cherry picked from commit 5c1195e456a168486c251340275ad8e9193873e9)
kobewi %!s(int64=4) %!d(string=hai) anos
pai
achega
e0f46c2b38
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      thirdparty/misc/easing_equations.cpp

+ 4 - 0
thirdparty/misc/easing_equations.cpp

@@ -312,6 +312,10 @@ Tween::interpolater Tween::interpolaters[Tween::TRANS_COUNT][Tween::EASE_COUNT]
 };
 
 real_t Tween::_run_equation(TransitionType p_trans_type, EaseType p_ease_type, real_t t, real_t b, real_t c, real_t d) {
+	if (d == 0) {
+		// Special case to avoid dividing by 0 in equations.
+		return b + c;
+	}
 
 	interpolater cb = interpolaters[p_trans_type][p_ease_type];
 	ERR_FAIL_COND_V(cb == NULL, b);