Welcome to the Quake Technical Information file!

TABLE OF CONTENTS
-----------------
Introduction to the Console..............
Video Subsystem Documentation............
Sound Subsystem Documentation............
CD Audio Subsystem Documentation.........
Network Subsystem Documentation..........
Modem Strings............................
Win95 Documentation......................
Key Binding and Aliases..................
Quake Keys and Common Commands...........
Making a Config File.....................
Reporting Quake Bugs.....................


==========================================
==     Introduction to the Console      ==
==========================================

Throughout this document, examples of commands are given, all of which
are typed in at the console. To bring up the console, press the tilde ('~')
key or press ESC to bring up the menu, select Options, and select Console...
from the options menu. To exit the console, press ESC.

The console provides a way to change console variables and also accepts
commands that change game settings such as movement keys, video mode, as
well as providing an interface for key binding and command aliasing (more
on that later).

The console also has a command history with which you can browse through
previous commands. Use the up and down arrows to navigate through the
command history and press <enter> to re-issue a command.

Partially typing a command and then pressing the TAB key will complete the
currently typed text with the first matching console variable or command.
(Yes, this is a good way to look for console commands.)

To review previous actions by page, use the PGUP and PGDN keys.


==========================================
==    Video Subsystem Documentation     ==
==========================================

Quick start
-----------

Video modes can be inspected and changed only from the console; there
is no menu interface for video mode-related stuff.

To see all the video modes that are available, bring up the console (either
press tilde ('~'), or press Esc to bring up the menu, select Options, and
select Console... from the Options menu).

From the console, type vid_describemodes<enter> to see all available modes.
Type vid_mode <mode #> to set a mode, where <mode #> is the mode number
listed for the desired mode by vid_describemodes.  Higher-resolution modes
generally require more extra system memory in order to run, and many are
not available in 8 Mb systems, even though they will still show up in
the mode list from vid_describemodes.  If you try to set a mode for which
there is insufficient system memory, you will receive a message to that
effect, and the mode will remain unchanged.

See "Bug Reporting," below, for information on how to report any
problems you encounter.


More detail
-----------

This version of Quake supports software drawing in a variety of
video modes.  It does not support any 3-D hardware accelerators.
Video modes that are build into Quake are:

320x200, 360x200, 320x240, 360x240, 320x350, 360x350, 320x400,
360x400, 320x480, 360x480

However, the higher-resolution modes on this list require additional
memory, and may not be available in 8 Mb systems.

In addition, all VESA 2.0 256-color linear framebuffer modes
supported by the video adapter are supported.  Further information
about VESA 2.0 is provided below.


Video mode reporting and selection
----------------------------------

Quake assigns each available video mode a mode number, which can
then be used to query information about the mode or to select the
mode.  The first 11 mode numbers are always as follows:

0:  320x200
1:  320x200
2:  360x200
3:  320x240
4:  360x240
5:  320x350
6:  360x350
7:  320x400
8:  360x400
9:  320x480
10: 360x480

You will notice that modes 0 and 1 are both 320x200; mode 1 is a
Mode X-style version, which may someday allow support of page
flipping for cleaner graphics, but right now it's just slower with
no advantages, so use mode 0 for 320x200 resolution.  Modes 2-10
are all higher resolution than mode 0, and look very nice, but are
also all slower than mode 0.  Mode 0 is the fastest of the 11
built-in modes.

In addition to the built-in modes, Quake checks for the presence
of a VESA version 2.0 driver.  If such a driver is detected, the
driver is queried for all 8-bit-per-pixel linear framebuffer (LFB)
modes that are supported; also, if no LFB 320x200 mode is available,
a banked 320x200 VESA mode is queried for.  All such modes are added
to the mode list starting at mode 11.  The available modes will vary
depending on adapter, graphics chipset, amount of memory, and VESA 2.0
driver.  The higher the resolution, the lower the performance, and the
higher-resolution modes will often be too slow for good gameplay
on most machines.  (Also, higher-resolution modes often need more memory
than is available in an 8 Mb system.)  The screen can be sized down to
improve performance in higher-resolution modes, but then of course the
effective resolution of Quake is reduced.

At the same resolution, VESA LFB modes are often faster than the non-VESA
modes 0-10, because adapters often have faster memory access in LFB modes.

If a given VESA mode can support page flipping, then it defaults to page-
flipped operation.  A VESA mode can be forced to non-page-flipped operation
by setting the vid_nopageflip console variable to 1, then setting the mode
(note that vid_nopageflip takes operation on the next, not the current, mode
set).  If there is not enough memory for two pages in a VESA mode, or if the
adapter doesn't support page flipping, then the mode will automatically
be non-page-flipped.  Page flipping can have higher visual quality, but may
be either faster or slower, depending on the graphics adapter and other
hardware.  (See the discussion of the Pentium Pro, below, for a
discussion of why page flipping can be faster but is sometimes much slower
on that processor.)  Page-flipped modes use less system memory than non-
page-flipped modes.

Quake's VESA support, including VESA driver detection, can be disabled by
using the -stdvid command-line switch.

The maximum resolution supported by Quake is 1280x1024.  Modes with higher
resolutions will not be reported by vid_describemodes, and cannot be set.

There is no support for any 3-D accelerator boards in this version of Quake.
Coming soon.

Quake always starts up in mode 0, and modes 0-10 are always available, given
enough system memory.


How to get VESA 2.0 support
---------------------------

Some video adapters have VESA 2.0 support in ROM.  Other video
adapters come with loadable VESA 2.0 TSRs.  In the absence of either
of these, UniVBE, a shareware product from SciTech, provides VESA 2.0
support for most video adapters.  The latest version of UniVBE can be
obtained from the following locations:

www: http://www.scitechsoft.com
ftp: ftp.scitechsoft.com
CIS: GO SCITECH
AOL: Keyword SciTech

SciTech can be contacted at:

email: sales@scitechsoft.com

SciTech Software
5 Governors Lane, Suite D
Chico, CA
95926-1989

The current version at this writing is UniVBE 5.2.  This version
supports many more adapters than previous versions, and adds
a number of useful low- and medium-resolution modes, such as 512x384.


Video-related commands
----------------------

vid_describecurrentmode
   lists the description for the current video mode.

vid_describemode <mode #>
   lists the description for the specified video mode, where <mode #> is as
   reported by vid_describemodes.

vid_describemodes
   lists descriptions for all available video modes.

vid_mode <mode #>
   sets the display to the specified mode, where <mode #> is as reported by
   vid_describemodes.

vid_nopageflip
   when set to 1, VESA mode sets will always select non-page-flipped
   operation.  When set to 0, VESA mode sets will select page-flipped
   operation whenever possible.  All non-VESA modes are always
   non-page-flipped.

