                           SeHackEd v0.4
                  Modified By Mike Fredericks (Gokuma)
                           chohatsu@yahoo.com
                      http://doomworld.com/sehacked

                              based on
                           DeHackEd v3.0a
                        By Greg Lewis (Tree)
                           gregl@umich.edu
                 http://www.yossman.net/~tree/_doom.html


This document was originally written by Greg Lewis.  It has been edited to
apply appropriately to SeHackEd by Mike Fredericks.


  This is a general help file for SeHackEd version 0.4.  For more specific
product information, see the file SEHACKED.TXT.  For important start-up 
info and instructions, read README.TXT.  And, if you have problems or
questions with SeHackEd you are encouraged to take a look at the Frequently
Asked Questions section in this file.

  This file is arranged in the following sections:

     1.  Internet Resources
     2.  Donations/Source code
     3.  A Glossary
     4.  Patch File Info
     5.  Command Line Options
     6.  SeHackEd.ini Options
     7.  Available Keys
     8.  Mouse Support
     9.  Thing Editor
      a.  Thing fields
      b.  Bit fields
    10.  Frame Editor
    11.  Misc Editor
      a.  Weapon fields
      b.  Cheat codes
      c.  Miscellaneous data
    12.  Sound Editor
    13.  Sprite Editor
    14.  Text Editor
    15.  Frequently Asked Questions

  So, without further ado, here it is!


 1. *** Internet Resources
\------====================

  This section contains some pointers to other sources of information
regarding SeHackEd on the Internet.  There isn't too much out there, but
there are a few places to look.

  First of all, there are some locations where you can find SeHackEd
itself, along with patch files for the program.  The main site for
this program is

  The SeHackEd Homepage: http://doomworld.com/sehacked

Here you will find the latest release of this program, along with some patch
files.

  There are several DeHackEd and Strife related WWW pages are available for
general use.  For up to the minute program information, bug reports, or other
news check out the SeHackEd homepage.  LummoxJR's DeHackEd Grabbag contains
info about fun things that are possible with Doom along with some sample deh
patches.  Those should give you an idea what you can do with Strife and
SeHacked.  From these pages you can also browse through a large part of the
DeHackEd and Strife WWW networks.

  Official DHE Page:      http://www.yossman.net/~tree/_doom.html
  Enjay's Place of Doom:  http://www.btinternet.com/~Enjay001/
  The DHE Grabbag:        http://www.btinternet.com/~Enjay001/deh13.htm

  I am available through email.  I can be reached at the following address.

  Email address: chohatsu@yahoo.com
  
  
 2. *** Donations/Source code
\------=======================

  This program is released to the public domain without requiring a 
registration fee for a "registered" version.
 
DeHackEd was written in Borland C++ v3.1, although it is 95% straight C 
code.  SeHackEd is just modified version of DeHackEd.

SeHackEd's source code is available at pit.condemned.com

See DeHackEd's dehacked.hlp file or note.txt (included with source code)
for additional info.

  
 3. *** 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 Strife 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, its 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 Templar, from first activation to gory
     death.  Sprites can be referred to by a 4-letter name (which
     SeHackEd will display for you on the Sprite editing screen).  The 
     Sprite for the Baron is called PGRD, 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 
     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 (labeled with "descriptive" names such as "0 / 1"
     and "Value"), are still uncertain.  Play around with them, and 
     perhaps you'll find something new.
  
  Patch:   A patch file is a file that SeHackEd uses to make its changes
     to the Strife executable file.  This is explained in more detail in
     the next section.


 4. *** 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 main Strife WAD file).  They are used simply by typing 
     strife1 -file <wadname> 
at the command line.  Patch files, however, contain info from inside the 
exe file, and cannot be used with the "-file" parameter.  SeHackEd is the 
only program that can apply these patches and change the Strife exe file.

  The newest format of patch files includes 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.SEH patch file that came with your copy of SeHackEd 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 Strife
will stay even when you load a new patch file.  The 'z' command has been
added so that you can return to the original Strife 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.  To make this easier on the user
SeHackEd will now ask if you wish to reload the original exe data every time
you load a patch.  Normally, if you want to remove all traces of previous
patches, you should answer yes.  If you have a good grasp of what is going
on you can set the 'askatload' variable to false in the ini file and skip
that question.


 5. *** 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 SeHackEd will run
