=====================================================================
                    README.TXT    05/25/98
=====================================================================

BOOM v2.01 --- a modified port of the released DOOM source

Phase 1 Release

By TeamTNT

Programmers: 

Lee Killough, Jim Flynn, Rand Phares, Ty Halderman, and Stan Gula


DoomSource Members:

Andre Majorel           Paul Schmitz
Bob Evans (odessa)      Richard Nagel (*Weeds*)
Chris Couleur           Steve McCrea
Lisa Moore (pup)        William.D.Whitaker
Adam Landefeld          Dave Brachman           
Dave Armstrong          Jeremy Wagner


Demo Wads:

Gary Gosson (Dawning), Paul Fleschute (Rage)

=====================================================================

Contents

Section 1. Installing BOOM
Section 2. Configuring BOOM
Section 3. Playing BOOM in Single Player mode
Section 4. Playing BOOM in Serial/Network mode
Section 5. Editing for BOOM
Section 6. Differences between BOOM and DOOM
Section 7. Files in the BOOM Distribution
Section 8. How to report bugs in BOOM
Section 9. Acknowledgements

=====================================================================
---------------------------
Section 1. Installing BOOM
---------------------------

Requirements:
-------------

BOOM requires a minimum of a 486DX/33 with 8M of RAM running DOS.  BOOM will
run under Win'95 in a DOS Window, but 16M RAM is recommended.

Recommended minimum specs are 486DX/66 with 16M or Win'95 with 32M

BOOM requires a copy of DOOM, DOOM II, Ultimate DOOM, or Final DOOM already
     installed on your system. In the installation instructions below we use
     C:\DOOM2 to denote the directory it is installed in. Substitute the
     path to DOOM on your system wherever that appears.

BOOM requires a sound card, it will not play sounds over the PC speaker. If
you do not have a sound card you MUST run it with the -nosound option on the
command line.

Suggested installation procedure:
---------------------------------

1) Unzip the download archive in a new directory, which we will call \BOOM.

2) Type BOOM -iwad C:\DOOM2, the game will start as usual. To avoid having
   to type -iwad C:\DOOM2, add the line below to your AUTOEXEC.BAT and
   reboot:

   SET DOOMWADDIR=C:\DOOM2

   Alternately you can unzip the BOOM archive in your DOOM directory and
   avoid needing -iwad or the change to your AUTOEXEC.BAT file.

   You can also simply copy DOOM1.WAD, DOOM.WAD, or DOOM2.WAD to the BOOM
   directory.

3) BOOM provides support for joysticks. With the current release, your
   joystick must be calibrated using the Allegro setup utility ASETUP.EXE.

   3a) run the Allegro setup utility ASETUP.EXE
   3b) press the Joystick button
   3c) follow the on-screen instructions to calibrate your joystick
   3d) when finished, exit, saving configuration

4) If sound and music sound ok, and the mouse and joystick behave properly,
   you're done!

Sound/Music Troubleshooting
---------------------------

5) Make sure there is a BLASTER= line in your environment (type SET to see
the environment in a DOS session or window). If this is missing, consult
your sound card documentation or technical support.  There is a brief
description of the line and its parameters in SNDDRVR.TXT.

6) If you have a plug and play sound card and are running under DOS, you
need to make sure you install plug and play support in DOS; see SNDDRVR.TXT.

7) If your AWE32 does not produce music or sound under DOS make sure you
have an E parameter in your BLASTER= line. E620 is the default.

8) Run the Allegro setup utility ASETUP.EXE
   8a) press the Autodetect button.
   8b) press the Test button.
   8c) if the test pieces all sound correct exit, saving configuration, else
     8c1) go back to the main menu and press digi_driver to configure sound
          effects, or midi_driver to configure music.
     8c2) in the menu of device drivers shown, the ones checked are
          possibles.  Try them in bottom to top order, running the Test
          screen after each until the best results are obtained. Exit,
          saving configuration.
   8d) open ALLEGRO.CFG with a text editor like Notepad and note the
       settings for digi_card and midi_card. Close it and open
       BOOM.CFG. Transfer the digi_card setting to sound_card and the
       midi_card setting to music_card in BOOM.CFG. Exit.

9) In the ASETUP.EXE program's sound test screen, the left and right buttons
are reversed relative to some sound cards. If the sounds in DOOM seem to be
reversed to you, then change the flip_pan setting in ALLEGRO.CFG from 0 to 1
or vice-versa.

Mouse Troubleshooting
---------------------

10) If the mouse fails to work, left motion seems to wait until a button is
clicked, change the line mouse=logitech in ALLEGRO.CFG to mouse=ms, or add
the line mouse=ms at the top.


----------------------------
Section 2. Configuring BOOM
----------------------------

Using the Setup Menus
---------------------

BOOM provides Setup Menus in the game itself to ease the task of setting
configuration options. From the Main Menu, select 'Setup' and you'll see the
following menu:

        Key Bindings
        Weapons
        Status Bar / HUD
        Automap
        Enemies
        Messages
        Chat Strings

Selecting a menu item will present a screen or set of screens from which
you can set many of the BOOM options.

Note: In general, and by default, the cursor movement keys are used to
      navigate the menu screens. Exceptions will be noted where appropriate
      below. If you bind 'menu navigation' keys (i.e. 'down arrow') to
      something other than the default settings, you'll need to think 'new key'
      when reading 'default key' in the following text.

      The mouse and joystick may also be used to navigate the menus. 

Note: If a joystick is connected, it's possible that the system may receive
      false left or right movements when the joystick is idle. This can affect
      any Setup menus that have multiple screens. If this occurs (sudden switch
      to previous or next menu) you'll need to recalibrate the joystick, which
      will make the problem go away. Refer to the calibration instructions in
      Section 1.