vid_nummodes
   reports the total number of modes available.

vid_testmode <mode #>
   tries to switch Quake to the specified mode, then returns to the current
   mode after 5 seconds.  This allows you to try an untested mode without
   ending up with a black screen if, for example, the monitor can't display
   the mode properly.  There may still be instances in which, due to VESA
   driver or hardware bugs, the machine will hang in certain modes;
   vid_testmode can't recover from these situations, but it can recover
   from a blank or scrambled screen.

vid_wait <wait type>
  sets the type of waiting that the video adapter should do, as follows:
  0: no waiting
  1: wait for vertical sync active
  2: wait for display enable active

The default state of vid_wait depends on the video mode selected.
In built-in modes 0-10, the default is always 0, no waiting.  You
can set vid_wait to 1 (wait for vertical sync) to eliminate shear
and tearing in these modes (so partially-completed frames are never
drawn, resulting in a rock-solid image).  However, waiting for
vertical sync can result in substantial performance loss.

In VESA modes, if the adapter is VGA compatible and there's enough
memory for three video pages, then triple-buffering is enabled and
vid_wait is set to 2, wait for display enable.  There is little
performance loss to this sort of waiting.  If the adapter is not
VGA compatible, or if there's only enough memory for double-buffering,
then vid_wait is set to 1 (wait for vertical sync).  This can cause
significant loss of performance, but some sort of wait is generally
necessary to avoid occasional glitching of the screen when
page-flipping; we always choose the lowest-cost wait option that
seems to be safe to use.  If there's only enough memory for one
page, or if vid_nopageflip 1 is in effect, then vid_wait is set to 0
(no wait).  As with modes 0-10, vid_wait 1 can be used to eliminate
shear, but at a performance cost.

We have encountered problems with a few adapters in VESA modes when
vid_wait is set to 2 (wait for display enable).  Apparently some adapters
just toggle display enable all the time, rather than only when pixels
are being sent to the screen; this can cause occasional glitches in
which the screen image jumps for one frame.  You can fix this by
setting vid_wait to 1 (wait for vertical sync).  We would have made
vid_wait 1 the default, but it's slower, and vid_wait 2 works on most
machines.

The default setting for vid_wait can be changed from the console
at any time.  If you are in a VESA mode that waits for vertical
sync and want to turn it off to get a speed-up, you can do so.
However, changing a vid_wait 1 default in a VESA mode may result
in problems.  If vid_wait defaults to 1 (wait for vertical sync)
in a mode, and you force it to 2 (wait for display enable), the
machine may hang, because some VGA-incompatible adapters, such as
some ATI Mach64s, don't support the display enable status.  If you
force vid_wait to 0 (no wait), then the screen may glitch periodically
if the page flips at a time that results in a bad flip address,
although some adapters work fine with no wait at all.

If you force a new setting for vid_wait and encounter problems, DO
NOT send us a bug report!


Setting the video mode automatically
------------------------------------

If you want to default to a mode other than mode 0, place the line:

vid_mode <mode #>

in your .cfg file; the mode will be selected when you exec the .cfg
file, either from the console or with +exec <filename>.cfg on the
command line when you start Quake.  Note that if you use the .cfg
file on another machine, it may cause problems if the other machine
doesn't support the specified mode; the mode set should merely
fail, but bugs in the VESA driver or the hardware can possibly
cause the machine to hang.  You can always get the machine to
function properly by removing the vid_mode line from the .cfg file,
or not execing the .cfg file.


Higher-quality perspective texture mapping
------------------------------------------

For maximum speed, perspective correction is performed only every 16
pixels.  This is normally fine, but it is possible to see texture ripples
in surfaces that are viewed at sharp angles.  For more precise texture
mapping, set the console variable d_subdiv16 to 0.  Doing this will result
in somewhat slower performance, however, and the difference in visual
quality will not normally be noticeable.


Known video problems and workarounds
------------------------------------

If you think you've encountered a bug, see "Bug Reporting," below.
As a general rule, go back to mode 0 if you have problems; mode 0
should work properly in all cases.

On some ATI Mach64 adapters, the palette is sometimes too dark in
some VESA modes, and is tinted oddly (too red, for example) in other
modes.  The workaround is to use different modes, or modes 0-10.

In modes 0-10, shear and tearing can occur as partially finished
frames are displayed.  Workaround:  set vid_wait to 1 (wait for
vertical sync); this can result in a substantial performance loss,
however.  An alternative is to use a page-flipped VESA mode.

In page-flipped VESA modes, occasional glitched frames may occur with some
VESA driver-hardware combinations.  Workaround:  set vid_wait to 1 (wait
for vertical sync), or use a different mode.

Under Win 95, the palette occasionally gets messed up when switching from
Quake to the desktop and back again.  You can restore the palette by
bringing down the console (either press tilde ('~'), or press Esc to bring
up the menu, select Options, and select Console... from the Options menu),
and typing bf and pressing the enter key, to generate a background flash,
which sets the palette.  Press Esc to exit the console.  Alternatively,
setting the screen brightness, either from the Options menu or via the
gamma console variable, sets the palette.

Under Win 95, if the system key (the key with the Win 95 flag on it) is
pressed while Quake is running fullscreen in a VESA mode, Win 95 may be
unable to switch back from the desktop to Quake, in which case it will
notify you of this, then terminate the Quake session.  This is a quirk
of Win 95, and there is no workaround other than not to press that key
or not to use VESA modes.  (Some people go so far as to remove the system
key from their keyboard.)  Switching away from Quake with Alt-Enter,
Ctrl-Esc, Alt-Tab, or Alt-Spacebar all work fine.


Performance
-----------

Quake's graphics should be adequately fast in mode 0 (320x200) on all
Pentium-class machines. If you feel Quake is running slowly, set the
showturtle console variable to 1; you will then see a turtle icon
appear in the upper left corner of the screen if the frame rate drops
below 10 frame/second.  If you are getting the turtle, you are probably
not getting great gameplay.  Performance can be improved in several ways:

* size down the screen with the minus key

* select a lower-resolution mode, if possible

* use a VESA mode

* if you're using a VESA mode and vid_wait is set to 1 (wait for
vertical sync) by default (you can check by typing vid_wait<enter>
in the console), you can try setting vid_wait to 0 or 2, as detailed
in the discussion of the vid_wait command above.  Be aware that
risks of screen glitching or hung machines are associated with
overriding a default vid_wait 1 setting in VESA modes.


Pentium Pro Performance
-----------------------

