Jkaq3
An engine replacement based on ioq3 meant for jedi academny
Install / Use
/learn @dmead/Jkaq3README
,---------------------------------------.
| _ _ ____ |
| (_)___ __ _ _ _ __ _| |_____|__ / |
| | / _ \/ _` | || / _` | / / -_)|_ \ |
| |_\___/\__, |\_,_\__,_|_\_\___|___/ |
| |_| |
| |
`---------- http://ioquake3.org --------'
The intent of this project is to provide a baseline Quake 3 which may be used for further development and baseq3 fun. Some of the major features currently implemented are:
- SDL backend
- OpenAL sound API support (multiple speaker support and better sound quality)
- Full x86_64 support on Linux
- VoIP support, both in-game and external support through Mumble.
- 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
- cl_guid support
- HTTP/FTP download redirection (using cURL)
- Multiuser support on Windows systems (user specific game data is stored in "%APPDATA%\Quake3")
- PNG support
- 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
- Change to the directory containing this readme.
- Run 'make'.
For Windows,
- Please refer to the excellent instructions here: http://wiki.ioquake3.org/Building_ioquake3
For Mac OS X, building a Universal Binary
- Install MacOSX SDK packages from XCode. For maximum compatibility, install MacOSX10.4u.sdk and MacOSX10.3.9.sdk, and MacOSX10.2.8.sdk.
- Change to the directory containing this README file.
- Run './make-macosx-ub.sh'
- Copy the resulting ioquake3.app in /build/release-darwin-ub to your /Applications/ioquake3 folder.
Installation, for *nix
- 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.
- 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. Alternatively, your distribution may have mingw32 packages available. On debian/Ubuntu, these are mingw32, mingw32-runtime and mingw32-binutils. Cross compiling is simply a case of using './cross-make-mingw.sh' in place of 'make', though you may find you need to change the value of the variables in this script to match your environment.
The following variables may be set, either on the command line or in Makefile.local:
CFLAGS - use this for custom CFLAGS V - set to show cc command line when building 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 BUILD_STANDALONE - build binaries suited for stand-alone games 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_MUMBLE - enable Mumble support USE_VOIP - enable built-in VoIP support USE_INTERNAL_SPEEX - build internal speex library instead of dynamically linking against system libspeex USE_OLD_VM64 - use Ludwig Nussel's old JIT compiler implementation for x86_64 USE_INTERNAL_ZLIB - build and link against internal zlib USE_INTERNAL_JPEG - build and link against internal JPEG library USE_LOCAL_HEADERS - use headers local to ioq3 instead of system ones DEBUG_CFLAGS - C compiler flags to use for building debug version COPYDIR - the target installation directory TEMPDIR - specify user defined directory for temp files
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 cl_guidServerUniq - makes cl_guid unique for each server cl_cURLLib - filename of cURL library to load cl_consoleKeys - space delimited list of key names or characters that toggle the console cl_mouseAccelStyle - Set to 1 for QuakeLive mouse acceleration behaviour, 0 for standard q3 cl_mouseAccelOffset - Tuning the acceleration curve, see below
in_joystickUseAnalog - Do not translate joystick axis events to keyboard commands
j_forward - Joystick analogue to m_forward, for forward movement speed/direction. j_side - Joystick analogue to m_side, for side movement speed/direction. j_up - Joystick up movement speed/direction. j_pitch - Joystick analogue to m_pitch, for pitch rotation speed/direction. j_yaw - Joystick analogue to m_yaw, for yaw rotation speed/direction. j_forward_axis - Selects which joystick axis controls forward/back. j_side_axis - Selects which joystick axis controls left/right. j_up_axis - Selects which joystick axis controls up/down. j_pitch_axis - Selects which joystick axis controls pitch. j_yaw_axis - Selects which joystick axis controls yaw.
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_alDriver - which OpenAL library to use s_alDevice - which OpenAL device to use s_alAvailableDevices - list of available OpenAL devices s_alInputDevice - which OpenAL input device to use s_alAvailableInputDevices - list of available OpenAL input 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 s_backend - read only, indicates the current sound backend s_muteWhenMinimized - mute sound when minimized s_muteWhenUnfocused - mute sound when window is unfocused sv_dlRate - bandwidth allotted to PK3 file downloads via UDP, in kbyte/s
com_ansiColor - enable use of ANSI escape codes in the tty com_altivec - enable use of altivec on PowerPC systems com_standalone (read only) - If set to 1, quake3 is running in standalone mode com_basegame - Use a different base than baseq3. If no original Quake3 or TeamArena pak files are found, this will enable running in standalone mode com_homepath - Specify name that is to be appended to the
