// '~~~ mastercomfig TF2 config ~~~'
// ---------------------------------
// Version: 8.103.0 | July 1, 2020
// --------------------------------
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

// Full mastercomfig console variables list, check out modules too!
// https://docs.mastercomfig.com/en/latest/customization/modules/

// Recommended launch options: -novid -nojoy -nosteamcontroller -nohltv -particles 1
net_maxpacketdrop 0 // Use all packets
cl_timeout 60 // Max client timeout
net_chokeloop 1 // Early check for multiplayer
sv_lan 1 // Protect local servers
alias team_ui_setup"cmd team_ui_setup"
alias resetclass"cmd resetclass"
alias menuopen"cmd menuopen"
alias menuclosed"cmd menuclosed"
alias stop_taunt"cmd stop_taunt"
alias td_buyback"cmd td_buyback"
alias arena_changeclass"cmd arena_changeclass"
alias extendfreeze"cmd extendfreeze"
alias show_motd"cmd show_motd"
alias showroundinfo"cmd showroundinfo"
alias autoteam"cmd autoteam"
alias boo"cmd boo"
alias done_viewing_loot"cmd done_viewing_loot"
alias spectate"cmd spectate"
alias status"cmd status"
alias ping"cmd ping"
alias pause"cmd pause"
alias unpause"cmd unpause"
alias demorestart"cmd demorestart"
alias fade"cmd fade"
alias nextmap"cmd nextmap"
alias timeleft"cmd timeleft"
alias ignoremsg"cmd ignoremsg"
alias commentary_finishnode"cmd commentary_finishnode"
alias kill"cmd kill"
alias explode"cmd explode"
net_maxcleartime 0 // No need to check for our limit, since cmdrate is the bound
net_maxfilesize 64 // Max out file upload size for extra content
tf_mm_debug_level 0 // Remove matchmaking debug output
//tf_party_force_update // Force an update to the party system
tf_party_keep_on_same_team 0 // Do not enforce parties being on the same team
r_rootlod 2 // Maximum performance for models
r_lod -1 // Use r_rootlod to properly fade through LODs
//mat_max_worldmesh_vertices 65536 // Use maximum mesh vertices to reduce mesh count
mat_max_worldmesh_vertices 1024 // Reduce individual mesh complexity for weak GPUs
r_ambientboost 0 // Disable to save the small amount of CPU this uses
r_rimlight 0 // Disable light around character edges, very small FPS increase, rimlight uses GPU only
mat_phong 0 // Disable phong for flatter shading
r_lightaverage 0 // Disable this lighting job that uses a lot of CPU even if it is not needed/noticeable
r_dynamic 0 // Disable dynamic lighting (muzzle flash lighting, explosions and other lighted effects)
r_maxdlights 0 // Do not allow any dynamic lights
r_worldlightmin 10 // Reject all world lighting
r_worldlights 0 // Disable world lights
mat_disable_lightwarp 1 // Disable light warps
mat_filterlightmaps 0 // Blocky lightmaps
mat_reducefillrate 1 // Simplify material shading and use some DirectX 8 features
r_dopixelvisibility 0 // Enable (1) visibility testing for glows, halos and pretty lights
r_pixelvisibility_partial 0 // Use (1) partial visibility algorithm
building_cubemaps 1 // Force some lighting effects off
mat_bumpmap 0 // Disable bumpmapping materials
mat_specular 0 // Disable specular materials
mat_parallaxmap 0 // Disable possible dead parallax mapping shader path
r_shadows 0 // Disable shadows for a big FPS increase
r_shadowrendertotexture 0 // Do not use two materials for shadows (uses memory and rendering time)
cl_blobbyshadows 0 // Get sharper model shape based shadows
r_flashlightdepthtexture 0 // Disable the CPU intensive depth texturing for shadows
r_flashlightrender 0 // Disable extra flashlight stuff
r_flashlightmodels 0 // Disable flashlight effect on models
r_flashlightculldepth 0 // Skip more flashlight processes which are ultimately unused
r_flashlightscissor 0 // ^
r_shadowmaxrendered 0 // How many high quality shadows are rendered
nb_shadow_dist 0 // Distance for NextBot entity shadows
tracer_extra 0 // Remove extra fluff to bullet lines that make them thicker
r_drawtracers_firstperson 0 // Do not draw tracers when you are in first person
cl_show_splashes 0 // Disable water splashes
cl_fasttempentcollision 0 // Check this many frames for collisions on syringes, shell ejection, blood, and some other effects
cl_ejectbrass 0 // Bullet ejection on shots
cl_muzzleflash_dlight_1st 0 // Disable dynamic light from muzzle flash in DoD and possibly other mods
cl_drawmonitors 0 // Draw monitors in HL2 and CS
muzzleflash_light 0 // Muzzle flash lights
r_WaterDrawReflection 0 // Disable water reflections
r_waterforceexpensive 0 // Do not force expensive water
r_waterforcereflectentities 0 // Do not force entity water reflections
r_WaterDrawRefraction 0 // Disable water refraction
r_cheapwaterstart 0;r_cheapwaterend .1
cl_particle_batch_mode 2 // Use particle batch mode 2, causes missing particles
tf_particles_disable_weather 1 // Disable rain, snow and ash particles
mat_reduceparticles 1 // Reduce number of particles, but it only helps a little bit because the real performance impact comes from creating particle systems
cl_new_impact_effects 0 // Use the old particle system for bullet impact particles
r_drawflecks 0 // Do not create particle systems when things hit surfaces, increases FPS and reduces distractions
tf_impactwatertimeenable 1 // Limit water splash particle to every second
fx_drawimpactdebris 0 // Disable bullet surface debris effect
fx_drawimpactdust 0 // Disable bullet surface dust effect
fx_drawmetalspark 0 // Disable bullet surface spark effect
cl_particle_retire_cost .001 // Remove particles larger than this fraction of 1000 screen area
mat_hdr_level 0 // LDR
r_bloomtintexponent 0 // Intensity of bloom effect
r_bloomtintr 0 // Red tint to bloom
r_bloomtintg 0 // Green tint to bloom
r_bloomtintb 0 // Blue tint to bloom
mat_bloom_scalefactor_scalar 0 // Intensity of bloom emitters
mat_colorcorrection 0 // Disable color correction to quickly skip post-processing rendering pathway
mat_colcorrection_disableentities 1 // Skip most of the client think for color correction map entities
mat_autoexposure_max 1 // Max autoexposure value
mat_autoexposure_min 1 // Min autoexposure value
mat_hdr_manual_tonemap_rate 1 // How fast exposure adjusts in HDR
pyro_dof 0 // Skip a SSAO depth pass for pyrovision
pyro_vignette 0 // Disable vignette for pyrovision
pyro_vignette_distortion 0 // Disable vignette distortion for pyrovision
mat_software_aa_strength 0 // Skip software AA which ultimately disables itself
mat_software_aa_strength_vgui 0 // ^
mat_alphacoverage 0 // Disable alpha-to-coverage
mat_antialias 0 // Do not do anti-aliasing
mat_trilinear 0 // Use nearest filtering (or trilinear based on texture flags) to squeeze out every last bit of performance
mat_forceaniso 1 // Disable anisotropic filtering
r_flex 0;flex_rules 0 // Disable facial animations
anim_3wayblend 0 // Disable 3-way animation blending
r_teeth 0 // Do not render teeth, small FPS boost
flex_smooth 0 // Do not smooth facial animations
r_eyes 0 // Do not draw character eyes
r_eyemove 0 // Disable eye movement
tf_clientsideeye_lookats 0 // Disable eye lookats
blink_duration 0 // Disable blinking
phonemefilter .00001 // Do not box filter lip sync
phonemesnap 0 // Do not crossfade a second lip sync on any LOD
phonemedelay -30 // Trick to force disable crossfade
r_decals 0;mp_decals 0 // Disable decals
r_decal_cover_count 0
r_decal_overlap_area 1
r_decal_overlap_count 0 // Do not allow decals to overlap each other
r_cleardecals permanent
r_drawmodeldecals 0 // Disable blood decals on bodies. Will prevent new objects to be created that decals apply onto. This also causes a bug with red bullet decals on some wood models.
r_maxmodeldecal 0 // Optimize maximum model decal count
r_renderoverlayfragment 0 // Disable overlays, small performance increase
cl_allowdownload 0 // Block downloads of other player custom files (sprays)
cl_allowupload 0 // Disable uploading your player custom files (sprays)
r_spray_lifetime 0 // Clear sprays immediately
cl_playerspraydisable 1 // Disable player sprays
cl_burninggibs 0 // Disable burning gibs as they have a performance impact
props_break_max_pieces 0 // Disables gibs and prop breaking
violence_hgibs 1 // Enable normal gibs
violence_hblood 1 // Enable normal blood
tf_playergib 0 // Control gibbing on local servers: 0: never, 1: default, 2: always.
r_decalstaticprops 0 // Do not use some lighting data for static props, disable decals on static props
cl_phys_props_enable 0 // Disable client side physics props
r_propsmaxdist 0
r_drawdetailprops 0 // Disable detail props for saving a good bit of FPS
r_staticprop_lod 7 // Force lowest LOD (lowest quality). Makes some railings invisible.
r_PhysPropStaticLighting 0 // Do not use lighting on props
lod_TransitionDist -1 // Do not fade in map objects for maximum performance
cl_detaildist 1;cl_detailfade 50000
cl_ragdoll_fade_time -3 // Fade out ragdolls in 5 seconds, which is the cutoff for special ragdoll effects
cl_ragdoll_forcefade 1 // Effectively disables ragdolls by instantly fading them
cl_ragdoll_physics_enable 0 // Disable ragdoll physics, where most of the performance from ragdolls comes from
cl_ragdoll_collide 0 // Disable ragdoll collisions
ragdoll_sleepaftertime 0 // Instantly sleep ragdolls
mat_viewportscale 1 // Adjust render resolution (adjust as a % from 1.0 to .1 in increments of .1 or .05). This is
                    // useful for if your GPU struggles to render a lot of pixels.
