                             DeHackEd v2.3
                         By Greg Lewis (Tree)
                            gregl@umich.edu


  This is a general help file for DeHackEd version 2.3.  For more specific
product information, see the file DEHACKED.TXT.  For important start-up 
info and instructions, read README.TXT.  And, if you are more interested 
in simply finding fun stuff to experiment with, check out the file 
"Fun with DeHackEd" (DHEFUN11.TXT) bundled with this program.  It was 
originally written by Dan Lottero, and includes some wild things to try!


  This help file is arranged in the following sections:

     1.  A Glossary
     2.  Patch File Info
     3.  Command Line Options
     4.  DeHackEd.ini Options
     5.  Available Keys
     6.  Mouse Support
     7.  Thing Editor
        a. Thing fields
        b. Bit fields
     8.  Frame Editor
     9.  Ammo Editor
       10.  Sound Editor
       11.  Sprite Editor
       12.  Text Editor

  So, without further ado, here it is!


 1. *** A Glossary
\------============

  There are a few new terms that I will be using throughout this file,
so first off I'll define everything and explain it in simple terms.

  Thing:   A Thing in Doom is any object that's in the game, such as
     monsters, the player, items, weapons, and decorations.  If some-
     thing isn't part of the floor, ceiling, or walls, it's a Thing.
     These are the most complicated objects in the exe, and have the
     most information stored about them.  This information includes
     what pictures to show onscreen, what sounds are associates with
     it, it's height, width, speed, etc.
  Sprite:  A Sprite is a collection of all the pictures that belong to
     one Thing.  For instance, there is a Sprite that contains all of
     the pictures for the Baron of Hell, from first activation to gory
     death.  Sprites can be referred to by a 4-letter name (which
     DeHackEd will display for you on the Sprite editing screen).  The 
     Sprite for the Baron is called BOSS, and is Sprite #42.
  Frame:   A Frame is one picture individual picture of a Sprite.  For
     example, there is one Frame that shows the Baron with its hand back,
     ready to throw a fireball at the player.  The most complex Sprites 
     may have 20-25 individual Frames in them, whereas simple Sprites 
     could only have one or two Frames.  Frames also contain info about 
     how long the picture should be displayed, and which picture to 
     display after the current one.  Frames are named by adding a letter
     to the end of a Sprite name.  The name for the Baron with its arm
     back is BOSSE, with a Sprite number of 42 and a Sprite sub-number of
     4. The code for converting the sub-number to the letter is 0=A, 1=B,
     2=C, 3=D, etc.
  Weapon:  A weapon of the player, and associated info, such as what
     picture to use for the weapon, and the ammunition that the weapon
     uses.
  Sound:   A sound that's played at some time.  The name is obvious, but
     other sound values (labelled with "descriptive" names such as "0 / 1"
     and "Value"), are still unknown.  Play around with them, and perhaps
     you'll find something new.


 2. *** Patch File Info
\------=================

  This is some more info on patch files, which may help explain any
difficulties you are having with them.

  Patch files are entirely different from WAD files.  WAD files can 
contain level info, sound, and graphics info (stuff normally found in
the Doom WAD file).  They are used simply by typing 
     doom -file <wadname> 
at the command line.  Patch files, however, contain info from inside the 
exe file, and cannot be used with the "-file" parameter.  DeHackEd 
is (currently) the only program that can apply these patches and change 
the Doom exe file.

  The new type of patch files include only the information you've modified,
and NOT all the data (as older types of patch files used to do).  They now 
have an easy-to-understand text format and can be created with any common
text editor (if you know what the different names are).  Load the SAMPLE.DEH
patch file that came with your copy of DeHackEd into a text editor for full
information on the text format.  Or just play around and create your own 
patch files and look at 'em.

  Because of the new format of patch files, any changes you've made to Doom
will stay even when you load a new patch file.  The new 'z' command has been
added so that you can return to the original Doom settings at any time.  So
in order to load a patch and remove any other previous changes, you'll need
to hit 'z' before 'l'oading the new patch.


 3. *** Command Line Options
\------======================

  Next, an explanation of command line options.  All parameters are totally
