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