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