]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/warpzonelib/common.qh
we don't need preshift, all transforms can be represented as one angles and one shift
[divverent/nexuiz.git] / data / qcsrc / warpzonelib / common.qh
1 .vector warpzone_shift;
2 .vector warpzone_origin;
3 .vector warpzone_angles;
4 .vector warpzone_forward;
5 .vector warpzone_targetorigin;
6 .vector warpzone_targetangles;
7 .vector warpzone_targetforward;
8 .vector warpzone_transform;
9 void WarpZone_SetUp(entity e, vector my_org, vector my_ang, vector other_org, vector other_ang);
10
11 float FL_CAMERA = 8192;
12
13 float WarpZoneLib_BoxTouchesBrush(vector mi, vector ma, entity e, entity ig);
14 vector WarpZoneLib_NearestPointOnBox(vector mi, vector ma, vector org);
15
16 entity WarpZone_Find(vector mi, vector ma);
17 void WarpZone_MakeAllSolid();
18 void WarpZone_MakeAllOther();
19
20 var void(void) WarpZone_trace_callback; // called after every trace
21 vector WarpZone_trace_angles; // total angles accumulator
22 vector WarpZone_trace_v_angle; // total v_angle accumulator
23 vector WarpZone_trace_velocity; // total velocity
24 vector WarpZone_trace_endpos; // UNtransformed endpos
25 vector WarpZone_tracetoss_velocity; // ending velocity of a tracetoss (post-transform)
26 float WarpZone_tracetoss_time; // duration of toss (approximate)
27 void WarpZone_TraceBox(vector org, vector min, vector max, vector end, float nomonsters, entity forent);
28 void WarpZone_TraceBox_ThroughZone(vector org, vector min, vector max, vector end, float nomonsters, entity forent, entity zone);
29 void WarpZone_TraceLine(vector org, vector end, float nomonsters, entity forent);
30 void WarpZone_TraceToss(entity e, entity forent);
31 void WarpZone_TrailParticles(entity own, float eff, vector org, vector end);
32
33 .vector WarpZone_findradius_dist;
34 .vector WarpZone_findradius_nearest;
35 // also set: warpzone parameters, so WarpZone_TransformOrigin can transform vectors from victim's to blast's system
36 .vector WarpZone_findradius_findorigin;
37 .float WarpZone_findradius_findradius;
38 entity WarpZone_FindRadius(vector org, float radius, float needlineofsight);
39
40 float WarpZone_PlaneDist(entity wz, vector v);
41 float WarpZone_TargetPlaneDist(entity wz, vector v);
42 vector WarpZone_TransformOrigin(entity wz, vector v);
43 vector WarpZone_TransformVelocity(entity wz, vector v);
44 vector WarpZone_TransformAngles(entity wz, vector v);
45 vector WarpZone_TransformVAngles(entity wz, vector v);
46 vector WarpZone_UnTransformOrigin(entity wz, vector v);
47 vector WarpZone_UnTransformVelocity(entity wz, vector v);
48 vector WarpZone_UnTransformAngles(entity wz, vector v);
49 vector WarpZone_UnTransformVAngles(entity wz, vector v);
50
51 // reference systems (chained warpzone transforms)
52 void WarpZone_RefSys_Add(entity me, entity wz);
53 vector WarpZone_RefSys_TransformOrigin(entity from, entity to, vector org);
54 vector WarpZone_RefSys_TransformVelocity(entity from, entity to, vector vel);
55 vector WarpZone_RefSys_TransformAngles(entity from, entity to, vector ang);
56 vector WarpZone_RefSys_TransformVAngles(entity from, entity to, vector ang);
57 entity WarpZone_RefSys_SpawnSameRefSys(entity me);