The Pentium Pro is a very fast Quake platform, but has one weak spot; it is
by default very slow on writes to video memory.  This means that in default
hardware configurations, you are usually much better off setting
vid_nopageflip to 1 if you use VESA modes, so drawing is done to system
memory instead of to video memory.  Remember that you must set the mode
after setting vid_nopageflip to 1 in order to get vid_nopageflip to take
effect.  (vid_nopageflip can sometimes be faster on a Pentium, too, but
not by nearly as much in general, and it's often slower.)

The Pentium Pro has some special features that are not turned on by default,
but which can help Quake performance a LOT.  These features can be enabled
by John Hinkley's program FASTVID, which can be obtained from
ftp://members.aol.com/JHinkley/fastvid.zip.  Performance in 640x480
mode on a Pentium Pro/150 nearly doubled after FASTVID was run; Quake
was very playable (and looked great!) at this resolution.

There's the usual caution with FASTVID:  It could conceivably make your
system run goofily, or who knows what.  FASTVID is not a product of
id Software, and id makes no guarantees regarding FASTVID. In other words,
use FASTVID at your own risk.

************************************************************************
IMPORTANT NOTE: FASTVID works only on Pentium Pros!!!  Please do NOT
contact either John Hinkley or id with problems concerning FASTVID on
Pentium or 486 machines.
************************************************************************


Bug Reporting
-------------

If you encounter a video-related bug, please fill out the form found at the
end of this file and e-mail it to support@idsoftware.com.  There are several
problems that are not bugs, and shouldn't be reported, including:

* unavailability of some VESA modes; VESA modes are only supported by
Quake if they are 8-bpp, are LFB modes (except for 320x200), and are
no greater than 1280x1024 in resolution.  If you have a VESA mode
that doesn't seem to be working properly, please contact the
manufacturer; we just use the information that the VESA driver
provides us with.

* problems that occur when you change vid_wait from a default value
of 1 (wait for vertical sync) in VESA modes

* sluggish performance on 486s

* the known palette problem on some Mach64s.

* the known palette problems switching from fullscreen to the desktop and
back under Win95.

* the known problems switching back from the desktop in VESA modes after the
system (Windows flag) key has switched from fullscreen to the desktop.

Apart from these, we would very much like to hear about any video
problems you encounter.


==========================================
==     Sound Subsystem Documentation    ==
==========================================

Quake's sound subsystem works only with Sound Blaster compatible sound
cards.  For Quake to get the correct settings for DMA channel and PORT
address, you must set your BLASTER environment variable (or have it set for
you with the DIAGNOSE utility in your SB16 directory).  If you do not have
the BLASTER environment variable set, your sound will not work.  If your
sound card supports Sound Blaster compatibility, Windows 95 should set this
variable for you.

Note:  some sound cards do not have 100% Sound Blaster compatible
hardware, but emulate the Sound Blaster interface.  Such cards may
display some inconsistencies relative to an actual sound blaster.
In particular, sound may be delayed, and hence lag, on the sound
cards in some laptops.

Note:  it is possible for sound to get choppy if the frame rate
drops to a very low level, below 5 frames a second.  A frame rate
that low will not provide a good gameplay experience, so if you
do experience choppy sound, your machine is almost certainly not
fast enough to run Quake satisfactorily in general.

If (when) you see bugs, please use the form attached to the end
of these docs to submit a bug report.

Sound Card Command Line Options, Commands, and Variables
==================================================================

The commands and variables below work under any operating system.
Command-Line options are typed on the command line in most any place
but only in operating systems which support command line interfaces,
like DOS's COMMAND.COM, or NEXTSTEP's or Linux's csh, sh, or bash.
For example, under DOS, the NOSOUND option would be used like this:
"C:> quake -nosound".

Command-Line Options
--------------------

NOSOUND
  Syntax: -nosound
  Description: This will prevent *any* sound code from being executed.  If
	you are having technical difficulty with the game and then try
	running the game with this option and the problem goes away, then
	the problem is probably somewhere in the sound code.

SSPEED
  Syntax: -sspeed <speed>
  Description: This will ask the sound code to set the playback speed
    within the constraints of the capabilities of the card.  This is
	11025 Hz by default and usually from 8000 to 44100.  Making this
	faster requires more CPU horsepower, and has no actual benefits,
	because the sounds only contain 11 KHz data.  Making this slower
	degrades sound quality, but improves performance and saves memory.

Commands
--------

SOUNDINFO
  Syntax: soundinfo
  Description: This prints the "portable" information on your current
        audio hardware setting in the game.  It specifies whether there is
        stereo output (0 or 1), the number of samples in the DMA buffer, the
        current sample position (changes each time you run SOUNDINFO and
        ranges from 0 to the number of samples), the number of sample bits,
	the submission chunk (1 in DOS or Linux w/ mmaped sound, larger in
	Linux w/o mmaped sound), playback speed in Hz, the DMA buffer address
	in hexadecimal (usually 8 digits after the 0x, starting with 0xf00..
	in DOS, starting with 0x400.. in Linux, and less than 8 digits if the
	hardware was not initialized successfully), and the number of
        channels mixed in software (8 by default, changeable w/NUMCHANNELS
        command).

STOPSOUNDS
  Syntax: stopsounds
  Description: Stops all further sound, including currently playing
        sounds.  


Sound Blaster Sound Card Command-Line Options and Commands
==========================================================

The following applies to Sound Blaster cards or compatibles under DOS
or a DOS box.

Commands
--------

SBINFO
  Syntax: sbinfo
  Description: This will print information on the Sound Blaster card
    in the system.  If the version is 4 or greater, then it is some
	kind of Sound Blaster 16 or compatible.  If less, then it is
	probably a Sound Blaster or Sound Blaster Pro or compatible.
	If the version is 3, then it will be reported as 2.  This is
	a hack that may be fixed later.  The port is the I/O port
	sensed from the A variable in the BLASTER environment variable.
	The DMA is the DMA channel and is confirmed in hardware if the
	card is version 4 or higher.  The mixer port can be ignored.


==========================================
==   CD Audio Subsystem Documentation   ==
==========================================

Overview
========
Quake is designed to play background music off of a CD-ROM.  The Quake CD has
music tracks on it and each level has been assigned a track that will be
played.

Win95 Users:  Putting a CD other than the Quake CD into the drive when Quake
is already running will sometimes cause another Windows application to start
and switch you back to Windows with Quake running in the background.  You
will probably want to stop whatever was started and switch back to Quake as
quickly as possible... especially if you are playing deathmatch.


Command Line Parameters
=======================
-nocdaudio
   This will prevent the CD audio system from even attempting to initialize.
   No CD commands or functions will be available.  The game will just run
   with no music.

-cdmediacheck
   This causes the game to periodically check to see if the CD has been
   removed and a new one placed in the player.  It is off by default since
   this operation is very slow on some CD players and is not needed under
   Win95.  There is normally no reason to enable this option; it would
   only be useful if you were going to be changing the CD from within the
   game on a regular basis.

Commands
========
There is normally no reason you would need to use any of these commands.  If
you are playing Quake with the Quake CD in your CD-ROM drive, the appropriate
music track will be played automatically.

cd on
   Re-enables the CD audio system after a "cd off" command.

cd off
   Shuts down the CD audio system.  No more music will be played unless it
   is re-enabled.

cd reset
   Causes the CD audio to re-initialize.  This is useful if you change
   CDs or insert the CD after you've already run Quake.

cd play <track number>
   Plays the specified track one time.

cd loop <track number>
   Plays the specified track.  It will be repeated until either it is
   manually stopped or another track is started.

cd stop
   Stops the currently playing track.

cd resume
   Will resume playback of a stopped track.

cd eject
   This is for CD players that do not have a manual eject button.

cd remap <track1> <track2> <track3> ...
   Allows you to switch what tracks are played.  This is especially useful
   if you want to play music other than that on the Quake CD.  If the CD
   audio system is told to play track 1, it will instead play the 1st
   track you specified.  For example: assuming a CD with 1 data track and
   8 music tracks, the command "cd remap 1 9 8 7 6 5 4 3 2" would leave
   the data alone and play the audio tracks as if they had been placed on
   the CD in the opposite order.

cd info
   Reports information such as the number and types of tracks on the current
   CD, what track (if any) is currently playing, and the playback volume.


Variables
=========
bgmvolume
   The background music volume.  Valid values are 0.0 though 1.0.  Changes
   will normally be made using the options menu.

   Not all CD-ROM players support variable volume.  The 0.0 to 1.0 value
   translated to a value from 0 to 255 before it is passed to MSCDEX.  How
   this value is interpreted varies from drive to drive.  The only thing
   required by the MSCDEX specification is that 0 is off and anything else
   is on.  Some CD-ROM drives only have on and off so change to bgmvolume
   will have have no effect on volume once it is on.


Messages
========
CDAudio_Init: MSCDEX version 2.00 or later required.
   MSCDEX was either not loaded, or is a version earlier than 2.00.

CDAudio_Init: First CD-ROM drive will be used
   MSCDEX reported that the system has more than one CD-ROM drive.
   Quake will always use the first drive in this case.

CDAudio_Init: Unable to allocate low memory.
   We were unable to allocate the memory needed to communicate with MSCDEX.
   Although the game can still run, this indicates a severe low memory
   condition.

CD Audio Initialized
   Indicates that the CD audio system has successfully initialized.

CDAudio_Play: Bad track number N.
   We attempted to play a track number that that is outside the range of
   tracks recorded on the CD currently in the CD-ROM drive.  Probable causes
   are that a CD other than Quake is in the player, or a custom level has
   specified an invalid track number.

CDAudio_Play: Can not play data.
   A valid track was requested to be played, but it was a not an audio track.
   The probable causes are the same as for a bad track number.

CDAudio_Play: track N failed
   A valid audio track was going to be played, but the play command to MSCDEX
   returned an error.

CDAudio: media changed
   This is simply a notification.  It can only occur if the "-cdmediacheck"
   option was specified on the command line.

CDAudio: Error - playback stopped N
   An error occurred while the CD was playing audio.  Playback has been
   stopped and no further automatic play will be attempted; the game will
   proceed without music.

CDAudio_Init: No CD in player.
   MSCDEX reported an error while Quake was attempting to get information
   about the current CD.  There is either no CD in the player, or it was
   unable to get the track information.  No automatic CD play will be
   attempted; the game will proceed without music.


==========================================
==    Network Subsystem Documentation   ==
==========================================

Overview
========

Quake is a client/server game.  You are always running over some type of
network.  In a standalone game, you are using a loopback network; it just
passes messages back and forth in memory buffers.  This readme is talking
about real networks and multiplayer deathmatches.  There are three main
sections: commands, LANs, and Serial.

Most normal configuration can be done via the game menus.

There are two types of Quake servers: dedicated and listen.  A listen server
is a machine that is used to play the game and also hosts the game for other
players.  A dedicated server only hosts the game; it runs in text mode and
does not let anyone play on that machine.  A single player game is really 
just a 1 player listen server that doesn't listen for network connections.

Dedicated vs Listen.  I'll try to make this simple: it is always better to
use a dedicated server.  Why? Fairness and playability.  With a listen
server, the person on the server always has advantages.  They will always be
the first person into a level, they will always have zero latency, and they
will get a server update on each and every frame.  On a dedicated server
everyone gets equal treatment.  Getting into the server is a first come,
first served proposition; latency is determined by each player's connection;
and everyone is sent the same number of updates.  It's about as fair as life
gets.  By the way, a good 486 machine works nicely as dedicated server.

Another suggestion.  Until there is a native Win95 version of Quake, IPX will
usually provide better gameplay on a local area network.  This is due to the
delicate balancing act that is required to let a DOS program use the Win95
TCP/IP stack.

To start a Dedicated Server, you invoke Quake with the "-dedicated"
command-line parameter.  When the server starts, you can type any command
that you would normally type in the Quake Console, such as "map e1m1" to
start the server on a specific map.  This can be done from the command-
line as well by typing "quake -dedicated +map e1m1".  If a value is entered
after "-dedicated", that is the amount of players allowed to connect, up
to a maximum of 16 players. A dedicated server will quit to the OS whenever
a fraglimit or timelimit is reached.  Example: "quake -dedicated 16" will
start a 16-player dedicated server.

To start a Listen Server, you invoke Quake with the "-listen" command-
line parameter, or use the Multiplayer menu in the game.  Starting a listen
server from the command-line will allow you to handle more than 4 players,
as 4 is the limit when starting a game from the Multiplayer menu.  If a
value is used after the "-listen", that is the maximum amount of players
allowed, up to 16 players.

Command Line Parameters, Commands, and Variables
================================================

Command line parameters
-----------------------
-nolan
   Disables both IPX and TCP/IP support.

-noudp
   Disables support for TCP/IP.

-udpport <port#>
   Specifies a UDP port to be used other than the default of 26000.

-noipx
   Disables support for IPX.

-ipxport <port#>
   Specifies a IPX port to be used other than the default of 26000.

-noserial
   Disable serial support.

-mpath
   Enables support for code to use Win95's TCP/IP stack.  Do NOT use this
   under DOS!


Console Variables
-----------------

net_messagetimeout
   Specifies how long Quake should wait for a message to arrive before
   deciding the connection has died.  The default is 3 minutes.  For
   reference, messages usually arrive at the rate of about 20 per second.

hostname
   This is the name for your server that will show up on an slist
   (see below).  The default value is "unnamed".

net_speeds
   Setting this variable to 1 will cause diagnostic network information
   to be displayed once per second.

sys_ticrate
   Only used by dedicated servers.  This determines the rate at which the
   server will send out updates to the clients.  The default value is 0.05
   (20 updatesper second).  For servers where bandwidth is limited, using
   modems or the internet for example, it is advisable to lower this value
   to 0.1 (10 updates per second).  This will have a very minor effect on
   responsiveness, but will half to outbound bandwitdh required making the
   modem players a lot happier.


Console commands
----------------

net_stats
   This is for debugging. It displays various network statistics.

slist
   Looks for Quake servers on a local LAN (or over a null modem
   cable).  This will NOT go outside the local LAN (will not cross
   routers).


LANs
====

Here are the LANs that are supported by the Quake test
release.  For each one, you'll be told how to connect to a server
*if it is not on your local network*.  If it is, you can use the
"slist" command and connect by hostname.  See the main readme for
a discussion of the connect command.

IPX
---

Quake has been run with Novell's ODI IPX stack under DOS, PDIPX with packet
drivers under DOS, and the Microsoft IPX stack in a Win95 DOS box.  When
connecting to a server using IPX, you specify its network:nodeaddress (like
12345678:1234567890AB).  If you are on the same network, you can just specify
the node address.  If you are doing a connect command from the console, a
full IPX address must be enclosed in quotes.

For example, the server's IPX address is "00FADE23:00aa00b9b5b2", you would
enter: connect "00FADE23:00aa00b9b5b2"

Win95 TCP/IP
------------

Please see the Win95 section of this file for details about playing using
TCP/IP under Win95.


Kali
----

To Quake, Kali appears to be IPX.  Once you've got Kali up and running, run
Quake as if it was on an IPX network.

Beame & Whiteside TCP/IP
------------------------

This is the only DOS TCP/IP stack supported in the test release.
It is not shareware...it's what we use on our network (in case you
were wondering why this particular stack).  This has been "tested"
*extensively* over ethernet and you should encounter no problems
with it.  Their SLIP and PPP have not been tested.  When connecting
to a server using TCP/IP (UDP actually), you specifiy it's "dot notation"
address (like 123.45.67.89).  You only need to specify the unique portion
of the adress.  For example, if your IP address is 123.45.12.34
and the server's is 123.45.56.78, you could use "connect 56.78".

