			Fun with DeHackEd! v1.2

		Originally by Dan Lottero, dlottero@bu.edu
		Modified by Greg Lewis, gregl@umich.edu

	I really don't like long intros, so the stuff that would
	normally go here is in the OUTRO section at the end of the
	file.  "Fun with DeHackEd" is an attempt to collect everyone's
	ideas on how to tweak the .exe to make neat effects, or to
	make game play more interesting.  Also, the sections UNKNOWN
	will hopefully be useful in finding out what the "unknowns" are.
	Other helpful references are Matt Fell's doom.exe specs, and
	the text files which come with DeHackEd.  Look in the directory
	/pub/idgames/utils/exe_edit at ftp.cdrom.com.

	Two stars means it's new or different in this version...

   [ Editor's note:  The suggestions given in this text file were
     originally for DeHackEd v1.2.  I have attempted to bring this file
     up to date with DeHackEd v2.3, but some stuff may have gotten
     missed.  The tips are still cool though! 
     
     Also, I would VERY MUCH like someone to continue this document.
     Dan is no longer able to maintain it, and I think it's a worthy
     collection of ideas.  Please contact Greg at the email address
     above for more details. ]
	
			[TABLE OF CONTENTS]

[0.0]** FORMAT  
[0.1]** WHAT'S NEW      
[---]   "NEW" MONSTERS
[1.0]**         Monsters from inanimate things  (lamp2imp)
[1.1]           Morphing monsters (morfmons)
[1.2]**         Rejuvinating Troopers
[1.3]**         Kamikaze bombers
[1.4]**         Turn monsters into an army of marines!
[1.5]**         Rejuvinating Imps with a twist of lemon
[1.6]**         Stalking Barrels
[1.7]**         Imps shooting "Lost Souls"
[---]   "NEW" WEAPONS
[2.0]           Controled blast Rockets
[2.1]           Moving Barrels
[2.2]           Mine fields via slow projectiles
[2.3]**         Rapid Fire Shotgun
[2.4]**         "fireworks" (fireworks)
[2.5]**         Negative damage rockets!
[2.6]**         Super Shotgun II (shoot all ammo in one shot)
[---]**	EXPLOSIONS
[3.0]           Exploding things 
[3.1]           Exploding Cadavers
[3.2]           Exploding teleports
[3.3]**         Player's exploding death
[---]** MISC
[x.0]           Non-flashing teleports
[x.1]           Red Ooze barrels that bleed
[x.2]**         Anti-grav jousting
[x.3]**         Preserving / Juggling thing ID#'s (ex. Troopers, [1.2])
[---]   UNDESIRED EFFECTS
[y.0]           Player bit#2=N  (can be hurt = No)
[y.1]           High speed rockets
[y.2]           Using player frame #'s for monsters
[y.3]           Small height 
[y.4]**         Monsters shooting lost souls, etc
[y.5]**         Projectiles with bit#4=N
[y.6]**         Death frame = First Moving frame
[y.7]**         Setting gettable things to be explodable
[y.8]**         High missile damages
[y.9]**         Negative damage (see also [2.5])

[---]
[z.0]** WISH LIST
[z.1]** UNKNOWNS
[z.2]** KNOWNS
[z.3]** PATCHES
[z.z]** OUTRO


-------------------------------------------------------------------------
[0.0]   FORMAT
	When I mention a bit number, say #2, this refers to the bit
	table at the bottom of the main editing screen (bit#2 is
	"Shootable Thing").  If I refer to a patch, unless otherwise 
	noted, it can be found on ftp.cdrom.com.  If you see 'I' or 
	'me', that refers to me, Dan Lottero and not the person who 
	came up with the idea.

[0.1]** WHAT'S NEW
	A bunch of new stuff, corrected some mistakes.  Since half of the
	ideas in MISC incorperate barrel explosions, I made a new group
	called EXPLOSIONS.  Added a "PATCHES" section, which is an attempt 
	to keep track of patches available.  Included patch files for 
	ideas mentioned here in zip on ftp.cdrom.com (dhefun11.zip)

