X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fwarpzonelib%2Fmathlib.qc;h=f61712d2322dc8436b7bd0675ee1a32103f87ba1;hb=ca811d45f7e7b64a01657b2252cab3cfdfedd970;hp=d86af8a00ec786760c15a9440b525a7160d4a0ab;hpb=d1ec6cd7b36e2c16817720fe5cce775fc3d26357;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/warpzonelib/mathlib.qc b/qcsrc/warpzonelib/mathlib.qc index d86af8a00..f61712d23 100644 --- a/qcsrc/warpzonelib/mathlib.qc +++ b/qcsrc/warpzonelib/mathlib.qc @@ -1,11 +1,10 @@ +#include "mathlib.qh" #if defined(CSQC) #include "../dpdefs/csprogsdefs.qh" - #include "mathlib.qh" #elif defined(MENUQC) #elif defined(SVQC) - #include "../dpdefs/progsdefs.qh" #include "../dpdefs/dpextensions.qh" - #include "mathlib.qh" + #include "../dpdefs/progsdefs.qh" #endif int fpclassify(float x) @@ -95,6 +94,10 @@ float ldexp(float x, int e) { return x * pow(2, e); } +float logn(float x, float base) +{ + return log(x) / log(base); +} float log10(float x) { return log(x) * M_LOG10E; @@ -290,3 +293,11 @@ int isunordered(float x, float y) { return !(x < y || x == y || x > y); } + +vector cross(vector a, vector b) +{ + return + '1 0 0' * (a.y * b.z - a.z * b.y) + + '0 1 0' * (a.z * b.x - a.x * b.z) + + '0 0 1' * (a.x * b.y - a.y * b.x); +}