Playing over the Internet
-------------------------
Yes, you can play Quake over the Internet.  How many people can be in
the game? That depends.  How smooth will the game be?  That depends.
There are just too many variables (bandwidth, latency, current load,
etc...) for us to make any kind of promises about Internet play.


Serial/Modem
============

The Quake serial driver supports two COM ports.  Although they are referred
to as COM1 and COM2, you can configure them to use any normal hardware
COM port (1 thru 4 on most PCs).  The com ports are used with interrupts,
so their IRQ may not be used for another purpose (such as a LAN adapter
or sound card).  The IRQ may not be shared with another device either;
not even another COM port.  A client can only be connected to one server
at a time, so multiple ports are really only useful on a server.
When using modems, the client must originate the call and the server
must answer.  This holds true even for a two player, non-dedicated
server configuration.

In the Multiplayer menu, the default modem string is "ATZ".  If your modem
games are too slow, you can change this string to the appropriate one for
your modem as listed below in the "Modem Strings" section.


The COMx commands
-----------------

There are two commands to support serial/modem play for Quake.  They
are: COM1 and COM2. Entering one of these commands with no arguments
will display the status of that serial port, similar to this:

Settings for COM1
enabled:   true
connected: false
uart:      16550
port:      3f8
irq:       4
baud:      57600
CTS:       honored
DSR:       honored
CD:        ignored
startup:   ATZ
shutdown:  ATH