[---]  "NEW" MONSTERS
	A thing's behavior seems to be determined by the values of the
	frame numbers (middle window on the right, on the Thing screen).
	The easiest way to change a thing's behavior is to change the 
	frame #'s.  Of course it will *look* like the thing it's behaving 
	like, too.  Changing Column 1 (the Sprite Number column) in the frame
	table, however, will only change what the monster looks like.  It
	will still act like the original monster.
[1.0]** Check out Jason Gorski's lamp2imp.zip patch.  It turns lamps into
	imps.  This concept can be used to turn any inanimate thing into a
	monster.  Using Dehacked v2.3 or higher...
	 c, 12, 82       (copy imp info to lamp)
	 g, 58          (goto lamp)
	Then change the ID# and First Normal Frame back to the lamp
	images (2028 and 886 respectively).
	...Jason Gorski
[1.1]   Check out Tree's morfmons.zip patch.  By mix & matching frame #'s,
	monsters will "morph" depending on if they're attacking, dying, etc.
	To give a trooper more punch, change #17,19 to something a bit
	tougher, like the spider boss.  
	Injury frame = 619 
	Far attack frame = 615    
	The patch has more examples.
	...Tree
[1.2]** Make troopers come back from the dead by turning ammo clips into
	troopers!  The same concept as [1.0].  Change all of the clip's
	fields & bits to be the same as a trooper *except* the ID#.
	OPTIONAL:  increase trooper's #2 so you don't kill both in one shot
	NOTE:  see [x.3]
	...Keenan Clay Wilkie
	A cool variation on this is to make them come back as ghosts:  make
	the clip be a trooper, but with partial invis, faster, less mass
	and the ability to go thru walls.  So for the ammo clip, same as
	above, but 
	Speed = higher
	Mass = smaller 
	bit#12,#18 = On 
	...Chris Gillespie   
[1.3]** Turn troopers into kamikaze bombers!  Far attack = 0, and close
	attack = barrel explosion.
	Close attack frame = 808
	Far attack frame = 0
	Or to make troopers explode when they look at you, use far attack
	Far attack frame = 808
	NOTE: this is the basis for [1.6], the only difference is in [1.6]
	the monster's motion frames are made to *look* like a barrel.
	...Matt Fell, Jason Gorski
[1.4]**   To make an army of marines, and to illustrate the reason for
	bit#26,27, change all POSS, SPOS, TROO, SARG sprite numbers to 28
	in the frame table (column 1, Sprite Number).
	Next change bits 26 & 27 to both on, both off, or one on and
	one off for different player colors.
	I won't get any more specific that this, since it'd take up too 
	much room.  NOTE: they will still act like the original monsters!
	If you just change the frame numbers (in the thing editor) to that
	of the player, the monsters will be immobile.
	...Matt Fell
[1.5]** If you have extra frames lying around, you can use them for other
	stuff by fooling with columns 1,2 and 3 in the frame table.  Chris
	Gillespie used extra frames to make an imp rise from the dead, 
	showing the death frames in reverse, back to the first moving frame.  
        This brings on the dilemna in [y.6].  In the patch FUN_2.DEH, included
	in DHEFUN11.ZIP on infant2, I used some extra sargeant death frames
	to make the imp's exploding death a little more interesting, although
	still making him dead.  (avoiding problem mentioned in [y.6])  I 
	can't think of a way to explain it easily, so just look at the frame
	table below.  Notice the second-to-last exploding death frame for 
	the imp (frame 468) points up to 222, the start of the extra frames.
	All the extra frames must have the same Sprite Number as the original,
	just play around with the Sprite Sub-Number as appopriate. The last 
	extra frame (235) points to 469, the last imp death frame, to make 
	the detour complete.  IMPORTANT:  In the extra frames, the code 
	pointers *MUST* be set to zero, otherwise Doom crashes.  I have no 
	idea why, but without the zeros, it doesn't work.

       Frame       Sprite              Next                    Code
       Number      #   sub#   Name    Frame #      Duration   Pointer
	222        0     18   TROOS     223           5            0
	223        0     17   TROOR     224           5            0
	224        0     16   TROOQ     225           5            0
	225        0     15   TROOP     226           5            0
	226        0     14   TROOO     227           5            0
	227        0     15   TROOP     228           5            0
	228        0     16   TROOQ     229           5            0
	229        0     17   TROOR     230           5            0
	230        0     16   TROOQ     231           5            0
	231        0     15   TROOP     232           5            0
	232        0     16   TROOQ     233           5            0
	233        0     17   TROOR     234           5            0
	234        0     18   TROOS     235           5            0
	235        0     19   TROOT     469           5            0
	...             
	468        0     19   TROOT     222           5            0
	469        0     20   TROOU       0          -1            0

	This is just my example.  It's an adaptation of an idea from...
	...Chris Gillespie
