This part of the documentation includes a portion of Q3A (Quake 3 Arena - for those not "in the know") documentation. It is not meant to be a complete and perfect document, merely highlight our knowledge from this project.
We found and used a copy of Q3A source for Linux. This includes
Makefiles and binaries for q3asm and q3lcc. All in all, I strongly
recommend its usage for building Q3A mods. It is legal and free and
can be found here. So
during the compiling, if you dont hae the build tools, you can get them
from this file :)
The source code that you can download is not the complete Q3A source,
it's only the source so that mod's can be made. Most of the code for
the engine hasn't been released, for obvious reasons. This means that
you really only have access to the outer shell around the Q3A engine.
There are "traps" into the engine that allow communication between the
client and server. All of the rendering is also handled within the
engine, as is keystroke and mouse button handling. The best method we
found in which to handle the appearance and disapperance of events is to
simply trust and believe the engine. There is also a brief description
under the "syscalls" of cgame and game.
The directory structure of the source is quite well laid out. All the
source can be found in the src/ directory. Inside the
src/ directory are 4 directories:
Now, before you rush off and try to "mod" Q3A like no tomorrow, you
should know a little about the file name structure also.
Any file beginning with: