ref: 97fc2406c07e5f9effa9dea2942e9ed5f1f49053
dir: /qw/docs/qwcl-readme.txt/
-------------------------- | 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: [email protected] 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).