1) Key Bindings

*Multiple Screens*

There are four Key Binding screens. You can move among them using the left
and right arrow keys. If "NEXT->" appears in the bottom right corner,
there's another screen.

*Menu Items & Binding*

Each menu item shows the action on the left and the key bound to it on the
right. If you want to bind an action to a different key, move the 'cursor'
(where the action is ORANGE) to that action. Press ENTER, the action turns
WHITE, and you're ready to rebind that action.

Pressing ANY KEY will IMMEDIATELY bind that key to the selected action.

CAVEAT:

Be careful when rebinding keys you use to navigate the menus. If you were to
change the 'next item' key from 'DOWN ARROW' to 'Z' then you'll need to use
the 'Z' key from that point on to move to the next menu item.

*Binding Multiple Keys to an Action*

In this release of BOOM, only one key can be bound to an action. In a future
release, you will be able to bind multiple keys to an action.

*Binding a Key to Multiple Actions*

Under certain circumstances, you can bind a key to several actions. All
actions are grouped according to game state, which can be 'normal play',
'in the menu screens', 'in chat mode', and 'looking at the automap'.

If two actions are in the same group, they can't have the same key binding.
If two actions are in different groups, they can.

For example, you can't bind F1 to both the 'HELP' and 'SAVE GAME' actions
because both are available during normal play. If F1 is bound to 'HELP' and
you rebind it to 'SAVE GAME', then whatever key was bound to 'SAVE GAME'
will move over and be bound to 'HELP'.

As another example, you can bind the 'H' key to 'HELP' for use in normal
play, and to 'GRID' for use when you have the automap up. Some
experimentation will show you where you can bind the same key to various
actions.

*Mouse Buttons*

Where an action shows a Mouse Button setting (MB1,MB2,MB3), that action can
be bound to a Mouse Button. When the action is selected for rebinding,
pressing the desired Mouse Button will bind the action to that button.

A future release of BOOM will allow you to set Mouse Buttons to any action.

*Joystick Buttons*

Where an action shows a Joystick Button setting (JSB1,JSB2,JSB3,JSB4),
that action can be bound to a Joystick Button. When the action is selected
for rebinding, pressing the desired Joystick Button will bind the action
to that button.

A future release of BOOM will allow you to set Joystick Buttons to any action.


2) Weapons

*Weapon Recoil*

When ON, your weapon will provide you with a little 'kick'. Great fun when
on an icy floor. When OFF, there is no recoil. Move the cursor to this item
and press ENTER twice to change it. At the moment, you must start a new
level in order for this change to take effect.

*Player Bobbing*

When ON, your weapon will bob back and forth, up and down, according to your
movement. When OFF, there's no movement. Move the cursor to this item and
press ENTER twice to change it. At the moment, you must start a new level in
order for this change to take effect.

*Weapon Preferences*

In BOOM, you can declare which weapon you want to grab when you run out of
ammo for your current one. To change the ordering, move to an item, select
it with ENTER, then press a number between 1 and 9, where

  1 = FIST
  2 = PISTOL
  3 = SHOTGUN
  4 = CHAINGUN
  5 = ROCKET LAUNCHER
  6 = PLASMA RIFLE
  7 = BFG
  8 = CHAINSAW
  9 = SUPER SHOTGUN

You can select only those weapons that are available in the version of the
DOOM IWAD that you're using. Unavailable weapons will not be shown.

Note this behavior: If Weapon 2 is in the '1st CHOICE WEAPON' slot and
Weapon 5 is in the '4th CHOICE WEAPON' slot, and you select and change
'1st CHOICE WEAPON' to Weapon 5, then Weapon 2 moves down to '4th CHOICE
WEAPON'. In short, they swap places.


3) Status Bar / HUD

*Red Numbers*

When ON, the AMMO, HEALTH, and ARMOR numbers on the Status Bar will all be
red. When OFF, these numbers will display in red, yellow, green, and blue,
depending on their values.

*% Always Gray*

When ON, the percent signs for HEALTH and ARMOR will always be gray. When
OFF, the percent signs will be the same color as the HEALTH and ARMOR
values.

*SINGLE KEYS*

When ON, you'll only see a single key on the Status Bar even if you have the
same color key from both the card and skull sets. When OFF, you'll see two
key icons when you have both keys of the same color.

*HIDE SECRETS*

One feature of the new Heads-Up Display is the ability to show your
KILLS/ITEMS/SECRETS stats as you play, instead of waiting until the level is
over. If HIDE SECRETS is YES, these are hidden from you. If NO, they'll be
shown.

*MESSAGE BACKGROUND*

When multiple messages are displayed, if MESSAGE BACKGROUND is ON, there is
a solid background behind the messages. If OFF, the messages are overlayed
on whatever action is taking place behind them.

*# MESSAGE LINES*

You can set the number of lines for your overall message display from 1 to
16. Move the cursor to this item and press ENTER. Now you can enter a number
w/in the range. If you attempt to enter something outside the range, the key
that would put you outside is ignored. I.e. If you wanted to set this item
to '20', you'd start with a '2', but the following '0' would be ignored.
Press ENTER again to show you're done entering the value. If you don't like
what you entered ("Hey, 2 is not right!"), then re-enter the correct value.

*HEALTH LOW/OK*

If you're using red/yellow/green/blue colors for your stats, they indicate
LOW/OK/GOOD/EXTRA AMMO, HEALTH, and ARMOR. 'HEALTH LOW/OK' lets you set
where yellow changes to red (or where OK changes to LOW).

