+
+ // now convert radians to degrees, and make all values positive
+ VectorScale(angles, 180.0 / M_PI, angles);
+ if (flippitch)
+ angles[PITCH] *= -1;
+ if (angles[PITCH] < 0) angles[PITCH] += 360;
+ if (angles[YAW] < 0) angles[YAW] += 360;
+ if (angles[ROLL] < 0) angles[ROLL] += 360;
+
+#if 0
+{
+ // debugging code
+ vec3_t tforward, tleft, tup, nforward, nup;
+ VectorCopy(forward, nforward);
+ VectorNormalize(nforward);
+ if (up)
+ {
+ VectorCopy(up, nup);
+ VectorNormalize(nup);
+ AngleVectors(angles, tforward, tleft, tup);
+ if (VectorDistance(tforward, nforward) > 0.01 || VectorDistance(tup, nup) > 0.01)
+ {
+ Con_Printf("vectoangles('%f %f %f', '%f %f %f') = %f %f %f\n", nforward[0], nforward[1], nforward[2], nup[0], nup[1], nup[2], angles[0], angles[1], angles[2]);
+ Con_Printf("^3But that is '%f %f %f', '%f %f %f'\n", tforward[0], tforward[1], tforward[2], tup[0], tup[1], tup[2]);
+ }
+ }
+ else
+ {
+ AngleVectors(angles, tforward, tleft, tup);
+ if (VectorDistance(tforward, nforward) > 0.01)
+ {
+ Con_Printf("vectoangles('%f %f %f') = %f %f %f\n", nforward[0], nforward[1], nforward[2], angles[0], angles[1], angles[2]);
+ Con_Printf("^3But that is '%f %f %f'\n", tforward[0], tforward[1], tforward[2]);
+ }
+ }
+}
+#endif