[1.6]** Stalking barrels will turn any monster into a barrel, that can
	roam around and blow up.  It is also an excellent illustration of
	using the frame table.  In the frame table, editing the Sprite # will
	change what a thing *looks* like, but it will still act as it always
	did.  You will notice that when you change the Sprite #, the Name
	changes.  When you change the Sprite Sub-#, the  A,B,C,etc changes.
	So, in this case, we want sargeants to look like barrels.  The barrel
	has only 2 frames, BAR1A and BAR1B, where the A and B correspond to the
	subnumbers 0 and 1.  So, we'll have to change sub-numbers to reflect
	this.  Enough theory, on with the details:
		In the frame table (F3):                          
	Change frames 207-240 to have a Sprite # of 57, and make the Sprite
	Sub-Number alternate between 0 and 1.  Now the moving, injured, and 
	still sargeants will look like barrels, but act like sargeants.  Now, 
	go back to the thing editor (F2), for sargeants:
	Alert Sound = 0
	Attack Sound = 0
	Pain Sound = 0
	Death Sound = 82
	Action Sound = 0
	Far Attack Frame = 0
	Close Attack Frame = 808
	Death Frame = 808
	Exploding Death Frame = 808
	This sets the sounds to be like a barrel, and gives the trooper
	a barrel death, and a close attack of exploding.
	Although I made some slight changes, this idea came from ...
	...Morgan Schweers
[1.7]** The same concept as [1.6].  Make the moving fireballs *look* like
	lost souls (ala Frame Table).  They still however, act like 
	fireballs.  
	frame table:  Frames 97-101  set Sprite # = 32
		      Frames 99-101  set Sprite Sub-# = 5,7,9 respectively,
				and also turn on the Bright Sprite for the
				99 and 100 (skips a few frames but gives same 
				effect)
	Thing editor, for imp fireballs:
	Alert Sound = 51
	...Chris Frederick
[---]   "NEW" WEAPONS
[2.0]   After the rocket's in flight, shoot at it and make it explode.
	Speed = 4
	Hit Points = 10
	bit#2,9,10,16=Y  all others must = N
	WARNING: sometimes locks game up.  Solutions/ideas, anyone?
	...Ron Goff
[2.1]   set a barrel in motion, then detonate with another shot!  For barrel, 
	Speed = 25  
	Pain chance = 170  
	Alert Sound = 16
	Alert Sound = 16
	Pain Sound = 26
	Death Sound = 82
	Action Sound = 75
	First Normal through Far Attack Frames = 806
	Death and Exploding Death Frames = 808
	 bit#1,2,9,14,15,16,22=Y  all others must = N
	WARNING:  Watch out, the barrel will explode "twice" !!
	...Mike Brashars
[2.2]   Turn projectiles into "mines".
	Set Speed = 0 (or very slow)      ...dave
	NOTE:  I've noticed that I can't be harmed by my own rockets, that
	is, they will fly right through me without detonating.
