ZDOOM v1.14a
4 August 1998 (fifth-and-a-half release)

A port of id Software's original Linux Doom source code to Win32
with additional enhancements by Randy Heit (rheit@usa.net).

This version does not include the save game loading problem found
in the original 1.14a release from 27 June 1998.

ZDoom's homepage is at: http://zdoom.notgod.com/


Contents

  1. Introduction
1-1. What's changed for 1.14a?
1-2. What's new in 1.14?
1-3. Installing ZDoom

  2. Command line arguments
2-1. Configuration options
2-2. Play options
2-3. Loading options
2-4. Debug options
2-5. Multiplayer options
2-6. Other options

  3. Configuring ZDoom
3-1. The Player Setup menu
3-2. The new Options menu
3-3. The Configure Controls menu
3-4. The Gameplay Options menu
3-5. The Display Options menu
3-6. The Video Modes menu
3-7. Changing settings not found in a menu

  4. The Console
4-1. Activating the console
4-2. Using the console

  5. Key bindings

  6. Playing a network game

  7. Known bugs

  8. Credits


1. Introduction
===============

ZDoom is an enhanced port of the official DOOM source code to Win32. As
such, it not only works with (and requires) Windows 95/NT 4.0, but it also
adds new features not found in the version published by id Software. 

ZDoom may be used and distributed free of charge. No profit may be made
from the sale of it. These are terms set forth by the Doom Source Code
license, the MIDAS Digital Audio System license, and the Prometheus
Truecolor license.


1-1. What's changed for 1.14a?
------------------------------

I recently started getting deluged with reports of a Z_Free error when
moving between levels with 1.14, so I decided to upload this intermediate
bug-fix release. Bugs fixed are:

* No more crashing about freeing a pointer without ZONEID when changing
  levels.
* Skies wider than 256 pixels are drawn correctly.
* Monsters' heights are once again the same as they were in id's original
  DOOM, so certain areas work properly again.
* Monsters shouldn't teleport into each other anymore.
* Improved support for international keyboards.
* The skill level chosen for a new game is no longer ignored if the new
  game is started while a demo is playing.

Cosmetic changes:

* No more "sv_gravity changed to...", "skill changed to...", etc. messages
  in single player games.
* Activating the player setup menu automatically stops any playing demos,
  since it doesn't work properly while they play.
* Barrels don't go flying away when exploding anymore.
* Added def_patch cvar to automatically load a DeHackEd patch each time the
  game is started.
* ZDoom save games now use the name zdoomsv?.dsg instead of doomsav?.dsg.

This version also includes some preliminary BOOM support as I started
integrating some of the BOOM source code with ZDoom:

* Medusa fix.
* Openings limit removed.
* Removed limit on switches and animations.
* Added support for BOOM-like ANIMATED and SWITCHES lumps in PWADs.
* Added support for BOOM-style scrollers (including conveyors).
* Added partial deep-water support.

1-2. What's new in 1.14?
------------------------

Contrary to what I had expected to do with 1.14, true color has not yet
been implemented. However, I have made the following changes from 1.13:

Bugs fixed:
* The bunny scroller at the end of E3M8 no longer crashes the game.
* The IDKFA cheat gives the proper amount of armor again.
* Demo recording works again.
* Telefragging works again.
* Picking up the invulnerability sphere displays the correct colors now.
* DeHackEd patches containing text replacements no longer crash the game.
* Printing a string containing "%s" to the console and then changing the
  video mode will no longer crash the game.
* Chat mode finally works again.
* If MIDAS can't initialize, you can still play the game but without sound.
* Pistol and chaingun sounds no longer cut out when there are lots of
  zombie men shooting their pistols at you.
* Mouse input should no longer be so jerky under Windows NT.
* The crosshair is finally accurate for aiming.
* Autoaim is properly remembered each time you start ZDoom.
* Switches in the Ultimate Doom that aren't also in the shareware Doom
  properly change their appearance when switched.

New features:
* Players can choose their own colors and names.
  (Player setup menu is included).
* 8-player support (untested but should work).
* Miscellaneous internal code changes have been borrowed from the BOOM
  source. (This does *not* mean that ZDoom supports BOOM levels yet.)
* Cheats, chat messages, and gamestate changes are now recorded in demos.
* Single-player demos recorded with ZDoom are generally smaller than
  before.