optional;  if you don't include anything more than the path DeHackEd will run
normally and go to the editing screens.  If any options other than just
the path are included, DeHackEd will run in 'batch' mode, and not actually
enter the editor.  The full command line syntax for DeHackEd is:

  dehacked [doompath] [-reload] [-load <patch1> <patch2> ...] [-save <patch>]

  [doompath] is optional, and specifies a different location for the
doom files, doom.exe and doom.wad, other than the current directory.  If
you give a path on the command line it will override the exename and
wadname that you give in the DEHACKED.INI file.

  -reload will return the exe file to its original data.  Because the new
patch format does not overwrite all data, but only values that need to be
changed, it's sometimes necessary to ensure that the exe is back to normal.  

  -load <patch1> <patch2> ... will update the doom.exe file with the 
patches called <patch1>, <patch2>, etc and return to the DOS prompt--
great for batch files!.

  Conversely, the -save <patch> option will save the current doom.exe 
status to a patch file named <patch> and return to the DOS prompt.  These 
options are similar to 'l' and 's' in DeHackEd, although when used in 
DeHackEd the 'l' option requires a 'w' after it to actually write the 
changes to the doom.exe file.  See section 4 for more info on 'l'oading 
and 's'aving.

  Example command line:

     dehacked c:\games\doom -load sample.deh

  This will start DeHackEd, using the Doom files found in c:\games\doom,
load in the info from the sample.deh patch file, and return to the DOS
prompt.

  The command line parameters are processed from left to right, so it's
possible to do several things at once.  The next example is what I would
imagine is the best way to automatically load a patch file from a batch
file:

        dehacked -save current.deh -reload -load newpatch.deh
        doomhack  . . .
        dehacked -reload -load current.deh
        delete current.deh

  This will save the current state of the exe file, then reset it to the
original Doom data and load the correct your custom patch file.  Then
doomhack is run, with whatever parameters you want.  Finally the exe is
reset to normal once again and the user's data is restored.


 4. *** DeHackEd.ini Options
\------======================

  Included with DeHackEd 2.3 is a DeHackEd.ini file which can specify
several parameters for DeHackEd.  They allow you to customize where you
want your patch files located, what your doom files are named, and more.
A summary of the allowable command line options follows:

  #     Start comment lines with a pound sign.  Anything after the pound 
        sign is ignored.
  editname = <filename>
        This is the name of your doom.exe file, and full path if necessary.
        This doesn't need to be included if you are running DeHackEd from
        the directory that your doom.exe file resides in, and it's got the
        proper name (doom.exe or doom2.exe).
  normalname = <filename>
        This is the name of your regular, UNCHANGED doom.exe file.  DeHackEd
        will never change the data in this file.  It's mostly used by
        DeHackEd to save patches.
  wadname = <filename>
        This is the name of your doom.wad file, and full path if necessary.
        This must be a registered wad file, not a shareware file.  This is
        needed for verification that you are really registered, and not
        just trying to fake it.  Once again, if this is in the same
        directory that DeHackEd is run from you don't need this parameter.
  pathname = <path>
        This is the path from which you want Doom to be run.  This is only
        used when using the 'r'un option from inside DeHackEd.
  params = <Doom parameters>
        These are command-line parameters that are fed to Doom when it's
        run using the 'r'un option from within DeHackEd.  Useful if you
        are using DeHackEd for a custom patch for a WAD you are writing;
        you can simply include a '-file <wadname>' in this line, and
        Doom will load your level every time DeHackEd runs it.
  patchdir = <path>
        This is the directory that DeHackEd will look in for patch files.
        A nifty way of keeping all of your thousands of .DEH files out
        of the Doom main directory.

  The following parameters are all totally optional, and need only be 