This value can range between 0 and 200.

*HEALTH OK/GOOD*

Similar to the previous item, but this is where green changes to yellow (or
where GOOD changes to OK).

*HEALTH GOOD/EXTRA*

Similar to the previous item, but this is where blue changes to green (or
where EXTRA changes to GOOD).

*ARMOR LOW/OK*
*ARMOR OK/GOOD*
*ARMOR GOOD/EXTRA*

Same as the "HEALTH" set, but pertains to ARMOR.

*AMMO LOW/OK*
*AMMO OK/GOOD*

Similar to the "HEALTH" and "ARMOR" sets, but there's no EXTRA setting, and
the values should be in the range 0 to 100.


4) Automap

This is a collection of color settings for the items that are drawn on the
Automap (background, lines, Things, etc.).

Each item's color can be changed as follows:

  a) Move the cursor to the item and press ENTER.

  b) A color palette will come up, with a highlight box around the item's
     current color. Using the menu movement keys (or mouse), move to the new
     color and press ENTER (or click MB1).

  c) The new color is assigned to that item.

  d) Setting a new feature to the first color, the one at upper left in the
     array of colors, disables the feature, in case you don't want the extra
     information. If you actually want to set the color black for a new
     feature use the black in the middle of the bottom row of colors, color
     247.

5) Enemies

   Includes config options that have to do with enemies.


6) Messages

   Includes config options that have to do with messages.

   For items denoting string color, the value will display in the
   appropriate color.


7) Chat Strings

   You can change the chat strings using this screen.

   To change a chat string, select it and press Enter. You can edit the
   string using overstrike, DEL, backspace, and you can position the
   cursor (black underline) using the left and right arrow keys.

   The length of the chat string is limited to what can be shown on this
   screen, to prevent overflow.

   When you're finished editing, press Enter again.


8) Reset to Default Values

   A "Reset to Default Values" button appears in the upper-right-hand
   corner of each Setup screen (and on the first screen where there are
   multiple screens). When selected, this button blinks.

   This button allows you to reset all options on this Setup screen (or
   set of screens) to their default values. This is useful if you've
   made a number of changes that don't seem to work together, and you'd
   like to get back to a baseline.

   Pressing Enter will give you a dialogue box that asks you whether you
   'really' want to reset to the default values. Pressing 'N' exits the
   dialogue without resetting. Pressing 'Y' resets all values.

Note: Each screen has its own reset button. There is no single reset
      button that covers _all_ options that appear in all Setup screens. If
      you want to reset _all_ options to their default values, you'll need
      to activate each button separately.
   


Editing the BOOM.CFG file
--------------------------

You can also set BOOM options by editing the BOOM.CFG file with a text
editor like Notepad. You should not use a word processor like Word or
WordPerfect.

By default each setting is preceeded by a comment that shows the possible
range of the parameter and its default value, as well as text briefly
describing its function. If you do not have these comments, set the
config_help parameter to value 1 and they will appear after the next
time you run BOOM. Conversely, to disable them, set config_help to 0.

You can only modify the value on each line, not the comment, nor the
variable's name. If you mess up, you can always delete BOOM.CFG and it
will be rewritten with all default values the next time BOOM is run.

Alternate BOOM.CFG file
-----------------------

You can keep several BOOM.CFG files on your system, named as you please,
for example MYBOOM.CFG, and select the one you want with the command line
option: -config MYBOOM.CFG. If several users share the same setup, this can
be handy.

----------------------------------------------
Section 3. Playing BOOM in Single Player mode
----------------------------------------------

BOOM play features
-------------------

*No Limits*

While wad authors are the ones most interested in BOOM's lack of limits,
players will also benefit by never getting a "Visplane Overflow" or "Too
Many Plats" message followed by a crash. There will be no 2S HOM's even in
terrifically detailed areas, and there is no savegame limit. Other less
commonly known limits have also been removed.

*Heads Up Display*

There is now an in-game heads-up-display (HUD) (Press F5, and keep pressing
it until you like the display). This shows kills/items/secrets counts just
like the end-level screen, either keys or frags depending on if you're
single-play or deathmatch, and weapons, ammo, armor and health.  The HUD
only displays when in full screen view. Press + in full screen to toggle it
on and off.

The past N messages can be reviewed by pressing Enter. By default N is 1,
set hud_msg_lines to a number between 2 and 16 to enable the feature. Set
hud_list_bgon to 1 for a solid background for the list of past messages, to
0 for a transparent display. Pressing Enter again returns the display to
showing the last message only.

The display of kills/secrets/items can be suppressed by setting hud_nosecrets
to 1, if you prefer the suspense. For both the HUD and the status bar, colors
are used to indicate transitions to low levels of ammo, health, and armor.
The levels at which transitions occur can be customized thru the health_green,
health_yellow, health_red, armor_green, armor_yellow, armor_red, ammo_yellow,
and ammo_red variables. Note that the weapons line on the hud shows the ammo
level of each weapon possessed thru its color. If you are berserk the fist
and chainsaw show in green, not white. If you prefer red numbers only on the
status bar, set the sts_always_red variable to 1. If you don't like seeing
doubled keys on the status bar when you have both card and skull set
sts_traditional_keys to 1.

*Better Key Support*

The F1 screen has been redone to show the new key features (among which are
/ for 180 turns by keyboarders, and capslock for autorun) and it shows the
currently CONFIGURED key settings, not just the defaults.

Nearly every key recognized by BOOM is reconfigurable thru the BOOM.CFG
file, not just some. A utility KEYCODE is provided to determine the config
file codes for keys.

