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

| Windows-related QuakeWorld information |

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



QuakeWorld is a Win32 app, and will run on either Win95 or Windows NT.  

It is designed to take advantage of whatever enhanced video and sound 

capabilities (such as DirectX or VESA video modes) are present, but has 

fallback functionality so it can run on any Win32 system, even if, for 

example, neither DirectX nor VESA is installed.  You may experience 

problems running QW on some systems, because driver and operating-system 

support for game functionality are not yet mature, and many bugs and 

incompatibilities remain.  This document will describe the Windows-

specific functionality (video and sound) supported by QW, and known 

problems and workarounds.  If you encounter what seems to be a bug, 

please fill out and submit the QuakeWorld bug report at 

http://www.idsoftware.com/contact/.



The rest of this document is organized as follows:



Common problems and workarounds

A bit about how QW video works

Video command-line switches

A bit about how QW sound works

Sound command-line switches







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

| Common problems and workarounds |

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



QW crashes or won't run

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



If the QW client refuses to run or crashes on your system, try running 

it with the following command line:



qwcl -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), and may 

result in fewer or slower high-res video modes.  If the above command-

line 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:



qwcl -dibonly -nosound



which forces QW into silent operation with bare-bones video support.  

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 can be downloaded from 

http://www.microsoft.com/mediadev/download/directx.zip; it is a 6.3 Mb 

file.  (In fact, getting the latest MS-supplied version of DirectX is a 

good idea if you have any video or sound problem.)



One known problem of this sort involves the current SB16 drivers from 

Creative Labs, which cause QW 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 help to get the latest BIOS upgrade.





How do I select fullscreen or windowed QW operation?

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

Check out QW'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, QW 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 QW video works” section, below.





QW crashes when Alt-Tabbing from fullscreen QW to a fullscreen DOS box

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

We are in the process of adding a VxD to solve this problem, but 

currently you should never Alt-Tab from a fullscreen QW session using a 

DirectDraw or VESA mode or VGA mode 0x13 to a fullscreen DOS box.  (You 

can tell whether a mode is a DirectDraw or VESA mode or VGA mode 0x13 by 

using vid_describemodes in the console, as discussed below.)  If this is 

a particular problem for you, try running -dibonly.  Apart from 

switching to a fullscreen DOS box, Alt-Tab, Ctrl-Esc, and the Windows 

Key should work properly.





Multiple Alt-Tabs sometimes leave screen blank

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

Sometimes, rapidly pressing Alt-Tab multiple times leaves a blank 

screen.  If this happens, just press Alt-Tab slowly one or two more 

times, and the screen will come back.





DOS Quake reports unknown variables on startup after running QW

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

QW uses some console variables that do not exist in DOS Quake, and some 

of these are automatically archived in config.cfg when you exit QW.  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 QW.  Apart from losing the settings, this 

is harmless; ignore it.





Can't run fullscreen on NT 3.51

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

Unfortunately NT 3.51 doesn't support DirectDraw or any other mode-

setting mechanism.  You can run in a window, though.





Ctrl-Alt-Del does bad things when running fullscreen

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

We're working on a VxD to fix this one, but it's true that in DirectDraw 

and VESA fullscreen modes, Ctrl-Alt-Del on Win95 results in a blank 

screen.  Try not to do this, and if you do, hit Esc to return to QW.  

(DON'T hit Enter, because that kills QW, and then you're stuck there 

with a blank screen and no way to get back to the desktop.)





QW 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.





Gee, I wish I could use a mouse to play QW with when running 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, or Ctrl-Esc) to 

switch away from QW.





The maximize box on the QW window doesn’t work

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

It’s not supposed to; it’s grayed out.  You don’t want to run a 

fullscreen window at your desktop resolution; it’d be really slow.  

That’s why we have all those nifty lower-resolution fullscreen modes in 

the Video menu.





QW 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 QW 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.  The 

-noforcevga command-line switch can also help produce a faster 320x200 

mode on Win95 (but may not work on some video cards); you can get the 

same result by doing vid_describemodes, then using vid_mode to select a 

