]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
TODO 3 done. Cvared everything and added better defaults. Still not ready yet.
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 2 May 2010 14:04:31 +0000 (14:04 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 2 May 2010 14:04:31 +0000 (14:04 +0000)
From: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10127 d7cf8633-e32d-0410-b094-e92efae38249

darkplaces.txt
view.c

index cc706eed3a007676f3fa2a388716e8daf22c834e..33227c181fc9a1f80e321ec64c42a863d98fe37a 100644 (file)
-DarkPlaces engine readme : updated 20070311:
-
-About the DarkPlaces glquake engine:
-DarkPlaces engine was started because I was unsatisfied with the other engines available soon after the quake source release (which did little more than add some flashy effects), and craved modding features for my DarkPlaces mod, and wanted some real enhancements to the online gaming experience as well.
-
-DarkPlaces engine is the result, I hope everyone likes it.
-
-I am not very good at writing documentation, so this readme is organized as a feature list, with information on each feature, I hope it is still adequate documentation.
-
-If you have any suggestions for features to document in detail in the readme or any other questions/comments/bugreports/suggestions/etc, send me an email with the address lordhavoc ghdigital com (add @ and . characters as appropriate)
-
-
-
-
-Input Tips:
-If mouse movement is jerky but framerate is high, try typing "gl_finish 1" (without quotes) into the console (makes cpu wait for gpu before ending frame, which gives lousy input drivers a chance to catch up).
-
-
-
-Graphics Tips:
-Visit the Color Control submenu of Options, it's near the top, fiddle with gamma (or grey level if using the color levels mode) until the grey box surrounding the white/black dither pattern matches up with the grey you see while looking at the dither from a distance, this will calibrate quake to look approximately as id Software intended, and ensure everyone sees it the same. Note: Different resolutions may be different intensities depending on monitor. Note2: ATI Radeon Catalyst 3.10 drivers seem to have a weird gamma limiting 'feature' which rejects gamma settings it doesn't like, feel free to complain to ATI about this if it gets in your way (it probably will).
-
-Visit the Effects Options submenu of Options, and check out the options.
-
-
-
-Networking tips:
-Visit the Player Setup submenu of the Multiplayer menu to configure your network speed (as well as the usual settings from quake like name and colors).
-
-To host a server behind a router/firewall, simply set up a port forward on the UDP port you are running the server on (default is 26000), to forward incoming UDP packets on that port to the server, then people can connect.
-
-To make your server show up on the server browser (in the Join Game menu), either set sv_public 1 in the console, or use the multiplayer new game menu and check the Public server checkbox.
-
-
-
-Supported games:
-Quake : -quake, this is active by default, gamedirs: id1
-Quake: Scourge of Armagon : -hipnotic or hipnotic in executable name or path, gamedirs: hipnotic, id1
-Quake: Dissolution of Eternity : -rogue or rogue in executable name or path, gamedirs: rogue, id1
-Nexuiz : -nexuiz or nexuiz in executable name or path, gamedirs: data
-Nehahra : -nehahra or nehahra in executable name or path, gamedirs: nehahra, id1
-GoodVsBad2 : -goodvsbad2 or gvb2 in executable name or path, gamedirs: rts
-BattleMech : -battlemech or battlemech in executable name or path, gamedirs: base
-PrydonGate : -prydon or prydon in executable name or path, gamedirs: prydon
-These games are considered officially supported, if any problems are seen, please make sure you are running the latest version of the game and engine, if you are, please report the problem.
-
-
-
-Graphics features:
-Redesigned effects including smoke, blood, bubbles and explosions.
-Better looking dynamic lights.
-External texture support (see Replacement Content section below)
-Realtime bumpmapped lighting/shadowing support (r_shadow_realtime_world cvar) with many options.  (note: very slow if you do not have .rtlights files installed, be sure to get some from dpmod or search on the web for rtlights files)
-.rtlights file support (improves performance/appearance of realtime lighting)
-.rtlights file editing (see r_editlights_help in game)
-Alpha blended sprites (instead of glquake's masked sprites).
-Interpolated entity movement and animations (both models and sprites).
-Overbright and fullbright support on walls and models (like winquake).
-Colormapping support on any q1 model (like winquake).
-Fog (set with "fog density red green blue" command)
-Skybox (loadsky "mtnsun_" will load "env/mtnsun_ft.tga" and so on).
-Sky rendering improved (no more glquake distortion).
-Sky polygons obscure geometry just like in winquake.
-Color calibration menu to ensure a proper Quake experience.
-Improved model lighting (directional shading).
-No messy .ms2 model mesh files (no glquake dir anymore either).
-New improved crosshair (team color coded).
-Improved image loading (smoother menus and such).
-Ability to disable particle effects (cl_particles* cvars).
-Decals (cl_decals cvar to enable).
-Stainmaps (cl_stainmap cvar to enable).
-Sorted transparent stuff to render better.
-Improved multitexture support (r_textureunits (1-4 supported), needs gl_combine 1 because of overbright)
-Improved chase cam (chase_active 1 no longer goes into walls)
-More configurable console background (scr_conalpha and scr_conbrightness)
-Optional fullbrights (r_fullbrights 0/1 followed by r_restart)
-Dynamic Farclip (no distance limits in huge maps)
-Improved gl_flashblend (now renders a corona instead of an ugly blob)
-DynamicLight coronas (more realism)
-Transparent statusbar (sbar_alpha) that does not block your view as much.
-No 8bit texture uploads (fixes 'green' walls in the distance).
-Fixed view blends (glquake was quite broken).
-JPEG texture support using libjpeg (Thanks Elric)
-Video Options, Color Control, and Effects Options menus added, and more options.
-.dlit file support (produced by hmap2 -light) for fast per-pixel lighting without shadowing.
-pointfile command is improved (for leak finding in maps when you have a .pnt file from a failed qbsp compile)
-configurable particle effects (effectinfo.txt, can be reloaded at any time by cl_particles_reloadeffects command for quick testing)
-fixed envmap command (makes a skybox of the current scene)
-
-
-
-Sound features:
-Ogg and wav file overrides for cd tracks (example: sound/cdtracks/track01.ogg or .wav) (Thanks Elric)
-Streaming ogg sounds to save memory (Ogg sounds over a certain size are streamed automatically) (Thanks Elric)
-Ogg Vorbis sound support (all .wav sounds look for .ogg if the .wav is missing, useful for making mods smaller, particularly useful for cd tracks) (Thanks Elric)
-Stereo sound file support (useful for cd tracks)
-7.1 surround sound mixing support (snd_channels cvar selects how many to use, default 2 for stereo)
-
-
-
-Client features:
-showtime cvar.
-showdate cvar.
--benchmark option to run automated timedemo benchmarks (-benchmark demo1 does +timedemo demo1 and quits immediately when finished)
-timedemo automatically puts results in gamedir/benchmark.log
-Slightly improved aiming on quake servers (does not support proquake aiming).
--sndspeed samplerate (default: 44100, quake used 11025)
-snd_swapstereo cvar (for people with backwards SB16 sound cards)
-Saves video settings to config and restores them properly
-Ability to change video settings during game (video options menu or vid_* cvars)
-showfps cvar.
-Sends 20fps network packets to improve modem play instead of one per frame. (sys_ticrate controls network framerate)
-Allow skin colormaps 14 and 15 (freaky :)
-Longer chat messages.
-No more 72fps limit, cl_maxfps lets you decide.
-Support for more mouse buttons (mouse1-mouse16, mwheelup/mwheeldown are aliases to mouse4 and mouse5).
-Server browser for public (sv_public 1) darkplaces servers as well as quakeworld servers.
-log_file cvar to log console messages to a file.
-condump command to dump recent console history to a file.
-PK3 archive support with compression support using zlib (Thanks Elric)
-maps command lists installed maps
-tab completion of map names on map/changelevel commands
-tab completion of rcon commands
-.ent file replacement allows you to modify sky and fog settings on a per-map basis (use sv_saveentfile command in singleplayer and then edit the worldspawn entity in a text editor, for example setting "sky" "mtnsun_" to load the skybox mtnsun_ in your favorite maps, or "fog" "0.03 0.2 0.2 0.2" to put fog in the level)
-Switchable bindmaps (in_bind command allows you to bind keys in one of 8 bindmaps, 0-7, in_bindmap command allows you to select two active bindmaps to use at once, ones missing in the first are checked in the second)
-Options menu "Reset to Defaults" option works better than in Quake
-cvarlist and cmdlist commands
-improved tab completion of commands and cvars, with default value and description listed
-curl command (downloads a URL to a pk3 archive and loads it)
-fs_rescan command (allows you to load a newly installed pak/pk3 archive without quitting the game)
-saveconfig command (allows you to save settings before quitting the game, mostly useful when debugging the engine if you expect it to crash)
-gamedir command to change current mod (only works while disconnected).
-QuakeWorld support.
-ProQuake message macros (%l location, %d last death location, %h health, %a armor, %x rockets, %c cells, %t current time, %r rocket launcher status (I need RL, I need rockets, I have RL), %p powerup status (quad pent ring), %w weapon status (SSG:NG:SNG:GL:RL:LG).
-Support for ProQuake .loc files (locs/e1m1.loc or maps/e1m1.loc)
-Support for QIZMO .loc files (maps/e1m1.loc)
-Ingame editing of .loc files using locs_* commands (locs_save saves a new .loc file to maps directory)
-bestweapon command (takes a number sequence like bestweapon 87654321, digits corresponding to weapons, first ones are preferred over last ones, only uses weapons that have 1 ammo or more)
-ls and dir commands to list files in the Quake virtual filesystem (useful to find files inside paks)
-toggle command allows you to use a single bind to toggle a cvar between 0 and 1
-slowmo cvar allows you to pause/slow down/speed up demo playback (try using these binds for example: bind f1 "slowmo 0";bind f2 "slowmo 0.1";bind f3 "slowmo 1")
-AVI video recording using builtin I420 codec (bind f4 "toggle cl_capturevideo"), with automatic creation of sequentially numbered avi files for each recording session.  (WARNING: HUGE files, make sure you have several gigabytes of disk space available!  and it is only recommended during demo playback!  You will probably want to reencode these videos using VirtualDub, mencoder, or other utilities before posting them on a website)
-ping display in scoreboard, even on Quake servers (on DarkPlaces servers it also shows packet loss)
-
-
-
-Server features:
-Allows clients to connect through firewalls (automatic feature)
-Works behind firewalls unlike NetQuake (must port forward UDP packets on the relevant port from the firewall to the server, as with any game)
-More accurate movement and precise aiming.
-255 player support.
-sv_cheats cvar controls cheats (no longer based on deathmatch).
-slowmo cvar controls game speed.
-No crash with the buggy 'teleport train' in shub's pit.
-Allow skin colormaps 14 and 15 (freaky :)
-sys_ticrate applies to listen (client) servers as well as dedicated.
-sv_public cvar to advertise to master server.
-log_file cvar to log console messages to a file.
-condump command to dump recent console history to a file.
-PK3 archive support with compression support using zlib (Thanks Elric)
-Option to prevent wallhacks from working (sv_cullentities_trace 1).
-Selectable protocol (sv_protocolname QUAKE for example allows quake clients to play, default is sv_protocolname DP7 or a later protocol)
-Automatic file downloads to DarkPlaces clients.
-Ability to send URLs to DarkPlaces clients to download pk3 archives needed to play on this server.
-rcon support for remote administration by trusted clients with matching rcon_password, or external quakeworld rcon tools
-prvm_edictset, prvm_global, prvm_globals, and prvm_globalset commands aid in QuakeC debugging
-prvm_printfunction function prints out the QuakeC assembly opcodes of a function, can be useful if you can't decompile the progs.dat file
-prvm_profile command gives call count and estimated builtin-function cost
-sys_colortranslation cvar controls processing of Quake3-style ^ color codes in terminal output, default is white text on windows and ANSI color output on Linux/Mac OSX
-sys_specialcharactertranslation controls processing of special Quake characters to make colored names more readable in terminal output
-
-
-
-Modding features:
-HalfLife map support (place your HalfLife wads in quake/id1/textures/ or quake/MODDIR/textures/ as the maps need them)
-Larger q1 and hl map size of +-32768 units.
-Colored lighting (.lit support) for q1 maps.
-Q3 map support (no shaders though), with no limits.
-Q2 and Q3 model support, with greatly increased limits (256 skins, 65536 frames, 65536 vertices, 65536 triangles).  (Note: md2 player models are not supported because they have no skin list)
-Optimized QuakeC interpreter so mods run faster.
-Bounds checking QuakeC interpreter so mods can't do naughty things with memory.
-Warnings for many common QuakeC errors.
-Unprecached models are now a warning (does not kill the server anymore).
-External texture support (see dpextensions.qc DP_GFX_EXTERNALTEXTURES).
-Fog ("fog" key in worldspawn, same parameters as fog command).
-.spr32 and halflife .spr sprites supported.  (Use Krimzon's tool to make spr32, and lhfire can render directly to spr32, or just use replacement textures on .spr).
-Skybox ("sky" key in worldspawn, works like loadsky and quake2).
-Stereo wav sounds supported.
-Ogg Vorbis sounds supported. (Thanks Elric)
-ATTN_NONE sounds are no longer directional (good for music).
-play2 sound testing command (ATTN_NONE variant of play).
-r_texturestats and memstats and memlist commands to give memory use info.
-Lighting on sprites (put ! anywhere in sprite filename to enable).
-More r_speeds info (now a transparent overlay instead of spewing to console).
-Supports rotating bmodels (use avelocity, and keep in mind the bmodel needs the "origin" key set to rotate (read up on hipnotic rotation support in your qbsp docs, or choose another qbsp if yours does not support this feature), or in q3 maps an origin brush works).
-More sound channels.
-More dynamic lights (32 changed to 256).
-More precached models and sounds (256 changed to 4096).
-Many more features documented in dpextensions.qc. (bullet tracing on models, qc player input, etc)
-
-
-
-Replacing Content:
-Formats supported: tga (recommended), png (loads very slowly), jpg (loads slowly), pcx, wal, lmp
-
-Usually you want to put replacement content in either id1/ or another directory such as pretty/ inside your quake directory, in DarkPlaces you can run multiple -game options at once (such as -game ctf -game pretty -game dpmod to have texture overrides from pretty, maps from ctf, and gameplay from dpmod) or multiple gamedirs specified with the gamedir console command (gamedir ctf pretty dpmod).
-
-All texture layers are optional except diffuse (the others are NOT loaded without it)
-
-Replacing skins:
-progs/player.mdl_0.tga - diffuse
-progs/player.mdl_0_norm.tga - normalmap (can have alpha channel with bumpmap height for offsetmapping/reliefmapping)
-progs/player.mdl_0_bump.tga - bumpmap (not loaded if normalmap is present)
-progs/player.mdl_0_glow.tga - glow map (use _luma if tenebrae compatibility is a concern)
-progs/player.mdl_0_luma.tga - alternate tenebrae-compatible name for glow map (use one or the other)
-progs/player.mdl_0_pants.tga - pants image, greyscale and does not cover the same pixels as the diffuse texture (this is additive blended ('Screen' mode in photoshop) ontop of the diffuse texture with a color tint according to your pants color)
-progs/player.mdl_0_shirt.tga - shirt image, same type as pants
-
-Replacing textures in specific maps:
-textures/e1m1/ecop1_6.tga
-textures/e1m1/ecop1_6_norm.tga
-textures/e1m1/ecop1_6_bump.tga
-textures/e1m1/ecop1_6_glow.tga
-textures/e1m1/ecop1_6_luma.tga
-textures/e1m1/ecop1_6_pants.tga - pants and shirt layers are possible on bmodel entities with quakec modifications to set their .colormap field
-textures/e1m1/ecop1_6_shirt.tga
-
-Replacing textures in all maps:
-textures/quake.tga
-textures/quake_norm.tga
-textures/quake_bump.tga
-textures/quake_glow.tga
-textures/quake_luma.tga
-textures/quake_pants.tga
-textures/quake_shirt.tga
-
-Replacing hud and menu pictures:
-gfx/conchars.tga
-
-Replacing models:
-same as in Quake, you can replace a model with exactly the same file name (including file extension), so for example an md3 player model has to be renamed progs/player.mdl, and a small box of shells in md3 format has to be renamed maps/b_shell0.bsp
-
-How to make .skin files for multiple skins on a Quake3 (md3) or DarkPlacesModel (dpm) model:
-These files use the same format as the ones in Quake3 (except being named modelname_0.skin, modelname_1.skin, and so on), they specify what texture to use on each part of the md3 (or zym or dpm or psk) model, their contents look like the following...
-torso,progs/player_default.tga                    says that the model part named "torso" should use the image progs/player_default.tga
-gun,progs/player_default.tga                      says that the model part named "gun" should use the image progs/player_default.tga
-muzzleflash,progs/player_default_muzzleflash.tga  says that the model part named "muzzleflash" should use the image progs/player_default_muzzleflash.tga - this is useful for transparent skin areas which should be kept separate from opaque skins
-tag_head,                                         says that the first tag is named "tag_head" - this is only useful for QuakeC mods using segmented player models so that they can look up/down without their legs rotating, don't worry about it as a user
-tag_torso,                                        second tag name
-tag_weapon,                                       third tag name
-
-How to install a soundtrack in ogg format
-These files must be in ogg or wav format, and numbers begin at 002 if you wish to replace (or install) the Quake cd music - since track 001 was the Quake data track.</p>
-quake/id1/sound/cdtracks/track002.ogg             replacement track for "cd loop 2"
-quake/id1/sound/cdtracks/track003.ogg             replacement track for "cd loop 3"
-
-Example list of filenames:
-quake/id1/progs/player.mdl                        replaces the player model)
-quake/id1/progs/player.mdl_0.skin                 text file that specifies textures to use on an md3 model)
-quake/id1/progs/player_default.tga                texture referenced by the .skin, make sure that any special parts of this are black, like pants should be black here otherwise you get pink pants when you use a red color ingame)
-quake/id1/progs/player_default_pants.tga          white pants area of the skin, this is colored by the engine according to your color settings, additive blended (which is called "Screen" mode in Photoshop if you wish to preview the layers))
-quake/id1/progs/player_default_shirt.tga          white shirt area of the skin, similar to pants described above)
-quake/id1/progs/player_default_norm.tga           normalmap texture for player_default, alpha channel can contain a heightmap for offsetmapping (r_glsl_offsetmapping 1 in console) to use, alternatively you can use _bump.tga instead of this which is only a heightmap and the engine will generate the normalmap for you)
-quake/id1/progs/player_default_gloss.tga          glossmap (shiny areas) for player_default)
-quake/id1/progs/player_default_glow.tga           glowmap (glowing stuff) for player_default, this is fullbrights and such, be sure the corresponding pixels are black in the player_default.tga, because just like pants/shirt this is additive blended)
-quake/id1/textures/quake.tga                      replaces the quake logo on the arch in start.bsp)
-quake/id1/textures/quake_norm.tga                 same as for a player)
-quake/id1/textures/quake_gloss.tga                same as for a player)
-quake/id1/textures/#water1.tga                    replaces *water1 texture in the maps, # is used instead of * in filenames)
-quake/id1/gfx/conchars.tga                        replacement font image, this was in gfx.wad in quake)
-quake/id1/gfx/conback.tga                         replacement console background, just like in quake)
-quake/id1/gfx/mainmenu.tga                        replacement main menu image, just like in quake)
-quake/id1/maps/b_bh25.bsp                         replacement for normal health pack, for example this could be an md3 model instead)
-quake/id1/sound/cdtracks/track002.ogg             replacement track for "cd loop 2"
-quake/id1/sound/cdtracks/track003.ogg             replacement track for "cd loop 3"
-
-
-
-Commandline options as of 2007-03-11:
-BSD GLX: -gl_driver drivername selects a GL driver library, default is libGL.so.1, useful only for using fxmesa or similar, if you don't know what this is for, you don't need it
-BSD GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)
-BSD GLX: -novideosync disables GLX_SGI_swap_control
-BSD Sound: -cddev devicepath chooses which CD drive to use
-Client: -benchmark demoname runs a timedemo and quits, results of any timedemo can be found in gamedir/benchmark.log (for example id1/benchmark.log)
-Client: -demo demoname runs a playdemo and quits
-Client: -forceqmenu disables menu.dat (same as +forceqmenu 1)
-Client: -particles number changes maximum number of particles at once, default 32768
-Client: -texbrightness number sets the quake palette brightness (brightness of black), allowing you to make quake textures brighter/darker, not recommended
-Client: -texcontrast number sets the quake palette contrast, allowing you to make quake textures brighter/darker, not recommended
-Client: -texgamma number sets the quake palette gamma, allowing you to make quake textures brighter/darker, not recommended
-Client: -useqmenu causes the first time you open the menu to use the quake menu, then reverts to menu.dat (if forceqmenu is 0)
-Console: -condebug logs console messages to qconsole.log, see also log_file
-Console: -developer enables warnings and other notices (RECOMMENDED for mod developers)
-Console: -nostdout disables text output to the terminal the game was launched from
-Filesystem: -basedir path chooses what base directory the game data is in, inside this there should be a data directory for the game (for example id1)
-GL: -noanisotropy disables GL_EXT_texture_filter_anisotropic (allows higher quality texturing)
-GL: -nocombine disables GL_ARB_texture_env_combine or GL_EXT_texture_env_combine (required for bumpmapping and faster map rendering)
-GL: -nocubemap disables GL_ARB_texture_cube_map (required for bumpmapping)
-GL: -nocva disables GL_EXT_compiled_vertex_array (renders faster)
-GL: -nodot3 disables GL_ARB_texture_env_dot3 (required for bumpmapping)
-GL: -nodrawrangeelements disables GL_EXT_draw_range_elements (renders faster)
-GL: -noedgeclamp disables GL_EXT_texture_edge_clamp or GL_SGIS_texture_edge_clamp (recommended, some cards do not support the other texture clamp method)
-GL: -nofragmentshader disables GL_ARB_fragment_shader (allows pixel shader effects, can improve per pixel lighting performance and capabilities)
-GL: -nomtex disables GL_ARB_multitexture (required for faster map rendering)
-GL: -noseparatestencil disables use of OpenGL2.0 glStencilOpSeparate and GL_ATI_separate_stencil extensions (which accelerate shadow rendering)
-GL: -noshaderobjects disables GL_ARB_shader_objects (required for vertex shader and fragment shader)
-GL: -noshadinglanguage100 disables GL_ARB_shading_language_100 (required for vertex shader and fragment shader)
-GL: -nostenciltwoside disables GL_EXT_stencil_two_side (which accelerate shadow rendering)
-GL: -notexture3d disables GL_EXT_texture3D (required for spherical lights, otherwise they render as a column)
-GL: -novertexshader disables GL_ARB_vertex_shader (allows vertex shader effects)
-Game: -battlemech runs the multiplayer topdown deathmatch game BattleMech
-Game: -contagiontheory runs the game Contagion Theory
-Game: -darsana runs the game Darsana
-Game: -did2 runs the game Defeat In Detail 2
-Game: -goodvsbad2 runs the psychadelic RTS FPS game Good Vs Bad 2
-Game: -hipnotic runs Quake mission pack 1: The Scourge of Armagon
-Game: -nehahra runs The Seal of Nehahra movie and game
-Game: -neoteric runs the game Neoteric
-Game: -netherworld runs the game Netherworld: Dark Master
-Game: -nexuiz runs the multiplayer game Nexuiz
-Game: -openquartz runs the game OpenQuartz, a standalone GPL replacement of the quake content
-Game: -prydon runs the topdown point and click action-RPG Prydon Gate
-Game: -quake runs the game Quake (default)
-Game: -rogue runs Quake mission pack 2: The Dissolution of Eternity
-Game: -setheral runs the multiplayer game Setheral
-Game: -som runs the multiplayer game Son Of Man
-Game: -tenebrae runs the graphics test mod known as Tenebrae (some features not implemented)
-Game: -teu runs The Evil Unleashed (this option is obsolete as they are not using darkplaces)
-Game: -thehunted runs the game The Hunted
-Game: -transfusion runs Transfusion (the recreation of Blood in Quake)
-Game: -zymotic runs the singleplayer game Zymotic
-Input: -nomouse disables mouse support (see also vid_mouse cvar)
-Input: -nomouse disables mouse support (see also vid_mouse cvar)
-Linux ALSA Sound: -sndpcm devicename selects which pcm device to us, default is "default"
-Linux GLX: -gl_driver drivername selects a GL driver library, default is libGL.so.1, useful only for using fxmesa or similar, if you don't know what this is for, you don't need it
-Linux GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)
-Linux GLX: -novideosync disables GLX_SGI_swap_control
-Linux Sound: -cddev devicepath chooses which CD drive to use
-MacOSX GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)
-MacOSX GLX: -novideosync disables GLX_SGI_swap_control
-SDL GL: -gl_driver drivername selects a GL driver library, default is whatever SDL recommends, useful only for 3dfxogl.dll/3dfxvgl.dll or fxmesa or similar, if you don't know what this is for, you don't need it
-Server: -dedicated [playerlimit] starts a dedicated server (with a command console), default playerlimit is 8
-Server: -ip ipaddress sets the ip address of this machine for purposes of networking (default 0.0.0.0 also known as INADDR_ANY), use only if you have multiple network adapters and need to choose one specifically.
-Server: -listen [playerlimit] starts a multiplayer server with graphical client, like singleplayer but other players can connect, default playerlimit is 8
-Server: -port portnumber sets the port to use for a server (default 26000, the same port as QUAKE itself), useful if you host multiple servers on your machine
-Sound: -nocdaudio disables CD audio support
-Sound: -nosound disables sound (including CD audio)
-Sound: -novorbis disables ogg vorbis sound support
-Sound: -simsound runs sound mixing but with no output
-Sound: -sndbits bits chooses 8 bit or 16 bit sound output
-Sound: -sndmono sets sound output to mono
-Sound: -sndquad sets sound output to 4 channel surround
-Sound: -sndspeed hz chooses sound output rate (supported values are 48000, 44100, 32000, 24000, 22050, 16000, 11025 (quake), 8000)
-Sound: -sndstereo sets sound output to stereo
-Video: -bpp bits performs +vid_bitsperpixel bits (example -bpp 32 or -bpp 16)
-Video: -fullscreen performs +vid_fullscreen 1
-Video: -height pixels performs +vid_height pixels and also +vid_width pixels*4/3 if only -height is specified (example: -height 768 sets 1024x768 mode)
-Video: -width pixels performs +vid_width pixels and also +vid_height pixels*3/4 if only -width is specified (example: -width 1024 sets 1024x768 mode)
-Video: -window performs +vid_fullscreen 0
-Windows DirectSound: -primarysound locks the sound hardware for exclusive use
-Windows DirectSound: -snoforceformat uses the format that DirectSound returns, rather than forcing it
-Windows GDI Input: -noforcemaccel disables setting of mouse acceleration (not used with -dinput, windows only)
-Windows GDI Input: -noforcemparms disables setting of mouse parameters (not used with -dinput, windows only)
-Windows GDI Input: -noforcemspd disables setting of mouse speed (not used with -dinput, windows only)
-Windows Input: -dinput enables DirectInput for mouse/joystick input
-Windows Input: -nojoy disables joystick support, may be a small speed increase
-Windows Sound: -wavonly uses wave sound instead of DirectSound
-Windows WGL: -gl_driver drivername selects a GL driver library, default is opengl32.dll, useful only for 3dfxogl.dll or 3dfxvgl.dll, if you don't know what this is for, you don't need it
-Windows WGL: -novideosync disables WGL_EXT_swap_control
-
-
-
-Full Console Variable List as of 2007-03-11:
-_cl_color                                         0                   internal storage cvar for current player colors (changed by color command)
-_cl_name                                          player              internal storage cvar for current player name (changed by name command)
-_cl_playermodel                                                       internal storage cvar for current player model in Nexuiz (changed by playermodel command)
-_cl_playerskin                                                        internal storage cvar for current player skin in Nexuiz (changed by playerskin command)
-_cl_pmodel                                        0                   internal storage cvar for current player model number in nehahra (changed by pmodel command)
-_cl_rate                                          10000               internal storage cvar for current rate (changed by rate command)
-_snd_mixahead                                     0.1                 how much sound to mix ahead of time
-ambient_fade                                      100                 rate of volume fading when moving from one environment to another
-ambient_level                                     0.3                 volume of environment noises (water and wind)
-bgmvolume                                         1                   volume of background music (such as CD music or replacement files such as sound/cdtracks/track002.ogg)
-cdaudioinitialized                                0                   indicates if CD Audio system is active
-chase_active                                      0                   enables chase cam
-chase_back                                        48                  chase cam distance from the player
-chase_stevie                                      0                   chase cam view from above (used only by GoodVsBad2)
-chase_up                                          24                  chase cam distance from the player
-cl_anglespeedkey                                  1.5                 how much +speed multiplies keyboard turning speed
-cl_autodemo                                       0                   records every game played, using the date/time and map name to name the demo file
-cl_autodemo_nameformat                            %Y-%m-%d_%H-%M      The format of the cl_autodemo filename, followed by the map name
-cl_backspeed                                      400                 backward movement speed
-cl_beams_instantaimhack                           1                   makes your lightning gun aiming update instantly
-cl_beams_lightatend                               0                   make a light at the end of the beam
-cl_beams_polygons                                 1                   use beam polygons instead of models
-cl_beams_quakepositionhack                        1                   makes your lightning gun appear to fire from your waist (as in Quake and QuakeWorld)
-cl_bob                                            0.02                view bobbing amount
-cl_bobcycle                                       0.6                 view bobbing speed
-cl_bobmodel                                       1                   enables gun bobbing
-cl_bobmodel_side                                  0.05                gun bobbing sideways sway amount
-cl_bobmodel_speed                                 7                   gun bobbing speed
-cl_bobmodel_up                                    0.02                gun bobbing upward movement amount
-cl_bobup                                          0.5                 view bobbing adjustment that makes the up or down swing of the bob last longer
-cl_capturevideo                                   0                   enables saving of video to a .avi file using uncompressed I420 colorspace and PCM audio, note that scr_screenshot_gammaboost affects the brightness of the output)
-cl_capturevideo_fps                               30                  how many frames per second to save (29.97 for NTSC, 30 for typical PC video, 15 can be useful)
-cl_capturevideo_number                            1                   number to append to video filename, incremented each time a capture begins
-cl_capturevideo_realtime                          0                   causes video saving to operate in realtime (mostly useful while playing, not while capturing demos), this can produce a much lower quality video due to poor sound/video sync and will abort saving if your machine stalls for over 1 second
-cl_curl_enabled                                   0                   whether client's download support is enabled
-cl_curl_maxdownloads                              1                   maximum number of concurrent HTTP/FTP downloads
-cl_curl_maxspeed                                  100                 maximum download speed (KiB/s)
-cl_deathnoviewmodel                               1                   hides gun model when dead
-cl_deathscoreboard                                1                   shows scoreboard (+showscores) while dead
-cl_decals                                         0                   enables decals (bullet holes, blood, etc)
-cl_decals_fadetime                                20                  how long decals take to fade away
-cl_decals_time                                    0                   how long before decals start to fade away
-cl_dlights_decaybrightness                        1                   reduces brightness of light flashes over time
-cl_dlights_decayradius                            1                   reduces size of light flashes over time
-cl_explosions_alpha_end                           0                   end alpha of an explosion shell (just before it disappears)
-cl_explosions_alpha_start                         1.5                 starting alpha of an explosion shell
-cl_explosions_lifetime                            0.5                 how long an explosion shell lasts
-cl_explosions_size_end                            128                 ending alpha of an explosion shell (just before it disappears)
-cl_explosions_size_start                          16                  starting size of an explosion shell
-cl_forwardspeed                                   400                 forward movement speed
-cl_gravity                                        800                 how much gravity to apply in client physics (should match sv_gravity)
-cl_itembobheight                                  0                   how much items bob up and down (try 8)
-cl_itembobspeed                                   0.5                 how frequently items bob up and down
-cl_joinbeforedownloadsfinish                      1                   if non-zero the game will begin after the map is loaded before other downloads finish
-cl_maxfps                                         1000                maximum fps cap, if game is running faster than this it will wait before running another frame (useful to make cpu time available to other programs)
-cl_movement                                       0                   enables clientside prediction of your player movement
-cl_movement_accelerate                            10                  how fast you accelerate (should match sv_accelerate)
-cl_movement_airaccel_qw                           1                   ratio of QW-style air control as opposed to simple acceleration (should match sv_airaccel_qw)
-cl_movement_airaccel_sideways_friction            0                   anti-sideways movement stabilization (should match sv_airaccel_sideways_friction)
-cl_movement_airaccelerate                         -1                  how fast you accelerate while in the air (should match sv_airaccelerate), if less than 0 the cl_movement_accelerate variable is used instead
-cl_movement_edgefriction                          2                   how much to slow down when you may be about to fall off a ledge (should match edgefriction)
-cl_movement_friction                              4                   how fast you slow down (should match sv_friction)
-cl_movement_jumpvelocity                          270                 how fast you move upward when you begin a jump (should match the quakec code)
-cl_movement_maxairspeed                           30                  how fast you can move while in the air (should match sv_maxairspeed)
-cl_movement_maxspeed                              320                 how fast you can move (should match sv_maxspeed)
-cl_movement_stepheight                            18                  how tall a step you can step in one instant (should match sv_stepheight)
-cl_movement_stopspeed                             100                 speed below which you will be slowed rapidly to a stop rather than sliding endlessly (should match sv_stopspeed)
-cl_movement_wateraccelerate                       -1                  how fast you accelerate while in the air (should match sv_airaccelerate), if less than 0 the cl_movement_accelerate variable is used instead
-cl_movement_waterfriction                         -1                  how fast you slow down (should match sv_friction), if less than 0 the cl_movement_friction variable is used instead
-cl_movespeedkey                                   2.0                 how much +speed multiplies keyboard movement speed
-cl_netinputpacketlosstolerance                    4                   how many packets in a row can be lost without movement issues when using cl_movement (technically how many input messages to repeat in each packet that have not yet been acknowledged by the server)
-cl_netinputpacketspersecond                       50                  how many input packets to send to server each second
-cl_netlocalping                                   0                   lags local loopback connection by this much ping time (useful to play more fairly on your own server with people with higher pings)
-cl_netpacketloss                                  0                   drops this percentage of packets (incoming and outgoing), useful for testing network protocol robustness (effects failing to start, sounds failing to play, etc)
-cl_nettimesyncmode                                2                   selects method of time synchronization in client with regard to server packets, values are: 0 = no sync, 1 = exact sync (reset timing each packet), 2 = loose sync (reset timing only if it is out of bounds), 3 = tight sync and bounding
-cl_nodelta                                        0                   disables delta compression of non-player entities in QW network protocol
-cl_nolerp                                         0                   network update smoothing
-cl_noplayershadow                                 0                   hide player shadow
-cl_particles                                      1                   enables particle effects
-cl_particles_blood                                1                   enables blood effects
-cl_particles_blood_alpha                          0.5                 opacity of blood
-cl_particles_blood_bloodhack                      1                   make certain quake particle() calls create blood effects instead
-cl_particles_bubbles                              1                   enables bubbles (used by multiple effects)
-cl_particles_bulletimpacts                        1                   enables bulletimpact effects
-cl_particles_explosions_shell                     0                   enables polygonal shell from explosions
-cl_particles_explosions_smokes                    0                   enables smoke from explosions
-cl_particles_explosions_sparks                    1                   enables sparks from explosions
-cl_particles_quake                                0                   makes particle effects look mostly like the ones in Quake
-cl_particles_quality                              1                   multiplies number of particles and reduces their alpha
-cl_particles_size                                 1                   multiplies particle size
-cl_particles_smoke                                1                   enables smoke (used by multiple effects)
-cl_particles_smoke_alpha                          0.5                 smoke brightness
-cl_particles_smoke_alphafade                      0.55                brightness fade per second
-cl_particles_sparks                               1                   enables sparks (used by multiple effects)
-cl_pitchspeed                                     150                 keyboard pitch turning speed
-cl_port                                           0                   forces client to use chosen port number if not 0
-cl_prydoncursor                                   0                   enables a mouse pointer which is able to click on entities in the world, useful for point and click mods, see PRYDON_CLIENTCURSOR extension in dpextensions.qc
-cl_rollangle                                      2.0                 how much to tilt the view when strafing
-cl_rollspeed                                      200                 how much strafing is necessary to tilt the view
-cl_serverextension_download                       0                   indicates whether the server supports the download command
-cl_shownet                                        0                   1 = print packet size, 2 = print packet message list
-cl_sidespeed                                      350                 strafe movement speed
-cl_slowmo                                         1                   speed of game time (should match slowmo)
-cl_sound_hknighthit                               hknight/hit.wav     sound to play during TE_KNIGHTSPIKE (empty cvar disables sound)
-cl_sound_r_exp3                                   weapons/r_exp3.wav  sound to play during TE_EXPLOSION and related effects (empty cvar disables sound)
-cl_sound_ric1                                     weapons/ric1.wav    sound to play with 5% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
-cl_sound_ric2                                     weapons/ric2.wav    sound to play with 5% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
-cl_sound_ric3                                     weapons/ric3.wav    sound to play with 10% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
-cl_sound_tink1                                    weapons/tink1.wav   sound to play with 80% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
-cl_sound_wizardhit                                wizard/hit.wav      sound to play during TE_WIZSPIKE (empty cvar disables sound)
-cl_stainmaps                                      1                   stains lightmaps, much faster than decals but blurred
-cl_stainmaps_clearonload                          1                   clear stainmaps on map restart
-cl_stairsmoothspeed                               160                 how fast your view moves upward/downward when running up/down stairs
-cl_upspeed                                        400                 vertical movement speed (while swimming or flying)
-cl_viewmodel_scale                                1                   changes size of gun model, lower values prevent poking into walls but cause strange artifacts on lighting and especially r_stereo/vid_stereobuffer options where the size of the gun becomes visible
-cl_yawspeed                                       140                 keyboard yaw turning speed
-cmdline                                           0                   contains commandline the engine was launched with
-collision_endnudge                                0                   how much to bias collision trace end
-collision_enternudge                              0                   how much to bias collision entry fraction
-collision_impactnudge                             0.03125             how much to back off from the impact
-collision_leavenudge                              0                   how much to bias collision exit fraction
-collision_prefernudgedfraction                    1                   whether to sort collision events by nudged fraction (1) or real fraction (0)
-collision_startnudge                              0                   how much to bias collision trace start
-con_closeontoggleconsole                          1                   allows toggleconsole binds to close the console as well
-con_chat                                          0                   how many chat lines to show in a dedicated chat area
-con_chatpos                                       0                   where to put chat (negative: lines from bottom of screen, positive: lines below notify, 0: at top)
-con_chatsize                                      8                   chat text size in virtual 2D pixels
-con_chattime                                      30                  how long chat lines last, in seconds
-con_chatwidth                                     1.0                 relative chat window width
-con_notify                                        4                   how many notify lines to show (0-32)
-con_notifyalign                                   3                   how to align notify lines: 0 = left, 0.5 = center, 1 = right, empty string = game default)
-con_notifysize                                    8                   notify text size in virtual 2D pixels
-con_notifytime                                    3                   how long notify lines last, in seconds
-con_textsize                                      8                   console text size in virtual 2D pixels
-coop                                              0                   coop mode, 0 = no coop, 1 = coop mode, multiple players playing through the singleplayer game (coop mode also shuts off deathmatch)
-crosshair                                         0                   selects crosshair to use (0 is none)
-crosshair_color_alpha                             1                   how opaque the crosshair should be
-crosshair_color_blue                              0                   customizable crosshair color
-crosshair_color_green                             0                   customizable crosshair color
-crosshair_color_red                               1                   customizable crosshair color
-crosshair_size                                    1                   adjusts size of the crosshair on the screen
-csqc_progcrc                                      -1                  CRC of csprogs.dat file to load (-1 is none), only used during level changes and then reset to -1
-csqc_progname                                     csprogs.dat         name of csprogs.dat file to load
-csqc_progsize                                     -1                  file size of csprogs.dat file to load (-1 is none), only used during level changes and then reset to -1
-cutscene                                          1                   enables cutscenes in nehahra, can be used by other mods
-deathmatch                                        0                   deathmatch mode, values depend on mod but typically 0 = no deathmatch, 1 = normal deathmatch with respawning weapons, 2 = weapons stay (players can only pick up new weapons)
-demo_nehahra                                      0                   reads all quake demos as nehahra movie protocol
-developer                                         0                   prints additional debugging messages and information (recommended for modders and level designers)
-developer_entityparsing                           0                   prints detailed network entities information each time a packet is received
-developer_memory                                  0                   prints debugging information about memory allocations
-developer_memorydebug                             0                   enables memory corruption checks (very slow)
-developer_networkentities                         0                   prints received entities, value is 0-4 (higher for more info)
-developer_networking                              0                   prints all received and sent packets (recommended only for debugging)
-developer_texturelogging                          0                   produces a textures.log file containing names of skins and map textures the engine tried to load
-edgefriction                                      2                   how much you slow down when nearing a ledge you might fall off
-forceqmenu                                        0                   enables the quake menu instead of the quakec menu.dat (if present)
-fov                                               90                  field of vision, 1-170 degrees, default 90, some players use 110-130
-fraglimit                                         0                   ends level if this many frags is reached by any player
-freelook                                          1                   mouse controls pitch instead of forward/back
-gamecfg                                           0                   unused cvar in quake, can be used by mods
-gameversion                                       0                   version of game data (mod-specific), when client and server gameversion mismatch in the server browser the server is shown as incompatible
-gl_combine                                        1                   faster rendering by using GL_ARB_texture_env_combine extension (part of OpenGL 1.3 and above)
-gl_dither                                         1                   enables OpenGL dithering (16bit looks bad with this off)
-gl_ext_separatetencil                             1                   make use of OpenGL 2.0 glStencilOpSeparate or GL_ATI_separate_stencil extension
-gl_ext_stenciltwoside                             1                   make use of GL_EXT_stenciltwoside extension (NVIDIA only)
-gl_finish                                         0                   make the cpu wait for the graphics processor at the end of each rendered frame (can help with strange input or video lag problems on some machines)
-gl_flashblend                                     0                   render bright coronas for dynamic lights instead of actual lighting, fast but ugly
-gl_fogblue                                        0.3                 nehahra fog color blue value (for Nehahra compatibility only)
-gl_fogdensity                                     0.25                nehahra fog density (recommend values below 0.1) (for Nehahra compatibility only)
-gl_fogenable                                      0                   nehahra fog enable (for Nehahra compatibility only)
-gl_fogend                                         0                   nehahra fog end distance (for Nehahra compatibility only)
-gl_foggreen                                       0.3                 nehahra fog color green value (for Nehahra compatibility only)
-gl_fogred                                         0.3                 nehahra fog color red value (for Nehahra compatibility only)
-gl_fogstart                                       0                   nehahra fog start distance (for Nehahra compatibility only)
-gl_lightmaps                                      0                   draws only lightmaps, no texture (for level designers)
-gl_lockarrays                                     0                   enables use of glLockArraysEXT, may cause glitches with some broken drivers, and may be slower than normal
-gl_lockarrays_minimumvertices                     1                   minimum number of vertices required for use of glLockArraysEXT, setting this too low may reduce performance
-gl_max_size                                       2048                maximum allowed texture size, can be used to reduce video memory usage, note: this is automatically reduced to match video card capabilities (such as 256 on 3Dfx cards before Voodoo4/5)
-gl_mesh_drawrangeelements                         1                   use glDrawRangeElements function if available instead of glDrawElements (for performance comparisons or bug testing)
-gl_mesh_testarrayelement                          0                   use glBegin(GL_TRIANGLES);glArrayElement();glEnd(); primitives instead of glDrawElements (useful to test for driver bugs with glDrawElements)
-gl_mesh_testmanualfeeding                         0                   use glBegin(GL_TRIANGLES);glTexCoord2f();glVertex3f();glEnd(); primitives instead of glDrawElements (useful to test for driver bugs with glDrawElements)
-gl_paranoid                                       0                   enables OpenGL error checking and other tests
-gl_picmip                                         0                   reduces resolution of textures by powers of 2, for example 1 will halve width/height, reducing texture memory usage by 75%
-gl_polyblend                                      1                   tints view while underwater, hurt, etc
-gl_printcheckerror                                0                   prints all OpenGL error checks, useful to identify location of driver crashes
-gl_texture_anisotropy                             1                   anisotropic filtering quality (if supported by hardware), 1 sample (no anisotropy) and 8 sample (8 tap anisotropy) are recommended values
-halflifebsp                                       0                   indicates the current map is hlbsp format (useful to know because of different bounding box sizes)
-host_framerate                                    0                   locks frame timing to this value in seconds, 0.05 is 20fps for example, note that this can easily run too fast, use cl_maxfps if you want to limit your framerate instead, or sys_ticrate to limit server speed
-host_speeds                                       0                   reports how much time is used in server/graphics/sound
-hostname                                          UNNAMED             server message to show in server browser
-in_pitch_max                                      90                  how far upward you can aim (quake used 80
-in_pitch_min                                      -90                 how far downward you can aim (quake used -70
-joy_axisforward                                   1                   which joystick axis to query for forward/backward movement
-joy_axispitch                                     3                   which joystick axis to query for looking up/down
-joy_axisroll                                      -1                  which joystick axis to query for tilting head right/left
-joy_axisside                                      0                   which joystick axis to query for right/left movement
-joy_axisup                                        -1                  which joystick axis to query for up/down movement
-joy_axisyaw                                       2                   which joystick axis to query for looking right/left
-joy_deadzoneforward                               0                   deadzone tolerance, suggested values are in the range 0 to 0.01
-joy_deadzonepitch                                 0                   deadzone tolerance, suggested values are in the range 0 to 0.01
-joy_deadzoneroll                                  0                   deadzone tolerance, suggested values are in the range 0 to 0.01
-joy_deadzoneside                                  0                   deadzone tolerance, suggested values are in the range 0 to 0.01
-joy_deadzoneup                                    0                   deadzone tolerance, suggested values are in the range 0 to 0.01
-joy_deadzoneyaw                                   0                   deadzone tolerance, suggested values are in the range 0 to 0.01
-joy_detected                                      0                   number of joysticks detected by engine
-joy_enable                                        1                   enables joystick support
-joy_index                                         0                   selects which joystick to use if you have multiple
-joy_sensitivityforward                            -1                  movement multiplier
-joy_sensitivitypitch                              1                   movement multiplier
-joy_sensitivityroll                               1                   movement multiplier
-joy_sensitivityside                               1                   movement multiplier
-joy_sensitivityup                                 1                   movement multiplier
-joy_sensitivityyaw                                -1                  movement multiplier
-joyadvanced                                       0                   use more than 2 axis joysticks (configuring this is very technical)
-joyadvaxisr                                       0                   axis mapping for joyadvanced 1 mode
-joyadvaxisu                                       0                   axis mapping for joyadvanced 1 mode
-joyadvaxisv                                       0                   axis mapping for joyadvanced 1 mode
-joyadvaxisx                                       0                   axis mapping for joyadvanced 1 mode
-joyadvaxisy                                       0                   axis mapping for joyadvanced 1 mode
-joyadvaxisz                                       0                   axis mapping for joyadvanced 1 mode
-joyforwardsensitivity                             -1.0                how fast the joystick moves forward
-joyforwardthreshold                               0.15                minimum joystick movement necessary to move forward
-joyname                                           joystick            name of joystick to use (informational only, used only by joyadvanced 1 mode)
-joypitchsensitivity                               1.0                 how fast the joystick looks up/down
-joypitchthreshold                                 0.15                minimum joystick movement necessary to look up/down
-joysidesensitivity                                -1.0                how fast the joystick moves sideways (strafing)
-joysidethreshold                                  0.15                minimum joystick movement necessary to move sideways (strafing)
-joystick                                          0                   enables joysticks
-joywwhack1                                        0.0                 special hack for wingman warrior
-joywwhack2                                        0.0                 special hack for wingman warrior
-joyyawsensitivity                                 -1.0                how fast the joystick turns left/right
-joyyawthreshold                                   0.15                minimum joystick movement necessary to turn left/right
-locs_enable                                       1                   enables replacement of certain % codes in chat messages: %l (location), %d (last death location), %h (health), %a (armor), %x (rockets), %c (cells), %r (rocket launcher status), %p (powerup status), %w (weapon status), %t (current time in level)
-locs_show                                         0                   shows defined locations for editing purposes
-log_file                                                              filename to log messages to
-lookspring                                        0                   returns pitch to level with the floor when no longer holding a pitch key
-lookstrafe                                        0                   move instead of turning
-m_filter                                          0                   smoothes mouse movement, less responsive but smoother aiming
-m_forward                                         1                   mouse forward speed multiplier
-m_pitch                                           0.022               mouse pitch speed multiplier
-m_side                                            0.8                 mouse side speed multiplier
-m_yaw                                             0.022               mouse yaw speed multiplier
-mcbsp                                             0                   indicates the current map is mcbsp format (useful to know because of different bounding box sizes)
-menu_options_colorcontrol_correctionvalue         0.5                 intensity value that matches up to white/black dither pattern, should be 0.5 for linear color
-mod_q3bsp_curves_collisions                       1                   enables collisions with curves (SLOW)
-mod_q3bsp_debugtracebrush                         0                   selects different tracebrush bsp recursion algorithms (for debugging purposes only)
-mod_q3bsp_lightmapmergepower                      4                   merges the quake3 128x128 lightmap textures into larger lightmap group textures to speed up rendering, 1 = 256x256, 2 = 512x512, 3 = 1024x1024, 4 = 2048x2048, 5 = 4096x4096, ...
-mod_q3bsp_optimizedtraceline                      1                   whether to use optimized traceline code for line traces (as opposed to tracebox code)
-nehx00                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx01                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx02                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx03                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx04                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx05                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx06                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx07                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx08                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx09                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx10                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx11                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx12                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx13                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx14                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx15                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx16                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx17                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx18                                            0                   nehahra data storage cvar (used in singleplayer)
-nehx19                                            0                   nehahra data storage cvar (used in singleplayer)
-net_address                                       0.0.0.0             network address to open ports on
-net_address_ipv6                                  [0:0:0:0:0:0:0:0]   network address to open ipv6 ports on
-net_connectfloodblockingtimeout                   5                   when a connection packet is received, it will block all future connect packets from that IP address for this many seconds (cuts down on connect floods)
-net_connecttimeout                                10                  after requesting a connection, the client must reply within this many seconds or be dropped (cuts down on connect floods)
-net_messagetimeout                                300                 drops players who have not sent any packets for this many seconds
-net_slist_maxtries                                3                   how many times to ask the same server for information (more times gives better ping reports but takes longer)
-net_slist_queriesperframe                         4                   maximum number of server information requests to send each rendered frame (guards against low framerates causing problems)
-net_slist_queriespersecond                        20                  how many server information requests to send per second
-net_slist_timeout                                 4                   how long to listen for a server information response before giving up
-noaim                                             1                   QW option to disable vertical autoaim
-noexit                                            0                   kills anyone attempting to use an exit
-nomonsters                                        0                   unused cvar in quake, can be used by mods
-nosound                                           0                   disables sound
-pausable                                          1                   allow players to pause or not
-port                                              26000               server port for players to connect to
-pr_checkextension                                 1                   indicates to QuakeC that the standard quakec extensions system is available (if 0, quakec should not attempt to use extensions)
-prvm_boundscheck                                  1                   enables detection of out of bounds memory access in the QuakeC code being run (in other words, prevents really exceedingly bad QuakeC code from doing nasty things to your computer)
-prvm_statementprofiling                           0                   counts how many times each QuakeC statement has been executed, these counts are displayed in prvm_printfunction output (if enabled)
-prvm_traceqc                                      0                   prints every QuakeC statement as it is executed (only for really thorough debugging!)
-qport                                             0                   identification key for playing on qw servers (allows you to maintain a connection to a quakeworld server even if your port changes)
-r_ambient                                         0                   brightens map, value is 0-128
-r_batchmode                                       1                   selects method of rendering multiple surfaces with one driver call (values are 0, 1, 2, etc...)
-r_bloom                                           0                   enables bloom effect (makes bright pixels affect neighboring pixels)
-r_bloom_blur                                      4                   how large the glow is
-r_bloom_brighten                                  2                   how bright the glow is, after subtract/power
-r_bloom_colorexponent                             1                   how exagerated the glow is
-r_bloom_colorscale                                1                   how bright the glow is
-r_bloom_colorsubtract                             0.125               reduces bloom colors by a certain amount
-r_bloom_resolution                                320                 what resolution to perform the bloom effect at (independent of screen resolution)
-r_coronas                                         1                   brightness of corona flare effects around certain lights, 0 disables corona effects
-r_cullentities_trace                              1                   probabistically cull invisible entities
-r_cullentities_trace_delay                        1                   number of seconds until the entity gets actually culled
-r_cullentities_trace_enlarge                      0                   box enlargement for entity culling
-r_cullentities_trace_samples                      2                   number of samples to test for entity culling
-r_draweffects                                     1                   renders temporary sprite effects
-r_drawentities                                    1                   draw entities (doors, players, projectiles, etc)
-r_drawexplosions                                  1                   enables rendering of explosion shells (see also cl_particles_explosions_shell)
-r_drawparticles                                   1                   enables drawing of particles
-r_drawportals                                     0                   shows portals (separating polygons) in world interior in quake1 maps
-r_drawviewmodel                                   1                   draw your weapon model
-r_dynamic                                         1                   enables dynamic lights (rocket glow and such)
-r_editlights                                      0                   enables .rtlights file editing mode
-r_editlights_cursordistance                       1024                maximum distance of cursor from eye
-r_editlights_cursorgrid                           4                   snaps cursor to this grid size
-r_editlights_cursorpushback                       0                   how far to pull the cursor back toward the eye
-r_editlights_cursorpushoff                        4                   how far to push the cursor off the impacted surface
-r_editlights_quakelightsizescale                  1                   changes size of light entities loaded from a map
-r_explosionclip                                   1                   enables collision detection for explosion shell (so that it flattens against walls and floors)
-r_fullbright                                      0                   makes map very bright and renders faster
-r_fullbrights                                     1                   enables glowing pixels in quake textures (changes need r_restart to take effect)
-r_glsl                                            1                   enables use of OpenGL 2.0 pixel shaders for lighting
-r_glsl_deluxemapping                              1                   use per pixel lighting on deluxemap-compiled q3bsp maps (or a value of 2 forces deluxemap shading even without deluxemaps)
-r_glsl_offsetmapping                              0                   offset mapping effect (also known as parallax mapping or virtual displacement mapping)
-r_glsl_offsetmapping_reliefmapping                0                   relief mapping effect (higher quality)
-r_glsl_offsetmapping_scale                        0.04                how deep the offset mapping effect is
-r_hdr                                             0                   enables High Dynamic Range bloom effect (higher quality version of r_bloom)
-r_hdr_glowintensity                               1                   how bright light emitting textures should appear
-r_hdr_range                                       4                   how much dynamic range to render bloom with (equivilant to multiplying r_bloom_brighten by this value and dividing r_bloom_colorscale by this value)
-r_hdr_scenebrightness                             1                   global rendering brightness
-r_lerpimages                                      1                   bilinear filters images when scaling them up to power of 2 size (mode 1), looks better than glquake (mode 0)
-r_lerpmodels                                      1                   enables animation smoothing on models
-r_lerpsprites                                     1                   enables animation smoothing on sprites
-r_letterbox                                       0                   reduces vertical height of view to simulate a letterboxed movie effect (can be used by mods for cutscenes)
-r_lightmaprgba                                    1                   whether to use RGBA (32bit) or RGB (24bit) lightmaps
-r_lightningbeam_color_blue                        1                   color of the lightning beam effect
-r_lightningbeam_color_green                       1                   color of the lightning beam effect
-r_lightningbeam_color_red                         1                   color of the lightning beam effect
-r_lightningbeam_qmbtexture                        0                   load the qmb textures/particles/lightning.pcx texture instead of generating one, can look better
-r_lightningbeam_repeatdistance                    128                 how far to stretch the texture along the lightning beam effect
-r_lightningbeam_scroll                            5                   speed of texture scrolling on the lightning beam effect
-r_lightningbeam_thickness                         4                   thickness of the lightning beam effect
-r_lockpvs                                         0                   disables pvs switching, allows you to walk around and inspect what is visible from a given location in the map (anything not visible from your current location will not be drawn)
-r_lockvisibility                                  0                   disables visibility updates, allows you to walk around and inspect what is visible from a given viewpoint in the map (anything offscreen at the moment this is enabled will not be drawn)
-r_mipskins                                        0                   mipmaps skins (so they become blurrier in the distance), disabled by default because it tends to blur with strange border colors from the skin
-r_mipsprites                                      1                   mipmaps skins (so they become blurrier in the distance), unlike skins the sprites do not have strange border colors
-r_nearclip                                        1                   distance from camera of nearclip plane
-r_nosurftextures                                  0                   pretends there was no texture lump found in the q1bsp/hlbsp loading (useful for debugging this rare case)
-r_novis                                           0                   draws whole level, see also sv_cullentities_pvs 0
-r_precachetextures                                1                   0 = never upload textures until used, 1 = upload most textures before use (exceptions: rarely used skin colormap layers), 2 = upload all textures before use (can increase texture memory usage significantly)
-r_q3bsp_renderskydepth                            0                   draws sky depth masking in q3 maps (as in q1 maps), this means for example that sky polygons can hide other things
-r_qb1sp_skymasking                                1                   allows sky polygons in quake1 maps to obscure other geometry
-r_render                                          1                   enables rendering calls (you want this on!)
-r_shadow_bumpscale_basetexture                    0                   generate fake bumpmaps from diffuse textures at this bumpyness, try 4 to match tenebrae, higher values increase depth, requires r_restart to take effect
-r_shadow_bumpscale_bumpmap                        4                   what magnitude to interpret _bump.tga textures as, higher values increase depth, requires r_restart to take effect
-r_shadow_culltriangles                            1                   performs more expensive tests to remove unnecessary triangles of lit surfaces
-r_shadow_debuglight                               -1                  renders only one light, for level design purposes or debugging
-r_shadow_frontsidecasting                         1                   whether to cast shadows from illuminated triangles (front side of model) or unlit triangles (back side of model)
-r_shadow_gloss                                    1                   0 disables gloss (specularity) rendering, 1 uses gloss if textures are found, 2 forces a flat metallic specular effect on everything without textures (similar to tenebrae)
-r_shadow_gloss2intensity                          0.125               how bright the forced flat gloss should look if r_shadow_gloss is 2
-r_shadow_glossexponent                            32                  how 'sharp' the gloss should appear (specular power)
-r_shadow_glossintensity                           1                   how bright textured glossmaps should look if r_shadow_gloss is 1 or 2
-r_shadow_lightattenuationpower                    0.5                 changes attenuation texture generation (does not affect r_glsl lighting)
-r_shadow_lightattenuationscale                    1                   changes attenuation texture generation (does not affect r_glsl lighting)
-r_shadow_lightintensityscale                      1                   renders all world lights brighter or darker
-r_shadow_lightradiusscale                         1                   renders all world lights larger or smaller
-r_shadow_portallight                              1                   use portal culling to exactly determine lit triangles when compiling world lights
-r_shadow_projectdistance                          1000000             how far to cast shadows
-r_shadow_realtime_dlight                          1                   enables rendering of dynamic lights such as explosions and rocket light
-r_shadow_realtime_dlight_portalculling            0                   enables portal optimization on dynamic lights (slow!)
-r_shadow_realtime_dlight_shadows                  1                   enables rendering of shadows from dynamic lights
-r_shadow_realtime_dlight_svbspculling             0                   enables svbsp optimization on dynamic lights (very slow!)
-r_shadow_realtime_world                           0                   enables rendering of full world lighting (whether loaded from the map, or a .rtlights file, or a .ent file, or a .lights file produced by hlight)
-r_shadow_realtime_world_compile                   1                   enables compilation of world lights for higher performance rendering
-r_shadow_realtime_world_compileportalculling      1                   enables portal-based culling optimization during compilation
-r_shadow_realtime_world_compileshadow             1                   enables compilation of shadows from world lights for higher performance rendering
-r_shadow_realtime_world_compilesvbsp              1                   enables svbsp optimization during compilation
-r_shadow_realtime_world_lightmaps                 0                   brightness to render lightmaps when using full world lighting, try 0.5 for a tenebrae-like appearance
-r_shadow_realtime_world_shadows                   1                   enables rendering of shadows from world lights
-r_shadow_scissor                                  1                   use scissor optimization of light rendering (restricts rendering to the portion of the screen affected by the light)
-r_shadow_polygonfactor                            0                   how much to enlarge shadow volume polygons when rendering (should be 0!)
-r_shadow_polygonoffset                            1                   how much to push shadow volumes into the distance when rendering, to reduce chances of zfighting artifacts (should not be less than 0)
-r_shadow_texture3d                                1                   use 3D voxel textures for spherical attenuation rather than cylindrical (does not affect r_glsl lighting)
-r_shadows                                         0                   casts fake stencil shadows from models onto the world (rtlights are unaffected by this)
-r_shadows_throwdistance                           500                 how far to cast shadows from models
-r_showcollisionbrushes                            0                   draws collision brushes in quake3 maps (mode 1), mode 2 disables rendering of world (trippy!)
-r_showcollisionbrushes_polygonfactor              -1                  expands outward the brush polygons a little bit, used to make collision brushes appear infront of walls
-r_showcollisionbrushes_polygonoffset              0                   nudges brush polygon depth in hardware depth units, used to make collision brushes appear infront of walls
-r_showdisabledepthtest                            0                   disables depth testing on r_show* cvars, allowing you to see what hidden geometry the graphics card is processing
-r_showlighting                                    0                   shows areas lit by lights, useful for finding out why some areas of a map render slowly (bright orange = lots of passes = slow), a value of 2 disables depth testing which can be interesting but not very useful
-r_shownormals                                     0                   shows per-vertex surface normals and tangent vectors for bumpmapped lighting
-r_showshadowvolumes                               0                   shows areas shadowed by lights, useful for finding out why some areas of a map render slowly (bright blue = lots of passes = slow), a value of 2 disables depth testing which can be interesting but not very useful
-r_showsurfaces                                    0                   1 shows surfaces as different colors, or a value of 2 shows triangle draw order (for analyzing whether meshes are optimized for vertex cache)
-r_showtris                                        0                   shows triangle outlines, value controls brightness (can be above 1)
-r_skeletal_debugbone                              -1                  development cvar for testing skeletal model code
-r_skeletal_debugbonecomponent                     3                   development cvar for testing skeletal model code
-r_skeletal_debugbonevalue                         100                 development cvar for testing skeletal model code
-r_skeletal_debugtranslatex                        1                   development cvar for testing skeletal model code
-r_skeletal_debugtranslatey                        1                   development cvar for testing skeletal model code
-r_skeletal_debugtranslatez                        1                   development cvar for testing skeletal model code
-r_sky                                             1                   enables sky rendering (black otherwise)
-r_skyscroll1                                      1                   speed at which upper clouds layer scrolls in quake sky
-r_skyscroll2                                      2                   speed at which lower clouds layer scrolls in quake sky
-r_smoothnormals_areaweighting                     1                   uses significantly faster (and supposedly higher quality) area-weighted vertex normals and tangent vectors rather than summing normalized triangle normals and tangents
-r_speeds                                          0                   displays rendering statistics and per-subsystem timings
-r_stereo_redblue                                  0                   red/blue anaglyph stereo glasses (note: most of these glasses are actually red/cyan, try that one too)
-r_stereo_redcyan                                  0                   red/cyan anaglyph stereo glasses, the kind given away at drive-in movies like Creature From The Black Lagoon In 3D
-r_stereo_redgreen                                 0                   red/green anaglyph stereo glasses (for those who don't mind yellow)
-r_stereo_separation                               4                   separation of eyes in the world (try negative values too)
-r_stereo_sidebyside                               0                   side by side views (for those who can't afford glasses but can afford eye strain)
-r_subdivide_size                                  128                 how large water polygons should be (smaller values produce more polygons which give better warping effects)
-r_subdivisions_collision_maxtess                  1024                maximum number of subdivisions (prevents curves beyond a certain detail level, limits smoothing)
-r_subdivisions_collision_maxvertices              4225                maximum vertices allowed per subdivided curve
-r_subdivisions_collision_mintess                  1                   minimum number of subdivisions (values above 1 will smooth curves that don't need it)
-r_subdivisions_collision_tolerance                15                  maximum error tolerance on curve subdivision for collision purposes (usually a larger error tolerance than for rendering)
-r_subdivisions_maxtess                            1024                maximum number of subdivisions (prevents curves beyond a certain detail level, limits smoothing)
-r_subdivisions_maxvertices                        65536               maximum vertices allowed per subdivided curve
-r_subdivisions_mintess                            1                   minimum number of subdivisions (values above 1 will smooth curves that don't need it)
-r_subdivisions_tolerance                          4                   maximum error tolerance on curve subdivision for rendering purposes (in other words, the curves will be given as many polygons as necessary to represent curves at this quality)
-r_test                                            0                   internal development use only, leave it alone (usually does nothing anyway)
-r_textshadow                                      0                   draws a shadow on all text to improve readability
-r_textureunits                                    32                  number of hardware texture units reported by driver (note: setting this to 1 turns off gl_combine)
-r_useportalculling                                1                   use advanced portal culling visibility method to improve performance over just Potentially Visible Set, provides an even more significant speed improvement in unvised maps
-r_wateralpha                                      1                   opacity of water polygons
-r_waterscroll                                     1                   makes water scroll around, value controls how much
-r_waterwarp                                       1                   warp view while underwater
-rcon_address                                                          server address to send rcon commands to (when not connected to a server)
-rcon_password                                                         password to authenticate rcon commands
-registered                                        0                   indicates if this is running registered quake (whether gfx/pop.lmp was found)
-samelevel                                         0                   repeats same level if level ends (due to timelimit or someone hitting an exit)
-saved1                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods
-saved2                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods
-saved3                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods
-saved4                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods
-savedgamecfg                                      0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods
-sbar_alpha_bg                                     0.4                 opacity value of the statusbar background image
-sbar_alpha_fg                                     1                   opacity value of the statusbar weapon/item icons and numbers
-scr_centertime                                    2                   how long centerprint messages show
-scr_conalpha                                      1                   opacity of console background
-scr_conbrightness                                 1                   brightness of console background (0 = black, 1 = image)
-scr_conforcewhiledisconnected                     1                   forces fullscreen console while disconnected
-scr_menuforcewhiledisconnected                    0                   forces menu while disconnected
-scr_printspeed                                    8                   speed of intermission printing (episode end texts)
-scr_refresh                                       1                   allows you to completely shut off rendering for benchmarking purposes
-scr_screenshot_gammaboost                         1                   gamma correction on saved screenshots and videos, 1.0 saves unmodified images
-scr_screenshot_jpeg                               1                   save jpeg instead of targa
-scr_screenshot_jpeg_quality                       0.9                 image quality of saved jpeg
-scr_screenshot_name                               dp                  prefix name for saved screenshots (changes based on -game commandline, as well as which game mode is running)
-scr_stipple                                       0                   interlacing-like stippling of the display
-scr_zoomwindow                                    0                   displays a zoomed in overlay window
-scr_zoomwindow_fov                                20                  fov of zoom window
-scr_zoomwindow_viewsizex                          20                  horizontal viewsize of zoom window
-scr_zoomwindow_viewsizey                          20                  vertical viewsize of zoom window
-scratch1                                          0                   unused cvar in quake, can be used by mods
-scratch2                                          0                   unused cvar in quake, can be used by mods
-scratch3                                          0                   unused cvar in quake, can be used by mods
-scratch4                                          0                   unused cvar in quake, can be used by mods
-sensitivity                                       3                   mouse speed multiplier
-showbrand                                         0                   shows gfx/brand.tga in a corner of the screen (different values select different positions, including centered)
-showdate                                          0                   shows current date (useful on screenshots)
-showdate_format                                   %Y-%m-%d            format string for date
-showfps                                           0                   shows your rendered fps (frames per second)
-showpause                                         1                   show pause icon when game is paused
-showram                                           1                   show ram icon if low on surface cache memory (not used)
-showspeed                                         0                   shows your current speed (qu per second); number selects unit: 1 = qups, 2 = m/s, 3 = km/h, 4 = mph, 5 = knots
-showtime                                          0                   shows current time of day (useful on screenshots)
-showtime_format                                   %H:%M:%S            format string for time of day
-showturtle                                        0                   show turtle icon when framerate is too low (not used)
-skill                                             1                   difficulty level of game, affects monster layouts in levels, 0 = easy, 1 = normal, 2 = hard, 3 = nightmare (same layout as hard but monsters fire twice)
-skin                                                                  QW player skin name (example: base)
-slowmo                                            1.0                 controls game speed, 0.5 is half speed, 2 is double speed
-snd_channellayout                                 0                   channel layout. Can be 0 (auto - snd_restart needed), 1 (standard layout), or 2 (ALSA layout)
-snd_channels                                      2                   number of channels for the sound ouput (2 for stereo; up to 8 supported for 3D sound)
-snd_initialized                                   0                   indicates the sound subsystem is active
-snd_noextraupdate                                 0                   disables extra sound mixer calls that are meant to reduce the chance of sound breakup at very low framerates
-snd_precache                                      1                   loads sounds before they are used
-snd_show                                          0                   shows some statistics about sound mixing
-snd_soundradius                                   1000                radius of weapon sounds and other standard sound effects (monster idle noises are half this radius and flickering light noises are one third of this radius)
-snd_speed                                         48000               sound output frequency, in hertz
-snd_staticvolume                                  1                   volume of ambient sound effects (such as swampy sounds at the start of e1m2)
-snd_streaming                                     1                   enables keeping compressed ogg sound files compressed, decompressing them only as needed, otherwise they will be decompressed completely at load (may use a lot of memory)
-snd_swapstereo                                    0                   swaps left/right speakers for old ISA soundblaster cards
-snd_width                                         2                   sound output precision, in bytes (1 and 2 supported)
-sv_accelerate                                     10                  rate at which a player accelerates to sv_maxspeed
-sv_adminnick                                                          nick name to use for admin messages instead of host name
-sv_aim                                            2                   maximum cosine angle for quake's vertical autoaim, a value above 1 completely disables the autoaim, quake used 0.93
-sv_airaccelerate                                  -1                  rate at which a player accelerates to sv_maxairspeed while in the air, if less than 0 the sv_accelerate variable is used instead
-sv_allowdownloads                                 1                   whether to allow clients to download files from the server (does not affect http downloads)
-sv_allowdownloads_archive                         0                   whether to allow downloads of archives (pak/pk3)
-sv_allowdownloads_config                          0                   whether to allow downloads of config files (cfg)
-sv_allowdownloads_dlcache                         0                   whether to allow downloads of dlcache files (dlcache/)
-sv_allowdownloads_inarchive                       0                   whether to allow downloads from archives (pak/pk3)
-sv_areagrid_mingridsize                           64                  minimum areagrid cell size, smaller values work better for lots of small objects, higher values for large objects
-sv_cheats                                         0                   enables cheat commands in any game, and cheat impulses in dpmod
-sv_clmovement_enable                              1                   whether to allow clients to use cl_movement prediction, which can cause choppy movement on the server which may annoy other players
-sv_clmovement_minping                             0                   if client ping is below this time in milliseconds, then their ability to use cl_movement prediction is disabled for a while (as they don't need it)
-sv_clmovement_minping_disabletime                 1000                when client falls below minping, disable their prediction for this many milliseconds (should be at least 1000 or else their prediction may turn on/off frequently)
-sv_clmovement_inputtimeout                        0.2                 when a client does not send input for this many seconds, force them to move anyway (unlike QuakeWorld)
-sv_cullentities_nevercullbmodels                  0                   if enabled the clients are always notified of moving doors and lifts and other submodels of world (warning: eats a lot of network bandwidth on some levels!)
-sv_cullentities_pvs                               1                   fast but loose culling of hidden entities
-sv_cullentities_stats                             0                   displays stats on network entities culled by various methods for each client
-sv_cullentities_trace                             0                   somewhat slow but very tight culling of hidden entities, minimizes network traffic and makes wallhack cheats useless
-sv_cullentities_trace_delay                       1                   number of seconds until the entity gets actually culled
-sv_cullentities_trace_enlarge                     0                   box enlargement for entity culling
-sv_cullentities_trace_prediction                  1                   also trace from the predicted player position
-sv_cullentities_trace_samples                     1                   number of samples to test for entity culling
-sv_cullentities_trace_samples_extra               2                   number of samples to test for entity culling when the entity affects its surroundings by e.g. dlight
-sv_curl_defaulturl                                                    default autodownload source URL
-sv_curl_serverpackages                                                list of required files for the clients, separated by spaces
-sv_debugmove                                      0                   disables collision detection optimizations for debugging purposes
-sv_echobprint                                     1                   prints gamecode bprint() calls to server console
-sv_entpatch                                       1                   enables loading of .ent files to override entities in the bsp (for example Threewave CTF server pack contains .ent patch files enabling play of CTF on id1 maps)
-sv_fixedframeratesingleplayer                     0                   allows you to use server-style timing system in singleplayer (don't run faster than sys_ticrate)
-sv_freezenonclients                               0                   freezes time, except for players, allowing you to walk around and take screenshots of explosions
-sv_friction                                       4                   how fast you slow down
-sv_gameplayfix_blowupfallenzombies                1                   causes findradius to detect SOLID_NOT entities such as zombies and corpses on the floor, allowing splash damage to apply to them
-sv_gameplayfix_droptofloorstartsolid              1                   prevents items and monsters that start in a solid area from falling out of the level (makes droptofloor treat trace_startsolid as an acceptable outcome)
-sv_gameplayfix_findradiusdistancetobox            1                   causes findradius to check the distance to the corner of a box rather than the center of the box, makes findradius detect bmodels such as very large doors that would otherwise be unaffected by splash damage
-sv_gameplayfix_grenadebouncedownslopes            1                   prevents MOVETYPE_BOUNCE (grenades) from getting stuck when fired down a downward sloping surface
-sv_gameplayfix_noairborncorpse                    1                   causes entities (corpses) sitting ontop of moving entities (players) to fall when the moving entity (player) is no longer supporting them
-sv_gameplayfix_qwplayerphysics                    1                   changes water jumping to make it easier to get out of water, and prevents friction on landing when bunnyhopping
-sv_gameplayfix_setmodelrealbox                    1                   fixes a bug in Quake that made setmodel always set the entity box to ('-16 -16 -16', '16 16 16') rather than properly checking the model box, breaks some poorly coded mods
-sv_gameplayfix_stepdown                           0                   attempts to step down stairs, not just up them (prevents the familiar thud..thud..thud.. when running down stairs and slopes)
-sv_gameplayfix_stepwhilejumping                   1                   applies step-up onto a ledge even while airborn, useful if you would otherwise just-miss the floor when running across small areas with gaps (for instance running across the moving platforms in dm2, or jumping to the megahealth and red armor in dm2 rather than using the bridge)
-sv_gameplayfix_swiminbmodels                      1                   causes pointcontents (used to determine if you are in a liquid) to check bmodel entities as well as the world model, so you can swim around in (possibly moving) water bmodel entities
-sv_gameplayfix_upwardvelocityclearsongroundflag   1                   prevents monsters, items, and most other objects from being stuck to the floor when pushed around by damage, and other situations in mods
-sv_gravity                                        800                 how fast you fall (512 = roughly earth gravity)
-sv_heartbeatperiod                                120                 how often to send heartbeat in seconds (only used if sv_public is 1)
-sv_idealpitchscale                                0.8                 how much to look up/down slopes and stairs when not using freelook
-sv_jumpstep                                       0                   whether you can step up while jumping (sv_gameplayfix_stepwhilejumping must also be 1)
-sv_master1                                                            user-chosen master server 1
-sv_master2                                                            user-chosen master server 2
-sv_master3                                                            user-chosen master server 3
-sv_master4                                                            user-chosen master server 4
-sv_maxairspeed                                    30                  maximum speed a player can accelerate to when airborn (note that it is possible to completely stop by moving the opposite direction)
-sv_maxrate                                        10000               upper limit on client rate cvar, should reflect your network connection quality
-sv_maxspeed                                       320                 maximum speed a player can accelerate to when on ground (can be exceeded by tricks)
-sv_maxvelocity                                    2000                universal speed limit on all entities
-sv_newflymove                                     0                   enables simpler/buggier player physics (not recommended)
-sv_nostep                                         0                   prevents MOVETYPE_STEP entities (monsters) from moving
-sv_playerphysicsqc                                1                   enables QuakeC function to override player physics
-sv_progs                                          progs.dat           selects which quakec progs.dat file to run
-sv_protocolname                                   DP7                 selects network protocol to host for (values include QUAKE, QUAKEDP, NEHAHRAMOVIE, DP1 and up)
-sv_public                                         0                   1: advertises this server on the master server (so that players can find it in the server browser); 0: allow direct queries only; -1: do not respond to direct queries; -2: do not allow anyone to connect
-sv_qwmaster1                                                          user-chosen qwmaster server 1
-sv_qwmaster2                                                          user-chosen qwmaster server 2
-sv_qwmaster3                                                          user-chosen qwmaster server 3
-sv_qwmaster4                                                          user-chosen qwmaster server 4
-sv_random_seed                                                        random seed; when set, on every map start this random seed is used to initialize the random number generator. Don't touch it unless for benchmarking or debugging
-sv_ratelimitlocalplayer                           0                   whether to apply rate limiting to the local player in a listen server (only useful for testing)
-sv_sound_land                                     demon/dland2.wav    sound to play when MOVETYPE_STEP entity hits the ground at high speed (empty cvar disables the sound)
-sv_sound_watersplash                              misc/h2ohit1.wav    sound to play when MOVETYPE_FLY/TOSS/BOUNCE/STEP entity enters or leaves water (empty cvar disables the sound)
-sv_stepheight                                     18                  how high you can step up (TW_SV_STEPCONTROL extension)
-sv_stopspeed                                      100                 how fast you come to a complete stop
-sv_wallfriction                                   1                   how much you slow down when sliding along a wall
-sv_wateraccelerate                                -1                  rate at which a player accelerates to sv_maxspeed while in the air, if less than 0 the sv_accelerate variable is used instead
-sv_waterfriction                                  -1                  how fast you slow down, if less than 0 the sv_friction variable is used instead
-sys_colortranslation                              0                   terminal console color translation (supported values: 0 = strip color codes, 1 = translate to ANSI codes, 2 = no translation)
-sys_colortranslation                              1                   terminal console color translation (supported values: 0 = strip color codes, 1 = translate to ANSI codes, 2 = no translation)
-sys_specialcharactertranslation                   1                   terminal console conchars to ASCII translation (set to 0 if your conchars.tga is for an 8bit character set or if you want raw output)
-sys_ticrate                                       0.05                how long a server frame is in seconds, 0.05 is 20fps server rate, 0.1 is 10fps (can not be set higher than 0.1), 0 runs as many server frames as possible (makes games against bots a little smoother, overwhelms network players)
-sys_usetimegettime                                1                   use windows timeGetTime function (which has issues on some motherboards) for timing rather than QueryPerformanceCounter timer (which has issues on multicore/multiprocessor machines and processors which are designed to conserve power)
-team                                              none                QW team (4 character limit, example: blue)
-teamplay                                          0                   teamplay mode, values depend on mod but typically 0 = no teams, 1 = no team damage no self damage, 2 = team damage and self damage, some mods support 3 = no team damage but can damage self
-temp1                                             0                   general cvar for mods to use, in stock id1 this selects which death animation to use on players (0 = random death, other values select specific death scenes)
-timeformat                                        [%Y-%m-%d %H:%M:%S] time format to use on timestamped console messages
-timelimit                                         0                   ends level at this time (in minutes)
-timestamps                                        0                   prints timestamps on console messages
-v_brightness                                      0                   brightness of black, useful for monitors that are too dark
-v_centermove                                      0.15                how long before the view begins to center itself (if freelook/+mlook/+jlook/+klook are off)
-v_centerspeed                                     500                 how fast the view centers itself
-v_color_black_b                                   0                   desired color of black
-v_color_black_g                                   0                   desired color of black
-v_color_black_r                                   0                   desired color of black
-v_color_enable                                    0                   enables black-grey-white color correction curve controls
-v_color_grey_b                                    0.5                 desired color of grey
-v_color_grey_g                                    0.5                 desired color of grey
-v_color_grey_r                                    0.5                 desired color of grey
-v_color_white_b                                   1                   desired color of white
-v_color_white_g                                   1                   desired color of white
-v_color_white_r                                   1                   desired color of white
-v_contrast                                        1                   brightness of white (values above 1 give a brighter image with increased color saturation, unlike v_gamma)
-v_deathtilt                                       1                   whether to use sideways view when dead
-v_deathtiltangle                                  80                  what roll angle to use when tilting the view while dead
-v_gamma                                           1                   inverse gamma correction value, a brightness effect that does not affect white or black, and tends to make the image grey and dull
-v_hwgamma                                         1                   enables use of hardware gamma correction ramps if available (note: does not work very well on Windows2000 and above), values are 0 = off, 1 = attempt to use hardware gamma, 2 = use hardware gamma whether it works or not
-v_idlescale                                       0                   how much of the quake 'drunken view' effect to use
-v_ipitch_cycle                                    1                   v_idlescale pitch speed
-v_ipitch_level                                    0.3                 v_idlescale pitch amount
-v_iroll_cycle                                     0.5                 v_idlescale roll speed
-v_iroll_level                                     0.1                 v_idlescale roll amount
-v_iyaw_cycle                                      2                   v_idlescale yaw speed
-v_iyaw_level                                      0.3                 v_idlescale yaw amount
-v_kickpitch                                       0.6                 how much a view kick from damage pitches your view
-v_kickroll                                        0.6                 how much a view kick from damage rolls your view
-v_kicktime                                        0.5                 how long a view kick from damage lasts
-v_psycho                                          0                   easter egg (does not work on Windows2000 or above)
-vid_bitsperpixel                                  32                  how many bits per pixel to render at (32 or 16, 32 is recommended)
-vid_conheight                                     480                 virtual height of 2D graphics system
-vid_conwidth                                      640                 virtual width of 2D graphics system
-vid_dgamouse                                      1                   make use of DGA mouse input
-vid_fullscreen                                    1                   use fullscreen (1) or windowed (0)
-vid_grabkeyboard                                  1                   whether to grab the keyboard when mouse is active (prevents use of volume control keys, music player keys, etc on some keyboards)
-vid_hardwaregammasupported                        1                   indicates whether hardware gamma is supported (updated by attempts to set hardware gamma ramps)
-vid_height                                        480                 resolution
-vid_minheight                                     0                   minimum vid_height that is acceptable (to be set in default.cfg in mods)
-vid_minwidth                                      0                   minimum vid_width that is acceptable (to be set in default.cfg in mods)
-vid_mouse                                         1                   whether to use the mouse in windowed mode (fullscreen always does)
-vid_pixelheight                                   1                   adjusts vertical field of vision to account for non-square pixels (1280x1024 on a CRT monitor for example)
-vid_refreshrate                                   60                  refresh rate to use, in hz (higher values flicker less, if supported by your monitor)
-vid_stereobuffer                                  0                   enables 'quad-buffered' stereo rendering for stereo shutterglasses, HMD (head mounted display) devices, or polarized stereo LCDs, if supported by your drivers
-vid_vsync                                         0                   sync to vertical blank, prevents 'tearing' (seeing part of one frame and part of another on the screen at the same time), automatically disabled when doing timedemo benchmarks
-vid_width                                         640                 resolution
-viewsize                                          100                 how large the view should be, 110 disables inventory bar, 120 disables status bar
-volume                                            0.7                 volume of sound effects
-
-
-
-Full console command list as of 2007-03-11:
-+attack                                           begin firing
-+back                                             move backward
-+button3                                          activate button3 (behavior depends on mod)
-+button4                                          activate button4 (behavior depends on mod)
-+button5                                          activate button5 (behavior depends on mod)
-+button6                                          activate button6 (behavior depends on mod)
-+button7                                          activate button7 (behavior depends on mod)
-+button8                                          activate button8 (behavior depends on mod)
-+button9                                          activate button9 (behavior depends on mod)
-+button10                                         activate button10 (behavior depends on mod)
-+button11                                         activate button11 (behavior depends on mod)
-+button12                                         activate button12 (behavior depends on mod)
-+button13                                         activate button13 (behavior depends on mod)
-+button14                                         activate button14 (behavior depends on mod)
-+button15                                         activate button15 (behavior depends on mod)
-+button16                                         activate button16 (behavior depends on mod)
-+forward                                          move forward
-+jump                                             jump
-+klook                                            activate keyboard looking mode, do not recenter view
-+left                                             turn left
-+lookdown                                         look downward
-+lookup                                           look upward
-+mlook                                            activate mouse looking mode, do not recenter view
-+movedown                                         swim downward
-+moveleft                                         strafe left
-+moveright                                        strafe right
-+moveup                                           swim upward
-+right                                            turn right
-+showscores                                       show scoreboard
-+speed                                            activate run mode (faster movement and turning)
-+strafe                                           activate strafing mode (move instead of turn)
-+use                                              use something (may be used by some mods)
--attack                                           stop firing
--back                                             stop moving backward
--button3                                          deactivate button3
--button4                                          deactivate button4
--button5                                          deactivate button5
--button6                                          deactivate button6
--button7                                          deactivate button7
--button8                                          deactivate button8
--button9                                          deactivate button9
--button10                                         deactivate button10
--button11                                         deactivate button11
--button12                                         deactivate button12
--button13                                         deactivate button13
--button14                                         deactivate button14
--button15                                         deactivate button15
--button16                                         deactivate button16
--forward                                          stop moving forward
--jump                                             end jump (so you can jump again)
--klook                                            deactivate keyboard looking mode
--left                                             stop turning left
--lookdown                                         stop looking downward
--lookup                                           stop looking upward
--mlook                                            deactivate mouse looking mode
--movedown                                         stop swimming downward
--moveleft                                         stop strafing left
--moveright                                        stop strafing right
--moveup                                           stop swimming upward
--right                                            stop turning right
--showscores                                       hide scoreboard
--speed                                            deactivate run mode
--strafe                                           deactivate strafing mode
--use                                              stop using something
-alias                                             create a script function (parameters are passed in as $1 through $9, and $* for all parameters)
-begin                                             signon 3 (client asks server to start sending entities, and will go to signon 4 (playing) when the first entity update is received)
-bestweapon                                        send an impulse number to server to select the first usable weapon out of several (example: 8 7 6 5 4 3 2 1)
-bf                                                briefly flashes a bright color tint on view (used when items are picked up)
-bind                                              binds a command to the specified key in bindmap 0
-bottomcolor                                       QW command to set bottom color without changing top color
-cd                                                execute a CD drive command (cd on/off/reset/remap/close/play/loop/stop/pause/resume/eject/info) - use cd by itself for usage
-cddrive                                           select an SDL-detected CD drive by number
-centerview                                        gradually recenter view (stop looking up/down)
-changelevel                                       change to another level, bringing along all connected clients
-changing                                          sent by qw servers to tell client to wait for level change
-cycleweapon                                       send an impulse number to server to select the next usable weapon out of several, or the first if you are not holding any (example: 8 7 3)
-cl_areastats                                      prints statistics on entity culling during collision traces
-cl_begindownloads                                 used internally by darkplaces client while connecting (causes loading of models and sounds or triggers downloads for missing ones)
-cl_downloadbegin                                  (networking) informs client of download file information, client replies with sv_startsoundload to begin the transfer
-cl_downloadfinished                               signals that a download has finished and provides the client with file size and crc to check its integrity
-cl_particles_reloadeffects                        reloads effectinfo.txt
-clear                                             clear console history
-cmd                                               send a console commandline to the server (used by some mods)
-cmdlist                                           lists all console commands beginning with the specified prefix
-color                                             change your player shirt and pants colors
-condump                                           output console history to a file (see also log_file)
-connect                                           connect to a server by IP address or hostname
-curl                                              download data from an URL and add to search path
-cvar_lockdefaults                                 stores the current values of all cvars into their default values, only used once during startup after parsing default.cfg
-cvar_resettodefaults_all                          sets all cvars to their locked default values
-cvar_resettodefaults_nosaveonly                   sets all non-saved cvars to their locked default values (variables that will not be saved to config.cfg)
-cvar_resettodefaults_saveonly                     sets all saved cvars to their locked default values (variables that will be saved to config.cfg)
-cvarlist                                          lists all console variables beginning with the specified prefix
-demos                                             restart looping demos defined by the last startdemos command
-dir                                               list files in searchpath matching an * filename pattern, one per line
-disconnect                                        disconnect from server (or disconnect all clients if running a server)
-download                                          downloads a specified file from the server
-echo                                              print a message to the console (useful in scripts)
-entities                                          print information on network entities known to client
-envmap                                            render a cubemap (skybox) of the current scene
-exec                                              execute a script file
-fly                                               fly mode (flight)
-fog                                               set global fog parameters (density red green blue mindist maxdist)
-force_centerview                                  recenters view (stops looking up/down)
-fs_rescan                                         rescans filesystem for new pack archives and any other changes
-fullinfo                                          allows client to modify their userinfo
-fullserverinfo                                    internal use only, sent by server to client to update client's local copy of serverinfo string
-gamedir                                           changes active gamedir list (can take multiple arguments), not including base directory (example usage: gamedir ctf)
-give                                              alter inventory
-gl_texturemode                                    set texture filtering mode (GL_NEAREST, GL_LINEAR, GL_LINEAR_MIPMAP_LINEAR, etc)
-god                                               god mode (invulnerability)
-heartbeat                                         send a heartbeat to the master server (updates your server information)
-help                                              open the help menu
-impulse                                           send an impulse number to server (select weapon, use item, etc)
-in_bind                                           binds a command to the specified key in the selected bindmap
-in_bindmap                                        selects active foreground and background (used only if a key is not bound in the foreground) bindmaps for typing
-in_unbind                                         removes command on the specified key in the selected bindmap
-joyadvancedupdate                                 applies current joyadv* cvar settings to the joystick driver
-kick                                              kick a player off the server by number or name
-kill                                              die instantly
-load                                              load a saved game file
-loadconfig                                        reset everything and reload configs
-loadsky                                           load a skybox by basename (for example loadsky mtnsun_ loads mtnsun_ft.tga and so on)
-locs_add                                          add a point or box location (usage: x y z[ x y z] \
-locs_clear                                        remove all loc points/boxes
-locs_reload                                       reload .loc file for this map
-locs_removenearest                                remove the nearest point or box (note: you need to be very near a box to remove it)
-locs_save                                         save .loc file for this map containing currently defined points and boxes
-ls                                                list files in searchpath matching an * filename pattern, multiple per line
-map                                               kick everyone off the server and start a new level
-maps                                              list information about available maps
-maxplayers                                        sets limit on how many players (or bots) may be connected to the server at once
-memlist                                           prints memory pool information (or if used as memlist 5 lists individual allocations of 5K or larger, 0 lists all allocations)
-memstats                                          prints memory system statistics
-menu_credits                                      open the credits menu
-menu_fallback                                     switch to engine menu (unload menu.dat)
-menu_keys                                         open the key binding menu
-menu_load                                         open the loadgame menu
-menu_main                                         open the main menu
-menu_multiplayer                                  open the multiplayer menu
-menu_options                                      open the options menu
-menu_options_colorcontrol                         open the color control menu
-menu_options_effects                              open the effects options menu
-menu_options_graphics                             open the graphics options menu
-menu_quit                                         open the quit menu
-menu_reset                                        open the reset to defaults menu
-menu_restart                                      restart menu system (reloads menu.dat
-menu_save                                         open the savegame menu
-menu_setup                                        open the player setup menu
-menu_singleplayer                                 open the singleplayer menu
-menu_transfusion_episode                          open the transfusion episode select menu
-menu_transfusion_skill                            open the transfusion skill select menu
-menu_video                                        open the video options menu
-messagemode                                       input a chat message to say to everyone
-messagemode2                                      input a chat message to say to only your team
-modellist                                         prints a list of loaded models
-modelprecache                                     load a model
-name                                              change your player name
-net_slist                                         query dp master servers and print all server information
-net_slistqw                                       query qw master servers and print all server information
-net_stats                                         print network statistics
-nextul                                            sends next fragment of current upload buffer (screenshot for example)
-noclip                                            noclip mode (flight without collisions, move through walls)
-notarget                                          notarget mode (monsters do not see you)
-packet                                            send a packet to the specified address:port containing a text string
-path                                              print searchpath (game directories and archives)
-pause                                             pause the game (if the server allows pausing)
-pausedemo                                         pause demo playback (can also safely pause demo recording if using QUAKE, QUAKEDP or NEHAHRAMOVIE protocol, useful for making movies)
-ping                                              print ping times of all players on the server
-pingplreport                                      command sent by server containing client ping and packet loss values for scoreboard, triggered by pings command from client (not used by QW servers)
-pings                                             command sent by clients to request updated ping and packetloss of players on scoreboard (originally from QW, but also used on NQ servers)
-play                                              play a sound at your current location (not heard by anyone else)
-play2                                             play a sound globally throughout the level (not heard by anyone else)
-playdemo                                          watch a demo file
-playermodel                                       change your player model
-playerskin                                        change your player skin number
-playvideo                                         play a .dpv video file
-playvol                                           play a sound at the specified volume level at your current location (not heard by anyone else)
-pmodel                                            change your player model choice (Nehahra specific)
-pointfile                                         display point file produced by qbsp when a leak was detected in the map (a line leading through the leak hole, to an entity inside the level)
-prespawn                                          signon 1 (client acknowledges that server information has been received)
-prvm_edict                                        print all data about an entity number in the selected VM (server, client, menu)
-prvm_edictcount                                   prints number of active entities in the selected VM (server, client, menu)
-prvm_edicts                                       set a property on an entity number in the selected VM (server, client, menu)
-prvm_edictset                                     changes value of a specified property of a specified entity in the selected VM (server, client, menu)
-prvm_fields                                       prints usage statistics on properties (how many entities have non-zero values) in the selected VM (server, client, menu)
-prvm_global                                       prints value of a specified global variable in the selected VM (server, client, menu)
-prvm_globals                                      prints all global variables in the selected VM (server, client, menu)
-prvm_globalset                                    sets value of a specified global variable in the selected VM (server, client, menu)
-prvm_printfunction                                prints a disassembly (QuakeC instructions) of the specified function in the selected VM (server, client, menu)
-prvm_profile                                      prints execution statistics about the most used QuakeC functions in the selected VM (server, client, menu)
-quit                                              quit the game
-r_editlights_clear                                removes all world lights (let there be darkness!)
-r_editlights_copyinfo                             store a copy of all properties (except origin) of the selected light
-r_editlights_edit                                 changes a property on the selected light
-r_editlights_editall                              changes a property on ALL lights at once (tip: use radiusscale and colorscale to alter these properties)
-r_editlights_help                                 prints documentation on console commands and variables in rtlight editing system
-r_editlights_importlightentitiesfrommap           load lights from .ent file or map entities (ignoring .rtlights or .lights file)
-r_editlights_importlightsfile                     load lights from .lights file (ignoring .rtlights or .ent files and map entities)
-r_editlights_pasteinfo                            apply the stored properties onto the selected light (making it exactly identical except for origin)
-r_editlights_reload                               reloads rtlights file (or imports from .lights file or .ent file or the map itself)
-r_editlights_remove                               remove selected light
-r_editlights_save                                 save .rtlights file for current level
-r_editlights_spawn                                creates a light with default properties (let there be light!)
-r_editlights_togglecorona                         toggle on/off the corona option on the selected light
-r_editlights_toggleshadow                         toggle on/off the shadow option on the selected light
-r_glsl_restart                                    unloads GLSL shaders, they will then be reloaded as needed
-r_listmaptextures                                 list all textures used by the current map
-r_replacemaptexture                               override a map texture for testing purposes
-r_restart                                         restarts renderer
-r_shadow_help                                     prints documentation on console commands and variables used by realtime lighting and shadowing system
-r_texturestats                                    print information about all loaded textures and some statistics
-rate                                              change your network connection speed
-rcon                                              sends a command to the server console (if your rcon_password matches the server's rcon_password), or to the address specified by rcon_address when not connected (again rcon_password must match the server's)
-reconnect                                         reconnect to the last server you were on, or resets a quakeworld connection (do not use if currently playing on a netquake server)
-record                                            record a demo
-restart                                           restart current level
-save                                              save the game to a file
-saveconfig                                        save settings to config.cfg immediately (also automatic when quitting)
-say                                               send a chat message to everyone on the server
-say_team                                          send a chat message to your team on the server
-screenshot                                        takes a screenshot of the next rendered frame
-sendcvar                                          sends the value of a cvar to the server as a sentcvar command, for use by QuakeC
-set                                               create or change the value of a console variable
-seta                                              create or change the value of a console variable that will be saved to config.cfg
-setinfo                                           modifies your userinfo
-sizedown                                          decrease view size (decreases viewsize cvar)
-sizeup                                            increase view size (increases viewsize cvar)
-skins                                             downloads missing qw skins from server
-snd_unloadallsounds                               unload all sound files
-snd_restart                                       restart sound system
-soundinfo                                         print sound system information (such as channels and speed)
-soundlist                                         list loaded sounds
-spawn                                             signon 2 (client has sent player information, and is asking server to send scoreboard rankings)
-startdemos                                        start playing back the selected demos sequentially (used at end of startup script)
-status                                            print server status information
-stop                                              stop recording or playing a demo
-stopdemo                                          stop playing or recording demo (like stop command) and return to looping demos
-stopdownload                                      terminates a download
-stopsound                                         silence
-stopul                                            aborts current upload (screenshot for example)
-stopvideo                                         stop playing a .dpv video file
-stuffcmds                                         execute commandline parameters (must be present in quake.rc script)
-sv_areastats                                      prints statistics on entity culling during collision traces
-sv_saveentfile                                    save map entities to .ent file (to allow external editing)
-sv_startdownload                                  begins sending a file to the client (network protocol use only)
-tell                                              send a chat message to only one person on the server
-timedemo                                          play back a demo as fast as possible and save statistics to benchmark.log
-timerefresh                                       turn quickly and print rendering statistcs
-toggle                                            toggles a console variable's values (use for more info)
-toggleconsole                                     opens or closes the console
-togglemenu                                        opens or closes menu
-topcolor                                          QW command to set top color without changing bottom color
-unbind                                            removes a command on the specified key in bindmap 0
-unbindall                                         removes all commands from all keys in all bindmaps (leaving only shift-escape and escape)
-user                                              prints additional information about a player number or name on the scoreboard
-users                                             prints additional information about all players on the scoreboard
-v_cshift                                          sets tint color of view
-version                                           print engine version
-vid_restart                                       restarts video system (closes and reopens the window, restarts renderer)
-viewframe                                         change animation frame of viewthing entity in current level
-viewmodel                                         change model of viewthing entity in current level
-viewnext                                          change to next animation frame of viewthing entity in current level
-viewprev                                          change to previous animation frame of viewthing entity in current level
-wait                                              make script execution wait for next rendered frame
-which                                             accepts a file name as argument and reports where the file is taken from
-
-
-How to install Quake on Windows:
-All that DarkPlaces needs from the Quake CD is pak files (be sure not to copy opengl32.dll from the Quake CD, it will not work with DarkPlaces!), with this in mind, all you need to do is make a Quake directory, extract the darkplaces engine zip to that directory, then make a quake/id1 directory, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well.
-
-How to deal with a DOS Quake CD on Windows:
-Try to use the DOS Quake installer if you can, use DOSBox if necessary to run the installer, then copy the pak0.pak and pak1.pak to your id1 directory in the darkplaces installation.  ( http://dosbox.sourceforge.net )
-
-How to deal with a WinQuake CD on Windows:
-Copy the D:\Data\id1\pak0.pak and pak1.pak to your id1 directory.
-
-How to deal with a Linux Quake CD on Windows:
-Find an archiver (perhaps 7zip or winrar) that can extract files from rpm archives, locate the pak files and copy them to your id1 directory.
-
-
-
-How to install Quake on Linux:
-All that DarkPlaces needs from the Quake CD is pak files, with this in mind, all you need to do is make a ~/quake directory, extract the darkplaces engine zip to that directory, then make a quake/id1 directory, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well, you will probably also want to make a ~/bin/darkplaces script containing the following text:
-#!/bin/sh
-cd ~/quake
-./darkplaces-sdl $*
-Then do chmod +x ~/bin/darkplaces
-
-For more information on Quake installation on Linux see http://www.tldp.org/HOWTO/Quake-HOWTO.html" (the Linux Quake How To)
-
-How to deal with a DOS Quake CD on Linux:
-cat /media/cdrom/resource.001 /media/cdrom/resource.002 >quake.lha
-unlha x quake.lha
-If you can't get unlha or lha for your distribution, try using DOSBox to run the Quake installer.
-
-How to deal with a WinQuake CD on Linux:
-Copy the /media/cdrom/data/id1/pak*.pak to your id1 directory.
-
-How to deal with a Linux Quake CD on Linux:
-mkdir temp
-cd temp
-# in the following line replace quake.rpm with a correct rpm filename
-cat /media/cdrom/quake.rpm | rpm2cpio | cpio -i
-Now you should have a mess of subdirectories, locate the pak files and copy to your id1 directory.
-Alternatively if you have an rpm-based distribution you could install the rpm, but it is easier to maintain your ~/quake directory than /usr/share/games/quake so you may want to copy the id1/pak*.pak from there and uninstall the rpm.
-
-
-
-How to install Quake on Mac OS X:
-All that DarkPlaces needs from the Quake CD is pak files, with this in mind, make a folder named Quake, drag the Darkplaces.app into this Quake folder, make a folder inside the Quake folder (alongside Darkplaces) named id1, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well, simply run the Darkplaces app
-
-How to deal with a DOS Quake CD on Mac OS X:
-Unknown.  Linux solution may work if you can get hold of lha, otherwise use DOSBox to run the Quake installer.
-
-How to deal with a WinQuake CD on Mac OS X:
-Find the data folder on the cdrom and copy the data/id1/pak*.pak files to your id1 folder.
-
-How to deal with a Linux Quake CD on Mac OS X:
-Unknown.  If you can get hold of rpm2cpio and cpio you should be able to follow the Linux method.
-
-
-Shader parameters for DP's own features:
-- dp_reflect <distort> <r> <g> <b> <a>
-  Makes surfaces of this shader reflective with r_water. The reflection is
-  alpha blended on the texture with the given alpha, and modulated by the given
-  color. distort is used in conjunction with the normalmap to simulate a
-  nonplanar water surface.
-- dp_refract <distort> <r> <g> <b>
-  Makes surfaces of this shader refractive with r_water. The refraction
-  replaces the transparency of the texture. distort is used in conjunction with
-  the normalmap to simulate a nonplanar water surface.
-- dp_water <reflectmin> <reflectmax> <refractdistort> <reflectdistort> <refractr> <refractg> <refractb> <reflectr> <reflectg> <reflectb> <alpha>
-  This combines the effects of dp_reflect and dp_refract to simulate a water
-  surface. However, the refraction and the reflection are mixed using a Fresnel
-  equation that makes the amount of reflection slide from reflectmin when
-  looking parallel to the water to reflectmax when looking directly into the
-  water. The result of this reflection/refraction mix is then layered BELOW the
-  texture of the shader, so basically, it "fills up" the alpha values of the
-  water. The alpha value is a multiplicator for the alpha value on the texture
-  - set this to a small value like 0.1 to emphasize the reflection and make
-  the water transparent; but if r_water is 0, alpha isn't used, so the water can
-  be very visible then too.
-- tcmod page <width> <height> <delay>
-  The texture is shifted by 1/<width> every <delay> seconds, and by 1/<height>
-  every <delay>*<width> seconds. It is some sort of animmap replacement that keeps
-  all animation frames in a single texture.
-  To use it, make a texture with the frames aligned in a grid like this:
-    1   2   3   4
-    5   6   7   8
-  then align it in Radiant so only one of the animation frames can be seen on
-  the surface, and specify "tcmod page 4 2 0.1". DP will then display the frames
-  in order and the cycle will repeat every 0.8 seconds.
-
-
-
-Thanks to:
-Tomaz for adding features, fixing many bugs, and being generally helpful.
-Andreas 'Black' Kirsch for much work on the QuakeC VM (menu.dat, someday clprogs.dat) and other contributions.
-Mathieu 'Elric' Olivier for much work on the sound engine (especially the Ogg vorbis support)
-MoALTz for some bugfixes and cleanups
-Joseph Caporale for adding 5 mouse button support.
-KGB|romi for his contributions to the Quake community, including his rtlights project and many suggestions, his id1 romi_rtlights.pk3 is included in darkplaces mod releases.
-Zombie for making great levels and general DarkPlaces publicity.
-FrikaC for FrikQCC and FrikBot and general community support.
-Transfusion Project for recreating Blood in the world of Quake.
-de-we for the great icons.
-|Rain| for running my favorite anynet IRC server and his bot feh (which although a bit antisocial never seems to grow tired of being my calculator).
-VorteX for the DP_QC_GETTAGINFO extension.
-Ludwig Nussel for the ~/.games/darkplaces/ user directory support on non-Windows platforms (allowing games to be installed in a non-writable system location as is the standard on UNIX but still save configs to the user's home directory).
+DarkPlaces engine readme : updated 20070311:\r
+\r
+About the DarkPlaces glquake engine:\r
+DarkPlaces engine was started because I was unsatisfied with the other engines available soon after the quake source release (which did little more than add some flashy effects), and craved modding features for my DarkPlaces mod, and wanted some real enhancements to the online gaming experience as well.\r
+\r
+DarkPlaces engine is the result, I hope everyone likes it.\r
+\r
+I am not very good at writing documentation, so this readme is organized as a feature list, with information on each feature, I hope it is still adequate documentation.\r
+\r
+If you have any suggestions for features to document in detail in the readme or any other questions/comments/bugreports/suggestions/etc, send me an email with the address lordhavoc ghdigital com (add @ and . characters as appropriate)\r
+\r
+\r
+\r
+\r
+Input Tips:\r
+If mouse movement is jerky but framerate is high, try typing "gl_finish 1" (without quotes) into the console (makes cpu wait for gpu before ending frame, which gives lousy input drivers a chance to catch up).\r
+\r
+\r
+\r
+Graphics Tips:\r
+Visit the Color Control submenu of Options, it's near the top, fiddle with gamma (or grey level if using the color levels mode) until the grey box surrounding the white/black dither pattern matches up with the grey you see while looking at the dither from a distance, this will calibrate quake to look approximately as id Software intended, and ensure everyone sees it the same. Note: Different resolutions may be different intensities depending on monitor. Note2: ATI Radeon Catalyst 3.10 drivers seem to have a weird gamma limiting 'feature' which rejects gamma settings it doesn't like, feel free to complain to ATI about this if it gets in your way (it probably will).\r
+\r
+Visit the Effects Options submenu of Options, and check out the options.\r
+\r
+\r
+\r
+Networking tips:\r
+Visit the Player Setup submenu of the Multiplayer menu to configure your network speed (as well as the usual settings from quake like name and colors).\r
+\r
+To host a server behind a router/firewall, simply set up a port forward on the UDP port you are running the server on (default is 26000), to forward incoming UDP packets on that port to the server, then people can connect.\r
+\r
+To make your server show up on the server browser (in the Join Game menu), either set sv_public 1 in the console, or use the multiplayer new game menu and check the Public server checkbox.\r
+\r
+\r
+\r
+Supported games:\r
+Quake : -quake, this is active by default, gamedirs: id1\r
+Quake: Scourge of Armagon : -hipnotic or hipnotic in executable name or path, gamedirs: hipnotic, id1\r
+Quake: Dissolution of Eternity : -rogue or rogue in executable name or path, gamedirs: rogue, id1\r
+Nexuiz : -nexuiz or nexuiz in executable name or path, gamedirs: data\r
+Nehahra : -nehahra or nehahra in executable name or path, gamedirs: nehahra, id1\r
+GoodVsBad2 : -goodvsbad2 or gvb2 in executable name or path, gamedirs: rts\r
+BattleMech : -battlemech or battlemech in executable name or path, gamedirs: base\r
+PrydonGate : -prydon or prydon in executable name or path, gamedirs: prydon\r
+These games are considered officially supported, if any problems are seen, please make sure you are running the latest version of the game and engine, if you are, please report the problem.\r
+\r
+\r
+\r
+Graphics features:\r
+Redesigned effects including smoke, blood, bubbles and explosions.\r
+Better looking dynamic lights.\r
+External texture support (see Replacement Content section below)\r
+Realtime bumpmapped lighting/shadowing support (r_shadow_realtime_world cvar) with many options.  (note: very slow if you do not have .rtlights files installed, be sure to get some from dpmod or search on the web for rtlights files)\r
+.rtlights file support (improves performance/appearance of realtime lighting)\r
+.rtlights file editing (see r_editlights_help in game)\r
+Alpha blended sprites (instead of glquake's masked sprites).\r
+Interpolated entity movement and animations (both models and sprites).\r
+Overbright and fullbright support on walls and models (like winquake).\r
+Colormapping support on any q1 model (like winquake).\r
+Fog (set with "fog density red green blue" command)\r
+Skybox (loadsky "mtnsun_" will load "env/mtnsun_ft.tga" and so on).\r
+Sky rendering improved (no more glquake distortion).\r
+Sky polygons obscure geometry just like in winquake.\r
+Color calibration menu to ensure a proper Quake experience.\r
+Improved model lighting (directional shading).\r
+No messy .ms2 model mesh files (no glquake dir anymore either).\r
+New improved crosshair (team color coded).\r
+Improved image loading (smoother menus and such).\r
+Ability to disable particle effects (cl_particles* cvars).\r
+Decals (cl_decals cvar to enable).\r
+Stainmaps (cl_stainmap cvar to enable).\r
+Sorted transparent stuff to render better.\r
+Improved multitexture support (r_textureunits (1-4 supported), needs gl_combine 1 because of overbright)\r
+Improved chase cam (chase_active 1 no longer goes into walls)\r
+More configurable console background (scr_conalpha and scr_conbrightness)\r
+Optional fullbrights (r_fullbrights 0/1 followed by r_restart)\r
+Dynamic Farclip (no distance limits in huge maps)\r
+Improved gl_flashblend (now renders a corona instead of an ugly blob)\r
+DynamicLight coronas (more realism)\r
+Transparent statusbar (sbar_alpha) that does not block your view as much.\r
+No 8bit texture uploads (fixes 'green' walls in the distance).\r
+Fixed view blends (glquake was quite broken).\r
+JPEG texture support using libjpeg (Thanks Elric)\r
+Video Options, Color Control, and Effects Options menus added, and more options.\r
+.dlit file support (produced by hmap2 -light) for fast per-pixel lighting without shadowing.\r
+pointfile command is improved (for leak finding in maps when you have a .pnt file from a failed qbsp compile)\r
+configurable particle effects (effectinfo.txt, can be reloaded at any time by cl_particles_reloadeffects command for quick testing)\r
+fixed envmap command (makes a skybox of the current scene)\r
+\r
+\r
+\r
+Sound features:\r
+Ogg and wav file overrides for cd tracks (example: sound/cdtracks/track01.ogg or .wav) (Thanks Elric)\r
+Streaming ogg sounds to save memory (Ogg sounds over a certain size are streamed automatically) (Thanks Elric)\r
+Ogg Vorbis sound support (all .wav sounds look for .ogg if the .wav is missing, useful for making mods smaller, particularly useful for cd tracks) (Thanks Elric)\r
+Stereo sound file support (useful for cd tracks)\r
+7.1 surround sound mixing support (snd_channels cvar selects how many to use, default 2 for stereo)\r
+\r
+\r
+\r
+Client features:\r
+showtime cvar.\r
+showdate cvar.\r
+-benchmark option to run automated timedemo benchmarks (-benchmark demo1 does +timedemo demo1 and quits immediately when finished)\r
+timedemo automatically puts results in gamedir/benchmark.log\r
+Slightly improved aiming on quake servers (does not support proquake aiming).\r
+-sndspeed samplerate (default: 44100, quake used 11025)\r
+snd_swapstereo cvar (for people with backwards SB16 sound cards)\r
+Saves video settings to config and restores them properly\r
+Ability to change video settings during game (video options menu or vid_* cvars)\r
+showfps cvar.\r
+Sends 20fps network packets to improve modem play instead of one per frame. (sys_ticrate controls network framerate)\r
+Allow skin colormaps 14 and 15 (freaky :)\r
+Longer chat messages.\r
+No more 72fps limit, cl_maxfps lets you decide.\r
+Support for more mouse buttons (mouse1-mouse16, mwheelup/mwheeldown are aliases to mouse4 and mouse5).\r
+Server browser for public (sv_public 1) darkplaces servers as well as quakeworld servers.\r
+log_file cvar to log console messages to a file.\r
+condump command to dump recent console history to a file.\r
+PK3 archive support with compression support using zlib (Thanks Elric)\r
+maps command lists installed maps\r
+tab completion of map names on map/changelevel commands\r
+tab completion of rcon commands\r
+.ent file replacement allows you to modify sky and fog settings on a per-map basis (use sv_saveentfile command in singleplayer and then edit the worldspawn entity in a text editor, for example setting "sky" "mtnsun_" to load the skybox mtnsun_ in your favorite maps, or "fog" "0.03 0.2 0.2 0.2" to put fog in the level)\r
+Switchable bindmaps (in_bind command allows you to bind keys in one of 8 bindmaps, 0-7, in_bindmap command allows you to select two active bindmaps to use at once, ones missing in the first are checked in the second)\r
+Options menu "Reset to Defaults" option works better than in Quake\r
+cvarlist and cmdlist commands\r
+improved tab completion of commands and cvars, with default value and description listed\r
+curl command (downloads a URL to a pk3 archive and loads it)\r
+fs_rescan command (allows you to load a newly installed pak/pk3 archive without quitting the game)\r
+saveconfig command (allows you to save settings before quitting the game, mostly useful when debugging the engine if you expect it to crash)\r
+gamedir command to change current mod (only works while disconnected).\r
+QuakeWorld support.\r
+ProQuake message macros (%l location, %d last death location, %h health, %a armor, %x rockets, %c cells, %t current time, %r rocket launcher status (I need RL, I need rockets, I have RL), %p powerup status (quad pent ring), %w weapon status (SSG:NG:SNG:GL:RL:LG).\r
+Support for ProQuake .loc files (locs/e1m1.loc or maps/e1m1.loc)\r
+Support for QIZMO .loc files (maps/e1m1.loc)\r
+Ingame editing of .loc files using locs_* commands (locs_save saves a new .loc file to maps directory)\r
+bestweapon command (takes a number sequence like bestweapon 87654321, digits corresponding to weapons, first ones are preferred over last ones, only uses weapons that have 1 ammo or more)\r
+ls and dir commands to list files in the Quake virtual filesystem (useful to find files inside paks)\r
+toggle command allows you to use a single bind to toggle a cvar between 0 and 1\r
+slowmo cvar allows you to pause/slow down/speed up demo playback (try using these binds for example: bind f1 "slowmo 0";bind f2 "slowmo 0.1";bind f3 "slowmo 1")\r
+AVI video recording using builtin I420 codec (bind f4 "toggle cl_capturevideo"), with automatic creation of sequentially numbered avi files for each recording session.  (WARNING: HUGE files, make sure you have several gigabytes of disk space available!  and it is only recommended during demo playback!  You will probably want to reencode these videos using VirtualDub, mencoder, or other utilities before posting them on a website)\r
+ping display in scoreboard, even on Quake servers (on DarkPlaces servers it also shows packet loss)\r
+\r
+\r
+\r
+Server features:\r
+Allows clients to connect through firewalls (automatic feature)\r
+Works behind firewalls unlike NetQuake (must port forward UDP packets on the relevant port from the firewall to the server, as with any game)\r
+More accurate movement and precise aiming.\r
+255 player support.\r
+sv_cheats cvar controls cheats (no longer based on deathmatch).\r
+slowmo cvar controls game speed.\r
+No crash with the buggy 'teleport train' in shub's pit.\r
+Allow skin colormaps 14 and 15 (freaky :)\r
+sys_ticrate applies to listen (client) servers as well as dedicated.\r
+sv_public cvar to advertise to master server.\r
+log_file cvar to log console messages to a file.\r
+condump command to dump recent console history to a file.\r
+PK3 archive support with compression support using zlib (Thanks Elric)\r
+Option to prevent wallhacks from working (sv_cullentities_trace 1).\r
+Selectable protocol (sv_protocolname QUAKE for example allows quake clients to play, default is sv_protocolname DP7 or a later protocol)\r
+Automatic file downloads to DarkPlaces clients.\r
+Ability to send URLs to DarkPlaces clients to download pk3 archives needed to play on this server.\r
+rcon support for remote administration by trusted clients with matching rcon_password, or external quakeworld rcon tools\r
+prvm_edictset, prvm_global, prvm_globals, and prvm_globalset commands aid in QuakeC debugging\r
+prvm_printfunction function prints out the QuakeC assembly opcodes of a function, can be useful if you can't decompile the progs.dat file\r
+prvm_profile command gives call count and estimated builtin-function cost\r
+sys_colortranslation cvar controls processing of Quake3-style ^ color codes in terminal output, default is white text on windows and ANSI color output on Linux/Mac OSX\r
+sys_specialcharactertranslation controls processing of special Quake characters to make colored names more readable in terminal output\r
+\r
+\r
+\r
+Modding features:\r
+HalfLife map support (place your HalfLife wads in quake/id1/textures/ or quake/MODDIR/textures/ as the maps need them)\r
+Larger q1 and hl map size of +-32768 units.\r
+Colored lighting (.lit support) for q1 maps.\r
+Q3 map support (no shaders though), with no limits.\r
+Q2 and Q3 model support, with greatly increased limits (256 skins, 65536 frames, 65536 vertices, 65536 triangles).  (Note: md2 player models are not supported because they have no skin list)\r
+Optimized QuakeC interpreter so mods run faster.\r
+Bounds checking QuakeC interpreter so mods can't do naughty things with memory.\r
+Warnings for many common QuakeC errors.\r
+Unprecached models are now a warning (does not kill the server anymore).\r
+External texture support (see dpextensions.qc DP_GFX_EXTERNALTEXTURES).\r
+Fog ("fog" key in worldspawn, same parameters as fog command).\r
+.spr32 and halflife .spr sprites supported.  (Use Krimzon's tool to make spr32, and lhfire can render directly to spr32, or just use replacement textures on .spr).\r
+Skybox ("sky" key in worldspawn, works like loadsky and quake2).\r
+Stereo wav sounds supported.\r
+Ogg Vorbis sounds supported. (Thanks Elric)\r
+ATTN_NONE sounds are no longer directional (good for music).\r
+play2 sound testing command (ATTN_NONE variant of play).\r
+r_texturestats and memstats and memlist commands to give memory use info.\r
+Lighting on sprites (put ! anywhere in sprite filename to enable).\r
+More r_speeds info (now a transparent overlay instead of spewing to console).\r
+Supports rotating bmodels (use avelocity, and keep in mind the bmodel needs the "origin" key set to rotate (read up on hipnotic rotation support in your qbsp docs, or choose another qbsp if yours does not support this feature), or in q3 maps an origin brush works).\r
+More sound channels.\r
+More dynamic lights (32 changed to 256).\r
+More precached models and sounds (256 changed to 4096).\r
+Many more features documented in dpextensions.qc. (bullet tracing on models, qc player input, etc)\r
+\r
+\r
+\r
+Replacing Content:\r
+Formats supported: tga (recommended), png (loads very slowly), jpg (loads slowly), pcx, wal, lmp\r
+\r
+Usually you want to put replacement content in either id1/ or another directory such as pretty/ inside your quake directory, in DarkPlaces you can run multiple -game options at once (such as -game ctf -game pretty -game dpmod to have texture overrides from pretty, maps from ctf, and gameplay from dpmod) or multiple gamedirs specified with the gamedir console command (gamedir ctf pretty dpmod).\r
+\r
+All texture layers are optional except diffuse (the others are NOT loaded without it)\r
+\r
+Replacing skins:\r
+progs/player.mdl_0.tga - diffuse\r
+progs/player.mdl_0_norm.tga - normalmap (can have alpha channel with bumpmap height for offsetmapping/reliefmapping)\r
+progs/player.mdl_0_bump.tga - bumpmap (not loaded if normalmap is present)\r
+progs/player.mdl_0_glow.tga - glow map (use _luma if tenebrae compatibility is a concern)\r
+progs/player.mdl_0_luma.tga - alternate tenebrae-compatible name for glow map (use one or the other)\r
+progs/player.mdl_0_pants.tga - pants image, greyscale and does not cover the same pixels as the diffuse texture (this is additive blended ('Screen' mode in photoshop) ontop of the diffuse texture with a color tint according to your pants color)\r
+progs/player.mdl_0_shirt.tga - shirt image, same type as pants\r
+\r
+Replacing textures in specific maps:\r
+textures/e1m1/ecop1_6.tga\r
+textures/e1m1/ecop1_6_norm.tga\r
+textures/e1m1/ecop1_6_bump.tga\r
+textures/e1m1/ecop1_6_glow.tga\r
+textures/e1m1/ecop1_6_luma.tga\r
+textures/e1m1/ecop1_6_pants.tga - pants and shirt layers are possible on bmodel entities with quakec modifications to set their .colormap field\r
+textures/e1m1/ecop1_6_shirt.tga\r
+\r
+Replacing textures in all maps:\r
+textures/quake.tga\r
+textures/quake_norm.tga\r
+textures/quake_bump.tga\r
+textures/quake_glow.tga\r
+textures/quake_luma.tga\r
+textures/quake_pants.tga\r
+textures/quake_shirt.tga\r
+\r
+Replacing hud and menu pictures:\r
+gfx/conchars.tga\r
+\r
+Replacing models:\r
+same as in Quake, you can replace a model with exactly the same file name (including file extension), so for example an md3 player model has to be renamed progs/player.mdl, and a small box of shells in md3 format has to be renamed maps/b_shell0.bsp\r
+\r
+How to make .skin files for multiple skins on a Quake3 (md3) or DarkPlacesModel (dpm) model:\r
+These files use the same format as the ones in Quake3 (except being named modelname_0.skin, modelname_1.skin, and so on), they specify what texture to use on each part of the md3 (or zym or dpm or psk) model, their contents look like the following...\r
+torso,progs/player_default.tga                    says that the model part named "torso" should use the image progs/player_default.tga\r
+gun,progs/player_default.tga                      says that the model part named "gun" should use the image progs/player_default.tga\r
+muzzleflash,progs/player_default_muzzleflash.tga  says that the model part named "muzzleflash" should use the image progs/player_default_muzzleflash.tga - this is useful for transparent skin areas which should be kept separate from opaque skins\r
+tag_head,                                         says that the first tag is named "tag_head" - this is only useful for QuakeC mods using segmented player models so that they can look up/down without their legs rotating, don't worry about it as a user\r
+tag_torso,                                        second tag name\r
+tag_weapon,                                       third tag name\r
+\r
+How to install a soundtrack in ogg format\r
+These files must be in ogg or wav format, and numbers begin at 002 if you wish to replace (or install) the Quake cd music - since track 001 was the Quake data track.</p>\r
+quake/id1/sound/cdtracks/track002.ogg             replacement track for "cd loop 2"\r
+quake/id1/sound/cdtracks/track003.ogg             replacement track for "cd loop 3"\r
+\r
+Example list of filenames:\r
+quake/id1/progs/player.mdl                        replaces the player model)\r
+quake/id1/progs/player.mdl_0.skin                 text file that specifies textures to use on an md3 model)\r
+quake/id1/progs/player_default.tga                texture referenced by the .skin, make sure that any special parts of this are black, like pants should be black here otherwise you get pink pants when you use a red color ingame)\r
+quake/id1/progs/player_default_pants.tga          white pants area of the skin, this is colored by the engine according to your color settings, additive blended (which is called "Screen" mode in Photoshop if you wish to preview the layers))\r
+quake/id1/progs/player_default_shirt.tga          white shirt area of the skin, similar to pants described above)\r
+quake/id1/progs/player_default_norm.tga           normalmap texture for player_default, alpha channel can contain a heightmap for offsetmapping (r_glsl_offsetmapping 1 in console) to use, alternatively you can use _bump.tga instead of this which is only a heightmap and the engine will generate the normalmap for you)\r
+quake/id1/progs/player_default_gloss.tga          glossmap (shiny areas) for player_default)\r
+quake/id1/progs/player_default_glow.tga           glowmap (glowing stuff) for player_default, this is fullbrights and such, be sure the corresponding pixels are black in the player_default.tga, because just like pants/shirt this is additive blended)\r
+quake/id1/textures/quake.tga                      replaces the quake logo on the arch in start.bsp)\r
+quake/id1/textures/quake_norm.tga                 same as for a player)\r
+quake/id1/textures/quake_gloss.tga                same as for a player)\r
+quake/id1/textures/#water1.tga                    replaces *water1 texture in the maps, # is used instead of * in filenames)\r
+quake/id1/gfx/conchars.tga                        replacement font image, this was in gfx.wad in quake)\r
+quake/id1/gfx/conback.tga                         replacement console background, just like in quake)\r
+quake/id1/gfx/mainmenu.tga                        replacement main menu image, just like in quake)\r
+quake/id1/maps/b_bh25.bsp                         replacement for normal health pack, for example this could be an md3 model instead)\r
+quake/id1/sound/cdtracks/track002.ogg             replacement track for "cd loop 2"\r
+quake/id1/sound/cdtracks/track003.ogg             replacement track for "cd loop 3"\r
+\r
+\r
+\r
+Commandline options as of 2007-03-11:\r
+BSD GLX: -gl_driver drivername selects a GL driver library, default is libGL.so.1, useful only for using fxmesa or similar, if you don't know what this is for, you don't need it\r
+BSD GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)\r
+BSD GLX: -novideosync disables GLX_SGI_swap_control\r
+BSD Sound: -cddev devicepath chooses which CD drive to use\r
+Client: -benchmark demoname runs a timedemo and quits, results of any timedemo can be found in gamedir/benchmark.log (for example id1/benchmark.log)\r
+Client: -demo demoname runs a playdemo and quits\r
+Client: -forceqmenu disables menu.dat (same as +forceqmenu 1)\r
+Client: -particles number changes maximum number of particles at once, default 32768\r
+Client: -texbrightness number sets the quake palette brightness (brightness of black), allowing you to make quake textures brighter/darker, not recommended\r
+Client: -texcontrast number sets the quake palette contrast, allowing you to make quake textures brighter/darker, not recommended\r
+Client: -texgamma number sets the quake palette gamma, allowing you to make quake textures brighter/darker, not recommended\r
+Client: -useqmenu causes the first time you open the menu to use the quake menu, then reverts to menu.dat (if forceqmenu is 0)\r
+Console: -condebug logs console messages to qconsole.log, see also log_file\r
+Console: -developer enables warnings and other notices (RECOMMENDED for mod developers)\r
+Console: -nostdout disables text output to the terminal the game was launched from\r
+Filesystem: -basedir path chooses what base directory the game data is in, inside this there should be a data directory for the game (for example id1)\r
+GL: -noanisotropy disables GL_EXT_texture_filter_anisotropic (allows higher quality texturing)\r
+GL: -nocombine disables GL_ARB_texture_env_combine or GL_EXT_texture_env_combine (required for bumpmapping and faster map rendering)\r
+GL: -nocubemap disables GL_ARB_texture_cube_map (required for bumpmapping)\r
+GL: -nocva disables GL_EXT_compiled_vertex_array (renders faster)\r
+GL: -nodot3 disables GL_ARB_texture_env_dot3 (required for bumpmapping)\r
+GL: -nodrawrangeelements disables GL_EXT_draw_range_elements (renders faster)\r
+GL: -noedgeclamp disables GL_EXT_texture_edge_clamp or GL_SGIS_texture_edge_clamp (recommended, some cards do not support the other texture clamp method)\r
+GL: -nofragmentshader disables GL_ARB_fragment_shader (allows pixel shader effects, can improve per pixel lighting performance and capabilities)\r
+GL: -nomtex disables GL_ARB_multitexture (required for faster map rendering)\r
+GL: -noseparatestencil disables use of OpenGL2.0 glStencilOpSeparate and GL_ATI_separate_stencil extensions (which accelerate shadow rendering)\r
+GL: -noshaderobjects disables GL_ARB_shader_objects (required for vertex shader and fragment shader)\r
+GL: -noshadinglanguage100 disables GL_ARB_shading_language_100 (required for vertex shader and fragment shader)\r
+GL: -nostenciltwoside disables GL_EXT_stencil_two_side (which accelerate shadow rendering)\r
+GL: -notexture3d disables GL_EXT_texture3D (required for spherical lights, otherwise they render as a column)\r
+GL: -novertexshader disables GL_ARB_vertex_shader (allows vertex shader effects)\r
+Game: -battlemech runs the multiplayer topdown deathmatch game BattleMech\r
+Game: -contagiontheory runs the game Contagion Theory\r
+Game: -darsana runs the game Darsana\r
+Game: -did2 runs the game Defeat In Detail 2\r
+Game: -goodvsbad2 runs the psychadelic RTS FPS game Good Vs Bad 2\r
+Game: -hipnotic runs Quake mission pack 1: The Scourge of Armagon\r
+Game: -nehahra runs The Seal of Nehahra movie and game\r
+Game: -neoteric runs the game Neoteric\r
+Game: -netherworld runs the game Netherworld: Dark Master\r
+Game: -nexuiz runs the multiplayer game Nexuiz\r
+Game: -openquartz runs the game OpenQuartz, a standalone GPL replacement of the quake content\r
+Game: -prydon runs the topdown point and click action-RPG Prydon Gate\r
+Game: -quake runs the game Quake (default)\r
+Game: -rogue runs Quake mission pack 2: The Dissolution of Eternity\r
+Game: -setheral runs the multiplayer game Setheral\r
+Game: -som runs the multiplayer game Son Of Man\r
+Game: -tenebrae runs the graphics test mod known as Tenebrae (some features not implemented)\r
+Game: -teu runs The Evil Unleashed (this option is obsolete as they are not using darkplaces)\r
+Game: -thehunted runs the game The Hunted\r
+Game: -transfusion runs Transfusion (the recreation of Blood in Quake)\r
+Game: -zymotic runs the singleplayer game Zymotic\r
+Input: -nomouse disables mouse support (see also vid_mouse cvar)\r
+Input: -nomouse disables mouse support (see also vid_mouse cvar)\r
+Linux ALSA Sound: -sndpcm devicename selects which pcm device to us, default is "default"\r
+Linux GLX: -gl_driver drivername selects a GL driver library, default is libGL.so.1, useful only for using fxmesa or similar, if you don't know what this is for, you don't need it\r
+Linux GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)\r
+Linux GLX: -novideosync disables GLX_SGI_swap_control\r
+Linux Sound: -cddev devicepath chooses which CD drive to use\r
+MacOSX GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)\r
+MacOSX GLX: -novideosync disables GLX_SGI_swap_control\r
+SDL GL: -gl_driver drivername selects a GL driver library, default is whatever SDL recommends, useful only for 3dfxogl.dll/3dfxvgl.dll or fxmesa or similar, if you don't know what this is for, you don't need it\r
+Server: -dedicated [playerlimit] starts a dedicated server (with a command console), default playerlimit is 8\r
+Server: -ip ipaddress sets the ip address of this machine for purposes of networking (default 0.0.0.0 also known as INADDR_ANY), use only if you have multiple network adapters and need to choose one specifically.\r
+Server: -listen [playerlimit] starts a multiplayer server with graphical client, like singleplayer but other players can connect, default playerlimit is 8\r
+Server: -port portnumber sets the port to use for a server (default 26000, the same port as QUAKE itself), useful if you host multiple servers on your machine\r
+Sound: -nocdaudio disables CD audio support\r
+Sound: -nosound disables sound (including CD audio)\r
+Sound: -novorbis disables ogg vorbis sound support\r
+Sound: -simsound runs sound mixing but with no output\r
+Sound: -sndbits bits chooses 8 bit or 16 bit sound output\r
+Sound: -sndmono sets sound output to mono\r
+Sound: -sndquad sets sound output to 4 channel surround\r
+Sound: -sndspeed hz chooses sound output rate (supported values are 48000, 44100, 32000, 24000, 22050, 16000, 11025 (quake), 8000)\r
+Sound: -sndstereo sets sound output to stereo\r
+Video: -bpp bits performs +vid_bitsperpixel bits (example -bpp 32 or -bpp 16)\r
+Video: -fullscreen performs +vid_fullscreen 1\r
+Video: -height pixels performs +vid_height pixels and also +vid_width pixels*4/3 if only -height is specified (example: -height 768 sets 1024x768 mode)\r
+Video: -width pixels performs +vid_width pixels and also +vid_height pixels*3/4 if only -width is specified (example: -width 1024 sets 1024x768 mode)\r
+Video: -window performs +vid_fullscreen 0\r
+Windows DirectSound: -primarysound locks the sound hardware for exclusive use\r
+Windows DirectSound: -snoforceformat uses the format that DirectSound returns, rather than forcing it\r
+Windows GDI Input: -noforcemaccel disables setting of mouse acceleration (not used with -dinput, windows only)\r
+Windows GDI Input: -noforcemparms disables setting of mouse parameters (not used with -dinput, windows only)\r
+Windows GDI Input: -noforcemspd disables setting of mouse speed (not used with -dinput, windows only)\r
+Windows Input: -dinput enables DirectInput for mouse/joystick input\r
+Windows Input: -nojoy disables joystick support, may be a small speed increase\r
+Windows Sound: -wavonly uses wave sound instead of DirectSound\r
+Windows WGL: -gl_driver drivername selects a GL driver library, default is opengl32.dll, useful only for 3dfxogl.dll or 3dfxvgl.dll, if you don't know what this is for, you don't need it\r
+Windows WGL: -novideosync disables WGL_EXT_swap_control\r
+\r
+\r
+\r
+Full Console Variable List as of 2007-03-11:\r
+_cl_color                                         0                   internal storage cvar for current player colors (changed by color command)\r
+_cl_name                                          player              internal storage cvar for current player name (changed by name command)\r
+_cl_playermodel                                                       internal storage cvar for current player model in Nexuiz (changed by playermodel command)\r
+_cl_playerskin                                                        internal storage cvar for current player skin in Nexuiz (changed by playerskin command)\r
+_cl_pmodel                                        0                   internal storage cvar for current player model number in nehahra (changed by pmodel command)\r
+_cl_rate                                          10000               internal storage cvar for current rate (changed by rate command)\r
+_snd_mixahead                                     0.1                 how much sound to mix ahead of time\r
+ambient_fade                                      100                 rate of volume fading when moving from one environment to another\r
+ambient_level                                     0.3                 volume of environment noises (water and wind)\r
+bgmvolume                                         1                   volume of background music (such as CD music or replacement files such as sound/cdtracks/track002.ogg)\r
+cdaudioinitialized                                0                   indicates if CD Audio system is active\r
+chase_active                                      0                   enables chase cam\r
+chase_back                                        48                  chase cam distance from the player\r
+chase_stevie                                      0                   chase cam view from above (used only by GoodVsBad2)\r
+chase_up                                          24                  chase cam distance from the player\r
+cl_anglespeedkey                                  1.5                 how much +speed multiplies keyboard turning speed\r
+cl_autodemo                                       0                   records every game played, using the date/time and map name to name the demo file\r
+cl_autodemo_nameformat                            %Y-%m-%d_%H-%M      The format of the cl_autodemo filename, followed by the map name\r
+cl_backspeed                                      400                 backward movement speed\r
+cl_beams_instantaimhack                           1                   makes your lightning gun aiming update instantly\r
+cl_beams_lightatend                               0                   make a light at the end of the beam\r
+cl_beams_polygons                                 1                   use beam polygons instead of models\r
+cl_beams_quakepositionhack                        1                   makes your lightning gun appear to fire from your waist (as in Quake and QuakeWorld)\r
+cl_bob                                            0.02                view bobbing amount\r
+cl_bobcycle                                       0.6                 view bobbing speed\r
+cl_bobmodel                                       1                   enables gun bobbing\r
+cl_bobmodel_side                                  0.05                gun bobbing sideways sway amount\r
+cl_bobmodel_speed                                 7                   gun bobbing speed\r
+cl_bobmodel_up                                    0.02                gun bobbing upward movement amount\r
+cl_leanmodel_side                                 1                   enables gun leaning sideways\r
+cl_leanmodel_side_speed                           0.025               gun leaning sideways speed\r
+cl_leanmodel_side_limit                           7.5                 gun leaning sideways limit\r
+cl_leanmodel_up                                   1                   enables gun leaning upward\r
+cl_leanmodel_up_speed                             0.015               gun leaning upward speed\r
+cl_leanmodel_up_limit                             5                   gun leaning upward limit\r
+cl_bobup                                          0.5                 view bobbing adjustment that makes the up or down swing of the bob last longer\r
+cl_capturevideo                                   0                   enables saving of video to a .avi file using uncompressed I420 colorspace and PCM audio, note that scr_screenshot_gammaboost affects the brightness of the output)\r
+cl_capturevideo_fps                               30                  how many frames per second to save (29.97 for NTSC, 30 for typical PC video, 15 can be useful)\r
+cl_capturevideo_number                            1                   number to append to video filename, incremented each time a capture begins\r
+cl_capturevideo_realtime                          0                   causes video saving to operate in realtime (mostly useful while playing, not while capturing demos), this can produce a much lower quality video due to poor sound/video sync and will abort saving if your machine stalls for over 1 second\r
+cl_curl_enabled                                   0                   whether client's download support is enabled\r
+cl_curl_maxdownloads                              1                   maximum number of concurrent HTTP/FTP downloads\r
+cl_curl_maxspeed                                  100                 maximum download speed (KiB/s)\r
+cl_deathnoviewmodel                               1                   hides gun model when dead\r
+cl_deathscoreboard                                1                   shows scoreboard (+showscores) while dead\r
+cl_decals                                         0                   enables decals (bullet holes, blood, etc)\r
+cl_decals_fadetime                                20                  how long decals take to fade away\r
+cl_decals_time                                    0                   how long before decals start to fade away\r
+cl_dlights_decaybrightness                        1                   reduces brightness of light flashes over time\r
+cl_dlights_decayradius                            1                   reduces size of light flashes over time\r
+cl_explosions_alpha_end                           0                   end alpha of an explosion shell (just before it disappears)\r
+cl_explosions_alpha_start                         1.5                 starting alpha of an explosion shell\r
+cl_explosions_lifetime                            0.5                 how long an explosion shell lasts\r
+cl_explosions_size_end                            128                 ending alpha of an explosion shell (just before it disappears)\r
+cl_explosions_size_start                          16                  starting size of an explosion shell\r
+cl_forwardspeed                                   400                 forward movement speed\r
+cl_gravity                                        800                 how much gravity to apply in client physics (should match sv_gravity)\r
+cl_itembobheight                                  0                   how much items bob up and down (try 8)\r
+cl_itembobspeed                                   0.5                 how frequently items bob up and down\r
+cl_joinbeforedownloadsfinish                      1                   if non-zero the game will begin after the map is loaded before other downloads finish\r
+cl_maxfps                                         1000                maximum fps cap, if game is running faster than this it will wait before running another frame (useful to make cpu time available to other programs)\r
+cl_movement                                       0                   enables clientside prediction of your player movement\r
+cl_movement_accelerate                            10                  how fast you accelerate (should match sv_accelerate)\r
+cl_movement_airaccel_qw                           1                   ratio of QW-style air control as opposed to simple acceleration (should match sv_airaccel_qw)\r
+cl_movement_airaccel_sideways_friction            0                   anti-sideways movement stabilization (should match sv_airaccel_sideways_friction)\r
+cl_movement_airaccelerate                         -1                  how fast you accelerate while in the air (should match sv_airaccelerate), if less than 0 the cl_movement_accelerate variable is used instead\r
+cl_movement_edgefriction                          2                   how much to slow down when you may be about to fall off a ledge (should match edgefriction)\r
+cl_movement_friction                              4                   how fast you slow down (should match sv_friction)\r
+cl_movement_jumpvelocity                          270                 how fast you move upward when you begin a jump (should match the quakec code)\r
+cl_movement_maxairspeed                           30                  how fast you can move while in the air (should match sv_maxairspeed)\r
+cl_movement_maxspeed                              320                 how fast you can move (should match sv_maxspeed)\r
+cl_movement_stepheight                            18                  how tall a step you can step in one instant (should match sv_stepheight)\r
+cl_movement_stopspeed                             100                 speed below which you will be slowed rapidly to a stop rather than sliding endlessly (should match sv_stopspeed)\r
+cl_movement_wateraccelerate                       -1                  how fast you accelerate while in the air (should match sv_airaccelerate), if less than 0 the cl_movement_accelerate variable is used instead\r
+cl_movement_waterfriction                         -1                  how fast you slow down (should match sv_friction), if less than 0 the cl_movement_friction variable is used instead\r
+cl_movespeedkey                                   2.0                 how much +speed multiplies keyboard movement speed\r
+cl_netinputpacketlosstolerance                    4                   how many packets in a row can be lost without movement issues when using cl_movement (technically how many input messages to repeat in each packet that have not yet been acknowledged by the server)\r
+cl_netinputpacketspersecond                       50                  how many input packets to send to server each second\r
+cl_netlocalping                                   0                   lags local loopback connection by this much ping time (useful to play more fairly on your own server with people with higher pings)\r
+cl_netpacketloss                                  0                   drops this percentage of packets (incoming and outgoing), useful for testing network protocol robustness (effects failing to start, sounds failing to play, etc)\r
+cl_nettimesyncmode                                2                   selects method of time synchronization in client with regard to server packets, values are: 0 = no sync, 1 = exact sync (reset timing each packet), 2 = loose sync (reset timing only if it is out of bounds), 3 = tight sync and bounding\r
+cl_nodelta                                        0                   disables delta compression of non-player entities in QW network protocol\r
+cl_nolerp                                         0                   network update smoothing\r
+cl_noplayershadow                                 0                   hide player shadow\r
+cl_particles                                      1                   enables particle effects\r
+cl_particles_blood                                1                   enables blood effects\r
+cl_particles_blood_alpha                          0.5                 opacity of blood\r
+cl_particles_blood_bloodhack                      1                   make certain quake particle() calls create blood effects instead\r
+cl_particles_bubbles                              1                   enables bubbles (used by multiple effects)\r
+cl_particles_bulletimpacts                        1                   enables bulletimpact effects\r
+cl_particles_explosions_shell                     0                   enables polygonal shell from explosions\r
+cl_particles_explosions_smokes                    0                   enables smoke from explosions\r
+cl_particles_explosions_sparks                    1                   enables sparks from explosions\r
+cl_particles_quake                                0                   makes particle effects look mostly like the ones in Quake\r
+cl_particles_quality                              1                   multiplies number of particles and reduces their alpha\r
+cl_particles_size                                 1                   multiplies particle size\r
+cl_particles_smoke                                1                   enables smoke (used by multiple effects)\r
+cl_particles_smoke_alpha                          0.5                 smoke brightness\r
+cl_particles_smoke_alphafade                      0.55                brightness fade per second\r
+cl_particles_sparks                               1                   enables sparks (used by multiple effects)\r
+cl_pitchspeed                                     150                 keyboard pitch turning speed\r
+cl_port                                           0                   forces client to use chosen port number if not 0\r
+cl_prydoncursor                                   0                   enables a mouse pointer which is able to click on entities in the world, useful for point and click mods, see PRYDON_CLIENTCURSOR extension in dpextensions.qc\r
+cl_rollangle                                      2.0                 how much to tilt the view when strafing\r
+cl_rollspeed                                      200                 how much strafing is necessary to tilt the view\r
+cl_serverextension_download                       0                   indicates whether the server supports the download command\r
+cl_shownet                                        0                   1 = print packet size, 2 = print packet message list\r
+cl_sidespeed                                      350                 strafe movement speed\r
+cl_slowmo                                         1                   speed of game time (should match slowmo)\r
+cl_sound_hknighthit                               hknight/hit.wav     sound to play during TE_KNIGHTSPIKE (empty cvar disables sound)\r
+cl_sound_r_exp3                                   weapons/r_exp3.wav  sound to play during TE_EXPLOSION and related effects (empty cvar disables sound)\r
+cl_sound_ric1                                     weapons/ric1.wav    sound to play with 5% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)\r
+cl_sound_ric2                                     weapons/ric2.wav    sound to play with 5% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)\r
+cl_sound_ric3                                     weapons/ric3.wav    sound to play with 10% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)\r
+cl_sound_tink1                                    weapons/tink1.wav   sound to play with 80% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)\r
+cl_sound_wizardhit                                wizard/hit.wav      sound to play during TE_WIZSPIKE (empty cvar disables sound)\r
+cl_stainmaps                                      1                   stains lightmaps, much faster than decals but blurred\r
+cl_stainmaps_clearonload                          1                   clear stainmaps on map restart\r
+cl_stairsmoothspeed                               160                 how fast your view moves upward/downward when running up/down stairs\r
+cl_upspeed                                        400                 vertical movement speed (while swimming or flying)\r
+cl_viewmodel_scale                                1                   changes size of gun model, lower values prevent poking into walls but cause strange artifacts on lighting and especially r_stereo/vid_stereobuffer options where the size of the gun becomes visible\r
+cl_yawspeed                                       140                 keyboard yaw turning speed\r
+cmdline                                           0                   contains commandline the engine was launched with\r
+collision_endnudge                                0                   how much to bias collision trace end\r
+collision_enternudge                              0                   how much to bias collision entry fraction\r
+collision_impactnudge                             0.03125             how much to back off from the impact\r
+collision_leavenudge                              0                   how much to bias collision exit fraction\r
+collision_prefernudgedfraction                    1                   whether to sort collision events by nudged fraction (1) or real fraction (0)\r
+collision_startnudge                              0                   how much to bias collision trace start\r
+con_closeontoggleconsole                          1                   allows toggleconsole binds to close the console as well\r
+con_chat                                          0                   how many chat lines to show in a dedicated chat area\r
+con_chatpos                                       0                   where to put chat (negative: lines from bottom of screen, positive: lines below notify, 0: at top)\r
+con_chatsize                                      8                   chat text size in virtual 2D pixels\r
+con_chattime                                      30                  how long chat lines last, in seconds\r
+con_chatwidth                                     1.0                 relative chat window width\r
+con_notify                                        4                   how many notify lines to show (0-32)\r
+con_notifyalign                                   3                   how to align notify lines: 0 = left, 0.5 = center, 1 = right, empty string = game default)\r
+con_notifysize                                    8                   notify text size in virtual 2D pixels\r
+con_notifytime                                    3                   how long notify lines last, in seconds\r
+con_textsize                                      8                   console text size in virtual 2D pixels\r
+coop                                              0                   coop mode, 0 = no coop, 1 = coop mode, multiple players playing through the singleplayer game (coop mode also shuts off deathmatch)\r
+crosshair                                         0                   selects crosshair to use (0 is none)\r
+crosshair_color_alpha                             1                   how opaque the crosshair should be\r
+crosshair_color_blue                              0                   customizable crosshair color\r
+crosshair_color_green                             0                   customizable crosshair color\r
+crosshair_color_red                               1                   customizable crosshair color\r
+crosshair_size                                    1                   adjusts size of the crosshair on the screen\r
+csqc_progcrc                                      -1                  CRC of csprogs.dat file to load (-1 is none), only used during level changes and then reset to -1\r
+csqc_progname                                     csprogs.dat         name of csprogs.dat file to load\r
+csqc_progsize                                     -1                  file size of csprogs.dat file to load (-1 is none), only used during level changes and then reset to -1\r
+cutscene                                          1                   enables cutscenes in nehahra, can be used by other mods\r
+deathmatch                                        0                   deathmatch mode, values depend on mod but typically 0 = no deathmatch, 1 = normal deathmatch with respawning weapons, 2 = weapons stay (players can only pick up new weapons)\r
+demo_nehahra                                      0                   reads all quake demos as nehahra movie protocol\r
+developer                                         0                   prints additional debugging messages and information (recommended for modders and level designers)\r
+developer_entityparsing                           0                   prints detailed network entities information each time a packet is received\r
+developer_memory                                  0                   prints debugging information about memory allocations\r
+developer_memorydebug                             0                   enables memory corruption checks (very slow)\r
+developer_networkentities                         0                   prints received entities, value is 0-4 (higher for more info)\r
+developer_networking                              0                   prints all received and sent packets (recommended only for debugging)\r
+developer_texturelogging                          0                   produces a textures.log file containing names of skins and map textures the engine tried to load\r
+edgefriction                                      2                   how much you slow down when nearing a ledge you might fall off\r
+forceqmenu                                        0                   enables the quake menu instead of the quakec menu.dat (if present)\r
+fov                                               90                  field of vision, 1-170 degrees, default 90, some players use 110-130\r
+fraglimit                                         0                   ends level if this many frags is reached by any player\r
+freelook                                          1                   mouse controls pitch instead of forward/back\r
+gamecfg                                           0                   unused cvar in quake, can be used by mods\r
+gameversion                                       0                   version of game data (mod-specific), when client and server gameversion mismatch in the server browser the server is shown as incompatible\r
+gl_combine                                        1                   faster rendering by using GL_ARB_texture_env_combine extension (part of OpenGL 1.3 and above)\r
+gl_dither                                         1                   enables OpenGL dithering (16bit looks bad with this off)\r
+gl_ext_separatetencil                             1                   make use of OpenGL 2.0 glStencilOpSeparate or GL_ATI_separate_stencil extension\r
+gl_ext_stenciltwoside                             1                   make use of GL_EXT_stenciltwoside extension (NVIDIA only)\r
+gl_finish                                         0                   make the cpu wait for the graphics processor at the end of each rendered frame (can help with strange input or video lag problems on some machines)\r
+gl_flashblend                                     0                   render bright coronas for dynamic lights instead of actual lighting, fast but ugly\r
+gl_fogblue                                        0.3                 nehahra fog color blue value (for Nehahra compatibility only)\r
+gl_fogdensity                                     0.25                nehahra fog density (recommend values below 0.1) (for Nehahra compatibility only)\r
+gl_fogenable                                      0                   nehahra fog enable (for Nehahra compatibility only)\r
+gl_fogend                                         0                   nehahra fog end distance (for Nehahra compatibility only)\r
+gl_foggreen                                       0.3                 nehahra fog color green value (for Nehahra compatibility only)\r
+gl_fogred                                         0.3                 nehahra fog color red value (for Nehahra compatibility only)\r
+gl_fogstart                                       0                   nehahra fog start distance (for Nehahra compatibility only)\r
+gl_lightmaps                                      0                   draws only lightmaps, no texture (for level designers)\r
+gl_lockarrays                                     0                   enables use of glLockArraysEXT, may cause glitches with some broken drivers, and may be slower than normal\r
+gl_lockarrays_minimumvertices                     1                   minimum number of vertices required for use of glLockArraysEXT, setting this too low may reduce performance\r
+gl_max_size                                       2048                maximum allowed texture size, can be used to reduce video memory usage, note: this is automatically reduced to match video card capabilities (such as 256 on 3Dfx cards before Voodoo4/5)\r
+gl_mesh_drawrangeelements                         1                   use glDrawRangeElements function if available instead of glDrawElements (for performance comparisons or bug testing)\r
+gl_mesh_testarrayelement                          0                   use glBegin(GL_TRIANGLES);glArrayElement();glEnd(); primitives instead of glDrawElements (useful to test for driver bugs with glDrawElements)\r
+gl_mesh_testmanualfeeding                         0                   use glBegin(GL_TRIANGLES);glTexCoord2f();glVertex3f();glEnd(); primitives instead of glDrawElements (useful to test for driver bugs with glDrawElements)\r
+gl_paranoid                                       0                   enables OpenGL error checking and other tests\r
+gl_picmip                                         0                   reduces resolution of textures by powers of 2, for example 1 will halve width/height, reducing texture memory usage by 75%\r
+gl_polyblend                                      1                   tints view while underwater, hurt, etc\r
+gl_printcheckerror                                0                   prints all OpenGL error checks, useful to identify location of driver crashes\r
+gl_texture_anisotropy                             1                   anisotropic filtering quality (if supported by hardware), 1 sample (no anisotropy) and 8 sample (8 tap anisotropy) are recommended values\r
+halflifebsp                                       0                   indicates the current map is hlbsp format (useful to know because of different bounding box sizes)\r
+host_framerate                                    0                   locks frame timing to this value in seconds, 0.05 is 20fps for example, note that this can easily run too fast, use cl_maxfps if you want to limit your framerate instead, or sys_ticrate to limit server speed\r
+host_speeds                                       0                   reports how much time is used in server/graphics/sound\r
+hostname                                          UNNAMED             server message to show in server browser\r
+in_pitch_max                                      90                  how far upward you can aim (quake used 80\r
+in_pitch_min                                      -90                 how far downward you can aim (quake used -70\r
+joy_axisforward                                   1                   which joystick axis to query for forward/backward movement\r
+joy_axispitch                                     3                   which joystick axis to query for looking up/down\r
+joy_axisroll                                      -1                  which joystick axis to query for tilting head right/left\r
+joy_axisside                                      0                   which joystick axis to query for right/left movement\r
+joy_axisup                                        -1                  which joystick axis to query for up/down movement\r
+joy_axisyaw                                       2                   which joystick axis to query for looking right/left\r
+joy_deadzoneforward                               0                   deadzone tolerance, suggested values are in the range 0 to 0.01\r
+joy_deadzonepitch                                 0                   deadzone tolerance, suggested values are in the range 0 to 0.01\r
+joy_deadzoneroll                                  0                   deadzone tolerance, suggested values are in the range 0 to 0.01\r
+joy_deadzoneside                                  0                   deadzone tolerance, suggested values are in the range 0 to 0.01\r
+joy_deadzoneup                                    0                   deadzone tolerance, suggested values are in the range 0 to 0.01\r
+joy_deadzoneyaw                                   0                   deadzone tolerance, suggested values are in the range 0 to 0.01\r
+joy_detected                                      0                   number of joysticks detected by engine\r
+joy_enable                                        1                   enables joystick support\r
+joy_index                                         0                   selects which joystick to use if you have multiple\r
+joy_sensitivityforward                            -1                  movement multiplier\r
+joy_sensitivitypitch                              1                   movement multiplier\r
+joy_sensitivityroll                               1                   movement multiplier\r
+joy_sensitivityside                               1                   movement multiplier\r
+joy_sensitivityup                                 1                   movement multiplier\r
+joy_sensitivityyaw                                -1                  movement multiplier\r
+joyadvanced                                       0                   use more than 2 axis joysticks (configuring this is very technical)\r
+joyadvaxisr                                       0                   axis mapping for joyadvanced 1 mode\r
+joyadvaxisu                                       0                   axis mapping for joyadvanced 1 mode\r
+joyadvaxisv                                       0                   axis mapping for joyadvanced 1 mode\r
+joyadvaxisx                                       0                   axis mapping for joyadvanced 1 mode\r
+joyadvaxisy                                       0                   axis mapping for joyadvanced 1 mode\r
+joyadvaxisz                                       0                   axis mapping for joyadvanced 1 mode\r
+joyforwardsensitivity                             -1.0                how fast the joystick moves forward\r
+joyforwardthreshold                               0.15                minimum joystick movement necessary to move forward\r
+joyname                                           joystick            name of joystick to use (informational only, used only by joyadvanced 1 mode)\r
+joypitchsensitivity                               1.0                 how fast the joystick looks up/down\r
+joypitchthreshold                                 0.15                minimum joystick movement necessary to look up/down\r
+joysidesensitivity                                -1.0                how fast the joystick moves sideways (strafing)\r
+joysidethreshold                                  0.15                minimum joystick movement necessary to move sideways (strafing)\r
+joystick                                          0                   enables joysticks\r
+joywwhack1                                        0.0                 special hack for wingman warrior\r
+joywwhack2                                        0.0                 special hack for wingman warrior\r
+joyyawsensitivity                                 -1.0                how fast the joystick turns left/right\r
+joyyawthreshold                                   0.15                minimum joystick movement necessary to turn left/right\r
+locs_enable                                       1                   enables replacement of certain % codes in chat messages: %l (location), %d (last death location), %h (health), %a (armor), %x (rockets), %c (cells), %r (rocket launcher status), %p (powerup status), %w (weapon status), %t (current time in level)\r
+locs_show                                         0                   shows defined locations for editing purposes\r
+log_file                                                              filename to log messages to\r
+lookspring                                        0                   returns pitch to level with the floor when no longer holding a pitch key\r
+lookstrafe                                        0                   move instead of turning\r
+m_filter                                          0                   smoothes mouse movement, less responsive but smoother aiming\r
+m_forward                                         1                   mouse forward speed multiplier\r
+m_pitch                                           0.022               mouse pitch speed multiplier\r
+m_side                                            0.8                 mouse side speed multiplier\r
+m_yaw                                             0.022               mouse yaw speed multiplier\r
+mcbsp                                             0                   indicates the current map is mcbsp format (useful to know because of different bounding box sizes)\r
+menu_options_colorcontrol_correctionvalue         0.5                 intensity value that matches up to white/black dither pattern, should be 0.5 for linear color\r
+mod_q3bsp_curves_collisions                       1                   enables collisions with curves (SLOW)\r
+mod_q3bsp_debugtracebrush                         0                   selects different tracebrush bsp recursion algorithms (for debugging purposes only)\r
+mod_q3bsp_lightmapmergepower                      4                   merges the quake3 128x128 lightmap textures into larger lightmap group textures to speed up rendering, 1 = 256x256, 2 = 512x512, 3 = 1024x1024, 4 = 2048x2048, 5 = 4096x4096, ...\r
+mod_q3bsp_optimizedtraceline                      1                   whether to use optimized traceline code for line traces (as opposed to tracebox code)\r
+nehx00                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx01                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx02                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx03                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx04                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx05                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx06                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx07                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx08                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx09                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx10                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx11                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx12                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx13                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx14                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx15                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx16                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx17                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx18                                            0                   nehahra data storage cvar (used in singleplayer)\r
+nehx19                                            0                   nehahra data storage cvar (used in singleplayer)\r
+net_address                                       0.0.0.0             network address to open ports on\r
+net_address_ipv6                                  [0:0:0:0:0:0:0:0]   network address to open ipv6 ports on\r
+net_connectfloodblockingtimeout                   5                   when a connection packet is received, it will block all future connect packets from that IP address for this many seconds (cuts down on connect floods)\r
+net_connecttimeout                                10                  after requesting a connection, the client must reply within this many seconds or be dropped (cuts down on connect floods)\r
+net_messagetimeout                                300                 drops players who have not sent any packets for this many seconds\r
+net_slist_maxtries                                3                   how many times to ask the same server for information (more times gives better ping reports but takes longer)\r
+net_slist_queriesperframe                         4                   maximum number of server information requests to send each rendered frame (guards against low framerates causing problems)\r
+net_slist_queriespersecond                        20                  how many server information requests to send per second\r
+net_slist_timeout                                 4                   how long to listen for a server information response before giving up\r
+noaim                                             1                   QW option to disable vertical autoaim\r
+noexit                                            0                   kills anyone attempting to use an exit\r
+nomonsters                                        0                   unused cvar in quake, can be used by mods\r
+nosound                                           0                   disables sound\r
+pausable                                          1                   allow players to pause or not\r
+port                                              26000               server port for players to connect to\r
+pr_checkextension                                 1                   indicates to QuakeC that the standard quakec extensions system is available (if 0, quakec should not attempt to use extensions)\r
+prvm_boundscheck                                  1                   enables detection of out of bounds memory access in the QuakeC code being run (in other words, prevents really exceedingly bad QuakeC code from doing nasty things to your computer)\r
+prvm_statementprofiling                           0                   counts how many times each QuakeC statement has been executed, these counts are displayed in prvm_printfunction output (if enabled)\r
+prvm_traceqc                                      0                   prints every QuakeC statement as it is executed (only for really thorough debugging!)\r
+qport                                             0                   identification key for playing on qw servers (allows you to maintain a connection to a quakeworld server even if your port changes)\r
+r_ambient                                         0                   brightens map, value is 0-128\r
+r_batchmode                                       1                   selects method of rendering multiple surfaces with one driver call (values are 0, 1, 2, etc...)\r
+r_bloom                                           0                   enables bloom effect (makes bright pixels affect neighboring pixels)\r
+r_bloom_blur                                      4                   how large the glow is\r
+r_bloom_brighten                                  2                   how bright the glow is, after subtract/power\r
+r_bloom_colorexponent                             1                   how exagerated the glow is\r
+r_bloom_colorscale                                1                   how bright the glow is\r
+r_bloom_colorsubtract                             0.125               reduces bloom colors by a certain amount\r
+r_bloom_resolution                                320                 what resolution to perform the bloom effect at (independent of screen resolution)\r
+r_coronas                                         1                   brightness of corona flare effects around certain lights, 0 disables corona effects\r
+r_cullentities_trace                              1                   probabistically cull invisible entities\r
+r_cullentities_trace_delay                        1                   number of seconds until the entity gets actually culled\r
+r_cullentities_trace_enlarge                      0                   box enlargement for entity culling\r
+r_cullentities_trace_samples                      2                   number of samples to test for entity culling\r
+r_draweffects                                     1                   renders temporary sprite effects\r
+r_drawentities                                    1                   draw entities (doors, players, projectiles, etc)\r
+r_drawexplosions                                  1                   enables rendering of explosion shells (see also cl_particles_explosions_shell)\r
+r_drawparticles                                   1                   enables drawing of particles\r
+r_drawportals                                     0                   shows portals (separating polygons) in world interior in quake1 maps\r
+r_drawviewmodel                                   1                   draw your weapon model\r
+r_dynamic                                         1                   enables dynamic lights (rocket glow and such)\r
+r_editlights                                      0                   enables .rtlights file editing mode\r
+r_editlights_cursordistance                       1024                maximum distance of cursor from eye\r
+r_editlights_cursorgrid                           4                   snaps cursor to this grid size\r
+r_editlights_cursorpushback                       0                   how far to pull the cursor back toward the eye\r
+r_editlights_cursorpushoff                        4                   how far to push the cursor off the impacted surface\r
+r_editlights_quakelightsizescale                  1                   changes size of light entities loaded from a map\r
+r_explosionclip                                   1                   enables collision detection for explosion shell (so that it flattens against walls and floors)\r
+r_fullbright                                      0                   makes map very bright and renders faster\r
+r_fullbrights                                     1                   enables glowing pixels in quake textures (changes need r_restart to take effect)\r
+r_glsl                                            1                   enables use of OpenGL 2.0 pixel shaders for lighting\r
+r_glsl_deluxemapping                              1                   use per pixel lighting on deluxemap-compiled q3bsp maps (or a value of 2 forces deluxemap shading even without deluxemaps)\r
+r_glsl_offsetmapping                              0                   offset mapping effect (also known as parallax mapping or virtual displacement mapping)\r
+r_glsl_offsetmapping_reliefmapping                0                   relief mapping effect (higher quality)\r
+r_glsl_offsetmapping_scale                        0.04                how deep the offset mapping effect is\r
+r_hdr                                             0                   enables High Dynamic Range bloom effect (higher quality version of r_bloom)\r
+r_hdr_glowintensity                               1                   how bright light emitting textures should appear\r
+r_hdr_range                                       4                   how much dynamic range to render bloom with (equivilant to multiplying r_bloom_brighten by this value and dividing r_bloom_colorscale by this value)\r
+r_hdr_scenebrightness                             1                   global rendering brightness\r
+r_lerpimages                                      1                   bilinear filters images when scaling them up to power of 2 size (mode 1), looks better than glquake (mode 0)\r
+r_lerpmodels                                      1                   enables animation smoothing on models\r
+r_lerpsprites                                     1                   enables animation smoothing on sprites\r
+r_letterbox                                       0                   reduces vertical height of view to simulate a letterboxed movie effect (can be used by mods for cutscenes)\r
+r_lightmaprgba                                    1                   whether to use RGBA (32bit) or RGB (24bit) lightmaps\r
+r_lightningbeam_color_blue                        1                   color of the lightning beam effect\r
+r_lightningbeam_color_green                       1                   color of the lightning beam effect\r
+r_lightningbeam_color_red                         1                   color of the lightning beam effect\r
+r_lightningbeam_qmbtexture                        0                   load the qmb textures/particles/lightning.pcx texture instead of generating one, can look better\r
+r_lightningbeam_repeatdistance                    128                 how far to stretch the texture along the lightning beam effect\r
+r_lightningbeam_scroll                            5                   speed of texture scrolling on the lightning beam effect\r
+r_lightningbeam_thickness                         4                   thickness of the lightning beam effect\r
+r_lockpvs                                         0                   disables pvs switching, allows you to walk around and inspect what is visible from a given location in the map (anything not visible from your current location will not be drawn)\r
+r_lockvisibility                                  0                   disables visibility updates, allows you to walk around and inspect what is visible from a given viewpoint in the map (anything offscreen at the moment this is enabled will not be drawn)\r
+r_mipskins                                        0                   mipmaps skins (so they become blurrier in the distance), disabled by default because it tends to blur with strange border colors from the skin\r
+r_mipsprites                                      1                   mipmaps skins (so they become blurrier in the distance), unlike skins the sprites do not have strange border colors\r
+r_nearclip                                        1                   distance from camera of nearclip plane\r
+r_nosurftextures                                  0                   pretends there was no texture lump found in the q1bsp/hlbsp loading (useful for debugging this rare case)\r
+r_novis                                           0                   draws whole level, see also sv_cullentities_pvs 0\r
+r_precachetextures                                1                   0 = never upload textures until used, 1 = upload most textures before use (exceptions: rarely used skin colormap layers), 2 = upload all textures before use (can increase texture memory usage significantly)\r
+r_q3bsp_renderskydepth                            0                   draws sky depth masking in q3 maps (as in q1 maps), this means for example that sky polygons can hide other things\r
+r_qb1sp_skymasking                                1                   allows sky polygons in quake1 maps to obscure other geometry\r
+r_render                                          1                   enables rendering calls (you want this on!)\r
+r_shadow_bumpscale_basetexture                    0                   generate fake bumpmaps from diffuse textures at this bumpyness, try 4 to match tenebrae, higher values increase depth, requires r_restart to take effect\r
+r_shadow_bumpscale_bumpmap                        4                   what magnitude to interpret _bump.tga textures as, higher values increase depth, requires r_restart to take effect\r
+r_shadow_culltriangles                            1                   performs more expensive tests to remove unnecessary triangles of lit surfaces\r
+r_shadow_debuglight                               -1                  renders only one light, for level design purposes or debugging\r
+r_shadow_frontsidecasting                         1                   whether to cast shadows from illuminated triangles (front side of model) or unlit triangles (back side of model)\r
+r_shadow_gloss                                    1                   0 disables gloss (specularity) rendering, 1 uses gloss if textures are found, 2 forces a flat metallic specular effect on everything without textures (similar to tenebrae)\r
+r_shadow_gloss2intensity                          0.125               how bright the forced flat gloss should look if r_shadow_gloss is 2\r
+r_shadow_glossexponent                            32                  how 'sharp' the gloss should appear (specular power)\r
+r_shadow_glossintensity                           1                   how bright textured glossmaps should look if r_shadow_gloss is 1 or 2\r
+r_shadow_lightattenuationpower                    0.5                 changes attenuation texture generation (does not affect r_glsl lighting)\r
+r_shadow_lightattenuationscale                    1                   changes attenuation texture generation (does not affect r_glsl lighting)\r
+r_shadow_lightintensityscale                      1                   renders all world lights brighter or darker\r
+r_shadow_lightradiusscale                         1                   renders all world lights larger or smaller\r
+r_shadow_portallight                              1                   use portal culling to exactly determine lit triangles when compiling world lights\r
+r_shadow_projectdistance                          1000000             how far to cast shadows\r
+r_shadow_realtime_dlight                          1                   enables rendering of dynamic lights such as explosions and rocket light\r
+r_shadow_realtime_dlight_portalculling            0                   enables portal optimization on dynamic lights (slow!)\r
+r_shadow_realtime_dlight_shadows                  1                   enables rendering of shadows from dynamic lights\r
+r_shadow_realtime_dlight_svbspculling             0                   enables svbsp optimization on dynamic lights (very slow!)\r
+r_shadow_realtime_world                           0                   enables rendering of full world lighting (whether loaded from the map, or a .rtlights file, or a .ent file, or a .lights file produced by hlight)\r
+r_shadow_realtime_world_compile                   1                   enables compilation of world lights for higher performance rendering\r
+r_shadow_realtime_world_compileportalculling      1                   enables portal-based culling optimization during compilation\r
+r_shadow_realtime_world_compileshadow             1                   enables compilation of shadows from world lights for higher performance rendering\r
+r_shadow_realtime_world_compilesvbsp              1                   enables svbsp optimization during compilation\r
+r_shadow_realtime_world_lightmaps                 0                   brightness to render lightmaps when using full world lighting, try 0.5 for a tenebrae-like appearance\r
+r_shadow_realtime_world_shadows                   1                   enables rendering of shadows from world lights\r
+r_shadow_scissor                                  1                   use scissor optimization of light rendering (restricts rendering to the portion of the screen affected by the light)\r
+r_shadow_polygonfactor                            0                   how much to enlarge shadow volume polygons when rendering (should be 0!)\r
+r_shadow_polygonoffset                            1                   how much to push shadow volumes into the distance when rendering, to reduce chances of zfighting artifacts (should not be less than 0)\r
+r_shadow_texture3d                                1                   use 3D voxel textures for spherical attenuation rather than cylindrical (does not affect r_glsl lighting)\r
+r_shadows                                         0                   casts fake stencil shadows from models onto the world (rtlights are unaffected by this)\r
+r_shadows_throwdistance                           500                 how far to cast shadows from models\r
+r_showcollisionbrushes                            0                   draws collision brushes in quake3 maps (mode 1), mode 2 disables rendering of world (trippy!)\r
+r_showcollisionbrushes_polygonfactor              -1                  expands outward the brush polygons a little bit, used to make collision brushes appear infront of walls\r
+r_showcollisionbrushes_polygonoffset              0                   nudges brush polygon depth in hardware depth units, used to make collision brushes appear infront of walls\r
+r_showdisabledepthtest                            0                   disables depth testing on r_show* cvars, allowing you to see what hidden geometry the graphics card is processing\r
+r_showlighting                                    0                   shows areas lit by lights, useful for finding out why some areas of a map render slowly (bright orange = lots of passes = slow), a value of 2 disables depth testing which can be interesting but not very useful\r
+r_shownormals                                     0                   shows per-vertex surface normals and tangent vectors for bumpmapped lighting\r
+r_showshadowvolumes                               0                   shows areas shadowed by lights, useful for finding out why some areas of a map render slowly (bright blue = lots of passes = slow), a value of 2 disables depth testing which can be interesting but not very useful\r
+r_showsurfaces                                    0                   1 shows surfaces as different colors, or a value of 2 shows triangle draw order (for analyzing whether meshes are optimized for vertex cache)\r
+r_showtris                                        0                   shows triangle outlines, value controls brightness (can be above 1)\r
+r_skeletal_debugbone                              -1                  development cvar for testing skeletal model code\r
+r_skeletal_debugbonecomponent                     3                   development cvar for testing skeletal model code\r
+r_skeletal_debugbonevalue                         100                 development cvar for testing skeletal model code\r
+r_skeletal_debugtranslatex                        1                   development cvar for testing skeletal model code\r
+r_skeletal_debugtranslatey                        1                   development cvar for testing skeletal model code\r
+r_skeletal_debugtranslatez                        1                   development cvar for testing skeletal model code\r
+r_sky                                             1                   enables sky rendering (black otherwise)\r
+r_skyscroll1                                      1                   speed at which upper clouds layer scrolls in quake sky\r
+r_skyscroll2                                      2                   speed at which lower clouds layer scrolls in quake sky\r
+r_smoothnormals_areaweighting                     1                   uses significantly faster (and supposedly higher quality) area-weighted vertex normals and tangent vectors rather than summing normalized triangle normals and tangents\r
+r_speeds                                          0                   displays rendering statistics and per-subsystem timings\r
+r_stereo_redblue                                  0                   red/blue anaglyph stereo glasses (note: most of these glasses are actually red/cyan, try that one too)\r
+r_stereo_redcyan                                  0                   red/cyan anaglyph stereo glasses, the kind given away at drive-in movies like Creature From The Black Lagoon In 3D\r
+r_stereo_redgreen                                 0                   red/green anaglyph stereo glasses (for those who don't mind yellow)\r
+r_stereo_separation                               4                   separation of eyes in the world (try negative values too)\r
+r_stereo_sidebyside                               0                   side by side views (for those who can't afford glasses but can afford eye strain)\r
+r_subdivide_size                                  128                 how large water polygons should be (smaller values produce more polygons which give better warping effects)\r
+r_subdivisions_collision_maxtess                  1024                maximum number of subdivisions (prevents curves beyond a certain detail level, limits smoothing)\r
+r_subdivisions_collision_maxvertices              4225                maximum vertices allowed per subdivided curve\r
+r_subdivisions_collision_mintess                  1                   minimum number of subdivisions (values above 1 will smooth curves that don't need it)\r
+r_subdivisions_collision_tolerance                15                  maximum error tolerance on curve subdivision for collision purposes (usually a larger error tolerance than for rendering)\r
+r_subdivisions_maxtess                            1024                maximum number of subdivisions (prevents curves beyond a certain detail level, limits smoothing)\r
+r_subdivisions_maxvertices                        65536               maximum vertices allowed per subdivided curve\r
+r_subdivisions_mintess                            1                   minimum number of subdivisions (values above 1 will smooth curves that don't need it)\r
+r_subdivisions_tolerance                          4                   maximum error tolerance on curve subdivision for rendering purposes (in other words, the curves will be given as many polygons as necessary to represent curves at this quality)\r
+r_test                                            0                   internal development use only, leave it alone (usually does nothing anyway)\r
+r_textshadow                                      0                   draws a shadow on all text to improve readability\r
+r_textureunits                                    32                  number of hardware texture units reported by driver (note: setting this to 1 turns off gl_combine)\r
+r_useportalculling                                1                   use advanced portal culling visibility method to improve performance over just Potentially Visible Set, provides an even more significant speed improvement in unvised maps\r
+r_wateralpha                                      1                   opacity of water polygons\r
+r_waterscroll                                     1                   makes water scroll around, value controls how much\r
+r_waterwarp                                       1                   warp view while underwater\r
+rcon_address                                                          server address to send rcon commands to (when not connected to a server)\r
+rcon_password                                                         password to authenticate rcon commands\r
+registered                                        0                   indicates if this is running registered quake (whether gfx/pop.lmp was found)\r
+samelevel                                         0                   repeats same level if level ends (due to timelimit or someone hitting an exit)\r
+saved1                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods\r
+saved2                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods\r
+saved3                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods\r
+saved4                                            0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods\r
+savedgamecfg                                      0                   unused cvar in quake that is saved to config.cfg on exit, can be used by mods\r
+sbar_alpha_bg                                     0.4                 opacity value of the statusbar background image\r
+sbar_alpha_fg                                     1                   opacity value of the statusbar weapon/item icons and numbers\r
+scr_centertime                                    2                   how long centerprint messages show\r
+scr_conalpha                                      1                   opacity of console background\r
+scr_conbrightness                                 1                   brightness of console background (0 = black, 1 = image)\r
+scr_conforcewhiledisconnected                     1                   forces fullscreen console while disconnected\r
+scr_menuforcewhiledisconnected                    0                   forces menu while disconnected\r
+scr_printspeed                                    8                   speed of intermission printing (episode end texts)\r
+scr_refresh                                       1                   allows you to completely shut off rendering for benchmarking purposes\r
+scr_screenshot_gammaboost                         1                   gamma correction on saved screenshots and videos, 1.0 saves unmodified images\r
+scr_screenshot_jpeg                               1                   save jpeg instead of targa\r
+scr_screenshot_jpeg_quality                       0.9                 image quality of saved jpeg\r
+scr_screenshot_name                               dp                  prefix name for saved screenshots (changes based on -game commandline, as well as which game mode is running)\r
+scr_stipple                                       0                   interlacing-like stippling of the display\r
+scr_zoomwindow                                    0                   displays a zoomed in overlay window\r
+scr_zoomwindow_fov                                20                  fov of zoom window\r
+scr_zoomwindow_viewsizex                          20                  horizontal viewsize of zoom window\r
+scr_zoomwindow_viewsizey                          20                  vertical viewsize of zoom window\r
+scratch1                                          0                   unused cvar in quake, can be used by mods\r
+scratch2                                          0                   unused cvar in quake, can be used by mods\r
+scratch3                                          0                   unused cvar in quake, can be used by mods\r
+scratch4                                          0                   unused cvar in quake, can be used by mods\r
+sensitivity                                       3                   mouse speed multiplier\r
+showbrand                                         0                   shows gfx/brand.tga in a corner of the screen (different values select different positions, including centered)\r
+showdate                                          0                   shows current date (useful on screenshots)\r
+showdate_format                                   %Y-%m-%d            format string for date\r
+showfps                                           0                   shows your rendered fps (frames per second)\r
+showpause                                         1                   show pause icon when game is paused\r
+showram                                           1                   show ram icon if low on surface cache memory (not used)\r
+showspeed                                         0                   shows your current speed (qu per second); number selects unit: 1 = qups, 2 = m/s, 3 = km/h, 4 = mph, 5 = knots\r
+showtime                                          0                   shows current time of day (useful on screenshots)\r
+showtime_format                                   %H:%M:%S            format string for time of day\r
+showturtle                                        0                   show turtle icon when framerate is too low (not used)\r
+skill                                             1                   difficulty level of game, affects monster layouts in levels, 0 = easy, 1 = normal, 2 = hard, 3 = nightmare (same layout as hard but monsters fire twice)\r
+skin                                                                  QW player skin name (example: base)\r
+slowmo                                            1.0                 controls game speed, 0.5 is half speed, 2 is double speed\r
+snd_channellayout                                 0                   channel layout. Can be 0 (auto - snd_restart needed), 1 (standard layout), or 2 (ALSA layout)\r
+snd_channels                                      2                   number of channels for the sound ouput (2 for stereo; up to 8 supported for 3D sound)\r
+snd_initialized                                   0                   indicates the sound subsystem is active\r
+snd_noextraupdate                                 0                   disables extra sound mixer calls that are meant to reduce the chance of sound breakup at very low framerates\r
+snd_precache                                      1                   loads sounds before they are used\r
+snd_show                                          0                   shows some statistics about sound mixing\r
+snd_soundradius                                   1000                radius of weapon sounds and other standard sound effects (monster idle noises are half this radius and flickering light noises are one third of this radius)\r
+snd_speed                                         48000               sound output frequency, in hertz\r
+snd_staticvolume                                  1                   volume of ambient sound effects (such as swampy sounds at the start of e1m2)\r
+snd_streaming                                     1                   enables keeping compressed ogg sound files compressed, decompressing them only as needed, otherwise they will be decompressed completely at load (may use a lot of memory)\r
+snd_swapstereo                                    0                   swaps left/right speakers for old ISA soundblaster cards\r
+snd_width                                         2                   sound output precision, in bytes (1 and 2 supported)\r
+sv_accelerate                                     10                  rate at which a player accelerates to sv_maxspeed\r
+sv_adminnick                                                          nick name to use for admin messages instead of host name\r
+sv_aim                                            2                   maximum cosine angle for quake's vertical autoaim, a value above 1 completely disables the autoaim, quake used 0.93\r
+sv_airaccelerate                                  -1                  rate at which a player accelerates to sv_maxairspeed while in the air, if less than 0 the sv_accelerate variable is used instead\r
+sv_allowdownloads                                 1                   whether to allow clients to download files from the server (does not affect http downloads)\r
+sv_allowdownloads_archive                         0                   whether to allow downloads of archives (pak/pk3)\r
+sv_allowdownloads_config                          0                   whether to allow downloads of config files (cfg)\r
+sv_allowdownloads_dlcache                         0                   whether to allow downloads of dlcache files (dlcache/)\r
+sv_allowdownloads_inarchive                       0                   whether to allow downloads from archives (pak/pk3)\r
+sv_areagrid_mingridsize                           64                  minimum areagrid cell size, smaller values work better for lots of small objects, higher values for large objects\r
+sv_cheats                                         0                   enables cheat commands in any game, and cheat impulses in dpmod\r
+sv_clmovement_enable                              1                   whether to allow clients to use cl_movement prediction, which can cause choppy movement on the server which may annoy other players\r
+sv_clmovement_minping                             0                   if client ping is below this time in milliseconds, then their ability to use cl_movement prediction is disabled for a while (as they don't need it)\r
+sv_clmovement_minping_disabletime                 1000                when client falls below minping, disable their prediction for this many milliseconds (should be at least 1000 or else their prediction may turn on/off frequently)\r
+sv_clmovement_inputtimeout                        0.2                 when a client does not send input for this many seconds, force them to move anyway (unlike QuakeWorld)\r
+sv_cullentities_nevercullbmodels                  0                   if enabled the clients are always notified of moving doors and lifts and other submodels of world (warning: eats a lot of network bandwidth on some levels!)\r
+sv_cullentities_pvs                               1                   fast but loose culling of hidden entities\r
+sv_cullentities_stats                             0                   displays stats on network entities culled by various methods for each client\r
+sv_cullentities_trace                             0                   somewhat slow but very tight culling of hidden entities, minimizes network traffic and makes wallhack cheats useless\r
+sv_cullentities_trace_delay                       1                   number of seconds until the entity gets actually culled\r
+sv_cullentities_trace_enlarge                     0                   box enlargement for entity culling\r
+sv_cullentities_trace_prediction                  1                   also trace from the predicted player position\r
+sv_cullentities_trace_samples                     1                   number of samples to test for entity culling\r
+sv_cullentities_trace_samples_extra               2                   number of samples to test for entity culling when the entity affects its surroundings by e.g. dlight\r
+sv_curl_defaulturl                                                    default autodownload source URL\r
+sv_curl_serverpackages                                                list of required files for the clients, separated by spaces\r
+sv_debugmove                                      0                   disables collision detection optimizations for debugging purposes\r
+sv_echobprint                                     1                   prints gamecode bprint() calls to server console\r
+sv_entpatch                                       1                   enables loading of .ent files to override entities in the bsp (for example Threewave CTF server pack contains .ent patch files enabling play of CTF on id1 maps)\r
+sv_fixedframeratesingleplayer                     0                   allows you to use server-style timing system in singleplayer (don't run faster than sys_ticrate)\r
+sv_freezenonclients                               0                   freezes time, except for players, allowing you to walk around and take screenshots of explosions\r
+sv_friction                                       4                   how fast you slow down\r
+sv_gameplayfix_blowupfallenzombies                1                   causes findradius to detect SOLID_NOT entities such as zombies and corpses on the floor, allowing splash damage to apply to them\r
+sv_gameplayfix_droptofloorstartsolid              1                   prevents items and monsters that start in a solid area from falling out of the level (makes droptofloor treat trace_startsolid as an acceptable outcome)\r
+sv_gameplayfix_findradiusdistancetobox            1                   causes findradius to check the distance to the corner of a box rather than the center of the box, makes findradius detect bmodels such as very large doors that would otherwise be unaffected by splash damage\r
+sv_gameplayfix_grenadebouncedownslopes            1                   prevents MOVETYPE_BOUNCE (grenades) from getting stuck when fired down a downward sloping surface\r
+sv_gameplayfix_noairborncorpse                    1                   causes entities (corpses) sitting ontop of moving entities (players) to fall when the moving entity (player) is no longer supporting them\r
+sv_gameplayfix_qwplayerphysics                    1                   changes water jumping to make it easier to get out of water, and prevents friction on landing when bunnyhopping\r
+sv_gameplayfix_setmodelrealbox                    1                   fixes a bug in Quake that made setmodel always set the entity box to ('-16 -16 -16', '16 16 16') rather than properly checking the model box, breaks some poorly coded mods\r
+sv_gameplayfix_stepdown                           0                   attempts to step down stairs, not just up them (prevents the familiar thud..thud..thud.. when running down stairs and slopes)\r
+sv_gameplayfix_stepwhilejumping                   1                   applies step-up onto a ledge even while airborn, useful if you would otherwise just-miss the floor when running across small areas with gaps (for instance running across the moving platforms in dm2, or jumping to the megahealth and red armor in dm2 rather than using the bridge)\r
+sv_gameplayfix_swiminbmodels                      1                   causes pointcontents (used to determine if you are in a liquid) to check bmodel entities as well as the world model, so you can swim around in (possibly moving) water bmodel entities\r
+sv_gameplayfix_upwardvelocityclearsongroundflag   1                   prevents monsters, items, and most other objects from being stuck to the floor when pushed around by damage, and other situations in mods\r
+sv_gravity                                        800                 how fast you fall (512 = roughly earth gravity)\r
+sv_heartbeatperiod                                120                 how often to send heartbeat in seconds (only used if sv_public is 1)\r
+sv_idealpitchscale                                0.8                 how much to look up/down slopes and stairs when not using freelook\r
+sv_jumpstep                                       0                   whether you can step up while jumping (sv_gameplayfix_stepwhilejumping must also be 1)\r
+sv_master1                                                            user-chosen master server 1\r
+sv_master2                                                            user-chosen master server 2\r
+sv_master3                                                            user-chosen master server 3\r
+sv_master4                                                            user-chosen master server 4\r
+sv_maxairspeed                                    30                  maximum speed a player can accelerate to when airborn (note that it is possible to completely stop by moving the opposite direction)\r
+sv_maxrate                                        10000               upper limit on client rate cvar, should reflect your network connection quality\r
+sv_maxspeed                                       320                 maximum speed a player can accelerate to when on ground (can be exceeded by tricks)\r
+sv_maxvelocity                                    2000                universal speed limit on all entities\r
+sv_newflymove                                     0                   enables simpler/buggier player physics (not recommended)\r
+sv_nostep                                         0                   prevents MOVETYPE_STEP entities (monsters) from moving\r
+sv_playerphysicsqc                                1                   enables QuakeC function to override player physics\r
+sv_progs                                          progs.dat           selects which quakec progs.dat file to run\r
+sv_protocolname                                   DP7                 selects network protocol to host for (values include QUAKE, QUAKEDP, NEHAHRAMOVIE, DP1 and up)\r
+sv_public                                         0                   1: advertises this server on the master server (so that players can find it in the server browser); 0: allow direct queries only; -1: do not respond to direct queries; -2: do not allow anyone to connect\r
+sv_qwmaster1                                                          user-chosen qwmaster server 1\r
+sv_qwmaster2                                                          user-chosen qwmaster server 2\r
+sv_qwmaster3                                                          user-chosen qwmaster server 3\r
+sv_qwmaster4                                                          user-chosen qwmaster server 4\r
+sv_random_seed                                                        random seed; when set, on every map start this random seed is used to initialize the random number generator. Don't touch it unless for benchmarking or debugging\r
+sv_ratelimitlocalplayer                           0                   whether to apply rate limiting to the local player in a listen server (only useful for testing)\r
+sv_sound_land                                     demon/dland2.wav    sound to play when MOVETYPE_STEP entity hits the ground at high speed (empty cvar disables the sound)\r
+sv_sound_watersplash                              misc/h2ohit1.wav    sound to play when MOVETYPE_FLY/TOSS/BOUNCE/STEP entity enters or leaves water (empty cvar disables the sound)\r
+sv_stepheight                                     18                  how high you can step up (TW_SV_STEPCONTROL extension)\r
+sv_stopspeed                                      100                 how fast you come to a complete stop\r
+sv_wallfriction                                   1                   how much you slow down when sliding along a wall\r
+sv_wateraccelerate                                -1                  rate at which a player accelerates to sv_maxspeed while in the air, if less than 0 the sv_accelerate variable is used instead\r
+sv_waterfriction                                  -1                  how fast you slow down, if less than 0 the sv_friction variable is used instead\r
+sys_colortranslation                              0                   terminal console color translation (supported values: 0 = strip color codes, 1 = translate to ANSI codes, 2 = no translation)\r
+sys_colortranslation                              1                   terminal console color translation (supported values: 0 = strip color codes, 1 = translate to ANSI codes, 2 = no translation)\r
+sys_specialcharactertranslation                   1                   terminal console conchars to ASCII translation (set to 0 if your conchars.tga is for an 8bit character set or if you want raw output)\r
+sys_ticrate                                       0.05                how long a server frame is in seconds, 0.05 is 20fps server rate, 0.1 is 10fps (can not be set higher than 0.1), 0 runs as many server frames as possible (makes games against bots a little smoother, overwhelms network players)\r
+sys_usetimegettime                                1                   use windows timeGetTime function (which has issues on some motherboards) for timing rather than QueryPerformanceCounter timer (which has issues on multicore/multiprocessor machines and processors which are designed to conserve power)\r
+team                                              none                QW team (4 character limit, example: blue)\r
+teamplay                                          0                   teamplay mode, values depend on mod but typically 0 = no teams, 1 = no team damage no self damage, 2 = team damage and self damage, some mods support 3 = no team damage but can damage self\r
+temp1                                             0                   general cvar for mods to use, in stock id1 this selects which death animation to use on players (0 = random death, other values select specific death scenes)\r
+timeformat                                        [%Y-%m-%d %H:%M:%S] time format to use on timestamped console messages\r
+timelimit                                         0                   ends level at this time (in minutes)\r
+timestamps                                        0                   prints timestamps on console messages\r
+v_brightness                                      0                   brightness of black, useful for monitors that are too dark\r
+v_centermove                                      0.15                how long before the view begins to center itself (if freelook/+mlook/+jlook/+klook are off)\r
+v_centerspeed                                     500                 how fast the view centers itself\r
+v_color_black_b                                   0                   desired color of black\r
+v_color_black_g                                   0                   desired color of black\r
+v_color_black_r                                   0                   desired color of black\r
+v_color_enable                                    0                   enables black-grey-white color correction curve controls\r
+v_color_grey_b                                    0.5                 desired color of grey\r
+v_color_grey_g                                    0.5                 desired color of grey\r
+v_color_grey_r                                    0.5                 desired color of grey\r
+v_color_white_b                                   1                   desired color of white\r
+v_color_white_g                                   1                   desired color of white\r
+v_color_white_r                                   1                   desired color of white\r
+v_contrast                                        1                   brightness of white (values above 1 give a brighter image with increased color saturation, unlike v_gamma)\r
+v_deathtilt                                       1                   whether to use sideways view when dead\r
+v_deathtiltangle                                  80                  what roll angle to use when tilting the view while dead\r
+v_gamma                                           1                   inverse gamma correction value, a brightness effect that does not affect white or black, and tends to make the image grey and dull\r
+v_hwgamma                                         1                   enables use of hardware gamma correction ramps if available (note: does not work very well on Windows2000 and above), values are 0 = off, 1 = attempt to use hardware gamma, 2 = use hardware gamma whether it works or not\r
+v_idlescale                                       0                   how much of the quake 'drunken view' effect to use\r
+v_ipitch_cycle                                    1                   v_idlescale pitch speed\r
+v_ipitch_level                                    0.3                 v_idlescale pitch amount\r
+v_iroll_cycle                                     0.5                 v_idlescale roll speed\r
+v_iroll_level                                     0.1                 v_idlescale roll amount\r
+v_iyaw_cycle                                      2                   v_idlescale yaw speed\r
+v_iyaw_level                                      0.3                 v_idlescale yaw amount\r
+v_kickpitch                                       0.6                 how much a view kick from damage pitches your view\r
+v_kickroll                                        0.6                 how much a view kick from damage rolls your view\r
+v_kicktime                                        0.5                 how long a view kick from damage lasts\r
+v_psycho                                          0                   easter egg (does not work on Windows2000 or above)\r
+vid_bitsperpixel                                  32                  how many bits per pixel to render at (32 or 16, 32 is recommended)\r
+vid_conheight                                     480                 virtual height of 2D graphics system\r
+vid_conwidth                                      640                 virtual width of 2D graphics system\r
+vid_dgamouse                                      1                   make use of DGA mouse input\r
+vid_fullscreen                                    1                   use fullscreen (1) or windowed (0)\r
+vid_grabkeyboard                                  1                   whether to grab the keyboard when mouse is active (prevents use of volume control keys, music player keys, etc on some keyboards)\r
+vid_hardwaregammasupported                        1                   indicates whether hardware gamma is supported (updated by attempts to set hardware gamma ramps)\r
+vid_height                                        480                 resolution\r
+vid_minheight                                     0                   minimum vid_height that is acceptable (to be set in default.cfg in mods)\r
+vid_minwidth                                      0                   minimum vid_width that is acceptable (to be set in default.cfg in mods)\r
+vid_mouse                                         1                   whether to use the mouse in windowed mode (fullscreen always does)\r
+vid_pixelheight                                   1                   adjusts vertical field of vision to account for non-square pixels (1280x1024 on a CRT monitor for example)\r
+vid_refreshrate                                   60                  refresh rate to use, in hz (higher values flicker less, if supported by your monitor)\r
+vid_stereobuffer                                  0                   enables 'quad-buffered' stereo rendering for stereo shutterglasses, HMD (head mounted display) devices, or polarized stereo LCDs, if supported by your drivers\r
+vid_vsync                                         0                   sync to vertical blank, prevents 'tearing' (seeing part of one frame and part of another on the screen at the same time), automatically disabled when doing timedemo benchmarks\r
+vid_width                                         640                 resolution\r
+viewsize                                          100                 how large the view should be, 110 disables inventory bar, 120 disables status bar\r
+volume                                            0.7                 volume of sound effects\r
+\r
+\r
+\r
+Full console command list as of 2007-03-11:\r
++attack                                           begin firing\r
++back                                             move backward\r
++button3                                          activate button3 (behavior depends on mod)\r
++button4                                          activate button4 (behavior depends on mod)\r
++button5                                          activate button5 (behavior depends on mod)\r
++button6                                          activate button6 (behavior depends on mod)\r
++button7                                          activate button7 (behavior depends on mod)\r
++button8                                          activate button8 (behavior depends on mod)\r
++button9                                          activate button9 (behavior depends on mod)\r
++button10                                         activate button10 (behavior depends on mod)\r
++button11                                         activate button11 (behavior depends on mod)\r
++button12                                         activate button12 (behavior depends on mod)\r
++button13                                         activate button13 (behavior depends on mod)\r
++button14                                         activate button14 (behavior depends on mod)\r
++button15                                         activate button15 (behavior depends on mod)\r
++button16                                         activate button16 (behavior depends on mod)\r
++forward                                          move forward\r
++jump                                             jump\r
++klook                                            activate keyboard looking mode, do not recenter view\r
++left                                             turn left\r
++lookdown                                         look downward\r
++lookup                                           look upward\r
++mlook                                            activate mouse looking mode, do not recenter view\r
++movedown                                         swim downward\r
++moveleft                                         strafe left\r
++moveright                                        strafe right\r
++moveup                                           swim upward\r
++right                                            turn right\r
++showscores                                       show scoreboard\r
++speed                                            activate run mode (faster movement and turning)\r
++strafe                                           activate strafing mode (move instead of turn)\r
++use                                              use something (may be used by some mods)\r
+-attack                                           stop firing\r
+-back                                             stop moving backward\r
+-button3                                          deactivate button3\r
+-button4                                          deactivate button4\r
+-button5                                          deactivate button5\r
+-button6                                          deactivate button6\r
+-button7                                          deactivate button7\r
+-button8                                          deactivate button8\r
+-button9                                          deactivate button9\r
+-button10                                         deactivate button10\r
+-button11                                         deactivate button11\r
+-button12                                         deactivate button12\r
+-button13                                         deactivate button13\r
+-button14                                         deactivate button14\r
+-button15                                         deactivate button15\r
+-button16                                         deactivate button16\r
+-forward                                          stop moving forward\r
+-jump                                             end jump (so you can jump again)\r
+-klook                                            deactivate keyboard looking mode\r
+-left                                             stop turning left\r
+-lookdown                                         stop looking downward\r
+-lookup                                           stop looking upward\r
+-mlook                                            deactivate mouse looking mode\r
+-movedown                                         stop swimming downward\r
+-moveleft                                         stop strafing left\r
+-moveright                                        stop strafing right\r
+-moveup                                           stop swimming upward\r
+-right                                            stop turning right\r
+-showscores                                       hide scoreboard\r
+-speed                                            deactivate run mode\r
+-strafe                                           deactivate strafing mode\r
+-use                                              stop using something\r
+alias                                             create a script function (parameters are passed in as $1 through $9, and $* for all parameters)\r
+begin                                             signon 3 (client asks server to start sending entities, and will go to signon 4 (playing) when the first entity update is received)\r
+bestweapon                                        send an impulse number to server to select the first usable weapon out of several (example: 8 7 6 5 4 3 2 1)\r
+bf                                                briefly flashes a bright color tint on view (used when items are picked up)\r
+bind                                              binds a command to the specified key in bindmap 0\r
+bottomcolor                                       QW command to set bottom color without changing top color\r
+cd                                                execute a CD drive command (cd on/off/reset/remap/close/play/loop/stop/pause/resume/eject/info) - use cd by itself for usage\r
+cddrive                                           select an SDL-detected CD drive by number\r
+centerview                                        gradually recenter view (stop looking up/down)\r
+changelevel                                       change to another level, bringing along all connected clients\r
+changing                                          sent by qw servers to tell client to wait for level change\r
+cycleweapon                                       send an impulse number to server to select the next usable weapon out of several, or the first if you are not holding any (example: 8 7 3)\r
+cl_areastats                                      prints statistics on entity culling during collision traces\r
+cl_begindownloads                                 used internally by darkplaces client while connecting (causes loading of models and sounds or triggers downloads for missing ones)\r
+cl_downloadbegin                                  (networking) informs client of download file information, client replies with sv_startsoundload to begin the transfer\r
+cl_downloadfinished                               signals that a download has finished and provides the client with file size and crc to check its integrity\r
+cl_particles_reloadeffects                        reloads effectinfo.txt\r
+clear                                             clear console history\r
+cmd                                               send a console commandline to the server (used by some mods)\r
+cmdlist                                           lists all console commands beginning with the specified prefix\r
+color                                             change your player shirt and pants colors\r
+condump                                           output console history to a file (see also log_file)\r
+connect                                           connect to a server by IP address or hostname\r
+curl                                              download data from an URL and add to search path\r
+cvar_lockdefaults                                 stores the current values of all cvars into their default values, only used once during startup after parsing default.cfg\r
+cvar_resettodefaults_all                          sets all cvars to their locked default values\r
+cvar_resettodefaults_nosaveonly                   sets all non-saved cvars to their locked default values (variables that will not be saved to config.cfg)\r
+cvar_resettodefaults_saveonly                     sets all saved cvars to their locked default values (variables that will be saved to config.cfg)\r
+cvarlist                                          lists all console variables beginning with the specified prefix\r
+demos                                             restart looping demos defined by the last startdemos command\r
+dir                                               list files in searchpath matching an * filename pattern, one per line\r
+disconnect                                        disconnect from server (or disconnect all clients if running a server)\r
+download                                          downloads a specified file from the server\r
+echo                                              print a message to the console (useful in scripts)\r
+entities                                          print information on network entities known to client\r
+envmap                                            render a cubemap (skybox) of the current scene\r
+exec                                              execute a script file\r
+fly                                               fly mode (flight)\r
+fog                                               set global fog parameters (density red green blue mindist maxdist)\r
+force_centerview                                  recenters view (stops looking up/down)\r
+fs_rescan                                         rescans filesystem for new pack archives and any other changes\r
+fullinfo                                          allows client to modify their userinfo\r
+fullserverinfo                                    internal use only, sent by server to client to update client's local copy of serverinfo string\r
+gamedir                                           changes active gamedir list (can take multiple arguments), not including base directory (example usage: gamedir ctf)\r
+give                                              alter inventory\r
+gl_texturemode                                    set texture filtering mode (GL_NEAREST, GL_LINEAR, GL_LINEAR_MIPMAP_LINEAR, etc)\r
+god                                               god mode (invulnerability)\r
+heartbeat                                         send a heartbeat to the master server (updates your server information)\r
+help                                              open the help menu\r
+impulse                                           send an impulse number to server (select weapon, use item, etc)\r
+in_bind                                           binds a command to the specified key in the selected bindmap\r
+in_bindmap                                        selects active foreground and background (used only if a key is not bound in the foreground) bindmaps for typing\r
+in_unbind                                         removes command on the specified key in the selected bindmap\r
+joyadvancedupdate                                 applies current joyadv* cvar settings to the joystick driver\r
+kick                                              kick a player off the server by number or name\r
+kill                                              die instantly\r
+load                                              load a saved game file\r
+loadconfig                                        reset everything and reload configs\r
+loadsky                                           load a skybox by basename (for example loadsky mtnsun_ loads mtnsun_ft.tga and so on)\r
+locs_add                                          add a point or box location (usage: x y z[ x y z] \\r
+locs_clear                                        remove all loc points/boxes\r
+locs_reload                                       reload .loc file for this map\r
+locs_removenearest                                remove the nearest point or box (note: you need to be very near a box to remove it)\r
+locs_save                                         save .loc file for this map containing currently defined points and boxes\r
+ls                                                list files in searchpath matching an * filename pattern, multiple per line\r
+map                                               kick everyone off the server and start a new level\r
+maps                                              list information about available maps\r
+maxplayers                                        sets limit on how many players (or bots) may be connected to the server at once\r
+memlist                                           prints memory pool information (or if used as memlist 5 lists individual allocations of 5K or larger, 0 lists all allocations)\r
+memstats                                          prints memory system statistics\r
+menu_credits                                      open the credits menu\r
+menu_fallback                                     switch to engine menu (unload menu.dat)\r
+menu_keys                                         open the key binding menu\r
+menu_load                                         open the loadgame menu\r
+menu_main                                         open the main menu\r
+menu_multiplayer                                  open the multiplayer menu\r
+menu_options                                      open the options menu\r
+menu_options_colorcontrol                         open the color control menu\r
+menu_options_effects                              open the effects options menu\r
+menu_options_graphics                             open the graphics options menu\r
+menu_quit                                         open the quit menu\r
+menu_reset                                        open the reset to defaults menu\r
+menu_restart                                      restart menu system (reloads menu.dat\r
+menu_save                                         open the savegame menu\r
+menu_setup                                        open the player setup menu\r
+menu_singleplayer                                 open the singleplayer menu\r
+menu_transfusion_episode                          open the transfusion episode select menu\r
+menu_transfusion_skill                            open the transfusion skill select menu\r
+menu_video                                        open the video options menu\r
+messagemode                                       input a chat message to say to everyone\r
+messagemode2                                      input a chat message to say to only your team\r
+modellist                                         prints a list of loaded models\r
+modelprecache                                     load a model\r
+name                                              change your player name\r
+net_slist                                         query dp master servers and print all server information\r
+net_slistqw                                       query qw master servers and print all server information\r
+net_stats                                         print network statistics\r
+nextul                                            sends next fragment of current upload buffer (screenshot for example)\r
+noclip                                            noclip mode (flight without collisions, move through walls)\r
+notarget                                          notarget mode (monsters do not see you)\r
+packet                                            send a packet to the specified address:port containing a text string\r
+path                                              print searchpath (game directories and archives)\r
+pause                                             pause the game (if the server allows pausing)\r
+pausedemo                                         pause demo playback (can also safely pause demo recording if using QUAKE, QUAKEDP or NEHAHRAMOVIE protocol, useful for making movies)\r
+ping                                              print ping times of all players on the server\r
+pingplreport                                      command sent by server containing client ping and packet loss values for scoreboard, triggered by pings command from client (not used by QW servers)\r
+pings                                             command sent by clients to request updated ping and packetloss of players on scoreboard (originally from QW, but also used on NQ servers)\r
+play                                              play a sound at your current location (not heard by anyone else)\r
+play2                                             play a sound globally throughout the level (not heard by anyone else)\r
+playdemo                                          watch a demo file\r
+playermodel                                       change your player model\r
+playerskin                                        change your player skin number\r
+playvideo                                         play a .dpv video file\r
+playvol                                           play a sound at the specified volume level at your current location (not heard by anyone else)\r
+pmodel                                            change your player model choice (Nehahra specific)\r
+pointfile                                         display point file produced by qbsp when a leak was detected in the map (a line leading through the leak hole, to an entity inside the level)\r
+prespawn                                          signon 1 (client acknowledges that server information has been received)\r
+prvm_edict                                        print all data about an entity number in the selected VM (server, client, menu)\r
+prvm_edictcount                                   prints number of active entities in the selected VM (server, client, menu)\r
+prvm_edicts                                       set a property on an entity number in the selected VM (server, client, menu)\r
+prvm_edictset                                     changes value of a specified property of a specified entity in the selected VM (server, client, menu)\r
+prvm_fields                                       prints usage statistics on properties (how many entities have non-zero values) in the selected VM (server, client, menu)\r
+prvm_global                                       prints value of a specified global variable in the selected VM (server, client, menu)\r
+prvm_globals                                      prints all global variables in the selected VM (server, client, menu)\r
+prvm_globalset                                    sets value of a specified global variable in the selected VM (server, client, menu)\r
+prvm_printfunction                                prints a disassembly (QuakeC instructions) of the specified function in the selected VM (server, client, menu)\r
+prvm_profile                                      prints execution statistics about the most used QuakeC functions in the selected VM (server, client, menu)\r
+quit                                              quit the game\r
+r_editlights_clear                                removes all world lights (let there be darkness!)\r
+r_editlights_copyinfo                             store a copy of all properties (except origin) of the selected light\r
+r_editlights_edit                                 changes a property on the selected light\r
+r_editlights_editall                              changes a property on ALL lights at once (tip: use radiusscale and colorscale to alter these properties)\r
+r_editlights_help                                 prints documentation on console commands and variables in rtlight editing system\r
+r_editlights_importlightentitiesfrommap           load lights from .ent file or map entities (ignoring .rtlights or .lights file)\r
+r_editlights_importlightsfile                     load lights from .lights file (ignoring .rtlights or .ent files and map entities)\r
+r_editlights_pasteinfo                            apply the stored properties onto the selected light (making it exactly identical except for origin)\r
+r_editlights_reload                               reloads rtlights file (or imports from .lights file or .ent file or the map itself)\r
+r_editlights_remove                               remove selected light\r
+r_editlights_save                                 save .rtlights file for current level\r
+r_editlights_spawn                                creates a light with default properties (let there be light!)\r
+r_editlights_togglecorona                         toggle on/off the corona option on the selected light\r
+r_editlights_toggleshadow                         toggle on/off the shadow option on the selected light\r
+r_glsl_restart                                    unloads GLSL shaders, they will then be reloaded as needed\r
+r_listmaptextures                                 list all textures used by the current map\r
+r_replacemaptexture                               override a map texture for testing purposes\r
+r_restart                                         restarts renderer\r
+r_shadow_help                                     prints documentation on console commands and variables used by realtime lighting and shadowing system\r
+r_texturestats                                    print information about all loaded textures and some statistics\r
+rate                                              change your network connection speed\r
+rcon                                              sends a command to the server console (if your rcon_password matches the server's rcon_password), or to the address specified by rcon_address when not connected (again rcon_password must match the server's)\r
+reconnect                                         reconnect to the last server you were on, or resets a quakeworld connection (do not use if currently playing on a netquake server)\r
+record                                            record a demo\r
+restart                                           restart current level\r
+save                                              save the game to a file\r
+saveconfig                                        save settings to config.cfg immediately (also automatic when quitting)\r
+say                                               send a chat message to everyone on the server\r
+say_team                                          send a chat message to your team on the server\r
+screenshot                                        takes a screenshot of the next rendered frame\r
+sendcvar                                          sends the value of a cvar to the server as a sentcvar command, for use by QuakeC\r
+set                                               create or change the value of a console variable\r
+seta                                              create or change the value of a console variable that will be saved to config.cfg\r
+setinfo                                           modifies your userinfo\r
+sizedown                                          decrease view size (decreases viewsize cvar)\r
+sizeup                                            increase view size (increases viewsize cvar)\r
+skins                                             downloads missing qw skins from server\r
+snd_unloadallsounds                               unload all sound files\r
+snd_restart                                       restart sound system\r
+soundinfo                                         print sound system information (such as channels and speed)\r
+soundlist                                         list loaded sounds\r
+spawn                                             signon 2 (client has sent player information, and is asking server to send scoreboard rankings)\r
+startdemos                                        start playing back the selected demos sequentially (used at end of startup script)\r
+status                                            print server status information\r
+stop                                              stop recording or playing a demo\r
+stopdemo                                          stop playing or recording demo (like stop command) and return to looping demos\r
+stopdownload                                      terminates a download\r
+stopsound                                         silence\r
+stopul                                            aborts current upload (screenshot for example)\r
+stopvideo                                         stop playing a .dpv video file\r
+stuffcmds                                         execute commandline parameters (must be present in quake.rc script)\r
+sv_areastats                                      prints statistics on entity culling during collision traces\r
+sv_saveentfile                                    save map entities to .ent file (to allow external editing)\r
+sv_startdownload                                  begins sending a file to the client (network protocol use only)\r
+tell                                              send a chat message to only one person on the server\r
+timedemo                                          play back a demo as fast as possible and save statistics to benchmark.log\r
+timerefresh                                       turn quickly and print rendering statistcs\r
+toggle                                            toggles a console variable's values (use for more info)\r
+toggleconsole                                     opens or closes the console\r
+togglemenu                                        opens or closes menu\r
+topcolor                                          QW command to set top color without changing bottom color\r
+unbind                                            removes a command on the specified key in bindmap 0\r
+unbindall                                         removes all commands from all keys in all bindmaps (leaving only shift-escape and escape)\r
+user                                              prints additional information about a player number or name on the scoreboard\r
+users                                             prints additional information about all players on the scoreboard\r
+v_cshift                                          sets tint color of view\r
+version                                           print engine version\r
+vid_restart                                       restarts video system (closes and reopens the window, restarts renderer)\r
+viewframe                                         change animation frame of viewthing entity in current level\r
+viewmodel                                         change model of viewthing entity in current level\r
+viewnext                                          change to next animation frame of viewthing entity in current level\r
+viewprev                                          change to previous animation frame of viewthing entity in current level\r
+wait                                              make script execution wait for next rendered frame\r
+which                                             accepts a file name as argument and reports where the file is taken from\r
+\r
+\r
+How to install Quake on Windows:\r
+All that DarkPlaces needs from the Quake CD is pak files (be sure not to copy opengl32.dll from the Quake CD, it will not work with DarkPlaces!), with this in mind, all you need to do is make a Quake directory, extract the darkplaces engine zip to that directory, then make a quake/id1 directory, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well.\r
+\r
+How to deal with a DOS Quake CD on Windows:\r
+Try to use the DOS Quake installer if you can, use DOSBox if necessary to run the installer, then copy the pak0.pak and pak1.pak to your id1 directory in the darkplaces installation.  ( http://dosbox.sourceforge.net )\r
+\r
+How to deal with a WinQuake CD on Windows:\r
+Copy the D:\Data\id1\pak0.pak and pak1.pak to your id1 directory.\r
+\r
+How to deal with a Linux Quake CD on Windows:\r
+Find an archiver (perhaps 7zip or winrar) that can extract files from rpm archives, locate the pak files and copy them to your id1 directory.\r
+\r
+\r
+\r
+How to install Quake on Linux:\r
+All that DarkPlaces needs from the Quake CD is pak files, with this in mind, all you need to do is make a ~/quake directory, extract the darkplaces engine zip to that directory, then make a quake/id1 directory, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well, you will probably also want to make a ~/bin/darkplaces script containing the following text:\r
+#!/bin/sh\r
+cd ~/quake\r
+./darkplaces-sdl $*\r
+Then do chmod +x ~/bin/darkplaces\r
+\r
+For more information on Quake installation on Linux see http://www.tldp.org/HOWTO/Quake-HOWTO.html" (the Linux Quake How To)\r
+\r
+How to deal with a DOS Quake CD on Linux:\r
+cat /media/cdrom/resource.001 /media/cdrom/resource.002 >quake.lha\r
+unlha x quake.lha\r
+If you can't get unlha or lha for your distribution, try using DOSBox to run the Quake installer.\r
+\r
+How to deal with a WinQuake CD on Linux:\r
+Copy the /media/cdrom/data/id1/pak*.pak to your id1 directory.\r
+\r
+How to deal with a Linux Quake CD on Linux:\r
+mkdir temp\r
+cd temp\r
+# in the following line replace quake.rpm with a correct rpm filename\r
+cat /media/cdrom/quake.rpm | rpm2cpio | cpio -i\r
+Now you should have a mess of subdirectories, locate the pak files and copy to your id1 directory.\r
+Alternatively if you have an rpm-based distribution you could install the rpm, but it is easier to maintain your ~/quake directory than /usr/share/games/quake so you may want to copy the id1/pak*.pak from there and uninstall the rpm.\r
+\r
+\r
+\r
+How to install Quake on Mac OS X:\r
+All that DarkPlaces needs from the Quake CD is pak files, with this in mind, make a folder named Quake, drag the Darkplaces.app into this Quake folder, make a folder inside the Quake folder (alongside Darkplaces) named id1, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well, simply run the Darkplaces app\r
+\r
+How to deal with a DOS Quake CD on Mac OS X:\r
+Unknown.  Linux solution may work if you can get hold of lha, otherwise use DOSBox to run the Quake installer.\r
+\r
+How to deal with a WinQuake CD on Mac OS X:\r
+Find the data folder on the cdrom and copy the data/id1/pak*.pak files to your id1 folder.\r
+\r
+How to deal with a Linux Quake CD on Mac OS X:\r
+Unknown.  If you can get hold of rpm2cpio and cpio you should be able to follow the Linux method.\r
+\r
+\r
+\r
+Thanks to:\r
+Tomaz for adding features, fixing many bugs, and being generally helpful.\r
+Andreas 'Black' Kirsch for much work on the QuakeC VM (menu.dat, someday clprogs.dat) and other contributions.\r
+Mathieu 'Elric' Olivier for much work on the sound engine (especially the Ogg vorbis support)\r
+MoALTz for some bugfixes and cleanups\r
+Joseph Caporale for adding 5 mouse button support.\r
+KGB|romi for his contributions to the Quake community, including his rtlights project and many suggestions, his id1 romi_rtlights.pk3 is included in darkplaces mod releases.\r
+Zombie for making great levels and general DarkPlaces publicity.\r
+FrikaC for FrikQCC and FrikBot and general community support.\r
+Transfusion Project for recreating Blood in the world of Quake.\r
+de-we for the great icons.\r
+|Rain| for running my favorite anynet IRC server and his bot feh (which although a bit antisocial never seems to grow tired of being my calculator).\r
+VorteX for the DP_QC_GETTAGINFO extension.\r
+Ludwig Nussel for the ~/.games/darkplaces/ user directory support on non-Windows platforms (allowing games to be installed in a non-writable system location as is the standard on UNIX but still save configs to the user's home directory).\r
+\r
+\r
+Shader parameters for DP's own features:\r
+- dp_reflect <distort> <r> <g> <b> <a>\r
+  Makes surfaces of this shader reflective with r_water. The reflection is\r
+  alpha blended on the texture with the given alpha, and modulated by the given\r
+  color. distort is used in conjunction with the normalmap to simulate a\r
+  nonplanar water surface.\r
+- dp_refract <distort> <r> <g> <b>\r
+  Makes surfaces of this shader refractive with r_water. The refraction\r
+  replaces the transparency of the texture. distort is used in conjunction with\r
+  the normalmap to simulate a nonplanar water surface.\r
+- dp_water <reflectmin> <reflectmax> <refractdistort> <reflectdistort> <refractr> <refractg> <refractb> <reflectr> <reflectg> <reflectb> <alpha>\r
+  This combines the effects of dp_reflect and dp_refract to simulate a water\r
+  surface. However, the refraction and the reflection are mixed using a Fresnel\r
+  equation that makes the amount of reflection slide from reflectmin when\r
+  looking parallel to the water to reflectmax when looking directly into the\r
+  water. The result of this reflection/refraction mix is then layered BELOW the\r
+  texture of the shader, so basically, it "fills up" the alpha values of the\r
+  water. The alpha value is a multiplicator for the alpha value on the texture\r
+  - set this to a small value like 0.1 to emphasize the reflection and make\r
+  the water transparent; but if r_water is 0, alpha isn't used, so the water can\r
+  be very visible then too.\r
+- tcmod page <width> <height> <delay>\r
+  The texture is shifted by 1/<width> every <delay> seconds, and by 1/<height>\r
+  every <delay>*<width> seconds. It is some sort of animmap replacement that keeps\r
+  all animation frames in a single texture.\r
+  To use it, make a texture with the frames aligned in a grid like this:\r
+    1   2   3   4\r
+    5   6   7   8\r
+  then align it in Radiant so only one of the animation frames can be seen on\r
+  the surface, and specify "tcmod page 4 2 0.1". DP will then display the frames\r
+  in order and the cycle will repeat every 0.8 seconds.\r
diff --git a/view.c b/view.c
index 87da55443f344563f86de604261f2f1bfe107d07..3d95d42251b87ccbda418b1d03fbd9f97cd402ca 100644 (file)
--- a/view.c
+++ b/view.c
@@ -45,6 +45,13 @@ cvar_t cl_bobmodel_side = {CVAR_SAVE, "cl_bobmodel_side", "0.15", "gun bobbing s
 cvar_t cl_bobmodel_up = {CVAR_SAVE, "cl_bobmodel_up", "0.06", "gun bobbing upward movement amount"};
 cvar_t cl_bobmodel_speed = {CVAR_SAVE, "cl_bobmodel_speed", "7", "gun bobbing speed"};
 
+cvar_t cl_leanmodel_side = {CVAR_SAVE, "cl_leanmodel_side", "1", "enables gun leaning sideways"};
+cvar_t cl_leanmodel_side_speed = {CVAR_SAVE, "cl_leanmodel_side_speed", "0.025", "gun leaning sideways speed"};
+cvar_t cl_leanmodel_side_limit = {CVAR_SAVE, "cl_leanmodel_side_limit", "7.5", "gun leaning sideways limit"};
+cvar_t cl_leanmodel_up = {CVAR_SAVE, "cl_leanmodel_up", "1", "enables gun leaning upward"};
+cvar_t cl_leanmodel_up_speed = {CVAR_SAVE, "cl_leanmodel_up_speed", "0.015", "gun leaning upward speed"};
+cvar_t cl_leanmodel_up_limit = {CVAR_SAVE, "cl_leanmodel_up_limit", "5", "gun leaning upward limit"};
+
 cvar_t cl_viewmodel_scale = {0, "cl_viewmodel_scale", "1", "changes size of gun model, lower values prevent poking into walls but cause strange artifacts on lighting and especially r_stereo/vid_stereobuffer options where the size of the gun becomes visible"};
 
 cvar_t v_kicktime = {0, "v_kicktime", "0.5", "how long a view kick from damage lasts"};
@@ -587,49 +594,60 @@ void V_CalcRefdef (void)
                                        // gun model leaning code
                                        
                                        // TODO 1 (done): Fix bug where model does a 360* turn when YAW jumps around the 0 - 360 rotation border
-                                       // TODO 2: Implement limits (weapon model must not lean past a certain limit)
-                                       // TODO 3: Cvar everything once the first TODOs are ready
-
-                                       // prevent the gun from doing a 360* rotation when going around the 0 <-> 360 border
-                                       if(cl.viewangles[YAW] - viewmodel_push_y >= 180)
-                                               viewmodel_push_y += 360;
-                                       if(viewmodel_push_y - cl.viewangles[YAW] >= 180)
-                                               viewmodel_push_y -= 360;
+                                       // TODO 2 (done): Implement limits (weapon model must not lean past a certain limit)
+                                       // TODO 3 (done): Cvar everything once the first TODOs are ready
 
-                                       if(cl.viewangles[PITCH] - viewmodel_push_x >= 180)
-                                               viewmodel_push_x += 360;
-                                       if(viewmodel_push_x - cl.viewangles[PITCH] >= 180)
-                                               viewmodel_push_x -= 360;
-
-                                       if(viewmodel_push_x < cl.viewangles[PITCH])
+                                       if(cl_leanmodel_up.value)
                                        {
-                                               if(cl.viewangles[PITCH] - viewmodel_push_x > 15)
-                                                       viewmodel_push_x = cl.viewangles[PITCH] - 15;
-                                               else
-                                                       viewmodel_push_x += (cl.viewangles[PITCH] - viewmodel_push_x) * 0.01;
-                                       }
-                                       if(viewmodel_push_x > cl.viewangles[PITCH])
-                                       {
-                                               if(viewmodel_push_x - cl.viewangles[PITCH] > 15)
-                                                       viewmodel_push_x = cl.viewangles[PITCH] + 15;
-                                               else
-                                                       viewmodel_push_x -= (viewmodel_push_x - cl.viewangles[PITCH]) * 0.01;
-                                       }
+                                               // prevent the gun from doing a 360* rotation when going around the 0 <-> 360 border
+                                               if(cl.viewangles[PITCH] - viewmodel_push_x >= 180)
+                                                       viewmodel_push_x += 360;
+                                               if(viewmodel_push_x - cl.viewangles[PITCH] >= 180)
+                                                       viewmodel_push_x -= 360;
 
-                                       if(viewmodel_push_y < cl.viewangles[YAW])
-                                       {
-                                               if(cl.viewangles[YAW] - viewmodel_push_y > 15)
-                                                       viewmodel_push_y = cl.viewangles[YAW] - 15;
-                                               else
-                                                       viewmodel_push_y += (cl.viewangles[YAW] - viewmodel_push_y) * 0.01;
+                                               if(viewmodel_push_x < cl.viewangles[PITCH])
+                                               {
+                                                       if(cl.viewangles[PITCH] - viewmodel_push_x > cl_leanmodel_up_limit.value)
+                                                               viewmodel_push_x = cl.viewangles[PITCH] - cl_leanmodel_up_limit.value;
+                                                       else
+                                                               viewmodel_push_x += (cl.viewangles[PITCH] - viewmodel_push_x) * cl_leanmodel_up_speed.value;
+                                               }
+                                               if(viewmodel_push_x > cl.viewangles[PITCH])
+                                               {
+                                                       if(viewmodel_push_x - cl.viewangles[PITCH] > cl_leanmodel_up_limit.value)
+                                                               viewmodel_push_x = cl.viewangles[PITCH] + cl_leanmodel_up_limit.value;
+                                                       else
+                                                               viewmodel_push_x -= (viewmodel_push_x - cl.viewangles[PITCH]) * cl_leanmodel_up_speed.value;
+                                               }
                                        }
-                                       if(viewmodel_push_y > cl.viewangles[YAW])
+                                       else
+                                               viewmodel_push_x = cl.viewangles[PITCH];
+
+                                       if(cl_leanmodel_side.value)
                                        {
-                                               if(viewmodel_push_y - cl.viewangles[YAW] > 15)
-                                                       viewmodel_push_y = cl.viewangles[YAW] + 15;
-                                               else
-                                                       viewmodel_push_y -= (viewmodel_push_y - cl.viewangles[YAW]) * 0.01;
+                                               // prevent the gun from doing a 360* rotation when going around the 0 <-> 360 border
+                                               if(cl.viewangles[YAW] - viewmodel_push_y >= 180)
+                                                       viewmodel_push_y += 360;
+                                               if(viewmodel_push_y - cl.viewangles[YAW] >= 180)
+                                                       viewmodel_push_y -= 360;
+
+                                               if(viewmodel_push_y < cl.viewangles[YAW])
+                                               {
+                                                       if(cl.viewangles[YAW] - viewmodel_push_y > cl_leanmodel_side_limit.value)
+                                                               viewmodel_push_y = cl.viewangles[YAW] - cl_leanmodel_side_limit.value;
+                                                       else
+                                                               viewmodel_push_y += (cl.viewangles[YAW] - viewmodel_push_y) * cl_leanmodel_side_speed.value;
+                                               }
+                                               if(viewmodel_push_y > cl.viewangles[YAW])
+                                               {
+                                                       if(viewmodel_push_y - cl.viewangles[YAW] > cl_leanmodel_side_limit.value)
+                                                               viewmodel_push_y = cl.viewangles[YAW] + cl_leanmodel_side_limit.value;
+                                                       else
+                                                               viewmodel_push_y -= (viewmodel_push_y - cl.viewangles[YAW]) * cl_leanmodel_side_speed.value;
+                                               }
                                        }
+                                       else
+                                               viewmodel_push_y = cl.viewangles[YAW];
 
                                        VectorSet(gunangles, viewmodel_push_x, viewmodel_push_y, viewangles[2]);
                                }
@@ -830,6 +848,13 @@ void V_Init (void)
        Cvar_RegisterVariable (&cl_bobmodel_up);
        Cvar_RegisterVariable (&cl_bobmodel_speed);
 
+       Cvar_RegisterVariable (&cl_leanmodel_side);
+       Cvar_RegisterVariable (&cl_leanmodel_side_speed);
+       Cvar_RegisterVariable (&cl_leanmodel_side_limit);
+       Cvar_RegisterVariable (&cl_leanmodel_up);
+       Cvar_RegisterVariable (&cl_leanmodel_up_speed);
+       Cvar_RegisterVariable (&cl_leanmodel_up_limit);
+
        Cvar_RegisterVariable (&cl_viewmodel_scale);
 
        Cvar_RegisterVariable (&v_kicktime);