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)
ERASEABLE vector angleofs3 (vector from, vector ang, vector to)
ERASEABLE float shortangle_f (float ang1, float ang2)
ERASEABLE vector shortangle_v (vector ang1, vector ang2)
ERASEABLE vector shortangle_vxy (vector ang1, vector ang2)

Variables

vector angles
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)
Definition angle.qc:73

Definition at line 90 of file angle.qc.

Referenced by turret_findtarget(), and turret_validate_target().

Function Documentation

◆ anglemods()

ERASEABLE float anglemods ( float v)

Definition at line 13 of file angle.qc.

14{
15 v = v - 360 * floor(v / 360);
16
17 if(v >= 180)
18 return v - 360;
19 else if(v <= -180)
20 return v + 360;
21 else
22 return v;
23}
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 )

Definition at line 73 of file angle.qc.

74{
75 vector v_res;
76
77 v_res = normalize(to - from);
78 v_res = vectoangles(v_res);
79 v_res = v_res - ang;
80
81 if (v_res_x < 0) v_res_x += 360;
82 if (v_res_x > 180) v_res_x -= 360;
83
84 if (v_res_y < 0) v_res_y += 360;
85 if (v_res_y > 180) v_res_y -= 360;
86
87 return v_res;
88}
vector vectoangles(vector v)
vector normalize(vector v)
vector
Definition self.qh:92
vector vector ang
Definition self.qh:92

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

Referenced by turret_validate_target().

◆ shortangle_f()

ERASEABLE float shortangle_f ( float ang1,
float ang2 )

Definition at line 29 of file angle.qc.

30{
31 if(ang1 > ang2)
32 {
33 if(ang1 > 180)
34 return ang1 - 360;
35 }
36 else
37 {
38 if(ang1 < -180)
39 return ang1 + 360;
40 }
41
42 return ang1;
43}

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 46 of file angle.qc.

47{
48 vector vtmp;
49
50 vtmp_x = shortangle_f(ang1_x,ang2_x);
51 vtmp_y = shortangle_f(ang1_y,ang2_y);
52 vtmp_z = shortangle_f(ang1_z,ang2_z);
53
54 return vtmp;
55}
ERASEABLE float shortangle_f(float ang1, float ang2)
Definition angle.qc:29

References shortangle_f(), and vector.

◆ shortangle_vxy()

ERASEABLE vector shortangle_vxy ( vector ang1,
vector ang2 )

Definition at line 58 of file angle.qc.

59{
60 vector vtmp = '0 0 0';
61
62 vtmp_x = shortangle_f(ang1_x,ang2_x);
63 vtmp_y = shortangle_f(ang1_y,ang2_y);
64
65 return vtmp;
66}

References shortangle_f(), and vector.

Referenced by turret_track(), and turret_validate_target().

Variable Documentation

◆ angles

vector angles

Definition at line 7 of file angle.qc.

◆ origin

vector origin

Definition at line 1 of file angle.qc.