mirror of
https://git.code.sf.net/p/quake/quakeforge-old
synced 2024-11-22 03:41:27 +00:00
1914 lines
72 KiB
Text
1914 lines
72 KiB
Text
|
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.....................
|
||
|
Demos....................................
|
||
|
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 ==
|
||
|
==========================================
|
||
|
|
||
|
The Video Modes menu
|
||
|
--------------------
|
||
|
|
||
|
Video modes can most easily be selected from the the Video Modes menu, which
|
||
|
is brought up by selecting the Video Options choice in the Options menu.
|
||
|
All the resolutions that Quake can support on the current computer are
|
||
|
displayed.
|
||
|
|
||
|
Please note that higher-resolution modes require correspondingly more
|
||
|
system memory in order for Quake to run, and that some high-resolution
|
||
|
modes may not be available when running Quake on 8 Mb machines. Such
|
||
|
modes are not listed in the Video Modes menu. Please do not report
|
||
|
video modes that do not appear in the Video Modes menu as bugs; either
|
||
|
those modes are not supported by your video adapter, or there is not
|
||
|
enough system memory for Quake to support those modes.
|
||
|
|
||
|
The video modes listed in the Video Modes menu can be tested, set, and made
|
||
|
the default mode for Quake from the Video menu, as follows:
|
||
|
|
||
|
* The arrow keys can be used to move the blinking indicator to any of the
|
||
|
modes listed in the Video menu.
|
||
|
|
||
|
* Pressing the 'T' key tests the mode the blinking indicator points to, by
|
||
|
setting the mode, leaving it set for 5 seconds, and returning to the previous
|
||
|
mode. This lets you verify that your computer does in fact support that
|
||
|
mode. We highly recommend that you always test modes with 'T' before setting
|
||
|
them
|
||
|
permanently by pressing the Enter key, in case some sort of hardware or
|
||
|
software glitch causes a mode to function incorrectly and produce a garbled
|
||
|
screen. It is unlikely but possible that testing or setting a mode will
|
||
|
cause your computer to hang or crash; if this happens, there is a serious
|
||
|
hardware or software bug, and you should not attempt to select that mode
|
||
|
again.
|
||
|
|
||
|
* Pressing the Enter key sets the mode the blinking indicator points to,
|
||
|
leaving it set so Quake will then run in that mode. We suggest that you
|
||
|
test a mode by pressing the 'T' key before setting it by pressing the Enter
|
||
|
key. Note that a selection made with the Enter key remains in effect only
|
||
|
until Quake is exited (or a new mode is set). You must explictly make a mode
|
||
|
the default mode by pressing the 'D' key in order to automatically set that
|
||
|
mode when you start Quake up in the future.
|
||
|
|
||
|
* Pressing the 'D' key makes the current mode the default mode that Quake
|
||
|
starts up with. Note that the current mode is the mode that's displayed in
|
||
|
white in the mode list, not necessarily the mode that the blinking indicator
|
||
|
points to. The current default mode is listed in the description of the 'D'
|
||
|
key at the bottom of the Video Modes menu.
|
||
|
|
||
|
* Pressing Esc exits the Video Modes menu.
|
||
|
|
||
|
Please see "Bug Reporting," below, for information on how to report any
|
||
|
problems you encounter.
|
||
|
|
||
|
|
||
|
Video modes from the console: Quick start
|
||
|
------------------------------------------
|
||
|
|
||
|
More comprehensive but more complex video control is available through the
|
||
|
Quake console. This section describes the commands necessary to perform
|
||
|
basic mode setting through the console (this is similar to what can be
|
||
|
accomplished through the Video Modes menu), and following sections describe
|
||
|
console video control in detail.
|
||
|
|
||
|
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; modes that are supported by the video
|
||
|
adapter but are currently unavailable due to system memory limitations
|
||
|
will still show up in
|
||
|
the mode list from vid_describemodes, but will
|
||
|
have "**" in place of a mode number. (Such modes will not show up at
|
||
|
all in the Video Modes menu.) If you try to set a mode for which
|
||
|
there is insufficient system memory, you will receive a message to that
|
||
|
effect, and the video mode will remain unchanged.
|
||
|
|
||
|
|
||
|
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 built 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 video 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, and note that it then stays in effect permanently, even when Quake is
|
||
|
exited and restarted, unless it is manually set back to 0). 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, and can also be disabled, along with
|
||
|
sound, network, and other hardware support, by the -safe 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.
|
||
|
|
||
|
|
||
|
A note on modes reported in the Video Modes menu
|
||
|
------------------------------------------------
|
||
|
|
||
|
The vid_describemodes console command lists all modes with
|
||
|
resolution less than or equal to 1280x1024 that are
|
||
|
supported by the video adapter, although modes for which there
|
||
|
is not enough system memory have "**" for the mode number. VGA,
|
||
|
Mode X-style, and VESA 2.0 modes are listed separately, so a
|
||
|
single resolution can be listed as many as three times, once for
|
||
|
each hardware mode that supports it. For example, mode 0 is
|
||
|
VGA mode 0x13, which supports 320x200 resolution, and mode 1 is
|
||
|
320x200 Mode X-style mode. Quake looks identical in both
|
||
|
modes, although it usually runs faster in mode 0.
|
||
|
|
||
|
The Video Modes menu is much simpler. Only modes with resolution
|
||
|
less than or equal to 1280x1024 that are both supported by the
|
||
|
hardware and for which there is sufficient system memory are
|
||
|
listed. Further, a given resolution is listed only once. If a
|
||
|
given resolution is available in multiple hardware modes, then
|
||
|
selecting that resolution will select the appropriate hardware mode
|
||
|
as follows:
|
||
|
|
||
|
If the mode is 320x200, then VGA mode 0x13 is selected, and
|
||
|
equivalent Mode X and VESA modes are ignored;
|
||
|
|
||
|
Otherwise, the VESA version of the mode is used.
|
||
|
|
||
|
You can always see what video mode is selected from the console by typing
|
||
|
the command:
|
||
|
|
||
|
vid_mode<enter>
|
||
|
|
||
|
command.
|
||
|
|
||
|
None of this has any effect on selecting modes through the
|
||
|
console, where all the different versions of each mode are
|
||
|
listed, and the desired version can be selected by using the
|
||
|
appropriate mode number.
|
||
|
|
||
|
|
||
|
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 400x300
|
||
|
and 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 <1|0>
|
||
|
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. The setting of vid_nopageflip is remembered
|
||
|
when Quake is exited (by being saved in config.cfg), and is reloaded
|
||
|
when Quake is restarted, so once vid_nopageflip is set to 1, all
|
||
|
VESA modes set in all Quake sessions after that point be will non-page-
|
||
|
flipped until vid_nopageflip is set to 0. Note that setting this
|
||
|
variable doesn't affect whether the current video mode is page-flipped,
|
||
|
but rather whether page-flipping can be used by future mode sets.
|
||
|
|
||
|
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.
|
||
|
(_vid_wait_override can force vid_wait to 1, wait for vertical
|
||
|
sync; see the description of _vid_wait_override below.)
|
||
|
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!
|
||
|
|
||
|
_vid_wait_override <1|0>
|
||
|
can be used to force wait for vertical sync in all modes. When
|
||
|
_vid_wait_override is set to 0, the type of waiting, if any, for
|
||
|
each video mode that's set thereafter is automatically set to
|
||
|
what appears to be the fastest safe state. However, it is
|
||
|
possible in some cases that automatic setting may result in some
|
||
|
screen glitching, and it is also true that shear can be
|
||
|
eliminated by waiting for vertical sync (although at a cost in
|
||
|
performance), so it may be desirable in some cases to override
|
||
|
the automatic wait selection and always wait for vertical sync.
|
||
|
This can be done by setting _vid_wait_override to 1. Once set,
|
||
|
this remains in effect through all succeeding mode sets, even
|
||
|
when Quake is exited and re-entered; the only way to keep Quake
|
||
|
from waiting for vertical sync once _vid_wait_override is set to
|
||
|
1 is to set _vid_wait_override to 0. Note that changing
|
||
|
_vid_wait_override doesn't affect the current mode, but rather
|
||
|
takes effect on the next mode set. _vid_wait_override is initially
|
||
|
set to 0.
|
||
|
|
||
|
_vid_default_mode <mode #>
|
||
|
can be used to force Quake to start up in a particular mode.
|
||
|
The easiest way to select a default mode is by pressing the
|
||
|
'D' key in the Video Modes menu, but you can alternatively
|
||
|
use _vid_default_mode to specify the mode in which you want
|
||
|
Quake to start up in future Quake sessions. _vid_default_mode
|
||
|
is initially set to 0.
|
||
|
|
||
|
|
||
|
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) (you can set _vid_wait_override to 1 to make waiting
|
||
|
for vertical sync permanent for future Quake sessions), or use a different
|
||
|
mode.
|
||
|
|
||
|
The VESA video drivers that come with some video adapters don't
|
||
|
support low-resolution modes such as 320x200; often,
|
||
|
nothing lower than 640x400 is supported. For example,
|
||
|
this is the case with some ATI adapters. There's nothing
|
||
|
Quake can do to provide low-resolution VESA modes in these
|
||
|
cases, because Quake simply supports whatever modes the VESA
|
||
|
driver chooses to report as supported. Unfortunately, 640x400
|
||
|
is too high a resolution for really good performance unless you
|
||
|
have a very fast Pentium or a Pentium Pro, so on machines with
|
||
|
this sort of adapter, the VESA modes aren't very usable.
|
||
|
Workaround: Use UniVBE 5.2, which supports low-resolution modes
|
||
|
on a wide variety of adapters. Note that a few adapters simply can't
|
||
|
support low-resolution modes, in which case you'll have to stick with
|
||
|
the low-resolution VGA and Mode X modes that are built into Quake,
|
||
|
which run fine but may be somewhat slower than VESA modes.
|
||
|
|
||
|
A few video adapters are almost but not fully VGA compatible, because
|
||
|
they don't support some unusual VGA video modes. In particular, a few
|
||
|
adapters don't support the 360-wide Mode X-style video modes that are
|
||
|
build into Quake (modes 2, 4, 6, 8, and 10), and display garbage in those
|
||
|
modes. Workaround: use different modes, such as 0, 3, 5, 7, 9, or any
|
||
|
VESA modes that are available.
|
||
|
|
||
|
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 normally 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.) However, you can
|
||
|
disable the system key for Quake with the following utility:
|
||
|
|
||
|
http://www.microsoft.com/windows/download/doswinky.exe
|
||
|
|
||
|
Switching away from Quake with Alt-Enter, Ctrl-Esc, Alt-Tab, or
|
||
|
Alt-Spacebar all work fine (except that if you disable the system key
|
||
|
with doswinky.exe, Ctrl-Esc will also be disabled).
|
||
|
|
||
|
|
||
|
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.
|
||
|
|
||
|
To see how exactly fast Quake is running, bring up the console and type
|
||
|
|
||
|
host_speeds 1<enter>
|
||
|
|
||
|
You will see a display at the top indicating total frame time in
|
||
|
milliseconds, and also server, graphics, and sound frame time in
|
||
|
milliseconds. (Note, though, that unless you also do
|
||
|
|
||
|
snd_noextraupdate 1<enter>
|
||
|
|
||
|
sound time will actually show up as graphics time. However,
|
||
|
snd_noextraupdate 1 can cause sound to get choppy, so it's not
|
||
|
generally recommended.)
|
||
|
|
||
|
Lower numbers are better.
|
||
|
|
||
|
Type
|
||
|
|
||
|
host_speeds 0<enter>
|
||
|
|
||
|
to turn off the frame time display.
|
||
|
|
||
|
|
||
|
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.
|
||
|
************************************************************************
|
||
|
|
||
|
|
||
|
Video 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.
|
||
|
|
||
|
* video modes that are not listed in the Video Modes menu, or that are not
|
||
|
listed or are listed with "**" in the output from vid_describemodes; such
|
||
|
modes are either not supported by your video adapter, or cannot be supported
|
||
|
by Quake in the amount of memory your system has. High-resolution modes will
|
||
|
often not be available in 8 Mb systems.
|
||
|
|
||
|
* 360-wide video modes that don't work although other resolutions do work
|
||
|
|
||
|
* lack of low-resolution VESA modes; the availability of low-resolution modes
|
||
|
is the responsibility of the VESA driver. UniVBE 5.2 provides low-resolution
|
||
|
modes on most adapters.
|
||
|
|
||
|
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 on some cards.
|
||
|
|
||
|
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 any current looping 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. Version 2 is an 8 bit mono
|
||
|
sound blaster, Version 3 is an 8 bit stereo sound blaster pro.
|
||
|
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 IPX, TCP/IP, and serial 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!
|
||
|
|
||
|
-listen [n]
|
||
|
Starts Quake ready to be a non-dedicated server for up to <n>
|
||
|
players. If you do not specify a number <n> after -listen it will
|
||
|
default to 8. The maximum allowed value is 16.
|
||
|
|
||
|
-dedicated [n]
|
||
|
Starts Quake ready to be a dedicated server for up to <n> players.
|
||
|
If you do not specify a number <n> after -listen it will default to 8.
|
||
|
The maximum allowed value is 16. A dedicated Quake server stays in
|
||
|
text mode. This is the Quake console with most commands still
|
||
|
available; those that make no sense (like vid_mode) are ommitted.
|
||
|
|
||
|
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".
|
||
|
|
||
|
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
|
||
|
-----------------
|
||
|
|
||
|
Use the menus for serial play whenever possible. The console
|
||
|
interface is only for unusual configurations. It is much more
|
||
|
difficult to understand and use correctly.
|
||
|
|
||
|
Those of you who do use the console commands for serial play need to
|
||
|
know that the menus always use the first Quake COM line (COM1); yes,
|
||
|
even for COM2. The names COM1 and COM2 here mean the first and second
|
||
|
serial ports, not necessarily the PC COM1 and COM2 ports (although those
|
||
|
are the default configurations).
|
||
|
|
||
|
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: ignored
|
||
|
DSR: ignored
|
||
|
CD: ignored
|
||
|
clear: ATZ
|
||
|
startup:
|
||
|
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.
|
||
|
|
||
|
clear
|
||
|
startup
|
||
|
shutdown
|
||
|
This allows you to specify the clear, 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". Do not
|
||
|
change these
|
||
|
values unless you are absolutely positive you need to. The default is to
|
||
|
ignore 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).
|
||
|
|
||
|
"BW_OpenSocket failed: 5" - This error is specific to the Beame and
|
||
|
Whitesdie TCP/IP stack. This stack uses DOS file handles as it's
|
||
|
socket handles. This error occurs when DOS runs out of file handles.
|
||
|
You need to increase the number specified by "FILES=" in the DOS
|
||
|
config.sys file.
|
||
|
|
||
|
Severe lag using TCP/IP under Win95:
|
||
|
- Occasionaly when you first connect in to a Quake game using Win95
|
||
|
TCP/IP you will experience severe lag and not be able to control your
|
||
|
player's actions. This usually clears up in 10 to 15 seconds.
|
||
|
- There is apparently a strange limbo state for Microsoft's File and
|
||
|
Print sharing. This has been seen when it was installed and then later
|
||
|
removed, but it still appears on the menus. For some unknown reason
|
||
|
this causes severe lag for a Quake game. You need to go back and make
|
||
|
sure that it is either completely installed or removed.
|
||
|
|
||
|
|
||
|
==========================================
|
||
|
== 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.) Quake will NOT run
|
||
|
under Windows NT. 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.
|
||
|
|
||
|
By default, Quake tries to allocate 8 Mb of unlocked memory for heap space
|
||
|
|
||
|
|
||
|
Watch out for limbo subsystems
|
||
|
------------------------------
|
||
|
Microsoft's File and Print sharing and IPX protocol stack have both been
|
||
|
known to cause strange problems when they are in a limbo state. The limbo
|
||
|
state is seems to be an uninstall that did not complete succesfully. Both
|
||
|
of these cause poor network play performance. If you are experiencing
|
||
|
severe lag, check the File and Print services. If you the warning "IPX
|
||
|
driver send failue: 04", check the IPX protocol stack. They need to be
|
||
|
either completely installed or removed; the problems only occur when they
|
||
|
get into this strange semi-installed state.
|
||
|
|
||
|
|
||
|
==========================================
|
||
|
== 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-------------------------------------
|
||
|
|
||
|
|
||
|
==========================================
|
||
|
== Demos ==
|
||
|
==========================================
|
||
|
|
||
|
The standard Demos
|
||
|
------------------
|
||
|
|
||
|
Quake has 3 standard demos that start playing when you first run the game.
|
||
|
It will cycle through these demos until you start or join a game.
|
||
|
|
||
|
Recording a Demo
|
||
|
----------------
|
||
|
"record <demoname> <map> [track]" This starts up level <map> and begins
|
||
|
recording a demo into a file name <demoname>.dem. You can specify the
|
||
|
optional <track> to choose a background music from the CD, otherwise the
|
||
|
default selection for that map will be played.
|
||
|
|
||
|
Playing a Demo
|
||
|
--------------
|
||
|
"playdemo <demoname>" This command will open the file <demoname>.dem and
|
||
|
play the demo.
|
||
|
|
||
|
How to not play the standard demos at startup
|
||
|
---------------------------------------------
|
||
|
|
||
|
So you've seen the Necropolis demo 10 billion times now and really don't
|
||
|
ever want to see it again? Here's how.
|
||
|
|
||
|
The easy way is to start Quake with a "+map" command. You could do
|
||
|
"quake +map start" and you'll start on the single player start level.
|
||
|
Or you could do "quake +map nonsense" and you'll wind up at the Quake
|
||
|
console since there is no map named nonsense. You can accomplish the
|
||
|
same thing with a "+connect" too. "+connect" by itself will look for
|
||
|
Quake servers on the local network, "+connect 192.12.34.56" or
|
||
|
"+connect host.timbuktu.edu" will try to connect the the specified
|
||
|
Quake server.
|
||
|
|
||
|
There is another way to not show the demos; one that also keeps your
|
||
|
customizations in a seperate directory from the data files in the
|
||
|
Quake distribution.
|
||
|
|
||
|
Do this in the quake directory (the directory where you installed Quake;
|
||
|
where you find "quake.exe" and "the id1" directory). Create a file named
|
||
|
"quake.rc". Its contents should be:
|
||
|
|
||
|
exec default.cfg
|
||
|
exec config.cfg
|
||
|
exec autoexec.cfg
|
||
|
stuffcmds
|
||
|
menu_main
|
||
|
|
||
|
Create a batch file to run Quake in the quake directory. "Q.BAT" is a good
|
||
|
name. It's contents should be:
|
||
|
|
||
|
quake -game . %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||
|
|
||
|
If you normally use the Q95 batch file, just add the "-game ." part to
|
||
|
that file.
|
||
|
|
||
|
Now you can run "q" and quake will start off with the main menu displayed
|
||
|
instead of running the demos.
|
||
|
|
||
|
You can also make a seperate subdirectory for this if you'd like. For
|
||
|
example, make a directory named "mine" in the quake directory. Create
|
||
|
the "quake.rc" file as specified above in this directory. Use
|
||
|
"-game mine" instead of "-game ." in your batch file.
|
||
|
|
||
|
Important note: The directory specified by "-game" is where Quake will
|
||
|
look for config.cfg, load and save games, and record and play
|
||
|
demos.
|
||
|
|
||
|
|
||
|
==========================================
|
||
|
== 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:
|
||
|
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|