mirror of
https://github.com/UberGames/ioef.git
synced 2024-12-01 00:21:19 +00:00
113 lines
4.9 KiB
Text
113 lines
4.9 KiB
Text
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 Visual Studio, open the quake3.sln file in the win32/msvc
|
|
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 distribution 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)
|
|
USE_LOCAL_HEADERS - use system headers instead of ones local to ioq3
|
|
|
|
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. Which is where the id patch installs by default.
|
|
|
|
Then run "make copyfiles", beware that this will overwrite any binaries
|
|
installed previously, even official id ones.
|
|
|
|
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 http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz
|
|
and untar in into your MinGW directory (usually C:\MinGW).
|
|
3. Perform the usual precompilation sacrificial ritual.
|
|
4. Open an MSys terminal, and follow the instructions for compiling on Linux.
|
|
5. Steal underpants
|
|
6. ?????
|
|
7. Profit!
|
|
|
|
It is also possible to cross compile for Windows 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'.
|
|
|
|
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
|
|
~~~~~~~~~~
|
|
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 long 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 every instance of int in the
|
|
prototype with long.
|
|
|
|
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.
|