When used with arguments, these commands change the settings and
status of the COM ports.  The possible arguments are listed below;
examples follow.

enable | disable
   "enable" means that your configuration is complete and you want to use
   the COM port.  "disable" is used to turn off a COM port, usually to
   change its settings.  The default (initial) state is disabled.


modem | direct
   Use one of these two to let Quake know if you are using a modem or a
   direct connection (also called a null modem).  Quake uses this to know
   if it needs to handles modem initialization strings, dialing sequences,
   and hangup procedures.

reset
   This will reset the COM port to its default settings and state.


port <n>
irq <n>
   These are used to set the I/O Port and IRQ that your serial port uses.
   The default values are: port=3f8 irq=4 for COM1 and port=2f8 irq=3 for
   COM2.  Note that the port number is displayed in hexadecimal; to enter
   it you would use something like "COM2 port 0x2f8"; the "0x" preceding
   the "2f8" indicates that you are giving the value in hexadecimal
   otherwise decimal is assumed.


baud <n>
   Sets the baud rate.  Valid values for <n> are: 9600, 14400,
   28800, 57600, and 115200.  57600 is the default.  Please note that
   this is the baud rate used for the uart, not your modem.  It is
   perfectly valid to use 57600 on a COM port that is connected to a
   28.8 modem.

8250 | 16550
   Specifies the type of uart chip in your system. Normally this is
   automatically detected, one of these need only be used if your chip
   is incorrectly detected.

startup
shutdown
   This allows you to specify the startup and shutdown strings needed for
   a modem for playing Quake.  If you've found values that previously worked
   with Doom, use them here.  If you are playing over a null modem cable,
   leave these blank.

-cts | +cts
-dsr | +dsr
-cd  | +cd
   These determine if certain serial control lines should be honored or
   ignored. The "-" means you want that line ignored, the "+" means to honor
   it. "cts" is an abbreviation for "clear to send", "dsr" for
   "data set ready", and "cd" for "carrier detect".  Most people will not
   need to change these values. The default is to honor all 3 lines.

Quake always uses no parity, 8 data bits, and 1 stop bit; these
values can not be changed.  The baud, port, irq, and uart type can
not be changed on an enabled port, you must disable it first.


Configuration examples
----------------------
Example1: You have a machine with two serial ports you are going
to use as a Quake server.  COM1 will be using a null modem cable and
COM2 will be connected to a 14.4 modem.  You would use commands similar
(the startup string would almost certainly be different) to these:

COM1 baud 57600 enable
COM2 baud 14400 modem startup AT\N0%C0B8 enable


Example2: You are going to use your machine to connect to a dial-up
Quake server with your 28.8 modem connected to COM2.  You would
use a command something like this:

COM2 baud 57600 modem startup AT\N0%C0B8 enable

Note the baud rate is not the same as the modem speed.  This allows
the modem-to-uart communications to occur at a higher rate than
the modem-to-modem communications.

Connecting to a serial Quake server
-----------------------------------

Connecting to a Quake server over a serial/modem connection is done
using the "connect" command.  The command "connect 5551212" would try to
connect to a Quake server at the phone number 555-1212.  Note: your local
phone company would probably appreciate it if you didn't try this number!