[2.3]** There are two ways to make a rapid-fire shotgun.  The first was
	to use Chris Gillespie's utility called dmframe.  You'd have to
	use this if you're using a version of dehacked less that v1.3.  If
	you have v1.3 or higher, you can use dehacked, and edit the frame
	table.  I swiped this explaination almost verbatim from Tom Neff:
	 In the Frame List (F3):
	  - Set the Duration of Frames 21, 22, and 29 to 1.
	  - Set the Next Frame # of Frame 22 to 29.
	 In the Ammo Editor (F4):
	  - Increase the Shotgun's max cap and ammo-per-item, since you'll
	    be moving a lot of lead.  
	...Chris Gillespie
[2.4]** Check out Chris Gillespie's patch (firework.zip)  It changes
	the puff from weapons hitting walls to a BFG blast.  Blood splats
	become rockets.  Quite deadly.  Keep your distance!
	...Chris Gillespie
[2.5]** Setting missle damage to a negative number gives some pretty
	wacky results.  Until more is found out about it, refer to [y.9]
	for its effects.
	...Keenan Clay Wilkie
[2.6]** To use all of your available ammo in one shot, get into the ammo
	table (F4), and for the shotgun, do the following:
	Shooting Frame = 22
	Firing Frame = 29
	NOTE: I fooled with this a bit and got some interesting results.
	I made similar changes on the pistol, chaingun and shotgun.
	Changing just the Firing Frame will make the pistol "rapid fire".  You
	hold down on the fire key, nothing happens.  Release and then repress
	quickly and you've got a rapid fire pistol!  Just setting the Shooting
	Frame doesn't change performance, but it does leave the weapon still
	on the screen after you've changed to a new one.  The only way to get 
	rid of it is to fire a projectile weapon.  I haven't looked too much 
	into this, but I'll bet you can get the same results more elegantly by
	fiddling with the frame table.  Perhaps changing the ammo table gets 
	the weapon caught in an endless loop of firing, until the ammo is used
	up, then it switches you to the next weapon, as normal.
	...BonesBro 
			
[---]	EXPLOSIONS
	Due to all the ideas incorperating explosions, I made a new catagory.
	One problem with making things explodable is mentioned in [y.7].
	Other barrel-related entries are [1.3] and [1.6].
[3.0]   Make any thing explode like a barrel by setting 
	Death Frame = 808
	Hit Points = reasonable
	bit#2=Y.
	OPTIONAL: edit bexp?0 graphics to look more generic, set
	Death Sound = 82
	or use the same death graphics as a rocket.
[3.1]   For the twitching bodies, 
	Death Frame = 163,227,462 (to taste)
	Death Sound = 57,60,62 (to taste)
	NOTE:  using the rocket death frame may look better than the barrel's
	...RPM
[3.2]   Change the Teleport Flash's first frame to barrel explosion, and
	teleport squares become land mines!
	First Normal Frame = 808
	If you're playing with -respawn, step carefully around those
	corpses, they could go off at any minute!
	...Keenan Clay Wilkie
[3.3]** Yet another twist on exploding deaths.  If the player's death is
	exploding (see [3.0]) it can make deathmatch more interesting...
	"If you're weak and manage to stay on the other guy's tail, 
	he may not want to finish you off..."
	...Tom Neff

[---]** MISC
	Stuff that doesn't fit into other catagories.  ('x' leaves room
	in the middle for new catagories)
[x.0]   For the Teleport Flash
	bit#3=Y
	The flash will *not* appear when you teleport.  This could make
	for some very convincing illusions!
	...Tree
[x.1]   A neat trick you can do with the color bits ... make the barrel
	ooze red, and make it bleed rather than puff so it looks like you've
	punctured it.
	bit#26,27=Y
	bit#19=N  all other bits stay the same
	...RPM
[x.2]** Set the player bit#9=Y.  Try it with god mode, and use rockets for
	propulsion.  Mr X created an arena for jousting via DEU.  All that's
	left is to figure out how survive propulsion without god-mode,
	and you've got a multiplayer jousting match!  
	...Mr X  (I lost the name for this one!)