*Enhanced Automap*

The automap has been enhanced. You can now see secrets, teleporters,
closed/open doors, keyed doors, and can suppress shadow lines and triggers
when in IDDT if you wish. All features can be configured off thru setting
them to -1 in the BOOM.CFG file. In addition the players current x,y,z
coordinates are available at screen upper right for being exact in those
playtest reports.

*Weapon Preferences*

Full control thru the config file of the order in which weapons are selected
when automatically switching from one to another.

*Save Games*

Two more save slots, no such thing as "Save game overflow", game state
completely restored, saves redirectable to directory of your choice from
the command line.

*More Cheats*

TNTCOMP to toggle DOOM v1.9 compatibility on or off

TNTKEYxy to add or subtract a specific key, xy=BC BS RC RS YC YS

TNTAMMOx to add or subtract a particular kind of ammo. Abbrev.: TNTAMO

TNTWEAPx to add or subtract a particular weapon

TNTEM to massacre all living monsters

TNTTRAN to toggle translucency enable

TNTFAST to toggle -fast mode

TNTICE to toggle ice/mud effects on or off

TNTPUSH to toggle wind effects on or off

TNTSMART to toggle whether monsters remember their last enemy (you)

TNTPITCH to toggle variable pitched sound effects on or off

TNTHOM to highlight areas containing HOM

TNTKA obtains all keys without adding ammo

*Better Cheats*

IDBEHOLDx to turn on light-amps, radsuits, invisibility, etc. until toggled
off

IDMUSx now works across netgames and is remembered by savegame

ID[K]FA now includes backpack

*Fewer Bugs*

Archviles don't resurrect ghosts or glue resurrected enemies together

Pain elementals don't spawn heads thru walls and across monster blockers

Players do not get stuck falling off a ledge when restoring

Monsters don't fall asleep after a restore

Floor crushers work

Trigger once functions don't vanish forever if they fail to activate at first

Texture changers and donut functions don't crash the game if not set up right

Using 1s doors or 0 tag triggers doesn't crash game

Multiple tagged rising stairs work properly

Tutti-frutti error has been eliminated -- short textures tile properly

Medusa errors no longer slow the game to a crawl, and it is legal to have
multipatched textures on 2s normals

If levels have no secrets, 100% secrets is displayed

Par times removed if -file parameter is used, unless .deh modified

Plats remember their heights across savegames correctly

Sprites and flats load from the PWAD

No crash on menu with large mouse sensitivity

Screenshots can go past DOOM99.PCX and no longer display "Screenshot"

Lower textures do not absorb bullets or rockets

IDCLEV is disallowed when in the menus

Crashes left staying in graphics mode are no longer possible

Exclusive linedef functions like floor->highest neighbor floor and
doors can contain lines referenced to the tagged sector on both sides.

Lights to max neighbor now works properly.


Command line parameters
------------------------

*Configuration Options

-iwad <full path|dirname|iwadname>

 If a full path is specified it must exist, and be a valid IWAD, and
 becomes the one used.

 If a directory is specified, it is searched for each of DOOM2F.WAD, 
 DOOM2.WAD, PLUTONIA.WAD, TNT.WAD, DOOM.WAD, or DOOM1.WAD, in that order if
 multiple IWADs exist there.

 If just an iwad name like DOOM2, DOOM.WAD, PLUTONIA, TNT.WAD, etc is
 specified, or a custom iwad name is specified, then the current dir,
 the BOOM exe's dir, the dir specfified by the environment variable
 DOOMWADDIR, and the dir specified by the environment variable HOME
 are searched in that order for a file by that name. The file located
 must have an IWAD tag in the header or an error occurs. Game mode 
 (Shareware DOOM, Registered DOOM, Ultimate DOOM, or DOOM II) is
 determined by the levels present in the file, and all appropriate to
 the mode must be present for correct identification, though. A DOOM II
 IWAD may be missing Map31 and Map32, to support the German version.

 If -iwad is not specified or an IWAD is not found there, the current
 directory followed by the directory that BOOM.EXE was found in, then the
 directory pointed to by the environment variable DOOMWADDIR, and finally
 the directory pointed to by the environment variable HOME are searched,
 for any of the standard IWADs.

 This option is new to BOOM, it was not available in DOOM.

-save <dirname>

 If <dirname> exists, and is a directory, it becomes the path where save
 games are stored, and loaded from. If -save is not specified or the
 directory does not exist, then the current directory is used.  The
 parameter -cdrom overrides -save. The -save option is new to BOOM, it was
 not available in DOOM.