non-VGA 320x200 mode, as described in the “A bit about how QW video 

works” section.  That's about all you can do to speed up fullscreen QW 

on Win95, other than shrinking the active area of the screen.



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, QW has NT stretch 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 QW at 640x480 than 

320x240-stretched on NT.)  One thing that can help is 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.  QW 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 will almost never 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, 

QW's sound should automatically be snappier.





Sound breaks up or gets choppy, especially in menus

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

This is generally a sign that QW's frame rate is too low on your system.  

Try reducing resolution or shrinking the active area of the screen 

(getting a faster computer is another, more expensive alternative).  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

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

DirectDraw lets QW change all 256 colors, so when a palette flash 

happens, we can change all the colors, including black.  However, on NT, 

DirectDraw doesn't allow changing black; likewise, black can't be 

changed in a window, either a normal window or fullscreen.  

Consequently, some parts of the QW 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 behavior, especially with sound, has been reported if the 

Office shortcut bar is running while QW is running.  If you experience 

odd problems, you might try shutting down the Office shortcut bar and 

see if that fixes anything.





QW has no sound when another app was playing sound in background

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

If another app is playing a sound in the background while QW starts, QW 

will be unable to gain control of the sound hardware, and will not 

output any sound.  If this happens, exit QW, stop the other app from 

making sound, and restart QW.





Win95 crashes when another app was playing sound in background

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

There is a report of Win95 crashing when another app starts a sound just 

as QW initializes sound during startup.  This is rare even for this 

person, but if this becomes a problem for you, shut down the offending 

app if possible, or try running -wavonly, which will result in less 

snappy sound but shouldn’t cause a crash.





QW gets funny colors when it’s not the active app

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

QW is a palettized app, and needs all 256 colors to look right.  When it 

isn’t the active app, it loses the ability to get more than 236 colors 

(and if there’s another palettized app running, QW may not be able to 

get any of the exact colors it wants), so it does its best (which is 

sometimes not very good) to look right using the current colors.  But it 

puts everything back again as soon as it is reactivated, and anyway, 

when it’s not active, you can’t actually do anything in QW, so it 

doesn’t really matter anyway, right?





Desktop redraws a lot when QW runs windowed

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

We're fixing this, but right now when QW runs windowed and the palette 

changes, the other stuff on the desktop often redraws, sometimes 

flickering as it does so.  Apart from being ugly, the extra redrawing 

can cause a noticeable slowdown.  The best fix is to run fullscreen; 

otherwise, minimize as much stuff as possible to reduce redrawing.





Fullscreen QW sometimes drops the connection when switched away from

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

If QW is running in a fullscreen mode that’s not a fullscreen window 

mode (that is, if it’s a DirectDraw mode, a VESA mode, or 320x200 VGA 

mode 0x13), then if you switch away with Alt-Tab, Ctrl-Esc, or the 

Windows key, QW will be suspended.  Not paused—completely suspended, 

doing nothing.  After about 30 seconds, your net connection to the 

server will be dropped.  We’re really sorry about this, but right now we 

can’t change it.  One workaround is to change to a windowed video mode 

when you want to switch away; there’s no connection dropping if you’re 

running in a normal window.  You could also try running -dibonly, which 

uses fullscreen windows for fullscreen modes; QW is not paused when you 

switch away from fullscreen in this case.  The downside to -dibonly is 

that it can be significantly slower than normal fullscreen modes, 

especially at low resolutions. 





High-resolution modes don’t work on the Intergraph Reactor

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

Sad but true.  Working on it, but for now try -nowindirect and see if 

that fixes things.  Or maybe their latest BIOS upgrade fixes the 

problem.





Sometimes Permedia boards crash unless -nowindirect is used

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

Still working on this one too; for now, use -nowindirect.





Keys whacked during mode switches sometimes go to other apps

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

During a mode switch, there is a small period when QW doesn’t have any 

window, and if you hit keys then, they will go to the next app on the 

desktop, possibly doing things you won’t like.  So please don’t whack 

keys during mode sets.





