]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - xonotic-client.cfg
Nades code: don't use booleans as array indexes for m_projectile, optimize spawn_held...
[xonotic/xonotic-data.pk3dir.git] / xonotic-client.cfg
index fa9b9ca00f9d395f1d512f1bfcf1b2d38aad9521..60cc2fe2f16c27f905cbe1a5d059797475a24e36 100644 (file)
@@ -23,8 +23,15 @@ alias use "impulse 21"
 cl_particles_forcetraileffects 1
 
 alias dropweapon "impulse 17"
-alias +show_info +button7
-alias -show_info -button7
+
+// support for servers still using the old centreprint MOTD
+alias +show_info0 "+button7"
+alias -show_info0 "-button7"
+alias +show_info1 "menu_showwelcomedialog"
+alias -show_info1 ""
+alias +show_info +show_info$_menu_welcome_dialog_available
+alias -show_info -show_info$_menu_welcome_dialog_available
+seta cl_welcome 1 "1: show the Welcome dialog when connecting; 0: show it only when +show_info keybind is pressed"
 
 // merge lightmaps up to 2048x2048 textures
 mod_q3bsp_lightmapmergepower 4
@@ -32,7 +39,6 @@ mod_q3bsp_lightmapmergepower 4
 // player defaults
 _cl_color "112.211" // same effect as 112, but menuqc can detect this as the default and not intentionally set
 _cl_name ""
-seta _cl_gender 0 "storage cvar for current player gender (0 = undisclosed, 1 = male, 2 = female)"
 _cl_playerskin 0
 
 seta cl_reticle 1 "enable zoom reticles"
@@ -63,18 +69,17 @@ seta cl_unpress_attack_on_weapon_switch 0 "automatically unpress fire and fire1
 seta cl_weapon_switch_reload 1 "When trying to switch to the currently held weapon, reload it"
 seta cl_weapon_switch_fallback_to_impulse 1 "When trying to switch to a weapon that is not available, switch to an alternative from the same impulse"
 
-seta cl_spawn_event_particles 1 "pointparticles effect whenever a player spawns"
-seta cl_spawn_event_sound 1 "sound effect whenever a player spawns"
+seta cl_spawn_event_particles 1 "pointparticles effect whenever a player spawns (if allowed by the server)"
+seta cl_spawn_event_sound 1 "sound effect whenever a player spawns (if allowed by the server)"
 //seta cl_spawn_point_model 0 "place a model at all spawn points" // still needs a model
 seta cl_spawn_point_particles 1 "pointparticles effect at all spawn points" // managed by effects-.cfg files
-seta cl_spawn_point_dist_min 1200
-seta cl_spawn_point_dist_max 1600
+seta cl_spawn_point_dist_max 1200 "maximum distance from which spawnpoint particles will be visible"
 
 freelook 1
-sensitivity 6
+sensitivity 3
 v_gamma 1
 viewsize 100
-bgmvolume 1
+bgmvolume 0.75
 // fullscreen 1024x768x32bit
 vid_bitsperpixel 32
 vid_fullscreen 1
@@ -166,19 +171,22 @@ seta cl_leanmodel_highpass1 0.2 "gun leaning pre-highpass averaging time"
 seta cl_leanmodel_highpass 0.2 "gun leaning highpass averaging time"
 seta cl_leanmodel_lowpass 0.05 "gun leaning lowpass averaging time"
 
+cl_maxfps_alwayssleep 0 // gives up some processing time to other applications each frame, default is 1 (not necessary since Xonotic caps FPS by default)
 cl_rollangle 0 // amount of view tilt when strafing, default is 2.0
 v_kicktime 0 // how long damage kicks of the view last, default is 0 seconds
 gl_polyblend 0 // whether to use screen tints, this has now been replaced by a better system in CSQC
 r_motionblur 0 // motion blur value, default is 0
 r_damageblur 0 // motion blur when damaged, default is 0 (removed in Xonotic)
+net_slist_queriespersecond 60 // to be reduced if any major issues arise (ping times increased etc.)
 
+// TODO: revisit bloom settings on the GL32 renderer!
 r_bloom_blur 4
-r_bloom_brighten 2
+r_bloom_brighten 1
 r_bloom_colorexponent 1
-r_bloom_colorscale 1
+r_bloom_colorscale 1.5
 r_bloom_colorsubtract 0.125
 r_bloom_resolution 320
