Annotation of quakeworld/docs/qwcl-readme.txt, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.