-cdrom

 When this parameter is specified, a directory named c:\doomdata is created
 (if it doesn't exist) and is used to read and write both the configuration
 file and savegames. It is not very useful with BOOM because BOOM does not
 exist on any CDROMs, making this usually unnecessary. It can be used to
 temporarily switch to a different configuration and savegame set however,
 and is supported for that reason. Note demos are still recorded and played
 back from the path you specify, and if none, that is the current directory,
 even if you are running from a cdrom.

-nosound

 This parameter disables both music and sound during play.

-nomusic

 This parameter just disables music while playing.

-nosfx

 This parameter only disables sound effects when playing.

-config <configfile>

 The -config parameter allows you to use a different configuration file than
 BOOM.CFG for the DOOM session being started. If -cdrom is specified -config
 will be ignored. Its primary use is to support different BOOM setups from a
 single directory, when different people use the same installation and have
 different preferences. If the configfile specified does not exist it will
 be created with all default values.

*Play Options

-nomonsters

 This option allows you to eliminate any monsters from the level you are
 playing, just to check it out first, or during deathmatch where monsters
 may be a bother. Unlike DOOM -nomonsters will remain in effect after you
 IDCLEV to another level. This switch will not affect demo playback or
 savegames you load however, if they had monsters when recorded, they still
 will.

-respawn

 This option, only for the seriously deranged <g>, causes monsters to come
 back to life (i.e. respawn) 8 seconds after you kill them.

-fast

 The -fast option gives you the nastier monsters of nightmare skill level
 without the nasty habit of coming back to life 8 seconds after you kill
 them. In combination with UV skill, this is another higher skill level,
 sometimes called "grandmaster" skill.

-turbo <nn>

 The -turbo option allows you to control the speed of your player. The
 number nn should be in the range 0 to 255, with 100 the default player
 speed (100%). Use higher values for a speedier player, and smaller values
 for a slower player. Values higher than 100 are cheating when recording
 demos or playing deathmatch.

-record <demoname[.LMP]>

 The -record option allows you to make a recording of your play during a
 DOOM session. The recording will continue thru level exits, you must quit
 the DOOM session to end the recording. The 'Q' key, which used to terminate
 demo recording, all too often accidentally, has been disabled. Unlike DOOM
 you may specify a path to the recording, and the .LMP extension may be
 specified if desired, though it is not necessary.

-maxdemo <nnn>

 In DOOM the demo buffer was by default 128k, the demo recording session
 would exit on exceeding this amount (a little over 15 mins), and you could
 extend it to larger fixed sizes with this parameter, which represents the
 number of kilobytes allowed for it. This is no longer necessary, the demo
 buffer will grow as needed during demo recording, as memory permits. You
 might still want to specify this parameter, if only to avoid any slight
 pauses at inconvenient moments, but really they should not be noticeable
 in any case.


*Loading Options

-file <pwadname> <pwadname>...

 The -file parameter is followed by the names of the PWADs (DOOM levels
 created by users rather than id) you want to load with the game. The .WAD
 extension is optional (unlike DOOM). If any file is not found, BOOM will
 exit, informing you of which was missing. You can specify paths as well as
 filenames. The order you load PWADs can sometimes be important. Generally
 speaking if two PWAD files both specify the same resource, the last one on
 the line is used. Consult the PWAD's documentation for proper loading
 order.

-warp <e m>
-warp <m>

 The -warp option allows you to "warp" directly to a level rather than going
 thru the startup menus. In DOOM, two numbers are required, first the
 episode number 1-4, then the mission number 1-9.  In DOOM2 only a single
 number is required, the Map or level number 1-32.

-episode <n>

 The -episode parameter is only useful with DOOM, not DOOM II, and it warps
 you to the first level of the episode 1-4, that you specify.  It is
 equivalent to -warp <n> 1.

-skill

 The -skill parameter overrides the default_skill setting in BOOM.CFG if you
 want to temporarily play at a different skill level.

-deh <dehfile[.DEH or .BEX]>

 The -deh parameter allows you to specify a DEHACKED patch to change default
 engine behavior. You can specify a .DEH file, which is backward compatible
 to DEHACKED v3.1 format (patch format 6) outside text changes, or a .BEX
 file which allows BOOM extensions to DEHACKED. See DEH support in BOOM
 below for more detail. Note the -deh option is new to BOOM, it did not
 exist in DOOM.

-playdemo <demoname[.LMP]>

 The -playdemo option loads the demoname and starts it playing. An optional
 path and .LMP extension can be specified. When the demo ends BOOM will
 exit. If the demo was recorded with PWADs loaded, you need to load the same
 PWADs during demo playback. Note that BOOM will play demos from any version
 of DOOM or DOOM II starting with v1.2, but only demos recorded by
 the current version of BOOM are guaranteed to work. BOOM will never exit
 with the message "Demo recorded with wrong DOOM version" however.

-timedemo <demoname[.LMP]>

 The -timedemo option is like -playdemo except that the demo is played much
 faster, and after the demo exits the video frame rate measured during demo
 playback is output.

-fastdemo <demoname[.LMP]>

 The -fastdemo option is like -timedemo, except that it runs as fast as
 possible. The -fastdemo option is new to BOOM -- it did not exist in DOOM.

-loadgame <n>

 The -loadgame option is used to load a savegame directly from the command
 line, without using the menus or function keys. If the save was recorded
 with PWADs loaded you need to load the same PWADs with -file when you use
 -loadgame. If -loadgame is used you may not use -record or any of the demo
 loading options at the same time. The loadgame parameter is 0-7, to load
 the first thru eighth savegame slot respectively. Note DOOM only supported
 6 savegame slots.

*Debug Options

-devparm

 This option is used during development, or at least it was designed that
 way. It does two things of interest. It causes dots to be displayed in the
 lower left corner whose number is inversely proportional to frame rate. It
 redefines the F1 key to take a screenshot instead of displaying the HELP
 screen.

-nodraw
-noblit

 The nodraw and noblit options are primarily used to isolate the video from
 other processes when measuring BOOM's speed. They should be used with
 caution, as nothing will display on the screen when they are used and
 you'll need to exit BOOM "by feel" without the aid of menus.  Press ESC,
 Q, Enter to do this. The nodraw option suppresses all drawing, while the
 noblit option simply suppresses the transfer of screen data from the
 internal buffer to the screen.

-dumplumps <filename[.WAD]>

 The dumplumps option causes the predefined lumps in the BOOM engine
 to be written out as a .WAD. This is so wad authors can inspect
 them, understand them, and replace them. BOOM exits after writing
 the predefined lumps to the file.

*Obsolete Options

-shdev
-regdev
-comdev

 These three switches were used by id in their development to switch between
 shareware, registered, and commercial versions. They do not work in any
 other context and are not useful for end users.

-wart

 In BOOM -wart is completely equivalent to -warp. In DOOM it was used to
 support id's development and had many strange and not too useful properties
 for the end user.

-statcopy <n>

 Not fully understood, has something to do with an external statistics
 device whose interface must be linked into the program. Unless you have
 one of those, suggest you leave it alone <g>.

-----------------------------------------------
Section 4. Playing BOOM in Serial/Network mode
-----------------------------------------------

IPXBOOM and SERBOOM are provided with the BOOM distribution and provide
equivalent functions to IPXSETUP and SERSETUP except they recognize BOOM.EXE
by default. DM.EXE will also work if you change its DM.CFG file to point to
IPXBOOM.EXE or SERBOOM.EXE.

*Multiplayer Options

-deathmatch

 The -deathmatch parameter tells BOOM to start up in deathmatch mode as
 opposed to cooperative mode when starting a multiplayer game.

-altdeath

 The -altdeath parameter (must also use the -deathmatch parameter) specifies
 that items other than invisibility and invulnerability will respawn after
 being picked up.

-timer <nnn>

 The -timer parameter allows you to set a time limit on the length of a
 deathmatch game. After nnn minutes have elapsed the level will end and the
 frag scores will display.

-frags <nn>

 The -frags option allows you to deathmatch until one player achieves nn
 frags, at which time the level ends and scores are displayed.  If <nn> is
 not specified the match is to 10 frags. This option is new to BOOM and was
 not available in DOOM.

-avg

 The Austin Virtual Gaming mode is equivalent to -timer 20.  Deathmatches
 end after 20 minutes of play.

-extratic

 This option sends an extra copy of the player movements across the network,
 perhaps making play smoother by redundancy in favor of retransmission,
 which is slower.

-dup <n>

 Like -extratic this option sends extra copies of the player movements
 across the network, perhaps making play smoother by redundancy in favor of
 retransmission, which is slower. This option allows you to specify the
 number of extra packets sent however, from 1 to 9. If you specify less
 you'll get 1, if you specify more you'll get 9.

-debugfile

 When used outputs network debug information to debugN.txt where N is the
 player number of the person who used -debugfile.


----------------------------
Section 5. Editing for BOOM
----------------------------

Editors with full or partial support for BOOM
---------------------------------------------

DETH v4.14b (freeware) provides full BOOM support, and is available from the
same location you obtained BOOM:

http://www.teamtnt.com. 

This program is in beta and should be used with caution. DETH runs under
DOS, Win'95's MS-DOS mode, or in a FULL SCREEN Win'95 Dos Window.

DCK 2.2f (freeware) will support BOOM, and DOOM17.DAT is provided at the
TeamTNT site mentioned above. DCK 3.62 (shareware) will NOT work with
generalized linedef types, they are truncated to 255 on output of the
wad. Limited support is available thru the DOOM19.DAT file also provided at
the TeamTNT archive. DCK will only run under DOS, or Win'95s MS-DOS mode.

DeeP '97 (shareware) provides full BOOM support.  DeeP '97 runs in Win'95.
You may get DeeP '97 from ftp.cdrom.com or http://www.sbsoftware.com.

WadAuthor (shareware) partially supports BOOM thru use of a custom BOOM.WCF 
file, available at the site above for BOOM and DETH. We are working on
getting full support for BOOM in WadAuthor soon.

DMapEdit has recently been improved to include some support for BOOM. It
basically supports direct numeric entry for the new features. The URL
for the beta version is: http://babtech.com/doom.html.


Wad extensions in BOOM phase I
------------------------------

BOOM has not changed the wad structure in any significant fashion, merely
made use of previously undefined bits and fields. Nearly any editor will
work, but not all will allow or support use of the advanced editing features
of BOOM. See BOOMREF.TXT in the EDTUTIL download for details. In brief, the
differences are:

1) Linedef types filled out to values 0-269
2) Generalized linedef types added in range 2F80H - 7FFFH
3) Generalized sector types using bits 5-11 of the sector type field
4) New things 5001, 5002 added to support point source wind effect
5) New thing flags, bit 6 "not in DM", and bit 7 "not in CO-OP"
6) New linedef flag, bit 9, PassThru, that allows one push to activate
   several functions simultaneously.

