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