normally and go to the editing screens.  If any options other than just
the path are included, SeHackEd will run in 'batch' mode and not actually
enter the editor.  If present, the strife path must be first.  Other than that
restriction the arguments can be included in any order, any number of times.
They will be processed in the order they appear, left to right.  The full 
command line syntax for SeHackEd is:

  sehacked [strifepath] [-reload] [-load <patch1> <patch2> ...] [-save <patch>]

  [strifepath] is optional, and specifies a different location for the
strife files, strife1.exe and strife1.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 SEHACKED.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 strife1.exe file with the 
patches called <patch1>, <patch2>, etc.

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

  Example command line:

     sehacked c:\games\strife -load sample.seh

  This will start SeHackEd, using the Strife files found in c:\games\strife,
load in the info from the sample.seh 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:

        sehacked -save current.seh -reload -load newpatch.seh
        strife1h  . . .
        sehacked -reload -load current.seh
        del current.seh

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


 6. *** SeHackEd.ini Options
\------======================

  Included with SeHackEd is an ini file which can specify several parameters 
for SeHackEd.  They allow you to customize where you want your patch files 
located, what your strife 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 the strife exe file that SeHackEd will perform 
        the actual changes to, and full path if necessary.  This doesn't 
        need to be included if you are running SeHackEd from the directory 
        that your the exe file resides in, and it's got the proper name.
        Normally this file is named strifehack.exe.  The strifehack.exe file
        is not part of Strife, it is merely a copy of the strife1.exe (or 
        strife2.exe) file.
  normalname = <filename>
        This is the name of your regular, UNCHANGED strife1.exe file.  SeHackEd
        will never change the data in this file.  It's mostly used by
        SeHackEd to save patches.
  wadname = <filename>
        This is the name of your strife1.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 SeHackEd is run from you don't need this parameter.
  pathname = <path>
        This is the path from which you want Strife to be run.  This is only
        used when using the 'r'un option from inside SeHackEd.
  params = <Strife parameters>
        These are command-line parameters that are fed to Strife when it's
        run using the 'r'un option from within SeHackEd.  Useful if you
        are using SeHackEd for a custom patch for a WAD you are writing;
        you can simply include a '-file <wadname>' in this line, and
        Strife will load your level every time SeHackEd runs it.
  patchdir = <path>
        This is the directory that SeHackEd will look in for patch files.
        A nifty way of keeping all of your thousands of .SEH files out
        of the Strife main directory.
  askatload = <true | false>
        By default this option is true.  If it is true, every time you
        load a new patch file in the editor it will ask if you wish to
        reload the original exe data.  When set to false the question is
        NOT asked and it is up to you to know what you are doing.
  loadlogo = <true | false>
        This determines if SeHackEd shows the cool logo when the program
        starts up.  If you don't like the logo for some reason, just give
        this variable a value of "false".  It is true by default.
  
  The following parameters are all totally optional, and need only be 
