...it's this:
Code:
if (angle >= 180)
angle -= 360 * (int)(angle / 360 + 0.5); // 0.5 is INSIDE the (int)(...)
if (angle < -180)
angle += 360 * (int)(-angle / 360 + 0.5); // 0.5 is INSIDE the (int)(...)
NOT THIS !
Code:
if (angle >= 180)
angle -= 360 * ((int)(angle / 360) + 0.5); // 0.5 is OUTSIDE the (int)(...) - WRONG
if (angle < -180)
angle += 360 * ((int)(-angle / 360) + 0.5); // 0.5 is OUTSIDE the (int)(...) - WRONG
