X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Flib%2Fangle.qc;h=1757c55b812a184c7f00f0e26c82eeb8704c303a;hb=7e474d576080259e21690de30778b17029b5c0f2;hp=9b738a8a988551a3a28b02c6db22b64a6da11e0a;hpb=4f659e218276d70ca329173dc2688bf694a9517e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/angle.qc b/qcsrc/lib/angle.qc index 9b738a8a9..1757c55b8 100644 --- a/qcsrc/lib/angle.qc +++ b/qcsrc/lib/angle.qc @@ -9,6 +9,7 @@ /* * Return a angle within +/- 360. */ +ERASEABLE float anglemods(float v) { v = v - 360 * floor(v / 360); @@ -24,6 +25,7 @@ float anglemods(float v) /* * Return the short angle */ +ERASEABLE float shortangle_f(float ang1, float ang2) { if(ang1 > ang2) @@ -40,6 +42,7 @@ float shortangle_f(float ang1, float ang2) return ang1; } +ERASEABLE vector shortangle_v(vector ang1, vector ang2) { vector vtmp; @@ -51,6 +54,7 @@ vector shortangle_v(vector ang1, vector ang2) return vtmp; } +ERASEABLE vector shortangle_vxy(vector ang1, vector ang2) { vector vtmp = '0 0 0'; @@ -62,32 +66,17 @@ vector shortangle_vxy(vector ang1, vector ang2) } /* -* Return the angle between two enteties +* Return the angle offset between angle ang and angle of the vector from->to */ -vector angleofs(entity from, entity to) -{ - vector v_res; - - v_res = normalize(to.origin - from.origin); - v_res = vectoangles(v_res); - v_res = v_res - from.angles; - - if (v_res_x < 0) v_res_x += 360; - if (v_res_x > 180) v_res_x -= 360; - if (v_res_y < 0) v_res_y += 360; - if (v_res_y > 180) v_res_y -= 360; - - return v_res; -} - -vector angleofs3(vector from, vector from_a, entity to) +ERASEABLE +vector angleofs3(vector from, vector ang, vector to) { vector v_res; - v_res = normalize(to.origin - from); + v_res = normalize(to - from); v_res = vectoangles(v_res); - v_res = v_res - from_a; + v_res = v_res - ang; if (v_res_x < 0) v_res_x += 360; if (v_res_x > 180) v_res_x -= 360; @@ -97,3 +86,5 @@ vector angleofs3(vector from, vector from_a, entity to) return v_res; } + +#define angleofs(from, to) angleofs3(from.origin, from.angles, to.origin)