link the existing documentation into the doxygen docs

This commit is contained in:
Bill Currie 2010-08-19 20:03:50 +09:00
parent 669771681a
commit 43114f5e92
9 changed files with 128 additions and 78 deletions

View file

@ -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
*/

View file

@ -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.
*/

View file

@ -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</a> or
you can use <a href="http://openquartz.sourceforge.net/">OpenQuartz</a>, 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.
*/

View file

@ -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

View file

@ -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
<a href="http://www.idsoftware.com/">id Software's</a> 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
*/

View file

@ -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
*/

View file

@ -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
<size (short)> <percent (byte)> ([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.
*/

View file

@ -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
*/

View file

@ -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.
*/