65 #define avg_factor(avg_time) (1 - exp(-frametime / max(0.001, avg_time))) 67 #define lowpass(value, frac, ref_store, ret) \ 68 ret = ref_store = ref_store * (1 - frac) + (value) * frac; 70 #define lowpass_limited(value, frac, limit, ref_store, ret) MACRO_BEGIN \ 71 float __ignore; lowpass(value, frac, ref_store, __ignore); \ 72 ret = ref_store = bound((value) - (limit), ref_store, (value) + (limit)); \ 75 #define highpass(value, frac, ref_store, ret) MACRO_BEGIN \ 76 float __f = 0; lowpass(value, frac, ref_store, __f); \ 77 ret = (value) - __f; \ 80 #define highpass_limited(value, frac, limit, ref_store, ret) MACRO_BEGIN \ 81 float __f = 0; lowpass_limited(value, frac, limit, ref_store, __f); \ 82 ret = (value) - __f; \ 85 #define lowpass2(value, frac, ref_store, ref_out) MACRO_BEGIN \ 86 lowpass(value.x, frac, ref_store.x, ref_out.x); \ 87 lowpass(value.y, frac, ref_store.y, ref_out.y); \ 90 #define highpass2(value, frac, ref_store, ref_out) MACRO_BEGIN \ 91 highpass(value.x, frac, ref_store.x, ref_out.x); \ 92 highpass(value.y, frac, ref_store.y, ref_out.y); \ 95 #define highpass2_limited(value, frac, limit, ref_store, ref_out) MACRO_BEGIN \ 96 highpass_limited(value.x, frac, limit, ref_store.x, ref_out.x); \ 97 highpass_limited(value.y, frac, limit, ref_store.y, ref_out.y); \ 100 #define lowpass3(value, frac, ref_store, ref_out) MACRO_BEGIN \ 101 lowpass(value.x, frac, ref_store.x, ref_out.x); \ 102 lowpass(value.y, frac, ref_store.y, ref_out.y); \ 103 lowpass(value.z, frac, ref_store.z, ref_out.z); \ 106 #define highpass3(value, frac, ref_store, ref_out) MACRO_BEGIN \ 107 highpass(value.x, frac, ref_store.x, ref_out.x); \ 108 highpass(value.y, frac, ref_store.y, ref_out.y); \ 109 highpass(value.z, frac, ref_store.z, ref_out.z); \ 119 static vector vel_average;
120 static vector gunorg_adjustment_highpass;
121 static vector gunorg_adjustment_lowpass;
128 vector forward, right, up;
130 vel.x = view.velocity * forward;
131 vel.y = view.velocity * right * -1;
132 vel.z = view.velocity * up;
140 lowpass3(vel, frac, vel_average, gunorg);
147 highpass3(gunorg, frac, gunorg_adjustment_highpass, gunorg);
149 lowpass3(gunorg, frac, gunorg_adjustment_lowpass, gunorg);
154 vector forward, right, up;
156 fixed_gunorg.x = gunorg * forward;
157 fixed_gunorg.y = gunorg * right * -1;
158 fixed_gunorg.z = gunorg * up;
159 gunorg = fixed_gunorg;
169 vector gunangles =
'0 0 0';
170 static vector gunangles_prev =
'0 0 0';
171 static vector gunangles_highpass =
'0 0 0';
172 static vector gunangles_adjustment_highpass;
173 static vector gunangles_adjustment_lowpass;
175 if (view.csqcmodel_teleported)
179 gunangles_highpass += gunangles_prev;
186 gunangles_highpass -= gunangles_prev;
193 highpass2(gunangles, frac, gunangles_adjustment_highpass, gunangles);
195 lowpass2(gunangles, frac, gunangles_adjustment_lowpass, gunangles);
197 gunangles.x = -gunangles.x;
205 static bool oldonground;
206 static float hitgroundtime;
213 oldonground = clonground;
218 static float bobmodel_scale = 0;
219 static float time_ofs = 0;
222 if (
time - hitgroundtime > 0.05)
223 bobmodel_scale =
min(1, bobmodel_scale +
frametime * 5);
226 bobmodel_scale =
max(0, bobmodel_scale -
frametime * 5);
229 if (bobmodel_scale && xyspeed)
285 int wepskin = this.m_skin;
287 if (invehicle) a = -1;
288 Weapon wep = this.activeweapon;
290 vector g = weaponentity_glowmod(wep,
NULL, c,
this);
292 int fx = ((me.csqcmodel_effects & EFMASK_CHEAP)
295 for (
entity e =
this; e; e = e.weaponchild)
300 e.colormap = 256 + c;
302 e.csqcmodel_effects = fx;
308 string newname = wep.wr_viewmodel(wep,
this);
315 CL_WeaponEntity_SetModel(
this, name, swap);
321 anim_set(
this, this.anim_idle,
true,
false,
false);
324 float rate = STAT(WEAPONRATEFACTOR);
327 else switch (this.
state)
348 this.angles_x = (-90 * f * f);
361 vec = cs_project(vec);
372 return screen_pos.z >= 0
403 int channel = MSG_C2S;
404 WriteHeader(channel, fpsreport);
418 float zoomsensitivity, zoomspeed, zoomfactor, zoomdir;
419 float velocityzoom, curspeed;
424 if(zoomfactor < 1 || zoomfactor > 30)
427 if (zoomspeed >= 0 && (zoomspeed < 0.5 || zoomspeed > 16))
437 if(wepent.switchweapon != wepent.activeweapon)
439 Weapon wep = wepent.activeweapon;
440 if(wep != WEP_Null && wep.wr_zoomdir)
442 bool do_zoom = wep.wr_zoomdir(wep);
502 if(zoomsensitivity < 1)
505 setsensitivityscale(1);
513 vector forward, right, up;
521 case 3: curspeed =
max(0, forward * v);
break;
522 case 2: curspeed = (forward *
v);
break;
523 case 1:
default: curspeed =
vlen(v);
break;
536 float frustumx, frustumy, fovx, fovy;
539 fovx = atan2(frustumx, 1) /
M_PI * 360.0;
540 fovy = atan2(frustumy, 1) /
M_PI * 360.0;
542 return '1 0 0' * fovx +
'0 1 0' * fovy;
547 float frustumy = tan(fov *
M_PI / 360.0) * 0.75;
549 float fovx = atan2(frustumx, 1) /
M_PI * 360.0;
550 float fovy = atan2(frustumy, 1) /
M_PI * 360.0;
551 return '1 0 0' * fovx +
'0 1 0' * fovy;
557 float width = (ov_worldmax.x - ov_worldmin.x);
558 float height = (ov_worldmax.y - ov_worldmin.y);
559 float distance_to_middle_of_world =
vlen(ov_mid - ov_org);
560 fovx = atan2(width/2, distance_to_middle_of_world) /
M_PI * 360.0;
561 fovy = atan2(height/2, distance_to_middle_of_world) /
M_PI * 360.0;
562 return '1 0 0' * fovx +
'0 1 0' * fovy;
600 if(want_vehiclechase)
632 if(STAT(CAMERA_SPECTATOR))
653 float vehicle_viewdist = 0;
654 vector vehicle_viewofs =
'0 0 0';
658 if(
hud != HUD_BUMBLEBEE_GUN)
661 vehicle_viewdist = info.
height;
663 if(vehicle_viewdist < 0)
664 vehicle_chase =
false;
667 vehicle_chase =
false;
673 vector current_view_origin_override =
'0 0 0';
674 vector view_offset_override =
'0 0 0';
675 float chase_distance_override = 0;
677 if(custom_eventchase)
681 chase_distance_override =
M_ARGV(0,
float);
687 if (custom_eventchase)
688 current_view_origin = current_view_origin_override;
695 view_offset = vehicle_viewofs;
699 if (custom_eventchase)
700 view_offset = view_offset_override;
719 chase_distance = vehicle_viewdist;
723 if (custom_eventchase)
724 chase_distance = chase_distance_override;
731 vector forward, right, up;
772 static float damage_total_prev = 0;
773 float damage_total = STAT(HITSOUND_DAMAGE_DEALT_TOTAL);
775 damage_total_prev = damage_total;
777 static float damage_dealt_time_prev = 0;
778 float damage_dealt_time = STAT(HIT_TIME);
779 if (damage_dealt_time != damage_dealt_time_prev)
784 damage_dealt_time_prev = damage_dealt_time;
787 static float spectatee_status_prev = 0;
797 bool have_arc =
false;
802 if(wepent.activeweapon == WEP_ARC)
806 static float hitsound_time_prev = 0;
813 float pitch_shift = 1;
814 if (autocvar_cl_hitsound == 2 || autocvar_cl_hitsound == 3)
821 pitch_shift = (b*d*(a-1) + a*c*(1-b)) / (d*(a-1) + c*(1-b));
824 if (autocvar_cl_hitsound == 3)
826 float mirror_value = (a-b)/2 + b;
827 pitch_shift = mirror_value + (mirror_value - pitch_shift);
839 hitsound_time_prev =
time;
842 static float typehit_time_prev = 0;
843 float typehit_time = STAT(TYPEHIT_TIME);
847 typehit_time_prev = typehit_time;
850 static float kill_time_prev = 0;
851 float kill_time = STAT(KILL_TIME);
855 kill_time_prev = kill_time;
875 else if(STAT(FROZEN))
877 vector col =
'0.25 0.90 1';
878 float col_fade =
max(0, STAT(REVIVE_PROGRESS) * 2 - 1);
879 float alpha_fade = 0.3 + 0.7 * (1 -
max(0, STAT(REVIVE_PROGRESS) * 4 - 3));
881 col +=
vec3(col_fade, -col_fade, -col_fade);
889 vector col =
'0.25 0.90 1' +
vec3(STAT(NADE_TIMER), -STAT(NADE_TIMER), -STAT(NADE_TIMER));
893 else if(STAT(CAPTURE_PROGRESS))
898 else if(STAT(REVIVE_PROGRESS))
996 vector tc_00, tc_01, tc_10, tc_11;
1015 tc_00 =
'0 0 0' +
'0.2 0 0' *
sin(
time * 0.3) +
'0 0.3 0' *
cos(
time * 0.7);
1016 tc_01 =
'0 2.25 0' +
'0.6 0 0' *
cos(
time * 1.2) -
'0 0.3 0' *
sin(
time * 2.2);
1017 tc_10 =
'1.5 0 0' -
'0.2 0 0' *
sin(
time * 0.5) +
'0 0.5 0' *
cos(
time * 1.7);
1019 tc_11 = tc_01 + tc_10 - tc_00;
1021 R_PolygonVertex(
'0 0 0', tc_00, rgb, a);
1033 tc_11 = tc_01 + tc_10 - tc_00;
1035 R_PolygonVertex(
'0 0 0', tc_00, rgb, a);
1050 float contentalpha_temp, incontent, liquidalpha, contentfadetime;
1075 liquidcolor =
'0 0 0';
1119 vector splash_pos =
'0 0 0', splash_size =
'0 0 0';
1125 float myhealth_flash_temp;
1133 float pain_threshold, pain_threshold_lower, pain_threshold_lower_health;
1138 if(pain_threshold_lower &&
myhealth < pain_threshold_lower_health)
1150 myhealth_flash_temp = 0;
1161 myhealth_flash_temp = 0;
1180 if(myhealth_flash_temp > 0)
1183 else if(myhealth_flash_temp > 0)
1210 if(
cvar(
"r_glsl_postprocess_uservec1_enable") != e1) {
cvar_set(
"r_glsl_postprocess_uservec1_enable",
ftos(e1)); }
1211 if(
cvar(
"r_glsl_postprocess_uservec2_enable") != e2) {
cvar_set(
"r_glsl_postprocess_uservec2_enable",
ftos(e2)); }
1225 else if(
cvar_string(
"r_glsl_postprocess_uservec1") !=
"0 0 0 0")
1227 cvar_set(
"r_glsl_postprocess_uservec1",
"0 0 0 0");
1233 float sharpen_intensity = 0;
1234 FOREACH(StatusEffect, it.instanceOfPowerups,
1236 float powerup_finished = StatusEffects_gettime(it, g_statuseffects) - time;
1237 if(powerup_finished > 0)
1238 sharpen_intensity += powerup_finished;
1241 sharpen_intensity =
bound(0, ((STAT(HEALTH) > 0) ? sharpen_intensity : 0), 5);
1251 else if(
cvar_string(
"r_glsl_postprocess_uservec2") !=
"0 0 0 0")
1253 cvar_set(
"r_glsl_postprocess_uservec2",
"0 0 0 0");
1257 if(
cvar(
"r_glsl_postprocess") == 0)
1258 cvar_set(
"r_glsl_postprocess",
"2");
1260 else if(
cvar(
"r_glsl_postprocess") == 2)
1261 cvar_set(
"r_glsl_postprocess",
"0");
1299 cvar_set(
"cl_demo_mousegrab",
"0");
1314 cvar_set(
"cl_demo_mousegrab",
"1");
1322 void View_BlurTest()
1324 if(
time > blurtest_time0 &&
time < blurtest_time1)
1326 float t = (
time - blurtest_time0) / (blurtest_time1 - blurtest_time0);
1327 float r = t * blurtest_radius;
1328 float f = 1 / (t ** blurtest_power) - 1;
1330 cvar_set(
"r_glsl_postprocess",
"1");
1335 cvar_set(
"r_glsl_postprocess",
"0");
1336 cvar_set(
"r_glsl_postprocess_uservec1",
"0 0 0 0");
1343 float is_dead = (STAT(HEALTH) <= 0);
1396 if(wepent.last_switchweapon != wepent.switchweapon)
1399 wepent.last_switchweapon = wepent.switchweapon;
1412 if(wepent.last_activeweapon != wepent.activeweapon)
1414 wepent.last_activeweapon = wepent.activeweapon;
1416 entity e = wepent.activeweapon;
1420 localcmd(
"\ncl_hook_activeweapon none\n");
1461 float ov_furthest = 0;
1496 LOG_INFOF(
"OrthoView: org = %s, angles = %s, distance = %f, nearest = %f, furthest = %f",
1529 setproperty(
VF_FOV, fov);
1534 TC(
int, w);
TC(
int, h);
1543 ReplicateVars(REPLICATEVARS_CHECK);
1551 cvar_set(
"_hud_showbinds_reload",
"0");
1567 ticrate = STAT(MOVEVARS_TICRATE) * STAT(MOVEVARS_TIMESCALE);
1584 WaypointSprite_Load();
1597 local_player =
this;
1623 TargetMusic_Advance();
1669 setproperty(
VF_SIZE, vf_size);
1670 setproperty(
VF_MIN, vf_min);
1714 #if ENABLE_DEBUGDRAW 1739 vector forward, right, up;
1740 MAKE_VECTORS(
'0 0 0', forward, right, up);
1744 v1 = cs_project(forward);
1747 v2 = cs_project(forward);
1763 setproperty(
VF_MIN,
'0 0 0');
1764 setproperty(
VF_SIZE,
'1 0 0' * w +
'0 1 0' * h);
1774 float speed, attenuation, dimensions;
1833 attenuation = 1 /
max(1, attenuation);
1875 speed = speed *
sqrt(1 / dimensions);
#define lowpass2(value, frac, ref_store, ref_out)
float cl_followmodel_time
vector leanmodel_ofs(entity view)
#define PHYS_INPUT_BUTTON_ATCK2(s)
float autocvar_hud_damage_factor
float autocvar_cl_zoomspeed
bool autocvar__hud_showbinds_reload
vector damage_blurpostprocess
void ViewLocation_Mouse()
float autocvar_hud_damage_gentle_alpha_multiplier
#define IL_EACH(this, cond, body)
entity nightvision_noise2
ERASEABLE int db_create()
void CSQCModel_Effects_Apply(entity this)
int autocvar_cl_nade_timer
void drawstring_aspect(vector pos, string text, vector sz, vector color, float theAlpha, float drawflag)
ERASEABLE float float2range11(float f)
continuous function mapping all reals into -1..1
vector current_camera_offset
float autocvar_r_letterbox
vector project_3d_to_2d(vector vec)
bool autocvar_camera_chase_smoothly
float autocvar_cl_eventchase_distance
void View_PostProcessing()
const int WS_RAISE
raise frame
entity CSQCModel_server2csqc(int i)
void View_CheckButtonStatus()
int autocvar_cl_velocityzoom_type
float autocvar_cl_zoomfactor
float autocvar_cl_bobmodel_side
bool autocvar_cl_followmodel_velocity_absolute
bool animstate_override
true for one cycle, then changed to false
bool autocvar_camera_reset
vector autocvar_cl_eventchase_mins
vector content_blurpostprocess
float autocvar_hud_damage_fade_rate
bool autocvar_cl_eventchase_spectated_change
bool HUD_MinigameMenu_IsOpened()
void View_EventChase(entity this)
bool autocvar__hud_configure
float cvar_settemp(string tmp_cvar, string tmp_value)
string autocvar_hud_damage_color
float height
vehicle 3rd person view distance
void DrawReticle(entity this)
const int WS_CLEAR
no weapon selected
float autocvar_cl_hitsound_nom_damage
float autocvar_hud_damage_pain_threshold_lower
string autocvar_hud_damage_gentle_color
void WarpZone_TraceBox(vector org, vector mi, vector ma, vector end, float nomonsters, entity forent)
void HUD_Draw(entity this)
entity viewmodels[MAX_WEAPONSLOTS]
bool autocvar_hud_contents
float autocvar_cl_followmodel_highpass
float autocvar_cl_hitsound_antispam_time
#define REGISTRY_GET(id, i)
float autocvar_hud_contents_fadeintime
float autocvar_cl_followmodel_lowpass
float autocvar_cl_viewmodel_alpha
const int SERVERFLAG_ALLOW_FULLBRIGHT
float autocvar_menu_mouse_speed
#define lowpass3(value, frac, ref_store, ref_out)
vector GetOrthoviewFOV(vector ov_worldmin, vector ov_worldmax, vector ov_mid, vector ov_org)
#define highpass2(value, frac, ref_store, ref_out)
#define PHYS_INPUT_BUTTON_ZOOM(s)
float autocvar_camera_speed_roll
int WantEventchase(entity this, bool want_vehiclechase)
ERASEABLE void db_close(int db)
void DrawCircleClippedPic(vector centre, float radi, string pic, float f, vector rgb, float a, float drawflag)
float autocvar_hud_damage_pain_threshold_pulsating_period
void draw_cursor_normal(vector pos, vector col, float a)
vector bobmodel_ofs(entity view)
const int VIEWLOC_FREEAIM
bool projected_on_screen(vector screen_pos)
vector myhealth_gentlergb
bool autocvar_cl_stripcolorcodes
float autocvar_hud_damage_pain_threshold_pulsating_min
void anim_set(entity e, vector anim, bool looping, bool override, bool restart)
const float VF_MINFPS_QUALITY
float autocvar_cl_leanmodel_lowpass
void anim_update(entity e)
Update e.frame based on its animstate relative to time.
float autocvar_cl_leanmodel
const int WS_DROP
deselecting frame
const float EF_NODEPTHTEST
vector autocvar_cl_eventchase_vehicle_viewoffset
float autocvar_hud_contents_blur_alpha
ERASEABLE float almost_equals(float a, float b)
float autocvar_cl_velocityzoom_time
bool autocvar_cl_lockview
vector autocvar_cl_eventchase_maxs
float autocvar_cl_leanmodel_speed
float autocvar_hud_damage_pain_threshold
bool autocvar_hud_powerup
float autocvar_cl_spawnzoom_speed
const float DRAWFLAG_ADDITIVE
bool HUD_Radar_Clickable()
const float EF_FULLBRIGHT
float autocvar_cl_followmodel_velocity_lowpass
float autocvar_camera_look_player
bool autocvar_camera_free
float autocvar_hud_postprocessing_maxblurradius
float autocvar__menu_alpha
string autocvar_hud_contents_water_color
float autocvar_hud_contents_lava_alpha
ERASEABLE void IL_ENDFRAME()
void calc_followmodel_ofs(entity view)
void viewmodel_draw(entity this)
bool autocvar_camera_forward_follows
float autocvar_cl_followmodel_limit
bool autocvar_cl_eventchase_vehicle
int autocvar_cl_gentle_damage
const float CONTENT_SLIME
float autocvar_cl_viewmodel_scale
vector WarpZone_TransformVAngles(entity wz, vector ang)
void HUD_Minigame_Mouse()
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"))
const int MAX_WEAPONSLOTS
float autocvar_hud_contents_fadeouttime
const float CONTENT_WATER
int autocvar_cl_eventchase_death
float autocvar_hud_postprocessing_maxbluralpha
#define avg_factor(avg_time)
float autocvar_cl_bobmodel_up
float autocvar_hud_damage_blur_alpha
bool autocvar_cl_orthoview
float current_zoomfraction
float autocvar_cl_velocityzoom_speed
const float DRAWFLAG_NORMAL
float chase_active_backup
float autocvar_cl_eventchase_spectated_change_time
void CSQC_UpdateView(entity this, float w, float h)
string autocvar_hud_contents_lava_color
const float VF_PERSPECTIVE
float oldr_useinfinitefarclip
void CSQCPlayer_SetCamera()
Called once per CSQC_UpdateView()
float autocvar_cl_hitsound_max_pitch
float autocvar_cl_leanmodel_highpass
float showfps_prevfps_time
bool Scoreboard_WouldDraw()
float autocvar_cl_leanmodel_limit
bool autocvar_camera_enable
vector GetCurrentFov(float fov)
bool autocvar_cl_unpress_attack_on_weapon_switch
bool autocvar_cl_unpress_zoom_on_death
vector(float skel, float bonenum) _skel_get_boneabs_hidden
string autocvar__togglezoom
const float DRAWFLAG_MODULATE
float autocvar_hud_contents_water_alpha
float autocvar_cl_eventchase_speed
entity WarpZone_trace_transform
float autocvar_hud_contents_slime_alpha
float autocvar_camera_speed_attenuation
float oldr_useportalculling
float autocvar_cl_zoomsensitivity
float autocvar_hud_contents_blur
vector autocvar_cl_eventchase_viewoffset
void HUD_Mouse(entity player)
#define COMPARE_INCREASING(to, from)
bool autocvar_r_drawviewmodel
vector cl_followmodel_ofs
bool QuickMenu_IsOpened()
bool autocvar_cl_unpress_zoom_on_weapon_switch
float autocvar_hud_colorflash_alpha
const float MASK_ENGINEVIEWMODELS
ERASEABLE float Noise_White(entity e, float dt)
float autocvar_camera_look_attenuation
#define vdist(v, cmp, f)
Vector distance comparison, avoids sqrt()
void WarpZone_TraceLine(vector org, vector end, float nomonsters, entity forent)
bool autocvar_cl_eventchase_frozen
bool autocvar_cl_bobmodel
const int ANIMIMPLICITSTATE_INAIR
float old_sharpen_intensity
float autocvar_hud_damage_pain_threshold_lower_health
float autocvar_cl_spawnzoom_factor
float autocvar_cl_bobmodel_speed
int autocvar_vid_conwidth
const float VF_DRAWENGINESBAR
void HUD_Crosshair(entity this)
bool autocvar_cl_velocityzoom_enabled
#define MUTATOR_CALLHOOK(id,...)
float spectatee_status_changed_time
vector GetViewLocationFOV(float fov)
float autocvar_camera_mouse_threshold
float eventchase_current_distance
bool animstate_looping
whether to repeat
float autocvar_hud_damage_maxalpha
const float VF_DRAWCROSSHAIR
#define highpass3(value, frac, ref_store, ref_out)
void execute_next_frame()
float autocvar_cl_hitsound_min_pitch
bool autocvar_r_fullbright
int autocvar_chase_active
#define sound(e, c, s, v, a)
ERASEABLE float Noise_Pink(entity e, float dt)
float autocvar_cl_velocityzoom_factor
float autocvar_camera_speed_chase
void viewmodel_animate(entity this)
vector view_ofs
vehicle 3rd person view offset
int autocvar_vid_conheight
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
void draw_cursor(vector pos, vector ofs, string img, vector col, float a)
float autocvar_vid_pixelheight
float autocvar_cl_followmodel_speed
string autocvar_hud_contents_slime_color
void Accuracy_LoadLevels()
float autocvar_cl_leanmodel_highpass1
string mdl
M: modelname : name of model (without g_ v_ or h_ prefixes)
bool autocvar_cl_spawnzoom
#define FOREACH(list, cond, body)
#define highpass2_limited(value, frac, limit, ref_store, ref_out)
IntrusiveList g_drawables
bool autocvar_hud_cursormode
float autocvar_cl_followmodel
float autocvar_camera_speed_free
void Draw_ShowNames_All()
float autocvar_cl_eventchase_vehicle_distance
bool spectatorbutton_zoom
IntrusiveList g_drawables_2d
float autocvar_hud_damage_blur
bool autocvar_hud_postprocessing