-r_bloom_scenebrightness 0.85
+r_bloom_scenebrightness 1
 
 seta vid_x11_display ""        "xonotic-linux-*.sh will use this to start xonotic on an other/new X display"
 // This can have three possible settings:
@@ -193,15 +201,15 @@ seta cl_autotaunt 0 "automatically taunt enemies when fragging them"
 seta cl_voice_directional 1    "0 = all voices are non-directional, 1 = all voices are directional, 2 = only taunts are directional"
 seta cl_voice_directional_taunt_attenuation 0.5 "this defines the distance from which taunts can be heard"
 
-seta cl_hitsound 1 "play a hit notifier sound when you have hit an enemy, 1: same pitch 2: increase pitch with more damage 3: decrease pitch with more damage"
+seta cl_hitsound 1 "play a hit notifier sound when you have hit an enemy, 1: same pitch 2: decrease pitch with more damage 3: increase pitch with more damage"
 set cl_hitsound_antispam_time 0.05 "don't play the hitsound more often than this"
 seta cl_hitsound_min_pitch 0.75 "minimum pitch of hit sound"
 seta cl_hitsound_max_pitch 1.5 "maximum pitch of hit sound"
 seta cl_hitsound_nom_damage 25 "damage amount at which hitsound bases pitch off"
 
-seta cl_eventchase_spectated_change 1 "camera goes into 3rd person mode for a moment when changing spectated player"
+seta cl_eventchase_spectated_change 0 "camera goes into 3rd person mode for a moment when changing spectated player"
 seta cl_eventchase_spectated_change_time 1 "how much time the effect lasts when changing spectated player"
-seta cl_eventchase_death 1 "camera goes into 3rd person mode when the player is dead; set to 2 to active the effect only when the corpse doesn't move anymore"
+seta cl_eventchase_death 2 "camera goes into 3rd person mode when the player is dead; set to 2 to active the effect only when the corpse doesn't move anymore"
 seta cl_eventchase_frozen 0 "camera goes into 3rd person mode when the player is frozen"
 seta cl_eventchase_nexball 1 "camera goes into 3rd person mode when in nexball game-mode"
 seta cl_eventchase_distance 140 "final camera distance"
@@ -215,6 +223,8 @@ seta cl_eventchase_vehicle 1 "camera goes into 3rd person mode when inside a veh
 seta cl_eventchase_vehicle_viewoffset "0 0 80"
 seta cl_eventchase_vehicle_distance 250
 
+seta chase_front 0 "show frontal view when using chase cam"
+
 set _vehicles_shownchasemessage 0
 
 seta cl_particles_oldvortexbeam 0 "Uses the old v2.3 Vortex beam instead of the new beam, only works if server allows it (g_allow_oldvortexbeam 1)"
@@ -227,17 +237,35 @@ seta cl_damageeffect_lifetime 0.1 "how much a damage effect lasts, based on dama
 seta cl_damageeffect_lifetime_min 3 "minimum lifetime a damage effect may have"
 seta cl_damageeffect_lifetime_max 6 "maximum lifetime a damage effect may have"
 
-set cl_deathglow 0.8 "number of seconds during which dead bodies glow out"
+set cl_deathglow 2 "number of seconds during which dead bodies glow out"
+set cl_deathglow_min 0.5 "glow out up to this glow factor"
+
+set cl_respawn_ghosts_keepcolors 1 "if enabled respawn ghosts keep body colors"
+
+set _teams_available 0 "internal cvar, value is synced from the server to reflect currently available teams to join"
 
 cl_movement 1
 cl_movement_track_canjump 0
 cl_stairsmoothspeed 200
 
+alias wpeditor_menu "quickmenu file \"\" wpeditor.txt"
+
 alias g_waypointeditor_spawn         "wpeditor spawn"
 alias g_waypointeditor_remove        "wpeditor remove"
 alias g_waypointeditor_relinkall     "wpeditor relinkall"
 alias g_waypointeditor_saveall       "wpeditor saveall"
 alias g_waypointeditor_unreachable   "wpeditor unreachable"
