home *** CD-ROM | disk | FTP | other *** search
/ Action Ware 12: Heretic & Hexen / actionware12.iso / acware12 / editors / hhe / hhe.hlp < prev    next >
Text File  |  1995-02-11  |  34KB  |  693 lines

  1.                    HHE v1.0
  2.               By Greg Lewis (Tree)
  3.                 gregl@umich.edu
  4.  
  5.  
  6.   This is a general help file for HHE version 1.0.  For more specific
  7. product information, see the file HHE.TXT.  For important start-up info 
  8. and instructions, read README.TXT.
  9.  
  10.  
  11.   This help file is arranged in the following sections:
  12.  
  13.     1.  A Glossary
  14.     2.  Patch File Info
  15.     3.  Command Line Options
  16.     4.  HHE.INI Options
  17.     5.  Available Keys
  18.     6.  Mouse Support
  19.     7.  Thing Editor
  20.        a. Thing fields
  21.        b. Bit fields
  22.     8.  Frame Editor
  23.     9.  Ammo Editor
  24.        10.  Sound Editor
  25.        11.  Sprite Editor
  26.        12.  Text Editor
  27.  
  28.   So, without further ado, here it is!
  29.  
  30.  
  31.  1. *** A Glossary
  32. \------============
  33.  
  34.   There are a few new terms that I will be using throughout this file, 
  35. so first off I'll define everything and explain it in simple terms.
  36.  
  37.   Thing:   A Thing in Heretic is any object that's in the game, such as
  38.      monsters, the player, items, weapons, and decorations.  If some-
  39.      thing isn't part of the floor, ceiling, or walls, it's a Thing.
  40.      These are the most complicated objects in the exe, and have the
  41.      most information stored about them.  This information includes
  42.      what pictures to show onscreen, what sounds are associates with
  43.      it, it's height, width, speed, etc.
  44.   Sprite:  A Sprite is a collection of all the pictures that belong to
  45.      one Thing.  For instance, there is a Sprite that contains all of
  46.      the pictures for the Gargoyles, from first activation to gory
  47.      death.  Sprites can be referred to by a 4-letter name (which HHE
  48.      will display for you on the Sprite editing screen).  The Sprite
  49.      for the Gargoyle is called IMPX, and is Sprite #0.
  50.   Frame:   A Frame is one picture individual picture of a Sprite.  For 
  51.      example, there is one Frame that shows the Gargoyle with its hand 
  52.      back, ready to throw a fireball at the player.  The most complex
  53.      Sprites may have 20-25 individual Frames in them, whereas simple
  54.      Sprites could only have one or two Frames.  Frames also contain
  55.      info about how long the picture should be displayed, and which 
  56.      picture to display after the current one.  Frames are named by
  57.      adding a letter to the end of a Sprite name.  The name for the
  58.      Gargoyle with his arm back is IMPXD, with a Sprite number of 0
  59.      and a Sprite sub-number of 3. The code for converting the sub-number
  60.      to the letter is 0=A, 1=B, 2=C, 3=D, etc.
  61.   Code Pointer:  These are values that tell Heretic where in the exe to 
  62.      go to do some action.  The code pointers are actually listed in two
  63.      places: on the Frame editing screen (right hand column), and on the
  64.      Pointer editing screen.  Changing the values on the Frame editing
  65.      screen will probably have no effect; to accomplish anything you need
  66.      to use the Pointer editing screen (F8).  Beware that changing these 
  67.      to wrong values could have very unexpected consequences!
  68.   Weapon:  A weapon of the player, and associated info, such as what
  69.      picture to use for the weapon, and the ammunition that the weapon 
  70.      uses.
  71.   Sound:   A sound that's played at some time.  The name is obvious, but
  72.      other sound values (labelled with descriptive names such as "Special",
  73.      "Value", and "1 / 2"), are still unknown.  Play around with them, and
  74.      perhaps you'll find something new.
  75.  
  76.      
  77.  2. *** Patch File Info
  78. \------=================
  79.  
  80.   This is some more info on patch files, which may help explain any
  81. difficulties you are having with them.
  82.  
  83.   Patch files are entirely different from WAD files.  WAD files can 
  84. contain level info, sound, and graphics info (stuff normally found in
  85. the Heretic WAD file).  They are used simply by typing 
  86.     heretic -file <wadname>
  87. at the command line.  Patch files, however, contain info from inside the 
  88. exe file, and cannot be used with the "-file" parameter.  HHE is currently
  89. the only program that can apply these patches and change the exe file.
  90.  
  91.   Patch files save only the information you've modified with HHE, and NOT
  92. all the data (as DeHackEd did).  They now have an easy-to-understand text
  93. format and can be created with any common text editor (if you know what
  94. the different field names are).  Load the SAMPLE.HHE patch file that came 
  95. with your copy of HHE into a text editor for full information on the text 
  96. format.  Or, just play around and create your own patch files and look at
  97. 'em.  :)
  98.  
  99.  
  100.  3. *** Command Line Options
  101. \------======================
  102.  
  103.   Next, an explanation of command line options.  All parameters are totally
  104. optional;  if you don't include anything more than the path HHE will run
  105. normally and go to the editing screens.  If any options other than just
  106. the path are included, HHE will run in 'batch' mode, and not actually enter
  107. the editors.  The full command line syntax for HHE is:
  108.  
  109.   hhe [path] [-reload] [-load <patch1> <patch2> ...] [-save <patch>]
  110.  
  111.   path is optional, and specifies a different location for the Heretic
  112. files, heretic.exe and heretic.wad, and the exe hack file herehack.exe,
  113. other than the current directory.  If you give a path on the command line
  114. it will override the exename and wadname that you give in the HHE.INI
  115. file.
  116.  
  117.   -reload will return the exe file to its original data.  Because the new
  118. patch format does not overwrite all data, but only values that need to be
  119. changed, it's sometimes necessary to ensure that the exe is back to normal.
  120.  
  121.   -load <patch1> <patch2> ... will update the exe file with the patches
  122. called <patch1>, <patch2>, etc and return to the DOS prompt--great for batch
  123. files!.
  124.  
  125.   Conversely, the -save <patch> option will save the current exe data to
  126. a patch file named <patch> and return to the DOS prompt.  These options
  127. are similar to 'l' and 's' in HHE, although when used in HHE the 'l' option
  128. requires a 'w' after it to actually write the changes to the exe file.  See
  129. section 5 for more info on 'l'oading and 's'aving.
  130.  
  131.   Example command line:
  132.  
  133.     hhe c:\games\heretic -load sample.hhe
  134.  
  135.   This will start HHE, using the Heretic files found in c:\games\heretic, 
  136. load in the info from the sample.hhe patch file, and return to the DOS 
  137. prompt.
  138.  
  139.   The command line parameters are processed from left to right, so it's
  140. possible to do several things at once.  The next example is what I would
  141. imagine is the best way to automatically load a patch file from a batch
  142. file:
  143.  
  144.     hhe -save current.hhe -reload -load newpatch.hhe
  145.     herehack  . . .
  146.     hhe -reload -load current.hhe
  147.     delete current.hhe
  148.  
  149.   This will save the current state of the exe file, then reset it to the
  150. original Heretic data and load the correct your custom patch file.  Then
  151. herehack is run, with whatever parameters you want.  Finally the exe is
  152. reset to normal once again and the user's data is restored.
  153.  
  154.  
  155.  4. *** HHE.INI Options
  156. \------======================
  157.  
  158.   Included with HHE 1.0 is an HHE.INI file which can specify several 
  159. parameters for HHE.  They allow you to customize where you want your patch 
  160. files located, what your Heretic files are named, and more.  A summary of 
  161. the available options follows:
  162.  
  163.   #     Start comment lines with a pound sign.  Anything after the pound 
  164.     sign is ignored.
  165.   editname = <filename>
  166.     This is the name of the Heretic exe file that you want to edit 
  167.     (and full path if necessary).  The standard name is herehack.exe, 
  168.     but you can change it to whatever you want.  This doesn't need to 
  169.     be included if you are running HHE from your main Heretic directory.
  170.   normalname = <filename>
  171.     This is the name of your regular, UNCHANGED heretic.exe file.  HHE
  172.     will never change the data in this file.  It's mostly used by HHE
  173.     to save patches.
  174.   wadname = <filename>
  175.     This is the name of your heretic.wad file, and full path if 
  176.     necessary.  This must be a registered wad file, not a shareware 
  177.     file.  This is needed for verification that you are really 
  178.     registered, and not just trying to fake it.  Once again, if this 
  179.     is in the same directory that HHE is run from you don't need this 
  180.     parameter.
  181.   pathname = <path>
  182.     This is the path from which you want Heretic to be run.  This is 
  183.     only used when using the 'r'un option from inside HHE.
  184.   params = <Heretic parameters>
  185.     These are command-line parameters that are fed to Heretic when it's
  186.     run using the 'r'un option from within HHE.  Useful if you are 
  187.     using HHE for a custom patch for a WAD you are writing; you can 
  188.     simply include a '-file <wadname>' in this line, and Heretic will 
  189.     load your level every time HHE runs it.
  190.   patchdir = <path>
  191.     This is the directory that HHE will look in for patch files.  A 
  192.     nifty way of keeping all of your thousands of .HHE files out of the 
  193.     Heretic main directory.
  194.  
  195.   The following parameters are all totally optional, and need only be 
  196. used if you have a really wierd heretic.exe file.
  197.   version = 0
  198.     This is the version of Heretic you are hacking.  Right now the
  199.     only supported version is 0.
  200.   size = <size>
  201.     The size of your heretic.exe file.  Mostly for future versions,
  202.     if any appear.  If you do have a different Heretic version from 
  203.     1.0, you will likely have to play with the following params...
  204.   thingoff = <offset>
  205.   soundoff = <offset>
  206.   frameoff = <offset>
  207.   spriteoff = <offset>
  208.   ammooff = <offset>
  209.   weaponoff = <offset>
  210.   textoff = <offset>
  211.   codepoff = <offset>
  212.     These are the offsets in the Heretic exe file for their corres-
  213.     ponding data chunks.  PLAY WITH THESE AT YOUR OWN RISK.
  214.  
  215.   
  216.  5. *** Available Keys
  217. \------================
  218.  
  219.   Available keys are as follows:
  220.  
  221.   ESC   Exits to DOS.  Or, if you are in an input box, or just about
  222.     *anywhere* in the program for that matter, it will back you
  223.     out to whatever you had previously been doing.
  224.  
  225.   Enter Edits the current field, if it is an editable field.  To leave an
  226.     editing box if you hit Enter by mistake, simply hit ESC.
  227.  
  228.   Space Views, plays, or displays the current field, if applicable.  If
  229.     you are on a "frame" field, such as any of the Thing frames, or
  230.     any field in the Frame table, or the Frame fields in the Ammo 
  231.     editor, it shows the frame that you've got highlighted.  (Note:  
  232.     If you are on the "Next Frame" field in the Frame editor you WILL 
  233.     see the next frame, not the current frame.)  If the frame you are 
  234.     viewing is the first in a series of frames, repeatedly pressing the 
  235.     spacebar will cycle through all of the frames.  Use the right and
  236.     left arrows to view different sides of the Thing, if it has more
  237.     than one different view.  Escape will exit.  
  238.     The spacebar will also view the full text strings in the Text 
  239.     Editor and play sounds when you are in a sound field.
  240.  
  241.   A     The About window.  This brings up two windows that shows you
  242.     what version of HHE you are working with (and some credits), and
  243.     also a small summary of what Heretic exe you are editing, and 
  244.     how much memory you have free, etc.
  245.  
  246.   B     Toggles between the two Bit windows on the bottom half of the
  247.     Thing screen.  In Heretic all Things have two different Bit
  248.     fields (labelled Bits 1 and Bits 2 on the middle-left-hand-side
  249.     of the Thing screen).  This lets you switch between them.
  250.  
  251.   C     The copy command.  This will copy information from one entry to
  252.     another.  The syntax is fairly basic:  enter the number of the
  253.     entry to copy FROM, and the entry number to copy TO.  A clipboard
  254.     for Things is available as Thing #160, which is just a temporary 
  255.     storage Thing (and is not actually present in the Heretic exe 
  256.     file).  Note that the Thing names will not change... the Thing 
  257.     name is not actually in the exe file, and is just included for 
  258.     your own benefit.  The Thing Number is also only for the conven-
  259.     ience of the hacker, and is not in the exe file.  Any given 
  260.     Thing Number and Thing Name will always be the same.
  261.  
  262.   G     Goes to a specific item.  If you are in the Thing editor and know
  263.     which Thing you want to see, you can go right to it by picking the
  264.     name out of a list of names without bothering to page through all
  265.     the items.  When the list of Things appears, you can do a speed-
  266.     search by typing in the first few letters of the name.  Or, another
  267.     quick alternative is to type in the Thing number.
  268.     If you are not in the Thing editing screen it also allows you to
  269.     jump to any object by number (like hopping straight to Frame #927).
  270.  
  271.   J     Jumps to the information in the current field, in it's respec-
  272.     tive editor.  For example, if you are in the Thing editor, and the
  273.     'Death Frame' is highlighted, and you press the 'j' key, you will
  274.     jump to the Frame editor, with the corresponding Frame number high-
  275.     lighted.  A very handy tool for moving around the various editors.
  276.     Generally it'll jump to a "logical" place, if there is one.
  277.  
  278.   L     Loads a patch file.  An extension of ".hhe" will be assuming for
  279.     the patch files if none is given.  When the informatino is loaded,
  280.     only values that are replaced are actually changed... all of the
  281.     other data (including any changes you have made) will remain
  282.     intact.  If you want to avoid this and go back to your original
  283.     exe data first, use 'z' to reload before loading the patch.  Note
  284.     that 'w' must still be used to make the changes permanent.  You
  285.     can also do this from the command line by typing
  286.         hhe -load <patchname>
  287.  
  288.   R     Runs Heretic.  This option might be tempermental and only flash the
  289.     screen and refuse to run Heretic (try and find out!).  It allows 
  290.     you to quickly test-run Heretic, to check out the changes you've 
  291.     made (remember to hit 'w' before running!).  After Heretic finishes
  292.     you will be returned to your current place in the editor to cont-
  293.     inue working.  You can specify command-line parameters for Heretic
  294.     and the directory to run Heretic from in the HHE.ini file.
  295.  
  296.   S     Save a patch file.  You must enter the patch filename, and it
  297.     will save all changes in a text format to the patch file.  An
  298.     extension of ".hhe" is assumed if you don't give one.  You can
  299.     also do this from the command line by typing
  300.         hhe -save <filename>
  301.  
  302.   U     Undo all changes.  This reloads the information straight from the
  303.     hacked Heretic exe file, and will return you to your most recent 
  304.     'w'rite of all the data.
  305.  
  306.   W     Writes all changes to the hacked Heretic exe file.  This step is 
  307.     necessary to get any results!
  308.  
  309.   Z     Reload the ORIGINAL exe data.  So if you've been playing around
  310.     and now all the monsters look like small metal balls, and your
  311.     Pheonix Rod shoots arrows that look like chickens, hit this key
  312.     to get back to the real Heretic data.
  313.  
  314.   F2    Thing Editor.  This is the main Thing editor, the default screen in
  315.     HHE.  See section 7 for more detailed Thing info.
  316.  
  317.   F3    Frame Table.  Displays Frame information, in a list format.
  318.     See section 8 for more detailed Frame info.
  319.  
  320.   F4    Ammo/Weapon Editor.  This allows you to edit the ammo and weapon
  321.     amounts and graphics.  Section 9 talks more about this screen.
  322.  
  323.   F5    Sound Table.  A jolly good table of all the sounds.  Check out  
  324.     section 10 for more Sound table info.
  325.  
  326.   F6    Sprite Table.  A handy list of all the sprites, in case someone
  327.     needs it.  Section 11 deals with the Sprites.
  328.  
  329.   F7    Text Editor.  This shows all the text strings in the exe file and
  330.     lets you edit them.  Section 12 has more info.
  331.  
  332.   F8    Code Pointer Editor.  This allows you to edit the nifty code
  333.     pointers that are hidden away in Heretic.  Caution: not for the
  334.     faint of heart!
  335.  
  336.   F9    Thing List.  This is a Table version of the Thing editor.  It shows
  337.     only the most important Thing information, and is meant as a quick-
  338.     reference guide.
  339.  
  340.  
  341.  6. *** Mouse Info
  342. \------============
  343.  
  344.   Some notes on the mouse support...  Generally just click places to find 
  345. out what happens!  The new quick-bars on the top and bottom of the screen 
  346. are there expressly for the mouse users (click on 'em to get help, exit, 
  347. see the "About" window, or switch editors).  Clicking on any of the fields 
  348. will switch to it, and double-clicking will bring up the standard editing 
  349. box to let you change the value.  Click on the "Thing Name" in the upper 
  350. left window to Go to any of the Things by name.  Clicking on any sound or 
  351. frame names will play the sound or show the frame for you.  Right clicking 
  352. at any time will act exactly like the Escape key was pressed (except for 
  353. exiting the program), ie get you out of input boxes, leave the frame 
  354. viewer, etc.  The way it's designed should (hopefully) be intuitive.
  355.   There is a problem with some mice (restricted to Logitech mice, I think)
  356. where the mouse only moves in the top half of the screen.  I'm looking into
  357. it to see if I can fix the problem.  Until then, just remember that you can
  358. do anything with the keyboard that you can do with the mouse.
  359.  
  360.  7. *** Thing Editor
  361. \------==============
  362.  
  363. a.  Thing fields
  364.  
  365.   This is the first thing you see when you start up HHE.  It is also
  366.   one of the main areas of the program.  Edit Things by highlighting the 
  367.   desired field and hitting Enter, or clicking on it with the mouse.
  368.  
  369.   The Player entry is slightly "special" in regards to how much Heretic 
  370.   uses the info in the Player fields.  Entries such as Speed and Hit
  371.   Points are NOT changable through HHE; they are controlled elsewhere in 
  372.   the exe and aren't easily accessible.  Most of the rest of the Player 
  373.   entries, however, are used and can be changed normally.
  374.  
  375.   Thing Number:      The number of the Thing.  Basically it's just for
  376.     reference, numbered in order according to how the Things are stored 
  377.     in the Heretic exe file.
  378.   Thing Name:        A short descriptive name for the Thing.  This info
  379.     is NOT stored in the Heretic exe file, and thus you can't edit it, 
  380.     and it will always remain the same.  So a Thing #18, a Gasbag, will 
  381.     always be described as a "Gasbag", even if you change it to 
  382.     something entirely different, like a Gargoyle.
  383.   Thing ID#:         This is the Thing's 'identification number' which is 
  384.     used in level developement (WAD files).  Wherever this number 
  385.     appears in a WAD file, this Thing will appear.
  386.   Hit Points:        How much damage it can sustain.  For all non-living 
  387.     Things, it's generally 1000 (not necessary though).
  388.   Speed:             How fast it can go.  Heretic stores projectile speeds
  389.     differently from speeds for normal objects, so you may see some
  390.     very high speeds show up when you toggle the bit #16, the 
  391.     "Projectile" bit.  Basically though, just ignore it and HHE will 
  392.     take care of it for you.  =-}
  393.   Width:             The radius of the Thing.  A narrow Thing is harder 
  394.     to hit!  To fit a Thing through a narrow passageway, you need to 
  395.     have the passage slightly wider than twice it's width.  Thus a 
  396.     passage must be 33 to allow the player through, even though his
  397.     actual radius is 16.
  398.   Height:            Same as width, but it's height.  Duh.  :-)
  399.   Missile Damage:    If it's a projectile, how much damage it does upon 
  400.     "death" (explosion).  Note that Maulotaurs have a missile damage
  401.     of 7, which is probably for their charge attack.
  402.   Reaction Time:     For monsters, their reaction time.  Lower=quicker to 
  403.     attack, higher=slower to attack.
  404.   Pain Chance:       Chance out of 256 that a monster's action/attack will 
  405.     be interrupted by an injury.  The Lost Soul usually will (200), and 
  406.     the Maulotaur rarely will (25).
  407.   Mass:              Thing's mass.  Set a Knight's to 1 and watch him fly!  
  408.     Note the Maulotaurs have a high mass, and your weapons don't budge 
  409.     them much.
  410.   Bits 1:            These are the actual values of all of the bits. Change
  411.   Bits 2:            these two fields to change all of the bits at once.
  412.     See also the Bit fields portion of the text, coming up in a few
  413.     pages (section 6b).
  414.  
  415.   SOUNDS
  416.   Alert:             Sound made when the monster first spots the player,
  417.     or a projectile is launched.  These all point to the sounds in the 
  418.     Sound table.
  419.   Attack:            Sound made during a close attack.
  420.   Pain:              Sound made when the Thing is injured.
  421.   Death:             Sound made when the Thing dies.  For projectiles and 
  422.     gasbags, the sound of its explosion.
  423.   Action:            Sound made when the Thing is just milling around.
  424.  
  425.   FRAMES
  426.   First Normal:      What an inactive thing looks like, or a monster that's 
  427.     not yet active.  All frame numbers refer to the Frame table.  Only
  428.     the first frame is listed, you will need to refer to that Frame
  429.     entry in the Frame table to find out if it's actually a sequence of
  430.     frames.
  431.   First Moving:      The Frames played for a Thing that's moving around.
  432.   Injury:            Frame played for an injured Thing.
  433.   Close Attack:      Attacks that are close (clawing Gargoyle).
  434.   Far Attack:        Attacks that are far away (Gargoyle winding up for a
  435.     fireball attack).
  436.   Death:             Monster death or gasbag/projectile explosion.
  437.   Explode Death:     Exploding death (slop!) for players and the weaker
  438.     monsters.
  439.   Respawn:           This is the Frame that's shown when the Thing dies
  440.     due to lava or a fire-weapon.  For the player it's the cool player-
  441.     on-knees-and-burning picture.  
  442.  
  443.  
  444. b.  Bit Editor
  445.  
  446.   Switch between the two different bit fields (Bits 1 and Bits 2) with the
  447. 'b' key.  The first page of bits is pretty much identical to the bits that
  448. were available in Doom.  The second page includes some new things, such as
  449. teleportability!
  450.  
  451.   Bits 1:
  452.    0.Gettable Thing:      Something that can be picked up by the player, 
  453.     like an ammo item.
  454.    1.Obstacle:            Something that can't be walked through.
  455.    2.Shootable Thing:     The Thing will take damage if this is set.  Note 
  456.     that gasbags also have this set.
  457.    3.Total Invisibility:  The Thing just can't be seen, no-how, no-way.  It
  458.     won't even show up with the ravmap cheat.
  459.    4.'Automatics':        This seems to affect some inherent characteristics
  460.     of Things.  Basically any "temporary" Things have this set, like
  461.     puffs, sparkles, small pieces of objects, and projectiles.
  462.    5.Semi-Deaf            Monsters become active if they see you (like
  463.     normal), or if you fire a weapon AND there is a direct line of
  464.     sight between you and the monster.  Strange.
  465.    6.In Pain:             Used internally by the Heretic exe to determine
  466.     if a monster is in pain or not.
  467.    7.Unknown      
  468.    8.Hangs From Ceiling:  For those hanging skulls.  Have it set, well,
  469.     if the Thing hangs from the ceiling!
  470.    9.No Gravity:          Used for floating monsters and Things that aren't 
  471.     on the ground.
  472.   10.Travels Over Cliffs: Set for projectiles and players.  This bit allows
  473.     the Thing to travel from one sector to another even when the
  474.     dropoff height difference is greater than 16 (or 24?).  Turn this
  475.     on for monsters and they will jump off platforms after you.
  476.   11.Can pick up items:   This Thing (i.e. the player) can pick up Gettable
  477.     Things.
  478.   12.No Clipping:         Same effect as the cheat code kitty, but also 
  479.     effective for monsters.
  480.   13.Unknown
  481.   14.Floating:            For floating monsters, like Wizards and Gargyoles.
  482.   15.Semi-No Clipping:    Kinda like no-clipping, kinda not.  You can't 
  483.     walk through walls, or trigger any linedefs, but you can walk 
  484.     over any height cliff in your way.
  485.   16.Projectiles:         Set for projectiles.  Allows the projectile to
  486.     leave your body.  If it is turned off, the projectile explodes
  487.     as soon as it is fired, because it originates from "inside" your
  488.     body.
  489.   17.Disappearing Item:   This is presumably used for items that monsters 
  490.     leave that disappear when crushed under a door.
  491.   18.Partial Invisibilty: Makes the Thing see-through.
  492.   19.Puffs (vs. bleeds):  Whether a Thing bleeds (bit off) or puffs (bit on)
  493.     when hit.  The gasbag has this set by default.
  494.   20.Sliding Helpless:    ???
  495.   21.Unknown
  496.   22.Counts for Kills:    This Thing counts as part of the final Kills at
  497.     the end of the level.
  498.   23.Counts for Items:    Just like Kills, but for items.
  499.   24.Unknown
  500.   25.Not in Deathmatch:   Things not present in Deathmatch mode, such as
  501.     keys and the normal "Player" starting spots (deathmatch spots are
  502.     used instead).
  503.   26.Color 1             \ 00-greens->greens       01-greens->yellow
  504.   27.Color 2             / 10-greens->red          11-greens->blue
  505.   28.Unknown             \
  506.   29.Unknown              Perhaps these are unused???
  507.   30.Unknown             /
  508.   31.Unknown            /
  509.  
  510.   Bits 2:
  511.    0.Subject to Inertia:  The Thing has some velocity that it is subject
  512.     to.  Usually used for the drops, gobs, and chunks of Things.
  513.    1.Blown by Wind:       If the Thing is in a windy sector, it will be
  514.     affected by the wind.
  515.    2.Bounces:             The Thing will bounce off the ground (once).
  516.    3.Goes Through Invis:  It has no effect at all on invisible creates.
  517.     By default the Pheonix Rod PL1 and the Firemace balls have this
  518.     set...
  519.    4.Pushable Up Cliffs:  It can be pushed up and over high cliffs. Normally
  520.     no Things in Heretic have this set, but the bit is still in there...
  521.    5.Walks IN Liquids:    The Thing is a little bit "submerged" in the water
  522.     when it is in water.  I think all Heretic does is chop off the
  523.     bottom few rows of the picture.  Without this set Heretic shows the
  524.     Thing like normal, walking on top of the water.
  525.    6.Starts on Floor:     Determines whether flying creatures start on the
  526.     ground or in the air.
  527.    7.Does Not Teleport:   When set, the object will NOT be able to go
  528.     through teleporters.  I can see some VERY interesting uses for
  529.     teleporting object and custom WADs...  =-}
  530.    8.Dragon Claw Spikes(?): ??? Set only for the Dragon Claw Spikes...
  531.    9.Pushable:            The object is pushable (like the gasbags).
  532.   10.Only Hits Monsters:  Usually for projectiles, the Thing will only
  533.     explode when hitting a monster (as opposed to a wall).
  534.   11.Unknown:
  535.   12.Unknown:
  536.   13.Particles(?):        ??? Set only for the drops, gobs, bits and
  537.     pieces of Things.  Its purpose is unknown right now...
  538.   14.Unknown:
  539.   15.Varying Damage:      The Thing will take damage that's dependant on
  540.     where it is hit.  It will lose a chunk of hit points if it's hit in
  541.     the middle, less if hit on the edges.
  542.   16.Causes Burning Death: The Thing (a projectile usually) will cause a
  543.     burning death picture to be shown (if there is a Burning Death
  544.     Frame on the Thing it hits).  For example, the PL2 Pheonix Rod,
  545.     the flamethrower, has this set and causes the player to die in a
  546.     blaze of glory.
  547.   17.Does Not Push Things: The Thing will not push other Things.  I.e.,
  548.     set it for the gasbags and they will not push the player around
  549.     when they explode.
  550.   18.Telefrags:           When set this bit allows the Thing to teleport
  551.     even if there is something on the teleport destination (which of
  552.     course kills the thing on the other end of the teleporter).  Leave
  553.     this bit off and the Thing won't teleport if there's something on
  554.     the other end.
  555.   19.Bobbing:             Makes the Thing (usually an item) bob up and
  556.     down.  It looks pretty funny for the monsters... but try setting
  557.     it for the player and you'll get some very unexpected results!
  558.   20-31.Unknown:          Unused perhaps?
  559.  
  560.  
  561.  8. *** Frame Editor
  562. \------==============
  563.  
  564.   This displays the majority of the Frame information.  Each frame has six
  565.   editable fields (of 8 total that are stored in the exe).  The only two 
  566.   fields that are NOT shown on the screen are always 0 in all of the Frames,
  567.   so I decided it would be pointless to try to squeeze them onscreen also.
  568.  
  569.   Frame #:           This is the number that is specified in the Thing 
  570.     Frame fields.
  571.   Name:              This found through a slightly complex check to the
  572.     Sprite table, and from there to the Text section, to find the 
  573.     actual name.
  574.   Sprite #:          The Sprite that this Frame is part of.
  575.   Sprite Sub #:      The suffix to distinguish which particular Frame
  576.     to look at for the given Sprite (I think the technical term is
  577.     "lump").
  578.   Bright Sprite:     This check box determines if a Frame is ALWAYS to be
  579.     displayed at it's full brightness or not.  Some things, such as 
  580.     torches and explosions, are always bright, even if fired into a 
  581.     pitch-black room.  Just for your information this isn't really
  582.     included in the exe file, its just easier to edit this way than
  583.     the way it appears in the exe.
  584.   Next Frame #:      Which Frame to play next.  You can skip a few weapon
  585.     frames this way, to make the super-fast weapons...
  586.   Duration:          How long the frame stays on the screen.  Make 'em
  587.     all 1 to make a Thing start to move very quickly!  (hint hint...
  588.     the Firemace fires a bit too slowly, doncha think?)
  589.   Code pointer:      An offset in the exe file to where it should look for
  590.     the "action" associated with this Frame.  It appears after more
  591.     digging that this value is really useless.  The actual location
  592.     in the code is specified by the Code Pointers that are found on
  593.     their own separate editing screen (F8).
  594.  
  595.  
  596.  9. *** Ammo Editor
  597. \------=============
  598.  
  599.   Weapon Name:       The name of the weapon (not editable)
  600.   Ammo Type:         A pithy description.  This will be 'N/A' when an 
  601.     'unknown' ammo type is given for the Ammo Number.  Ammo type 7 is
  602.     listed as "Unlimited".
  603.   Ammo Number:       0=Cells         3=Runes       7=Unlimited
  604.              1=Arrows        4=Orbs
  605.              2=Crystals      5=Spheres
  606.   Max ammo cap:      The starting capacity for the current type of ammo.  
  607.     It's listed on the right side of the slash on the status bar.  
  608.     Backpacks will double this limit automatically.  This will be 'N/A' 
  609.     for unknown ammo types.
  610.   Ammo per item:     How much ammo you get when you pick up a power-up of the 
  611.     current ammo type.  For example, normally you only get 10 arrows
  612.     when you pick up the Ethereal arrows.  The larger power-ups, and
  613.     different difficulty levels also have an effect on this.  This is
  614.     also list as 'N/A' for unknown types.
  615.   Deselect frame:    This is the frame that's shown when another weapon
  616.     is selected and the current weapon drops off the screen.  This is
  617.     the number that Heretic refers to in the Frame list for more info.
  618.   Select frame:      The frame that's shown when the weapon is selected
  619.     and is rising onto the screen.
  620.   Bobbing frame:     Frame shown when the weapon is bobbing back and forth
  621.     as the player walks/runs.
  622.   Shooting frame:    Frame played when the weapon shoots.
  623.   Firing frame:      Another Frame that's played when the weapon fires.
  624.  
  625.  
  626. 10. *** Sound Editor
  627. \------==============
  628.     
  629.   Sound Number:      This is the number that's referenced by the Things
  630.     for each sound.
  631.   Name:              This is the name of the sound.  A few sounds have a 
  632.     dash in front of their names, but I'm not sure what exactly the
  633.     purpose of that is.
  634.   Special:           This is 0 for all Sounds except those which have a
  635.     dash in their name.  Why?  I have no idea.
  636.   "Value":           ??? Perhaps some complicated sound thingy.   
  637.   1 / 2:             ??? Another unknown sound value, perhaps something 
  638.     dealing with what the sound is for.
  639.  
  640.  
  641. 11. *** Sprite Editor
  642. \------===============
  643.  
  644.   Sprite Number:     The number in the Frame table that refences this
  645.     Sprite.
  646.   Text Offset:       The offset into the Text section where the Sprite
  647.     name is found.
  648.   Sprite Name:       Also found through a simple lookup in the Text
  649.     section.
  650.  
  651.  
  652. 12. *** Text Editor
  653. \------=============
  654.  
  655.   Text Offset:       The offset into the Text section of the current
  656.     Text string.
  657.   Text:              This is the actual text that's located at the
  658.     text offset.
  659.  
  660.   Some notes are in order on the Text viewing, editing, etc.  First of
  661. all, if the Text is longer than about 60 characters (too long to fit on
  662. one line in the general Text screen) three ellipses are displayed at the
  663. end of the line.  Non-printing characters, such as new-lines, tabs, and
  664. other screwy characters are shown by a tilde symbol in the text (~).  
  665.  
  666.   If you want to view the actual text, just hit the Spacebar and a window
  667. will pop up with the actual text string in it.  A newline is shown by a
  668. '\n' shown in black (dark grey), tabs by '\t' in black, and so on.  The
  669. text is formatted in basically the same way that it would be on-screen.
  670.  
  671.   To edit the text, just hit Enter and the view window and an edit window
  672. will pop up.  Enter your new text in the edit window, and hit Escape when
  673. you are done editing.  If you are hitting Escape to cancel the current
  674. editing operation, answer 'n'o when asked if you want your changes saved,
  675. otherwise answer 'y'es and the text will change to your modification.
  676.  
  677.   Because each text string is variable length in the exe file, you have 
  678. only a slight lee-way in how long the edited text needs to be.  The minimum 
  679. and maximum length for the string you are editing are shown on the top line 
  680. of the editing window, along with the current position of the character 
  681. you're on.  You will have a range of 4 characters that the new string must 
  682. fit into.  Typing beyond the maximum number of characters is not allowed, 
  683. and stopping short of the minimum is also not allowed.
  684.  
  685.   The text editor is not exactly a full-fledged version of Wordperfect, so
  686. the only movement key you have is the back-space...  no arrow keys, no
  687. macros, no spell checker, etc. :-)
  688.  
  689.  
  690.   That's about it.  Any more questions?  Find an error in this document?
  691. Feel free to write me at gregl@umich.edu about whatever problems you have.
  692. Have fun!
  693.