used if you have a really wierd strife1.exe file.
  version = 4
        This is the version of Strife you are hacking.  4 is for Strife v1.31
        This *must* be included if any of the following options are set.
  size = <size>
        The size of your Strife.exe file.  I've had a few people complain
        that they have a non-standard strife1.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>
  cheatoff = <offset>
        These are the offsets in the Strife exe file for their corresponding
        data chunks.  PLAY WITH THESE AT YOUR OWN RISK.
  textlength = <length>
        This is the length of the text data and should be used in 
        conjunction with the previous offsets.


 7. *** 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 Displays or plays the current field, if applicable.  If you are 
        on a "frame" field, such as any of the Thing frames, 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 SeHackEd you are working with (and some credits),
        and also a small summary of what Strife 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, which is just a temporary 
        storage Thing (and is not actually present in the Strife.exe file).
        When entering the number of the object to copy from or to simply
        hit the enter key to use the current object.
        
  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 Things 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 in the Frame editor, you will see a list of 
        all of the Things exactly as if you were in the Thing editor.  When 
        you choose Thing, SeHackEd will find the Initial Frame for that
        Thing and jump to it.  Entering a number will again allow you to
        jump straight to a certain Frame.
        If you not in the Thing or Frame editing screens you will be able
        to enter the number directly and go straight to that object (like 
        hopping straight to Sound #45 by typing in that number).
        In the Text editor the 'g' key allows you to search for a text
        string.  Type in any search string up to 40 characters in length,
        and SeHackEd will examine the entire Text data to find any
        occurences of that string.

  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.  You can enter a patch file (complete with
        path, if necessary) in the input box, or you can just hit the
        enter key to choose the patch from a list of all the patches in
        your patch directory.  An extension of ".seh" will be assumed for
        the patch file if none is given.  Note that you will need to use
        'w' to write the changes to the exe file after loading it, or the
        changes will not show up if you try to run Strife.  SeHackEd will do 
        its best to convert patch files between all of the different exe 
        formats to the current version of Strife that you have, but be warned 
        that sometimes some of the information (usually the Text data) 
        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.  Alternately you can answer 'y'es to the 
        question about reloading the original exe data when you load the 
        patch.  You can also load patches from the command line by typing
          sehacked -load <patchname>

  R     Runs Strife.  It allows you to quickly test-run Strife, to check out 
        the changes you've made (remember to hit 'w' before running!).  
        After Strife finishes, you will be returned to your current place 
        in the editor to continue working.  You can specify command-line 
        parameters for Strife and the directory to run Strife from in the 
        SeHackEd.ini file (see section 6).

  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 ".seh" is assumed if you don't give one.  
        You can also do this from the command line by typing
          sehacked -save <filename>

  U     Undo all changes.  This reloads the information straight from the
        hacked Strife exe file, which in effect returns you to your most 
        recent 'w'rite of all the data.

  W     Writes all changes to the Strife 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 original Strife data.

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

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

  F4    Misc Editor.  This allows you to edit the weapons, ammunition,
        cheat codes, and other miscellaneous data, including player health
        and similar goodies.  Section 11 talks more about this screen.

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

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

  F7    Text Editor.  This shows all the text strings in the Strife.exe 
        file.  Section 14 has more info.


 8. *** Mouse Info
\------============

  Some notes on the mouse support.  Generally just click places to find 
out what happens!  The 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, load/save patch files, or switch screens).  Clicking 
on any of the fields will switch to it, and double-clicking will bring up 
the editing box for that field.  Click on the "Thing Number" in the upper 
left window as a shortcut to the Goto Thing function.  Clicking on any 
sound or frame name 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), i.e. get you out of input boxes, leave 
the frame viewer, etc.  The way it's designed should (hopefully) be 
intuitive.

  A problem has been reported with some mice where the mouse only moves 
in the top half of the screen.  I have not been able to duplicate the bug
with my Microsoft mouse and driver, so it must be something fruity with
other mouse drivers.  I'm hoping that a minor change I made has fixed the 
problem, but I won't be sure of this until I hear from someone who can 
tell me one way or another.  Either way, just remember that you can do 
anything with the keyboard that you can do with the mouse.


 9. *** Thing Editor
\------==============

