// Xonotic version (formatted for machines) // used to determine if a client version is compatible // this doesn't have to be bumped with every release // bump when clients become incompatible or any other perfectly good reason // (e.g. game data incompatibility, engine version incompatibility, etc // note: this automatically filters the server browser, clients of the new // version won't see old servers, and clients of the old version won't see new // servers either // // e.g. Xonotic 1.5.1 RC1 will be 15101 set g_xonoticversion git "Xonotic version (formatted for humans)" gameversion 802 // 0.8.2 gameversion_min 0 // git builds see all versions gameversion_max 65535 // git builds see all versions // compatibility guideline: // version a.b.c = a0b0c // gameversion_min = a0(b-1)00 // show servers of the previous "line" // gameversion_max = a0(b+1)99 // show servers of the next "line" // so, for a given gameversion, _min and _max calculate as follows: // gameversion_min = (gameversion / 100) * 100 - 100 // gameversion_max = (gameversion / 100) * 100 + 199 seta g_configversion 0 "Configuration file version (used to upgrade settings) 0: first run, or previous start was <2.4.1 Later, it's overridden by config.cfg, version ranges are defined in config_update.cfg" // FIXME i think this is client cvar but it's also marked BADCVAR in server // merge lightmaps up to 2048x2048 textures mod_q3bsp_lightmapmergepower 4 exec defaultClient.cfg exec defaultServer.cfg set ekg 0 "Throw huge amounts of gibs" locs_enable 0 pausable 0 set samelevel 0 "when 1, always play the same level over and over again" // misc fs_empty_files_in_pack_mark_deletions 1 // makes patches able to delete files // singleplayer campaign set g_campaign 0 set g_campaign_forceteam 0 "Forces the player to a given team in campaign mode, 1 = red, 2 = blue, 3 = yellow, 4 = pink" seta g_campaign_name "xonoticbeta" seta g_campaign_skill -1 // -2 easy -1 medium 0 hard alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0" alias singleplayer_continue "set scmenu_campaign_goto -1" alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu" // FIXME this is indeed ignored - remove? // so it can be stuffcmd-ed still set cl_gravity 800 "but ignored anyway" // we must change its default from 1.0 to 1 to be consistent with menuqc set slowmo 1 // ticrate //sys_ticrate 0.0166667 // 60fps. This would be ideal, but kills home routers. sys_ticrate 0.0333333 // Use 30fps instead. // FIXME this is client i think? // Audio track names (for old-style "cd loop NUMBER" usage) set _cdtrack_first "1" alias _cdtrack_0 "g_cdtracks_remaplist \"$g_cdtracks_remaplist $1\"" alias _cdtrack_1 "g_cdtracks_remaplist \"$1\"; set _cdtrack_first 0" alias _cdtrack "_cdtrack_$_cdtrack_first $2" set g_cdtracks_remaplist "" exec cdtracks.cfg unset _cdtrack_first unalias _cdtrack_0 unalias _cdtrack_1 unalias _cdtrack cd remap $g_cdtracks_remaplist set sv_intermission_cdtrack "" set g_cdtracks_dontusebydefault "rising-of-the-phoenix" seta menu_cdtrack "rising-of-the-phoenix" // these entities are not referenced by anything directly, they just represent // teams and are found by find() when needed prvm_leaktest_ignore_classnames "ctf_team dom_team tdm_team" prvm_backtraceforwarnings 1 set _urllib_nextslot 0 "temp variable" // FIXME indeed, grep says it does nothing set the_goggles "they do nothing" "but the googles, they do" // FIXME some of these are used in qcsrc/common though most of them are probably server only set spawn_debug 0 "use all spawns one by one, then abort, to verify all spawnpoints" set loddebug 0 "force this LOD level" set spawn_debugview 0 "display spawnpoints and their rating on spawn to debug spawnpoint rating calculation" // FIXME not used? set g_mutatormsg "" "mutator message" set speedmeter 0 "print landing speeds" set developer_csqcentities 0 "csqc entity spam" set waypoint_benchmark 0 "quit after waypoint loading to benchmark bot navigation code" set g_debug_bot_commands 0 "print scripted bot commands before executing" set g_debug_defaultsounds 0 "always use default sounds" // campaign internal, set when loading a campaign map1G set _campaign_index "" set _campaign_name "" set _campaign_testrun 0 "To verify the campaign file, set this to 1, then start the first campaign level from the menu. If you end up in the menu again, it's good, if you get a QC crash, it's bad." // define some engine cvars that we need even on dedicated server set r_showbboxes 0 // FIXME maybe we have that workaround now? not used // we REALLY need the end pos nudging DP bug workaround for trace-to-end-of-solid to work collision_endposnudge 1 // support Q1BSP maps mod_q1bsp_polygoncollisions 1 // match q3map2 mod_obj_orientation 0 // UTF-8 utf8_enable 1 // this is mainly for _decal entities (their shaders should use "polygonoffset" shader parameter) - this is "good enough" as it seems, but smaller than the decals one so these don't zfight decals mod_q3shader_default_polygonoffset -14 mod_q3shader_default_polygonfactor 0 // random charge stuff :P set g_weapon_charge_colormod_hdrmultiplier 4 "how much to multiply the colors by in the colormod vector" set g_weapon_charge_colormod_red_half 0 set g_weapon_charge_colormod_green_half 0.5 set g_weapon_charge_colormod_blue_half 1 set g_weapon_charge_colormod_red_full 1 set g_weapon_charge_colormod_green_full -0.5 set g_weapon_charge_colormod_blue_full -1 // session locking locksession 1 // create this cvar in case the engine did not set snd_soundradius 1200 set snd_softclip 1 set snd_maxchannelvolume 0 set snd_streaming_length 2 seta menu_snd_sliderscale 2 "0: decibels; 1: linear percent; 2: 0..10 scale; 3: slider size percent" seta menu_snd_attenuation_method 1 "Use exponential instead of linear falloff for sound attenuation" alias snd_attenuation_method_0 "set menu_snd_attenuation_method 0; set snd_soundradius 1200; set snd_attenuation_exponent 1; set snd_attenuation_decibel 0" // Quake default alias snd_attenuation_method_1 "set menu_snd_attenuation_method 1; set snd_soundradius 2400; set snd_attenuation_exponent 4; set snd_attenuation_decibel 0" // nice approximation for method 2 alias snd_attenuation_method_2 "set menu_snd_attenuation_method 2; set snd_soundradius 1200; set snd_attenuation_exponent 0; set snd_attenuation_decibel 10" // warning: plays sounds within up to 6000qu snd_attenuation_method_1 // declare the channels we use seta snd_channel8volume 1 "QuakeC controlled background music volume" seta snd_channel9volume 1 "QuakeC controlled ambient sound volume" // sound randomization snd_identicalsoundrandomization_time -0.1 snd_identicalsoundrandomization_tics 1 // FIXME contains both client and server exec gamemodes.cfg // load console command aliases and settings exec commands.cfg // ... and now that everything is configured/aliased, we can do some things: // Change g_start_delay based upon if the server is local or not. if_client set g_start_delay 0 "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server" if_dedicated set g_start_delay 15 "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server" // enable menu syncing alias menu_sync "menu_cmd sync" set sv_join_notices "" set sv_join_notices_time 15 seta cl_items_nofade 0 seta cl_animate_items 1 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, 0 0 0 leaves the color unchanged" set sv_simple_items 1 "allow or forbid client use of simple items" 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" set cl_weapon_stay_alpha 0.75 "Alpha of picked up weapons when g_weapon_stay > 0" set sv_showspectators 1 "Show who's spectating who in the player info panel when client has cl_showspectators on. Shouldn't be used on competitive servers, also disable when watching a suspected cheater" seta cl_showspectators 0 "Show who's spectating you if server has sv_showspectators enabled" // 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."