+alias g_waypointeditor_help          "wpeditor"
+alias g_waypointeditor_menu          "wpeditor_menu"
+alias g_waypointeditor_spawn_x       "wpeditor spawn crosshair"
+alias g_waypointeditor_spawn_jump    "wpeditor spawn jump"
+alias g_waypointeditor_spawn_crouch  "wpeditor spawn crouch"
+alias g_waypointeditor_spawn_support "wpeditor spawn support"
+alias g_waypointeditor_hardwire      "wpeditor hardwire"
+alias g_waypointeditor_hardwire_x    "wpeditor hardwire crosshair"
+alias g_waypointeditor_lock          "wpeditor lock"
+alias g_waypointeditor_symorigin     "wpeditor symorigin $*"
+alias g_waypointeditor_symaxis       "wpeditor symaxis $*"
 
 alias navwaypoint_relink        g_waypointeditor_spawn
 alias navwaypoint_remove        g_waypointeditor_remove
@@ -279,12 +307,13 @@ r_shadow_realtime_world_importlightentitiesfrommap 0 // Whether build process us
 cl_decals_fadetime 5
 cl_decals_time 1
 seta cl_gunalign 3 "Gun alignment; 1 = center, 3 = right, 4 = left; requires reconnect"
+seta cl_gunoffset "0 0 0" "Adjust the weapon viewmodel position, applies only to your own first person view and is relative to cl_gunalign"
 seta cl_nogibs 0 "reduce number of violence effects, or remove them totally"
 seta cl_particlegibs 0 "simpler gibs"
-seta cl_gibs_damageforcescale 3.5 "force to push around gibs"
+seta cl_gibs_damageforcescale 1.5 "force to push around gibs"
 seta cl_gibs_lifetime 2.5 "average lifetime of gibs"
-seta cl_gibs_velocity_scale 1 "gib throw velocity force scale"
-seta cl_gibs_velocity_random 1 "gib throw velocity randomness scale"
+seta cl_gibs_velocity_scale 0.5 "gib throw velocity force scale"
+seta cl_gibs_velocity_random 2 "gib throw velocity randomness scale"
 seta cl_gibs_velocity_up 1 "extra z velocity for gibs"
 seta cl_gibs_ticrate 0.1 "ticrate for gibs"
 seta cl_gibs_sloppy 1 "sloppy gibs, may temporarily penetrate walls"
@@ -292,12 +321,12 @@ seta cl_gibs_avelocity_scale 1 "how much angular velocity to use on gibs"
 seta cl_casings 1 "enable or disable bullet casings"
 seta cl_casings_shell_time 30 "shell casing lifetime"
 seta cl_casings_bronze_time 10 "bullet casings lifetime"
-seta cl_casings_ticrate 0.1 "ticrate for casings"
+seta cl_casings_ticrate 0.03125 "ticrate for casings"
 seta cl_casings_sloppy 1 "sloppy casings, may temporarily penetrate walls"
 seta cl_projectiles_sloppy 1 "sloppy projectiles, may temporarily penetrate walls"
 cl_stainmaps 0
 cl_particles_smoke 1
-vid_gl20 1
+gl_vbo 1 // removed in GL32 renderer
 r_glsl_deluxemapping 1
 r_glsl_offsetmapping 0
 r_glsl_offsetmapping_lod 1
@@ -319,6 +348,8 @@ seta cl_announcer default "name of the announcer you wish to use from data/sound
 seta cl_announcer_antispam 2 "number of seconds before an announcement of the same sound can be played again"
 seta cl_announcer_maptime 3 "play announcer sound telling you the remaining maptime - 0: do not play at all, 1: play at one minute, 2: play at five minutes, 3: play both"
 
+set snd_cdautopause 0
+
 // aliases:
 alias +fire +attack
 alias -fire -attack
@@ -358,8 +389,6 @@ alias weapon_group_7 "impulse 7"
 alias weapon_group_8 "impulse 8"
 alias weapon_group_9 "impulse 9"
 alias weapon_group_0 "impulse 14" // cycles the superweapons
-// TODO: remove after 0.8.2. Default impulse commands for 0.8.1 servers
-exec weapons.cfg
 
 cl_curl_enabled 1
 cl_curl_maxdownloads 3
@@ -378,10 +407,10 @@ set g_waypointsprite_distancealphaexponent 2
 seta g_waypointsprite_edgefadealpha 0.5 "alpha multiplier near the edge"
 seta g_waypointsprite_edgefadedistance 50 "distance in virtual pixels from edge where to start fading"
 seta g_waypointsprite_edgefadescale 1 "scale multiplier near the edge"