If you are using a null modem cable, you can type "connect #".
Quake will then attempt to connect to the server.


Known problems / workarounds
============================
Packet drivers with PDIPX - there is a bug that stops a server running on
this combination from responding to the slist command.  Use the patched
version of PDIPX included with Quake to correct this problem.

SLIST sees no servers - Some PCMCIA ethernet cards and PPP drivers will
not do the UDP broadcasts needed for the SLIST command (search for local
games from the menu) to function correctly.  In these cases you must
connect to a Quake game using either its IP address or hostname
(DNS resolvable hostname, not the hostname variable in Quake).


==========================================
==            Modem Strings             ==
==========================================

Boca M1440i (internal):
ATS48=0S37=9S46=136%C0%E0%M0&K0&Q0&R1&C1&D2\G0\N1N0

Boca 14.4k (internal):
AT&C0N0S37=9&K0W0&Q0S36=3S48=128%C0

Boca 14.4 Fax/Modem
AT S46=0 S37=9 N0 &Q0 &D2 &K4

Boca 14.4k (external):
AT &F S0=1 S36=0 &K0 &Q6N0S37=9 &D2

Boca 14.4k:
AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0

Cardinal 14.4k v.32bis, v.42bis Fax/Modem:
AT &F N0 S37=9 &Q0 &D2 \N1

Digicom Systems (DSI) (softmodem):
AT Z \N0 &D2 &K0 S48=48

Digicom Systems Scout Plus:
ATZ*E0*N3*M0*S0*F0&D2

Gateway Telepath:
AT &F S37=9 %C0 &K0 &Q6 \G0

Gateway Telepath 14.4k:
AT S46=0 S37=9 N0 &Q0 &D2 &K0 %C0

Gateway Telepath I:
AT S0=1 &N6 &K0 &M0

Gateway Telepath II:
AT S0=1 S37=9 %C0 &Q0 &K0

Generic v.32bis 14.4k Fax/Modem:
AT \N0 %C0 B8

Generic 14.4k Fax/Modem:
AT S46=0 S37=9 N0 &Q0 &D2 %C0 \G0 &K0

GVC 14.4k (internal):
AT &F B8 \Q0

Hayes 28.8k V.FAST Modem:
AT &Q6 &K S37=9 N %C0 \N0

Infotel 144I:
AT&Q0 S37=9 N0 &D2

Infotel 14.4:
&F0 \N1 &D2 S37=F8

Intel 14.4k:
AT \N0 %C0 \Q0 B8

Intel 14.4k (internal):
AT Z B8 Q1 \C0 \N1 %C0 \V "H

Linelink 144e:
AT &F &D1 &K0 &Q6 S36=3 S46=136 %C0
19200

Microcom AX:
&F \N1 \Q0 &D2

Microcom QX/4232bis:
AT %C0 \N0

Netcomm M7F:
AT &E &K0 B0 \V0 X4 &D2 \N1 \Q0 #J0 #Q9 %C0

Nokia ECM 4896M Trellis V.32:
AT Z %C0 /N0

Nuvotel IFX 14.4 (internal):
&F \N1 &D2 

Practical Peripherals 14400FX v.32bis:
AT Z S46=0 &Q0 &D2

Practical Peripherals 14400FX v.32bis:
AT S46=0 &Q0 &K0 &D2

Supra:
AT &F0 S46=136 %C0

Supra (external):
AT &K &Q &D \N1

Supra 14.4k v.32bis:
AT &F S46=136 &Q0 &D2

Supra 14.4k v.32bis:
AT &K &Q &D \N1

Supra Fax Modem 14.4K v.32 bis
AT &F %C0 S48=7 Q0 V1 W1

Telepath 14.4k:
AT &F&M0&K0&N6&H0 S0=1

Twincomm DFi 14.4:
AT&F &Q0 %C0 S37=9 &D2

UDS V.3223:
&F \N1 \Q &D2

UDS Fastalk 32BX:
&F0 \N1 &D2

USR Courier v.32bis:
ATS0=1 S7=60 E1 Q0 V1 &C1 &D2 &H0 &K0 &M0 &N6 &A3

USR Courier HST/DS 16.8k:
First reset the modem in a communication program with AT&F&W
AT X4 B0 &A0 &B0 &H2 &I0 &K0 &M0 &N6a

USR DS v.32bis v.42bis (external):
AT&m0&n6&a0&r1&h0&k0&i0&s0&b1x1

USR Sporster 9600:
AT&M0&K0&N6

USR Sportster V.34 28.8 (note: works best at 19200 baud):
AT &F &M0 &I0 &K0 &B0 &N0

USR Sportster 14.4k Fax/Modem USING ERROR CORRECTION:
AT S0=1 S7=60 E1 QO V1 &C1 &D2 &K0 &N6 &A3

USR Sportster 14.4k Fax/Modem (internal):
AT &F&M0&K0&N6&H0

USR Sportster 14.4k (internal):
AT &F &B1 &H0 &I0 &K0 &M0 &N6 &R1

USR Sportster 14.4k:
ATS0=1S7=60E1Q0V1&C1&D2&K0&N6&A3

USR Sportster 14.4k:
AT &F0 &K0 &M0 &N6 &H0 &I0 &B1 &R1

USR Sportster 14,000 Fax Modem:
AT S0=2 &N6 &K0 &M0 &I0 &H0 &R1 &A0 V1 X4

USR 14.4k:
AT &F&A0&K0&M0

USR 14.4k
AT &K0 &H0 &D0 &I0 &R1

USR 14.4k Dual Standard
ATB0&R1&B1&N6Q0X4&A0&D2&H0&I0&K0&M0M1

USR (model?):
&F E1 V1 X4 &C1 &D2 &N0             

ViVa 14.4k:
AT&F&Q6\N0%C0&D2N0S37=9

ViVa modem (internal):
&F&Q6\N0%C0&D2N0S37=9

Zoltrix model 14/14 VE:
AT S0=Q0 V1 &C1 &D2 W2 &Q0

Zoom 14.4k VFX:
AT&Q6S37=9N0%C\N0

Zoom 14.4k VFX:
AT&Q6S37=11N0%C&K0

Zoom OEM Modem:
AT&Q6S37=9N0&K0

Zyxel U-1496E:
AT Z &N4 &K0


==========================================
==         Win95 Documentation          ==
==========================================

Quake is a DOS application.  However, it runs fine from the MS-DOS prompt
under Win95, so long as the Properties for the MS-DOS prompt are set up so
that Quake can run.  (See "Set the MS-DOS Prompt Properties", below, for
information about setting MS-DOS Prompt Properties.)  Following are some
steps that can help Quake run better under Win95.


Have enough memory
------------------

