// Docs
// https://developer.valvesoftware.com/wiki/List_of_Team_Fortress_2_console_commands_and_variables

// No texture streaming
no_texture_stream

//Autoheal, min viewmodels, fastswitch etc.
con_enable 1
developer 0

fov_desired 90
viewmodel_fov 70
viewmodel_fov_demo 70

tf_use_min_viewmodels 1

hud_medicautocallers 1
// 100 - 20.5*2 (2 small first aid kits)
hud_medicautocallersthreshold 59

hud_combattext_batching 1
hud_combattext_batching_window 1

tf_dingalingaling 1
tf_dingalingaling_repeat_delay 0.0
tf_dingaling_volume 1
tf_dingaling_pitchmindmg 150
tf_dingaling_pitchmaxdmg 25

tf_remember_activeweapon 1
tf_remember_lastswitched 1

// Demo recording
ds_enable 2 // All matches are recorded
ds_kill_delay 15
ds_min_streak 2
ds_dir demos
ds_notify 1
ds_sound 1
ds_screens 1
ds_min_streak 4 // Minimum killstreak to record

///--- forced graphics settings enabled
///--- glow outline
glow_outline_effect_enable 1

cl_training_class_unlock_all
// > Bitfield representing what classes have been used to complete training.
// 111 111 111
cl_training_completed_with_classes 511

tf_training_has_prompted_for_forums 1
tf_training_has_prompted_for_loadout 1
tf_training_has_prompted_for_offline_practice 1
tf_training_has_prompted_for_options 1
tf_training_has_prompted_for_training 1

tf_explanations_backpackpanel 1
tf_explanations_charinfo_armory_panel 1
tf_explanations_charinfopanel 1
tf_explanations_craftingpanel 1
tf_explanations_discardpanel 1
tf_explanations_store 1

tf_show_preset_explanation_in_class_loadout 0
tf_show_taunt_explanation_in_class_loadout 0

tf_casual_welcome_hide_forever 1
tf_comp_welcome_hide_forever 1
tf_matchmaking_ticket_help 0
tf_show_maps_details_explanation_count 0

cl_ask_blacklist_opt_out 1
cl_ask_favorite_opt_out 1

sb_dontshow_maxplayer_warning 1
cl_hud_playerclass_playermodel_showed_confirm_dialog 1
tf_mvm_tabs_discovered 3
tf_coach_request_nevershowagain 1
///---

//Advanced options
hud_fastswitch 1
cl_autoreload 1
tf_colorblindassist 1
cl_use_tournament_specgui 0
cl_hud_playerclass_use_playermodel 1
cl_disablehtmlmotd 1
hud_classautokill 0
tf_medigun_autoheal 1
hud_medichealtargetmarker 1
tf_simple_disguise_menu 1
cl_autorezoom 0
tf_sniper_fullcharge_bell 1
tf_hud_no_crosshair_on_scope_zoom 0
tf_scoreboard_ping_as_text 1

// enable sprays
cl_spraydisable 0

//filter out Error from console
con_filter_enable 1
con_filter_text_out "Error"

// viewmodel binds
bindtoggle kp_minus r_drawviewmodel
bindtoggle kp_multiply cl_first_person_uses_world_model
bindtoggle kp_slash tf_taunt_first_person 0 1

// tab graph
alias +tabgraph "+showscores; net_graph 1"
alias -tabgraph "-showscores; net_graph 0"
bind tab +tabgraph

//medic radar
alias "+radar" "hud_medicautocallersthreshold 500"
alias "-radar" "hud_medicautocallersthreshold 59"

//bind to use mconfig null movement binds
bind w +mf
bind a +ml
bind s +mb
bind d +mr

// bind for inspect and use action slot item
bind f "+f"
alias +f "+inspect; +use_action_slot_item"
alias -f "-inspect; -use_action_slot_item"

// bind for binding use and calling medic
bind e "+e"
alias +e "voicemenu 0 0; +use"
alias -e "-use"

// bind for showing some info
alias +showinfo "cl_showfps 1; net_graph 1; cl_showpos 1"
alias -showinfo "cl_showfps 0; net_graph 0; cl_showpos 0"
bind ralt +showinfo

// killbinds
bind - "kill"
bind = "explode"

alias +crossbow "slot1;+attack"
alias -crossbow "slot2;-attack"

alias sentry "destroy 2; build 2";

alias +ctap   "alias duckon;       alias duckoff;       ctapon; +jump"
alias -ctap   "alias duckon +duck; alias duckoff -duck; -jump;  ctapoff"
alias +fduck  "alias ctapon;       alias ctapoff;       duckon"
alias -fduck  "alias ctapon +duck; alias ctapoff -duck; duckoff"
alias ctapon  +duck
alias ctapoff -duck
alias duckon  +duck
alias duckoff -duck

//bind ALT +ctap
//bind SHIFT +fduck

alias +rj "spec_mode;-duck;+cr;alias checkrj +cr"
alias -rj "-cr;checkduck;alias checkrj none"
alias +crouch "-cr;+duck;alias checkduck +duck"
alias -crouch "-duck;checkrj;alias checkduck none"
alias checkduck none
alias checkrj none
alias +cr "+jump;+duck"
alias -cr "-duck;-jump"
alias none ""

//bind space +rj
//bind ctrl +crouch

// quick call spy
bind mouse3 "voicemenu 1 1"

//bind for map vote when it breaks
bind kp_end "next_map_vote 0"
bind kp_downarrow "next_map_vote 1"
bind kp_pgdn "next_map_vote 2"

//fix all button
bind kp_ins "snd_restart;hud_reloadscheme"

//mark demo for anything cool
bind q "ds_mark"

//for scoreboard setting
tf_scoreboard_mouse_mode 2

//self help
echo "----- When making a single player server set "host_thread_mode" to 0 	-----"

//sanity filter
//voice_enable 0 //breaks voice until reconnect
hud_saytext_time 5

//allow custom content on local servers
sv_pure -1
sv_allow_wait_command 1
//exec preload

cl_showfps 0
cl_hud_minmode 1

echo "Done config"

// Load modern casual preloader
exec preloader.cfg

host_writeconfig