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

Go to the source code of this file.

Functions

void WarpZone_FixPMove ()
void WarpZone_FixView ()
void WarpZone_Shutdown ()

Variables

vector warpzone_save_view_angles
vector warpzone_save_view_origin

Function Documentation

◆ WarpZone_FixPMove()

void WarpZone_FixPMove ( )

Definition at line 212 of file client.qc.

213{
215 if(e)
216 {
219 }
220}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
vector input_angles
vector pmove_org
entity WarpZone_Find(vector mi, vector ma)
Definition common.qc:167
vector WarpZone_TransformVAngles(entity wz, vector ang)
Definition common.qc:524
vector WarpZone_TransformOrigin(entity wz, vector v)
Definition common.qc:509

References entity(), input_angles, pmove_org, WarpZone_Find(), WarpZone_TransformOrigin(), and WarpZone_TransformVAngles().

◆ WarpZone_FixView()

void WarpZone_FixView ( )

Definition at line 225 of file client.qc.

226{
227 entity e;
228 vector org, ang, nearclip, corner0, corner1, corner2, corner3, o;
229
230 warpzone_save_view_origin = org = getpropertyvec(VF_ORIGIN);
231 warpzone_save_view_angles = ang = getpropertyvec(VF_ANGLES);
232
233 e = WarpZone_Find(org, org);
234 if(e)
235 {
239 }
240 else
242
243#ifndef KEEP_ROLL
244 float rick;
245 float f;
246 static float rollkill;
247 if (STAT(HEALTH) > 0 || STAT(HEALTH) == -666 || STAT(HEALTH) == -2342)
248 {
249 f = 0;
250 // reset roll when passing through a warpzone that change player's roll angle
253 if(rollkill)
254 rollkill = 0;
255 }
256 else
257 {
258 f = 1;
259 // roll the view when killed (v_deathtilt)
261 {
263 f = min(1, rollkill);
264 }
265 else if(rollkill)
266 rollkill = 0;
267 }
268
269 rick = getproperty(VF_CL_VIEWANGLES_Z);
270 rick *= f;
271 setproperty(VF_CL_VIEWANGLES_Z, rick);
272 ang.z *= f;
273#endif
274
275 setproperty(VF_ORIGIN, org);
276 setproperty(VF_ANGLES, ang);
277
278 vector width = '1 0 0' * cvar("vid_conwidth");
279 vector height = '0 1 0' * cvar("vid_conheight");
280 nearclip = '0 0 1' * (cvar("r_nearclip") * 1.125);
281 corner0 = cs_unproject('0 0 0' + nearclip);
282 corner1 = cs_unproject(width + nearclip);
283 corner2 = cs_unproject(height + nearclip);
284 corner3 = cs_unproject(width + height + nearclip);
285 o = WarpZone_FixNearClip(org, corner0, corner1, corner2, corner3);
286 if(o != '0 0 0')
287 setproperty(VF_ORIGIN, org + o);
288}
float height
Definition bobbing.qc:3
const float VF_ORIGIN
float frametime
const float VF_ANGLES
const float VF_CL_VIEWANGLES_Z
#define STAT(...)
Definition stats.qh:82
void WarpZone_View_Outside()
Definition client.qc:158
vector WarpZone_FixNearClip(vector o, vector c0, vector c1, vector c2, vector c3)
Definition client.qc:180
float autocvar_cl_rollkillspeed
Definition client.qc:223
void WarpZone_View_Inside()
Definition client.qc:166
vector warpzone_save_view_origin
Definition client.qh:8
vector warpzone_save_view_angles
Definition client.qh:9
float cvar(string name)
float min(float f,...)
float max(float f,...)
vector
Definition self.qh:92
vector org
Definition self.qh:92
vector vector ang
Definition self.qh:92

References ang, autocvar_cl_rollkillspeed, cvar(), entity(), frametime, height, max(), min(), org, STAT, vector, VF_ANGLES, VF_CL_VIEWANGLES_Z, VF_ORIGIN, WarpZone_Find(), WarpZone_FixNearClip(), warpzone_save_view_angles, warpzone_save_view_origin, WarpZone_TransformOrigin(), WarpZone_TransformVAngles(), WarpZone_View_Inside(), and WarpZone_View_Outside().

Referenced by CSQC_UpdateView().

◆ WarpZone_Shutdown()

void WarpZone_Shutdown ( )

Definition at line 290 of file client.qc.

291{
293}

References WarpZone_View_Outside().

Referenced by Shutdown().

Variable Documentation

◆ warpzone_save_view_angles

vector warpzone_save_view_angles

Definition at line 9 of file client.qh.

Referenced by Draw_ArcBeam(), Porto_Draw(), and WarpZone_FixView().

◆ warpzone_save_view_origin

vector warpzone_save_view_origin

Definition at line 8 of file client.qh.

Referenced by Draw_ArcBeam(), and WarpZone_FixView().