Problems if an autorun CD is inserted while QW is fullscreen

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

If you insert an autorun CD, then exit its window, you’ll switch back to 

the QW window, but input won’t be going to QW properly for some reason.  

Just do an Alt-Tab and you’ll be fine.





Right-click|close on QW button in system bar to close doesn’t work

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

This specific problem only happens running -dibonly (with fullscreen 

windows); right-click doesn’t work at all when minimized in other 

fullscreen modes.  Working on it; for now, don’t do it.





Quake turns system sound down to zero

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

This happens occasionally, although we have no idea why yet.  If it 

happens to you and you see any potential causative event, please let us 

know.





Screen saver never kicks in when running fullscreen

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

Actually, it doesn’t kick in if you’re running windowed with the mouse 

enabled, either.  The mouse code does stuff that convinces Windows we’re 

never idle.  We’ll fix this in the future if people think it’s a 

problem.





QW doesn’t work in a window in 16-color mode

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

That’s 16 *colors*, not 16-bpp.  If you’re still running 16-color mode, 

only run QW fullscreen.





There’s no joystick support

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

Not yet.  Sorry about that.







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

| A bit about how QW video works |

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



QW 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 both DirectDraw and 

VESA graphics modes if those are available.



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.zip (it is a 6.3 Mb 

file), and install it.



In order for VESA modes to be available, a driver must be installed; a 

VESA driver can either be built into the BIOS, or loadable software.  

The most common VESA driver is Scitech Display Doctor, from Scitech 

Software. The latest version of 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: sales@scitechsoft.com



SciTech Software

5 Governors Lane, Suite D

Chico, CA  95926-1989

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



What all this means is that on Win95, QW will always be able to run in 

the following modes:



1)  in a window

2)  fullscreen 320x200 VGA mode 0x13 (unless -noforcevga is used)

3)  fullscreen high-resolution of some sort



Category #3 can be any of several configurations.  On Win95, if either 

DirectDraw or VESA 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 unless the -noforcevga command-line switch is 

used.)  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.



NT is similar but not identical, because neither VESA modes nor VGA mode 

0x13 are available.  On NT, QW will always be able to run in the 

following modes:



1)  in a window

2)  fullscreen high-resolution of some sort



On NT, category #3 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 QW supports on your machine 

given the command-line switches you've used.  Each mode is followed by 

the name of the internal QW driver that supports it, so you can tell 

which modes are DirectDraw, VESA, and so on, as follows:



WINDOWED: QW runs in a normal window

FULLSCREEN VGA8.DRV: VGA 320x200 mode

FULLSCREEN ACCEL8.DRV: VESA mode

FULLSCREEN DDRAW8.DRV: DirectDraw mode

FULLSCREEN DIB: fullscreen borderless window



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.



The windowed modes are more interesting than they seem.  320x240 is just 

what you’d think, but 640x480 is actually rendered at 320x240 and 

stretched up to 640x480, because most machines can’t handle 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 window



vid_config_y: height of window



vid_stretch_by_2: whether to render at half-resolution in each direction 

and stretch up to the specified size, or render at full resolution



After setting these variables in the console, do a vid_forcemode 2, and 

you’ll 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.







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

| Video command-line switches |

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



The full list of video-related command-line switches is:



-dibonly: QW 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 QW has.



-nowindirect: QW will not try to use VESA modes.  Note that if there are 

both DirectDraw and VESA modes for a given resolution, QW will normally 

use the VESA mode; -nowindirect allows DirectDraw modes to be the 

preferred choice for all resolutions except 320x200 (see -noforcevga 

below).



-nodirectdraw: QW will not try to use DirectDraw modes.



-startwindowed: QW will come up in a windowed mode, without going 

fullscreen even during initialization.



-noforcevga: normally, QW 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 will be 

a DirectDraw or VESA mode if one exists.  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.





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

| A bit about how QW sound works |

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



QW 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.



Note that QW 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: don’t use DirectSound, but use wave sound if available



-nosound: don’t output any sound



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

End of Document 12/10/96

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



