+\r
+Replacement Content:\r
+Formats supported: tga, png, jpg, pcx, 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
+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
+map-specific textures: (overrides textures for a specific map)\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
+map textures:\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
+hud and menu pictures:\r
+gfx/conchars.tga\r
+\r
+Replacement 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
+.skin files:\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 this:\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
+\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
+\r
+\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
+\r
+How to install Quake on each operating system:\r
+All that DarkPlaces needs from the Quake CD is pak files (be sure not to copy\r
+opengl32.dll from the Quake CD, it will not work with DarkPlaces!), with this\r
+in mind, all you need to do is make a Quake directory, extract the darkplaces\r
+engine zip to that directory, then make a quake/id1 directory, and put the\r
+pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then\r
+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\r
+the installer, then copy the pak0.pak and pak1.pak to your id1 directory in\r
+the darkplaces installation. ( http://dosbox.sourceforge.net )\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\r
+the Quake installer.\r
+\r
+How to deal with a DOS Quake CD on Mac OSX:\r
+Unknown. Linux solution may work if you can get hold of lha, otherwise use\r
+DOSBox to run the Quake installer.\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 WinQuake CD on Linux:\r
+Copy the /media/cdrom/data/id1/pak*.pak to your id1 directory.\r
+\r
+How to deal with a WinQuake CD on Mac OSX:\r
+Find the data directory on the cdrom and copy the data/id1/pak*.pak files to\r
+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\r
+archives, locate the pak files and copy them 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\r
+your id1 directory.\r
+\r
+How to deal with a Linux Quake CD on Mac OSX:\r
+Unknown. If you can get hold of rpm2cpio and cpio you should be able to\r
+follow the Linux method.\r
+\r
+For more information on Quake installation on Linux see the Linux Quake Howto http://www.tldp.org/HOWTO/Quake-HOWTO.html\r
+\r
+\r