-seta g_waypointsprite_edgeoffset_bottom 0 "offset of how close the waypoint can be to the bottom edge of the screen"
-seta g_waypointsprite_edgeoffset_left 0 "offset of how close the waypoint can be to the left edge of the screen"
-seta g_waypointsprite_edgeoffset_right 0 "offset of how close the waypoint can be to the right edge of the screen"
-seta g_waypointsprite_edgeoffset_top 0 "offset of how close the waypoint can be to the top edge of the screen"
+seta g_waypointsprite_edgeoffset_bottom 0.06 "offset of how close the waypoint can be to the bottom edge of the screen"
+seta g_waypointsprite_edgeoffset_left 0.06 "offset of how close the waypoint can be to the left edge of the screen"
+seta g_waypointsprite_edgeoffset_right 0.06 "offset of how close the waypoint can be to the right edge of the screen"
+seta g_waypointsprite_edgeoffset_top 0.06 "offset of how close the waypoint can be to the top edge of the screen"
 seta g_waypointsprite_fontsize 12
 seta g_waypointsprite_itemstime 2 "show waypoints to indicate that some important items (mega health, large armor) are about to respawn: 1 when spectating, 2 even playing in warmup stage"
 set g_waypointsprite_minscale 0.5
@@ -397,7 +426,7 @@ seta g_waypointsprite_turrets_onlyhurt 0 "only show the turret waypoint for a sh
 seta g_waypointsprite_uppercase 1
 seta g_waypointsprite_text 0 "Always show text instead of icons, setting this to 0 will still use text if the icon is unavailable"
 seta g_waypointsprite_iconsize 32
-seta g_waypointsprite_iconcolor 0 "Show the icon at natural color rather than the waypoint's color"
+seta g_waypointsprite_iconcolor 0 "saturation of the waypoint's color applied on top of the waypoint's icon, from 0 (natural icon's color) to 1"
 
 alias "g_waypointsprite_personal"      "impulse 30"
 alias "g_waypointsprite_personal_p"    "impulse 31"
@@ -427,12 +456,13 @@ seta cl_damagetext_size_max 16 "Damage text font size for large damage"
 seta cl_damagetext_size_max_damage 140 "How much damage is considered large"
 seta cl_damagetext_alpha_start "1" "Damage text initial alpha"
 seta cl_damagetext_alpha_lifetime "3" "Damage text lifetime in seconds"
+seta cl_damagetext_lifetime "-1" "Damage text lifetime, edit this if you wish for damage text to disappear before it fades out"
 seta cl_damagetext_velocity_screen "0 0 0" "Damage text move direction (screen coordinates)"
 seta cl_damagetext_velocity_world "0 0 20" "Damage text move direction (world coordinates relative to player's view)"
 seta cl_damagetext_offset_screen "0 -45 0" "Damage text offset (screen coordinates)"
-seta cl_damagetext_offset_world "0 0 0" "Damage text offset (world coordinates relative to player's view)"
-seta cl_damagetext_accumulate_range "30" "Damage text spawned within this range is accumulated"
+seta cl_damagetext_offset_world "0 25 0" "Damage text offset (world coordinates relative to player's view)"
 seta cl_damagetext_accumulate_alpha_rel "0.65" "Only update existing damage text when it's above this much percentage (0 to 1) of the starting alpha"
+seta cl_damagetext_accumulate_lifetime "-1" "Only update existing damage text when it is younger than this many seconds, negative always updates"
 seta cl_damagetext_friendlyfire "1" "0: never show for friendly fire, 1: when more than 0 damage, 2: always"
 seta cl_damagetext_friendlyfire_color "1 0 0" "Damage text color for friendlyfire"
 
@@ -446,7 +476,7 @@ seta cl_damagetext_2d_overlap_offset "0 -15 0" "Offset 2D damage text by this mu
 seta cl_damagetext_2d_close_range 125 "Always use 2D damagetext for hits closer that this"
 seta cl_damagetext_2d_out_of_view 1 "Always use 2D damagetext for hits that occurred off-screen"
 
-seta cl_vehicles_alarm 1 "Play an alarm sound when the vehicle you are driving is heavily damaged"
+seta cl_vehicles_alarm 0 "Play an alarm sound when the vehicle you are driving is heavily damaged"
 seta cl_vehicles_hud_tactical 1
 seta cl_vehicles_hudscale 0.5
 seta cl_vehicles_notify_time 15
