]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - pr_cmds.c
another round angles to int bug (this time in PF_vectoyaw)
[xonotic/darkplaces.git] / pr_cmds.c
index 32fe4cf7b15177565993092ed1b698e7689617f4..b22682726f8c3229762ac24fb6640b0a96689421 100644 (file)
--- a/pr_cmds.c
+++ b/pr_cmds.c
@@ -522,7 +522,7 @@ void PF_vectoyaw (void)
                yaw = 0;
        else
        {
-               yaw = (int) (atan2(value1[1], value1[0]) * 180 / M_PI);
+               yaw = (atan2(value1[1], value1[0]) * 180 / M_PI);
                if (yaw < 0)
                        yaw += 360;
        }
@@ -540,11 +540,9 @@ vector vectoangles(vector)
 */
 void PF_vectoangles (void)
 {
-       float   *value1;
-       float   forward;
-       float   yaw, pitch;
+       double value1[3], forward, yaw, pitch;
 
-       value1 = G_VECTOR(OFS_PARM0);
+       VectorCopy(G_VECTOR(OFS_PARM0), value1);
 
        if (value1[1] == 0 && value1[0] == 0)
        {
@@ -569,14 +567,12 @@ void PF_vectoangles (void)
                        yaw = 270;
 
                forward = sqrt(value1[0]*value1[0] + value1[1]*value1[1]);
-               pitch = (int) (atan2(value1[2], forward) * 180 / M_PI);
+               pitch = (atan2(value1[2], forward) * 180 / M_PI);
                if (pitch < 0)
                        pitch += 360;
        }
 
-       G_FLOAT(OFS_RETURN+0) = pitch;
-       G_FLOAT(OFS_RETURN+1) = yaw;
-       G_FLOAT(OFS_RETURN+2) = 0;
+       VectorSet(G_VECTOR(OFS_RETURN), pitch, yaw, 0);
 }
 
 /*