]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - darkplaces.txt
added a #define DIRECTINPUT_VERSION to hush warnings and make it work on dinput3...
[xonotic/darkplaces.git] / darkplaces.txt
index 31c65e0d700ba5ab8a4716caf6126370d958732a..c700e0a1c32bc8ba982084f6ba05ddda58ee8609 100644 (file)
-DarkPlaces engine 105 readme
-
-Some of the changes to the game:
-
-Sorted Edge Rasterizer system to reduce overdraw on the 3D card
-
-Nehahra support (using -nehahra option)
-
-Larger map size, more accurate movement and precise aiming (however Quake and HalfLife maps have an internal limitation of +-32768)
-
-Optimized QuakeC interpreter
-
-Bounds Checked QuakeC interpreter (optional, enabled by default, and still
-faster than original quake - code can not harm your computer, well, except
-using certain builtins in unintended ways perhaps)
-
-Colored lighting
-
-Optional lit particles (in color, of course)
-
-External .lit colored lighting file support (intended for custom map authors,
-who can now release classic quake compatible maps, with colored lighting in
-DarkPlaces, QuakeForge newtree and other engines that support .lit)
-
-HalfLife map support (place your HalfLife wads in quake/id1/textures/ or
-quake/MODDIR/textures/ - HalfLife maps do not themselves contain textures...)
-
-External texture support (.tga and .pcx supported, place a .tga or .pcx image
-in id1/textures/ and it will override that texture in maps, also works with
-HalfLife wads if they are listed in the "wad" key of worldspawn in the map)
-
-Different dynamic light falloff (cooler)
-
-Huge dynamic light speedup (no longer applicable, due to verted dlights)
-
-Lightmap upload speedup
-
-Selectable 24bit or 32bit lightmap format (gl_lightmaprgba 0/1) for
-compatibility, 24bit (RGB) is recommended for quality
-
-Redesigned particle effects (may make them obey physics later)
-
-Smoke trails
-
-Bubble trails underwater, currently only from rockets/grenades/explosions
-
-Dynamically lit water
-
-Rippling water surfaces (optional)
-
-Fog (optional, map settable, emulated so it works on any card)
-
-Interpolated model animations
-
-Alpha blended sprites (disabled on Matrox G200, resulting in hard edges, and
-fading does not work on ATI Rage Pro)
-
-Blended sprite animations (disabled on ATI Rage Pro)
-
-Interpolated monster movement and rotation (very smooth) on server (will
- move to client at some point, so demos will benefit)
-
-Transparent particles (partially working on Matrox G200 - particles are not
-blended at the edges (hard edge) but smoke fades, different behavior on
-ATI Rage Pro - does not fade)
-
-32bit color sprites supported (alpha disabled on Matrox G200, resulting in a
-hard silohuette edge for G200 users - my only recommendation: upgrade)
-
-24bit color model skins supported (same kind of change as the 32bit sprite
-format, will be superseded by external replacement skin images)
-
-TARGA and PCX textured skybox supported (map settable)
-
-Stereo wav playback for music purposes
-
-Non-directional playback of ATTN_NONE sounds for music purposes
-
-Quake2 model support (anything but players, which are unskinned because they
-do not contain a skin name list to load, I'm sort of considering adding
-a "skin" console command and related network protocol stuff, which would also
-support QW skins on the normal quake player model, although I'm not fond of
-potential issues with loading models while the server is running, I also need
-to support the weapon models...)
-
-Lighting on sprites if desired (put ! anywhere in the sprite filename and it
-will apply proper lighting, rather than making it fullbright)
-
-Overbright lighting (optional, use lightmode 0 to get the old GLQuake style
-lighting...  3DFX dithering looks nasty so 3DFX users might have to live
-without overbright lighting)
-
-Transparent polygon sorter (to draw polygons in the correct order)
-
-Faster wall rendering (paving the way toward shaders and other stuff)
-
-Fullbright support on walls (easy addition due to the new wall rendering)
-
-Skybox blocks view just like quake sky polygons did
-
-Brightness controls ("brightness" and "contrast" console variables)
-
-Directional model lighting (only a 0.1% slowdown and looks great :)
-
-Vertex array based model rendering (fast like Quake3)
-
-No messy .ms2 model mesh files (no glquake dir anymore either)
-
-64 player support
-
-Completely rewritten dynamic lighting engine, using a hybrid lightmap and
-vertex approach, and is fast on slow memory machines
-
-Rewritten model loader (for the second time)
-
-Multi-pass model rendering, supporting colormapping without uploads (shirt,
-pants, glowing areas...)
-
-New improved crosshair (team color coded)
-
-Improved angle rounding (better aiming on existing quake servers, does not
-support proquake precise aiming though)
-
-Many other things I forgot to mention
-
-
-New commandline options:
--sndspeed samplerate (default: 11025, note: quake's 22khz sounds are annoying)
-
-Mods specially supported:
--hipnotic (already supported in quake)
--rogue (already supported in quake)
--nehahra (must run Nehahra with this option, otherwise it will have demo
-          incompatibilities and other nonsense)
-
-New console commands:
-
-r_clipheight <60 or higher>
-how tall the screen is as far as the Sorted Edge Rasterizer is concerned (default: 600 lines).
-
-r_lerpimages <0 or 1>
-whether or not to smooth textures (defaults to on).
-
-loadsky <name>
-loads a skybox, if the images can be found, searchs moddir/gfx/env and
-moddir/env for them.
-(a skybox named base is 6 images named baseft.tga, basebk.tga, baseup.tga,
- basedn.tga, baselt.tga, basert.tga)
-
-fog "density red green blue"
-experiment with numbers around 0.1 for density, the color is 0.0 to 1.0 range
-
-contrast <0 to 1>
-1.0 is normal, reduce it in steps of 0.05 or so to brighten the screen,
-gets pretty washed out below 0.9
-
-brightness <1 to 5>
-1.0 is normal, increase it to brighten the game, 5 is ridiculous
-
-r_waterriple <0 to 16>
-0 is flat water, 16 is very choppy, higher than that is just plain crazy...
-
-r_particles <0 or 1>
-0 disables all particle effects, 1 enables them
-
-gl_vertex <0 or 1>
-uses singlepass vertex lighting (not advisable at the moment, as it is using
-the transparent polygon engine, and thus no zbuffering, which results in
-weird polygon overlap), faster on old singltexture cards.
-
-gl_multitexture <0 or 1>
-0 disables multitexture, 1 enables it (only if you have a multitexture
-capable driver), note: disabling this is recommended on TNT/TNT2 cards due
-to depth contention bugs with multitexture (does not happen on Geforce and
-above), so if you see weirdness on glowing textures in maps, disable this.
-
-gl_texsort <0 or 1>
-pick whichever is faster for you (0 is more direct, 1 is faster on most
-cards, note this does NOT disable multitexture like it did in glquake).
-
-gl_dynamicparticles <0 or 1>
-1 is for the killer CPU people, makes particles recieve lighting from the
-enviroment (see for yourself).
-
-chase_active <0 or 1>
-fixed up chase camera, nice over the shoulder view (chase_up and chase_back
-control position) and won't stick into walls.
-
-gl_conalpha <0 to 1>
-controls how opaque the console is
-
-gl_vertexarrays <0 or 1>
-enables/disables vertex array acceleration (useful only to compare speeds,
-otherwise keep it on if your drivers support vertex arrays).
-
-r_speeds <0 or 1>
-more mapper info than the original r_speeds! (BSP nodes and leafs relate to
-scene complexity)
-
-r_waterriple <0 to 32>
-makes the water wavey
-
-r_fullbrights <0 or 1>
-must restart map to see results, only affects map textures
-(model fullbrights are always enabled), if disabled you don't get glowing
- runes and lights and such
-
-gl_lightmode <0 or 1>
-1 enables overbright lighting, but degrades color quality a little (this
-looks particularly horrible on 3DFX cards in 16bit - note: 3DFX cards before
-the V5 ONLY had 16bit) and slows the framerate a bit, the increased color
-range is worth it though (the full software quake color range).
-
-r_farclip <1024 to 65536>
-how far you can see in a map before it goes black (glquake used 4096 units,
-this defaults to 6144 units).
-
-gl_lightmapalign <1, 2, 4, 8, or 16>
-lowering this (default is 4) can use less texture memory, but doesn't work
-in NVIDIA drivers, the default of 4 works
-
-gl_lightmaprgba <0 or 1>
-if set to 1 this will result in greatly degraded lighting quality in 16bit
-mode, no difference either way in 32bit, defaults to off but could possibly
-fix problems on certain drivers/cards
-
-(note: lightmaps are only updated when the static lighting animations change;
- dynamic lighting is done using vertex lighting methods to avoid lightmap
- uploads)
-
-gl_nosubimage <0 or 1>
-disables partial lightmap uploads entirely (this causes a horrible speed
-drain when lightmaps change, but is guarenteed to work on any card)
-
-gl_nosubimagefragments <0 or 1>
-uses glquake style lightmap uploads (slow, but not as slow as nosubimage),
-keep this off for max speed if it works
-
-r_ambient <0 to 128>
-singleplayer cheat, mainly for sake of Nehahra's extremely dark maps
-
-showfps <0 or 1>
-displays current framerate in top-right corner
-
-gl_lerpimages <0 or 1>
-disabling this speeds up loading but makes textures look worse (like glquake)
-
-slowmo <0 to 1>
-this controls the speed of the game (default 1), can be fun for novelty
-mainly (can be useful for variable speed demo playback too...)
-
-sys_ticrate <0.01 to 0.1>
-controls server rate, this is not a new command, however it applies to
-outgoing input packets now, and also limits the speed of the server in
-listen mode games...  0.05 (fast modem) or 0.1 (slow modem) is recommended,
-can go even lower for high bandwidth players
-
-decors <0 to 1024>
-controls how many decors (shell casings, gibs, nails in the walls,
-bullet holes, etc) to keep around in mods that care to check it (darkplaces)
-
-cutscene <0 or 1>
-whether to play cutscenes in Nehahra and any other mod that checks this
-
-pr_boundscheck <0 or 1>
-enabled by default, this makes sure that quake mods can not do nasty things
-to your computer, which not surprizingly breaks CRMod, if you feel the need
-to run a CRMod server using darkplaces, disable this...  but no guarentees
-CRMod will be able to make any sense of the changed data structures
-
-crosshair <0 or 1>
-not new, but mentioned here because it has a new look, and has settings below:
-
-crosshair_brightness <0 to 5>
-how bright the crosshair is, default 1.0
-
-crosshair_alpha <0 to 1>
-how opaque the crosshair is, default 1.0
-
-crosshair_flashspeed <0 to 10>
-how quickly the crosshair flashs, default 2 times a second
-
-crosshair_flashrange <0 to 1>
-how much the crosshair flashs (use 0 to disable flashing entirely),
-default 0.1
-
-r_lightmodels <0 or 1>
-enabled by default, this decides whether or not to use directional lighting
-on models (only 0.1% speed drain in my testing)
-
-r_explosionclip <0 or 1>
-disabled by default, this causes explosion effects to be clipped against the
-architecture, some CPU drain results.
-
-snd_swapstereo <0 or 1>
-if enabled this swaps the output channels, useful for people with backwards
-SB16 sound cards, added this at a friend's request
-
-pausedemo <0 or 1>
-halts demo playback until you type pausedemo again, also works for recording
-
-play2 <filename>
-plays the sound, a non-directional 'play' without distance fading
-
-
-
-
-movetype enhancements:
-
-MOVETYPE_WALK on non-players - bot coders rejoice!
-
-MOVETYPE_PUSH does not reset solid to SOLID_BSP, but rather to what it was
-(fixes teleport train crash in end.bsp)
-
-MOVETYPE_PUSH supports rotation
-(untested, just enabled the Quake2 stuff for it)
-
-
-
-mod enhancements:
-add the included darkplaces.qc file to your mod and read the comments in it
-for info on the features.
-
-fragment of wishlist:
-Precise aiming (yeah yeah... belongs in a TODO list for new protocol version)
-HalfLife model support (EWW the format is horrid)
-Quake3 model support
-Completely dynamic lighting (wishful thinking...  the CPU drain would probably be horrible)
-Model geometry tracing (bullets hitting the polygon mesh, not the box)
-
-Changes since before recorded history (1.03?):
-option for vertex lighting instead of lightmap (implemented, too low quality sadly)
-fixed HOM around view window when size < 100
-added back r_dynamic, r_particles
-fixed several particle bugs (bubble trails were not working, other stuff I forget)
-square particle textures, rather than triangle, reduces fillrate demand
-lit particles
-made new model lighting optional (about 0.1% speed difference in my tests)
-changed back model lighting scale to match world
-emulated fog
-eliminated most of the graphics options (gl_flashblend, gl_polyblend, r_lightmaps, r_norefresh, r_lightmaps, various others...  getting complaints already! :)
-glowing lightning beams (not the QBism glows, these are real dynamic lighting)
-improved directional lighting (per vertex direction and distance)
-bounds checking on QuakeC interpreter (still faster than original)
-QuakeC interpreter sped up (around 40%?)
-128 dynamic sound channels (instead of 8)
-particles are sorted like other transparent polygons
-256 dynamic lights
-"slowmo" cvar (scales time... 1.0 is normal)
-fixed r_waterripple
-removed BeginDisc (caused NVIDIA driver problems?)
-redesigned chase_active (broken, will be fixed)
-LINEAR text filtering only if conwidth < glwidth
-QC player movement
-multiple min/max (FrikaC's idea)
-optimized wallpoly copying
-optimized depthpoly copying
-optimized out unnecessary softwaretransform calls
-corrected misspellings in QSG extensions
-updated QSG extensions
-fixed color blocks in recent changes to score lists (remove 2 chars, make it less tall, use less spacing on main score list)
-allow skin colormaps 14 and 15 (freaky :)
-longer messagemode
-relative dynamic lighting on bmodels
-(numerous things omitted and forgotten)
-
-Engine done list (from my todo file, many things likely to be missing from this list)
-added NULL GL extension function checks to GLX version (should never happen, but apparently does for some people?), should not crash now but will not use those extensions either
-added force_centerview to GLX version
-fix bugs with model rendering on G400 and 3DFX Voodoo3/4/5 drivers (they apparently don't comprehend a vertex array step of 0, thus being ignorant toward the GL spec, sigh)
-sorted edge rasterizer
-add back svc_skybox for nehahra
-MOVETYPE_FOLLOW now works correctly on rotating objects
-bmodel rotation physics now work
-new vid_glx.c (contributed by zinx)
-removed DPNEHAHRA engine titling
-fixed some lighthalf, fog, and sky related bugs
-removed some 3D card hacks
-merged GL_Init code for all targets (note: vid_glx.c and vid_3dfxsvga.c may be broken)
-split sprite code out in gl_sprites.c
-rearranged palette management code
-removed all traces of 8bit upload support for now (may be added back)
-halved memory usage (although this prevents renderer restarting for the moment)
-implemented r_texturestats command
-removed old texture upload code
-rewrote use of host_parms
-rewrote some code relating to host_basepal
-bigendian support in pcx loading
-changed external texture character equivilant for * from + to # to avoid conflicts with animating textures
-removed cruft here and there
-force all textures to lowercase to mask potentially silly wad lump names in maps
-new crosshairs
-more stuff is extern in includes
-some general cleanup of the MOVETYPE_PUSH code
-rewrote portions of vid_wgl.c
-V_UpdatePalette renamed to V_UpdateBlends
-removed starting dialog code in wgl
-made SV_RecursiveHullCheck accessable in world.h
-document -sndspeed option in readme
-fixed sky rendering bug (oops, wasn't uploading with alpha)
-fixed skin loading bug
-update readme to mention that the -nehahra option lets you run Nehahra
-update readme to mention that dynamic lighting has been greatly sped up on slow memory machines
-reenable r_dynamic and gl_polyblend (due to popular complaint, but only disables a few effects)
-rewrote texture upload code (higher quality)
-rewrote texture management system
-model glowmaps
-second rewrite of model system (optimal rendering speed, multipass skin layers)
-fixed angle rounding (improved aiming)
-fix players above floor in HL maps (by implementing proper hull sizes)
-proper support for HL map hull sizes (unfortunately this didn't fix the sinking into grates bug)
-fancy crosshair
-SV_ChangeTeam function in QC to process all team changes
-disabled extrapolation when paused to avoid jittering
-make sys_ticrate affect listen servers
-fix flickering rocket light
-revert normal sky to GLQuake style
-added server-side latency based extrapolation (experimental, currently not optional either)
-removed SetPal
-fix dynamic water lighting (not always working)
-showfps
-x86 assembly enhancements (cpu_* code)
-disabled texture coordinate sanity checks in model loading because threewave CTF has an error in v_star.mdl
-copyentity builtin added
-transparent statusbar
-fixed HOM around view window when size < 100
-remove mention of GLQuake in texture slot report
-make new model lighting optional (speed test this)
-change back model lighting scale to match world
-software fog
-removed 72 fps cap
-eliminated most of the graphics options (gl_flashblend, gl_polyblend, r_lightmaps, r_norefresh
-glowing lightning beams
-improved directional lighting (per vertex direction and distance)
-QuakeC interpreter sped up (around 40%?)
-128 dynamic sound channels (instead of 8)
-particles are sorted like other transparent polygons
-256 dynamic lights
-"slowmo" cvar
-fixed waterripple
-removed BeginDisc (caused TNT driver problems?)
-redesigned chase_active
-LINEAR text filtering only if conwidth < glwidth
-QC player movement
-multiple min/max (FrikaC)
-optimize wallpoly copying
-optimize depthpoly copying
-optimize out unnecessary softwaretransforms
-correct misspellings in QSG extensions
-update QSG extensions
-fix color blocks in recent changes to score lists (remove 2 chars, make it less tall, use less spacing on main score list)
-allow skin colormaps 14 and 15
-longer messagemode (infinity)
-relative dynamic lighting on bmodels
-
+DarkPlaces engine readme : updated 20040206\r
+\r
+About the DarkPlaces glquake engine:\r
+DarkPlaces engine was started because I was unsatisfied with the other engines\r
+available soon after the quake source release (which did little more than add\r
+some flashy effects), and craved modding features for my DarkPlaces mod, and\r
+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\r
+feature list, with information on each feature, I hope it is still adequate\r
+documentation.\r
+\r
+Input Tips:\r
+If mouse movement is jerky but framerate is high, try typing "gl_finish 1"\r
+(without quotes) into the console (makes cpu wait for gpu before ending frame,\r
+which gives lousy input drivers a chance to catch up).\r
+\r
+Graphics Tips:\r
+Visit the Color Control submenu of Options, it's near the top, fiddle with\r
+gamma (or grey level if using the color levels mode) until the grey box\r
+surrounding the white/black dither pattern matches up with the grey you see\r
+while looking at the dither from a distance, this will calibrate quake to look\r
+approximately as id Software intended, and ensure everyone sees it the same.\r
+Note: Different resolutions may be different intensities depending on monitor.\r
+Note2: ATI Radeon Catalyst 3.10 drivers seem to have a weird gamma limiting\r
+'feature' which rejects gamma settings it doesn't like, feel free to complain\r
+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
+Networking tips:\r
+Visit the Player Setup submenu of the Multiplayer menu to configure your\r
+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\r
+UDP port you are running the server on (default is 26000), to forward incoming\r
+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),\r
+either set sv_public 1 in the console, or use the multiplayer new game menu\r
+and check the Public server checkbox.\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
+Questions/comments/bugreports/suggestions?\r
+Send email to lordhavoc@ghdigital.com.\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
+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,\r
+please make sure you are running the latest version of the game and engine,\r
+if you are, please report the problem.\r
+\r
+\r
+\r
+Future supported games:\r
+Nexuiz : -nexuiz or nexuiz in executable name or path, gamedirs: data\r
+Zymotic : -zymotic or zymotic in executable name or path, gamedirs: data\r
+Fniggium : -fniggium or fniggium in executable name or path, gamedirs: data\r
+Setheral : -setheral or setheral in executable name or path, gamedirs: data\r
+SonOfMan : -som or som in executable name or path, gamedirs: data\r
+These have incomplete support and will likely change before their release.\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 dpextensions.qc DP_GFX_EXTERNALTEXTURES)\r
+Realtime bumpmapped lighting/shadowing support (see r_shadow_help in game)\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
+PK3 archive support with compression support using zlib (Thanks Elric)\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 for ambientsound() music) (Thanks Elric)\r
+Stereo wav support (useful for music as ambientsound() calls)\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
+automatic timedemo logging to 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
+Video Options, Color Control, and Effects Options menus added, and more options.\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, host_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. \r
+\r
+Server features: (Note server only supports darkplaces clients)\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
+64 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
+\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
+Commandline options as of 2004-10-05:\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: -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 with sync on (so it keeps every message up to a crash), see also log_file and log_sync\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
+Filesystem: -path <path ..> specifies the full search path manually, overriding the generated one, example: -path c:\quake\id1 c:\quake\pak0.pak c:\quake\pak1.pak (not recommended)\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 (currently unused, allows pixel shader effects)\r
+GL: -nomtex disables GL_ARB_multitexture (required for faster map 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 (accelerates shadow rendering)\r
+GL: -notexture3d disables GL_EXT_texture3D (required for spherical lights, otherwise they render as a column)\r
+GL: -notextureshader disables GL_NV_texture_shader (required for the Geforce3 water shader, NVIDIA only)\r
+GL: -novertexshader disables GL_ARB_vertex_shader (currently unused, allows vertex shader effects)\r
+Game: -battlemech runs the multiplayer topdown deathmatch game BattleMech \r
+Game: -fniggium runs the post apocalyptic melee RPG Fniggium \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 Masters\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: -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
+Linux ALSA Sound: -sndbits <number> sets sound precision to 8 or 16 bit (email me if you want others added)\r
+Linux ALSA Sound: -sndmono sets sound output to mono\r
+Linux ALSA Sound: -sndpcm <devicename> selects which pcm device to us, default is "default"\r
+Linux ALSA Sound: -sndspeed <hz> chooses 44100 hz, 22100 hz, or 11025 hz sound output rate\r
+Linux ALSA Sound: -sndstereo sets sound output to stereo\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 OSS Sound: -sndbits <bits> chooses 8 bit or 16 bit sound output\r
+Linux OSS Sound: -sndmono sets sound output to mono\r
+Linux OSS Sound: -sndspeed <hz> chooses 44100 hz, 22100 hz, or 11025 hz sound output rate\r
+Linux OSS Sound: -sndstereo sets sound output to stereo\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 libGL.so.1 (Linux/BSD) or opengl32.dll (windows) or OpenGL.framework (MacOSX), 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
+SDL Sound: -sndspeed <hz> chooses 44100 hz, 22100 hz, or 11025 hz sound output rate\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
+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: -sndspeed <hz> chooses 44100 hz, 22100 hz, or 11025 hz sound output rate\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