BOOM supports embedding MIDI directly in the WAD file instead of MUS thereby
eliminating length limitations and improving fidelity.

BOOM recognizes two new lumps, SWITCHES, and ANIMATED. These allow the wad
designer to extend or replace the list of switches and animated textures and
flats recognized by the engine. A tool SWANTBLS.EXE is provided to turn a
simple text file into these lumps, along with the default text file
definition, DEFSWANI.DAT.

BOOM also recognizes the lump TRANMAP so that authors can create their own
translucency lookup table for specialized effects.

BOOM supports an arbitrary number of colormaps, defined between the C_START
and C_END markers, and predefines one called WATERMAP. Any of these colormaps,
as well as Doom's predefined COLORMAP, can be used with the 242 linedef to
change the lighting the player sees in normal space, below fake floors (water),
and above fake ceilings.

BOOM supports replacing sprites and replacing and adding flats directly from
a PWAD.


Using CLED to supplement your editor
------------------------------------

If your editor will not support the features of BOOM, all may not be lost
if you are editing for DOOM II. If like DCK 3.x, it changes the fields it
doesn't understand, it won't be possible, but if like EdMap it ignores them,
the following will work.

There is a command line DOOM II/BOOM editing tool called CLED, provided at
the TeamTNT site that can be used supplement your editor. It is used by
noting the number and kind of object you want to set a field for in your
regular editor, then after saving and exiting, using CLED to modify the
parameter your editor doesn't support.

