From d1986a0cb01eaeab540d54fde3e8a9f8128ce3c2 Mon Sep 17 00:00:00 2001 From: havoc Date: Fri, 17 Sep 2004 01:03:03 +0000 Subject: [PATCH] fix stupid quake precision problem with PF_vectoangles (it rounded pitch to integer!) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4510 d7cf8633-e32d-0410-b094-e92efae38249 --- pr_cmds.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pr_cmds.c b/pr_cmds.c index 32fe4cf7..354cf937 100644 --- a/pr_cmds.c +++ b/pr_cmds.c @@ -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); } /* -- 2.39.2