-------------------------- | |
| wqreadme.txt | | |
| WinQuake documentation | | |
| 3/21/97 | | |
-------------------------- | |
WinQuake (WQ) is a native Win32 version of Quake, and will run on | |
either Win95 or Windows NT 4.0 or later. It is designed to take | |
advantage of whatever enhanced video, sound, and input capabilities | |
(such as DirectX or VESA VBE video modes) are present, but has | |
fallback functionality so it can run on any Win95 or NT 4.0 or later | |
system, even if neither DirectX nor VESA VBE is available. You may | |
experience problems running WQ on some systems, because driver and | |
operating-system support for game functionality are not yet mature | |
under Win32, and many bugs and incompatibilities remain in those | |
components. If you encounter what seems to be a bug, first please | |
check through the list of known problems, below. If your problem | |
doesn't appear on the list, please fill out and submit the WQ bug | |
report at http://www.idsoftware.com/contact/. | |
The material accompanying Quake is the reference for all | |
non-Windows-related matters concerning WinQuake; in terms of gameplay, | |
WQ is the same as Quake. This file contains Windows-related | |
information only. | |
The rest of this document is organized as follows: | |
Installing and running WinQuake | |
Common problems and workarounds | |
A bit about how WQ video works | |
Video command-line switches | |
A bit about how WQ sound works | |
Sound command-line switches | |
Notes on networking | |
Notes on the mouse | |
Log of changes to documentation | |
Special thanks | |
----------------------------------- | |
| Installing and running WinQuake | | |
----------------------------------- | |
In order to run WinQuake, you must first have Quake installed. | |
Assuming Quake is installed in the standard directory, c:\quake, | |
unzip the WinQuake zip file into c:\quake. The following files | |
from the zip file must be present in order for WQ to run: | |
winquake.exe | |
pmpro16.dll | |
pmpro32.dll | |
wdir16.dll | |
wdir32.dll | |
wdirnop.com | |
wdirnop.pif | |
Then you can run WinQuake by making c:\quake the current directory, | |
typing "winquake" and pressing the Enter key. Alternatively, you can | |
use wq.bat to run WinQuake. The wq batch file requires one parameter | |
describing how to configure WQ for performance; just type "wq" to get | |
a list of the six options. The first of the six options is | |
wq fast | |
This is the same as typing "winquake"; this runs WinQuake in an | |
aggressive configuration that is likely to yield the best performance | |
if it runs successfully on your system, but which has a risk of | |
causing WinQuake or even your system to crash if there are bugs or | |
incompatibilities in your video or sound drivers. Alternatively, you | |
can use | |
wq safe | |
to run WinQuake in a conservative configuration, likely to run | |
on almost all machines with no problems, but possibly with slower | |
graphics, fewer high-resolution modes, and delayed sound. Or you | |
can run | |
wq verysafe | |
to run WinQuake in a very conservative configuration that is pretty | |
much guaranteed to run, but will probably have slow performance, and | |
will have no sound. Two other options are | |
wq fastvid | |
which has maximum video performance, but greater sound latency (delay | |
until the sound is heard), and | |
wq fastsnd | |
which uses more conservative video modes, but low-latency sound. | |
(One odd note is that DirectSound has much lower-latency sound than | |
wave sound, but is currently quite a bit slower overall. Thus you | |
may find that "wq fastvid" is actually faster, by as much as 5-10%, | |
than "wq fast"; however, it may not feel faster, because the sound | |
will lag.) | |
Finally, you can use | |
wq max | |
which is the same as wq fast, but turns on DirectInput, which | |
provides more responsive mouse control, but does not work properly | |
on all systems. | |
Note that DirectX is not required for WQ to run, but WQ will | |
automatically take advantage of DirectSound and DirectDraw if they | |
are present. If DirectSound is not present, there will generally be | |
considerable sound latency (sound will become audible several hundred | |
milliseconds after the event that caused it). Note also that there | |
are currently no true DirectSound drivers for Windows NT, so WQ will | |
always run using wave output on NT, and will consequently have lagged | |
sound. See below for information about obtaining DirectX if you do | |
not have it. | |
Note that VESA VBE modes aren't required for WQ to run, but WQ will | |
automatically make VESA modes available if they're present. Your BIOS | |
may already have VESA VBE 2.0 support built in, but most BIOSes | |
don't. Worse, some BIOSes do have VESA VBE 2.0 built-in, but have | |
buggy implementations, which may prevent you from being able to run | |
the faster configurations of WQ. An easy way to get reliable VESA 2.0 | |
support is by obtaining SciTech Display Doctor; see below for | |
further information. WQ can also use VBE/AF 1.0 and greater modes; | |
again, SciTech Display Doctor is the commonest way to get VBE/AF | |
support. | |
Note that winquake -dedicated completely replaces the old winded | |
dedicated Win32 server, which is now obsolete. | |
WinQuake normally uses half the physical memory in your system for its | |
heap, but not less than 8.5 Mb and not more than 16 Mb. You can | |
override this with "-heapsize n", where n is the amount of memory to | |
allocate for the heap, in Kb. | |
To use the joystick, you must bring down the console by pressing the | |
tilde ('~') key, and type "joystick 1<enter>"; you can disable the | |
joystick with "joystick 0<enter>" at any time. The joystick setting | |
remains in effect for subsequent WinQuake sessions until changed, so | |
you only need to do joystick 1 once to enable the joystick. If the | |
joystick somehow causes problems that keep you from being able to run | |
WinQuake at all, you can start WinQuake -nojoy to complete disable the | |
joystick for that session. | |
----------------------------------- | |
| Common problems and workarounds | | |
----------------------------------- | |
WQ crashes or won't run | |
----------------------- | |
If WQ refuses to run or crashes on your system, try running | |
it using "wq safe" or "wq verysafe". Or you can use command-line | |
switches: | |
winquake -nodirectdraw -nowindirect -wavonly | |
This will almost certainly solve your problem; however, it may result | |
in lagged sound (a long delay from action to hearing the sound), may | |
result in fewer or slower high-res video modes, and the mouse may be | |
somewhat less responsive. If this does work, you can try removing | |
each of the command-line switches until you identify the one that | |
fixes the problem, thereby sacrificing as little functionality as | |
possible. | |
If the above command line does not fix your problems, try: | |
winquake -dibonly -nosound | |
which forces WQ into silent operation with bare-bones video support | |
and no use of DirectInput for mouse input (the normal Windows mouse | |
APIs are used instead). Again, if this works, try removing switches | |
until you identify the needed one. | |
Both of the above command lines are quick fixes. Often, the problem | |
is caused by outdated or buggy DirectX drivers or code, and can | |
frequently be completely fixed simply by installing the latest | |
Microsoft-supplied version of DirectX, which you may be able to find | |
on http://www.microsoft.com/mediadev/download/directx.exe, although | |
the availability and location of the DirectX file changes | |
periodically; note that at last check, this is a 3.4 Mb file. (Be | |
aware, though, that sometimes Microsoft's DirectX drivers don't | |
support features that the manufacturers' drivers do support, such as | |
display refresh rate control.) | |
One known problem of this sort involves the current SB16 drivers from | |
Creative Labs, which cause WQ to crash on some machines. The | |
DirectSound drivers from Microsoft, available via the above-mentioned | |
URL, fix this problem. | |
It can also sometimes help to get the latest Windows drivers for your | |
video adapter or sound card (although as the SB16 example indicates, | |
this is not always a good idea), and for video boards that have flash | |
BIOSes, it can sometimes help to get the latest BIOS upgrade. | |
How do I select fullscreen or windowed WQ operation? | |
---------------------------------------------------- | |
Check out WQ's new, spiffy Video menu, accessible from the Options | |
menu. There are now two types of modes listed, windowed and | |
fullscreen. You can make any of these modes the current and/or | |
default mode, just as in DOS Quake. If you make a windowed mode the | |
default, WQ will still briefly start up in fullscreen mode, then | |
switch to windowed; if this is a problem, use the -startwindowed | |
command-line switch. More complete video control is available | |
through the console, as described in the "A bit about how WQ video | |
works" section, below. | |
Gee, I wish I could use a mouse to play WQ with in a window | |
----------------------------------------------------------- | |
You can! While in a windowed mode, go to the Options menu. At the | |
bottom, you'll find a new selection that lets you choose to have the | |
mouse active when you're in a window. Of course, if you do this, | |
you'll have to use the keyboard (Alt-Tab, the Windows key, Ctrl-Esc, | |
Alt-Esc, or Shift-Alt-Tab) to switch away from WQ. | |
Serial/modem menu is missing | |
---------------------------- | |
WQ currently does not support direct connect serial or modem play. | |
DOS Quake reports unknown variables on startup after running WQ | |
--------------------------------------------------------------- | |
WQ uses some console variables that do not exist in DOS Quake, and | |
some of these are automatically archived in config.cfg when you exit | |
WQ. If you then start DOS Quake, DOS Quake will complain that it | |
doesn't recognize those variables. You will also lose the settings | |
of these variables when you return to WQ. Apart from losing the | |
settings, this is harmless; ignore it. | |
Problems running WQ on NT 3.51 | |
------------------------------ | |
NT 3.51 isn't supported by WQ. | |
WQ crashes while switching modes or Alt-Tabbing | |
----------------------------------------------- | |
So far, all cases of this seem to be tied to Creative Lab's SB16 sound | |
drivers, and have been fixed by getting the latest DirectX drivers, as | |
described above. Alternatively, you should be able to fix this either | |
by not switching modes or Alt-Tabbing, or by running -wavonly to | |
disable DirectSound support. | |
WQ sometimes runs pretty slowly fullscreen | |
------------------------------------------ | |
There are several possible reasons for this, starting with "You have a | |
slow computer." Assuming that's not the case, if you don't have | |
either DirectDraw or SciTech Display Doctor installed (see the "A bit | |
about how WQ video works" section), it would probably be a good thing | |
to install one or the other, because slow operation can be a result | |
of slow copying or stretching of pixels to the screen by a Windows | |
driver, something that's eliminated by both DirectDraw and Display | |
Doctor. You can also sometimes get a faster 320x200 mode on Win95 by | |
doing vid_describemodes, then using vid_mode to select a non-VGA | |
320x200 mode, as described in the "A bit about how WQ video works" | |
section. | |
You can also try using a primary sound buffer on Win95 (this doesn't | |
work on NT) by using the -primarysound command-line switch; this can | |
improve performance by several percent, but does not work on all | |
systems, and can result in odd sound effects on some systems when | |
minimizing WQ or switching the focus away from it. If you use this | |
switch, please don't report sound bugs; it's in there purely for you | |
to use if it helps you, and we know it has problems on many systems. | |
Finally, you can use -wavonly to select wave sound; this will increase | |
your sound latency (sounds will be heard later than they should), but | |
allows WQ to run 5-10% faster on some systems. That's about all you | |
can do to speed up fullscreen WQ on Win95, other than shrinking the | |
active area of the screen with the screen size control in the Options | |
menu. | |
NT 4.0 comes with DirectX installed, but doesn't have any resolutions | |
lower than 640x480. In order to support a lower-resolution 320x240 | |
mode, WQ has NT double each pixel in both directions to get enough | |
pixels for 640x480. The extra stretching costs some performance, the | |
result being that NT can seem sluggish on all but high-end Pentiums | |
and Pentium Pros. (In fact, depending on the quality of your driver's | |
stretching code, it can sometimes be faster to run WQ at 640x480 than | |
320x240-stretched on NT.) One thing that can help on NT is switching | |
to 640x480, then using the Options menu to shrink the active area of | |
the screen. | |
A common cause of slowness running in a window is having the desktop | |
run in 16- or 32-bpp mode. WQ is an 8-bpp application, and it slows | |
things down if pixels have to be translated from 8-bpp to 16- or | |
32-bpp. (Note that this is generally a problem only when running in a | |
window; fullscreen apps rarely suffer from this.) | |
Sound is sluggish on NT | |
----------------------- | |
NT doesn't have any real DirectSound drivers yet, so there's no way to | |
do quick-response sound on NT. When DirectSound drivers for NT | |
appear, WQ's sound should automatically be snappier. | |
Sound breaks up or gets choppy, especially in menus | |
--------------------------------------------------- | |
This is generally a sign that WQ's frame rate is too low on your | |
system. Try reducing resolution or shrinking the active area of the | |
screen. In some circumstances, it may help to set the console | |
variable _snd_mixahead to a larger value. | |
The color black doesn't change with palette flashes sometimes | |
------------------------------------------------------------- | |
Normally, DirectDraw lets WQ change all 256 colors, so when a palette | |
flash happens, we can change all the colors, including black. | |
However, on NT DirectDraw currently doesn't allow changing black; | |
likewise, on both NT and Win95, black can't be changed in a window, | |
either a normal window or fullscreen. Consequently, in some modes and | |
in a window, some parts of the WQ screen (such as the sigils on the | |
status bar and the spray where a shotgun blast hits) stay black when | |
the palette flashes. There is no workaround. | |
Problems can result if Office shortcut bar is running | |
----------------------------------------------------- | |
Various odd behaviors, especially with sound, have been reported if | |
the Office shortcut bar is running while WQ is running. If you | |
experience odd problems, you might try shutting down the Office | |
shortcut bar and see if that fixes anything. | |
Other apps fail to play sound while WinQuake is running | |
------------------------------------------------------- | |
The sound hardware is currently not a fully shareable resource on | |
Win32. Consequently, while WQ is running, it always has the sound | |
hardware allocated to itself, to make sure that sound is never lost to | |
another app. This means that normally (when WQ is using DirectSound), | |
apps that use wave sound (most non-game apps) will not be able to play | |
sound while WQ is running, even if WQ is minimized or not the active | |
app, although other DirectSound apps will be able to play sound when | |
WQ is not the active app. If WQ is using wave sound rather than | |
DirectSound (either because -wavonly is used on the command line, or | |
because there is no DirectSound driver, as is always the case on NT), | |
then no other app will be able to play any sound while WQ is running, | |
period. | |
WQ doesn't have quite the right colors when its not the active app | |
------------------------------------------------------------------- | |
We're working on fixing this. But WQ puts everything back again as | |
soon as it is reactivated, and anyway, when its not active, you cant | |
actually do anything in WQ, so it doesnt really matter anyway, right? | |
Desktop is weird colors when WQ runs windowed | |
--------------------------------------------- | |
WQ needs all 256 colors to look right and run fast, which causes it to | |
have to change some of the 20 colors used to draw the desktop. | |
Sometimes Permedia boards crash unless -nowindirect is used | |
----------------------------------------------------------- | |
It looks like this is probably a Permedia driver bug, so it might help | |
if you get the most recent drivers. | |
Right-click on WQ button in task bar to close doesnt work as expected | |
---------------------------------------------------------------------- | |
In some modes, right-clicking on the WQ task bar button doesn't work | |
the way you'd expect. We're trying to fix this, but if it's a | |
problem, don't right-click. | |
Screen saver never kicks in when running WQ fullscreen | |
------------------------------------------------------ | |
It does work windowed, but when WinQuake is fullscreen, it completely | |
owns the screen and doesn't share it with anyone, even the | |
screensaver. If you use Alt-Tab to minimize WQ, the screensaver will | |
then be enabled, so Alt-Tab away from WQ if you're leaving your | |
computer alone for a while and want the screensaver to be able to kick | |
in. | |
WQ doesnt work in a window in 16-color mode | |
-------------------------------------------- | |
Thats 16 *colors*, not 16-bpp. If youre still running a 16-color | |
desktop, run WQ fullscreen. | |
Can't minimize window while mouse active | |
---------------------------------------- | |
When running in a window with the mouse active as a WQ input device, | |
there is no easy way to minimize the window, because the system menu | |
can't be brought up from the keyboard (because some of you use Alt | |
and Spacebar for playing the game), and the mouse can't be used to | |
manipulate the window because it's controlling WQ. To minimize, you | |
can disable the mouse for WQ and use it to minimize the window. Or | |
on Win95 you can Alt-Tab away from WQ, then use the mouse to | |
minimize (this doesn't work on NT, where clicking on the window | |
controls just reactivates WQ). Or you can bind a key to the | |
vid_minimize command, as in | |
bind m "vid_minimize" | |
and press that key to minimize the window. | |
Window controls don't work on NT when mouse enabled | |
--------------------------------------------------- | |
When running in a window on NT with the mouse enabled (so you can use | |
the mouse to play WQ), if you Alt-Tab away from WQ, then use the mouse | |
to click on the WQ system menu control, or the minimize, maximize, or | |
close controls, the controls are ignored and WQ just reactivates. | |
Mouse sometimes vanishes in system menu on Win95 | |
------------------------------------------------ | |
On Win95, if WQ is running in a window with the mouse enabled (so you | |
can use the mouse to play WQ), if you Alt-Tab away, then click on the | |
system menu, the menu comes up, but the mouse vanishes. However, you | |
can still use the keyboard to select system menu items, or to exit | |
the system menu. | |
WQ behaves oddly if Scandisk starts defragmenting | |
------------------------------------------------- | |
If WQ is running fullscreen on Win95 when Scandisk starts an automatic | |
defragging, WQ is forced to minimize, and when it is brought back up, | |
may either be in a strange mode where it runs one frame for each | |
keystroke (in which case Alt-Tab generally fixes things), or may hang | |
the system. We don't know what the problem is right now, but you may | |
want to make sure you don't leave WQ sitting there fullscreen | |
overnight if you have automatic defragging. | |
Hang reported with zero sound volume | |
------------------------------------ | |
When sound is turned all the way down via the WQ menus, hangs have | |
been reported. | |
Joystick worked fine with earlier versions of WinQuake but not now | |
------------------------------------------------------------------ | |
The joystick was enabled by default in earlier versions of | |
WinQuake, but quite a few people reported serious problems that | |
forced them to disable the joystick--even some people who didn't | |
have a joystick attached. Since most people don't have joysticks, | |
we've decided to disable the joystick by default, and let people | |
who do want to use it set joystick 1 in the console (WinQuake | |
remembers this setting, so this only needs to be done once). | |
WQ runs very slowly when it has the focus under NT | |
-------------------------------------------------- | |
In one case, WQ ran very slowly when it had the focus, but fast when | |
it didn't (obviously this is only visible in windowed modes). The | |
problem turned out to be that NT had a Sidewinder 3D Pro joystick | |
driver installed; when the driver was removed, things were fine. | |
If you see a similar problem, check whether WQ is detecting that | |
your system has a joystick when you don't think it should; if so, | |
try doing "joystick 0", or -nojoy on the command line, and see if | |
that fixes it. If so, there's something flaky in your system | |
joystick setup. | |
Joystick doesn't seem calibrated properly | |
----------------------------------------- | |
WQ relies on the information about your joystick stored in the | |
system registry. If the joystick seems miscalibrated, run the | |
joystick applet and recalibrate and see if that fixes things. | |
Playdemo fails across multiple levels | |
------------------------------------- | |
If "record" is used to record a client-side demo, bad things will | |
happen on playback via playdemo if a level change is recorded. | |
(Timedemo works fine.) This is unfortunate, but WinQuake | |
internals make this not fixable without a good chance of | |
breaking something more important, so it'll have to stay this way. | |
Alt-Tab fullscreen only works sometimes | |
--------------------------------------- | |
I know it seems that way, but actually the trick is that on Win95 | |
it only works if you let go of Tab before you let go of Alt. | |
This is due to a Windows quirk involving what key sequences are | |
passed along, so you'll have to work around it by remembering to | |
let go of Tab first. | |
MS-DOS windows get scrunched on Alt-Tab | |
--------------------------------------- | |
This is a quirk of Windows; when you run WinQuake in a low-res | |
mode, sometimes when you exit WinQuake or Alt-Tab back to the | |
desktop, any open MS-DOS windows will be scrunched down to the | |
size of the low-res mode. There is no known workaround. | |
Dprint in progs doesn't work | |
---------------------------- | |
Dprint means "developer print," so it only works if the developer | |
console variable is set to 1. It was a bug in earlier versions that | |
it worked even when developer was set to 0. | |
Some DirectDraw modes flicker badly and look wrong | |
-------------------------------------------------- | |
Page flipping doesn't work properly in some modes on some | |
systems, particularly when using some DirectDraw modes. You | |
can work around this by setting the console variable | |
vid_nopageflip to 1, then setting the desired mode (note | |
that the vid_nopageflip setting does not take effect until | |
the next mode set after the setting is changed). Bear in | |
mind, though, that the vid_nopageflip setting is remembered | |
until it is explicitly changed again, meaning that once you | |
change it, it thereafter applies to all modes, even if you | |
exit and restart WinQuake. | |
The Windows key doesn't do anything fullscreen on Win95 | |
------------------------------------------------------- | |
True. This is a minor bug we haven't figured out how to fix yet. | |
You'll have to use Ctrl-Esc, Alt-Tab, or Alt-Esc to switch away. | |
My default mode is windowed, but WQ goes fullscreen first | |
--------------------------------------------------------- | |
For internal reasons, WQ has to pick a single mode to always | |
initialize when it starts up, before it sets whatever default you've | |
selected. We've chosen fullscreen mode, because that's the way most | |
people will play. If this is a problem for you, however, you can | |
run WQ with the -startwindowed command-line parameter. | |
Some high-resolution video modes flicker or fail to initialize | |
-------------------------------------------------------------- | |
We think these problems are all fixed, but if not, they have to | |
do with triple-buffering in some modes on some DirectDraw drivers. | |
If you encounter this problem, either don't use the problem modes | |
or try using the -notriplebuf command-line parameter to turn off | |
triple buffering. Note, though, that turning off triple-buffering | |
can reduce performance in some modes, so do this only if needed. | |
Right-click doesn't work right on minimized WinQuake | |
---------------------------------------------------- | |
If you right-click on minimized WinQuake on the task bar, the | |
Close selection in the right-click menu doesn't work; you have | |
to restore WQ before you can exit it. Also, the cursor vanishes | |
over the right-click menu, although it still works. | |
The screen briefly blanks when you exit WQ | |
------------------------------------------ | |
We're trying to fix this, but it's not harmful, just a mite ugly. | |
QBENCH doesn't work with WinQuake | |
--------------------------------- | |
We've had a report that QBENCH doesn't work with WinQuake, but | |
haven't had a chance to look into it yet. | |
MWAVE sound loses focus | |
----------------------- | |
We've had a report that on a ThinkPad with MWAVE sound, WQ loses | |
sound focus (and thus sound) every few seconds. | |
Desktop doesn't reset to proper resolution on WQ exit | |
----------------------------------------------------- | |
We've had a report that on exiting WQ, the desktop didn't reset | |
to the proper dimensions. This may be a bug with the Matrox | |
drivers, but we're not sure. If it's a problem and newer | |
drivers don't fix it, you can run -dibonly, which solves the | |
problem but can cost some performance. | |
Palette goes bad periodically on #9 Imagine card | |
------------------------------------------------ | |
There's only one report of this, so maybe it's a flaky board, | |
or maybe it's a driver bug. Newer drivers might help. | |
System with Packard Bell sound card III crashes on CapsLock | |
----------------------------------------------------------- | |
This appears to be the result of buggy DirectSound drivers; | |
-wavonly makes the problem go away. | |
Dvorak keyboard mapping ignored | |
------------------------------- | |
WQ is hardwired for QWERTY. | |
Cursor messed up after running WQ | |
--------------------------------- | |
This is a Windows driver bug; the driver isn't restoring the | |
cursor properly on return from fullscreen WQ to the desktop. | |
Try newer drivers. | |
Dedicated server runs very slowly while typing at console | |
--------------------------------------------------------- | |
When you type at a dedicated server's console, the game runs | |
very slowly for everyone who's connected. | |
Ctrl-Alt-Del on NT sometimes doesn't allow return to WQ | |
------------------------------------------------------- | |
This happens on some machines while running WQ fullscreen. | |
If you experience this problem, the only workaround is not | |
to press Ctrl-Alt-Del while fullscreen; Alt-Tab away first. | |
Many fast Alt-Tabs on Win95 sometimes disable WQ input | |
------------------------------------------------------ | |
If you Alt-Tab fast lots of times on Win95 with WQ running | |
fullscreen, sometimes you end up in fullscreen WQ, with the | |
game not accepting any keyboard input (so there's no way to | |
exit). The only workaround is to not do lots of fast | |
Alt-Tabs (why you'd want to, I'm not sure). | |
---------------------------------- | |
| A bit about how WQ video works | | |
---------------------------------- | |
WQ has the built-in ability to draw into windows (both normal, framed | |
desktop windows and fullscreen, borderless windows). It also has | |
built- in support for VGA 320x200 graphics, and supports DirectDraw, | |
VESA VBE 2.0 and VESA VBE/AF (Accelerator Functions) graphics modes, | |
if those are available. | |
WQ does not require DirectDraw, but in order for DirectDraw modes to | |
be available, you must have DirectDraw installed; some systems come | |
with it preinstalled, but if it's not on your system, you can download | |
it from http://www.microsoft.com/mediadev/download/directx.exe (the | |
exact URL may vary), and install it. | |
WQ does not require VESA VBE, but in order for VESA VBE modes to be | |
available, your graphics card must be VESA VBE 2.0 or VBE/AF | |
compliant; a VESA driver can either be built into the BIOS of your | |
graphics card, or loadable via software. If you don't have a VESA VBE | |
driver, Scitech Display Doctor, available from Scitech Software, will | |
update most graphics cards to VESA VBE 2.0 and VBE/AF. | |
SciTech Display Doctor | |
---------------------- | |
If you are having problems with your video drivers, or if you would | |
like to take a shot at improving your video performance in WQ, you may | |
want to try out SciTech Display Doctor (SDD). SDD works on just about | |
any graphics card and it can do several things that can make WQ run | |
better on your system: | |
1. It will update your graphics card to be compatible with VESA VBE | |
2.0 and VESA VBE/AF (Accelerator Functions). These modes will usually | |
give you the best performance in WQ (which is often but not always | |
faster than your current performance). | |
2. It creates low-resolution modes on your graphics card. | |
Low-resolution video modes (such as 320x240, 400x300 and 512x384) | |
allow you to adjust the level of detail in WQ so you can get the best | |
balance between performance and image quality. | |
The latest version of SciTech Display Doctor 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: info@scitechsoft.com | |
SciTech Software, Inc. | |
505 Wall Street | |
Chico, CA 95926-1989 | |
916-894-8400 | |
916-894-9069 FAX | |
Video modes supported in Win95 | |
------------------------------ | |
What all this means is that on Win95, WQ will always be able to run in | |
the following modes: | |
1) in a window | |
2) fullscreen 320x200 VGA mode 0x13 | |
3) fullscreen high-resolution of some sort | |
Category #3 can be any of several configurations. On Win95, if either | |
DirectDraw or VESA VBE modes are available, then all the DirectDraw | |
and VESA modes will be presented as high-res choices. (320x200 will | |
always default to VGA mode 0x13.) In the case that a given resolution | |
is supported by both DirectDraw and VESA, the VESA mode will be used. | |
(However, the command-line switch -nowindirect can turn off VESA modes | |
entirely.) If neither DirectDraw nor VESA modes are available, then | |
high-resolution modes will be provided by using fullscreen, borderless | |
windows in whatever resolutions the Windows driver supports, usually | |
starting at 640x480 and going up. | |
Video Modes Supported in Windows NT | |
----------------------------------- | |
NT is similar but not identical, because neither VESA VBE modes nor | |
VGA mode 0x13 are available. On NT, WQ will always be able to run in | |
the following modes: | |
1) in a window | |
2) fullscreen high-resolution of some sort | |
On NT, category #2 can be one of two configurations. If DirectDraw | |
modes are available, then those will be the high-res choices; | |
otherwise, fullscreen, borderless windows will be used in whatever | |
resolutions the driver supports, usually starting at 640x480 and going | |
up. Because there is normally no low-resolution mode such as 320x200 | |
or 320x240 on NT, a pseudo low-res mode is created by rendering at | |
320x240, then stretching the image by doubling it in each direction | |
while copying it to a 640x480 screen. However, stretching performance | |
depends on the driver, and can be slow, so sometimes 640x480 is | |
actually faster than 320x240 on NT. | |
The bottom line here is that you can generally just use the Video menu | |
and pick one of the modes and be happy. In some cases, though, you | |
may need to use command-line switches (described next) to get the | |
types of modes you want. One useful tip is to go into the console and | |
do vid_describemodes, which lists all the modes WQ makes available on | |
your machine given the command-line switches you've used. Each mode | |
is followed by the name of the internal WQ driver that supports it, so | |
you can tell which modes are DirectDraw, VESA, and so on, as follows: | |
WINDOWED: WQ runs in a normal window | |
FULLSCREEN DIB: fullscreen borderless window | |
FULLSCREEN VGA8.DRV: VGA 320x200 mode | |
FULLSCREEN DDRAW8.DRV: DirectDraw mode | |
FULLSCREEN LINEAR8.DRV: VESA VBE 2.0+ mode | |
FULLSCREEN ACCEL8.DRV: VESA VBE/AF (Accelerator Functions) mode | |
(note that WQ does not take advantage of | |
VBE/AF acceleration; so far as WQ is | |
concerned VBE/AF is the same as normal VBE) | |
You can use vid_mode from the console to set any of these modes. So, | |
for example, if you see that there are two 320x200 modes (such as one | |
VGA mode 0x13, normally mode 3, and one VESA mode, normally mode 4), | |
you can choose the VESA mode, which will often be faster, with | |
vid_mode 4. (You can make it the default by setting | |
_vid_default_mode_win to the mode number.) | |
There's more to the windowed modes than you might think. 320x240 is | |
just what youd expect, but 640x480 is actually rendered at 320x240 | |
and stretched up to 640x480, because most machines cant handle the | |
performance demands of real 640x480 rendering. Likewise, 800x600 is a | |
stretched 400x300. Actually, though, vid_mode 2 (the 800x600 mode) is | |
a user-configurable mode. By setting the following console variables, | |
you can change the characteristics of vid_mode 2: | |
vid_config_x: width of mode 2 window | |
vid_config_y: height of mode 2 window | |
vid_stretch_by_2: whether to render at half-resolution in each | |
direction and stretch up to the specified size in mode 2, or render at | |
full resolution. | |
After setting these variables in the console, do a vid_forcemode 2, | |
and youll have the window you specified. Note that after making | |
these changes, the new resolution will show up as the third windowed | |
mode in the Video menu. | |
If you don't have WQ mouse play enabled in windowed mode, you can also | |
go from windowed to fullscreen mode simply by clicking on the maximize | |
button. The mode switched to is controlled by the vid_fullscreen_mode | |
console variable, and defaults to mode 3. | |
Other video console commands include: | |
vid_fullscreen: switch to the mode specified by the | |
vid_fullscreen_mode console variable. | |
vid_windowed: switch to the mode specified by the vid_windowed_mode | |
console variable. | |
Vid_fullscreen and vid_windowed can be bound to keys, so it's possible | |
to flip between windowed and fullscreen with a single key press. | |
Also, vid_minimize minimizes the WinQuake window if and only if | |
WinQuake is running in a windowed mode. You can bind a key to | |
the commands "vid_windowed; wait; vid_minimize" to minimize WQ | |
regardless of whether you're running in windowed or fullscreen mode. | |
You can turn off page flipping by setting the console variable | |
vid_nopageflip to 1, then setting a new mode. (Note that the | |
vid_nopageflip setting does not take effect until the next mode set.) | |
Some systems run faster with page flipping turned off; also, page | |
flipping does not work properly on some adapters, and vid_nopageflip | |
is a workaround for this. Note that vid_nopageflip is a persistent | |
variable; it retains its setting until it is explicitly changed again, | |
even across multiple WinQuake sessions. | |
The vid_forcemode console command sets the specified mode, even if | |
it's the same as the current mode (normally the mode set only happens | |
if the new mode differs from the current mode). This is generally | |
useful only if you've modified the characteristics of video mode 2 | |
(the configurable window) while you're in mode 2, and want to force | |
the new characteristics to take effect. | |
Whenever you switch to running WinQuake in a window, the window is | |
placed at the same location it was in the last time WinQuake ran | |
in a window. You can reset the window position to the upper left | |
by using the -resetwinpos command-line switch. The window position | |
is stored in the vid_window_x and vid_window_y console variables. | |
------------------------------- | |
| Video command-line switches | | |
------------------------------- | |
The full list of video-related command-line switches is: | |
-dibonly: WQ will use only windows (both normal, framed windows on the | |
desktop and fullscreen, borderless windows), not any direct hardware | |
access modes such as DirectDraw or VESA modes, or even VGA 320x200 | |
mode. This is the closest thing to a guaranteed-to-run fullscreen | |
mode WQ has. | |
-nowindirect: WQ will not try to use VESA VBE 2.0 modes, or VBE/AF | |
1.0 or later modes. Note that if there are both DirectDraw and VESA | |
modes for a given resolution, WQ will normally use the VESA mode; | |
-nowindirect allows DirectDraw modes to be the preferred choice for | |
all resolutions except 320x200. This can be useful if WQ is crashing | |
because of a buggy VESA driver. | |
-nodirectdraw: WQ will not try to use DirectDraw modes. This can be | |
useful if WQ is crashing because of a buggy DirectDraw driver. | |
-novbeaf: WQ will not try to use VBE/AF 1.0 or later modes. | |
-startwindowed: WQ will come up in a windowed mode, without going | |
fullscreen even during initialization. | |
-noforcevga: normally, WQ uses VGA mode 0x13 for the default 320x200 | |
mode, even if a DirectDraw or VESA 320x200 mode exists. However, | |
DirectDraw and VESA modes can be considerably faster than mode 0x13, | |
because they can set up a linear framebuffer with higher memory | |
bandwidth. If you specify -noforcevga, the default 320x200 mode in | |
the menu will be a DirectDraw or VESA mode if one exists. This has no | |
effect on modes selected via the console variable vid_mode, and if | |
320x200 is already your video mode, -noforcevga doesn't do anything | |
until you use the menu to select another mode, then select 320x200 | |
again. (So if your default mode is 320x200 and you then specify | |
-noforcevga, switch away to some other mode and then back to 320x200 | |
to get the potentially faster 320x200 mode.) The downside to this | |
switch is that DirectDraw and VESA modes can cause problems in some | |
systems, due to driver bugs or hardware incompatibilities; if you | |
experience problems with this switch, don't use it. | |
-noautostretch: don't stretch windowed modes selected with | |
-startwindowed to double resolution. | |
-nofulldib: don't use fullscreen, borderless windows, even if there | |
are no DirectDraw or VESA modes available. | |
-allow360: allow listing of 360-wide modes in the video mode menu. | |
These are normally filtered out to make sure the menu doesn't get too | |
full, which could cause high-res modes not to be displayed. | |
-notriplebuf: prevent triple-buffered page flipping (rather than double- | |
buffered). This may result in slower performance, but is a workaround | |
if you encounter problems with flicker or initialization failure, which | |
could possibly happen in some modes with some DirectDraw drivers. | |
---------------------------------- | |
| A bit about how WQ sound works | | |
---------------------------------- | |
WQ can use either DirectSound or Windows wave output to generate | |
sound. If DirectSound is available, it is used; if not, if wave sound | |
is available it is used; and if neither is available, there is no | |
sound. DirectSound results in the best sound quality, and also the | |
lowest-latency sound; use it if you can, because you will be happier | |
with the results. (Note, though, that no NT sound drivers yet support | |
DirectSound.) Wave sound will often have high latency, lagging the | |
events that generate sound by hundreds of milliseconds on some | |
machines. | |
You can tell what kind of sound WQ uses on your system by looking at | |
the startup portion of the console; you will see either "DirectSound | |
initialized" or "Wave sound initialized" (neither message is printed | |
if there's no sound). Any sound failure messages will also be printed | |
in the startup portion of the console. | |
Note that WQ generates sound only when it is the active app, the one | |
with the input focus. | |
------------------------------- | |
| Sound command-line switches | | |
------------------------------- | |
The full list of sound-related command-line switches is: | |
-wavonly: dont use DirectSound, but use wave sound if available. | |
Note that wave sound is generally faster than DirectSound, but has | |
considerably greater latency. This switch is redundant on NT, because | |
all sound output on current NT drivers is wave sound. | |
-nosound: dont output any sound. | |
-primarysound: use DirectSound primary buffer output. This is | |
generally faster than normal secondary buffer output, but does not | |
work in some systems, and produces odd sound glitches on minimization | |
and focus switching in other systems. Use it at your own risk, and | |
please do not report sound bugs if you're using this switch. | |
-snoforceformat: WQ will not try to force the sound hardware to 11 | |
KHz, 16 bits per sample. This may be useful if DirectSound is failing | |
for no apparent reason, but generally WQ will produce better sound and | |
better performance if this switch is not used. | |
----------------------- | |
| Notes on networking | | |
----------------------- | |
The winsock TCP/IP driver will not cause a dial-up internet connection | |
to automatically start up when Quake is started. If you start Quake | |
with it inactive, the connection will be activated when you either try | |
to connect to a server or search for local servers. | |
The local IP address will not always be known at startup. If it is | |
currently unknown the menu will display "INADDR_ANY". This will be | |
replaced with the real address when it is known. The IP address will | |
become known when you try to connect to a server, you search for local | |
servers, or you start a server. | |
For multi-homed machines (machines with more than one network adapter | |
and IP adress), you can force WinQuake to bind to a specific IP | |
address. There is a command line option "-ip" that takes an IP | |
address as its parameter. | |
---------------------- | |
| Notes on the mouse | | |
---------------------- | |
If DirectInput is installed and functioning, WinQuake can use it for | |
mouse input, but does not do so automatically because DirectInput does | |
not work properly on all systems. DirectInput can be enabled via the | |
command-line switch -dinput. If DirectInput is not available or is | |
not enabled, WinQuake uses the normal Windows mouse APIs instead. | |
DirectInput provides slightly smoother motion; also, it tends to be | |
more responsive to fast spinning motions, and we recommend that you use | |
it if it works properly on your system. You can determine if WQ uses | |
DirectInput on your system when you use -dinput by checking for | |
"DirectInput initialized" in the startup console text. If not, you | |
might try installing DirectX 3 (note, though, that as I write this | |
there is no released DirectInput support for Windows NT, only Win95). | |
----------------------------------- | |
| Log of changes to documentation | | |
----------------------------------- | |
*** WinQuake 0.994 *** | |
Fixed bug where in some cases involving IPX, whenever a new person | |
entered the game, a current player got dumped. | |
Added DirectInput mouse support, and the -dinput command-line to | |
enable it. | |
Added -notriplebuf to disable triple buffering to work around | |
possible problems with some modes on some DirectDraw drivers. | |
Added remembering last window position, and restoring that, rather | |
than centering the window, whenever WinQuake runs in a window. | |
Can be reset with the -resetwinpos command-line switch. | |
Added the vid_minimize command, which minimizes WinQuake if and only | |
if the current mode is windowed. | |
Made it so WinQuake no longer gets suspended when Alt-Tab is used to | |
switch away from a fullscreen session. The means you can Alt-Tab | |
away from fullscreen WinQuake without losing a connection to a | |
Quake server. | |
Added vid_nopageflip console variable to turn off page flipping, and | |
documented page flipping problems this can be used to work around. | |
Documented that Del-Ctrl-Alt (in that order) causes WinQuake to | |
fault on Win95. | |
Fixed the winsock TCP/IP driver so it will not cause a dial-up | |
internet connection to automatically start up when Quake is started. | |
If you start Quake with the internet connection already active, there | |
will be no difference. If you start Quake with it inactive, the | |
connection will be activated when you either try to connect to a | |
server or search for local servers. | |
The local IP address will not always be known at startup now. If it | |
is currently unknown the menu will display "INADDR_ANY". This | |
will be replaced with the real address when it is known. The IP | |
address will become known when: you try to connect to a server, | |
you search for local servers, or you start a server. | |
For multi-homed machines (machines with more than one network | |
adapter and IP adress), you can now force WinQuake to bind to a | |
specific IP adress. There is a new command line option "-ip" that | |
takes an IP address as its parameter. | |
Added vid_fullscreen_mode and ability to select that mode by | |
clicking on the maximize button. Added two commands: | |
vid_fullscreen to switch to vid_fullscreen_mode, and | |
vid_windowed to switch to vid_windowed mode. | |
Changed joystick default to disabled; now it only works if the | |
joystick cvar is set to 1; however, this setting now remains in | |
effect permanently. Added joystick documentation below. | |
Documented dprint only works if developer set to 1. | |
Documented scrunching of MS-DOS windows on Alt-Tab. | |
Documented that NT versions earlier to 4.0 are not supported. | |
Added DirectInput support for devices such as First Person | |
Gaming's Assassin controller. All buttons should now | |
be configurable in WinQuake. | |
Fixed bug where when low-res fullscreen DIB modes selected from | |
the menu sometimes ran very slowly or produced garbled displays. | |
Fixed bug where 1.06 and earlier save files couldn't be loaded | |
by WinQuake. | |
Removed "Net play pauses every few seconds" bug; it was determined | |
not to be a bug, just an artifact of network play. | |
Noted that even when BIOSes do have VESA 2.0 built-in, it's often | |
so buggy that WinQuake crashes in faster configurations, and that | |
SciTech Display Doctor is the easiest way to get reliable VESA | |
support. | |
Added note on Alt-Tab only working if Tab released first. | |
*** WinQuake 0.992 *** | |
Implemented force_centerview. | |
Fixed backspace bug in dedicated console. | |
Made "player entering game" messages and "say" messages visible | |
in dedicated console. | |
Added description of -heapsize (how to change default memory | |
allocation). | |
Added description of "net play pauses every few seconds" bug. | |
Added description of "playdemo fails across multiple levels" bug. | |
Added hooks for QHost; however, WinQuake won't work with QHost | |
until a new version of QHost 3.0, which uses the hooks, is | |
released. QHost 3.0 will not work with WinQuake. | |
Fixed bug where savegame descriptions weren't always terminated | |
properly. | |
Fixed bug where running -dedicated reset part of config.cfg to | |
defaults. | |
*** WinQuake 0.991 *** | |
Fixed problem with pre-1.07 (DOS) clients connecting to WinQuake. | |
Got rid of "Starting Quake..." dialog when running -dedicated. | |
Added -novbeaf switch to turn off VBE/AF support in case of problems, | |
and updated documentation. | |
Corrected SciTech's U.S. Mail address in documentation. | |
Added joystick bug decriptions and workarounds. | |
------------------ | |
| Special thanks | | |
------------------ | |
Special thanks for help with WinQuake to: | |
James Barnes | |
Kendall Bennett | |
Raymond Chen | |
John Colleran | |
Andrew Goossen | |
Mike Harrington | |
Chris Hecker | |
Todd Laney | |
Scott Ludwig | |
...and all the beta testers! | |
====================================================================== | |
End of Document 3/21/97 | |
====================================================================== |