used if you have a really wierd doom.exe file.
  doomver = <0 | 1 | 2 | 3>
        This is the version of Doom you are hacking.  0 is Doom 1.2, 2 is Doom 2
        v1.666, 3 is Doom 1 or 2 v1.9, and 1 is everything else, Doom v1.666
        and Doom 2 v1.7(a).  This *must* be included if any of the following
        options are set.
  doomsize = <size>
        The size of your Doom.exe file.  I've had a few people complain
        that they have a non-standard doom.exe file size, and this may
        fix your problem simply by changing this.  If you get erroneous
        results though, you may have to play with the following params...
  thingoff = <offset>
  soundoff = <offset>
  frameoff = <offset>
  spriteoff = <offset>
  ammooff = <offset>
  weaponoff = <offset>
  textoff = <offset>
        These are the offsets in the Doom exe file for their corresponding
        data chunks.  PLAY WITH THESE AT YOUR OWN RISK.


 5. *** Available Keys
\------================

  Available keys are as follows:

  ESC   Exits to DOS.  Or, if you are in an input box, or just about
        *anywhere* in the program for that matter, it will back you
        out to whatever you had previously been doing.

  Enter Edits the current field, if it is an editable field.  To leave an
        editing box if you hit Enter by mistake, simply hit ESC.

  Space Views, plays, or displays the current field, if applicable.  If
        you are on a "frame" field, such as any of the Thing frames, or
        any field in the Frame table, or the Frame fields in the Ammo
        editor, it shows the frame that you've got highlighted.  (Note:
        If you are on the "Next Frame" field in the Frame editor you WILL
        see the next frame, not the current frame.)  If the frame you are
        viewing is the first in a series of frames, repeatedly pressing the
        spacebar will cycle through all of the frames.  Use the right and
        left arrow keys to view different sides of the Thing, if it has more
        than one different view.  Escape will exit.
        The spacebar will also view the full text strings in the Text Editor,
        and play the sounds when you are in a sound field.

  A     The About window.  This brings up two windows that shows you
        what version of DeHackEd you are working with (and some credits),
        and also a small summary of what Doom exe you are editing, and
        how much memory you have free, etc.

  C     The copy command.  This will copy information from one entry to
        another.  The syntax is fairly basic:  enter the number of the
        entry to copy FROM, and the entry number to copy TO.  A clipboard
        for Things is available as Thing #138 (Thing #104 for Doom 1.2),
        which is just a temporary storage Thing (and is not actually
        present in the Doom.exe file).  Note that the Thing names will
        not change... the Thing name is not actually in the Doom.exe, and
        is just included for your own benefit.  The Thing # is also only
        for the convenience of the hacker, and is not in the doom.exe
        file.  A specific Thing # will always have the same Thing Name,
        and this cannot be changed.

  D     Change numeric mode to Decimal.  This displays all numbers as
        normal decimal numbers.  'H' will switch to hexidecimal displays,
        which may be helpful sometimes.

  G     Goes to a specific Thing.  If you are in the Thing editor and know
        which Thing you want to see, you can go right to it by picking the
        name out of a list of names without bothering to page through all
        the Thing looking for it.  When the list of Things appears, you can
        do a speed-search by typing in the first few letters of the name.  Or,
        another quick alternative is to just type in the Thing number.
        If you are not in the Thing editing screen it also allows you to go to
        any object by number (like hopping straight to Frame #284 by typing in
        that number).

  J     Jumps to the information in the current field, in it's respec-
        tive editor.  For example, if you are in the Thing editor, and the
        'Death Frame' is highlighted, and you press the 'j' key, you will
        jump to the Frame editor, with the corresponding Frame number high-
        lighted.  A very handy tool for moving around the various editors.
        Generally it'll jump to a "logical" place, if there is one.

  L     Loads a patch file.  An extension of  .deh  will be assumed if for
        the patch file if none is given.  DeHackEd will do its best to convert
        patch files between all of the different exe formats to the current
        version of Doom that you have, but be warned that sometimes some of
        the information (usually the Text section) will not be compatible.
        When the information is loaded, only values that are replaced are
        actually changed... all other data (including any changes you have
        made) will be left intact.  If you want to avoid this, use  z  to
        reload the original exe information before loading the patch.  Also
        note that  w  must be used to make changes permanent.  You can also
        do this from the command line by typing
          dehacked -load <patchname>

  (M)   Due to the new patch format, there is no more need for a 'merge'
        command... all of the new text-format patches are automatically
        merged with the current data when loaded.  The older patches still
        load like they used to (overwriting ALL information).  'm'erging
        one of the older files is a few-step process:
          'l'oad the old patch
          's'ave a new temporary patch (temp.deh for example)
          'z'ap the data back to it's original values
          'l'oad the new temp.deh patch, and you're all set.

  R     Runs Doom.  This option is slightly tempermental, and every once 
        in a while it just flashes the screen and refuses to run Doom.
        Try it to see if it'll work for you.  It allows you to quickly
        test-run Doom, to check out the changes you've made (remember to
        hit 'w' before running!).  After Doom finishes, you will be returned
        to your current place in the editor to continue working.  You can
        specify command-line parameters for Doom, and the directory to run
        Doom from in the DeHackEd.ini file.

  S     Save a patch file.  You must enter the patch filename, and it
        will save all changed material to the patch file, in a text format.
        An extension of  .deh  is assumed if you don t give one.  You can
        also do this from the command line by typing
          dehacked -save <filename>

  U     Undo all changes.  This reloads the information straight from the
        hacked Doom exe file, and will return you to your most recent 'w'rite
        of all the data.

  W     Writes all changes to the Doom exe file.  This step is necessary
        to get any results!

  Z     Reload the ORIGINAL exe data.  So if you've been playing around
        and now all the monsters look like med-kits, and your rocket launcher
        shoots plasma that looks like lost souls, hit this key to get back to
        the real Doom data.

  F2    Thing Editor.  This is the main Thing editor, the default screen in
        DeHackEd.  See section 7 for more detailed Thing info.

  F3    Frame Table.  Displays Frame information, in a list format.
        See section 8 for more detailed Frame info.

  F4    Ammo/Weapon Editor.  This allows you to edit the ammo and weapon
        amounts and graphics.  Section 9 talks more about this screen.

  F5    Sound Table.  A jolly good table of all the sounds.  Check out  
        section 10 for more Sound table info.

  F6    Sprite Table.  A handy list of all the sprites, in case someone
        needs it.  Section 11 deals with the Sprites.

  F7    Text Editor.  This shows all the text strings in the Doom.exe 
        file.  You can also edit the strings, a capability new to
        DeHackEd (new to version 2.0, that is).  Section 12 has more info.

  F8    Thing List.  This is a Table version of the Thing editor.  It shows
        only the most important Thing information, and is meant as a quick-
        reference guide.


 6. *** Mouse Info
