DarkPlaces engine readme : updated 20040206

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.

Questions/comments/bugreports/suggestions?
Send email to havoc@telefragged.com.



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
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
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.



Future supported games:
Nexuiz : -nexuiz or nexuiz in executable name or path, gamedirs: data
Zymotic : -zymotic or zymotic in executable name or path, gamedirs: data
Fniggium : -fniggium or fniggium in executable name or path, gamedirs: data
Setheral : -setheral or setheral in executable name or path, gamedirs: data
SonOfMan : -som or som in executable name or path, gamedirs: data
These have incomplete support and will likely change before their release.



Graphics features:
Redesigned effects including smoke, blood, bubbles and explosions.
Better looking dynamic lights.
External texture support (see dpextensions.qc DP_GFX_EXTERNALTEXTURES)
Realtime bumpmapped lighting/shadowing support (see r_shadow_help in game)
.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).

Client features:
showtime cvar.
showdate cvar.
-benchmark option to run automated timedemo benchmarks (-benchmark demo1 does +timedemo demo1 and quits immediately when finished)
automatic timedemo logging to 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.
Video Options, Color Control, and Effects Options menus added, and more options.
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, host_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. 

Server features: (Note server only supports darkplaces clients)
More accurate movement and precise aiming.
64 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.

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 (note music easily uses over 50mb of memory!).
Ogg Vorbis sounds supported (note music easily uses over 50mb of memory!).
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, 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)