Quake requires at least 16 Mb of installed memory in order to run under
Win95.


Set the MS-DOS Prompt Properties
--------------------------------

If Quake won't run, the MS-DOS Prompt Properties may not be set correctly.
To set the Properties for the MS-DOS prompt, bring up a DOS session, and
either click on the MS-DOS icon in the upper left corner or press
Alt-Spacebar, then select Properties from the menu that comes up, and make
sure the following settings are correct.

In the Program sheet of MS-DOS Prompt Properties, make sure the "Suggest
MS-DOS mode as necessary" is checked.

In the Memory sheet of MS-DOS Prompt Properties, make sure all five fields
are "Auto".

In the Screen sheet of MS-DOS Prompt Properties, set "Usage" to Full-screen.

In the Misc sheet of MS-DOS Prompt Properties, uncheck the "Allow screen
saver" box, and check the "Always suspend" box.


Make sure there's enough free disk space
----------------------------------------

If you get error messages like "can't lock memory" under Win 95, or if you
get other weird, inexplicable errors, make sure you haven't run out of disk
space; delete some files if necessary.  You can see how much disk space is
free by bringing up "My Computer" and clicking on the disk icon; the free
disk space will be shown at the bottom of the window.


Run fullscreen
--------------

Quake can run in a window under Win95--but it will run very slowly.  You are
unlikely to get satisfactory performance unless you run Quake fullscreen.
Quake normally comes up fullscreen under Win95; if you have switched it back
to windowed mode, you can get that window back to fullscreen by clicking on
it and then pressing Alt-Enter.


Shut down other applications
----------------------------

Many Win95 apps and DOS apps run even when they're not the foreground
application.  Such applications contend for system resources such as memory,
processor cycles, and sound hardware.  If Quake seems to be running choppily,
if sound is garbled, or if the disk is going all the time, try shutting down
whatever other applications you have running.  For example, some players
have reported that Quake does not run as well when the Office shortcut bar
is running.


Restore the palette if it gets garbled
--------------------------------------

Under Win 95, the palette occasionally gets messed up when switching from
Quake to the desktop and back again.  You can restore the palette by
bringing down the console (either press tilde ('~'), or press Esc to bring
up the menu, select Options, and select Console... from the Options menu),
and typing bf and pressing the enter key, to generate a background flash,
which sets the palette.  Press Esc to exit the console.  Alternatively,
setting the screen brightness, either from the Options menu or via the
gamma console command, sets the palette.


Avoid the system key
--------------------

Under Win 95, if the system key (the key with the Win 95 flag on it) is
pressed while Quake is running fullscreen in a VESA mode, Win 95 may be
unable to switch back from the desktop to Quake, in which case it will
notify you of this, then terminate the Quake session.  This is a quirk
of Win 95, and there is no workaround other than not to press that key
or not to use VESA modes.  (Some people go so far as to remove the system
key from their keyboard.)  Switching away from Quake with Alt-Enter,
Ctrl-Esc, Alt-Tab, or Alt-Spacebar all work fine.


Give Quake more and/or locked memory
------------------------------------

By default, Quake tries to allocate 8 Mb of unlocked memory for heap space
under Win 95.  More memory helps Quake run faster; you can allocate more
memory for Quake under Win95 by setting the command-line switch

-winmem x

where x is the number of megabytes to allocate for Quake.  If there's enough
memory in the system, the larger the number, up to about 16, the better the
performance.  If, however, there isn't enough memory in the system, or many
other applications are running, the larger number can just cause Quake to
page to disk a lot, and can actually slow performance considerably.  Also,
higher numbers can also cause Win 95 to take longer to start Quake and take
longer to return to the desktop afterward.  If you have 32 Mb or more in your
machine, -winmem 16 should provide the best performance for Quake.  If you
have less than 32 Mb, or a lot of applications running, then you will have
to experiment to find the best amount of memory to allocate for Quake.

You may optionally instruct Quake to lock itself in memory by using the
command-line switch

-winlock

so it won't get paged out by other applications.  This can avoid hitches when
parts of Quake get paged into and out of memory, and thus provide a smoother
playing experience.  On the other hand, it can cause Quake to take longer to
start, and can make the return to the desktop take longer when Quake ends,
because Quake has been hogging a lot of memory.  It is even possible, if most
of the memory in the system is locked by Quake, that it will take many
minutes to switch back to the desktop while Quake is running, so the system
will effectively be nearly frozen.  Therefore, use -winlock with caution;
Quake is not as well-behaved a Win95 citizen when -winlock is specified, and
does not share resources particularly well.

-winmem can be used in conjunction with -winlock; if -winmem specifies more
memory than is available to be locked, then Quake will lock as much memory
as possible.  Being too aggressive about how much memory is locked can
actually slow Quake performance, because unlocked parts of the system like
system CD and sound code and data can then be forced to page, so if you do
lock memory, you will have to experiment to find the sweet spot, unless you
have 32 Mb or more of memory.

-winlockunlock can be specified as an alternative to -winlock, to tell Quake
to lock its memory when it starts, then immediately unlock it.  The
advantages of doing this are: 1) it forces all of Quake's pages into memory,
so no pages should need to be brought in as Quake runs, making for smoother
running at the start, and 2) it enables Quake to determine whether the
specified amount of memory (if -winmem is also specified) is available in the
machine, so you can be sure Quake won't try to allocate more heap space than
the the amount of physical memory that's actually available.  Like -winlock,
-winlockunlock causes Quake to take quite a bit longer to start up, but it
has the advantage of making Quake a good Win95 citizen if you need to switch
back to the desktop, or have other apps running.

In general, Quake will run fine without any of the -winxxx switches, but you
may find that one or more of them--particularly -winmem if you have more than
16 Mb--helps Quake performance on your machine.

None of this is an issue under DOS itself (as oppsed to a DOS box under
Win95), because Quake just uses all the memory in the machine under DOS.


==========================================
==        Key Binding and Aliases       ==
==========================================

Pressing the tilde key ("~") will bring down the console (pressing the
tilde key or ESC while in the console will close the console). From the
console you can adjust your player controls, this is done by "binding"
keys to commands.  The format for binding keys is as follows:

bind <key> <command>

Where <key> is a valid key control and <command> is a valid quake command.

Example:
To bind the j key to the 'jump' command, you would type:
bind j +jump			
and press enter.

Non-printable keys such as 'page up' and buttons from the mouse/joystick are
bound in the same manner as printable characters. A list of bindable keys can
be found at the end of this file.

Example:
To bind the page up key to the 'jump' command, you would type:
bind pageup +jump
and press enter.

To bind the right mouse button to the attack command, you would type:
bind mouse2 +attack
and press enter.