@@ -464,11 +494,32 @@ seta menu_tooltips 1 "menu tooltips: 0 disabled, 1 enabled, 2 also shows cvar or
 set menu_picmip_bypass 0 "bypass texture quality enforcement based on system resources, not recommended and may cause crashes!"
 set menu_showboxes 0 "show item bounding boxes (debug)"
 set menu_cvarlist_onlymodified 0 "show only modified cvars in the cvar list"
-set menu_force_on_disconnection 1 "force to show the menu this number of seconds after you get disconnected (0 to disable)"
+
+set menu_no_music_nor_welcome 0 "don't play the menu music and skip the welcome announcer"
+
+seta menu_weaponarena ""
+
+seta menu_maxplayers 16 "maxplayers value when the menu starts a game"
+
+seta menu_mouse_absolute 1 "use the OS mouse pointer motion for menu"
+seta menu_mouse_speed 1 "speed multiplier for the mouse in the menu (does not affect in-game aiming)"
+set menu_use_default_hostname 1
+alias sethostname "set menu_use_default_hostname 0; hostname $*"
+
+set _menu_alpha "" // will be set by menu QC to the current fading of the menu, can be used by CSQC to fade items
+set _menu_initialized 0 "is 0 on first menu loading, 1 later"
+
+set _menu_credits_export 0 "set to 1 and restart the menu to export credits to credits.txt (menu will automatically reset to 0)"
+alias menu_credits_export "_menu_credits_export 1; menu_restart"
 
 r_textbrightness 0.2
 r_textcontrast 0.8
 r_textshadow 0
+
+// safe font defaults
+r_font_hinting 2
+r_font_disable_freetype 0
+r_font_size_snapping 4
 r_font_postprocess_blur 1
 r_font_postprocess_outline 1
 
@@ -523,12 +574,14 @@ seta accuracy_color2 "0 1 0"
 // for menu server list (eventually make them have engine support?)
 seta menu_slist_showfull 1 "show servers even if they are full and have no slots to join"
 seta menu_slist_showempty 1 "show servers even if they are no empty and have no opponents to play against"
+seta menu_slist_showlaggy 0 "show servers even if they are very high latency (see menu_slist_maxping)"
 seta menu_slist_modfilter "" // set to either: !modname or modname. modname of = means "same as we are running now".
 
 // other serverlist cvars
-seta menu_slist_categories 1
+seta menu_slist_categories 0
 seta menu_slist_categories_onlyifmultiple 1
 seta menu_slist_purethreshold 0
+seta menu_slist_maxping 300
 seta menu_slist_modimpurity 0
 seta menu_slist_recommendations 3
 seta menu_slist_recommendations_maxping 150
@@ -547,10 +600,6 @@ seta menu_slist_categories_CAT_OVERKILL_override ""
 seta menu_slist_categories_CAT_INSTAGIB_override ""
 seta menu_slist_categories_CAT_DEFRAG_override ""
 
-seta menu_weaponarena ""
-
-seta menu_maxplayers 16 "maxplayers value when the menu starts a game"
-
 // useful keybind to maximize the chat area temporarily
 // HUD code takes care of many of these now...
 //set _backup_con_chatvars_set 0
@@ -608,6 +657,7 @@ makesaved music_playlist_list0
 makesaved music_playlist_random0
 
 cl_netfps 60 // should match or be a multiple of sys_ticrate
+_cl_rate 40000 // fast adsl
 
 gl_texture_anisotropy 8
 seta gl_texturecompression 0 // FIXME the description is wrong - when this is 0, e.g. gl_texturecompression_sky still takes effect
@@ -618,12 +668,7 @@ gl_texturecompression_lightcubemaps 0
 gl_texturecompression_q3bsplightmaps 0
 gl_texturecompression_sky 1
 
-cl_maxfps 200
-
-seta menu_mouse_absolute 1 "use the OS mouse pointer motion for menu"
-seta menu_mouse_speed 1 "speed multiplier for the mouse in the menu (does not affect in-game aiming)"
-set menu_use_default_hostname 1
-alias sethostname "set menu_use_default_hostname 0; hostname $*"
+cl_maxfps 250
 
 seta cl_weaponpriority "vaporizer okhmg okrpc oknex vortex fireball mortar okmachinegun machinegun hagar rifle arc electro devastator crylink minelayer okshotgun shotgun shockwave hlac tuba blaster porto seeker hook" "weapon priority list"
 seta cl_weaponpriority_useforcycling 0 "when set, weapon cycling by the mouse wheel makes use of the weapon priority list (the special value 2 uses the weapon ID list for cycling)"
