fix zero div in getXAngleToDir

coverity_scan^2
mrcheko 8 years ago
parent 612c7f1a2f
commit 0775ed75ea

@ -89,7 +89,8 @@ namespace MWMechanics
float getXAngleToDir(const osg::Vec3f& dir)
{
return -std::asin(dir.z() / dir.length());
float dirLen = dir.length();
return (dirLen != 0) ? -std::asin(dir.z() / dirLen) : 0;
}
float getZAngleToPoint(const ESM::Pathgrid::Point &origin, const ESM::Pathgrid::Point &dest)
@ -276,7 +277,7 @@ namespace MWMechanics
const ESM::Pathgrid::Point &nextPoint = *mPath.begin();
osg::Vec3f dir = MakeOsgVec3(nextPoint) - osg::Vec3f(x,y,z);
return -std::asin(dir.z() / dir.length());
return getXAngleToDir(dir);
}
bool PathFinder::checkPathCompleted(float x, float y, float tolerance)

Loading…
Cancel
Save