The alias command is used to create a reference to a command or list of
commands.  When aliasing multiple commands, or commands that contain
multiple words (such as "fraglimit 50"), you must enclose all the commands
in quotation marks and separate each command with a semi-colon.

Example of an alias that changes some Deathmatch server parameters:

alias net_game "hostname my_server ; fraglimit 15 ; timelimit 15"
bind INS net_game

Once the server is spawned (you must be the one running the -listen server),
you just push the Insert key to set the hostname, frag limit and time limit
of the server. So now the first person to 15 frags, or with the one with the
most frags in 15 minutes, wins.

Another example would be to change to the Rocket Launcher, fire one rocket,
and change back to the Double Barrel Shotgun, when you press the "," key:

alias rl_dbsg "impulse 7 ; +attack ; wait ; -attack ; impulse 3"
bind , rl_dbsg

Aliasing is very powerful, allowing you great flexibility, so you should
experiment by aliasing different commands in various ways.

A list of common commands can be found in the next section.


==========================================
==    Quake Keys and Common Commands    ==
==========================================

The following keys can be bound:

A-Z                     0-9
*F1-F12                 *TAB
ENTER                   SPACE
BACKSPACE               UPARROW
DOWNARROW               LEFTARROW
RIGHTARROW              ALT
CTRL                    SHIFT
INS                     DEL
PGDN                    PGUP
HOME                    END
PAUSE                   SEMICOLON

MOUSE1 (mouse button 1)
MOUSE2 (mouse button 2)
MOUSE3 (mouse button 3)

*~ (tilde)

* Can only be bound on the command line or in a .cfg file.

The ESC key cannot be bound. 


==========================================
==         Making a Config File         ==
==========================================

The commands (bindings and aliases) discussed above can be included into a
file containing all of your personal configurations, known as a "config"
file.  This file can then be loaded during game play to enable all your
personal bindings and settings.

To do this, use your favorite editor to create a new file, such as
"fragmstr.cfg".  Your .cfg file MUST be located in the quake\id1 directory
or quake won't find it.  Then after launching Quake, you would type "exec
fragmstr.cfg" and press enter, from the console.  You can also exec you .cfg
file from the DOS command prompt by typing "quake +exec fragmstr.cfg".
When you exec a config file, it is the same as typing all the lines in your
config file into the console, only Quake does it for you.  Here is an
example config file (c:\quake\id1\bear.cfg) and the meaning of all the
bindings, aliases and settings:

-------------------------------cut here-------------------------------------
name player1            // Sets player name to player1 (lets your opponent
                        // know who fragged them)

sensitivity 4           // Sets the mouse sensitivity to 4

scr_conspeed 5000       // Sets the console raise/lower speed

lookspring 0            // Sets Mouse Look Spring to 0 (0=keep looking,
                        // 1=spring back, when mouse button is released)

vid_mode 10             // Sets Video Mode to mode 10 (360X480 resolution)

gamma .8                // Sets Gamma Correction to .8 (<1=Lighter, 1=normal
                        // and >1=darker)

viewsize 70             // Sets the Screen View size to 70 degrees

bind mouse1 +forward    // Binds the left mouse button to Move Forward

bind mouse3 +attack     // Binds the middle mouse button to Fire

bind mouse2 +mlook      // Binds the right mouse button to Mouse Look

bind HOME "save bear1"  // Binds the Home Key to quick save, saves to
                        // bear1.sav

bind ENTER +showscores  // Binds the Enter key to show Deathmatch Scores

bind SHIFT +speed       // Binds the Shift key to Run

bind CTRL +jump         // Binds the Control key to Jump

bind ; +mlook           // Binds the ; key to Mouse Look also

bind . +moveleft        // Binds the . key to Strafe Left

bind / +moveright       // Binds the / key to Strafe Right

color 3 4               // Makes Uniform Top green and Pants Red for Net play

alias rl_dbsg "impulse 7 ; +attack ; wait ; -attack ; impulse 3"

bind , rl_dbsg          // Aliases single rocket attack command and binds
                        // it to the ',' key.
-------------------------------cut here-------------------------------------


==========================================
==         Reporting Quake Bugs         ==
==========================================

How to use the bug report:

Where to send bug reports:
E-mail  : support@idsoftware.com
FAX     : 214-686-9288

There are two sections of information - primary and secondary.

Primary information contains information such as date, your name, e-mail
address, etc.  Secondary information is actual bug information. There are
a few different sections depending on what type of bug you revieced
(sound, video, etc). Only fill out and include information from the section
related to the type of bug you received.

If possible, start Quake with the "-condebug" command line parameter
and try to reproduce the bug. Attach the "qconsole.log" file found in the
"id1" directory to the end of the bug report. If the bug is sound related,
while in Quake, execute the SOUNDINFO and SBINFO (DOS only) commands from
the console.

Please attach a copy of your CONFIG.SYS and AUTOEXEC.BAT file to the end of
the report.

Bugs submitted properly with this form will get attention.
Unformatted ones sent to personal accounts will be ignored.
If you see problems, please take the time to do this.

If you do not have all of the information requested in the form,
don't worry. Send what you do have.

Please include the version #. THe version # for Quake can be found in the
lower right hand corner of the console. To bring up the console, press the
tilde ('~') key. Press tilde ('~') again or ESC to exit.

-------------------------------cut here-------------------------------------


============================================================================
==              Quake Bug Report - Primary information                    ==   
============================================================================

Date:  
Name:  
Phone number:  
E-mail address:  (please include this, we redirect tons of mail)
Game Title:  
Version #: 
Operating system (i.e., DOS 6.0 or Windows 95):
Computer type:  
BIOS date:
BIOS version:
Processor type:  
Processor speed:  
Do you program at school/work?
Do you provide tech. support at school/work?
Please state the problem you encountered:
Please state how to reproduce the problem:

If program crashed with nasty undecipherable techno-garbage, please
look for the eight-digit hex number which comes after "eip="
and write it down here:


============================================================================
==              Quake Bug Report - Secondary information                  ==
============================================================================

------------------------------ Video Related ------------------------------ 

Video Card Manufacturer:
Video Card Model:
Chipset Used:
BIOS Date:
(If using UniVBE, The above information can be found by running uvconfig)

Did the problem occur while in a VESA mode?

If so, what is the VESA driver and version?  (eg., UniVBE 5.1a,
built into board BIOS, or manufacturer provided TSR)

------------------------------ Sound Related ------------------------------

Audio card brand and model:  

If DOS or a DOS box, please run the command "set > set.txt" then
attach "set.txt" to the end of the report.

----------------------------- Network Related -----------------------------

What type of network connection was established when the error occurred?
(modem, nullmodem, or network)
If modem, Modem brand and model:

If network, Network card brand and model:
            Network protocol/configuration:  

---------------------------------------------------------------------------