r_3dsky 0 // Disable 3D sky
cl_jiggle_bone_framerate_cutoff 0 // Always disable jigglebones
tf_sheen_framerate 0 // Killstreak viewmodel frame rate
tf_sheen_alpha_firstperson 0 // Intensity of tint
mat_picmip 2 // Low quality textures
mat_filtertextures 0 // Blocky textures
mat_disable_fancy_blending 1 // Disable fancy blending of textures
r_drawropes 0 // Turn off ropes entirely
rope_rendersolid 0 // Skip rendering solid part of ropes
r_ropetranslucent 0 // Skip simulating ropes
rope_smooth 0 // Skip a long smoothing operation for ropes
rope_subdiv 0 // Skip heavy loops for rope subdivisions
rope_collide 0 // Skip CPU heavy world collisions for ropes
rope_wind_dist 0 // Do not apply CPU intensive wind to ropes
rope_averagelight 0 // Simplify rope lighting for weak GPUs, at the cost of a bit of CPU time
mat_vsync 0 // Ensure VSync is disabled
mat_powersavingsmode 0 // Ensure power savings mode is disabled
engine_no_focus_sleep 50 // Power savings while alt-tabbed out of TF2
r_occludeemaxarea 1 // Skip occlusion of objects that are too large to test for
r_occluderminarea 1 // Skip occluders that are too small to block anything worth our time
r_occludermincount 1 // Just in case we filter one out
mat_tonemapping_occlusion_use_stencil 0 // Force disable stencil buffer for tonemapping
r_norefresh 1 // Do not store a useless and unused frame time variable
fast_fogvolume 1 // Fast path for one leaf water data
sv_alternateticks 0 // Run every tick
mod_offline_hdr_switch 1 // Skip outdated Source engine pathways
mat_forcemanagedtextureintohardware 0 // Do not do tricks to render textures into hardware
r_hunkalloclightmaps 0 // Use native memory allocation
r_lightcache_zbuffercache 1 // Cache lighting computations and use new lighting pathways
mat_requires_rt_alloc_first 0 // Force disable, since new GPUs do not need to do this. Improves load times.
sys_minidumpspewlines 0 // Do not save any console output to a memory buffer in case of a crash
cl_localnetworkbackdoor 0 // Fast path to skip backdoor
mp_usehwmmodels -1 // Fast path to skip HW morph models
tf_dashboard_slide_time .1 // Time in seconds for dashboard transitions
sv_motd_unload_on_dismissal 1 // Server will tell the player to unload the MOTD
tf_hud_show_servertimelimit 1 // Show server map time
hud_medichealtargetmarker 1 // Shows medic heal target with a small marker
tf_healthicon_height_offset 10 // Offset of heath icon
tf_hud_target_id_offset 0 // Vertical offset of target ID
tf_hud_target_id_show_avatars 0 // Show avatars: 0 - never, 1 - from everyone, 2 - from friends.
tf_scoreboard_ping_as_text 1 // Use text for ping in the scoreboard
cl_hudhint_sound 0 // Disable HUD sounds
fov_desired 90 // See more of the battlefield
glow_outline_effect_enable 0 // Disable all outlines
tf_enable_glows_after_respawn 0 // Disable spawn nametags and outlines
tf_spec_xray_disable 1 // Disable nametags and outlines while spectating
tf_spectate_pyrovision 0 // Do not force pyrovision in spectator mode
cl_use_tournament_specgui 1 // Use advanced tournament UI in spectator tournament mode
lzma_persistent_buffer 1 // Keep the LZMA compression system in memory to prevent reloads of it
cl_always_flush_models 0 // Keep models loaded in between map loads and keep preloading
mat_bufferprimitives 1 // Skip flushing of primitives when meshes draw
filesystem_buffer_size 1 // 32KB buffer
filesystem_max_stdio_read 64 // Use a higher max read cap (64MB)
mod_load_anims_async 0 // Async animation loading
mod_load_mesh_async 1 // Async mesh loading
mod_load_vcollide_async 1 // Async vcollide loading
mod_forcetouchdata 1 // Put all model data into cache on load
mod_forcedata 1 // Load submodel data and load lingering async loads
mod_touchalldata 0 // Load vcollide sync, load all peer data
mod_forcetouchdata 0 // Skip loading all model data into cache on load
mod_forcedata 0 // Async model cache does not force data by default
mod_touchalldata 0 // Load vcollide async and skip submodel loading
tf_dingalingaling_repeat_delay .008 // .008 seconds delay to allow for all standard weapons
snd_async_fullyasync 1 // Skip sound cache, load all sounds async
snd_async_minsize 0 // ^
snd_mix_async 1 // Use another thread to mix sounds
snd_noextraupdate 1 // Do not update sound twice
snd_async_spew_blocking 0 // Disable async spew
snd_disable_mixer_duck 1;snd_pitchquality 0;dsp_slow_cpu 1;snd_spatialize_roundrobin 3;dsp_room 0;dsp_facingaway 0;dsp_speaker 0;dsp_water 0;dsp_spatial 0;snd_defer_trace 1
tf_quest_map_tuner_wobble_magnitude 0 // Disable the red tuner on the contracker
tf_item_inspect_model_auto_spin 0 // Do not auto spin items in the inspect view
tf_dashboard_slide_time 0 // Instant transitions
tf_hud_target_id_show_avatars 0 // Never show avatars
tf_hud_target_id_alpha 255 // Disable transparency of target ID
tf_romevision_opt_in 0 // Opt out of Romevision extra models