* Quake 2-style deathmatch flags.
* Cheats (optionally) work in multiplayer games.
* Mode X is now supported under Win95, so all the machines that couldn't
  run ZDoom in 320x200 before should be able to now.
* Fewer conditions result in error messages that quit the game. (If you
  have Heretic, try this: Start ZDoom with -file heretic and go to the
  console and type "MAP E1M1".)
* Keys can repeat in the console.
* The console and chat mode now use the localized keymap set with the
  Keyboard control panel.
* Messages at the top of the screen now break along between words instead
  of in the middle of them.
* Added -config command line parameter.
* Added -fastdemo command line parameter.
* Added new screen shot command. (bound to "Print Screen" key by default)
* Added Quake-like +showscores command. (bound to "\" key by default)
* Aliases are now saved in the config file.
* Added support for multiple pitched sounds like in very old version of
  Doom. (Use the snd_pitched cvar to turn it on and off.)

And the major differences between ZDoom and regular Doom:

- Free look (look up/down).
- High resoulutions.
- Translucency.
- A console.
- MOD and MIDI support.
- Better mouse support.
- Limited TCP/IP networking.
- Quake-style key bindings.
- Jumping.
- Crosshairs.
- Walk over/under monsters.


1-2. Installing ZDoom
---------------------

To use ZDoom, unzip both zdoom.exe and zdoom.wad into your existing Doom 
directory. (You must already have an existing copy of Doom to use this
program.) If nothing else, you need to download the shareware Doom, which
is available in several places on the Internet. To truly take advantage of
ZDoom, though you need the full game. The Depths of Doom Trilogy can be had
fairly cheaply and includes Ultimate Doom, Doom II, and The Master Levels
for Doom II.

ZDOOM REQUIRES an IWAD from a 1.9 version of Doom. If you have a lesser
version, you can find patches to upgrade your version at
ftp.idsoftware.com.

ZDoom also requires Microsofts DirectX 3 or later. If you are using
Windows 95, you can download the latest version from Microsofts website at
http://www.microsoft.com/directx. If you are using Windows NT 4.0, it is
included as part of Service Pack 3. (I dont know where to get this, but
try searching Microsofts site.)


2. Command line parameters
==========================

ZDoom supports many command line parameters. They are described below:

2-1. Configuration options
--------------------------

-bpp <x>
    Specifies the screen bit depth to use. Currently, only 8 is supported
    properly.

-width <x>
-height <y>
    Specifies the desired resolution of the screen. If only one of -width
    or -height is specified, ZDoom will try to guess the other one based on
    a standard aspect ratio. If the specified resolution is not supported
    by your DirectDraw drivers, ZDoom will try various resolutions until it
    either finds one that works or gives up. To determine which resolutions
    ZDoom can use, use the vid_describemodes command from the console once
    you have started the game.

-cdrom
    Causes ZDoom to look for savegames in a directory called C:\DOOMDATA.

-config <configfile>
    Causes ZDoom to use an alternative configuration file. If configfile
    doesn't exist, it will be created.

-heapsize <x>
    This is the size in megabytes of the zone memory managers heap. If set
    too low, problems will almost certainly arise. 6 megabytes is probably
    a reasonable minimum to use for this parameter, although ZDoom wont
    stop you from using something smaller like 0.5 megabytes. By default,
    the heap size is 8 megabytes.

-iwad <iwadfile[.wad]>
    The IWAD file specified after this parameter will be used as the game
    IWAD file instead of the default one. Normally, ZDoom looks for IWADs
    in the following order and uses the first one it finds:

        doom2f.wad
        doom2.wad
        plutonia.wad
        tnt.wad
        doom.wad
        doom1.wad

-noidle
    When the user presses Alt-Tab to switch from ZDoom to another window,
    ZDoom will normally reduce its priority class so that it doesn't slow
    the rest of the system down. By specifying this parameter, ZDoom will
    try to run at full speed instead.

-nommx
    Causes ZDoom not to use any MMX code. Normally, ZDoom should be able to
    figure out on its own whether the processor supports MMX or not and
    will act accordingly. MMX is only used in a few isolated situations.

-nomusic
    Prevents the playback of music.

-nosfx
    Prevents the playback of sound effects. Because of the nature of MOD
    music, this also disables playback of MODs.

-notrans
    Disables translucency.

-primarysound
    If DirectSound is available, this parameter will cause ZDoom to try to
    use the primary buffer for mixing. This can potentially lower sound
    latency but also introduces the possibilty for more sound problems.

-wavonly
    Forces ZDoom to use the standard Windows wave device for sound output
    instead of DirectSound. If you experience problems with sound, it may
    be worthwhile trying this parameter, although it will generally
    introduce a large amount of latency, causing sounds to be heard later
    than expected.

-transfile <transfile[.tch]>
    Causes ZDoom to use an alternative translucency cache file. This file
    is automatically generated if it doesn't already exist as is used to
    speed up startup by eliminating the need to recalculate the
    translucency tables every time the game is started. By default, ZDoom
    will look for a file called transtab.tch in the same directory that it
    resides in. If the .tch extension is omitted, it will automatically be
    added.

2-2. Play options
-----------------

-avg
    Stands for "Austin Virtual Gaming." Automatically advances to the next
    level after 20 minutes.

-fast
    Sets the dmflags cvar to make the monsters as fast as in nightmare mode
    even if you aren't playing nightmare.

-nomonsters
    Sets the dmflags cvar so that monsters are not spawned on levels.

-respawn
    Sets the dmflags cvar so that monsters respawn even if you aren't
    playing at nightmare difficulty.

-timer <x>
    Causes ZDoom to automatically advance to the next level after x
    minutes. This is the same as setting the timelimit cvar to x.

-turbo <x>
    Causes player movement to be x% as fast as normal. Valid values are
    10-256, with 100 being normal. Values larger than 100 are considered
    cheating. This is the same as setting the turbo cvar to x.

2-3. Loading options
--------------------

-deh <dehfile[.deh]>
    Causes ZDoom to apply a DeHackEd patch to the game. This must be a text
    patch; binary patches are not supported. (As far as I know, most
    patches are text patches so this shouldnt be too much of a problem.)
    Also, only patch format 6 is known to be supported. Other formats may
    or may not work properly. If the .deh extension is omitted, ZDoom will
    automatically add it.

-fastdemo <demofile[.lmp]>
    This is the same as the -fastdemo parameter from BOOM. It works just
    like -timedemo except it plays demos as fast as they will go.

-file <file1[.wad]> [[file2[.wad]] [[file3[.wad]] [...]]]
    Used to load one or more PWAD files which generally contain user-
    created levels. Files listed further right take precedence to files
    listed before them, so as an example, if both file1.wad and file2.wad
    contain have a MAP01, the MAP01 in file2.wad would be used instead of
    the one in file1.wad If the .wad extension is omitted, ZDoom will
    automatically add it.

-loadgame <x>
    Automatically loads savegame x, where x is 0-7 corresponding to one of
    the savegame slots.

-maxdemo <x>
    Specifies the maximum size of a demo that can be recorded. (There is no
    limit to the size of a demo that can be played back.) ZDoom will
    automatically quit once the demo reaches this size. By default, the
    limit is 128k.

-playdemo <demofile[.lmp]>
    ZDoom will play the specified demo and then quit. If the .lmp extension
    is omitted, it will automatically be added.

-record <demofile[.lmp]>
    Records a demo. The -warp parameter or +map command should also be used
    if you don't want to record the demo on MAP01 or E1M1. To stop the demo
    recording, use the "stop" console command. If the .lmp extension is
    omitted, it will automatically be added.

-skill <x>
    Sets the initial skill level. This is overridden if you start a new
    game from the New Game menu.

-timedemo <demofile[.lmp]>
    Plays back a demo faster than -playdemo and displays a framerate when
    the demo is over. If the .lmp extension is omitted, it will
    automatically be added.

-warp <m>
-warp <e> <m>
    For Doom II, starts the game on map m. For other versions of doom,
    starts the game on episode e, map m. The +map command can also be used
    to perform this action, but it expects the actual name of the map.
    (i.e. MAP01, E1M1, ...)

2-4. Debug options
------------------

-noblit
    Causes ZDoom not to update the display on the screen, but it stills
    draws everything to an internal buffer. Only useful with -timedemo.

-nodraw
    Causes ZDoom not to draw anything at all. Only useful with -timedemo.

-debugfile
    Causes ZDoom to write network debugging information to a file called
    debugN.txt where N is the player number.

-devparm
    Draws little dots at the bottom of the screen indicating the frame
    rate. Note that unlike other versions of Doom, this does not cause F1
    to take a screenshot. You should use the screenshot command for that.

2-5. Multiplayer options
------------------------

-altdeath
    Informs ZDoom that you will be playing a deathmatch game and sets the
    dmflags cvar so that items other than invulnerability and invisibilty
    respawn after being picked up. Only player 1 needs to specify this.

-deathmatch
    Informs ZDoom that you will be playing a deathmatch game and sets the
    dmflags cvar so that weapons stay behind when a player picks them up.
    Only player 1 needs to specify this.

-dup <x>
    Causes ZDoom to transmit fewer player movement commands across the
    network. Valid values range from 1-9. For example, -dup 2 would cause
    ZDoom to send half as many movements as normal.

-extratic
    Causes ZDoom to send a backup copy of every movement command across the
    network.

-net <console> [hosts] ...
    Informs ZDoom that you will be playing a network game. See section 6
    about network games below for more details.

-port <x>
    Specifies an alternate IP port for this machine during a network game.
    By default, the port 5029 is used.

2-6. Other options
------------------

In addition to the above parameters, console commands can be included on
the command line by preceding them with a +. Some, however, will cause
the game to crash if you use them (such as cheats). If you wish to
change a cvar in this manner, it is a *very* good idea to use the set
command. This is because any set commands will be executed just after
the config file is loaded, and all other commands are executed after
every game subsystem has been initialized. For example, to turn on the
framerate counter when you start ZDoom, use the command line:

    zdoom +set vid_fps 1

instead of

    zdoom +vid_fps 1

For a complete list of console commands and cvars, refer to the
commands.txt file. If you want to get the most from ZDoom, I highly
recommend at least glancing at it.


3. Configuring ZDoom
====================

Zdoom now includes a new options menu which can be used to set some of the
games new options. A new control configuration menu is also included that
can be used to easily assign some commands to different keys without a
separate setup program.

3-1. The Player Setup menu
--------------------------

This menu is found on the main menu and is used to select your player's
name, suit color, and autoaim setting. For best results, you should use
this menu only when a demo is not playing.

The suit color is controlled with three sliders; one for each of red,
green, and blue color components. Because the Doom palette only has 256
colors, not all possible combinations will look good. The current color
is displayed on an animated player character to the right of the sliders.

The autoaim settings controls how close your vertical aim should be from a
monster before ZDoom will adjust your aim to shoot it. By default, this
value is set to always which means that it behaves just like the original
Doom. Never indicates that ZDoom will never adjust your aim for you, and
you will shoot where you aim. There are also intermediate values which
adjust how much leeway gives you in aiming.

3-2. The new Options menu
-------------------------

ZDoom's Options menu is different from the options menu in the original
Doom and contains the following items:

Customize Controls
    Displays the customize controls menu.

Go to console
    Opens the console.

Gameplay Options
    Displays the gameplay options menu.

Display Options
    Displays the display options menu.

Set video mode
    Displays the video modes menu.

Mouse speed
    Adjusts how sensitive ZDoom is to mouse movements.

MOD Music volume
    Adjusts the volume of MOD music. Setting this to a high setting will
    usually result in nasty-sounding aliasing. Note that this only effects
    the volume of MOD music and not MUS or MIDI music.

Sound volume
    Adjusts the volume of sound effects.

Always Run
    When on, you will always run whether or not you are holding down the
    +speed key. By default, you can also change this setting by pressing
    the caps lock key while playing a game.

Always Mouselook
    When on, moving the mouse up and down will always cause you to look up
    and down instead of only when the +mouselook key is pressed.

Invert Mouse
    When on, mouselooking is reversed so that pushing the mouse forward
    causes you to look down, and pulling the mouse back causes you to look
    up.

Lookspring
    When on, releasing the +mouselook key will automatically center your
    view.

Lookstrafe
    When on, moving the mouse left and right will always cause the player
    to move in the corresponding direction.

Reset to defaults
    Select this item to set all options to their default values.

Reset to last saved
    Select this item to set all options to the values contained in the
    configuration file.

3-3. The Configure Controls menu
--------------------------------

This menu is found on the options menu and lists several controls and up to
two keys assigned to that control. There may be more than two keys assigned
to a control, but only two of them will be shown at a time. If there are no
keys assigned to the given control, this will be indicated with ???.

To change the keys assigned to a control, use the up and down arrow keys to
select the control you wish to change. To assign a new key to the control,
press Enter and then the key you want to activate this control. If you
decide you dont want to assign a new key to the control, press Escape. To
remove all keys for the selected control, press Backspace instead of Enter.

This menu only lists a select few commands, but they are the ones that are
most likely to be used during gameplay. To assign other commands to keys,
you can use the bind command from the console.

3-4. The Gameplay Options menu
------------------------------

This menu is found in the options menu and controls several options
related to game play and map directly to different dmflags values. The
dmflags value corresponding to the current settings can be found at the
bottom of the menu. Many of these settings apply only to deathmatch games
and are indicated by a (DM) after their names. During a multiplayer game,
only player 1 can change these settings. Currently, there are 17 options
available from this menu:

Falling damage
    When set to yes, falling long distances will cause players damage.

Weapons stay (DM)
    When set to yes, weapons won't disappear when they're picked up. This
    is the default when started with -deathmatch.

Allow powerups (DM)
    When set to yes, powerups (such as light amplification goggles) will
    be spawned on levels.

Allow health (DM)
    When set to yes, any items that give you health (such as stimpacks)
    will be spawned on levels.

Allow armor (DM)
    When set to yes, armor will be spawned on levels.

Spawn farthest (DM)
    When set to yes, dead players will respawn as far as possible from
    other players.

Same map (DM)
    When set to yes, exiting a level will restart the current one instead
    of advancing to another.

Force respawn (DM)
    When set to yes, dead players will respawn immediately.

Allow exit (DM)
    When set to no, anyone who tries to leave the level will be instantly
    killed.

Infinite ammo
    When set to yes, weapons do not deplete their ammo.

No monsters
    When set to yes, monsters will not be spawned on levels.

Monsters respawn
    When set to yes, monsters respawn (just like nightmare difficulty).

Powerups respawn
    When set to yes, powerups other than invulnerability and invisibility
    will respawn. This is the default for -altdeath.

Fast monsters
    When set to yes, monsters will be faster than normal (just like
    nightmare difficulty).

Allow jump
    When set to yes, players can jump.

Allow freelook
    When set to yes, players can look up and down.

3-5. The Display Options menu
-----------------------------

This menu is found in the options menu and controls various aspects of the
display. Options currently available are:

Screen size
    Controls the size of the screen used to draw the players view. Larger
    sizes require more processing power to draw but also look better.

Brightness
    Controls how bright the display is.

Crosshair
    Selects one of eight crosshairs or no crosshair at all. Some of these
    crosshairs are probably of dubious value but are available anyway.

Detail mode
    Controls vertical and horizontal pixel doubling. This is similar to the
    low detail mode of the original Doom which would double the size of
    pixels horizontally except that it can also do the same vertically.
    Doubling horizontally will almost always result in a speedup
    significantly larger than doubling them vertically.

Stretch short skies
    When turned on, short sky textures (such as the ones included with
    Doom) are stretched vertically so that they don't wrap when you look up
    or down.

Scale status bar
    When turned on, the status bar will always be as wide as the screen.

Rotate automap
    When turned on, the automap will rotate to keep the area that you are
    facing toward the top of the map.

Overlay automap
    When turned on, the automap will first be overlayed on top of the
    player view before being drawn fullscreen.

Standard map colors
    When turned on, ZDoom will use the automap colors from the original
    Doom instead of the colors specified with the am_*color cvars.

3-6. The Video Modes menu
-------------------------

The video modes menu can be used to select the current display mode and
switch between windowed mode and full screen. This menu can be found as a
selection inside the Options menu. Note that this screen will let you
choose non-8 bit modes. I am currently working on true color support, but
decided to release this version of ZDoom before I had finished it.

3-7. Changing settings not found in a menu
------------------------------------------

There are many settings (cvars) that arent listed in any menu. To change
these you need to use the console (see section 4). For a complete list of
these, refer to the commands.txt file.


4. The Console
==============

ZDoom has a console very similar to Quake's. Almost all game settings and
controls can be accessed from it. For a complete list of console commands
and cvars, see the commands.txt file.

4-1. Activating the console
---------------------------

There are two ways to activate the console: From the Options menu, and with
the toggleconsole command. The console can always be activated by selecting
"Go to console" from the Options menu. While playing a game, pressing a key
bound to the toggleconsole command can also activate the console. By
default, this is the ` key, but it can be changed to any key with the bind
command.


4-2. Using the console
----------------------

Using the console is fairly simple. Just type in commands and press Enter
to execute them. To scroll around in the consoles text buffer, you can use
the Page Up and Page Down keys. Pressing Shift-Page Up scrolls to the top
of the buffer, while pressing Shift-Page Down scrolls to the bottom.
Without pressing Shift, these keys will scroll one line at a time in the
corresponding direction.

A handy feature of the console that was added in 1.13 is tab-completion. To
use it, begin typing a command, and then press tab repeatedy to cycle
through all the commands that begin with whatever you typed.

To deactivate the console, you can press either ` or Escape. This will also
erase any text you might have been typing on the command line.


5. Key bindings
===============

ZDoom supports Quake-style controls as opposed to those of the original 
Doom. To bind a command to a key, use the bind command followed by the key
to bind and the command(s) to bind to it. Multiple commands should be
separated by semicolons (;) and if there are any spaces in the commands,
they need to all be enclosed in quotation marks (").

For example, to make the Page Up key cause the player to look up, use the 
command:

bind pgup +lookup

From now on, pressing Page Up will cause you to look up. Since this is also
an action command (it begins with a '+'), releasing Page Up will also
execute the -lookup command, which will cause you to stop looking up.

You can also refer to keys by scancodes instead of names. For instance,

bind #3 "echo I don't like my pistol."

and

bind 2 "echo I don't like my pistol."

will both do the same thing, since 3 is the scancode for the "2" key.

If you use key names, the keys are assumed to be arranged in a Qwerty
layout. This may be somewhat confusing because the console uses the layout
selected in the Keyboard control panel (which might not be Qwerty), but I
decided to do it this way or consistancy. Thus, if you wanted to assign the
key directly to the left of the tab key to a command, you would use
"bind q <command>" even if that key isn't labeled Q on your keyboard.

All key bindings are automatically saved in the config.cfg file when the
game quits.

The following special keys as well as the alphanumeric keys are named and
can be bound. These are the same keys displayed in the Configure Controls
menu:

backspace
tab
enter
ctrl
shift
kp*		* on the numeric keypad
alt		Either the left or right Alt key
space
capslock
numlock
scroll		Scroll Lock
kp7		7 on the numeric keypad
kp8		8 on the numeric keypad
kp9		9 on the numeric keypad
kp-		- on the numeric keypad
kp4		4 on the numeric keypad
kp5		5 on the numeric keypad
kp6		6 on the numeric keypad
kp+		+ on the numeric keypad
kp1		1 on the numeric keypad
kp2		2 on the numeric keypad
kp3		3 on the numeric keypad
kp0		0 on the numeric keypad
kp.		. on the numeric keypad
kana
convert
noconvert
yen
kp=		= on some numeric keypads
circumflex
kanji
stop
ax
unlabeled
kp,		, on some numeric keypads
kp/		/ on the numeric keypad
sysrq
home
uparrow
pgup
leftarrow
rightarrow
end
downarrow
pgdn
ins
del
lwin		The left Windows key
rwin		The right Windows key
apps		The application menu key
pause		The pause key
mouse1		The left mouse button
mouse2		The right mouse button
mouse3		The middle mouse button
mouse4		A fourth mouse button for any mice that actually have one.
joy1 - joy32	All 32 joystick buttons supported by Windows.

Note that i_remapkeypad must be "0" for kp0, kp., kp1, kp2, kp3, kp4, kp6,
kp7, kp8, and kp9 to be treated as distinct keys.


6. Playing a network game
=========================

Due to changes ZDoom has made to the message format of network games, you
will definitely not be able to play a network game between ZDoom and
another Doom. Since ZDoom uses the UDP protocol for networking, it is
possible to play a game on the Internet as well as a LAN (although it may
not be very playable on the Internet).

To begin a network game, start ZDoom with the "-net" command-line
parameter. This is *different* from the DOS version of Doom (but the same
as the Linux version of Doom). The -net parameter takes the form:

    -net <console> [machine1] [machine2] ...

<console> is the player number that your machine is playing as (1 to 8)
and is followed by the addresses of the other machines in the network game.
These addresses can be either IP addresses like 192.168.0.1 or hostnames
like some.machine.com. To specify an alternate port to connect to on the
other machines, append a colon to the address and follow it with the port
number you wish to use (i.e. some.machine.com:26000).

The number of players in a netgame is determined by the number of machines
after <console> in the -net parameter. For a two-player game, you would
only list one other machine. For a four-player game, you would list three.

Each player must choose a different console number. One person *must* be
console 1, and there can be no gaps between console numbers. For instance,
in a two-player game it's okay for one player to be console 1 and the other
to be console 2, but it's not okay if one player is console 1 and the other
is console 4.

An example for a two-player game:

    One machine named joe runs:         zdoom -net 1 bob -deathmatch
    The other machine named bob runs:   zdoom -net 2 joe -deathmatch

It's also possible to start a network game on your own machine if you run
ZDoom in a window with the -nomusic and -noidle parameters:

    Start the first copy of zdoom:
        zdoom -net 1 localhost:26000 -port 26001 -noidle -nomusic

    Then start the second copy:
        zdoom -net 2 localhost:26001 -port 26000 -noidle -nomusic

This works much nicer under Windows NT than it does under 95.


7. Known Bugs
=============

* Demos from other versions of Doom tend to get out of sync. Although this
  version stays in sync much better than previous versions of ZDoom, it
  still suffers from demo sync problems. Due to the state of flux ZDoom is
  in, I also cannot guarantee that demos will playback properly across
  different version of ZDoom. However, demos recorded with one version of
  ZDoom will always play back properly when played with the same version.
* When played in a window on Windows NT, the mouse can sometimes go crazy.
  You can get around this by pausing and unpausing the game several times
  or Alt-Tabbing out of ZDoom and back into it. Alternatively, you can also
  set the in_mouse cvar to "2" to force ZDoom to use DirectInput to read
  the mouse, but this may make the mouse very jerky while using the keyboard
  at the same time.
* Some machines were incapable of running version 1.13 and died inside of
  I_StartGraphics. I have been unable to reproduce this on my machine and
  could find nothing wrong with the code, so my best guess is that it's a
  driver problem (if it still happens).

If you find another bug with ZDoom, first try and duplicate it. If you
can't duplicate it, it's probably either a problem with your system or 
omething that I won't be able to fix unless I stumble on it. (I actually
did find an obscure bug this way!) If you can duplicate the problem, run
the game in a window, and send me the contents of the dialog box that pops
up when it dies. If you have Drwatson (included in the \windows\system
directory of Windows 95B and 98), also run that beforehand and send me a
copy of the log file it generates (provided that it's not too large). Also
describe what you were doing when the problem occured and list any PWADs or
DeHackEd patches you were using at the time.


8. Credits
==========
(in no particular order)

id Software	These are the people who developed Doom and later released
John Carmack	the source code for the Linux port. Without them, there
		would be now ZDoom. I have also used some of the functions
		from their Quake2 source.

B. Krenheimer	Responsible in one way or another for BOOM. I've used some
Chi Hoang	of its source in ZDoom because it's so good. Information
Team TNT	about BOOM can be found at the Team TNT homepage:
		http://www.teamtnt.com.

Sebastien	Created qmus2mid which is used to convert MUS files to
Bacquet		MIDI internally. It's copyright 1995,1996 by him under the
		GNU public license.

Andy Bay	Original input code is from his (discontinued) ATB Doom
		port.

Peterri		Original sound code and some assembly is from his
Kangaslampi	(discontineud) NTDOOM port. He's is also the person
		primarily responsible for writing the MIDAS Digital Audio
		System 1.1.2, which is used for all sound effects and MOD
		music. It's copyright 1996,1997 Housemarque Inc. The latest
		version can be found at http://www.s2.org/midas/.

Gaffer/Xtatic	Developed the Prometheus Truecolor library. I used a
		tweaked version of PTC 0.72b for this version of ZDoom.
		Its homepage is at http://www.gaffer.org/ptc.

Andy Baker	Developed the stealth monsters. He now heads the DOSDoom
		project at http://frag.com/dosdoom.

Greg Lewis	Released the DeHackEd source, without which adding
		DeHackEd support would have been much harder.

Bruce Lewis	His WinDoom port showed me how to play MIDI music nicely
		under Windows. His WinDoom and glDoom homepage is at
		http://www.frag.com/doom/.

Denis Fabrice	Responsible for Doom Legacy which is where I borrowed the
Boris Pereira	aspect ratio correction and initial freelook code from.
		The Doom Legacy homepage is at http://frag.com/doomlegacy.