\------============

  Some notes on the mouse support.  Generally just click places to find out
what happens!  The new status bars on the top and bottom of the screen are
there expressly for the mouse users (click on 'em to get help, exit, see
the "About" window, or switch editors).  Clicking on any of the fields will
switch to it, and double-clicking will bring up the standard editing box
for that field.  Click on the "Thing Name" in the upper left window to Go to
any of the Things by name.  Clicking on any sound or frame names will play
the sound or show the frame for you.  Right clicking at any time will act
exactly like the Escape key was pressed (except for exiting the program), 
ie get you out of input boxes, leave the frame viewer, etc.  The way it's 
designed should (hopefully) be intuitive.

  There is a problem with some mice (restricted to Logitech mice, I think)
where the mouse only moves in the top half of the screen.  I'm looking into
it to see if I can fix the problem.  Until then, just remember that you can
do anything with the keyboard that you can do with the mouse.


 7. *** Thing Editor
\------==============

a.  Thing fields

  This is the first thing you see when you start up DeHackEd.  It is also
  one of the main areas of the program.  Edit Things by highlighting the 
  desired field and hitting Enter, or clicking on it with the mouse.

  The Player entry is slightly "special" in regards to how much Doom
  uses the info in the Player fields.  Entries such as Speed and Hit
  Points are NOT changable through DeHackEd; they are controlled else-
  where in the exe and aren't easily accessible.  Most of the rest of
  the Player entries, however, are used and can be changed normally.

  Thing Number:      The number of the Thing.  Basically it's just for
        reference, numbered in order according to how the Things are stored
        in the Doom exe file.  Note: these are different between 1.2 and
        newer versions, because new Things have been added!
  Thing Name:        A short descriptive name for the Thing.  This info
        is NOT stored in the Doom exe file, and thus you can't edit it, and
        it will always remain the same.  So a Thing #55 (the rocket launcher
        in Doom 1.2) will always be described as a "Rocket Launcher", even
        if you change it to something entirely different, like a Cacodemon.
  Thing ID#:         This is the Thing's 'identification number' which is 
        used in level developement (WAD files).  Wherever this number
        appears in a WAD file, this Thing will appear.
  Hit Points:        How much damage it can sustain.  For all non-living 
        Things, it's generally 1000 (not necessary though).
  Speed:             How fast it can go.  Projectiles have their speed
        multiplied by 65536, but DeHackEd displays projectiles the same way
        it does normal speeds (so you don't need to wade though large numbers
        for projectile speeds).  Whether a certain Thing is a projectile
        or not is determined by bit #16, 'Projectile'.  If that
        bit is set, the speed is displayed as a Projectile, otherwise it
        is a "normal" speed.  Basically though, just ignore it and
        DeHackEd will take care of it for you.  =-}
  Width:             The radius of the Thing.  A narrow Thing is harder 
        to hit!  To fit a Thing through a narrow passageway, you need to
        have the passage slightly wider than twice it's width.  Thus a
        passage must be 33 to allow the Marine through, even though his
        actual radius is 16.
  Height:            Same as width, but it's height.  Duh.  :-)
  Missile Damage:    If it's a projectile, how much damage it does upon 
        "death" (explosion).  Note that Lost Souls have this set to 3.
  Reaction Time:     For monsters, their reaction time.  Lower=quicker to 
        attack, higher=slower to attack.
  Pain Chance:       Chance out of 256 that a monster's action/attack will 
        be interrupted by an injury.  The Lost Soul always will (256), and
        the Spider Boss rarely will (40).
  Mass:              Thing's mass.  Set a trooper's to 1 and watch him fly!  
        Note the Cyberdemon has a high mass, and your rockets don't budge
        him much.
  Bits:              This is the actual value of all of the bits.  Just
        change this one number if you want to set all of the bits at once
        to something.  See also the Bit fields portion of the text, coming
        up in a few pages (section 7b).

  SOUNDS
  Alert:             Sound made when the monster first spots the player,
        or a projectile is launched.  These all point to the sounds in the
        Sound table.
  Attack:            Sound made during a close attack.
  Pain:              Sound made when the Thing is injured.
  Death:             Sound made when the Thing dies.  For projectiles and 
        barrels, the sound of it's explosion.
  Action:            Sound made when the Thing is just milling around.

  FRAMES
  First Normal:      What an inactive thing looks like, or a monster that's 
        not yet active.  All frame numbers refer to the Frame table.  Only
        the first frame is listed, you will need to refer to that Frame
        entry in the Frame table to find out if it's actually a sequence of
        frames.
  First Moving:      A movable Thing's "first steps."
  Injury:            Frame played for an injured Thing.
  Close Attack:      Attacks that are close (clawing imps).
  Far Attack:        Attacks that are far away (imp winding up for a
        fireball attack).
  Death:             Monster death or barrel/projectile explosion.
  Explode Death:     Exploding death (slop!) for players, troopers,
        imps, and sargeants.
  Respawn:           This is the frame that's shown when the Thing comes
        back to life due to the ArchVile.  This field is only shown for
        versions other than Doom 1.2.


