From c67ba876d0cc0e7c6139a797b37faf49dbf8cea5 Mon Sep 17 00:00:00 2001 From: Azaezel Date: Mon, 27 Jun 2016 13:48:11 -0500 Subject: [PATCH] raycast division safety - corrects issues with awesomium and the guionobject resources relating to WYSIWYG casts. --- Engine/source/ts/tsCollision.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Engine/source/ts/tsCollision.cpp b/Engine/source/ts/tsCollision.cpp index bb57bf1c5..8ab250509 100644 --- a/Engine/source/ts/tsCollision.cpp +++ b/Engine/source/ts/tsCollision.cpp @@ -1630,7 +1630,12 @@ bool TSMesh::castRayOpcode( const Point3F &s, const Point3F &e, RayInfo *info, T } // slerp - Point3F s = ( (max - min) - (facePoint - min) ) / (max - min); + Point3F divSafe = (max - min); + if (divSafe.x == 0.0f) divSafe.x = POINT_EPSILON; + if (divSafe.y == 0.0f) divSafe.y = POINT_EPSILON; + if (divSafe.z == 0.0f) divSafe.z = POINT_EPSILON; + + Point3F s = ( (max - min) - (facePoint - min) ) / divSafe; // compute axis S32 bestAxis = 0;