Browse Source

Merge pull request #1796 from Azaezel/notSoEasy

retooled circular ease methods
Areloch 9 years ago
parent
commit
65f25cb0e6
1 changed files with 7 additions and 4 deletions
  1. 7 4
      Engine/source/math/mEase.h

+ 7 - 4
Engine/source/math/mEase.h

@@ -289,13 +289,16 @@ inline F32 mEaseInOutExpo(F32 t, F32 b, F32 c, F32 d)
 // t: current time, b: beginning value, c: change in position, d: duration
 inline F32 mEaseInCirc (F32 t, F32 b, F32 c, F32 d) 
 {
-	return -c * (mSqrt(1 - (t/=d)*t) - 1) + b;
+	t/=d;
+	return -c * (mSqrt(1 - (t)*t) - 1) + b;
 };
 
 // circular easing out - decelerating to zero velocity
 inline F32 mEaseOutCirc (F32 t, F32 b, F32 c, F32 d) 
 {
-	return c * mSqrt(1 - (t=t/d-1)*t) + b;
+	t/=d;
+	t--;
+	return c * mSqrt(1 - (t)*t) + b;
 };
 
 // circular easing in/out - acceleration until halfway, then deceleration
@@ -303,8 +306,8 @@ inline F32 mEaseInOutCirc(F32 t, F32 b, F32 c, F32 d)
 {
 	if ((t/=d/2) < 1) 
       return -c/2 * (mSqrt(1 - t*t) - 1) + b;
-
-	return c/2 * (mSqrt(1 - (t-=2)*t) + 1) + b;
+	t-=2;
+	return c/2 * (mSqrt(1 - (t)*t) + 1) + b;
 };