credited Elric for some of his great contributions, and removed the warnings about...
[divverent/darkplaces.git] / darkplaces.txt
1 DarkPlaces engine readme : updated 20040206\r
2 \r
3 About the DarkPlaces glquake engine:\r
4 DarkPlaces engine was started because I was unsatisfied with the other engines\r
5 available soon after the quake source release (which did little more than add\r
6 some flashy effects), and craved modding features for my DarkPlaces mod, and\r
7 wanted some real enhancements to the online gaming experience as well.\r
8 \r
9 DarkPlaces engine is the result, I hope everyone likes it.\r
10 \r
11 I am not very good at writing documentation, so this readme is organized as a\r
12 feature list, with information on each feature, I hope it is still adequate\r
13 documentation.\r
14 \r
15 Graphics Tips:\r
16 Visit the Color Control submenu of Options, it's near the top, fiddle with\r
17 gamma (or grey level if using the color levels mode) until the grey box\r
18 surrounding the white/black dither pattern matches up with the grey you see\r
19 while looking at the dither from a distance, this will calibrate quake to look\r
20 approximately as id Software intended, and ensure everyone sees it the same.\r
21 Note: Different resolutions may be different intensities depending on monitor.\r
22 Note2: ATI Radeon Catalyst 3.10 drivers seem to have a weird gamma limiting\r
23 'feature' which rejects gamma settings it doesn't like, feel free to complain\r
24 to ATI about this if it gets in your way (it probably will).\r
25 \r
26 Visit the Effects Options submenu of Options, and check out the options.\r
27 \r
28 Networking tips:\r
29 Visit the Player Setup submenu of the Multiplayer menu to configure your\r
30 network speed (as well as the usual settings from quake like name and colors).\r
31 \r
32 To host a server behind a router/firewall, simply set up a port forward on the\r
33 UDP port you are running the server on (default is 26000), to forward incoming\r
34 UDP packets on that port to the server, then people can connect.\r
35 \r
36 To make your server show up on the server browser (in the Join Game menu),\r
37 either set sv_public 1 in the console, or use the multiplayer new game menu\r
38 and check the Public server checkbox.\r
39 \r
40 Thanks to:\r
41 Tomaz for adding the Geforce3 water shader, bugtesting and many suggestions.\r
42 Andreas 'Black' Kirsch for much work on the QuakeC VM (menu.dat, someday clprogs.dat) and other contributions.\r
43 Mathieu 'Elric' Olivier for much work on the sound engine (especially the Ogg vorbis support)\r
44 Joseph Caporale for adding 5 mouse button support.\r
45 KGB|romi for his contributions to the Quake community, including his rtlights project and many suggestions.\r
46 Zombie for making great levels and general DarkPlaces publicity.\r
47 FrikaC for FrikQCC and FrikBot and general community support.\r
48 Transfusion Project for recreating Blood in the world of Quake.\r
49 \r
50 Questions/comments/bugreports/suggestions?\r
51 Send email to havoc@telefragged.com.\r
52 \r
53 \r
54 \r
55 Supported games:\r
56 Quake : -quake, this is active by default, gamedirs: id1\r
57 Quake: Scourge of Armagon : -hipnotic or hipnotic in executable name or path, gamedirs: hipnotic, id1\r
58 Quake: Dissolution of Eternity : -rogue or rogue in executable name or path, gamedirs: rogue, id1\r
59 Nehahra : -nehahra or nehahra in executable name or path, gamedirs: nehahra, id1\r
60 GoodVsBad2 : -goodvsbad2 or gvb2 in executable name or path, gamedirs: rts\r
61 BattleMech : -battlemech or battlemech in executable name or path, gamedirs: base\r
62 These games are considered officially supported, if any problems are seen,\r
63 please make sure you are running the latest version of the game and engine,\r
64 if you are, please report the problem.\r
65 \r
66 \r
67 \r
68 Future supported games:\r
69 Nexuiz : -nexuiz or nexuiz in executable name or path, gamedirs: data\r
70 Zymotic : -zymotic or zymotic in executable name or path, gamedirs: data\r
71 Fniggium : -fniggium or fniggium in executable name or path, gamedirs: data\r
72 Setheral : -setheral or setheral in executable name or path, gamedirs: data\r
73 SonOfMan : -som or som in executable name or path, gamedirs: data\r
74 These have incomplete support and will likely change before their release.\r
75 \r
76 \r
77 \r
78 Graphics features:\r
79 Redesigned effects including smoke, blood, bubbles and explosions.\r
80 Better looking dynamic lights.\r
81 External texture support (see dpextensions.qc DP_GFX_EXTERNALTEXTURES)\r
82 Realtime bumpmapped lighting/shadowing support (see r_shadow_help in game)\r
83 .rtlights file support (improves performance/appearance of realtime lighting)\r
84 .rtlights file editing (see r_editlights_help in game)\r
85 Alpha blended sprites (instead of glquake's masked sprites).\r
86 Interpolated entity movement and animations (both models and sprites).\r
87 Overbright and fullbright support on walls and models (like winquake).\r
88 Colormapping support on any q1 model (like winquake).\r
89 Fog (set with "fog density red green blue" command)\r
90 Skybox (loadsky "mtnsun_" will load "env/mtnsun_ft.tga" and so on).\r
91 Sky rendering improved (no more glquake distortion).\r
92 Sky polygons obscure geometry just like in winquake.\r
93 Color calibration menu to ensure a proper Quake experience.\r
94 Improved model lighting (directional shading).\r
95 No messy .ms2 model mesh files (no glquake dir anymore either).\r
96 New improved crosshair (team color coded).\r
97 Improved image loading (smoother menus and such).\r
98 Ability to disable particle effects (cl_particles* cvars).\r
99 Decals (cl_decals cvar to enable).\r
100 Stainmaps (cl_stainmap cvar to enable).\r
101 Sorted transparent stuff to render better.\r
102 Improved multitexture support (r_textureunits (1-4 supported), needs gl_combine 1 because of overbright)\r
103 Improved chase cam (chase_active 1 no longer goes into walls)\r
104 More configurable console background (scr_conalpha and scr_conbrightness)\r
105 Optional fullbrights (r_fullbrights 0/1 followed by r_restart)\r
106 Dynamic Farclip (no distance limits in huge maps)\r
107 Improved gl_flashblend (now renders a corona instead of an ugly blob)\r
108 DynamicLight coronas (more realism)\r
109 Transparent statusbar (sbar_alpha) that does not block your view as much.\r
110 No 8bit texture uploads (fixes 'green' walls in the distance).\r
111 Fixed view blends (glquake was quite broken).\r
112 JPEG texture support using libjpeg (Thanks Elric)\r
113 PK3 archive support with compression support using zlib (Thanks Elric)\r
114 \r
115 Sound features:\r
116 Ogg and wav file overrides for cd tracks (example: sound/cdtracks/track01.ogg or .wav) (Thanks Elric)\r
117 Streaming ogg sounds to save memory (Ogg sounds over a certain size are streamed automatically) (Thanks Elric)\r
118 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
119 Stereo wav support (useful for music as ambientsound() calls)\r
120 \r
121 Client features:\r
122 showtime cvar.\r
123 showdate cvar.\r
124 -benchmark option to run automated timedemo benchmarks (-benchmark demo1 does +timedemo demo1 and quits immediately when finished)\r
125 automatic timedemo logging to gamedir/benchmark.log\r
126 Slightly improved aiming on quake servers (does not support proquake aiming).\r
127 -sndspeed samplerate (default: 44100, quake used 11025)\r
128 snd_swapstereo cvar (for people with backwards SB16 sound cards)\r
129 Saves video settings to config and restores them properly\r
130 Ability to change video settings during game (video options menu or vid_* cvars)\r
131 showfps cvar.\r
132 Video Options, Color Control, and Effects Options menus added, and more options.\r
133 Sends 20fps network packets to improve modem play instead of one per frame. (sys_ticrate controls network framerate)\r
134 Allow skin colormaps 14 and 15 (freaky :)\r
135 Longer chat messages.\r
136 No more 72fps limit, host_maxfps lets you decide.\r
137 Support for more mouse buttons (mouse1-mouse16, mwheelup/mwheeldown are aliases to mouse4 and mouse5).\r
138 Server browser for public (sv_public 1) darkplaces servers. \r
139 \r
140 Server features: (Note server only supports darkplaces clients)\r
141 Allows clients to connect through firewalls (automatic feature)\r
142 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
143 More accurate movement and precise aiming.\r
144 64 player support.\r
145 sv_cheats cvar controls cheats (no longer based on deathmatch).\r
146 slowmo cvar controls game speed.\r
147 No crash with the buggy 'teleport train' in shub's pit.\r
148 Allow skin colormaps 14 and 15 (freaky :)\r
149 sys_ticrate applies to listen (client) servers as well as dedicated.\r
150 sv_public cvar to advertise to master server.\r
151 \r
152 Modding features:\r
153 HalfLife map support (place your HalfLife wads in quake/id1/textures/ or quake/MODDIR/textures/ as the maps need them)\r
154 Larger q1 and hl map size of +-32768 units.\r
155 Colored lighting (.lit support) for q1 maps.\r
156 Q3 map support (no shaders though), with no limits.\r
157 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
158 Optimized QuakeC interpreter so mods run faster.\r
159 Bounds checking QuakeC interpreter so mods can't do naughty things with memory.\r
160 Warnings for many common QuakeC errors.\r
161 Unprecached models are now a warning (does not kill the server anymore).\r
162 External texture support (see dpextensions.qc DP_GFX_EXTERNALTEXTURES).\r
163 Fog ("fog" key in worldspawn, same parameters as fog command).\r
164 .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
165 Skybox ("sky" key in worldspawn, works like loadsky and quake2).\r
166 Stereo wav sounds supported.\r
167 Ogg Vorbis sounds supported. (Thanks Elric)\r
168 ATTN_NONE sounds are no longer directional (good for music).\r
169 play2 sound testing command (ATTN_NONE variant of play).\r
170 r_texturestats and memstats and memlist commands to give memory use info.\r
171 Lighting on sprites (put ! anywhere in sprite filename to enable).\r
172 More r_speeds info (now a transparent overlay instead of spewing to console).\r
173 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
174 More sound channels.\r
175 More dynamic lights (32 changed to 256).\r
176 More precached models and sounds (256 changed to 4096).\r
177 Many more features documented in dpextensions.qc. (bullet tracing on models, qc player input, etc)\r
178 \r
179 \r