r965 - trunk

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Nov 9 09:51:24 EST 2006


Author: thilo
Date: 2006-11-09 09:51:24 -0500 (Thu, 09 Nov 2006)
New Revision: 965

Modified:
   trunk/README
Log:
gnahh.. I hate windows.


Modified: trunk/README
===================================================================
--- trunk/README	2006-11-09 14:29:57 UTC (rev 964)
+++ trunk/README	2006-11-09 14:51:24 UTC (rev 965)
@@ -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 <stdint.h>
-    #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 at 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 at 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 at 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 <floam at sh dot nu>
-  Ludwig Nussel <ludwig.nussel at suse.de>
-  Ryan C. Gordon <icculus at icculus.org>
-  Thilo Schulz <arny at ats.s.bawue.de>
-  Tim Angus <tim at ngus.net>
-  Tony J. White <tjw at tjw.org>
-  Zachary J. Slater <zakk at timedoctor.org>
-
-Significant contributions from
-  Andreas Kohn <andreas at syndrom23.de>
-  Joerg Dietrich <Dietrich_Joerg at t-online.de>
-  Stuart Dalton <badcdev at gmail.com>
-  Vincent S. Cojot <vincent at cojot dot name>
-  optical <alex at rigbo.se>
+                   ,---------------------------------------.
+                   |   _                     _       ____  |
+                   |  (_)___  __ _ _  _ __ _| |_____|__ /  |
+                   |  | / _ \/ _` | || / _` | / / -_)|_ \  |
+                   |  |_\___/\__, |\_,_\__,_|_\_\___|___/  |
+                   |            |_|                        |
+                   |                                       |
+                   `---------- 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 <stdint.h>
+    #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 at 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 at 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 at 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 <floam at sh dot nu>
+  Ludwig Nussel <ludwig.nussel at suse.de>
+  Ryan C. Gordon <icculus at icculus.org>
+  Thilo Schulz <arny at ats.s.bawue.de>
+  Tim Angus <tim at ngus.net>
+  Tony J. White <tjw at tjw.org>
+  Zachary J. Slater <zakk at timedoctor.org>
+
+Significant contributions from
+  Andreas Kohn <andreas at syndrom23.de>
+  Joerg Dietrich <Dietrich_Joerg at t-online.de>
+  Stuart Dalton <badcdev at gmail.com>
+  Vincent S. Cojot <vincent at cojot dot name>
+  optical <alex at rigbo.se>




More information about the quake3-commits mailing list