Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
angle.qc File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define angleofs(from, to)

Functions

ERASEABLE float anglemods (float v)
 Return a angle within +/- 360.
ERASEABLE vector angleofs3 (vector from, vector ang, vector to)
 Return the angle offset between angle ang and angle of the vector from->to.
ERASEABLE float shortangle_f (float ang1, float ang2)
 Return the short angle.
ERASEABLE vector shortangle_v (vector ang1, vector ang2)
ERASEABLE vector shortangle_vxy (vector ang1, vector ang2)

Variables

vector angles
 angles of the player's model (as opposed to their view which uses .vector v_angle;) in degrees
vector origin

Macro Definition Documentation

◆ angleofs

#define angleofs ( from,
to )
Value:
angleofs3(from.origin, from.angles, to.origin)
ERASEABLE vector angleofs3(vector from, vector ang, vector to)
Return the angle offset between angle ang and angle of the vector from->to.
Definition angle.qc:60

Definition at line 74 of file angle.qc.

Referenced by turret_findtarget(), and turret_validate_target().

Function Documentation

◆ anglemods()

ERASEABLE float anglemods ( float v)

Return a angle within +/- 360.

Definition at line 10 of file angle.qc.

11{
12 v -= 360 * floor(v / 360);
13
14 if (v >= 180)
15 return v - 360;
16 else if (v <= -180)
17 return v + 360;
18 return v;
19}
float floor(float f)

References floor().

Referenced by bumblebee_pilot_frame(), Monster_Move_2D(), racer_frame(), raptor_frame(), raptor_rotor_anglefix(), spiderbot_frame(), and turret_track().

◆ angleofs3()

ERASEABLE vector angleofs3 ( vector from,
vector ang,
vector to )

Return the angle offset between angle ang and angle of the vector from->to.

Definition at line 60 of file angle.qc.

61{
62 vector v_res = normalize(to - from);
63 v_res = vectoangles(v_res) - ang;
64
65 if (v_res.x < 0) v_res.x += 360;
66 if (v_res.x > 180) v_res.x -= 360;
67
68 if (v_res.y < 0) v_res.y += 360;
69 if (v_res.y > 180) v_res.y -= 360;
70
71 return v_res;
72}
vector vectoangles(vector v)
vector normalize(vector v)
vector
Definition self.qh:96
vector vector ang
Definition self.qh:96

References ang, normalize(), vectoangles(), and vector.

Referenced by turret_validate_target().

◆ shortangle_f()

ERASEABLE float shortangle_f ( float ang1,
float ang2 )

Return the short angle.

Definition at line 23 of file angle.qc.

24{
25 if (ang1 > ang2)
26 {
27 if (ang1 > 180)
28 return ang1 - 360;
29 }
30 else
31 {
32 if (ang1 < -180)
33 return ang1 + 360;
34 }
35 return ang1;
36}

Referenced by bumblebee_pilot_frame(), Monster_Move(), racer_frame(), raptor_frame(), shortangle_v(), and shortangle_vxy().

◆ shortangle_v()

ERASEABLE vector shortangle_v ( vector ang1,
vector ang2 )

Definition at line 39 of file angle.qc.

40{
41 vector vtmp;
42 vtmp.x = shortangle_f(ang1.x, ang2.x);
43 vtmp.y = shortangle_f(ang1.y, ang2.y);
44 vtmp.z = shortangle_f(ang1.z, ang2.z);
45 return vtmp;
46}
ERASEABLE float shortangle_f(float ang1, float ang2)
Return the short angle.
Definition angle.qc:23

References shortangle_f(), and vector.

◆ shortangle_vxy()

ERASEABLE vector shortangle_vxy ( vector ang1,
vector ang2 )

Definition at line 49 of file angle.qc.

50{
51 vector vtmp;
52 vtmp.x = shortangle_f(ang1.x, ang2.x);
53 vtmp.y = shortangle_f(ang1.y, ang2.y);
54 vtmp.z = 0;
55 return vtmp;
56}

References shortangle_f(), and vector.

Referenced by turret_track(), and turret_validate_target().

Variable Documentation

◆ angles

vector angles

angles of the player's model (as opposed to their view which uses .vector v_angle;) in degrees

Definition at line 3 of file angle.qc.

◆ origin

vector origin

Definition at line 1 of file angle.qc.