Răsfoiți Sursa

Merge pull request #465 from blackberry-gaming/next-kcunney

Fixes crossfading bug on macOS and iOS platforms
Sean Paul Taylor 13 ani în urmă
părinte
comite
5799113fd4
1 a modificat fișierele cu 3 adăugiri și 2 ștergeri
  1. 3 2
      gameplay/src/AnimationClip.cpp

+ 3 - 2
gameplay/src/AnimationClip.cpp

@@ -343,6 +343,7 @@ bool AnimationClip::update(unsigned long elapsedTime)
     if (_repeatCount != REPEAT_INDEFINITE && ((_speed >= 0.0f && _elapsedTime >= (long) _activeDuration) || (_speed <= 0.0f && _elapsedTime <= 0L)))
     {
         resetClipStateBit(CLIP_IS_STARTED_BIT);
+        
         if (_speed >= 0.0f)
         {
             // If _duration == 0, we have a "pose". Just set currentTime to 0.
@@ -416,13 +417,13 @@ bool AnimationClip::update(unsigned long elapsedTime)
         if (isClipStateBitSet(CLIP_IS_FADING_OUT_STARTED_BIT)) // Calculate elapsed time since the fade out begin.
         {
             GP_ASSERT(_crossFadeToClip);
-            _crossFadeOutElapsed = (Game::getGameTime() - _crossFadeToClip->_timeStarted) * abs(_speed); 
+            _crossFadeOutElapsed = (Game::getGameTime() - _crossFadeToClip->_timeStarted) * fabs(_speed); 
             resetClipStateBit(CLIP_IS_FADING_OUT_STARTED_BIT);
         }
         else
         {
             // continue tracking elapsed time.
-            _crossFadeOutElapsed += elapsedTime * abs(_speed);
+            _crossFadeOutElapsed += elapsedTime * fabs(_speed);
         }
 
         if (_crossFadeOutElapsed < _crossFadeOutDuration)