QuakeWorld v2.40 for DOS with WATTCP Stack
Original Concept and WATTCP import coding by NeoZeed
Coding by [HCI]Mara'akate and sezero

Additional code from uHexen2, taniwha, spoike, LordHavoc, 
   QuakeForge, Fitzquake, QuakeSpasm, Darkplaces and more.
---------------------------------------------------------

Table of Contents

1 - Introduction
2 - What's New
3 - Requirements
4 - Installation
5 - Known Bugs and Limitations
6 - Final Thoughts


1 - Introduction
---------------------------------------------------------

Why code for DOS in 2015 you ask?  Pretty much the same reason anybody
   is coding Quake ports these days... for fun and to learn some programming.
   This is my first serious project as far as programming goes and I have
   learned a lot.  As each day goes by, QDOS and QWDOS grow more and more in
   their complexity with new features and bug fixes.  I also love knowing
   all that is sitting between you and Quake is a packet driver, a mouse
   driver and pure DOS. =)

2. - What's New
---------------------------------------------------------

QDOS has many features, I can't remember each one that me or others have added
   but are some highlights:

* WATT32 -- Allows you to play QWDOS online with a simple
   packet driver and WATTCP.CFG.  Thanks to NeoZeed.
* -NOGUS parameter to disable GUS init.  Useful if you have an SB16
   and GUS co-existing.
* -NOCD parameter does the same as -NOCDAUDIO, but is quicker to type.
* -SAFEVGA paramater to for 320x200 mode.
* Dynamic strings for most vars.  This should help with buffer oveflows.
   Thanks to QuakeForge crew for helping me implement it.
* Press jump in NOCLIP/Water to move up.
* F_VERSION reply.  Thanks to QuakeForge crew.
* Proper timer.  Huge thanks to mysterious DJGPP guru.
* Various bug fixes that have been recommended by QuakeForge, LordHavoc,
   Sezero, and other engine authors.
* Chat buffer --  Press Up/Down or Left/Right arrows to scroll through
   previously sent chat messages.  Thanks to Taniwha for more efficient
   code.
* Gun model is drawn if FOV > 90.
* Gamespy Server Browser accessible from Multiplayer Menu and with slist2
  command.  Adapted from Q2DOS.
* WAV and Ogg Vorbis streaming music support.  Put tracks in 
  id1/music/trackXX format.
* Some FitzQuake extensions, like extended limits and chunked downloads.
* HTTP downloading via CURL in QWDOS for QuakeForge servers.
* -cddir for specifiy a cd drive path for pak files.  Also for keeping
  WAV/OGG music in a separate drive.
* 3DFX Voodoo rendering with fxMesa 6.4.2!  Check voodoo directory for 
  your glide3x.dxe.

New CVARs and CMDs:

* CL_UNBINDALL_PROTECTION -- Protects your CVARs from accidentally being
   cleared from UNBINDALL.  Very useful if you use autocomplete and
   accidentally end up on this CMD!
* CL_WARNCMD -- From QukeWorld, warn if a command is invalid.
* IN_FREELOOK -- Toggle mouse look.  Useful so you don't have to +mlook your
   autoexec.cfg.
* JOY_RECALIBRATE -- CMD to recalibrate the joystick.
* S_KHZ -- Read at startup to change the sampling rate of the audio.
* SHOW_TIME -- 1 for 24hr format, 2 for 12hr AM/PM format.
* SHOW_UPTIME -- 1 for Server/Map uptime, 2 for Client uptime.
* SHOW_PING -- Show current ping.
* SND_RESTART -- CMD to restart the audio driver.
* V_CONTENTBLEND -- This function is like gl_polyblend.  Set to 0
   to disable powerup and damage flashes, etc.

3. - Requirements
---------------------------------------------------------

Because QWDOS has supports for extended limits and other new features, the
system requirements are slightly higher compared to original Quake.
A Pentium 2 processor is highly recommended.

To play at extreme SVGA resolutions with acceptable (i.e. >= 40FPS) framerates a
P3 ~800MHZ processor or higher is recommended.

QWDOS requires a NIC with a Packet Driver and a
properly configured WATTCP.CFG in your root /QUAKE directory.

To summarize:

**Stock QuakeWorld Play:**

  * FPU Processor
  * 32MB RAM
  * VGA Videocard
  * MS-DOS v6.00
  * Keyboard, Mouse, or Joystick
  * Sound Blaster compatible or Gravis UltraSound

**Extended Limits:**

  * Pentium 2 (P3 ~800MHZ processor for serious SVGA)
  * 64MB preferred, 96MB strongly recommended.
  * VESA 2.0 videocard.
  * MS-DOS v7.00 (Windows 98 with a properly configured MSDOS.SYS and
    CONFIG.SYS)

4. - Installation
---------------------------------------------------------

1) Extract to your Quake directory
2) Load your Packet Driver and Mouse Driver.
3) Run QW.EXE
4) Frag on!

5 - Known Bugs and Limitations
---------------------------------------------------------

* Limited Win9x support.  3DFX Voodoo builds will not work in Windows.
* Gravis Ultrasound cards may not be initialized properly.  You can start
   ULTRAMID -Q.  Then run, ULTRAMID -F -Q.  This will initialize your card.
   For a batch script that handles this issue please see:
    http://dk.toastednet.org/QDOS/GUSFIX.ZIP

6 - Final Thoughts
---------------------------------------------------------

I highly recommend visiting the Utilities section of
http://dk.toastednet.org/QDOS and using UNIRV and FASTVID to greatly
increase the video speed in Quake under pure DOS.  DOSLFN will also
help avoid file renaming conflicts with long file names.

Special thanks to: neozeed, sezero, Taniwha, LordHavoc, and Spoike.

Questions?  Comments?  Email me emoaddict15@gmail.com