Example: Suppose in Map03 of MYWAD.WAD you want to set linedef #543 to type
20152. You would type:

CLED MYWAD LINEDEF(3,543).TYPE=20152

CLED comes with documentation containing more examples. It can be used to
set any of the BOOM-extended fields mentioned above.

TRIGCALC.EXE is also available and will output the generalized linedef type
number for a function you describe by answering questions.


DEH Support in BOOM
--------------------

The popular program DEHACKED.EXE has been used for some time now to change
things about the game that are hardcoded into the executable program.
Dehacked was created by reverse engineering what the internal structures
and behaviors are, and is a remarkable program for its intended purpose.

Unfortunately, 100% compatibility with all dehacked files is impossible to
achieve due to the way dehacked works.  In particular, text changes are done
in a manner that is dangerous and error prone.  To make it easier to alter
text strings in DOOM (like the level names in the automap, intermissions,
etc.)  a new format for text has been created for BOOM.  The separate text
file BOOMDEH.TXT will go into considerably more detail about those items,
and shows what the current defaults are for all 300+ strings that are
changeable in BOOM.

DEHACKED.EXE creates files with a .DEH extension, and those are supported
in BOOM, other than general text string changes.  You also can use a new
extension, .BEX (Boom EXtended format), which can contain any of the regular
Dehacked items such as code pointers, frame wiring, etc. as well as the new
BOOM extended text format.  Although you can put any valid DEH or BEX data
in a file with any extension (if you specify it on the command line, you can
use -deh myfile.zyx, if you like), the idea is that a .DEH file will contain
only items that Dehacked would understand (you can use the rather excellent
Dehacked interface to adjust those) and that a .BEX file would contain
string extensions as well.

There is now an "include" directive available to allow a .BEX file to
include the contents of one or more other .DEH or .BEX files

You can also change par times with .BEX files.

You do need to use a Dehacked file from version 3.0 or 3.1 of DEHACKED.EXE,
which says in the .DEH file itself that it is a Patch format 6.  We have
also had success with Patch format 5, though compatibility is not
guaranteed.

** New: Code pointers may now be changed in a .BEX file by using mnemonic
(words) for the pointers, such as "Chase" and "Scream".  Pointers may also
now be put into any frame, whether there was one there before or not, an
improvement over that limitation in Dehacked.  Extensive information is
available in BOOMDEH.TXT for code pointers including a listing of the
original frame information for reference.

See BOOMDEH.TXT for details.

---------------------------------------------
Section 6. Differences between BOOM and DOOM
---------------------------------------------

1) Savegames

BOOM does not support compatibility with previous engine's saves at all.
Only savegames made by BOOM may be loaded in BOOM. If future versions of
BOOM are released usability of savegames will not be guaranteed.

2) Demos

BOOM supports demos made with previous engines in a limited fashion.
Some will go out of sync, though none will cause the engine to crash. This 
is almost unavoidable due to the large number of changes made in the engine. 
Internal demos may now contain revenants without losing sync.

The demo_insurance option in BOOM.CFG allows one to make tradeoffs between
demo sync and game chaos. If demo_insurance=0, Boom demos stand a good chance
of losing sync on the next version of Boom, but the gameplay is more chaotic
because a single RNG is used for all events. If demo_insurance=1, Boom demos
stand a greater likelihood of staying in sync across Boom versions, but the
game is slightly less chaotic as a result. The two goals of demo sync across
different versions of the game, and chaos during the game, are somewhat
contradictory. If demo_insurance=2 (the default), then the special steps are
only taken when demos are being recorded -- normal gameplay is unaffected.

demo_insurance does not affect the playback quality of Doom demos, which were
recorded without Boom's special sync-preserving measures.

Even when demo_insurance is enabled, the games are fully randomized -- the only
difference is whether independent game events will use the same RNG and thus
interact, increasing the chance of demo desync if the slightest change occurs
in the game, or whether each game event will use its own independent RNG.

3) Wads

BOOM supports playing old wads fully. The only proviso is that those wads
must not contain serious errors, BOOM cannot play them if they do. Due to
the more sensitive nature of DPMI protected mode, BOOM is highly sensitive
to accessing arrays past limit and other illegal memory usages. The usual
result will be exit from BOOM with the message "Segment Violation". CWSDPMI
under DOS is more sensitive than Win'95s DPMI, so some wads that won't play
under DOS may still play under Win'95 in a DOS Window. On the positive side,
if you test your wads fully under DOS with CWSDPMI, they are very likely to
play without trouble after uploading. Its also very unlikely that your
system can be corrupted by BOOM. The config file, BOOM.CFG, contains a
variable named original_doom_compatibility that will insure that BOOM acts
as much like DOOM v1.9 as possible, even preserving some bugs in that
engine.


-----------------------------------------
Section 7. Files in the BOOM Distribution
-----------------------------------------

BOOM executable archive BOOM201.ZIP

BOOM.EXE..........Executable BOOM program
ASETUP.EXE........Allegro setup utility
BOOM.TXT..........This file
SNDDRVR.TXT.......Additional documentation on setting up sound/music in BOOM
BOOMDEH.TXT.......Description of BOOM's version of DEH
BOOMREF.TXT.......Reference for all extended wad features supported by BOOM
KEYCODE.EXE.......Tool to output keycodes for use in config file
COLHELP.BMP.......Chart of DOOM colors for use in config file
SERBOOM.EXE.......SERSETUP for BOOM
IPXBOOM.EXE.......IPXSETUP for BOOM
CSDPMI4B.ZIP......DJGPP v2 runtime support including docs and config util
CWSDPMI.EXE.......DJGPP v2 runtime support executable
GO32-V2.EXE.......DJGPP tool to provide info on DPMI setup
COPYING...........DJGPP copyright and distribution license
DOOMLIC.TXT.......Software license for DOOM sources and BOOM

