]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
unhardcoded PI related constants in util.qc Juhu/pi
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Thu, 23 May 2024 19:14:31 +0000 (21:14 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Thu, 23 May 2024 19:15:09 +0000 (21:15 +0200)
one digit in hardcoded constant was off, change causes no actual difference when using single or double precision floats

qcsrc/common/util.qc
qcsrc/lib/warpzone/mathlib.qh

index ca120d29535b154ecaeb4e9855cd8a5fc297183e..fca4c32f6b257e27107fbf4182c60d89338040db 100644 (file)
@@ -457,8 +457,8 @@ vector decompressShortVector(int data)
        }
        else
        {
-               q = .19634954084936207740 * q;
-               p = .19634954084936207740 * p - 1.57079632679489661922;
+               q = M_PI_16 * q;
+               p = M_PI_16 * p - M_PI_2;
                out.x = cos(q) *  cos(p);
                out.y = sin(q) *  cos(p);
                out.z =          -sin(p);
index f5d8f63e74a1eba84c3a1008675e7fa0e4be3f91..11517d90982c1eecad6e55c71417a31162337a29 100644 (file)
@@ -108,6 +108,7 @@ const float M_LN10     = 2.30258509299404568402;  /* log_e 10 */
 #define M_PI             3.14159265358979323846   /* pi */
 const float M_PI_2     = 1.57079632679489661923;  /* pi/2 */
 const float M_PI_4     = 0.78539816339744830962;  /* pi/4 */
+const float M_PI_16    = 0.19634954084936207740;  /* pi/16 */
 const float M_1_PI     = 0.31830988618379067154;  /* 1/pi */
 const float M_2_PI     = 0.63661977236758134308;  /* 2/pi */
 const float M_2_SQRTPI = 1.12837916709551257390;  /* 2/sqrt(pi) */