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