DETH for BOOM (optional) DETH415b.ZIP

DETH.EXE..........v4.12 of the freeware editor DETH with full BOOM support
DETH.FNT..........Font used by DETH
DETH.INI..........Option and configuration file for DETH
COMMON.CFG........Options common to DOOM and DOOM II for DETH
DOOM2.CFG.........Options specific to DOOM II for DETH
DOOM1.CFG.........Options specific to DOOM for DETH
INSTALL.TXT.......Brief note on installation of DETH
KEYS.TXT..........Summary of key functions in DETH
TEXTURE.TXT.......Brief document on texture alignment
CHANGES.TXT.......DETH v4.12 release notes
CSDPMI4B.ZIP......DJGPP v2 runtime support including docs and config util
CWSDPMI.EXE.......DJGPP v2 runtime support executable
GO32-V2.EXE.......DJGPP tool to provide info on DPMI setup
COPYING...........DJGPP copyright and distribution license

EDIT utilities for BOOM (optional) EDITUTIL.ZIP

CLED.EXE..........Command line editor for extended fields in wads
CLED.TXT..........Documentation for CLED
TRIGCALC.EXE......Tool to output generalized linedef numbers by Q&A
MUSPUT.EXE........Tool to embed MIDI files in a wad
MUSPUT.TXT........Documentation for MUSPUT.EXE
BOOMREF.TXT.......Reference for all extended wad features supported by BOOM
CWSDPMI.EXE.......DJGPP v2 runtime support executable
SWANTBLS.EXE......Creates SWITCHED.LMP and ANIMATED.LMP from input text file
DEFSWANI.DAT......File for SWANTBLS.EXE containg default switches & animations
MAKTRLMP.EXE......Converts a TRANMAP.DAT file to a .LMP for wad inclusion
MAKTRLMP.TXT......Documentation for MAKTRLMP.EXE
CMAPTOOL.EXE......Tool for creating custom colormaps by editing a BMP
CMAPTOOL.TXT......Documentation for CMAPTOOL.EXE
DOOMCOLR.BMP......BMP containing all colors edited for use by CMAPTOOL.EXE
COLBMPS.ZIP.......Edited examples of DOOMCOLR.BMP
COLMAPS.ZIP.......Colormap lmps produced by CMAPTOOL from example BMPS
COLMAPS.WAD.......Add-on WAD containing example colormaps

EDIT configuration for WadAuthor (optional) WACFG.ZIP
(thanks to Rick (Wildman) Clark and Jonathan (DfA) Campbell)
BOOM.WCF..........Extended linedef, thing types for WadAuthor

EDIT configuration files for DCK (optional) DCKBOOM.ZIP

DOOM17.DAT........Extended types configuration for DCK2.2f
DOOM19.DAT........Extended types configuration for DCK3.x
DCKBOOM.TXT.......Documentation on DCK configuration files
WATERMAP.WAD......File that allows DCK to insert WATERMAP texture

DEMO wads

DAWNING.ZIP.......BOOM demo wad by Gary Gosson
RAGE.ZIP..........BOOM demo wad by Paul Fleschute
BOOMEDIT.ZIP......BOOM editor's tutorial wad by Jim Flynn

--------------------------------------
Section 8. How to report bugs in BOOM
--------------------------------------

If you find a bug in BOOM you should visit

http://www.teamtnt.com

and follow the directions there for reporting it. There will be a bug report
form, and an e-mail link provided. Please examine the bug report form to see
what kind of information we are interested in, even if you report it by
e-mail. This information will help us duplicate the problem, which is an
important step in fixing it.

Your help in making BOOM bug free is appreciated.

----------------------------
Section 9. Acknowledgements
----------------------------

We'd like to thank id Software for this incredible game, and especially John
Carmack for his release of the source and his encouragement of our efforts.

Credit is due Chi Hoang who sped us on our way with his near instant port of
the Linux DOOM source to DOS. BOOM is based on v.20 of his port.

Credit also to Steve Bacquet, whose QMUS2MID utility provided the insight we
needed to get a working MUS to MID converter running.

Thanks to Shawn Hargreaves who wrote Allegro, and made this possible in far
less time.

Thanks to all the folks who wrote our compiler, DJGPP v2, and who continue
to support free software.

Thanks to the non-coding DoomSource project members who tested our early
attempts and made many suggestions to improve the product.

Thanks to BOOM's BETA crew who beat on the engine mercilessly for long hours
and diligently filled our mailboxes with what they saw.

Gaston (Mordeth) Lahaut    Ky (Rez) Moffet           Jan Van der Veken
Joachim (Jou) Otahal       Len Pitre                 Doug Freeman
Chris (Case) Christenson   Jonathan (DfA) Campbell   Ingo Kirsch
Tom Robinson               Rich Brennan              Kurt Schulenberg
Justin Madigan             Lorenzo Cricchio          Peter Zahner

Thanks to Rick (Wildman) Clark and Jonathan (DfA) Campbell for creating an
editor configuration file for WadAuthor.

Thanks to Bruce (DOOMGuy) Benko for his work making DMapEdit work
with BOOM.

And finally thanks to all the DOOMers still out there who have kept the
game alive so long, and who gave us many fine ideas thru the newsgroups
and mail. Keep on Doomin'!

