From 53a8b4a60d80886d28dee9e13ce8ec6548ac4a91 Mon Sep 17 00:00:00 2001 From: havoc Date: Wed, 31 Jul 2002 05:24:06 +0000 Subject: [PATCH] added the readme file to cvs (... and it needs massive updates) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@2137 d7cf8633-e32d-0410-b094-e92efae38249 --- darkplaces.txt | 455 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 455 insertions(+) create mode 100644 darkplaces.txt diff --git a/darkplaces.txt b/darkplaces.txt new file mode 100644 index 00000000..31c65e0d --- /dev/null +++ b/darkplaces.txt @@ -0,0 +1,455 @@ +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 +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 +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 + -- 2.39.2