b.  Bit Editor

   0.Gettable Thing:      Something that can be picked up by the player, 
        like an ammo clip.
   1.Obstacle:            Something that can't be walked through.
   2.Shootable Thing:     It will only take damage if this is set.  Note 
        that barrels also have this set.
   3.Total Invisibility:  The Thing just can't be seen, no-how, no-way.  It
        won't even show up with iddt-iddt.
   4.'Automatics':        From Jason Gorski:  "Okay well if you don't want
        your weapons to auto-lock onto something set the automatics to yes."
        Basically Things like PUFF, TFOG, BLUD, and projectiles.
   5.Semi-Deaf            Monsters become active if they see you (like
        normal), or if you fire a weapon AND there is a direct line of
        sight between you and the monster.  Strange.
   6.In Pain:             Used internally by the Doom exe to determine if a
        monster is in pain or not.
   7.Unknown      
   8.Hangs From Ceiling:  For those gory legs & mangled bodies.  Have it 
        set, well, if the Thing hangs from the ceiling!
   9.No Gravity:          Used for floating monsters and Things that aren't 
        on the ground.
  10.Travels Over Cliffs: Set for projectiles and players.  This bit allows
        the Thing to travel from one sector to another even when the
        dropoff height difference is greater than 16 (or 24?).  Turn this
        on for Imps, and the Imps on E1M1 will jump off their platform
        after you.
  11.Can pick up items:   This Thing (i.e. the player) can pick up Gettable
        Things.
  12.No Clipping:         Same effect as idspispopd/idclip, but also 
        effective for monsters.
  13.Unknown
  14.Floating:            For floating monsters, like the Cacodemon and the
        Lost Soul.
  15.Semi-No Clipping:    Kinda like no-clipping, kinda not.  You can't 
        walk through walls, or trigger any linedefs, but you can walk
        over any height cliff in your way.
  16.Projectiles:         Set for projectiles.  Allows the projectile to
        leave your body.  If it is turned off, the projectile explodes
        as soon as it is fired, because it originates from "inside" your
        body.
  17.Disappearing Weapon: This is used for weapons such as the shotgun that
        the sargeants use, so that it disappears when picked up in a multi-
        player game.  Normal weapons do not have this set, however, because
        they stick around in normal multi-player games when picked up.
  18.Partial Invisibilty: The Spectre effect.
  19.Puffs (vs. bleeds):  Whether a thing bleeds (bit off) or puffs (bit on)
        when hit.  The barrel is the only default Thing that has this set.
  20.Sliding Helpless:    ???
  21.Unknown
  22.Counts for Kill%     This Thing counts as part of the Kill% at the end
        of the level.
  23.Counts for Item%     Just like Kill%, but for Things.
  24.Unknown
  25.Not in Deathmatch:   Things not present in Deathmatch mode, such as keys
        and the normal "Player" starting spots (deathmatch spots are used
        instead).
  26.Color 1             \ 00-greens->greens       01-greens->browns
  27.Color 2             / 10-greens->indigos      11-greens->dark reds
  28.Unknown             \
  29.Unknown              Perhaps these are unused???
  30.Unknown             /
  31.Unknown            /

 8. *** Frame Editor