a.  Thing fields

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

  The Player entry is slightly "special" in regards to how much Strife
  uses the info in the Player fields.  Entries such as Speed and Hit
  Points are NOT changable through SeHackEd; they are controlled else-
  where in the exe and aren't easily accessible.  Several of these fields
  have been discovered and are now available in the Misc editor (F4).  Most 
  of the Player entries, however, can be used and 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 
        Strife exe file.
  Thing Name:
        A short descriptive name for the Thing.  This info can now be 
        edited, but any changes you make to the Thing Name will be erased 
        as soon as you leave SeHackEd...  the only way to make them stick
        is to 's'ave a patch file just before you leave, and then 'l'oad
        that patch back up when you enter SeHackEd the next time.
  Thing ID#:
        This is the Thing's 'identification number' which is used in level
        development (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, its
        generally 1000 (not necessary though).
  Speed:
        How fast it can go.  Projectiles have their speed multiplied by 
        65536, but SeHackEd 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 SeHackEd 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 impact.  Note
        that Lost Souls have this set to 3, because they function as
        projectiles during their attack.
  Reaction Time:
        For monsters, their reaction time.  Lower=quicker to attack,
        higher=slower to attack.  This acts as detonation time for some
        other things such as grenades, flames, and Sigil A attack
  Pain Chance:
        Chance out of 256 that a monster's 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 9b).
  Name Pointer: (listed under frames)
        This is a pointer to the string of text for the thing's name.
        Changing this pointer has no effect.  So look in the text section for
        the thing name you want to change.  Here's a good tip though.  Any
        thing that has a value for name pointer other than zero can be made
        gettable without fear of any unknown gettable thing error.  If a
        thing isn't designed to be gettable, it goes into your inventory and
        can be dropped back out anytime.  Dead things will be restored to
        life when dropped!

  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 its 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.
  Crash:
        This is the frame that's shown when the thing is mortally wounded.
        It's not dead yet but it can't recover.  Peasants and the kneeling
        guy have these.


b.  Bit Editor

   0.Can be picked up:    Something that can be picked up by the player, 
                          like a clip of bullets.
   1.Obstacle:            Something that can't be walked through.
   2.Shootable:           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 topo-topo.
   4.Can't be hit:        This is set for objects that will collide with     
                          something themselves, but can not be hit by         
                          anything else.  E.g. rockets, which collide with 
                          things (obviously) but can not be shot down.
   5.Standing             NPCs stand still instead of walking around.
   6. ? (used by Peasants and Beggars)
   7.Steps before attack: Reportedly the monster will take a step before
                          attacking the player.  This hasn't been verified.
   8.Hangs from ceiling:  For those chains & ceiling turrets.  Have it 
                          set 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 24 (or 16?).  Turn this on for Acolytes, and
                          they will jump off ledges after you.
  11. ? (mostly enemies): (used by Bosses and some Quest things    
  12.No clipping:         Same effect as idspispopd/idclip, but also 
                          effective for monsters.
  13.Slides along walls:  Apparently available for monster types that were
                          never used.  Reportedly this bit will only work in
                          the beta versions of Doom and was disabled for the
                          release versions.
  14.Floating:            For floating monsters, like the Sentinel and the
                          Specters.
  15. ? (used by most enemies and other shootables)
  16.Projectiles:         Set for projectiles.  Allows the projectile to
                          leave your body.  If it is turned off, the proj-
                          ectile explodes as soon as it is fired, because 
                          it originates from "inside" your body.
  17.Disappearing Weapon: This is used for items such as teleport beacons so
                          that they disappear never to respawn 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.Translucent:         Partial invisibilty, the shadow effect
  19.Sparks (vs. bleeds): Whether a thing bleeds (bit off) or sparks (bit on)
                          when hit.  Things that do NOT have this set and are
                          shootable will go into the universal burning or
                          disintegration death frames if killed by flames or
                          the mauler respectively.
  20.Sliding helpless:    ???
  21.No auto-leveling:    Valid only for floating Things, this bit makes it
                          so that flying monsters do not need to rise/sink 
                          to the player's level before attacking. This makes 
                          it quite unfair for the player!
  22.Affects Kill %:      This thing counts as part of the Kill%.
  23.Affects Item %:      Just like Kill%, but for Things.
  24.Bounces              Thing bounces off surfaces and other things but
                          will still explode on water.
  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.Goodguy/Ally:        Allied with player, used by Players and Rebels.
  27.Modify visibility:   Modifies translucent effect.   If translucense is
                          not set, the thing will be invisible except on map.
                          Used by Specters, Entity, and gas.
  28.Color 1             \   
  29.Color 2              > See below
  30.Color 3             /
  31.Spectral:            Can only be damaged by projectiles that also have
                          this bit set.

Bits 28-30, Color 1-3, change tans and browns like this...
1=red (and green to yellow and gray)
2=rust
1+2=gray
3=dark green
1+3=gold (and red or reddish orange)
2+3=bright green
1+2+3=blue (and light gray/white)

  
10. *** 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 strife1.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 Strife1.WAD
     file, there is (for example) a Sprite called AGRD, for the acolyte.  The
     sub # specifies which AGRD picture to use... AGRDA, AGRDB, AGRDC, 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 explosions, sigil blasts, etc... they are always visible no
     matter what the lighting of the room they are in is.
  Next Frame #:
     Which Frame to play next.  You can skip a few mauler frames this way,
     to make the super-fast mauler.
  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 Mauler Torpedo has a value of 20 and 10 for a few of its Frames.  
     (hint hint... =-)
  Code pointer:
     An offset in the Strife exe file to where it should look for the
     "action" associated with this Frame.  This field is NOT editable.
     The code pointer determines what action happens when a certain Frame is
     displayed.  For example, for Frame 1310 (which is part of the sequence
     of a barrel exploding) the code pointer will cause damage to be done to
     anything standing near the barrel.  If you replace an Stalker's Close
     Attack Frame with this one, the Stalker would do damage just like an
     exploding barrel whenever the player was close to it.  Ouch!


11. *** Misc Editor
\------=============

a. Weapon fields

  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 8 is listed as 
        "Unlimited".
  Ammo Number: 
        0=bullets         4=missiles
        1=electric bolts  5=H-E grenade rounds
        2=poison bolts    6=phosphorus grenade rounds
        3=energy pods     8=unlimited (fist/sigils)
  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
        Strife 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.
  ? Unknown:
        No idea what this setting does.  Can't be edited normally within
        SeHackEd but can be through patches to load.  See SAMPLE.SEH
        
b. Cheat codes

  The cheat codes are a little tricky to deal with, but not as stringent
as the Text data.  Cheat codes may consist of lowercase letters of the
alphabet, numbers, and some punctuation, as far as I have verified.  I
don't believe anything that requires a shift key is allowed (such as
!&@#$)% etc) but you may want to try it out yourself.  Every cheat except
for SPIN, RIFT, and SCOOT (which required addition input) may be truncated as
much as you wish, although null cheats are not allowed.  If several cheats 
are modified to be exactly the same, Strife will activate all of them at once.
So you could, if you wished, set every cheat to activate on the letter 'i',
and then when you hit that letter EVERY cheat would activate.  Fun!  The
names should be obvious, but I will list them here for completeness' sake.

  Change music       SPIN, sets music to that of any level
  Level Warp         RIFT, warps the player to a different level
  Stealth Boots      GRIPPER, gives player super traction
  Sigil piece        LEGO, gives the player a piece of the Sigil
  FPS                DOTS, shows dots that tell frames per second
  TeleportMapSpot    SCOOT, teleport to any map spot in an area
  Gold&StatTokens    DONNYTRUMP, gives player accuracy, toughness, and gold
  God mode           OMNIPOTENT, player can not be hurt
  Keys               JIMMY, player receives keys, more keys, and loses keys
  Weapons & Ammo     BOOMSTIX, player recieves all weapons and ammo
  Massacre           STONECOLD, kills everything in level
  No Clipping        ELVIS, the walk-through-walls cheat
  Berserk            PUMPUPB, gives the player the berserk punch power
  Invisibility       PUMPUPI, gives the player the shadow armor
  Enviromental Suit  PUMPUPM, gives the player the enviromental suit (mask)
  Health             PUMPUPH, gives the player full health
  Backpack           PUMPUPP, gives the player the ammo satchel

 Other cheats currently not listed or editable:
  Show Pumpup menu   PUMPUP, shows the little menu of options
  Stats              PUMPUPS, gives 10 accuracy and 10 stamina
  Show Coordinates   GPS, tells your position
  Map cheat          TOPO, used on map screen, shows the entire level

 Strife v1.1 Cheats:
  Change music       IDMUS, sets music to that of any level
  God+Guns+Items     STUFF, god mode, plus weapons, stats, keys, beacon. 
  God mode           IBGOD, player can not be hurt
  Keys               OPEN, player receives keys, more keys, and loses keys
  Weapons & Ammo     GUNS, player recieves all weapons and ammo
  Massacre           KILLEM, kills everything in level
  No Clipping        SPIRIT, the walk-through-walls cheat
  Berserk            LISTITB, gives the player the berserk punch power
  Invisibility       LISTITI, gives the player the shadow armor
  Enviromental Suit  LISTITM, gives the player the enviromental suit (mask)
  Health             LISTITH, gives the player full health
  Backpack           LISTITP, gives the player the ammo satchel
  Stats              LISTITS, gives 10 accuracy and 10 stamina
  Show LISTIT menu   LISTIT, shows the little menu of options
  Toggle AI          AIBRAIN, seems to max all light levels
  Stealth Boots      STIC, gives player super traction
  Auto Use Health    ILIVE, same as pressing F5

 Other cheats currently not listed or editable for v1.1:
  Level Warp         GOTO, warps the player to a different level
  FPS                TIC, shows dots that tell frames per second
  TeleportMapSpot    MOVEME, teleport to any map spot in an area
  Gold&StatTokens    MONEY, gives player accuracy, toughness, and gold
  Show Coordinates   IDMYPOS, tells your position
  Map cheat          IDDT, used on map screen, shows the entire level


12. *** 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:
        This may be related to whether a given sound is ALWAYS played at
        its full volume, no matter how far away it is.  For example, some
        boss activation sounds are always played very loudly even if you
        are far away from them.
  Value:
        This is the mixing value when more than one sound is being played
        at one time.  Lower numbers indicate that the sound will be less
        emphasized among other sounds.


13. *** 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.


14. *** 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 a fixed length in the Strife 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. :-)


15. *** Frequently Asked Questions
\------============================

  This section is devoted to questions that I have received regularly in 
the past in the hopes that people will read this and not bug me. :)


