diff --git a/doc/bind.txt b/doc/bind.txt index a7a43c132..a5566d7a9 100644 --- a/doc/bind.txt +++ b/doc/bind.txt @@ -1,3 +1,8 @@ +//unfortunately, have to wrap the docs in a C comment for doxygen +/** +\page key_binding New Bind System + +\verbatim To: Colin Thompson Subject: Re: toggle console problem From: Bill Currie @@ -74,3 +79,5 @@ PS: incase nobodie's noticed: chat now has input history. just use the up/down arrow keys. -- Leave others their otherness. -- Aratak +\endverbatim +*/ diff --git a/doc/cshifts.txt b/doc/cshifts.txt index 1020957f0..3514906a9 100644 --- a/doc/cshifts.txt +++ b/doc/cshifts.txt @@ -1,27 +1,33 @@ +//unfortunately, have to wrap the docs in a C comment for doxygen +/** +\page cshift_cvars cshift control + New cvars: -cl_cshift_bonus: Set to 0 to disable bonus flashes. -cl_cshift_contents: Set to 0 to disable content blends. -cl_cshift_damage: Set to 0 to disable damage blends. -cl_cshift_powerup: Set to 0 to disable powerup (quad, pent, etc) blends. +\li cl_cshift_bonus: Set to 0 to disable bonus flashes. +\li cl_cshift_contents: Set to 0 to disable content blends. +\li cl_cshift_damage: Set to 0 to disable damage blends. +\li cl_cshift_powerup: Set to 0 to disable powerup (quad, pent, etc) blends. All of these cvars work for both GL and software, and all of them check the value of the "cshifts" serverinfo. cshifts is a bit field, with the following bits defined: -bonus: 1 -contents: 2 -damage: 4 -powerup: 8 +\li bonus: 1 +\li contents: 2 +\li damage: 4 +\li powerup: 8 An admin can force any of these to be respected by choosing the numbers of the cshifts to be enforced, and adding them up. examples: - +\verbatim serverinfo cshifts 15 - +\endverbatim turns them all on. +\verbatim serverinfo cshifts 10 - +\endverbatim turns on powerup and contents shifts. +*/ diff --git a/doc/faq.txt b/doc/faq.txt index bf1b47b98..bb04925b1 100644 --- a/doc/faq.txt +++ b/doc/faq.txt @@ -4,7 +4,7 @@ \li \ref gfx_wad \li \ref pak0_pak -\li \ref svn_compile_error +\li \ref git_compile_error \section gfx_wad What does "W_LoadWadFile: unable to load gfx.wad" mean? The most common cause of this error is QuakeForge is unable to find @@ -25,11 +25,11 @@ href="http://www.idsoftware.com/store/index.php?view=quake">id Software or you can use OpenQuartz, a project developing GPL compatable game data for Quake. -\section svn_compile_error Checking out svn and running ./bootstrap creates a configure that syntax errors when I run it! What's wrong? -Unlike downloading and compiling a release, when you checkout svn, you must -have all the dependencies of quakeforge already installed as when configure -is being created autotools sources m4 files... If the files do not exist, -you get the error you have seen. Try installing packages which contain the -libraries that caused the syntax error, including the -dev versions, then +\section git_compile_error Checking out git and running ./bootstrap creates a configure that syntax errors when I run it! What's wrong? +Unlike downloading and compiling a release, when you checkout from git, you +must have all the dependencies of quakeforge already installed as when +configure is being created autotools sources m4 files... If the files do not +exist, you get the errors you have seen. Try installing packages which contain +the libraries that caused the syntax error, including the -dev versions, then recreate configure using bootstrap and try again. */ diff --git a/doc/quakeforge.dox.in b/doc/quakeforge.dox.in index 029b7dcf5..bf8aa5db7 100644 --- a/doc/quakeforge.dox.in +++ b/doc/quakeforge.dox.in @@ -25,13 +25,13 @@ DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. -PROJECT_NAME = @PROGRAM@ +PROJECT_NAME = @PACKAGE_NAME@ # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = @VERSION@ +PROJECT_NUMBER = @PACKAGE_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -587,9 +587,16 @@ INPUT += @top_srcdir@/nq INPUT += @top_srcdir@/qtv INPUT += @top_srcdir@/qw INPUT += @top_srcdir@/tools -INPUT += @top_srcdir@/doc/quakeforge.txt +INPUT += @top_srcdir@/doc/bind.txt +INPUT += @top_srcdir@/doc/connect.txt +INPUT += @top_srcdir@/doc/cshifts.txt INPUT += @top_srcdir@/doc/faq.txt INPUT += @top_srcdir@/doc/mapformat.txt +INPUT += @top_srcdir@/doc/quakeforge.txt +INPUT += @top_srcdir@/doc/qw-cap-spec.txt +INPUT += @top_srcdir@/doc/qw-download-spec.txt +INPUT += @top_srcdir@/doc/surround-sound.txt +INPUT += @top_srcdir@/doc/timestamps.txt # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/doc/quakeforge.txt b/doc/quakeforge.txt index 77543ad5c..eeaae6ba1 100644 --- a/doc/quakeforge.txt +++ b/doc/quakeforge.txt @@ -1,10 +1,17 @@ //unfortunatly, have to wrap the docs in a C comment for doxygen /** \mainpage QuakeForge -QuakeForge is a 3D graphics game engine based on id Software's legendary + +QuakeForge is a 3D graphics game engine based on +id Software's legendary Quake and QuakeWorld game engine. Our purpose? To improve the state of the game by improving the engine and making it accessable to the largest number of players we can. -\ref faq +\li \ref faq +\li \ref key_binding +\li \ref cshift_cvars +\li \ref qw_cap_spec +\li \ref qw_download_spec +\li \ref server_timestampes */ diff --git a/doc/qw-cap-spec.txt b/doc/qw-cap-spec.txt index 18c95bf10..7bcb18500 100644 --- a/doc/qw-cap-spec.txt +++ b/doc/qw-cap-spec.txt @@ -1,23 +1,28 @@ +//unfortunately, have to wrap the docs in a C comment for doxygen +/** +\page qw_cap_spec QW Capabilities String + Client capabilities are specified using the "*cap" info key. The info string is made up of single char flags (possibly with modifiers, though currently none exist). Defined capabilities (* = not implemented): -z client can accept gzipped files. -h http transfers -f * ftp transfers -a * audio channel (voice chat) -i * irc -p pogo stick control -t team messages +\li z client can accept gzipped files. +\li h http transfers +\li f * ftp transfers +\li a * audio channel (voice chat) +\li i * irc +\li p pogo stick control +\li t team messages -For more information on z and h, see qw-download-spec.txt. +For more information on z and h, see \ref qw_download_spec. The QuakeForge clients will not send "*cap" to the server unless "QF" or "EXT" is detected in the challenge string sent by the server. From the QuakeForge quakeworld server: +\verbatim if (sv_extensions->int_val) { extended = " QF qtv EXT"; } @@ -25,3 +30,5 @@ From the QuakeForge quakeworld server: // send it to the client Netchan_OutOfBandPrint (net_from, "%c%i%s", S2C_CHALLENGE, svs.challenges[i].challenge, extended); +\endverbatim +*/ diff --git a/doc/qw-download-spec.txt b/doc/qw-download-spec.txt index a4fe34367..9c0f145d2 100644 --- a/doc/qw-download-spec.txt +++ b/doc/qw-download-spec.txt @@ -1,7 +1,13 @@ +//unfortunately, have to wrap the docs in a C comment for doxygen +/** +\page qw_download_spec QW Download Specification + client has 'h' flag in "*cap" info string format of svc_download message: +\verbatim ([url (string)] [newname (string)] | [data]) +\endverbatim size and percent are always present. @@ -16,23 +22,25 @@ currently used for gzipped transfers, but there are plans to enable whole pak downloads (similar to RTCW and ET)). size is the number of data bytes in the message (if >= 0) or a special flag: --1 file not found. download aborted --2 download filename is not what was requested (in QF, this is because +\li -1 file not found. download aborted +\li -2 download filename is not what was requested (in QF, this is because the file has been gzipped and has the .gz extension). In this case, newname is in the message. Currently, QF checks newname to ensure the only modification is the addition of an extension. --3 http redirect. url is always present and is the full url to download. +\li -3 http redirect. url is always present and is the full url to download. If the download name is the same as the requested name, newname will be the empty string (""), otherwise it contains the new name of the file. See -2. QF #defines for the above values: +\verbatim #define DL_NOFILE -1 #define DL_RENAME -2 #define DL_HTTP -3 +\endverbatim Pseudo-code representing client side handling of svc_download -======== +\verbatim CL_ParseDownload { size = MSG_ReadShort (net_message); @@ -65,11 +73,10 @@ CL_ParseDownload } normal download processing } -======== +\endverbatim -NOTES: -While the QF quakeworld server simply appends the requested file's path to the -given url base, with the addition of a '/' (eg, "maps/foo.map" to +\note While the QF quakeworld server simply appends the requested file's path +to the given url base, with the addition of a '/' (eg, "maps/foo.map" to "http://server/downloads", giving "http://server/downloads/maps/foo.map"), so long as it is reasonable for the client to not rename the download file, there is no requirement for the full url to match the requested name in any manner, @@ -77,12 +84,11 @@ and newname can be left as empty (""). However, if the client must rename the file, set newname to the new name. The extension checking is done as a security measure. -Currently, the only reason QF renames a download is if it found eg +\note Currently, the only reason QF renames a download is if it found eg "maps/foo.map.gz" instead of "maps/foo.map" (2:1 to 3:1 compression on maps is nice). This is the basis of the extension checking the QF clients do. -TODO: -[this has no bearing on the protocol itself] +\todo [this has no bearing on the protocol itself] One good reason for the name being quite different is when the requested file is part of a pak file (and downloading the pak file is permitted), the entire pak file can be sent instead. QF does not yet do this, but it should be easy @@ -91,3 +97,4 @@ downloading is permitted, do a rename (-2 for non-http, set newname in http) and send that instead. The client can check for a ".pak" extension in the rename, permit it, and then cause a rescan of the game directory in order to pick up the new pak file. +*/ diff --git a/doc/surround-sound.txt b/doc/surround-sound.txt index 7d2d15ede..6458ef8ab 100644 --- a/doc/surround-sound.txt +++ b/doc/surround-sound.txt @@ -1,10 +1,15 @@ +//unfortunately, have to wrap the docs in a C comment for doxygen +/** +\page surround_sound_spec Description of Surround-Sound Channels + Swiped from the vorbis docs - * one channel - the stream is monophonic - * two channels - the stream is stereo. channel order: left, right - * three channels - the stream is a 1d-surround encoding. channel order: left, center, right - * four channels - the stream is quadraphonic surround. channel order: front left, front right, rear left, rear right - * five channels - the stream is five-channel surround. channel order: front left, center, front right, rear left, rear right - * six channels - the stream is 5.1 surround. channel order: front left, center, front right, rear left, rear right, LFE - * seven channels - the stream is 6.1 surround. channel order: front left, center, front right, side left, side right, rear center, LFE - * eight channels - the stream is 7.1 surround. channel order: front left, center, front right, side left, side right, rear left, rear right, LFE - * greater than eight channels - channel use and order is undefined +\li one channel - the stream is monophonic +\li two channels - the stream is stereo. channel order: left, right +\li three channels - the stream is a 1d-surround encoding. channel order: left, center, right +\li four channels - the stream is quadraphonic surround. channel order: front left, front right, rear left, rear right +\li five channels - the stream is five-channel surround. channel order: front left, center, front right, rear left, rear right +\li six channels - the stream is 5.1 surround. channel order: front left, center, front right, rear left, rear right, LFE +\li seven channels - the stream is 6.1 surround. channel order: front left, center, front right, side left, side right, rear center, LFE +\li eight channels - the stream is 7.1 surround. channel order: front left, center, front right, side left, side right, rear left, rear right, LFE +\li greater than eight channels - channel use and order is undefined +*/ diff --git a/doc/timestamps.txt b/doc/timestamps.txt index 328823e1b..899ccbda6 100644 --- a/doc/timestamps.txt +++ b/doc/timestamps.txt @@ -1,77 +1,81 @@ +//unfortunately, have to wrap the docs in a C comment for doxygen +/** +\page server_timestampes Server Log Timestamps + To enable time-stamped messages in the server, set the Cvar sv_timestamps to a value other than 0. When enabled, the string Cvar sv_timefmt is used to format the date and time. The following special codes are interpreted inside sv_timefmt strings. - %a The abbreviated weekday name according to the cur­ - rent locale. - - %A The full weekday name according to the current + \%a The abbreviated weekday name according to the current locale. - %b The abbreviated month name according to the current + \%A The full weekday name according to the current locale. - %B The full month name according to the current + \%b The abbreviated month name according to the current locale. - %c The preferred date and time representation for the + \%B The full month name according to the current + locale. + + \%c The preferred date and time representation for the current locale. - %d The day of the month as a decimal number (range 01 + \%d The day of the month as a decimal number (range 01 to 31). - %h Equivalent to %b. (SU) + \%h Equivalent to %b. (SU) - %H The hour as a decimal number using a 24-hour clock + \%H The hour as a decimal number using a 24-hour clock (range 00 to 23). - %I The hour as a decimal number using a 12-hour clock + \%I The hour as a decimal number using a 12-hour clock (range 01 to 12). - %j The day of the year as a decimal number (range 001 + \%j The day of the year as a decimal number (range 001 to 366). - %k The hour (24-hour clock) as a decimal number (range + \%k The hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a blank. (See also %H.) (TZ) - %m The month as a decimal number (range 01 to 12). + \%m The month as a decimal number (range 01 to 12). - %M The minute as a decimal number (range 00 to 59). + \%M The minute as a decimal number (range 00 to 59). - %p Either `AM' or `PM' according to the given time + \%p Either `AM' or `PM' according to the given time value, or the corresponding strings for the current locale. Noon is treated as `pm' and midnight as `am'. - %S The second as a decimal number (range 00 to 61). + \%S The second as a decimal number (range 00 to 61). - %U The week number of the current year as a decimal + \%U The week number of the current year as a decimal number, range 00 to 53, starting with the first Sunday as the first day of week 01. See also %V and %W. - %w The day of the week as a decimal, range 0 to 6, + \%w The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u. - %W The week number of the current year as a decimal + \%W The week number of the current year as a decimal number, range 00 to 53, starting with the first Monday as the first day of week 01. - %x The preferred date representation for the current + \%x The preferred date representation for the current locale without the time. - %X The preferred time representation for the current + \%X The preferred time representation for the current locale without the date. - %y The year as a decimal number without a century + \%y The year as a decimal number without a century (range 00 to 99). - %Y The year as a decimal number including the century. + \%Y The year as a decimal number including the century. - %Z The time zone name or abbreviation. + \%Z The time zone name or abbreviation. - %% A literal `%' character. - + \%\% A literal `\%' character. +*/