[x.3]** When you make rejuvinating troopers ([1.2]), the ammo clip retains 
	its ID# of 2007.  However, when there's an ammo clip just lying 
	around, it is also a ghost trooper.  You can avoid this problem by 
	replacing a less-used thing with the ammo clip (ID# and all).  Then, 
	since Doom needs all the ID#'s accounted for, you make the ammo clip
	entry have the characteristics of a trooper ghost, but have the ID#
	of the less-used thing.  An example would be to use the Eye in Symbol.
	(thing #89, ID#41) to hold the Ammo Clip (thing #64, ID#18).  Then
	use the ammo clip to hold the trooper ghost, using the eye's
	ID#.  So, you'd take the following steps, using the "copy" command
	in dehacked:    c, 64, 89  (move ammo clip info to eye)
			c, 2, 64   (move trooper info to ammo clip)
			g, 64      (go to the ammo clip)
	ID # = 41
	Now, all the ID#'s are still accounted for, troopers still spawn
	a new trooper when they die, and ammo clips that were otherwise just
	lying around, still lie around.  
	...Chris Gillespie (his idea, my example wasn't exactly what he had
			    originally posted to a.g.d, though)

[---]   UNDESIRED EFFECTS
	Changes you can make to Doom that make "undesired" effects occur.
	For instance if you find a way to make Doom crash, I'll put it here
	so we can all avoid doing it.
[y.0]   For player, if bit#2=N, no monsters will attack you
[y.1]   High speed projectiles are very inaccurate
[y.2]   Monsters will not move if you give them the player's frame #'s
[y.3]   Giving the player a small height makes you harder to hit, but also
	means you can't shoot at monsters on higher sectors.  With a height
	of 2, I couldn't even shoot at monsters 1 step above me!
[y.4]** If you make a monster shoot lost souls or barrels, and if it  
	explodes in its face, it will attack whatever injured it, (itself)
	and end up commiting suicide. 
	...Keenan Clay Wilkie
[y.5]** It was noted that the exploding rockets trick sometimes caused 
	doom to lock up.  Note that bit#4 must be No.  I set my plasma
	bullets' bit#4=N, and doom hung up on me.  Could this be a coincidence
	or the culprit ??  Perhaps the explosion and puff overlap & lock
	up ??
[y.6]** Setting the death frame to be the first moving frame will make
	a monster instantly come back from the dead.  It sounds keen, but
	the "undead" monster will be completely invulnerable to attacks,
	but still be able to attack you.
[y.7]** If you make a gettable thing also have an exploding death (same
	concept as [3.0]) if the explosion "touches" you, doom quits with
	an error "unknown gettable thing".
	...Keenan Clay Wilkie (and I think a few other people)
[y.8]** Setting rocket damage to something high, like 4000 will kill you
	even if you've got god-mode on.
	...Eugen Woiwod
[y.9]** Setting missile damage to a negative number:  Sometimes it appears
	to have a "healing effect", but it will still kill a monster.  The
	monsters sometimes fly forward when hit.  Try this and play e2m8,
	for some really trippy side effects.

[z.0]   WISH LIST
	Cool ideas not yet implemented.  I think some of these can
	be accomplished by changing graphics ala dmgraph, but a quick
	dehacked patch would be much neater!

**  Is there any way to alter how much armor the armor bonuses give out
    Howabout the other stuff, like health, light goggles, etc etc etc?
	...RPM

    Make barrels into monsters?  Make them move around and explode on 
    contact?  ANSWER:  see [1.6]
    Make any monster shoot fireballs?  
	...Night Child 

    Make plasma bullets / bfg blast light up a dark sector so you can see
    what's there.  IDEA: somehow mix lamp's behavior with plasma bullets?
**  BUMMER:  mucking around with the code pointers (frame table column 5) 
    only seems to crash things...Alden Bates 
    ANSWER:  see [1.7]
	...Evan Bynum
  
    How to get the Caco to shoot Lost Souls without crashing the machine
    NOTE: I've tried a few patches, but they've all made Doom crash. For a
    semi-solution, see [1.7]
	...Steve Chaney

    Using the bfg blast as a mine/shield.  Setting it as an obstacle doesn't
    seem to make it block shots.  Anyone have any luck on this one?
	...Steve Chaney

    Is there a bit which controls what weapon a monster leaves behind when
    it dies?  
	...Scott Adams  
  
[z.1]** UNKNOWNS
	To my knowledge, the following are still unknown:
	 bit#7,13,21,28-31.  
	 
	Anyone successfully changed the "code pointers" ?? (in the frame 
	table or elsewhere in the .exe)

[z.2]** UNDOABLES
	I figured I'd put this in here, because there have been a lot of
	requests for info on how to do these.  These are all things that
	I am 99% sure can NOT be changed with DeHackEd in any way.

	Ammo usage (BFG uses 40 cells.  Period.)
	Rocket explosion damage
	Rocket explosion radius 
	Health from med-kits, soul spheres
	Initial health of player
	Totally new Things (including monsters)

[z.3]** PATCHES
	Here are patches that I know about...some of the ideas are covered
	in this text, but they often contain other neat stuff I've missed.
	Also, most patches do not tell what they've changed, so what I list 
	here may not be all the changes, just what I noticed.  The 
	explanations are breif, since I don't have a lot of time to devote to
	detective work.  If it looks interesting, download it from ftp.cdrom.com;
	you can see for yourself how the changes were made, and who made them.
	[ Note: There's lotsa newer out there by now! ]

         FUN_2.DEH      included in the DHEFUN11.ZIP, this has
			almost all of the ideas mentioned in this
			text squished into it.
	 firework.zip   blood splats & puffs changed to bfe's and rockets
	 reality1.pat   ?? (only avail on a.g.d.binaries?)
	 r12-1.zip      barrels hang from ceiling and are semi-invis
			imps f-ball slow, killable, imp is tougher
			sargeant faster, caco f-ball faster
			plasma bullets semi-invis, slow, more damage
			BFG uses a purple blast
	 r12-11b.zip    blood splats -> pool of blood.  puffs -> blood splat
			imp invis.  lots of things explodable.  a lot of same
			stuff as r12-1.zip.  chaingun unlimited ammo, fist 
			uses up rockets  WARNING: locked up DOOM!  
	 r12-21b.zip    lamp->trooper  sargeants are players (& can't move)
			imps shoot potions  fast shotgun  lots of things
			explode  barrels explode & regenerate  cacos shoot 
			lost souls  WARNING: locked up DOOM! (cacos, I think)
	 r12-2b.zip     dead bodies can be shot & turn into blown up dead
			bodies,  fast weapons, cacos shoot medikits
			WARNING: locked up DOOM! (cacos again)
	 rckt_hak.zip   rocket explosion as it launches, then when the
			rocket explodes, about 3 other explosions go off.
			don't do it unless you iddqd.

[z.z]   OUTRO
	[ Note: Contrary to the OUTRO, Dan Lottero is no longer maintaining
  	  all this cool stuff.  If you have a great idea or want to chat
	  about this stuff, please mail comments to Greg.  My email address
	  is at the top of this document. ]

	If you've got a good idea, e-mail it to me.  But please
	post it on a.g.d, too, since a lot of good ideas are generated
	from other ideas.  However, I probably won't catch it if you
	only post it to a.g.d, due to the high traffic.  

	I try to give credit to the person(s) who supplied an
	idea, and how to implement it.  If I mess up, drop me a line.
	If two people had the same idea, I'll list both.    

	If any of the ideas listed here don't work, drop me a line.  I've
	tried almost all of them, so most likely, I just made a typo.

	Any comments about this should be directed to me (dlottero@bu.edu).
	Any juicy bits about unknowns should go to Matt Fell (author of
	the Unofficial Doom Specs), Tree (author of DeHackEd), and
	I wouldn't mind knowing, too!

	Share and Enjoy!     Happy hacking,

Dan Lottero
dlottero@bu.edu