Q: Help!  I start up SeHackEd up it complains that it can't find my Strife
   files.  What can I do?
     
A: Take a look at the README.TXT file.  You most likely do not have the
   paths set up correctly so that SeHackEd will know where to find all of
   your Strife files.  Follow the directions in the README.TXT file to solve
   the problem.

   
Q: I've started up SeHackEd and loaded a patch file, but when I run Strife
   all I get is the original game.  I can't see any changes.  What am I
   doing wrong?
   
A: There are two possible causes for this.  The first happens if you are
   'r'unning Strife from within SeHackEd.  You need to be sure to write all
   of the changes (using the 'w' key) after loading a patch, but before
   running Strife.  Otherwise the changes won't be made, and you won't see
   any results.
   
   The second possible problem is if you try to run Strife directly from
   DOS.  SeHackEd does not alter your strife1.exe file... this
   file is always preserved in its original state.  So, if you load
   a patch and try to run Strife you will get exactly the same thing as you
   have always seen.  What you need to do is use a file called STRIFE1H.EXE
   that should be in your Strife directory.  Run this file instead, exactly
   as you would normally run Strife, and you should see the changes that
   were made.
   
   
Q: A friend and I are trying to run a deathmatch game.  I want to give
   myself some extra health so that he can't win as easily, but I don't
   know how to do it.  Can you help me?
   