\------==============

  This displays the majority of the Frame information.  Each frame has six
  editable fields (of 8 total that are stored in the exe).  The only two 
  fields that are NOT shown on the screen are always 0 in all of the Frames,
  so I decided it would be pointless to try to squeeze them onscreen also.

  Frame #:           This is the number that is specified in the Thing 
     Frame fields.
  Name:              A lookup done on the Text info in the doom.exe file,
     specified by a reference to the Sprite #, the Sprite Table, and
     the Sprite subnumber.
  Sprite #:          The sprite that is shown for this Frame.
  Sprite Sub #:      The individual "picture" (for lack of a better
     word... I think the technical term is "lump") suffix for this Frame.
     In the Doom WAD file, there is (for example) a Sprite called TROO, 
     for the trooper.  The sub # specifies which TROO picture to use... 
     TROOA, TROOB, TROOC, etc.
  Bright Sprite:     This check box determines if a Sprite is ALWAYS
     displayed at it's full brightness.  Sprites that are always displayed
     at their full brightness are Lost Souls, plasma bullets, etc... they
     are always visible no matter what the lighting is.
  Next Frame #:      Which Frame to play next.  You can skip a few shotgun
     frames this way, to make the super-fast ("combat") shotgun.
  Duration:          How long the frame stays on the screen.  Make 'em
     all 1 to make the super fast shotgun *really* be super fast!  Notice
     that the notoriously slow BFG has a value of 20 and 10 for a few of
     its Frames.  (hint hint... =-)
  Code pointer:      An offset in the Doom exe file to where it should
     look for the "action" associated with this Frame.  It appears after
     more digging that this value is really useless.  The actual location
     in the code is specified by a relocation table elsewhere in the
     Doom exe, which is referred to instead of the code pointer.


 9. *** Ammo Editor
