aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README127
1 files changed, 127 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..4da93b9
--- /dev/null
+++ b/README
@@ -0,0 +1,127 @@
+Name of this project: icculus.org/quake3
+URL: http://www.icculus.org/quake3
+Hello and welcome to the Quake 3 source repository on icculus.org
+I'll be your maintainer, zakk@icculus.org, please send all your patches to
+the bugzilla: https://bugzilla.icculus.org, or join the mailing list
+(quake3-subscribe@icculus.org) and submit your patch there.
+Best case scenario is you subscribe to the ml, submit your patch to
+bugzilla, and then post the url to the mailing list.
+
+If you're too lazy for either method, then I would rather
+you e-mailed your patches to me directly than not at all.
+
+The intent of this is to give people a baseline Quake 3.
+Bug fixes, SDL port, OpenAL, security, etc.
+Extra graphics and sound will be accepted as long as they are entirely
+optional and off by default.
+
+The map editor isn't included, get a modern copy from here:
+http://www.qeradiant.com/
+
+The id software readme has been renamed to id-readme.txt
+so as to prevent confusion.
+
+Refer to the web-site for updated status, enjoy!
+
+Compiling (Under Windows)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Run Space Visual Dot Net 2040 Extra Entropy Edition under your BeOS emulator.
+Open the quake3.vcproj file in the win32 directory.
+Build.
+Copy the resultant Quake3.exe to your quake 3 directory, make a backup if you want to keep
+your original.
+
+Copy the resultant dlls to your baseq3 directory, backup etc.
+
+Run, enjoy!
+
+
+Compiling (Under Linux)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+1. If not already there, change to the directory containing this readme
+2. Run 'make'
+
+For distro maintainers, you can set some make variables:
+ OPTIMIZE - use this for custom CFLAGS
+ DEFAULT_BASEDIR - extra path to search for baseq3 and such
+ BUILD_SERVER - build the 'q3ded' server binary (1 = build it, default = 1)
+ BUILD_CLIENT - build the 'quake3' client binary (1 = build it, default = 1)
+
+Installing under Linux
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+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.
+
+Then run "make copyfiles", beware that this will overwrite any binaries
+installed previously, even official id ones.
+
+Using shared libraries instead of qvm
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+To make quake3 prefer shared libraries instead of qvm 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
+~~~~~~~~~~~~~~~~~~~~~
+you only need demoq3/pak0.pk3 from the demo installer. The qvm files inside
+pak0.pk3 will not work, you have to use the native shared libraries from this
+project. To do so copy or link ui*.so, qagame*.so, cgame*.so from baseq3 to
+demoq3 and run quake3 with the parameters described above.
+
+64bit mods
+~~~~~~~~~~
+To compile working(!) shared libraries for 64bit mods the vmMain and
+dllEntry functions as well as the syscall pointer have to be changed
+to accept and return long instead of int.
+
+Compiling under windows using MinGW
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+It is possible to compile ioQ3 using the MinGW (Minimalist GNU for Windows)
+toolset. It's a little more involved than compiling for linux; steps are as
+follows:
+
+1. Download and install MinGW and MSys from http://www.mingw.org/.
+2. Download and install the DirectX 9 SDK from
+ http://msdn.microsoft.com/directx/. Previous versions of the SDK will
+ probably work, but they have not been tested.
+3. Find the following in DXSDK/Include/dinput.h...
+
+ } DIDEVICEINSTANCEW, *LPDIDEVICEINSTANCEW;
+ #ifdef UNICODE
+ typedef DIDEVICEINSTANCEW DIDEVICEINSTANCE;
+ typedef LPDIDEVICEINSTANCEW LPDIDEVICEINSTANCE;
+ #else
+ typedef DIDEVICEINSTANCEA DIDEVICEINSTANCE;
+ typedef LPDIDEVICEINSTANCEA LPDIDEVICEINSTANCE;
+ #endif // UNICODE
+
+ typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA;
+ typedef const DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW;
+ > #ifdef UNICODE
+ > typedef DIDEVICEINSTANCEW DIDEVICEINSTANCE;
+ > typedef LPCDIDEVICEINSTANCEW LPCDIDEVICEINSTANCE;
+ > #else
+ > typedef DIDEVICEINSTANCEA DIDEVICEINSTANCE;
+ > typedef LPCDIDEVICEINSTANCEA LPCDIDEVICEINSTANCE;
+ > #endif // UNICODE
+ typedef const DIDEVICEINSTANCE *LPCDIDEVICEINSTANCE;
+
+ ...and comment out/remove the duplicated code marked by '>'.
+
+4. If you didn't install the DirectX SDK in C:\DXSDK\, edit DXSDK_DIR in
+ code/unix/Makefile to reflect the new location.
+5. Perform the usual precompilation sacrificial ritual.
+6. Open an MSys terminal, and follow the instructions for compiling on Linux.
+7. Steal underpants
+8. ????
+9. Profit!
+
+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 optimising 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.