@@ -660,6 +705,18 @@ seta cl_cts_noautoswitch 0 "Prevent forced switching to new weapons in CTS"
 
 set cl_stripcolorcodes 0       "experimental feature (notes: strips ALL color codes from messages!)"
 
+// prints view position and orientation
+alias posview_camera_info "prvm_globalget client view_origin _posview_tmpcvar1; prvm_globalget client view_angles _posview_tmpcvar2; _posview_camera_info_2"
+alias _posview_camera_info_2 "echo view_origin ^7\"$_posview_tmpcvar1\"; echo view_angles ^7\"$_posview_tmpcvar2\""
+
+// prints csqcplayer position and orientation
+// NOTE: for some reason .angles contains only yaw, .v_angles only pitch, .v_angle_old both
+alias posview_csqcplayer_info "prvm_globalget client csqcplayer _posview_tmpcvar1; _posview_csqcplayer_info2"
+alias _posview_csqcplayer_info2 "prvm_edictget client $_posview_tmpcvar1 origin _posview_tmpcvar1; prvm_edictget client $_posview_tmpcvar1 v_angle_old _posview_tmpcvar2; _posview_csqcplayer_info3"
+alias _posview_csqcplayer_info3 "echo csqcplayer origin ^7\"$_posview_tmpcvar1\"; echo csqcplayer angles ^7\"$_posview_tmpcvar2\""
+set _posview_tmpcvar1 "0"
+set _posview_tmpcvar2 "0"
+
 // Demo camera
 set camera_enable              0       "Enables the camera for demo playback"
 set camera_free                0       "Free camera instead of chasing the player"
@@ -675,10 +732,10 @@ set camera_look_attenuation       8       "Attenuation of \"looking\" movements, only if ca
 set camera_forward_follows     1       "0: Move the camera forwards without changing altitude. 1: Move towards what you are looking"
 
 // "Gentle mode": show no blood
-seta cl_gentle 0               "client side gentle mode, master switch for removing both gibs and messages"
-seta cl_gentle_gibs 0          "client side gentle mode (only replaces gibs); when set to 1, white smoke replaces gibs, when set to 2, colorful clouds replace gibs"
-seta cl_gentle_messages 0      "client side gentle mode (only replaces frag messages/centerprints)"
-seta cl_gentle_damage 0        "client side gentle mode (only replaces damage flash); when set to 1, a white flash replaces the blood image, when set to 2, a randomly colored flash is used instead"
+seta cl_gentle 0                       "client side gentle mode, master switch"
+seta cl_gentle_gibs 0          "client side gentle mode for gibs (cl_nogibs); when set to 1, white smoke replaces gibs, when set to 2, colorful clouds replace gibs"
+seta cl_gentle_messages 0      "client side gentle mode for frag messages/centerprints"
+seta cl_gentle_damage 0                "client side gentle mode for damage flash (hud_damage); when set to 1, a white flash replaces the blood image, when set to 2, a randomly colored flash is used instead"
 
 set cl_jetpack_attenuation 2 "jetpack sound attenuation"
 
@@ -691,12 +748,10 @@ set cl_effects_lightningarc_drift_end 0.1
 set cl_effects_lightningarc_branchfactor_start 0.25
 set cl_effects_lightningarc_branchfactor_add 0.1
 
-set menu_updatecheck_getpacks 1 "get update packs from update server"
-
 seta cl_loddistance1 1024
 seta cl_loddistance2 3072
 seta cl_playerdetailreduction 4        "the higher, the less detailed player models are displayed (LOD)"
-seta cl_modeldetailreduction 1 "the higher, the less detailed certain map models are displayed (LOD)"
+seta cl_modeldetailreduction 1 "higher values will reduce the detail of non-player and non-weapon models (LOD)"
 
 seta cl_casings_maxcount 100 "maximum amount of shell casings (must be at least 1)"
 seta cl_gibs_maxcount 100 "maximum amount of gibs (must be at least 1)"
@@ -713,8 +768,10 @@ alias _gunalign_13 "cl_gunalign 4"
 alias _gunalign_14 "cl_gunalign 3"
 alias _gunalign_update "_gunalign_$v_flipped$menu_cl_gunalign"
 
