diff --git a/README b/README index e0122ee5..2d5c58e5 100644 --- a/README +++ b/README @@ -1,342 +1,342 @@ - ,---------------------------------------. - | _ _ ____ | - | (_)___ __ _ _ _ __ _| |_____|__ / | - | | / _ \/ _` | || / _` | / / -_)|_ \ | - | |_\___/\__, |\_,_\__,_|_\_\___|___/ | - | |_| | - | | - `---------- http://ioquake3.org --------' - -The intent of this project is to provide a baseline Quake 3 which may be used -for further development. Some of the major features currently implemented are: - - * SDL backend for unix-like operating systems - * OpenAL sound API support (multiple speaker support and better sound - quality) - * Full x86_64 support on Linux - * MinGW compilation support on Windows and cross compilation support on Linux - * AVI video capture of demos - * Much improved console autocompletion - * Persistent console history - * Colorized terminal output - * Optional Ogg Vorbis support - * Much improved QVM tools - * Support for various esoteric operating systems (see - http://ioquake3.org/?page=status) - * HTTP/FTP download redirection (using cURL) - * Multiuser support on Windows systems (user specific game data - is stored in "%APPDATA%\Quake3") - * Many, many bug fixes - -The map editor and associated compiling tools are not included. We suggest you -use a modern copy from http://www.qeradiant.com/. - -The original id software readme that accompanied the Q3 source release has been -renamed to id-readme.txt so as to prevent confusion. Please refer to the -web-site for updated status. - - ---------------------------------------------- Compilation and installation ----- - -For *nix - 1. Change to the directory containing this readme. - 2. Run 'make'. - -For Windows, using MinGW - 1. Download and install MinGW and MSys from http://www.mingw.org/. - 2. Download http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz - and untar it into your MinGW directory (usually C:\MinGW). - 3. Open an MSys terminal, and follow the instructions for compiling on *nix. - -For Windows, using MSVC - 1. Run Visual Studio and open the quake3.sln file in the code/win32/msvc - directory. - 2. Build. - 3. Copy the resultant Quake3.exe to your quake 3 directory, make a backup if - you want to keep your original. If you wish to use native libraries, copy - the resultant dlls to your baseq3 directory. - -For Mac OS X, building a Universal Binary - 1. Install the MacOSX10.2.8.sdk and MacOSX10.4u.sdk which are included in - XCode 2.2 and newer. - 2. Change to the directory containing this README file. - 3. Run './make-macosx-ub.sh' - 4. Copy the resulting ioquake3.app in /build/release-darwin-ub to your - /Applications/ioquake3 folder. - -Installation, for *nix - 1. Set the COPYDIR variable in the shell to be where you installed Quake 3 - to. By default it will be /usr/local/games/quake3 if you haven't set it. - This is the path as used by the original Linux Q3 installer and subsequent - point releases. - 2. Run 'make copyfiles'. - -It is also possible to cross compile for Windows under *nix using MinGW. A -script is available to build a cross compilation environment from -http://www.libsdl.org/extras/win32/cross/build-cross.sh. The gcc/binutils -version numbers that the script downloads may need to be altered. After you -have successfully run this script cross compiling is simply a case of using -'./cross-make-mingw.sh' in place of 'make'. - -If the make based build system is being used (i.e. *nix or MinGW), the -following variables may be set, either on the command line or in -Makefile.local: - - OPTIMIZE - use this for custom CFLAGS - DEFAULT_BASEDIR - extra path to search for baseq3 and such - BUILD_SERVER - build the 'ioq3ded' server binary - BUILD_CLIENT - build the 'ioquake3' client binary - BUILD_CLIENT_SMP - build the 'ioquake3-smp' client binary - BUILD_GAME_SO - build the game shared libraries - BUILD_GAME_QVM - build the game qvms - USE_SDL - use the SDL backend where available - USE_OPENAL - use OpenAL where available - USE_OPENAL_DLOPEN - link with OpenAL at runtime - USE_CURL - use libcurl for http/ftp download support - USE_CURL_DLOPEN - link with libcurl at runtime - USE_CODEC_VORBIS - enable Ogg Vorbis support - USE_LOCAL_HEADERS - use headers local to ioq3 instead of system ones - USE_CCACHE - use ccache compiler caching tool - COPYDIR - the target installation directory - -The defaults for these variables differ depending on the target platform. - - ------------------------------------------------------------------- Console ----- - -New cvars - cl_autoRecordDemo - record a new demo on each map change - cl_aviFrameRate - the framerate to use when capturing video - cl_aviMotionJpeg - use the mjpeg codec when capturing video - - s_useOpenAL - use the OpenAL sound backend if available - s_alPrecache - cache OpenAL sounds before use - s_alGain - the value of AL_GAIN for each source - s_alSources - the total number of sources (memory) to - allocate - s_alDopplerFactor - the value passed to alDopplerFactor - s_alDopplerSpeed - the value passed to alDopplerVelocity - s_alMinDistance - the value of AL_REFERENCE_DISTANCE for - each source - s_alMaxDistance - the maximum distance before sounds start - to become inaudible. - s_alRolloff - the value of AL_ROLLOFF_FACTOR for each - source - s_alGraceDistance - after having passed MaxDistance, length - until sounds are completely inaudible. - s_alMaxSpeakerDistance - ET_SPEAKERS beyond this distance are - culled - s_alDriver - which OpenAL library to use - s_alDevice - which OpenAL device to use - s_alAvailableDevices - list of available OpenAL devices - - s_sdlBits - SDL bit resolution - s_sdlSpeed - SDL sample rate - s_sdlChannels - SDL number of channels - s_sdlDevSamps - SDL DMA buffer size override - s_sdlMixSamps - SDL mix buffer size override - - ttycon_ansicolor - enable use of ANSI escape codes in the tty - r_GLlibCoolDownMsec - wait for some milliseconds to close GL - library - com_altivec - enable use of altivec on PowerPC systems - s_backend - read only, indicates the current sound - backend - in_shiftedKeys - non-SDL Linux only; enables binding to - shifted keys - in_joystickNo - SDL only; select which joystick to use - cl_consoleHistory - read only, stores the console history - cl_platformSensitivity - read only, indicates the mouse input - scaling - r_ext_texture_filter_anisotropic - anisotropic texture filtering - cl_cURLLib - filename of cURL library to load - sv_dlURL - the base of the HTTP or FTP site that - holds custom pk3 files for your server - -New commands - video [filename] - start video capture (use with demo command) - stopvideo - stop video capture - - ------------------------------------------------------------- Miscellaneous ----- - -Using shared libraries instead of qvm - To force Q3 to use shared libraries instead of qvms run it with the following - parameters: +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0 - -Using Demo Data Files - Copy demoq3/pak0.pk3 from the demo installer to your baseq3 directory. The - qvm files in this pak0.pk3 will not work, so you have to use the native - shared libraries or qvms from this project. To use the new qvms, they must be - put into a pk3 file. A pk3 file is just a zip file, so any compression tool - that can create such files will work. The shared libraries should already be - in the correct place. Use the instructions above to use them. - - Please bear in mind that you will not be able to play online using the demo - data, nor is it something that we like to spend much time maintaining or - supporting. - -64bit mods - If you wish to compile external mods as shared libraries on a 64bit platform, - and the mod source is derived from the id Q3 SDK, you will need to modify the - interface code a little. Open the files ending in _syscalls.c and change - every instance of int to intptr_t in the declaration of the syscall function - pointer and the dllEntry function. Also find the vmMain function for each - module (usually in cg_main.c g_main.c etc.) and similarly replace the return - value in the prototype with intptr_t (arg0, arg1, ...stay int). - - Add the following code snippet to q_shared.h: - - #ifdef Q3_VM - typedef int intptr_t; - #else - #include - #endif - - Note if you simply wish to run mods on a 64bit platform you do not need to - recompile anything since by default Q3 uses a virtual machine system. - -Creating mods compatible with Q3 1.32b - If you're using this package to create mods for the last official release of - Q3, it is necessary to pass the commandline option '-vq3' to your invocation - of q3asm. This is because by default q3asm outputs an updated qvm format that - is necessary to fix a bug involving the optimizing pass of the x86 vm JIT - compiler. See http://www.quakesrc.org/forums/viewtopic.php?t=5665 (if it - still exists when you read this) for more details. - -Using HTTP/FTP Download Support (Server) - You can enable redirected downloads on your server even if it's not - an ioquake3 server. You simply need to use the 'sets' command to put - the sv_dlURL cvar into your SERVERINFO string and ensure sv_allowDownloads - is set to 1 - - sv_dlURL is the base of the URL that contains your custom .pk3 files - the client will append both fs_game and the filename to the end of - this value. For example, if you have sv_dlURL set to - "http://ioquake3.org", fs_game is "baseq3", and the client is - missing "test.pk3", it will attempt to download from the URL - "http://ioquake3.org/baseq3/test.pk3" - - sv_allowDownload's value is now a bitmask made up of the following - flags: - 1 - ENABLE - 2 - do not use HTTP/FTP downloads - 4 - do not use UDP downloads - 8 - do not ask the client to disconnect when using HTTP/FTP - - Server operators who are concerned about potential "leeching" from their - HTTP servers from other ioquake3 servers can make use of the HTTP_REFERER - that ioquake3 sets which is "ioQ3://{SERVER_IP}:{SERVER_PORT}". For, - example, Apache's mod_rewrite can restrict access based on HTTP_REFERER. - -Using HTTP/FTP Download Support (Client) - Simply setting cl_allowDownload to 1 will enable HTTP/FTP downloads - assuming ioquake3 was compiled with USE_CURL=1 (the default). - like sv_allowDownload, cl_allowDownload also uses a bitmask value - supporting the following flags: - 1 - ENABLE - 2 - do not use HTTP/FTP downloads - 4 - do not use UDP downloads - - When ioquake3 is built with USE_CURL_DLOPEN=1 (default on some platforms), - it will use the value of the cvar cl_cURLLib as the filename of the cURL - library to dynamically load. - -Multiuser Support on Windows systems - On Windows, all user specific files such as autogenerated configuration, - demos, videos, screenshots, and autodownloaded pk3s are now saved in a - directory specific to the user who is running ioquake3. - - On NT-based such as Windows XP, this is usually a directory named: - "C:\Documents and Settings\%USERNAME%\Application Data\Quake3\" - - Windows 95, Windows 98, and Windows ME will use a directory like: - "C:\Windows\Application Data\Quake3" - in single-user mode, or: - "C:\Windows\Profiles\%USERNAME%\Application Data\Quake3" - if multiple logins have been enabled. - - In order to access this directory more easily, the installer may create a - Shortcut which has its target set to: - "%APPDATA%\Quake3\" - This Shortcut would work for all users on the system regardless of the - locale settings. Unfortunately, this environment variable is only - present on Windows NT based systems. - - You can revert to the old single-user behaviour by setting the fs_homepath - cvar to the directory where ioquake3 is installed. For example: - ioquake3.exe +set fs_homepath "c:\ioquake3" - Note that this cvar MUST be set as a command line parameter. - -------------------------------------------------------------- Contributing ----- - -Please send all patches to bugzilla (https://bugzilla.icculus.org), or join the -mailing list (quake3-subscribe@icculus.org) and submit your patch there. The -best case scenario is that you submit your patch to bugzilla, and then post the -URL to the mailing list. If you're too lazy for either method, then it would be -better if you emailed your patches to zakk@icculus.org directly than not at -all. - -The focus for ioquake3 to develop a stable base suitable for further -development, and provide players with the same Quake 3 experience they've had -for years. As such ioq3 does not have any significant graphical enhancements -and none are planned at this time. However, improved graphics and sound -patches will be accepted as long as they are entirely optional, do not -require new media and are off by default. - - ---------------------------------------------- Building Official Installers ----- - -We need help getting automated installers on all the platforms that ioquake3 -supports. We don't neccesarily care about all the installers being identical, -but we have some general guidelines: - - * Please include the id patch pk3s in your installer, which are available - from http://ioquake3.org/?page=getdata subject to agreement to the id - EULA. Your installer shall also ask the user to agree to this EULA (which - is in the /web/include directory for your convenience) and subsequently - refuse to continue the installation of the patch pk3s and pak0.pk3 if they - do not. - - * Please don't require pak0.pk3, since not everyone using the engine - plans on playing Quake 3 Arena on it. It's fine to (optionally) assist the - user in copying the file or tell them how. - - * It is fine to just install the binaries without requiring id EULA agreement, - providing pak0.pk3 and the patch pk3s are not refered to or included in the - installer. - - * Please include at least an SDL so/dylib on every platform but Windows - (which doesn't use it yet). - - * Please include an OpenAL so/dylib/dll, since every platform should be using - it by now. - - * We'll bump the version to 1.34 as soon as we get enough people who can - demonstrate a competent build for Windows and Mac. - - * Please contact the mailing list and/or zakk@timedoctor.org after you've - made your installer. - - * Please be prepared to alter your installer on the whim of the maintainers. - - * Your installer will be mirrored to an "official" directory, thus making it - a done deal. - ------------------------------------------------------------------- Credits ----- - -Maintainers - Aaron Gyes - Ludwig Nussel - Ryan C. Gordon - Thilo Schulz - Tim Angus - Tony J. White - Zachary J. Slater - -Significant contributions from - Andreas Kohn - Joerg Dietrich - Stuart Dalton - Vincent S. Cojot - optical + ,---------------------------------------. + | _ _ ____ | + | (_)___ __ _ _ _ __ _| |_____|__ / | + | | / _ \/ _` | || / _` | / / -_)|_ \ | + | |_\___/\__, |\_,_\__,_|_\_\___|___/ | + | |_| | + | | + `---------- http://ioquake3.org --------' + +The intent of this project is to provide a baseline Quake 3 which may be used +for further development. Some of the major features currently implemented are: + + * SDL backend for unix-like operating systems + * OpenAL sound API support (multiple speaker support and better sound + quality) + * Full x86_64 support on Linux + * MinGW compilation support on Windows and cross compilation support on Linux + * AVI video capture of demos + * Much improved console autocompletion + * Persistent console history + * Colorized terminal output + * Optional Ogg Vorbis support + * Much improved QVM tools + * Support for various esoteric operating systems (see + http://ioquake3.org/?page=status) + * HTTP/FTP download redirection (using cURL) + * Multiuser support on Windows systems (user specific game data + is stored in "%APPDATA%\Quake3") + * Many, many bug fixes + +The map editor and associated compiling tools are not included. We suggest you +use a modern copy from http://www.qeradiant.com/. + +The original id software readme that accompanied the Q3 source release has been +renamed to id-readme.txt so as to prevent confusion. Please refer to the +web-site for updated status. + + +--------------------------------------------- Compilation and installation ----- + +For *nix + 1. Change to the directory containing this readme. + 2. Run 'make'. + +For Windows, using MinGW + 1. Download and install MinGW and MSys from http://www.mingw.org/. + 2. Download http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz + and untar it into your MinGW directory (usually C:\MinGW). + 3. Open an MSys terminal, and follow the instructions for compiling on *nix. + +For Windows, using MSVC + 1. Run Visual Studio and open the quake3.sln file in the code/win32/msvc + directory. + 2. Build. + 3. Copy the resultant Quake3.exe to your quake 3 directory, make a backup if + you want to keep your original. If you wish to use native libraries, copy + the resultant dlls to your baseq3 directory. + +For Mac OS X, building a Universal Binary + 1. Install the MacOSX10.2.8.sdk and MacOSX10.4u.sdk which are included in + XCode 2.2 and newer. + 2. Change to the directory containing this README file. + 3. Run './make-macosx-ub.sh' + 4. Copy the resulting ioquake3.app in /build/release-darwin-ub to your + /Applications/ioquake3 folder. + +Installation, for *nix + 1. Set the COPYDIR variable in the shell to be where you installed Quake 3 + to. By default it will be /usr/local/games/quake3 if you haven't set it. + This is the path as used by the original Linux Q3 installer and subsequent + point releases. + 2. Run 'make copyfiles'. + +It is also possible to cross compile for Windows under *nix using MinGW. A +script is available to build a cross compilation environment from +http://www.libsdl.org/extras/win32/cross/build-cross.sh. The gcc/binutils +version numbers that the script downloads may need to be altered. After you +have successfully run this script cross compiling is simply a case of using +'./cross-make-mingw.sh' in place of 'make'. + +If the make based build system is being used (i.e. *nix or MinGW), the +following variables may be set, either on the command line or in +Makefile.local: + + OPTIMIZE - use this for custom CFLAGS + DEFAULT_BASEDIR - extra path to search for baseq3 and such + BUILD_SERVER - build the 'ioq3ded' server binary + BUILD_CLIENT - build the 'ioquake3' client binary + BUILD_CLIENT_SMP - build the 'ioquake3-smp' client binary + BUILD_GAME_SO - build the game shared libraries + BUILD_GAME_QVM - build the game qvms + USE_SDL - use the SDL backend where available + USE_OPENAL - use OpenAL where available + USE_OPENAL_DLOPEN - link with OpenAL at runtime + USE_CURL - use libcurl for http/ftp download support + USE_CURL_DLOPEN - link with libcurl at runtime + USE_CODEC_VORBIS - enable Ogg Vorbis support + USE_LOCAL_HEADERS - use headers local to ioq3 instead of system ones + USE_CCACHE - use ccache compiler caching tool + COPYDIR - the target installation directory + +The defaults for these variables differ depending on the target platform. + + +------------------------------------------------------------------ Console ----- + +New cvars + cl_autoRecordDemo - record a new demo on each map change + cl_aviFrameRate - the framerate to use when capturing video + cl_aviMotionJpeg - use the mjpeg codec when capturing video + + s_useOpenAL - use the OpenAL sound backend if available + s_alPrecache - cache OpenAL sounds before use + s_alGain - the value of AL_GAIN for each source + s_alSources - the total number of sources (memory) to + allocate + s_alDopplerFactor - the value passed to alDopplerFactor + s_alDopplerSpeed - the value passed to alDopplerVelocity + s_alMinDistance - the value of AL_REFERENCE_DISTANCE for + each source + s_alMaxDistance - the maximum distance before sounds start + to become inaudible. + s_alRolloff - the value of AL_ROLLOFF_FACTOR for each + source + s_alGraceDistance - after having passed MaxDistance, length + until sounds are completely inaudible. + s_alMaxSpeakerDistance - ET_SPEAKERS beyond this distance are + culled + s_alDriver - which OpenAL library to use + s_alDevice - which OpenAL device to use + s_alAvailableDevices - list of available OpenAL devices + + s_sdlBits - SDL bit resolution + s_sdlSpeed - SDL sample rate + s_sdlChannels - SDL number of channels + s_sdlDevSamps - SDL DMA buffer size override + s_sdlMixSamps - SDL mix buffer size override + + ttycon_ansicolor - enable use of ANSI escape codes in the tty + r_GLlibCoolDownMsec - wait for some milliseconds to close GL + library + com_altivec - enable use of altivec on PowerPC systems + s_backend - read only, indicates the current sound + backend + in_shiftedKeys - non-SDL Linux only; enables binding to + shifted keys + in_joystickNo - SDL only; select which joystick to use + cl_consoleHistory - read only, stores the console history + cl_platformSensitivity - read only, indicates the mouse input + scaling + r_ext_texture_filter_anisotropic - anisotropic texture filtering + cl_cURLLib - filename of cURL library to load + sv_dlURL - the base of the HTTP or FTP site that + holds custom pk3 files for your server + +New commands + video [filename] - start video capture (use with demo command) + stopvideo - stop video capture + + +------------------------------------------------------------ Miscellaneous ----- + +Using shared libraries instead of qvm + To force Q3 to use shared libraries instead of qvms run it with the following + parameters: +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0 + +Using Demo Data Files + Copy demoq3/pak0.pk3 from the demo installer to your baseq3 directory. The + qvm files in this pak0.pk3 will not work, so you have to use the native + shared libraries or qvms from this project. To use the new qvms, they must be + put into a pk3 file. A pk3 file is just a zip file, so any compression tool + that can create such files will work. The shared libraries should already be + in the correct place. Use the instructions above to use them. + + Please bear in mind that you will not be able to play online using the demo + data, nor is it something that we like to spend much time maintaining or + supporting. + +64bit mods + If you wish to compile external mods as shared libraries on a 64bit platform, + and the mod source is derived from the id Q3 SDK, you will need to modify the + interface code a little. Open the files ending in _syscalls.c and change + every instance of int to intptr_t in the declaration of the syscall function + pointer and the dllEntry function. Also find the vmMain function for each + module (usually in cg_main.c g_main.c etc.) and similarly replace the return + value in the prototype with intptr_t (arg0, arg1, ...stay int). + + Add the following code snippet to q_shared.h: + + #ifdef Q3_VM + typedef int intptr_t; + #else + #include + #endif + + Note if you simply wish to run mods on a 64bit platform you do not need to + recompile anything since by default Q3 uses a virtual machine system. + +Creating mods compatible with Q3 1.32b + If you're using this package to create mods for the last official release of + Q3, it is necessary to pass the commandline option '-vq3' to your invocation + of q3asm. This is because by default q3asm outputs an updated qvm format that + is necessary to fix a bug involving the optimizing pass of the x86 vm JIT + compiler. See http://www.quakesrc.org/forums/viewtopic.php?t=5665 (if it + still exists when you read this) for more details. + +Using HTTP/FTP Download Support (Server) + You can enable redirected downloads on your server even if it's not + an ioquake3 server. You simply need to use the 'sets' command to put + the sv_dlURL cvar into your SERVERINFO string and ensure sv_allowDownloads + is set to 1 + + sv_dlURL is the base of the URL that contains your custom .pk3 files + the client will append both fs_game and the filename to the end of + this value. For example, if you have sv_dlURL set to + "http://ioquake3.org", fs_game is "baseq3", and the client is + missing "test.pk3", it will attempt to download from the URL + "http://ioquake3.org/baseq3/test.pk3" + + sv_allowDownload's value is now a bitmask made up of the following + flags: + 1 - ENABLE + 2 - do not use HTTP/FTP downloads + 4 - do not use UDP downloads + 8 - do not ask the client to disconnect when using HTTP/FTP + + Server operators who are concerned about potential "leeching" from their + HTTP servers from other ioquake3 servers can make use of the HTTP_REFERER + that ioquake3 sets which is "ioQ3://{SERVER_IP}:{SERVER_PORT}". For, + example, Apache's mod_rewrite can restrict access based on HTTP_REFERER. + +Using HTTP/FTP Download Support (Client) + Simply setting cl_allowDownload to 1 will enable HTTP/FTP downloads + assuming ioquake3 was compiled with USE_CURL=1 (the default). + like sv_allowDownload, cl_allowDownload also uses a bitmask value + supporting the following flags: + 1 - ENABLE + 2 - do not use HTTP/FTP downloads + 4 - do not use UDP downloads + + When ioquake3 is built with USE_CURL_DLOPEN=1 (default on some platforms), + it will use the value of the cvar cl_cURLLib as the filename of the cURL + library to dynamically load. + +Multiuser Support on Windows systems + On Windows, all user specific files such as autogenerated configuration, + demos, videos, screenshots, and autodownloaded pk3s are now saved in a + directory specific to the user who is running ioquake3. + + On NT-based such as Windows XP, this is usually a directory named: + "C:\Documents and Settings\%USERNAME%\Application Data\Quake3\" + + Windows 95, Windows 98, and Windows ME will use a directory like: + "C:\Windows\Application Data\Quake3" + in single-user mode, or: + "C:\Windows\Profiles\%USERNAME%\Application Data\Quake3" + if multiple logins have been enabled. + + In order to access this directory more easily, the installer may create a + Shortcut which has its target set to: + "%APPDATA%\Quake3\" + This Shortcut would work for all users on the system regardless of the + locale settings. Unfortunately, this environment variable is only + present on Windows NT based systems. + + You can revert to the old single-user behaviour by setting the fs_homepath + cvar to the directory where ioquake3 is installed. For example: + ioquake3.exe +set fs_homepath "c:\ioquake3" + Note that this cvar MUST be set as a command line parameter. + +------------------------------------------------------------- Contributing ----- + +Please send all patches to bugzilla (https://bugzilla.icculus.org), or join the +mailing list (quake3-subscribe@icculus.org) and submit your patch there. The +best case scenario is that you submit your patch to bugzilla, and then post the +URL to the mailing list. If you're too lazy for either method, then it would be +better if you emailed your patches to zakk@icculus.org directly than not at +all. + +The focus for ioquake3 to develop a stable base suitable for further +development, and provide players with the same Quake 3 experience they've had +for years. As such ioq3 does not have any significant graphical enhancements +and none are planned at this time. However, improved graphics and sound +patches will be accepted as long as they are entirely optional, do not +require new media and are off by default. + + +--------------------------------------------- Building Official Installers ----- + +We need help getting automated installers on all the platforms that ioquake3 +supports. We don't neccesarily care about all the installers being identical, +but we have some general guidelines: + + * Please include the id patch pk3s in your installer, which are available + from http://ioquake3.org/?page=getdata subject to agreement to the id + EULA. Your installer shall also ask the user to agree to this EULA (which + is in the /web/include directory for your convenience) and subsequently + refuse to continue the installation of the patch pk3s and pak0.pk3 if they + do not. + + * Please don't require pak0.pk3, since not everyone using the engine + plans on playing Quake 3 Arena on it. It's fine to (optionally) assist the + user in copying the file or tell them how. + + * It is fine to just install the binaries without requiring id EULA agreement, + providing pak0.pk3 and the patch pk3s are not refered to or included in the + installer. + + * Please include at least an SDL so/dylib on every platform but Windows + (which doesn't use it yet). + + * Please include an OpenAL so/dylib/dll, since every platform should be using + it by now. + + * We'll bump the version to 1.34 as soon as we get enough people who can + demonstrate a competent build for Windows and Mac. + + * Please contact the mailing list and/or zakk@timedoctor.org after you've + made your installer. + + * Please be prepared to alter your installer on the whim of the maintainers. + + * Your installer will be mirrored to an "official" directory, thus making it + a done deal. + +------------------------------------------------------------------ Credits ----- + +Maintainers + Aaron Gyes + Ludwig Nussel + Ryan C. Gordon + Thilo Schulz + Tim Angus + Tony J. White + Zachary J. Slater + +Significant contributions from + Andreas Kohn + Joerg Dietrich + Stuart Dalton + Vincent S. Cojot + optical