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

| 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

======================================================================