-set _menu_alpha "" // will be set by menu QC to the current fading of the menu, can be used by CSQC to fade items
-set _menu_initialized 0 "is 0 on first menu loading, 1 later"
+set cl_shootfromfixedorigin "" "dummy cvar, value is synced from the server's g_shootfromfixedorigin setting"
+
+set cl_jumpspeedcap_min "" "dummy cvar, value is synced from the server's sv_jumpspeedcap_min setting"
+set cl_jumpspeedcap_max "" "dummy cvar, value is synced from the server's sv_jumpspeedcap_max setting"
 
 seta cl_noantilag 0 "turn this on if you believe antilag is bad"
 
@@ -724,14 +781,15 @@ set cl_accuracy_data_receive 0 "1 receive weapon accuracy data statistics at the
 set developer_csqcentities 0 "csqc entity spam"
 
 seta cl_forceplayermodels 0 "make everyone look like your own model (requires server to have sv_defaultcharacter 0)"
-seta cl_forceplayercolors 0 "make enemies look like your own color (requires server to have sv_defaultcharacter 0); set it to 2 to enable it even in teamplay (only when there is exactly one enemy team)"
+seta cl_forceplayercolors 0 "make enemies look like your own color (requires server to have sv_defaultcharacter 0); 1: in all game modes without teams (if cl_forceuniqueplayercolors is 0), 2: always, 3: only in Duel, 4: only in game modes with 2 teams, 5: in team games and Duel"
+seta cl_forceuniqueplayercolors 0 "assign each enemy unique colors in all game modes without teams except duel (requires server to have sv_defaultcharacter 0)"
 seta cl_forcemyplayermodel "" "set to the model file name you want to show yourself as (does not affect how enemies look with cl_forceplayermodels)"
 seta cl_forcemyplayerskin 0 "set to the skin number you want to show yourself as (does not affect how enemies look with cl_forceplayermodels)"
 seta cl_forcemyplayercolors 0 "set to the color value (encoding is same as _cl_color) for your own player model (ignored in teamplay; does not affect how enemies look with cl_forceplayermodels)"
 seta cl_movement_errorcompensation 1 "try to compensate for prediction errors and reduce perceived lag"
 seta cl_movement_intermissionrunning 0 "keep velocity after the match ends, players may appear to continue running while stationary"
 
-seta cl_viewmodel_alpha 0 "Maximum transparency of the view model, set to 0 to disable"
+seta cl_viewmodel_alpha 1 "Maximum opacity of the view model, use a value between 0 and 1"
 
 set debugdraw 0
 set debugdraw_filter ""
@@ -741,6 +799,9 @@ set debugtrace 0
 // FIXME remove this when the engine feature FINALLY MAYBE works
 r_glsl_skeletal 0
 
+// FIXME engine description mentions the default should be 1, but sets it to 2 anyway, breaks some maps
+r_useportalculling 1
+
 // animation tuning
 set cl_lerpanim_maxdelta_framegroups 0.05 // must be faster than fastest weapon refire
 set cl_lerpanim_maxdelta_server 0.1 // must be slower than slowest server controlled anim (e.g. animinfo stuff)
@@ -749,7 +810,7 @@ set cl_lerpanim_maxdelta_server 0.1 // must be slower than slowest server contro
 seta cl_autodemo_delete_keeprecords 0 "when 1, records with a newly made race/cts demo are kept even if cl_autodemo_delete is used to delete demos"
 
 // freeze camera
-set cl_lockview 0 "when 1, the camera does not move any more"
+set cl_lockview 0 "when 1, the camera does not move any more; when 2, you can only control camera angles"
 
 // we now use mastervolume
 volume 1
@@ -792,14 +853,9 @@ r_shadow_glossintensity 1
 r_fullbright_directed 1
 
 r_water_hideplayer 1 // hide your own feet/player model in refraction views, this way you don't see half of your body under water
-r_water_refractdistort 0.019
-
-set cl_rainsnow_maxdrawdist 2048
+r_water_refractdistort 0.003
 
-// safe font defaults
-r_font_hinting 1
-r_font_disable_freetype 0
-r_font_size_snapping 4
+set cl_rainsnow_maxdrawdist 1000
 
 // database management
 set cl_db_saveasdump 0 "write client.db in dump format (loads slower, easier to read/parse)"
