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