\------=============

  Weapon Name:       The name of the weapon (not editable)
  Ammo Type:         A pithy description.  This will be 'N/A' when an 
        'unknown' ammo type is given for the Ammo Number.  Ammo type 5 is
        listed as "Unlimited".
  Ammo Number:       0=bullets       3=rockets
               1=shells        4= ??? (none)
               2=cells         5=unlimited (fist/chainsaw)
  Max ammo cap:      The starting capacity for the current type of ammo.  
        It's listed on the right side of the slash on the status bar.
        Backpacks will double this limit automatically.  This will be 'N/A'
        for unknown ammo types.
  Ammo per item:     How much ammo you get when you pick up a power-up of the 
        current ammo type.  For example, normally the bullet power-up gives
        you 10 bullets.  This value is multiplied by 5 for the 'large'
        power-ups, i.e. boxes of rockets, boxes of shells, etc.  Different
        difficulty modes also change this.  Also 'N/A' for unknown types.
  Deselect frame:    This is the frame that's shown when another weapon
        is selected and the current weapon drops off the screen.  This is
        the number that Doom refers to in the Frame list for more info.
  Select frame:      The frame that's shown when the weapon is selected
        and is rising onto the screen.
  Bobbing frame:     Frame number for the bobbing weapon.
  Shooting frame:    Frame played when the weapon shoots.
  Firing frame:      Frame that actually shows the "flames" from the
        weapon.


10. *** Sound Editor
\------==============
     
  Sound Number:      This is the number that's referenced by the Things
        for each sound.
  Text Offset:       The offset into the Text section where the sound 
        name is found.
  Sound Name:        Found by simply checking the Text section at the
        correct offset.
  0 / 1:             ??? Perhaps some complicated sound thingy.   
  Value:             ??? Another unknown sound value, perhaps something 
        dealing with how the sound was sampled.


11. *** Sprite Editor
\------===============

  Sprite Number:     The number in the Frame table that refences this
     Sprite.
  Text Offset:       The offset into the Text section where the Sprite
     name is found.
  Sprite Name:       Also found through a simple lookup in the Text
     section.


12. *** Text Editor
\------=============

  Text Offset:       The offset into the Text section of the current
     Text string.
  Text:              This is the actual text that's located at the
     text offset.

  Some notes are in order on the Text viewing, editing, etc.  First of
all, if the Text is longer than about 60 characters (too long to fit on
one line in the general Text screen) three ellipses are displayed at the
end of the line.  Non-printing characters, such as new-lines, tabs, and
other screwy characters are shown by a tilde symbol in the text (~).  

  If you want to view the actual text, just hit the Spacebar and a window
will pop up with the actual text string in it.  A newline is shown by a
'\n' shown in black (dark grey), tabs by '\t' in black, and so on.  The
text is formatted in basically the same way that it would be on-screen.

  To edit the text, just hit Enter and the view window and an edit window
will pop up.  Enter your new text in the edit window, and hit Escape when
you are done editing.  If you are hitting Escape to cancel the current
editing operation, answer 'n'o when asked if you want your changes saved,
otherwise answer 'y'es and the text will change to your modification.

  Because each text string is variable length in the Doom exe file, you 
have only a slight lee-way in how long the edited text needs to be.  The 
minimum and maximum length for the string you are editing are shown on the 
top line of the editing window, along with the current position of the 
character you're on.  You will have a range of 4 characters that the new 
string must fit into.  Typing beyond the maximum number of characters is not 
allowed, and stopping short of the minimum is also not allowed.

  The text editor is not exactly a full-fledged version of Wordperfect, so
the only movement key you have is the back-space...  no arrow keys, no
macros, no spell checker, etc. :-)


  That's about it.  Any more question?  Feel free to write me at
gregl@umich.edu for more information.  Have fun!
