浏览代码

Merge pull request #794 from turol/master

LWO: Fix division by zero
Alexander Gessler 9 年之前
父节点
当前提交
4866191b21
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      code/LWOAnimation.cpp

+ 6 - 1
code/LWOAnimation.cpp

@@ -328,7 +328,12 @@ void AnimResolver::DoInterpolation2(std::vector<LWO::Key>::const_iterator beg,
             break;
             break;
     }
     }
     // linear interpolation - default
     // linear interpolation - default
-    fill = (*beg).value + ((*end).value - (*beg).value)*(float)(((time - (*beg).time) / ((*end).time - (*beg).time)));
+    double duration = (*end).time - (*beg).time;
+    if (duration > 0.0) {
+        fill = (*beg).value + ((*end).value - (*beg).value)*(float)(((time - (*beg).time) / duration));
+    } else {
+        fill = (*beg).value;
+    }
 }
 }
 
 
 // ------------------------------------------------------------------------------------------------
 // ------------------------------------------------------------------------------------------------