void math::calc_angle(const vec3_t& source, const vec3_t& destination, qangle_t& angles)
{
qangle_t delta = qangle_t( ( source.x - destination.x ), ( source.y - destination.y ), ( source.z - destination.z ) );
double hyp = sqrtf( delta.x * delta.x + delta.y * delta.y );
angles.x = ( float )( atan( delta.z / hyp ) * ( 180.f / M_PI ) );
angles.y = ( float )( atan( delta.y / delta.x ) * ( 180.f / M_PI ) );
angles.z = 0.f;
if ( delta.x >= 0.f )
qAngles.y += 180.f;
}