A: Well, yes and no. :)  First of all, if you make any changes to your
   Strife file you need to be sure that ALL players in a multi-player
   game have exactly the same changes made.  If one person loads up a
   patch file, then everyone must load up that patch file.  If players
   have different changes made to their exe files, Strife will abort with
   a "Consistency failure".  This is a benefit of the very strict "cheat
   prevention" policy that Strife uses.  There is no way around this,
   period.

   
Q: OK, now my friend and I are trying to play with that really cool
   MASSIVE.SEH patch.  We both load it up in SeHackEd, but when we run
   the setup program (or sersetup or ipxsetup) we see the normal rebels
   and stuff.  Why can't we see any changes?
   
A: This goes back to the way SeHackEd modifies the exe file.  SeHackEd
   does not actually modify the Strife.exe file.  It instead
   makes its changes on the STRIFE1H.EXE file.  Whenever you run setup 
   (or sersetup or ipxsetup), though, those programs use the normal
   Strife exe file.  You can set up SeHackEd to work with different file
   names by editing the ini file.  So for your problem you could do the
   following:
   
   1. Copy strife1.exe to strifeo.exe
   2. Copy strife1h.exe to strife1.exe
   3. Edit the SEHACKED.INI file, and modify the line that says
      "editname" to end in "strife1.exe"
   4. Edit the SEHACKED.INI file, and modify the line that says
      "normalname" to end in strifeorg.exe

   After you do this you will be able to use patches just like normal,
   but the setup programs will run the altered Strife file rather than the
   original one.  Fun fun fun!

   
Q: I want to edit the missile's radius of damage, and the damage bullets
   do, and change how many bullets the shotgun shoots.  How do I do it?
   
A: You can't.  There are still things that can not be changed.
   You'll just have to design your patch around the limitations.  These
   things are such a fundamental part of the exe file that it would be 
   quite difficult to do any modification at all to them.

   
  That's about it.  Have fun!
