1--------------------------
2| wqreadme.txt           |
3| WinQuake documentation |
4| 3/21/97                |
5--------------------------
6
7WinQuake (WQ) is a native Win32 version of Quake, and will run on
8either Win95 or Windows NT 4.0 or later.  It is designed to take
9advantage of whatever enhanced video, sound, and input capabilities
10(such as DirectX or VESA VBE video modes) are present, but has
11fallback functionality so it can run on any Win95 or NT 4.0 or later
12system, even if neither DirectX nor VESA VBE is available.  You may
13experience problems running WQ on some systems, because driver and
14operating-system support for game functionality are not yet mature
15under Win32, and many bugs and incompatibilities remain in those
16components.  If you encounter what seems to be a bug, first please
17check through the list of known problems, below.  If your problem
18doesn't appear on the list, please fill out and submit the WQ bug
19report at http://www.idsoftware.com/contact/.
20
21The material accompanying Quake is the reference for all
22non-Windows-related matters concerning WinQuake; in terms of gameplay,
23WQ is the same as Quake.  This file contains Windows-related
24information only.
25
26The rest of this document is organized as follows:
27
28Installing and running WinQuake
29Common problems and workarounds
30A bit about how WQ video works
31Video command-line switches
32A bit about how WQ sound works
33Sound command-line switches
34Notes on networking
35Notes on the mouse
36Log of changes to documentation
37Special thanks
38
39
40-----------------------------------
41| Installing and running WinQuake |
42-----------------------------------
43
44In order to run WinQuake, you must first have Quake installed.
45Assuming Quake is installed in the standard directory, c:\quake,
46unzip the WinQuake zip file into c:\quake.  The following files
47from the zip file must be present in order for WQ to run:
48
49winquake.exe
50pmpro16.dll
51pmpro32.dll
52wdir16.dll
53wdir32.dll
54wdirnop.com
55wdirnop.pif
56
57Then you can run WinQuake by making c:\quake the current directory,
58typing "winquake" and pressing the Enter key.  Alternatively, you can
59use wq.bat to run WinQuake.  The wq batch file requires one parameter
60describing how to configure WQ for performance; just type "wq" to get
61a list of the six options.  The first of the six options is
62
63wq fast
64
65This is the same as typing "winquake"; this runs WinQuake in an
66aggressive configuration that is likely to yield the best performance
67if it runs successfully on your system, but which has a risk of
68causing WinQuake or even your system to crash if there are bugs or
69incompatibilities in your video or sound drivers.  Alternatively, you
70can use
71
72wq safe
73
74to run WinQuake in a conservative configuration, likely to run
75on almost all machines with no problems, but possibly with slower
76graphics, fewer high-resolution modes, and delayed sound.  Or you
77can run
78
79wq verysafe
80
81to run WinQuake in a very conservative configuration that is pretty
82much guaranteed to run, but will probably have slow performance, and
83will have no sound.  Two other options are
84
85wq fastvid
86
87which has maximum video performance, but greater sound latency (delay
88until the sound is heard), and
89
90wq fastsnd
91
92which uses more conservative video modes, but low-latency sound.
93
94(One odd note is that DirectSound has much lower-latency sound than
95wave sound, but is currently quite a bit slower overall.  Thus you
96may find that "wq fastvid" is actually faster, by as much as 5-10%,
97than "wq fast"; however, it may not feel faster, because the sound
98will lag.)
99
100Finally, you can use
101
102wq max
103
104which is the same as wq fast, but turns on DirectInput, which
105provides more responsive mouse control, but does not work properly
106on all systems.
107
108Note that DirectX is not required for WQ to run, but WQ will
109automatically take advantage of DirectSound and DirectDraw if they
110are present.  If DirectSound is not present, there will generally be
111considerable sound latency (sound will become audible several hundred
112milliseconds after the event that caused it).  Note also that there
113are currently no true DirectSound drivers for Windows NT, so WQ will
114always run using wave output on NT, and will consequently have lagged
115sound.  See below for information about obtaining DirectX if you do
116not have it.
117
118Note that VESA VBE modes aren't required for WQ to run, but WQ will
119automatically make VESA modes available if they're present.  Your BIOS
120may already have VESA VBE 2.0 support built in, but most BIOSes
121don't. Worse, some BIOSes do have VESA VBE 2.0 built-in, but have
122buggy implementations, which may prevent you from being able to run
123the faster configurations of WQ.  An easy way to get reliable VESA 2.0
124support is by obtaining SciTech Display Doctor; see below for
125further information. WQ can also use VBE/AF 1.0 and greater modes;
126again, SciTech Display Doctor is the commonest way to get VBE/AF
127support.
128
129Note that winquake -dedicated completely replaces the old winded
130dedicated Win32 server, which is now obsolete.
131
132WinQuake normally uses half the physical memory in your system for its
133heap, but not less than 8.5 Mb and not more than 16 Mb.  You can
134override this with "-heapsize n", where n is the amount of memory to
135allocate for the heap, in Kb.
136
137To use the joystick, you must bring down the console by pressing the
138tilde ('~') key, and type "joystick 1<enter>"; you can disable the
139joystick with "joystick 0<enter>" at any time.  The joystick setting
140remains in effect for subsequent WinQuake sessions until changed, so
141you only need to do joystick 1 once to enable the joystick.  If the
142joystick somehow causes problems that keep you from being able to run
143WinQuake at all, you can start WinQuake -nojoy to complete disable the
144joystick for that session.
145
146
147-----------------------------------
148| Common problems and workarounds |
149-----------------------------------
150
151WQ crashes or won't run
152-----------------------
153
154If WQ refuses to run or crashes on your system, try running
155it using "wq safe" or "wq verysafe".  Or you can use command-line
156switches:
157
158winquake -nodirectdraw -nowindirect -wavonly
159
160This will almost certainly solve your problem; however, it may result
161in  lagged sound (a long delay from action to hearing the sound), may
162result in fewer or slower high-res video modes, and the mouse may be
163somewhat less responsive.  If this does work, you can try removing
164each of the command-line switches until you identify the one that
165fixes the problem, thereby sacrificing as little functionality as
166possible.
167
168If the above command line does not fix your problems, try:
169
170winquake -dibonly -nosound
171
172which forces WQ into silent operation with bare-bones video support
173and no use of DirectInput for mouse input (the normal Windows mouse
174APIs are used instead).  Again, if this works, try removing switches
175until you identify the needed one.
176
177Both of the above command lines are quick fixes.  Often, the problem
178is caused by outdated or buggy DirectX drivers or code, and can
179frequently be completely fixed simply by installing the latest
180Microsoft-supplied version of DirectX, which you may be able to find
181on http://www.microsoft.com/mediadev/download/directx.exe, although
182the availability and location of the DirectX file changes
183periodically; note that at last check, this is a 3.4 Mb file.  (Be
184aware, though, that sometimes Microsoft's DirectX drivers don't
185support features that the manufacturers' drivers do support, such as
186display refresh rate control.)
187
188One known problem of this sort involves the current SB16 drivers from
189Creative Labs, which cause WQ to crash on some machines.  The
190DirectSound drivers from Microsoft, available via the above-mentioned
191URL, fix this problem.
192
193It can also sometimes help to get the latest Windows drivers for your
194video adapter or sound card (although as the SB16 example indicates,
195this is not always a good idea), and for video boards that have flash
196BIOSes, it can sometimes help to get the latest BIOS upgrade.
197
198
199How do I select fullscreen or windowed WQ operation?
200----------------------------------------------------
201Check out WQ's new, spiffy Video menu, accessible from the Options
202menu.  There are now two types of modes listed, windowed and
203fullscreen.  You can make any of these modes the current and/or
204default mode, just as in DOS Quake.  If you make a windowed mode the
205default, WQ will still briefly start up in fullscreen mode, then
206switch to windowed; if this is a problem, use the -startwindowed
207command-line switch.  More complete video control is available
208through the console, as described in the "A bit about how WQ video
209works" section, below.
210
211
212Gee, I wish I could use a mouse to play WQ with in a window
213-----------------------------------------------------------
214You can!  While in a windowed mode, go to the Options menu.  At the
215bottom, you'll find a new selection that lets you choose to have the
216mouse active when you're in a window.  Of course, if you do this,
217you'll have to use the keyboard (Alt-Tab, the Windows key, Ctrl-Esc,
218Alt-Esc, or Shift-Alt-Tab) to switch away from WQ.
219
220
221Serial/modem menu is missing
222----------------------------
223WQ currently does not support direct connect serial or modem play.
224
225
226DOS Quake reports unknown variables on startup after running WQ
227---------------------------------------------------------------
228WQ uses some console variables that do not exist in DOS Quake, and
229some of these are automatically archived in config.cfg when you exit
230WQ.  If you then start DOS Quake, DOS Quake will complain that it
231doesn't recognize those variables.  You will also lose the settings
232of these variables when you return to WQ.  Apart from losing the
233settings, this is harmless; ignore it.
234
235
236Problems running WQ on NT 3.51
237------------------------------
238NT 3.51 isn't supported by WQ.
239
240
241WQ crashes while switching modes or Alt-Tabbing
242-----------------------------------------------
243So far, all cases of this seem to be tied to Creative Lab's SB16 sound
244drivers, and have been fixed by getting the latest DirectX drivers, as
245described above.  Alternatively, you should be able to fix this either
246by not switching modes or Alt-Tabbing, or by running -wavonly to
247disable DirectSound support.
248
249
250WQ sometimes runs pretty slowly fullscreen
251------------------------------------------
252There are several possible reasons for this, starting with "You have a
253slow computer."  Assuming that's not the case, if you don't have
254either DirectDraw or SciTech Display Doctor installed (see the "A bit
255about how WQ video works" section), it would probably be a good thing
256to install one or the other, because slow operation can be a result
257of slow copying or stretching of pixels to the screen by a Windows
258driver, something that's eliminated by both DirectDraw and Display
259Doctor.  You can also sometimes get a faster 320x200 mode on Win95 by
260doing vid_describemodes, then using vid_mode to select a non-VGA
261320x200 mode, as described in the "A bit about how WQ video works"
262section.
263
264You can also try using a primary sound buffer on Win95 (this doesn't
265work on NT) by using the -primarysound command-line switch; this can
266improve performance by several percent, but does not work on all
267systems, and can result in odd sound effects on some systems when
268minimizing WQ or switching the focus away from it.  If you use this
269switch, please don't report sound bugs; it's in there purely for you
270to use if it helps you, and we know it has problems on many systems.
271Finally, you can use -wavonly to select wave sound; this will increase
272your sound latency (sounds will be heard later than they should), but
273allows WQ to run 5-10% faster on some systems.  That's about all you
274can do to speed up fullscreen WQ on Win95, other than shrinking the
275active area of the screen with the screen size control in the Options
276menu.
277
278NT 4.0 comes with DirectX installed, but doesn't have any resolutions
279lower than 640x480.  In order to support a lower-resolution 320x240
280mode, WQ has NT double each pixel in both directions to get enough
281pixels for 640x480.  The extra stretching costs some performance, the
282result being that NT can seem sluggish on all but high-end Pentiums
283and Pentium Pros.  (In fact, depending on the quality of your driver's
284stretching code, it can sometimes be faster to run WQ at 640x480 than
285320x240-stretched on NT.)  One thing that can help on NT is switching
286to 640x480, then using the Options menu to shrink the active area of
287the screen.
288
289A common cause of slowness running in a window is having the desktop
290run in 16- or 32-bpp mode.  WQ is an 8-bpp application, and it slows
291things down if pixels have to be translated from 8-bpp to 16- or
29232-bpp.  (Note that this is generally a problem only when running in a
293window; fullscreen apps rarely suffer from this.)
294
295
296Sound is sluggish on NT
297-----------------------
298NT doesn't have any real DirectSound drivers yet, so there's no way to
299do quick-response sound on NT.  When DirectSound drivers for NT
300appear, WQ's sound should automatically be snappier.
301
302
303Sound breaks up or gets choppy, especially in menus
304---------------------------------------------------
305This is generally a sign that WQ's frame rate is too low on your
306system.  Try reducing resolution or shrinking the active area of the
307screen.  In some circumstances, it may help to set the console
308variable _snd_mixahead to a larger value.
309
310
311The color black doesn't change with palette flashes sometimes
312-------------------------------------------------------------
313Normally, DirectDraw lets WQ change all 256 colors, so when a palette
314flash happens, we can change all the colors, including black.
315However, on NT DirectDraw currently doesn't allow changing black;
316likewise, on both NT and Win95, black can't be changed in a window,
317either a normal window or fullscreen.  Consequently, in some modes and
318in a window, some parts of the WQ screen (such as the sigils on the
319status bar and the spray where a shotgun blast hits) stay black when
320the palette flashes.  There is no workaround.
321
322
323Problems can result if Office shortcut bar is running
324-----------------------------------------------------
325Various odd behaviors, especially with sound, have been reported if
326the Office shortcut bar is running while WQ is running.  If you
327experience odd problems, you might try shutting down the Office
328shortcut bar and see if that fixes anything.
329
330
331Other apps fail to play sound while WinQuake is running
332-------------------------------------------------------
333The sound hardware is currently not a fully shareable resource on
334Win32.  Consequently, while WQ is running, it always has the sound
335hardware allocated to itself, to make sure that sound is never lost to
336another app.  This means that normally (when WQ is using DirectSound),
337apps that use wave sound (most non-game apps) will not be able to play
338sound while WQ is running, even if WQ is minimized or not the active
339app, although other DirectSound apps will be able to play sound when
340WQ is not the active app.  If WQ is using wave sound rather than
341DirectSound (either because -wavonly is used on the command line, or
342because there is no DirectSound driver, as is always the case on NT),
343then no other app will be able to play any sound while WQ is running,
344period.
345
346
347WQ doesn't have quite the right colors when its not the active app
348-------------------------------------------------------------------
349We're working on fixing this.  But WQ puts everything back again as
350soon as it is reactivated, and anyway, when its not active, you cant
351actually do anything in WQ, so it doesnt really matter anyway, right?
352
353
354Desktop is weird colors when WQ runs windowed
355---------------------------------------------
356WQ needs all 256 colors to look right and run fast, which causes it to
357have to change some of the 20 colors used to draw the desktop.
358
359
360Sometimes Permedia boards crash unless -nowindirect is used
361-----------------------------------------------------------
362It looks like this is probably a Permedia driver bug, so it might help
363if you get the most recent drivers.
364
365
366Right-click on WQ button in task bar to close doesnt work as expected
367----------------------------------------------------------------------
368In some modes, right-clicking on the WQ task bar button doesn't work
369the way you'd expect.  We're trying to fix this, but if it's a
370problem, don't right-click.
371
372
373Screen saver never kicks in when running WQ fullscreen
374------------------------------------------------------
375It does work windowed, but when WinQuake is fullscreen, it completely
376owns the screen and doesn't share it with anyone, even the
377screensaver.  If you use Alt-Tab to minimize WQ, the screensaver will
378then be enabled, so Alt-Tab away from WQ if you're leaving your
379computer alone for a while and want the screensaver to be able to kick
380in.
381
382
383WQ doesnt work in a window in 16-color mode
384--------------------------------------------
385Thats 16 *colors*, not 16-bpp.  If youre still running a 16-color
386desktop, run WQ fullscreen.
387
388
389Can't minimize window while mouse active
390----------------------------------------
391When running in a window with the mouse active as a WQ input device,
392there is no easy way to minimize the window, because the system menu
393can't be brought up from the keyboard (because some of you use Alt
394and Spacebar for playing the game), and the mouse can't be used to
395manipulate the window because it's controlling WQ.  To minimize, you
396can disable the mouse for WQ and use it to minimize the window.  Or
397on Win95 you can Alt-Tab away from WQ, then use the mouse to
398minimize (this doesn't work on NT, where clicking on the window
399controls just reactivates WQ).  Or you can bind a key to the
400vid_minimize command, as in
401
402bind m "vid_minimize"
403
404and press that key to minimize the window.
405
406
407Window controls don't work on NT when mouse enabled
408---------------------------------------------------
409When running in a window on NT with the mouse enabled (so you can use
410the mouse to play WQ), if you Alt-Tab away from WQ, then use the mouse
411to click on the WQ system menu control, or the minimize, maximize, or
412close controls, the controls are ignored and WQ just reactivates.
413
414
415Mouse sometimes vanishes in system menu on Win95
416------------------------------------------------
417On Win95, if WQ is running in a window with the mouse enabled (so you
418can use the mouse to play WQ), if you Alt-Tab away, then click on the
419system menu, the menu comes up, but the mouse vanishes.  However, you
420can still use the keyboard to select system menu items, or to exit
421the system menu.
422
423
424WQ behaves oddly if Scandisk starts defragmenting
425-------------------------------------------------
426If WQ is running fullscreen on Win95 when Scandisk starts an automatic
427defragging, WQ is forced to minimize, and when it is brought back up,
428may either be in a strange mode where it runs one frame for each
429keystroke (in which case Alt-Tab generally fixes things), or may hang
430the system.  We don't know what the problem is right now, but you may
431want to make sure you don't leave WQ sitting there fullscreen
432overnight if you have automatic defragging.
433
434
435Hang reported with zero sound volume
436------------------------------------
437When sound is turned all the way down via the WQ menus, hangs have
438been reported.
439
440
441Joystick worked fine with earlier versions of WinQuake but not now
442------------------------------------------------------------------
443The joystick was enabled by default in earlier versions of
444WinQuake, but quite a few people reported serious problems that
445forced them to disable the joystick--even some people who didn't
446have a joystick attached.  Since most people don't have joysticks,
447we've decided to disable the joystick by default, and let people
448who do want to use it set joystick 1 in the console (WinQuake
449remembers this setting, so this only needs to be done once).
450
451
452WQ runs very slowly when it has the focus under NT
453--------------------------------------------------
454In one case, WQ ran very slowly when it had the focus, but fast when
455it didn't (obviously this is only visible in windowed modes).  The
456problem turned out to be that NT had a Sidewinder 3D Pro joystick
457driver installed; when the driver was removed, things were fine.
458If you see a similar problem, check whether WQ is detecting that
459your system has a joystick when you don't think it should; if so,
460try doing "joystick 0", or -nojoy on the command line, and see if
461that fixes it.  If so, there's something flaky in your system
462joystick setup.
463
464
465Joystick doesn't seem calibrated properly
466-----------------------------------------
467WQ relies on the information about your joystick stored in the
468system registry.  If the joystick seems miscalibrated, run the
469joystick applet and recalibrate and see if that fixes things.
470
471
472Playdemo fails across multiple levels
473-------------------------------------
474If "record" is used to record a client-side demo, bad things will
475happen on playback via playdemo if a level change is recorded.
476(Timedemo works fine.)  This is unfortunate, but WinQuake
477internals make this not fixable without a good chance of
478breaking something more important, so it'll have to stay this way.
479
480
481Alt-Tab fullscreen only works sometimes
482---------------------------------------
483I know it seems that way, but actually the trick is that on Win95
484it only works if you let go of Tab before you let go of Alt.
485This is due to a Windows quirk involving what key sequences are
486passed along, so you'll have to work around it by remembering to
487let go of Tab first.
488
489
490MS-DOS windows get scrunched on Alt-Tab
491---------------------------------------
492This is a quirk of Windows; when you run WinQuake in a low-res
493mode, sometimes when you exit WinQuake or Alt-Tab back to the
494desktop, any open MS-DOS windows will be scrunched down to the
495size of the low-res mode.  There is no known workaround.
496
497
498Dprint in progs doesn't work
499----------------------------
500Dprint means "developer print," so it only works if the developer
501console variable is set to 1.  It was a bug in earlier versions that
502it worked even when developer was set to 0.
503
504
505Some DirectDraw modes flicker badly and look wrong
506--------------------------------------------------
507Page flipping doesn't work properly in some modes on some
508systems, particularly when using some DirectDraw modes.  You
509can work around this by setting the console variable
510vid_nopageflip to 1, then setting the desired mode (note
511that the vid_nopageflip setting does not take effect until
512the next mode set after the setting is changed).  Bear in
513mind, though, that the vid_nopageflip setting is remembered
514until it is explicitly changed again, meaning that once you
515change it, it thereafter applies to all modes, even if you
516exit and restart WinQuake.
517
518
519The Windows key doesn't do anything fullscreen on Win95
520-------------------------------------------------------
521True.  This is a minor bug we haven't figured out how to fix yet.
522You'll have to use Ctrl-Esc, Alt-Tab, or Alt-Esc to switch away.
523
524
525My default mode is windowed, but WQ goes fullscreen first
526---------------------------------------------------------
527For internal reasons, WQ has to pick a single mode to always
528initialize when it starts up, before it sets whatever default you've
529selected.  We've chosen fullscreen mode, because that's the way most
530people will play.  If this is a problem for you, however, you can
531run WQ with the -startwindowed command-line parameter.
532
533
534Some high-resolution video modes flicker or fail to initialize
535--------------------------------------------------------------
536We think these problems are all fixed, but if not, they have to
537do with triple-buffering in some modes on some DirectDraw drivers.
538If you encounter this problem, either don't use the problem modes
539or try using the -notriplebuf command-line parameter to turn off
540triple buffering.  Note, though, that turning off triple-buffering
541can reduce performance in some modes, so do this only if needed.
542
543
544Right-click doesn't work right on minimized WinQuake
545----------------------------------------------------
546If you right-click on minimized WinQuake on the task bar, the
547Close selection in the right-click menu doesn't work; you have
548to restore WQ before you can exit it.  Also, the cursor vanishes
549over the right-click menu, although it still works.
550
551
552The screen briefly blanks when you exit WQ
553------------------------------------------
554We're trying to fix this, but it's not harmful, just a mite ugly.
555
556
557QBENCH doesn't work with WinQuake
558---------------------------------
559We've had a report that QBENCH doesn't work with WinQuake, but
560haven't had a chance to look into it yet.
561
562
563MWAVE sound loses focus
564-----------------------
565We've had a report that on a ThinkPad with MWAVE sound, WQ loses
566sound focus (and thus sound) every few seconds.
567
568
569Desktop doesn't reset to proper resolution on WQ exit
570-----------------------------------------------------
571We've had a report that on exiting WQ, the desktop didn't reset
572to the proper dimensions.  This may be a bug with the Matrox
573drivers, but we're not sure.  If it's a problem and newer
574drivers don't fix it, you can run -dibonly, which solves the
575problem but can cost some performance.
576
577
578Palette goes bad periodically on #9 Imagine card
579------------------------------------------------
580There's only one report of this, so maybe it's a flaky board,
581or maybe it's a driver bug.  Newer drivers might help.
582
583
584System with Packard Bell sound card III crashes on CapsLock
585-----------------------------------------------------------
586This appears to be the result of buggy DirectSound drivers;
587-wavonly makes the problem go away.
588
589
590Dvorak keyboard mapping ignored
591-------------------------------
592WQ is hardwired for QWERTY.
593
594
595Cursor messed up after running WQ
596---------------------------------
597This is a Windows driver bug; the driver isn't restoring the
598cursor properly on return from fullscreen WQ to the desktop.
599Try newer drivers.
600
601
602Dedicated server runs very slowly while typing at console
603---------------------------------------------------------
604When you type at a dedicated server's console, the game runs
605very slowly for everyone who's connected.
606
607
608Ctrl-Alt-Del on NT sometimes doesn't allow return to WQ
609-------------------------------------------------------
610This happens on some machines while running WQ fullscreen.
611If you experience this problem, the only workaround is not
612to press Ctrl-Alt-Del while fullscreen; Alt-Tab away first.
613
614
615Many fast Alt-Tabs on Win95 sometimes disable WQ input
616------------------------------------------------------
617If you Alt-Tab fast lots of times on Win95 with WQ running
618fullscreen, sometimes you end up in fullscreen WQ, with the
619game not accepting any keyboard input (so there's no way to
620exit).  The only workaround is to not do lots of fast
621Alt-Tabs (why you'd want to, I'm not sure).
622
623
624
625----------------------------------
626| A bit about how WQ video works |
627----------------------------------
628
629WQ has the built-in ability to draw into windows (both normal, framed 
630desktop windows and fullscreen, borderless windows).  It also has
631built- in support for VGA 320x200 graphics, and supports DirectDraw,
632VESA VBE 2.0 and VESA VBE/AF (Accelerator Functions) graphics modes,
633if those are available.
634
635WQ does not require DirectDraw, but in order for DirectDraw modes to
636be available, you must have DirectDraw installed; some systems come
637with it preinstalled, but if it's not on your system, you can download
638it from http://www.microsoft.com/mediadev/download/directx.exe (the
639exact URL may vary), and install it.
640
641WQ does not require VESA VBE, but in order for VESA VBE modes to be
642available, your graphics card must be VESA VBE 2.0 or VBE/AF
643compliant; a VESA driver can either be built into the BIOS of your
644graphics card, or loadable via software.  If you don't have a VESA VBE
645driver, Scitech Display Doctor, available from Scitech Software, will
646update most graphics cards to VESA VBE 2.0 and VBE/AF.
647
648
649SciTech Display Doctor
650----------------------
651If you are having problems with your video drivers, or if you would
652like to take a shot at improving your video performance in WQ, you may
653want to try out SciTech Display Doctor (SDD).  SDD works on just about
654any graphics card and it can do several things that can make WQ run
655better on your system:
656
6571. It will update your graphics card to be compatible with VESA VBE
6582.0 and VESA VBE/AF (Accelerator Functions). These modes will usually
659give you the best performance in WQ (which is often but not always
660faster than your current performance).
661
6622. It creates low-resolution modes on your graphics card.
663Low-resolution video modes (such as 320x240, 400x300 and 512x384)
664allow you to adjust the level of detail in WQ so you can get the best
665balance between performance and image quality.
666
667The latest version of SciTech Display Doctor can be obtained from the
668following locations:
669
670www: http://www.scitechsoft.com
671ftp: ftp.scitechsoft.com
672CIS: GO SCITECH
673AOL: Keyword SciTech
674
675SciTech can be contacted at:
676
677email: info@scitechsoft.com
678
679SciTech Software, Inc.
680505 Wall Street
681Chico, CA  95926-1989
682916-894-8400
683916-894-9069 FAX
684
685
686Video modes supported in Win95
687------------------------------
688What all this means is that on Win95, WQ will always be able to run in
689the following modes:
690
6911)  in a window
6922)  fullscreen 320x200 VGA mode 0x13
6933)  fullscreen high-resolution of some sort
694
695Category #3 can be any of several configurations.  On Win95, if either
696DirectDraw or VESA VBE modes are available, then all the DirectDraw
697and VESA modes will be presented as high-res choices.  (320x200 will
698always default to VGA mode 0x13.)  In the case that a given resolution
699is supported by both DirectDraw and VESA, the VESA mode will be used.
700(However, the command-line switch -nowindirect can turn off VESA modes
701entirely.)  If neither DirectDraw nor VESA modes are available, then
702high-resolution modes will be provided by using fullscreen, borderless
703windows in whatever resolutions the Windows driver supports, usually
704starting at 640x480 and going up.
705
706
707Video Modes Supported in Windows NT
708-----------------------------------
709NT is similar but not identical, because neither VESA VBE modes nor
710VGA mode 0x13 are available.  On NT, WQ will always be able to run in
711the following modes:
712
7131)  in a window
7142)  fullscreen high-resolution of some sort
715
716On NT, category #2 can be one of two configurations.  If DirectDraw
717modes are available, then those will be the high-res choices;
718otherwise, fullscreen, borderless windows will be used in whatever
719resolutions the driver supports, usually starting at 640x480 and going
720up.  Because there is normally no low-resolution mode such as 320x200
721or 320x240 on NT, a pseudo low-res mode is created by rendering at
722320x240, then stretching the image by doubling it in each direction
723while copying it to a 640x480 screen.  However, stretching performance
724depends on the driver, and can be slow, so sometimes 640x480 is
725actually faster than 320x240 on NT.
726
727The bottom line here is that you can generally just use the Video menu
728and pick one of the modes and be happy.  In some cases, though, you
729may need to use command-line switches (described next) to get the
730types of modes you want.  One useful tip is to go into the console and
731do vid_describemodes, which lists all the modes WQ makes available on
732your machine given the command-line switches you've used.  Each mode
733is followed by the name of the internal WQ driver that supports it, so
734you can tell which modes are DirectDraw, VESA, and so on, as follows:
735
736WINDOWED: WQ runs in a normal window
737FULLSCREEN DIB: fullscreen borderless window
738FULLSCREEN VGA8.DRV: VGA 320x200 mode
739FULLSCREEN DDRAW8.DRV: DirectDraw mode
740FULLSCREEN LINEAR8.DRV: VESA VBE 2.0+ mode
741FULLSCREEN ACCEL8.DRV: VESA VBE/AF (Accelerator Functions) mode
742                       (note that WQ does not take advantage of
743                       VBE/AF acceleration; so far as WQ is
744                       concerned VBE/AF is the same as normal VBE)
745
746You can use vid_mode from the console to set any of these modes.  So,
747for example, if you see that there are two 320x200 modes (such as one
748VGA mode 0x13, normally mode 3, and one VESA mode, normally mode 4),
749you can choose the VESA mode, which will often be faster, with
750vid_mode 4.  (You can make it the default by setting
751_vid_default_mode_win to the mode number.)
752
753There's more to the windowed modes than you might think.  320x240 is
754just what youd expect, but 640x480 is actually rendered at 320x240
755and stretched up to 640x480, because most machines cant handle the
756performance demands of real 640x480 rendering.  Likewise, 800x600 is a
757stretched 400x300.  Actually, though, vid_mode 2 (the 800x600 mode) is
758a user-configurable mode.  By setting the following console variables,
759you can change the characteristics of vid_mode 2:
760
761vid_config_x: width of mode 2 window
762
763vid_config_y: height of mode 2 window
764
765vid_stretch_by_2: whether to render at half-resolution in each
766direction and stretch up to the specified size in mode 2, or render at
767full resolution.
768
769After setting these variables in the console, do a vid_forcemode 2,
770and youll have the window you specified.  Note that after making
771these changes, the new resolution will show up as the third windowed
772mode in the Video menu.
773
774If you don't have WQ mouse play enabled in windowed mode, you can also
775go from windowed to fullscreen mode simply by clicking on the maximize
776button.  The mode switched to is controlled by the vid_fullscreen_mode
777console variable, and defaults to mode 3.
778
779Other video console commands include:
780
781vid_fullscreen: switch to the mode specified by the
782vid_fullscreen_mode console variable.
783
784vid_windowed: switch to the mode specified by the vid_windowed_mode
785console variable.
786
787Vid_fullscreen and vid_windowed can be bound to keys, so it's possible
788to flip between windowed and fullscreen with a single key press.
789
790Also, vid_minimize minimizes the WinQuake window if and only if
791WinQuake is running in a windowed mode.  You can bind a key to
792the commands "vid_windowed; wait; vid_minimize" to minimize WQ
793regardless of whether you're running in windowed or fullscreen mode.
794
795You can turn off page flipping by setting the console variable
796vid_nopageflip to 1, then setting a new mode.  (Note that the
797vid_nopageflip setting does not take effect until the next mode set.)
798Some systems run faster with page flipping turned off; also, page
799flipping does not work properly on some adapters, and vid_nopageflip
800is a workaround for this.  Note that vid_nopageflip is a persistent
801variable; it retains its setting until it is explicitly changed again,
802even across multiple WinQuake sessions.
803
804The vid_forcemode console command sets the specified mode, even if
805it's the same as the current mode (normally the mode set only happens
806if the new mode differs from the current mode).  This is generally
807useful only if you've modified the characteristics of video mode 2
808(the configurable window) while you're in mode 2, and want to force
809the new characteristics to take effect.
810
811Whenever you switch to running WinQuake in a window, the window is
812placed at the same location it was in the last time WinQuake ran
813in a window.  You can reset the window position to the upper left
814by using the -resetwinpos command-line switch.  The window position
815is stored in the vid_window_x and vid_window_y console variables.
816
817
818
819-------------------------------
820| Video command-line switches |
821-------------------------------
822
823The full list of video-related command-line switches is:
824
825-dibonly: WQ will use only windows (both normal, framed windows on the
826desktop and fullscreen, borderless windows), not any direct hardware
827access modes such as DirectDraw or VESA modes, or even VGA 320x200
828mode.  This is the closest thing to a guaranteed-to-run fullscreen
829mode WQ has.
830
831-nowindirect: WQ will not try to use VESA VBE 2.0 modes, or VBE/AF
8321.0 or later modes.  Note that if there are both DirectDraw and VESA
833modes for a given resolution, WQ will normally use the VESA mode;
834-nowindirect allows DirectDraw modes to be the preferred choice for
835all resolutions except 320x200.  This can be useful if WQ is crashing
836because of a buggy VESA driver.
837
838-nodirectdraw: WQ will not try to use DirectDraw modes.  This can be
839useful if WQ is crashing because of a buggy DirectDraw driver.
840
841-novbeaf: WQ will not try to use VBE/AF 1.0 or later modes.
842
843-startwindowed: WQ will come up in a windowed mode, without going
844fullscreen even during initialization.
845
846-noforcevga: normally, WQ uses VGA mode 0x13 for the default 320x200
847mode, even if a DirectDraw or VESA 320x200 mode exists.  However,
848DirectDraw and VESA modes can be considerably faster than mode 0x13,
849because they can set up a linear framebuffer with higher memory
850bandwidth.  If you specify -noforcevga, the default 320x200 mode in
851the menu will be a DirectDraw or VESA mode if one exists.  This has no
852effect on modes selected via the console variable vid_mode, and if
853320x200 is already your video mode, -noforcevga doesn't do anything
854until you use the menu to select another mode, then select 320x200
855again.  (So if your default mode is 320x200 and you then specify
856-noforcevga, switch away to some other mode and then back to 320x200
857to get the potentially faster 320x200 mode.)  The downside to this
858switch is that DirectDraw and VESA modes can cause problems in some
859systems, due to driver bugs or hardware incompatibilities; if you
860experience problems with this switch, don't use it.
861
862-noautostretch: don't stretch windowed modes selected with
863-startwindowed to double resolution.
864
865-nofulldib: don't use fullscreen, borderless windows, even if there
866are no DirectDraw or VESA modes available.
867
868-allow360: allow listing of 360-wide modes in the video mode menu.
869These are normally filtered out to make sure the menu doesn't get too
870full, which could cause high-res modes not to be displayed.
871
872-notriplebuf: prevent triple-buffered page flipping (rather than double-
873buffered).  This may result in slower performance, but is a workaround
874if you encounter problems with flicker or initialization failure, which
875could possibly happen in some modes with some DirectDraw drivers.
876
877
878
879----------------------------------
880| A bit about how WQ sound works |
881----------------------------------
882
883WQ can use either DirectSound or Windows wave output to generate
884sound.  If DirectSound is available, it is used; if not, if wave sound
885is available it is used; and if neither is available, there is no
886sound.  DirectSound results in the best sound quality, and also the
887lowest-latency sound; use it if you can, because you will be happier
888with the results.  (Note, though, that no NT sound drivers yet support
889DirectSound.)  Wave sound will often have high latency, lagging the
890events that generate sound by hundreds of milliseconds on some
891machines.
892
893You can tell what kind of sound WQ uses on your system by looking at
894the startup portion of the console; you will see either "DirectSound
895initialized" or "Wave sound initialized" (neither message is printed
896if there's no sound).  Any sound failure messages will also be printed
897in the startup portion of the console.
898
899Note that WQ generates sound only when it is the active app, the one
900with the input focus.
901
902
903
904-------------------------------
905| Sound command-line switches |
906-------------------------------
907
908The full list of sound-related command-line switches is:
909
910-wavonly: dont use DirectSound, but use wave sound if available.
911Note that wave sound is generally faster than DirectSound, but has
912considerably greater latency.  This switch is redundant on NT, because
913all sound output on current NT drivers is wave sound.
914
915-nosound: dont output any sound.
916
917-primarysound: use DirectSound primary buffer output.  This is
918generally faster than normal secondary buffer output, but does not
919work in some systems, and produces odd sound glitches on minimization
920and focus switching in other systems.  Use it at your own risk, and
921please do not report sound bugs if you're using this switch.
922
923-snoforceformat: WQ will not try to force the sound hardware to 11
924KHz, 16 bits per sample.  This may be useful if DirectSound is failing
925for no apparent reason, but generally WQ will produce better sound and
926better performance if this switch is not used.
927
928
929
930-----------------------
931| Notes on networking |
932-----------------------
933
934The winsock TCP/IP driver will not cause a dial-up internet connection
935to automatically start up when Quake is started.  If you start Quake
936with it inactive, the connection will be activated when you either try
937to connect to a server or search for local servers.
938
939The local IP address will not always be known at startup.  If it is
940currently unknown the menu will display "INADDR_ANY".  This will be
941replaced with the real address when it is known.  The IP address will
942become known when you try to connect to a server, you search for local
943servers, or you start a server.
944
945For multi-homed machines (machines with more than one network adapter
946and IP adress), you can force WinQuake to bind to a specific IP
947address.  There is a command line option "-ip" that takes an IP
948address as its parameter.
949
950
951
952----------------------
953| Notes on the mouse |
954----------------------
955
956If DirectInput is installed and functioning, WinQuake can use it for
957mouse input, but does not do so automatically because DirectInput does
958not work properly on all systems.  DirectInput can be enabled via the
959command-line switch -dinput.  If DirectInput is not available or is
960not enabled, WinQuake uses the normal Windows mouse APIs instead.
961DirectInput provides slightly smoother motion; also, it tends to be
962more responsive to fast spinning motions, and we recommend that you use
963it if it works properly on your system.  You can determine if WQ uses
964DirectInput on your system when you use -dinput by checking for
965"DirectInput initialized" in the startup console text.  If not, you
966might try installing DirectX 3 (note, though, that as I write this
967there is no released DirectInput support for Windows NT, only Win95).
968
969
970
971-----------------------------------
972| Log of changes to documentation |
973-----------------------------------
974
975*** WinQuake 0.994 ***
976
977Fixed bug where in some cases involving IPX, whenever a new person
978entered the game, a current player got dumped.
979
980Added DirectInput mouse support, and the -dinput command-line to
981enable it.
982
983Added -notriplebuf to disable triple buffering to work around
984possible problems with some modes on some DirectDraw drivers.
985
986Added remembering last window position, and restoring that, rather
987than centering the window, whenever WinQuake runs in a window.
988Can be reset with the -resetwinpos command-line switch.
989
990Added the vid_minimize command, which minimizes WinQuake if and only
991if the current mode is windowed.
992
993Made it so WinQuake no longer gets suspended when Alt-Tab is used to
994switch away from a fullscreen session.  The means you can Alt-Tab
995away from fullscreen WinQuake without losing a connection to a
996Quake server.
997
998Added vid_nopageflip console variable to turn off page flipping, and
999documented page flipping problems this can be used to work around.
1000
1001Documented that Del-Ctrl-Alt (in that order) causes WinQuake to
1002fault on Win95.
1003
1004Fixed the winsock TCP/IP driver so it will not cause a dial-up
1005internet connection to automatically start up when Quake is started.
1006If you start Quake with the internet connection already active, there
1007will be no difference.  If you start Quake with it inactive, the
1008connection will be activated when you either try to connect to a
1009server or search for local servers.
1010
1011The local IP address will not always be known at startup now.  If it
1012is currently unknown the menu will display "INADDR_ANY".  This
1013will be replaced with the real address when it is known.  The IP
1014address will become known when: you try to connect to a server,
1015you search for local servers, or you start a server.
1016
1017For multi-homed machines (machines with more than one network
1018adapter and IP adress), you can now force WinQuake to bind to a
1019specific IP adress.  There is a new command line option "-ip" that
1020takes an IP address as its parameter.
1021
1022Added vid_fullscreen_mode and ability to select that mode by
1023clicking on the maximize button.  Added two commands:
1024vid_fullscreen to switch to vid_fullscreen_mode, and
1025vid_windowed to switch to vid_windowed mode.
1026
1027Changed joystick default to disabled; now it only works if the
1028joystick cvar is set to 1; however, this setting now remains in
1029effect permanently.  Added joystick documentation below.
1030
1031Documented dprint only works if developer set to 1.
1032
1033Documented scrunching of MS-DOS windows on Alt-Tab.
1034
1035Documented that NT versions earlier to 4.0 are not supported.
1036
1037Added DirectInput support for devices such as First Person
1038Gaming's Assassin controller.  All buttons should now
1039be configurable in WinQuake.
1040
1041Fixed bug where when low-res fullscreen DIB modes selected from
1042the menu sometimes ran very slowly or produced garbled displays.
1043
1044Fixed bug where 1.06 and earlier save files couldn't be loaded
1045by WinQuake.
1046
1047Removed "Net play pauses every few seconds" bug; it was determined
1048not to be a bug, just an artifact of network play.
1049
1050Noted that even when BIOSes do have VESA 2.0 built-in, it's often
1051so buggy that WinQuake crashes in faster configurations, and that
1052SciTech Display Doctor is the easiest way to get reliable VESA
1053support.
1054
1055Added note on Alt-Tab only working if Tab released first.
1056
1057
1058*** WinQuake 0.992 ***
1059
1060Implemented force_centerview.
1061
1062Fixed backspace bug in dedicated console.
1063
1064Made "player entering game" messages and "say" messages visible
1065in dedicated console.
1066
1067Added description of -heapsize (how to change default memory
1068allocation).
1069
1070Added description of "net play pauses every few seconds" bug.
1071
1072Added description of "playdemo fails across multiple levels" bug.
1073
1074Added hooks for QHost; however, WinQuake won't work with QHost
1075until a new version of QHost 3.0, which uses the hooks, is
1076released.  QHost 3.0 will not work with WinQuake.
1077
1078Fixed bug where savegame descriptions weren't always terminated
1079properly.
1080
1081Fixed bug where running -dedicated reset part of config.cfg to
1082defaults.
1083
1084
1085*** WinQuake 0.991 ***
1086
1087Fixed problem with pre-1.07 (DOS) clients connecting to WinQuake.
1088
1089Got rid of "Starting Quake..." dialog when running -dedicated.
1090
1091Added -novbeaf switch to turn off VBE/AF support in case of problems,
1092and updated documentation.
1093
1094Corrected SciTech's U.S. Mail address in documentation.
1095
1096Added joystick bug decriptions and workarounds.
1097
1098
1099
1100------------------
1101| Special thanks |
1102------------------
1103
1104Special thanks for help with WinQuake to:
1105
1106James Barnes
1107Kendall Bennett
1108Raymond Chen
1109John Colleran
1110Andrew Goossen
1111Mike Harrington
1112Chris Hecker
1113Todd Laney
1114Scott Ludwig
1115...and all the beta testers!
1116
1117======================================================================
1118End of Document 3/21/97
1119======================================================================
1120