diff options
-rw-r--r-- | CHANGES | 81 | ||||
-rw-r--r-- | INSTALL | 67 | ||||
-rw-r--r-- | README | 9 | ||||
-rw-r--r-- | README.lirc | 94 | ||||
-rw-r--r-- | debian/control | 10 | ||||
-rw-r--r-- | debian/docs | 2 | ||||
-rwxr-xr-x | debian/rules | 3 | ||||
-rw-r--r-- | q2pro.6 | 25 |
8 files changed, 246 insertions, 45 deletions
@@ -0,0 +1,81 @@ +Changes since r396 +================== + +Features: +--------- + +* Added support for HTTP downloads using libCURL. + +* Added OpenAL 1.1 sound engine with Linear Distance Model support, + which should be very close to the original Q2 sound with useful + features like 5.1 channel output. + +* Added support for receiving input from the LIRC daemon on Linux. + +* Added ‘scr_lag_max’ cvar for controlling lagometer scale. + +* Added ‘r_fps’, ‘cl_mps’ and ‘cl_pps’ macros displaying current + rendering FPS, moves per second and packets per second rates. + +* High gl_modulate values now completely cancel entity glowing effect, + just like original Q2 renderer does. + +* Added support for loading monochrome JPEG images. + +* MVD channels menu is now automatically refreshed. + +* MVD channels are no longer destroyed when GTV server fails to + load the map, they are used with null visibility info instead. + +* Server ‘status p’ command now lists various protocol details like + maxmsglen, netchan type, zlib support, etc. + +* On Linux, Path MTU Discovery is now disabled on UDP sockets, so that + kernel allows IP level fragmentation of outgoing packets, allowing clients + with smaller MTU sizes to connect. + +* Improved IO handling: use only single select() call per frame. + +* More efficient custom code for reading ZIP packfiles is now used + instead of PKZIP library. + +* Implemented new error reporting framework based on errno and custom error codes. + + +Bugfixes: +--------- + +* Improved ‘oldscores’ GTV client command handling with OpenTDM. + +* Fixed off-by-one error when printing argument to the ‘!’ chase target escape. + +* Fixed floating point division by zero in packet loss ratio calculations. + +* Fixed a memory leak in ‘mvdstop’ GTV server command. + +* Fixed improper handling of status responses from servers client is connecting to. + +* Removed ‘Server rejected loopback connection’ error message. + +* Fixed off-by-one errors in lightstyle and muzzle flash parsing code. + +* Fixed integer overflow in sound loading code. + +* Fixed possible access to uninitialized memory in BSP loading code. + +* Fixed old Q2 bug in Netchan_Transmit causing reliable retransmits to be + delayed one ack longer than needed. + +* Empty files and directories inside ZIP packfiles are now skipped. + +* Fixed endianess issues in sound and image loading code. + +* Maximum loadable file size is now limited to 64 MiB to protect + against malicious paks causing memory exhaustion. + +* Fixed ‘mvdskip’ command not working properly. + +* Fixed a crash in ‘mvdplay’ command possible when demo file is invalid. + +* Fixed a memory leak in JPEG and PNG image reading and writing functions. + @@ -1,9 +1,9 @@ Prerequisities ------------------ -Q2PRO client currently uses OSS for sound output and libSDL for video output. +On Linux, Q2PRO client currently depends on libSDL for video output. Both client and dedicated server require zlib support for full network -protocol compatibility. OpenGL refresh library recommends libjpeg and -libpng+zlib for 32 bit textures support. +protocol compatibility. Evdev mouse input is recommended, since the way SDL +works around non-existent X11 relative mouse input support is horrible. Installation @@ -27,6 +27,10 @@ Generic configuration Prepend PREFIX to compile tools names. Use for cross-compiling, for example: `./configure --cross-prefix=i586-mingw32-msvc'. +--enable-mingw + Force MinGW build environment (use for cross-compiling) instead of + autodetecting host environment. + --disable-client Do not build graphical client. @@ -39,56 +43,65 @@ Generic configuration --disable-asm Do not use optimized i386 assembly code. + +Server configuration +------------------ + --enable-anticheat Enable r1ch.net anticheat server interface. +--disable-mvd-server + Disable local MVD recording and accepting remote GTV connections from relay nodes. -MinGW specific ------------------- +--disable-mvd-client + Disable GTV relay node functionality. ---enable-mingw - Force MinGW build environment (use for cross-compiling) instead of - autodetecting host environment. + +Client configuration +------------------ --enable-dsound - Enable DirectSound driver (need dsound.h from DirectX SDK). + Enable `direct' sound driver (DirectSound on Win32, OSS on Linux). --enable-dinput - Enable DirectInput driver (need dinput.h from DirectX SDK). + Enable `direct' input driver (DirectInput on Win32, Evdev on Linux). ---disable-wave - Disable WAVE sound driver. +--enable-openal + Enable OpenAL sound engine (OpenAL driver will be dynamically loaded + at run time, just like OpenGL driver). +--disable-snddma + Disable DMA sound engine. Can't be used without `--enable-openal'. -Linux specific ------------------- ---disable-oss - Disable OSS sound driver. ---disable-evdev - Disable Evdev input driver. - - -External libraries +External libraries (mostly client) ------------------ --disable-zlib Do not link against zlib. Not recommended for client builds, as - this will break network protocol compatibility with some servers, + this will break network protocol compatibility with some servers. --enable-png - Link against PNG library. + Enable PNG textures by linking against libpng. + +--enable-jpg + Enable JPEG textures by linking against libjpeg. + +--enable-curl + Enable HTTP downloads by linking against libcurl. ---enable-jpeg - Link against JPEG library. +--enable-lirc + Enable LIRC input by linking against liblirc_client. Paths configuration ------------------ --single-user - Build single user executables meant to be manually installed into user - home directory, just like the original Quake 2 release did. + Build single user executables meant to be manually installed into the user + home directory, just like the original Quake 2 release did. Useful for running + Quake 2 server under the limited user account, and not recommended for anything + else. --prefix=PREFIX [/usr/local] Prepend PREFIX to the all paths specified below (except of --homedir). @@ -1 +1,8 @@ -Please see Q2PRO wiki at http://q2pro.sf.net/ for more information. +For building Q2PRO, consult the INSTALL file. + +For information on using and configuring Q2PRO, please see the Q2PRO wiki. + +Wiki is availabe in the plain text format in the wiki/ subdirectory +of Q2PRO source distribution, or in the HTML format at the following URL: + +http://skuller.net/q2pro/ diff --git a/README.lirc b/README.lirc new file mode 100644 index 0000000..7e8af10 --- /dev/null +++ b/README.lirc @@ -0,0 +1,94 @@ +# Example of .lircrc file for controlling Q2PRO. +# +# Commands prefixed with @ simulate Quake 2 keypresses, +# and are useful for menu navigation. Commands without @ prefix +# are just executed directly as if typed manually at the console. +# +# Config example below is already useful for some simple MVD +# playback or GTV watching, just replace mceusb with your remote +# contol name and fix the button names. + +begin + prog = q2pro + remote = mceusb + button = Up + config = @UPARROW +end + +begin + prog = q2pro + remote = mceusb + button = Down + config = @DOWNARROW +end + +begin + prog = q2pro + remote = mceusb + button = Left + config = @LEFTARROW +end + +begin + prog = q2pro + remote = mceusb + button = Right + config = @RIGHTARROW +end + +begin + prog = q2pro + remote = mceusb + button = Back + config = @ESCAPE +end + +begin + prog = q2pro + remote = mceusb + button = Home + config = cmd score +end + +begin + prog = q2pro + remote = mceusb + button = Guide + config = cmd menu +end + +begin + prog = q2pro + remote = mceusb + button = Star + config = pushmenu game +end + +begin + prog = q2pro + remote = mceusb + button = Stop + config = killserver +end + +begin + prog = q2pro + remote = mceusb + button = Record + config = screenshot +end + +begin + prog = q2pro + remote = mceusb + button = Pause + config = pause +end + +begin + prog = q2pro + remote = mceusb + button = Power + config = quit +end + diff --git a/debian/control b/debian/control index a99e1c4..b34f7db 100644 --- a/debian/control +++ b/debian/control @@ -1,15 +1,17 @@ Source: q2pro Section: contrib/games Priority: optional -Maintainer: Andrey Nazarov <skuller@skuller.ath.cx> -Build-Depends: cdbs, debhelper (>= 7), libx11-dev, libsdl1.2-dev, - libpng12-dev, libjpeg62-dev, zlib1g-dev, mesa-common-dev +Maintainer: Andrey Nazarov <skuller@skuller.net> +Build-Depends: cdbs, debhelper (>= 7), libx11-dev, libsdl1.2-dev, libopenal-dev, + libpng12-dev, libjpeg62-dev, zlib1g-dev, mesa-common-dev, liblircclient-dev, + libcurl4-gnutls-dev | libcurl4-openssl-dev Standards-Version: 3.8.1 -Homepage: http://skuller.ath.cx/q2pro/ +Homepage: http://skuller.net/q2pro/ Package: q2pro-client Architecture: any Depends: ${shlibs:Depends}, q2pro-common (= ${binary:Version}) +Recommends: libopenal1, libgl1-mesa-glx | nvidia-glx Description: Enhanced Quake 2 engine (graphical client) Q2PRO is a Quake 2 engine modification designed for online play, fully compatible with original Quake 2 clients and servers. diff --git a/debian/docs b/debian/docs index e845566..1506838 100644 --- a/debian/docs +++ b/debian/docs @@ -1 +1,3 @@ README +README.lirc +CHANGES diff --git a/debian/rules b/debian/rules index 33ae652..bef08f8 100755 --- a/debian/rules +++ b/debian/rules @@ -6,5 +6,6 @@ include /usr/share/cdbs/1/class/autotools.mk DEB_DH_INSTALL_SOURCEDIR := debian/tmp DEB_CONFIGURE_NORMAL_ARGS := --prefix=$(DEB_CONFIGURE_PREFIX) --cpu=$(DEB_HOST_GNU_CPU) \ - --enable-png --enable-jpg --enable-dsound --enable-dinput --enable-server --enable-anticheat --enable-baseq2 + --enable-png --enable-jpg --enable-dinput --enable-openal --enable-lirc --enable-curl \ + --enable-server --enable-anticheat --enable-baseq2 @@ -17,7 +17,7 @@ increased security and overall performance, basic built-in demo editing capabilities, built-in server and demo browsers. .PP This version of Q2PRO requires a 3D graphics accelerator to play. -Q2PRO uses SDL for video output and SDL/OSS for sound output. +Q2PRO uses SDL/OpenGL for video output and SDL/OSS/OpenAL for sound output. .SH "OPTIONS" .PP Commands given on the command line start with a `+', and continue until @@ -38,14 +38,15 @@ Show version and exit. .PP .IP "\fB/etc/default/q2pro\fP" 7 System wide configuration file. The first one to be executed. -.IP "\fB/usr/share/games/quake2\fP" 7 -Root of the static Quake 2 game data hierarchy. -.IP "\fB/usr/lib/games/quake2\fP" 7 -Quake 2 game mod shared libraries. -.IP "\fB~/.q2pro\fP" 7 -User's local data hierarchy. Overrides system hierarchy. -Any dynamic data Q2PRO produces (savegames, screenshots, demos, etc) -is written here. +.IP "\fB/usr/share/games/q2pro/\fP" 7 +Root of the static Quake 2 game data hierarchy. Various game media is installed +here, either as individual files, or in form of (possibly compressed) packfiles. +.IP "\fB/usr/lib/games/q2pro/\fP" 7 +Quake 2 game mod shared libraries are installed here. +.IP "\fB~/.q2pro/\fP" 7 +User's local data hierarchy. Overrides system hierarchy. Any dynamic +data Q2PRO produces (savegames, screenshots, demos, downloads, etc) is written here. +Game mod libraries are \fBnever\fP loaded from here for security reasons. .SH "BUGS" .PP @@ -55,10 +56,10 @@ various subsystems are loaded. They are not yet documented here. Q2PRO graphical menu subsystem is incomplete. .SH "AUTHOR" .PP -Quake 2 engine was written by ID Software, Inc. -Q2PRO was written by Andrey Nazarov <skuller@skuller.ath.cx>. +Quake 2 engine is Copyright (C) 1997-2001 Id Software, Inc. +Q2PRO is Copyright (C) 2003-2010 Andrey Nazarov <skuller@skuller.net>. .PP -This manual page was written by Andrey Nazarov <skuller@skuller.ath.cx> for +This manual page was written by Andrey Nazarov <skuller@skuller.net> for the \fBDebian\fP system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any |