15 ret.x = screenright *
v;
17 ret.z = screenforward *
v;
24 vector mi, ma, thisv, myv, ret;
30 mi = ma = targ.origin + 0.5 * (targ.mins + targ.maxs);
31 for(i = 0; i < 2; ++i)
for(j = 0; j < 2; ++j)
for(k = 0; k < 2; ++k)
34 if(i) thisv.x += targ.maxs.x;
else thisv.x += targ.mins.x;
35 if(j) thisv.y += targ.maxs.y;
else thisv.y += targ.mins.y;
36 if(k) thisv.z += targ.maxs.z;
else thisv.z += targ.mins.z;
40 if(mi.x > thisv.x) mi.x = thisv.x;
if(ma.x < thisv.x) ma.x = thisv.x;
41 if(mi.y > thisv.y) mi.y = thisv.y;
if(ma.y < thisv.y) ma.y = thisv.y;
52 ret.x = (thisv.x - mi.x) / (ma.x - mi.x);
53 ret.y = (thisv.y - mi.y) / (ma.y - mi.y);
54 ret.z = thisv.z - myv.z;
68 vector org = player.origin + player.view_ofs;
89 else {
CS(player).hitplotfh = -1; }
97 CS(player).hitplotfh = -1;
vector W_HitPlotUnnormalizedUntransform(vector screenforward, vector screenright, vector screenup, vector v)
ClientState CS(Client this)
void W_HitPlotOpen(entity player)
string autocvar_g_hitplots_individuals
#define IS_REAL_CLIENT(v)
void antilag_takeback(entity e, entity store, float t)
void W_HitPlotAnalysis(entity player, entity wep, vector screenforward, vector screenright, vector screenup)
void antilag_restore(entity e, entity store)
void traceline_antilag_force(entity source, vector v1, vector v2, float nomonst, entity forent, float lag)
spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 f1 s1 strcat(_("Level %s: "), "^BG%s\3\, _("^BGPress ^F2%s^BG to enter the game"))
vector(float skel, float bonenum) _skel_get_boneabs_hidden
void W_HitPlotClose(entity player)
#define ANTILAG_LATENCY(e)
vector W_HitPlotNormalizedUntransform(vector org, entity targ, vector screenforward, vector screenright, vector screenup, vector v)