1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-03 13:19:40 +00:00

Avoid using loops to wrap angle values (Fixes #2882)

This commit is contained in:
scrawl 2015-08-21 20:17:42 +02:00
parent 52d8bc555c
commit ba8e4c22aa

View file

@ -1213,7 +1213,6 @@ namespace MWWorld
void World::rotateObjectImp (const Ptr& ptr, const osg::Vec3f& rot, bool adjust) void World::rotateObjectImp (const Ptr& ptr, const osg::Vec3f& rot, bool adjust)
{ {
const float pi = static_cast<float>(osg::PI); const float pi = static_cast<float>(osg::PI);
const float two_pi = pi*2.f;
ESM::Position pos = ptr.getRefData().getPosition(); ESM::Position pos = ptr.getRefData().getPosition();
float *objRot = pos.rot; float *objRot = pos.rot;
@ -1243,15 +1242,11 @@ namespace MWWorld
} }
else else
{ {
while(objRot[0] < -pi) objRot[0] += two_pi; wrap(objRot[0]);
while(objRot[0] > pi) objRot[0] -= two_pi;
} }
while(objRot[1] < -pi) objRot[1] += two_pi; wrap(objRot[1]);
while(objRot[1] > pi) objRot[1] -= two_pi; wrap(objRot[2]);
while(objRot[2] < -pi) objRot[2] += two_pi;
while(objRot[2] > pi) objRot[2] -= two_pi;
ptr.getRefData().setPosition(pos); ptr.getRefData().setPosition(pos);