@@ -807,7 +863,10 @@ set cl_db_saveasdump 0 "write client.db in dump format (loads slower, easier to
 // uid2name
 seta cl_allow_uid2name -1 "-1 = ask if the player wants to disable/enable this feature, 0 = disable, 1 = enable uid2name (allows showing your name in race rankings for instance)"
 seta cl_allow_uidtracking 1 "-1 = ask if the player wants to disable/enable this feature, 0 = disable, 1 = enable uid tracking (allows associating your data with your player ID)"
-// FIXME set to -1 before release, once we have a dialog for this!
+seta cl_allow_uidranking 1 "0 = disable, 1 = enable uid ranking (allows statistics like elo to rank you in leaderboards)"
+
+// terms of service
+seta _termsofservice_accepted 0
 
 // polygonoffset for submodel SUCKS SUCKS SUCKS (only a hack for quake1, we don't need that)
 r_polygonoffset_submodel_offset 0
@@ -826,6 +885,9 @@ scr_loadingscreen_scale 999
 scr_loadingscreen_scale_base 1
 scr_loadingscreen_scale_limit 2
 
+// in-game menu
+seta menu_gamemenu 1 "1: show in-game menu when esc is pressed; 0: show main menu when esc is pressed"
+
 // other config files
 exec effects-normal.cfg
 exec crosshairs.cfg
@@ -844,19 +906,34 @@ exec hud_luma.cfg
 // enable menu syncing - must be after files that call menu_sync on startup - see alias menu_sync ""
 alias menu_sync "menu_cmd sync"
 
-seta cl_items_nofade 0
-seta cl_animate_items 1
+seta cl_items_animate 7 "1 enables bobbing and spinning of 3d items, 2 enables fading out of despawning loot items, 4 enables glowing particles for despawning loot items; add the numbers together to enable that combination."
+seta cl_items_fadedist 500 "distance, relative to the server's g_items_maxdist, at which far away items will start to fade out; 0 disables fading effect"
+seta cl_items_vehicle_alpha 0.75 "Alpha of items seen from inside a vehicle"
+seta cl_items_vehicle_color "2 0.5 0.5" "Colour of items seen from inside a vehicle"
 seta cl_ghost_items 0.45 "enable ghosted items (when between 0 and 1, overrides the alpha value)"
 seta cl_ghost_items_color "-1 -1 -1" "color of ghosted items (colormod format: 0 0 0 leaves the color unchanged, negative values allowed)"
 seta cl_simple_items 0 "enable simple items (if server allows)"
 set cl_simpleitems_postfix "_luma" "posfix to add fo model name when simple items are enabled"
-set cl_fullbright_items 0 "enable fullbright items (if server allows, controlled by g_fullbrightitems)"
 set cl_weapon_stay_color "2 0.5 0.5" "Color of picked up weapons when g_weapon_stay > 0 (colormod format: 0 0 0 leaves the color unchanged, negative values allowed)"
 set cl_weapon_stay_alpha 0.75 "Alpha of picked up weapons when g_weapon_stay > 0"
 
+seta cl_arcbeam_simple 1 "use a simplified beam for the Arc instead of accurate flexible poly drawing (improves performance and visuals slightly)"
+seta cl_arcbeam_teamcolor 1 "color the Arc beam based on the player's colors"
+
+seta cl_grapplehook_alpha 1 "opacity of the grappling hook chain"
+
+seta cl_vaporizerbeam_particle 0 "use a legacy particle effect for the vaporizer beam instead of a rendered poly, may not reflect accurate colors"
+seta cl_vaporizerbeam_lifetime 0.8 "time it takes for the vaporizer beam to fade completely"
+seta cl_vaporizerbeam_colorboost 0.7 "saturation of the vaporizer beam's color based on the player color"
+
 seta cl_showspectators 0 "Show who's spectating you if server has sv_showspectators enabled"
 
+set cl_rollkillspeed 10
+
 // Facility for config.cfg use ONLY.
 // Interpreted in post-config.cfg.
 seta menu_forced_saved_cvars "" "These cvars will always be saved, despite engine/Xonotic cvar saving status"
 set menu_reverted_nonsaved_cvars "" "These cvars are currently marked as saved in the flags, but have been reverted and won't stay saved. INTERNAL USE ONLY."
+
+// Avoid perf problems near '0 0 0'; `set` without a description is because only current DP has this engine cvar
+set cl_areagrid_link_SOLID_NOT 0