Lummox JR's DeHackEd Grab Bag The definitive DHE Web site. Revision 1.3, 9/1/95, by Lee Gaiteri (See the Official DeHackEd Home Page for more technical info on DHE.) This page is full of special effects for DOOM 1.666 that can be created with DeHackEd by Greg Lewis (gregl@g.imap.itd.umich.edu). Most of these were tested in DHE 2.2 and 2.3, but should work with some earlier versions (as well as later ones). I don't know whether they will all work with DOOM II, as they haven't been tested there (some certainly won't, as they replace DOOM II things to add extras to the game). I also have no idea whether they will all work with other versions such as DOOM 1.9 and Ultimate DOOM 1.9 (the original 3 episodes plus the new 4th episode, "Thy Flesh Consumed"). Anyway, 1.666 is the most popular version, so I'll stick with that. You can translate most of the patches from there if you have to, because I've included information about the origins of the thing/frame/weapon/text numbers I use. I worked through all of these myself, although many were based on others' ideas and patches, and most of those were altered and refined. Wherever possible, I have acknowledged the original authors. The effects are arranged in sections, which should make finding the right one easier. I've also marked a few of my favorite patches with this icon: Favorite Patch: Please note that not every DHE patch is listed here; some I thought of, but weren't worth the extra space. Others I have not seen. This page should hopefully give you ideas as to what patches you can create yourself, and how to create them. Thanks to Jens Hykkelbjerg for continually posting this with his DOOM Editing Pages, to Greg Lewis for writing DHE in the first place (as well as for providing some help with hacking), and to Dan Lottero for authoring the original Fun With DeHackEd text file, on which some (but not all) of these patches are based. I could further thank the other patch authors and those who contributed to DHE, but I think you all get the point. More information about DeHackEd is available on the Official DeHackEd Home Page, now under construction, written by Greg Lewis himself. Currently, you'll find full information on DHE 3.0 there (also see my "sneak preview" below). This page is about as close to dynamic as you can get without server-side includes, so keep watching. DISCLAIMER This section is just a legal precaution against the frivolous lawsuits of the modern era. Your system may sometimes crash as a result of running a defective patch, or running one with an improper system configuration. The patches on this page have been thoroughly tested, although running DOOM from within DeHackEd is not recommended. Remember, changing data in an executable file is risky if you don't know exactly what you're doing; that risk is yours alone. If your system does crash for any reason, it is not the fault of me, Greg Lewis, id Software, or anyone else connected with DOOM or DeHackEd in any way, and none of us, individually or otherwise, can be held responsible for any damages resulting from it. No damages are expected, of course. Most patches don't cause crashes, and DOOM is usually doing no disk access when they do (certainly not write operations, where the real danger is). I've had plenty of DOOM crashes from altering the file (with and without DeHackEd), and never once has anything other than an annoying lock-up (which can be fixed by pressing the RESET button) or a premature exit to DOS (which is totally harmless) happened as a result. Contents 1. NEWS FROM THE FRONT 2. Basic patches 3. Fun with fireballs 4. Bullets and blood 5. Teleporter effects 6. Morphing! 7. Bad guy be mean go BOOM! 8. Really spooky stuff 9. The easy way 10. The hard way 11. The dream arsenal 12. Wishes come true 13. Why can't I... 14. What I can't tell you A note about links: I have tried to use actual home pages instead of e-mail addresses wherever possible (unless the link is supposed to be used for mail). 1. NEWS FROM THE FRONT ====================== Keep watching this section for the latest DeHackEd developments and additions to this page. New code pointers page It's under construction, but try it anyway. I've got a list going of some common code pointers. Feature film rumor After seeing the novelizations of DOOM, I thought "What next?" The thought of a movie had been haunting me the whole week anyway, but this pushed it over the top into the realm of possibility. So I mentioned this to Scott Smith (of DOOM Pages fame), and he said he'd heard a movie was already in the works. If anyone can confirm this, write me about it. The more details, the better. And scary thought of the year award goes to: Me. Think about this: When the movie comes out, what will follow in its wake? Toys! Action figures! Imagine, the game too violent for kids to play becomes a playground word. And not only is there violence, but you get the added bonus of Hollywood mismanagement overplaying the more occult sub-themes! (Pleasant dreams.) DHE 3.0 is here! Don't ask any more questions, just download it. You won't be disappointed. It should be available now on the Official DeHackEd Home Page. I'd write more, but the page will tell you all about it. And there's no doubt a link back here from there, so you can try out some patches with the new version. There was a minor bug during the early release, but it's been fixed (though there may have been a new bug created for Doom II in fixing it). I don't know how far the distribution went, so if you have a problem with 6 of the new misc. codes using DHE with DOOM 1.666, then by all means get the new new version. (If you're having problems with Doom II now, get the new new new version, which should be out soon.) Code pointers hacked Pardon me if I sound self-important here. But you have to admit that it took brilliance (and a little background info). Greg Lewis wrote me with some information, and told me that the code pointers in the frame data are merely used as place holders; it does matter whether they are zero or nonzero, though. He said the actual code pointers are located in a group earlier in the EXE file. If you were to use a hex editor and search for them yourself, you would find them there as well as with the frame data. I have hacked them. I now know how they are stored and how they are related, even if a formula for finding their exact locations in the file remains impossible. The purpose of the frame data code pointers does indeed seem to be for place holding. The EXE, when running, probably copies the real pointers into the frame data for easy access later. Why it doesn't just keep them there to begin with is a complete mystery to me. Occupational changes Greg Lewis has named me the official DHE opinion man. I have been beta testing DHE 3.0 (it was 2.5, but enough has changed to warrant a new major version number), and hopefully it will soon be uploaded to popular sites everywhere. And now I am also maintaining the PWAD Workshop in Scott's Doom Pages. A great DOOM II DeathMatch site, Scott's pages (which have an artistic quality that will probably seem all too familiar...) also include links to other great sites, as well as some helpful utilities, some of which can be found in the PWAD Workshop. Scott's also trying out another style of the same page; I think the title pic is a little too stylish, but that will change eventually if a suitable font can be found. 2. Basic patches ================ Here are just a few good patches that are good to combine with others. Better cheat codes Cheat codes window (F4, misc.): * Degreelessness "god" mode: qq (was iddqd) * Ammo: ww (was idfa) * No clipping 1 (use No Clipping 2 for Doom II): ee (was idspispopd) * Light-amp visor: rr (was idbeholdl) * Map: t (was iddt) (pressed twice, like the others, it will show the complete map and all objects) These are my favorite five cheat codes. I hate having to go through the rigamarole of typing in a long string like idspispopd whenever I want to try a simple cheat. The new codes are just a single keystroke repeated three times (or, to be technical, repeated twice), and the keys are all located near each other for easy access. Monsters fight each other Misc. codes: * Monsters Infight: On (was off) This patch, unavailable before DHE 3.0, changes monster behavior so that like monsters attack each other. In other words, if an imp shoots another imp, that other imp will actually shoot back. This is one heck of a patch. Way too much health and armor Misc. codes: * Initial Health: 500 (was 100) * Max Health: 500 (was 200) * Max Armor: 500 (was 200) * Max Soulsphere: 500 (was 200) * God Mode Health: 500 (was 100) * idfa Armor: 500 (was 200) * idkfa Armor: 500 (was 200) Yipe. One or two good bonuses and the level's yours. BFG 9000 uses 1 round of ammo Misc. codes: * BFG Cell/Shot: 1 (was 40) This is the killer patch. Enjoy. Super weapons I don't need to show you this patch. I got it first with DHE 2.2, then a later version with DHE 3.0, so it should be floating around somewhere. This patch basically gives all weapons an outrageous amount of ammo and makes them all ultra-fast by changing frame durations to 0 or 1 (or skipping some frames altogether). I just thought I'd include it in this section because it's one of those patches everyone should be familiar with. Monsters fly backwards when shot Any/all monsters: * Mass: 1 This one can be amusing. It can also be helpful if you're trying to push a monster off a ledge but can't (to test a WAD, for instance). 3. Fun with fireballs ===================== All of these effects involve thing #32, the imp fireball. They are fired automatically when an imp attacks from far away (frame sequence starting at 452- if the imp is close, it will scratch you with the same frame sequence). Other monsters' projectiles (except bullets, of course, which are not actual objects) can be altered in the same way. Imp fireballs stick in place after they hit their target Thing 32 (imp fireball): * Death frame: 97 (was 99) This patch is totally useless, but interesting. Imp fireballs are nearly invisible Thing 32: * Bit 18: On (was off) Because the fireballs move so fast, they're very difficult to see when they're partially invisible. This adds a bit of difficulty to the game. Imp fireballs explode Thing 32: * Death frame: 127 (was 99) This one is fun, if you want to make imps more dangerous than they already are. Imps fire rockets Thing 32: * First normal frame: 114 (was 97) * Death frame: 127 (was 99) * Speed: 20 (was 10) * Width: 11 (was 6) * missile damage: 20 (was 3) * Alert sound: 14 (was 16) * Death sound: 82 (was 17) DHE Tip: To create this patch faster, use DHE's copy command (the C key) to copy the rocket (thing #34) to the fireball (thing #32). This is very challenging. Imps will be almost as dangerous as the cyberdemon, but easier to kill. But, on the bright side, they can kill each other accidentally. (The same goes for the patches just before and after this one.) Alternate "imps fire rockets" patch Frame 454 (last frame in imp attack): * Code pointer: Frame 685 (cyberdemon attack) (was frame 454) Remember, you need to edit code pointer from the code pointer window (F8) in DHE 3.0. Changing the one in the frame data will not work. Favorite Patch: Imps throw barrels Thing 32: * First normal frame: 806 (was 97) * Death frame: 808 (was 99) * Width: 10 (was 6) * Height: 42 (was 8) * Death sound: 82 (was 17) I also like the rockets patch, but this one seems to fit in with the imps' general flavor of ickiness (picture them in a sewer and you'll get the idea). Infinite imps Thing 32: * First normal frame: 442 (was 97) * First moving frame: 452 (was 0) Frame 454: * Next frame: 452 (was 444) Well, not quite infinite. Eventually, you'll have so many pseudo-imps after you that the game will slow down and it might crash. This patch is good only as an example of what DHE can do when pushed to the limit. 4. Bullets and blood ==================== All of these effects deal with either the bullet puff (thing #38), the blood spurt (thing #39), or their respective frame sequences. Blood spurts leave pools of blood on floor Frame 92 (last frame in blood spurt): * Next frame: 895 (was 0) The original patch by Eric Fisher replaces frame 92's next frame with frame 92 (itself). This, however, looks artificial, like little red flowers on the ground. The blood spurt is really meant to look 3D. Frame 895, on the other hand, is used for the pool of blood, and it works very nicely for lot of choice gore. Blood glows in the dark Frames 90-92 (blood spurt) and 895 (pool of blood): * Bright sprite: On (was off) This one is really eerie. It could easily go in the spooky stuff section, but it works here. Also try it in combination with the above patch. Barrels of blood Thing 31 (barrel): * Bit 19: Off (was on) * Bits 26 and 27: On (were off) This one (by RPM) comes straight from the Fun With DeHackEd file. If you've never played around with the color bits (26 & 27), this is pretty cool. Turning off bit 19 (puffs vs. bleeds) makes the barrel ooze blood, and turning on bits 26 and 27 makes the green stuff in the barrel red. You can also make the toxic waste in the barrel gray (just bit 26) or brown (just bit 27). This patch is especially fun when combined with the blood spurts patch above, which will make it look like the barrels are spilling loads of blood every time you shoot them. A real crowd pleaser. Getting hurt is dangerous Frame 92: * Next frame: 127 (was 0) Frame 127 is the rocket explosion, and has much the same effect. Of course, it doesn't make an exploding noise, but it does some nasty damage. This patch makes the handgun a deadly weapon- just fire into a group of baddies and watch the guts fly. This is also fun because you can hear them scream in pain just before the end comes. Only thing is, I don't know if this has any effect on the cyberdemon or the spider boss. Probably some. You can also do this with the bullet puff (its last frame is 96), causing barrels to explode on the first hit (or even a near miss). This will make the handgun, shotgun (R,R,R!), and chaingun extremely dangerous- even to you. Favorite Patch: Or, you can combine the two for even more fun. Just change the next frames of frames #92 and #96 to 127. If you really want to live on the edge, don't play in god mode, and see how far you can get. Watch out, though, those troopers and sergeants are nasty (as is the spider boss!). 5. Teleporter effects These all involve the teleport flash (thing 40) and its respective frames (130-141). Favorite Patch: Teleporting is dangerous Frame 141: * Next frame: 127 (was 0) This patch is based on an idea by Keenan Clay Wilkie, who changed thing #40's first normal frame to 808. I tried changing the first normal frame to 127, which is artistically better, but does not work. My best solution was to work on the teleport frames themselves. I like the result. After the teleport flash, a silent explosion will occur. Watch your enemies come through unawares and get blown to bits! Imps can sometimes move out of the way quickly, and catch only a little damage from the explosion. You, however, can run out of the way before it hits. And whatever you do, beware of respawning monsters. They won't last long, but neither will you if you stand too close! Teleport invisible and silent Thing 40: * Bit 3: On (was off) Frame 130: * Next frame: 0 (was 131) * Duration: 1 (was 6) Turning on bit 3 makes the flash invisible (the idea first came from Night Child), although it matters very little in this particular patch. You may just want to leave it off. Cutting the animation short, however, will also cut short the sound, making it possible (in some cases) to believe you haven't teleported at all. Enemies can enter from another teleporter soundlessly, and sneak up behind. This would be great fun in a DeathMatch game. Cooler teleporter Thing 40: * First normal frame: 117 (BFG shot frame) (was 130) This makes the teleport flash look more like a TV turning off. Very cool. Blue teleport flash Thing 40: * First normal frame: 142 (item respawn frame) (was 130) It's short and small, but it looks good. 6. Morphing! ============ If you've wanted to see an inanimate object turn into a nightmare, or vice-versa, this is your chance. Okay, so it's not really morphing on a graphics level. It's still cool. Barrel becomes an imp Thing 31 (barrel): * Hit points: 60 (was 20) * Speed: 8 (was 0) * Width: 20 (was 10) * Height: 56 (was 42) * Pain chance: 200 (was 0) * Pain sound: 27 (was 0) * Death sound: 62 (was 82, barrel explosion- leave if you want the imp to turn back into an exploding barrel when it dies) * Action sound: 76 (was 0) * First injured frame: 455 (was 0) * Close/far attack frames: 452 (were 0) * Death frame: (change to 457, or leave at 808 for barrel explosion) * Exploding frame: (change to 462 for imp exploding, or leave at 0 for regular barrel explosion) * Bit 19: Off (was on) * Bit 22: On (was off) This one's a favorite among DHE fans. Just shoot the barrel, and run away before it gets a chance to shoot back! Turning off bit 19 (puffs vs. bleeds) makes the imp bleed (as it should). Turning on bit 22 (counts for kill %) allows respawning, plus it forces you to destroy all barrels if you want a 100% kill rating. I've left it up to you whether you want it to turn back into a barrel (and explode) when it dies, or if you want it to die like an imp. Both methods are shown. Other monster's stats can be used, too. Feel free to experiment with different settings, including bits (try out no clipping and partial invisibility). Just find out what thing number the monster you want it to look like has, then copy that monster's frames, sounds, or anything else you want. The most important thing here is to keep the first normal frame the same as it always was. Also, the injury and close/far attack frames are the most important for morphing. The first moving frame is virtually meaningless here, as the object starts out oblivious to your presence, and won't wake up unless it gets hurt. Spider boss attacks Easy. Just change any monster's attack frame to 615 (the spider boss's). As long as you are in its direct line of sight, the monster will pelt you with billions of bullets. Once you are out of sight (even for a second), it will revert to its first moving frame. (This is an internal behavior of the spider boss's attack frames.) Waking the dead Yes, morphing can also be done with (already) dead bodies. It's loads of fun. Watch while Corporal Corpse comes to life and starts pumping you full of lead. Just change the body's injury frame to the corresponding monster's respawn frame, change its attack frames, first moving frame (just in case- it is sometimes used even after the monster wakes up), and change any other stats, including sounds, hit points, width and height, pain chance, bit 2 (obstacle), bit 3 (shootable thing), etc. accordingly. But, it only works once, and only with bodies that are there when the game starts. You can, however, turn on bit 22 to allow respawning. Just remember, this doesn't work with the player's frames. The only way to do this with dead players would be to change the sprite numbers for a given monster's frames to those of the player's frames, and to use the modified frames. Humiliating attacks Basically, you can muck around with attack frames for different monsters, making them become inanimate objects when they attack. For example, to make an imp turn into a lamp whenever it tries to fire at you... Thing 12 (imp): * Far attack frame: 886 (lamp frame) (was 452) The monster will stay that way until it is shot again, at which point it will either die, or run around and maybe get mad and probably try to shoot you again (turning it back into an appliance). This one's good just for humor value. 7. Bad guy be mean go BOOM! =========================== Just when you thought there was no other way to disgrace your enemies, here it is! Watch as your worst enemy blasts himself to bits trying to kill you. Monsters explode on attack This one's very simple. Just change a monster's first moving frame (when it sees you and "wakes up"), its injury frame, its close/far attack frame(s), or its death frame to frame 127 (the rocket exploding), and change the appropriate sound, if you like, to 82 (rocket/barrel explosion). This can be done for every monster. Just think! If one standing in a group gets hit, and you've changed the injury frame, it'll cause a chain reaction. Don't forget to keep a safe distance. Favorite Patch: An example of exploding attack Thing 12 (imp): * Far attack frame: 127 (was 452) I like changing the first moving and far attack frames the best. That way, either they blow up as soon as they notice you, or if they look at you wrong. Just try the far attack variation (shown above) on the imps and test it in DOOM episode 1, mission 1. One of the imps on the ledge will just look, and be ready to fire, when suddenly he explodes, and his companion is blown screaming clean off the ledge, falling into the acid or onto the walkway (it's really cool). Kamikaze Imp Thing 12 (imp): * Speed: 40 (or something else high- was 8) * Close attack frame: 127 (was 452) * Far attack frame: 0 (was 452) I can't take the credit for this one; I read it in Hank Leukart's The Doom Hacker's Guide. However, this is a variation. In the book, the close attack frame was changed to 808 (the barrel explosion)- a rather sloppy way of doing it. Also, the imp's speed in the book was 50, but that made it fast enough to run through walls at times and not be able to get back inside. The far attack frame is changed to 0 so that the imp can't fire at you. It has to run toward you as fast as it can, in that zigzag pattern they like to use, and explode right next to you (or another monster, if it's been attacked). This, of course, can be done with other monsters. Attack frames Another possibility is messing with frames. Check out a given monster's close or far attack frame, and look it up on the frame table. Follow it down frame by frame until you see an entry in which the next frame will go back to that monster's first moving frame (sounds like gibberish, but it's really easy). Take the imp, for example. Look up frame 452 and follow it down until you see "Next frame: 444". Now, change that last next frame entry, in this case 444, to 127. This way, they attack and then die. This is great with the demons- they bite you, and then fall back dead (if you're not careful, you'll go with them!). Cruel punishment for an ill-deserved attack- but it makes their attack more effective, too, if they're close by. An example of exploding after attack Frame 487 (last frame in demon attack): * Next frame: 127 (was 477) 8. Really spooky stuff ====================== You've already read the signpost up ahead, but it's too late to turn back now. If you thought DOOM was as creepy as it could get, then you haven't seen any of these babies in action. Troopers' ghosts Thing 64 (ammo clip): * Copy all stats from the trooper, including speed (8), height (56), pain chance (200), frames (174, 176, 187, 0, 184, 189, 194, 203), and sounds (36, 1, 27, 59, 75). * Leave hit points at 1000 or some other high level. * Bit 0: Off (was on) * Bits 2, 12, and 18: On (were off) * Optional- Bits 9, 14: On (were off) * Optional- Bit 22: On (was off) This patch will make a ghost appear after you kill a trooper. They're really nasty, too. This one was not entirely my idea- I saw it described somewhere but didn't download it. Knowing what effect I wanted to recreate, I tried various ways of making it myself. Bit 12 is no clipping, bit 18 is partial invisibility. Yes, they walk through walls and they're hard to see. Bit 0 (gettable thing) should be turned off (or else the game will crash), and other bits like 2 (shootable thing) and 22 (counts for kill %) make it a real enemy, capable of being hurt and even (optionally) respawning. The optional settings for bits 9 (no gravity) and 14 (floating) will allow the ghosts to fly. This is redundant, of course, as ghosts can walk right up a cliff to wherever you are, but seeing flying ghosts can be much scarier than ones that only walk. If bit 22 (counts for kill %) is set, the ghosts can respawn. (No, they won't just disappear, even if the clip they came from didn't start on the map.) This means that eventually the whole level could become crowded with respawned ghosts. They will respawn off-screen (I think they always respawn to the same spot, somewhere on the "northernmost" edge of the map grid). If you want to avoid this, leave bit 22 off. In addition, you could end up with a kill rating over 100% if you leave this bit on. (This is because the number of possible kills is calculated at the beginning of the level, and the ghosts get added afterward.) There is a drawback (or side effect, depending on your perspective) to this patch: Regular ammo clips will also be these bad guys, and they will start the level this way. There is a way around this side effect, as shown below. Also, this can be done with sergeants, by changing the shotgun instead of the ammo clip. However, that makes it impossible to pick up a shotgun without using the cheat codes unless you use the variation described below. To get around the side effect of having no ammo clips placed in the level at the beginning, take any object that does not appear (such as a DOOM II object for the DOOM I EXE file- like the megasphere or archvile) and change it to be like the ammo clip. No side effect sub-patch for troopers' ghosts Thing 64 (ammo clip): * Thing ID: -1 (was 2007) Thing 4 (archvile) or good substitute not used in game: * Thing ID: 2007 * Speed: 0 * Width: 20 * Height: 16 * Pain chance: 0 * Mass: 100 * Bits: 1 (turns bit 0 on, others off) * First normal frame: 870 * All other frames: 0 * All sounds: 0 DHE Tip: To create this patch faster, use DHE's copy command (the C key) to copy the ammo clip to the archvile, then the trooper to the ammo clip. Changes can be made from there. This replacement object has been given the ammo clip's default first normal frame (870) and thing ID (2007), as well as other stats like speed (0), width (20), height (16), pain chance (0), etc. (and all sounds changed to 0), then its bit 0 (gettable thing) was turned on, and all the other bits were turned off. The ammo clip's thing ID should be set to -1 so it does not appear in the level. When going through the thing list, the game will find the new ammo clip object instead, and will place that in the game instead. This does not undo the ghost effect, though, because ammo clips that are put into the game by dying troopers are put in as thing #64, regardless of its thing ID. This sub-patch will work because gettable things are taken based on what sprite they are displaying, not what thing number or ID they have. A patch like this could be used to make this work for sergeants as well, by making another object substitute for the shotgun. Sneaky imps Thing 12 (imp): * Bit 3: On (was off) * All sounds: 0 * Optional- Close attack frame: 0 (was 452) This is the easiest way; there are others. Basically, turning on bit 3 makes the imp totally invisible, and turning off the sounds will make it impossible for you to know he's there unless he attacks (in which case you'll hear a scraping sound that can't be changed here, or a fireball being thrown). Just imagine a monster wandering around completely undetectable that fires balls of flame at you without warning. This can also be done with other monsters (although the imp's fireballs make it really fun), and you can even use items with all of the imp's frames and stats copied over to have extra monsters. An army of marines Original patch (by Matt Fell) or something really close to it Frames 174-240, 442-501: * Sprite #: 28 (player's) Things 3 (sergeant) and 13 (demon): * Bit 26 (gray/red): On Things 12 (imp) and 13 (demon): * Bit 27 (brown/red): On An alternative patch Frames 174-206: * Sprite #: 28 (player's) Frame 194: * Next frame: 203 Frame 195: * Next frame: 194 Things 2 (trooper), 3 (sergeant), 12 (imp), and 13 (demon): * First normal frame: 174 * First moving frame: 176 * First injury frame: 187 * Close attack frame: 0 * Far attack frame: 184 * Death frame: 189 * Exploding frame: 196 * Respawn frame: 195 * Alert sound: 36 * Attack sound: 1 * Pain sound: 27 * Death sound: 59 (or 57- player screaming) * Action sound: 75 Things 3 (sergeant) and 13 (demon): * Bit 26 (gray/red): On Things 12 (imp) and 13 (demon): * Bit 27 (brown/red): On DHE Tip: To create this (my) patch faster, use DHE's copy command (the C key) to copy the trooper to the other monsters, but retain their original thing ID's, hit points, speeds, and pain chances. In these patches, troopers, sergeants, imps, and demons all look like you! Troopers are green, sergeants gray, imps brown, and demons red. In my version of the patch, a lot of things are improved by changing some elements within the frames (not all sub-sprite numbers correspond exactly between monsters), and giving all monsters the same frames makes it a lot easier. Of course, they all attack with handguns now, but you take what you get. In the original patch, behavior is not changed but appearance is. There are a few inconsistencies in the sprite animations (an injured demon, for example, looks like it's dying, and an attacking demon looks like it gets injured), but those can be cleaned up manually. This has got to be fun in DeathMatch. Imagine not being able to tell a monster from another player! Or in cooperative mode; just think of the possibilities. Hidden gunmen Thing 82 (short lamp) or any other inanimate object: * First normal frame: 174 (trooper's) * First moving frame: 176 (trooper's) * Far attack frame: 184 (trooper's) * Bit 3 (total invisibility): On * Optional- Bit 1 (obstacle): Off This patch will turn anything you want into an invincible enemy. You'll have to run fast around those corners with lamps (or whatever you use), and don't hang around. The attack frame you choose makes the thing as deadly as you like. (454, the imp's last attack frame, is also a good choice.) The object will usually make a sound when it attacks, though. Monsters play dead To do this, just change any monster's first moving frame to match its death frame, and its alert sound to match its death sound. The instant the monster sees you, it'll feign death; but once hurt, it will attack with a vengeance. Because it must be shot to wake up, you may want to increase the monster's hit points. An example Thing 12 (imp): * First moving frame: 457 (was 444) * Alert sound: 62 (was 39) * Optional- Hit points: 100 (was 60) This patch is something like the "waking the dead" patch, but it offers an illusion that monsters may have been killed by you or some other agency (walk into a crowded room and start blasting, and you'll have a hard time figuring out who was really killed). And on top of that, it's a great practical joke to try out on a friend. Just have him load the patch, but don't tell him what it does. "Oh, the monsters just die when they see you? That's too easy!" Just think of the fun you could have watching his reaction when they wake up! A better "play dead" patch Thing 12 (imp): * First moving frame: 470 (respawn frame) (was 444) * Optional- Pain sound: 62 (imp's death) (was 27) Frame 442 (imp's first normal frame): * Sub-sprite: 12 (dead imp) (was 0) * Next frame: 442 * Duration: 100 Frame 443: * Sub-sprite: 12 (dead imp) (was 1) * Duration: 300 * Code pointer: Frame 452 (attack sound- used as dummy pointer) (was frame 443) Frame 455 (imp's injury frame): * Sub-sprite: 8 (was 7) Frame 456: * Sub-sprite: 10 (was 7) * Next frame: 443 (was 444) * Code pointer: Frame 458 (death sound) (was frame 456, injury sound) In this patch, imps will appear to be dead when you first see them; but they will eventually wake up and attack you. If you shoot them, they'll appear to die again, only to wake up later (if you haven't finished them off). The only giveaways are the pain sound (unless you've changed it) and the speed with which the imp drops; The full death sequence plays frames 8-12, but the fake one imitated by the two injury frames only has enough room to play two frames. Still, if you're busy blasting other bad guys, you probably won't notice. Candles explode when shot Thing 100 (candle): * Hit points: 1 (was 1000) * Mass: 5 (was 100) * Death frame: 127 (was 0) * Bit 2 (shootable thing): On (was off) The name says it all. Try this patch in DOOM episode 2, mission 1. There are candles all over the place there, especially around teleporters. Infinite lost souls Frame 589 (first frame in lost soul attack): * Code pointer: Frame 711 (pain elemental attack) (was frame 589) Whenever a lost soul attacks you, it will spawn another one. Neat, huh? This patch is a very good demonstration of infinite recursion, but remember: If you get too many of the things, the game will get sluggish. Actually, you'll probably never get them to approach any large number, as lost souls will attack each other when crowded. (But then, if they attack each other, they'll still be spawning more. It's a mess any way you slice it.) Any monster can respawn others like the archvile Frames 241-242 (normal frames for archvile) and 266-268 (respawning frames): * Sprite #: 26 (teleport fog) (was 31) * Duration: 6 (was 10) * Bright sprite: On (was off for frames 241-242) Frame 266: * Sub-sprite: 0 (was 26) Frame 267: * Sub-sprite: 1 (was 27) Frame 268: * Sub-sprite: 0 (was 28) * Next frame: 242 (was 243) Monster's moving frames (usually 8 of them): * Code pointer: Frame 243 (archvile movement) * NOTE- if the code pointer is different than the most commonly used moving pointer (in some monsters, like the cyberdemon, other code pointers are used in the moving frames to add sounds and such), do not change it; changing it will probably not hurt, but it will alter some sub-behaviors of the monster This patch absolutely requires hijacking the archvile's frames because otherwise there would be a few problems (especially running in the original DOOM, which doesn't have the right sprites in its WAD). Here's what it does: 1. The sprite #'s are changed to that of the teleport fog to prevent the game from accessing a non-existent sprite, and for a cool effect. 2. Frames 266-268, called internally by the code pointer, are changed to a kind of animation sequence with the teleport fog effect. 3. Control passes to the archvile's normal frames instead of its moving ones. The normal frames have the "sleeping" code pointer, which tells the monster to wake up and switch to its own moving frames when it sees or hears you. If this was not done, the archvile's moving frames would be used for every monster using the effect, and they would not change until an attack, injury, or death. If for some reason the monster doesn't wake up right away, it has a nice teleport fog effect going. 4. Changing the code pointers on the monster's moving frames makes it not only move around and wait to attack as usual, but it also checks to see if it can respawn another monster (in which case, it does so and jumps to frame 266). This doesn't seem to work for demons and spectres, though I have no idea why. My only guess is that monster speed could possibly be a factor. If you know, send me a comment. Thanks to Jim Davis for the idea. 9. The easy way =============== These patches make playing boring. They're only good for novelty. Monsters don't wake up until they are in pain Any/all monsters: * First moving frame: 0 Like it says, they just won't wake up when they see you. Why not? Because the game needs the monsters' first moving frames, and if they're 0, it thinks that the monsters can't go into "alert mode". If you set the injury frames or pain chances to 0 as well, the monsters won't wake up at all. No monsters attack you Thing 1 (player): * Bit 2: Off (was on) Turning off the shootable thing bit (2) makes it impossible for monsters to hurt you, even if they tried, which they won't. The effect of this in DeathMatch is unknown, as this particular object isn't supposed to appear in DeathMatch at all. Try it and tell me about it. If it did work, then no players in DeathMatch could shoot each other, and that would be a drag. 10. The hard way ================ For the masochist in all of us. Unarmed! Misc. codes: * Initial Bullets: 0 Look on the bright side. At least you won't have very long to worry about it. Relentless imps Frame 454 (last frame in imp attack): * Next frame: 452 (was 444) Optional- Frames 452-454: * Duration: 1 (were 8, 8, and 6) This is a most unpleasant patch. Once an imp starts to attack, he won't stop. Fireball after fireball, scratch after scratch. This can be done with other monsters as well. Note that the optional duration change will make the imps' attacks extremely fast. It is essentially the equivalent of arming them with infinite-range infinite-ammo flame throwers. See no evil, hear no evil All monsters and monsters' projectiles: * All sounds: 0 * Bit 3: On * Bit 18: Off (if it was on) This variation of the sneaky imps patch effectively renders all monsters invisible and silent. You won't even see their fireballs coming. This is great if you can use cheat codes- you'll need them. Barrels become land mines Thing 31 (barrel): * Width: 1 (was 10) * Height: 1 (was 42) * Bit 3 (total invisibility): On (was off) * Bits 1 (obstacle) and 2 (shootable thing): Off (were on) * Attack sound: 82 (explosion) (was 0) * First normal frame: 442 (imp's) (was 806) * First moving frame: 444 (imp's) (was 0) * Close attack frame: 127 or 808 (was 0) * Death frame: 0 (was 808) These invisible mines (think of them as being buried) will go off the second you touch them. They will only react to you; monsters are unharmed unless a mine goes off near them. It doesn't matter which monster's frames you use for its first normal/moving frames, as long as they do belong to a monster (it must be "alert"). This effect can be done with other inanimate objects as well, but works especially well for the barrels. If you are unarmored, or have very little armor, and are at 100% health or less, stepping on a mine is fatal. If you have all the barrel locations memorized, this patch can be interesting. If not, it can be even more interesting. The mines do not respawn (the barrels don't), but they can be made to respawn by setting bit 22 (counts for kill %); this will make it impossible to pick up a 100% kill rating, even if you detonate every last one. 11. The dream arsenal ===================== Everyone must have the SUPRWEP6.DEH patch that comes with DHE 2.2, so I won't bother with it here (if you don't have it, get it- it makes all weapons really fast and gives you practically unlimited ammo). This section is for those weapons you've always wished for, but couldn't find; and for weapons you wished your enemies could have. Well, your problems are over. Count yer ammo, boys, we're goin' in! Rockets become hand grenades Thing 34 (rocket in flight): * Bit 9: Off (was on) * Speed: 40 (was 20) * First normal frame: Change to frame of something harmless-looking. But be sure that the grenade doesn't disappear as soon as it's launched (which it will, if you use the wrong frame- some have next frame set to 0 and duration of -1, which doesn't work). A health potion, armor helmet, or something small with animation that goes back and forth should be fine. Frame 822 (armor helmet) looks good. Text: * Offset 13664: "You got the grenade launcher!" (was "You got the rocket launcher!") This is best used, obviously, from a cliff or some high place, or when shooting at monsters above you. It has limited range, which is sometimes a nice feature. As soon as it hits the ground or some other target, it will explode. This is very useful when you're trying to hit monsters just around a corner, where otherwise a rocket would go on past them. Plasma gun becomes grenade launcher Thing 35 (plasma bullet): * Bit 9: Off (was on) * Speed: 40 (was 25) * missile damage: 10 (was 5) * Alert sound: 14 (was 8) * Death sound: 82 (was 17) * First normal frame: 816 (health potion), 822 (armor helmet), or something with similar animation (was 107) * Death frame: 127 (was 109) Weapon 6 (plasma gun) * Firing frame: 0 (was 79) Frame 77 (plasma gun shooting frame) * Duration: 15 (was 3) Text: * Offset 13696: "Got grenade launcher!" (was "You got the plasma gun!") Changing the plasma gun to a grenade launcher will give you rockets and grenades (insert evil laugh here). The change to the weapon itself is to eliminate the blue glare from firing plasma bullets. Changing the duration of frame 77 makes it take longer to fire the rounds. Favorite Patch: Plasma gun becomes flame thrower Thing 35 (plasma bullet): * Alert sound: 16 (was 8) * Death sound: 16 (was 17) * First normal frame: 99 (or 359 for brighter flames) (was 107) * Optional- Death frame: 127 (was 109) Frame 77 (plasma gun shooting frame): * Duration: 1 (was 3) Weapon 6 (plasma gun): * Max init. ammo: 1000 (was 300) * Ammo per item: 100 (was 20) * Firing frame: 0 (was 79) Text: * Offset 13696: "Got the flame thrower!" (was "You got the plasma gun!") This is based on a patch by Night Child that was created for DOOM 1.2. This version of mine is for v1.666, and it has several improvements. For one, it has longer range. Also, the sounds used in the older patch weren't as good (he used sound 22, made when floors and ceilings move- the new sound is the one made when an imp fires a fireball). The flame thrower, like a real one, has limited range, is hard to see around, and uses a lot of ammo. Also, if you get too close to a hit (my idea- notice that the death frame is now the rocket explosion's), the flames will burn you. Not good for use in close quarters. If you don't want the explosions (you don't need them), use frame 99 as the plasma bullet's death frame instead of 127. It will still hit with the strength of a plasma bullet. Enough of these "flames" will hit to make a big dent in your opposition. However, you may still want to increase its missile damage from 5 to 10 or more. The explosion will make mincemeat out of most enemies too quickly, but it will still be very dangerous without. To alter the range, you can use frames 100 or 101 as an alternate for the modified plasma bullet's first moving frame (100 is shorter range, 101 is very short), or you can change the durations of frames 99, 100, and/or 101. Or, alternatively, you could change the speed of the plasma bullet. Increasing frame duration will increase range (it will look best if frame 99's duration is increased the most); increasing bullet speed will also increase range. I recommend changing frame durations, with 99 having the longest duration, 101 the shortest (this will modify the imps' fireballs as well, but not in any important way). Troopers fire chainguns Thing 2 (trooper): * Far attack frame: 186 (was 184) Frame 184 (1st trooper attack frame): * Duration: 0 (was 10) * Code pointer: Frame 618 (end of spider boss attack) (was frame 184) Frame 185: * Duration: 4 (was 8) * Next frame: 184 (was 186) Frame 186: * Next frame: 184 (was 176) This patch is great if you've been wanting a little more challenge. The code pointer change allows troopers to stop firing if you leave their line of sight. Sergeants fire rockets Frame 218 (from sergeant attack): * Code pointer: Frame 685 (cyberdemon attack) (was frame 218) This one's simple enough. But they'll still only leave you with a shotgun when they die. 12. Wishes come true ==================== This section is to supplement the Fun With DeHackEd text file that comes with DHE 2.2. There is a wish list section which has ideas that are somewhat workable, but only with some really bizarre solutions. "Make any monster shoot fireballs" This is only possible via DHE 2.4 and older versions if you change the far attack frames for that monster to that of another monster that shoots fireballs (like an imp- frame 452 is good). But, unless your monster is totally invisible, it will look like its counterpart- even after the attack. It is also possible to create this effect another way, with DeHackEd 3.0. You simply change the code pointer of the frame in which the actual attack occurs to the code pointer for the attack you want to use. For example, the imp's attack frame is 454 (the previous two play the attack sound), and the trooper's is 185. To make the trooper shoot fireballs (or scratch you), change the code pointer for frame 185 to frame 454. "Star Trek 'Bird of Prey' effect...a 'cloaked' monster unless it attacks" This is completely impossible with a single monster. Bit settings can't be changed for a monster in-game. However, an effect like this can be simulated using a variation of the troopers' ghosts patch. If you were to make the trooper (thing #2) invisible (totally or partially) and make him die as soon as he attacked (try all death frames=0, far attack frame=127), and changed the ammo clip (thing #64) to be just like the trooper in every way except thing ID (although it wouldn't give you ammo clips when it died), then you could pull it off that way. Changing all the trooper's (the actual trooper, thing #2) sounds to 0 would enable him to sneak up on you first. However, this patch is pretty darn useless. I've tried it. Using frame 127 for far attack is the only way I know of to successfully kill the sucker so he can be replaced by his visible counterpart, and it will blast other bad guys around him to smithereens. Plus, it's not all that visually appealing. If that's what you want, you've got it. And a few wishes of my own... "Make weapons require resetting (like the shotgun)" I finally found out how to do this. Apparently there is a code pointer at the end of a weapon's shooting frame that allows it to shoot again. In the shotgun and fist, the frame with this code pointer (for the shotgun, frame 29) is not reached until the end of the sequence. To make a weapon require resetting, just take some unused frames to use for the weapon's shooting frame, and make the last one use that particular code pointer. Then go to the original sequence, and once the actual shot frame is reached, change its next frame to jump to your new hijacked frames. Example Frame 270 (or any unused frame with a code pointer): * Use "C" key to copy all info from frame 78, including code pointer Frame 78 (2nd plasma gun shooting frame): * Next frame: 270 (or whatever you used) (was 1) * Code pointer: Frame 77 (was frame 78) This makes the plasma gun fire two shots and makes it take longer to reset. Before, it only had to go through 3 units of time for frame 77 before reaching the code pointer in 78 that reset it. Now, it has to go through another 20 units of time for frame 78, before reaching the code pointer in frame 270. 13. Why can't I... ================== The answers to some common questions about what DHE can and can't do. Unfortunately, this section is longer than most people would like. ...Make ammo boxes explode when shot? This would be a cool patch, true. I even tried to implement it for this file. If thing #65's (the ammo box) death frame were changed to 127, its hit points to about 20, death sound to 82 (explosion), and bit 2 (shootable thing) turned on, it should work, right? Wrong. Bit 0 (gettable thing) spoils it all. If you are to be able to pick up the ammo in the box, this bit must remain on. But, what you get depends on what sprite is being displayed. When it's displaying the ammo box sprite, no problem. But the sprites for frames 127-129 (the explosion sequence) are not gettable. If you walk into the explosion close enough to pick it up, the game will consider it an error and exit (or worse, lock up the system). ...Make imps shoot health potions? Again, this would have been a nice patch, one that I tried to do myself. But alas, the gettable thing bit is not quite to blame this time: Bit 4 (automatics/can't be hit) is the culprit. It must be turned on for items such as fireballs- otherwise the game locks up. This bit will prevent you from picking up a fireball, even if its first normal and death frames are changed to 816 (health potion) and bit 0 (gettable thing) is set. So, you'll just have to change regular inanimate objects into health potions instead. I should note that it is possible, if you mess around with the things long enough, to get some semblance of a patch. I did manage once to do this, though I don't remember how, but picking up the potions was not automatic; you had to walk into it. Peter Schmidt also suggested to me that this could be done by redefining lost souls as health potions, then, for the imp fireballs, use frame 711 (the DOOM II pain elemental) that fires lost souls with its code pointer (just redefine the sprite number it uses to show something in the DOOM.WAD file, change the duration to 0, and the next frame to 0). That gives the same result. Both methods are a little too shabby for my taste. ...Shoot rockets in flight? "But the Fun With DeHackEd file says..." Forget it. It can't be done. Not properly, anyway. If you turn off bit 4 as required, you'll have a major bug and the game will crash. Turning off bit 4 is the surest way I know of (now that code pointers are relatively stable) to crash the game. ...Use negative missile damage to make projectiles help you instead of hurt you? Try it. For me, the colors on the screen started cycling like mad, which probably indicates that something has gone seriously wrong in the game data. Sometimes it works right, other times weird effects happen, like monsters flying backwards (this from the Fun With DeHackEd file- no observation of that done on my part). It was a nice thought, though. ...Make anything explode or shoot fireballs or such by changing the code pointer on the frame? In DHE 2.4 and earlier versions, the code pointer in the frame editor has no real value. It is used as a dummy for the game. If it is 0, it must stay 0 or the game will lock up. If it is nonzero, you can change it to anything but 0 without effect. DHE 3.0 allows code pointer editing within limits, by finding the locations of the real code pointers and editing those instead. ...Light up dark sectors with plasma bullets and such? In the wish list section of the Fun With DeHackEd text file, Evan Bynum asked about this. "IDEA: somehow mix lamp's behavior with plasma bullets?" Sorry, Evan, it can't be done. The lamp has no such behavior. DOOM has absolutely no true light sourcing. The most you will see are a few sectors in your view lighting up when you fire a weapon. That's it. Most of the lighting done around lamps, when it's done at all, is done artificially with special sectors around the lamp. To see that I'm right about the lamps, try out episode 1, mission 3 of DOOM (at easy difficulty). When you grab the blue key and the lights go out, you can see that the lamps in the area do nothing whatsoever to help you see, although you can still see them. They're only there as landmarks, so you can find your way out in the dark. The bright sprite entry in their frames is set, so they can be seen in total darkness, but they won't illuminate anything. ...Have things that can be shot at but never die? You'd need infinite hit points to do that. The closest you can get is to set the hit points as high as they can go. The only way for an object never to die is to turn off bit 2 (shootable thing), and then you can't shoot at it. It's a trade-off. There is some controversy, though, over what happens when you use multiple player-one starts. If anyone has had the definitive word on the subject, I have yet to hear it. Mostly it's a lot of blather about nothing, but some vaguely state that it's possible to kill a clone of yourself to the point where you become invincible, until you pick up more health. Very vampire-like, isn't it? 14. What I can't tell you ========================= Well, the truth is out. I don't know everything about DeHackEd or DOOM. There are a few things I'd love to know, such as... * What other weapons may be possible * Nobody else say a boomerang- that one's only remotely possible, and it doesn't work too well * If there are any other really great patches out there (no FTP sites, please; just send me a full description of how it's made and how it works) * Why id made the WAD files so big and then crippled them with sprite/flat limitations and put some information in the EXE file, requiring DHE to exist in the first place (I'm a game programmer, and as such I figure it has something to do with speed, but that's a lame argument- it could still all be put into a WAD somehow) * Why id decided to make redundant code pointers and disallowed use of them altogether in certain frames * If there are more locations in the EXE file itself that DHE doesn't know about that control things like explosion radius and damage, and why those explosions don't seem to hurt bigger enemies like the cyberdemon * What you think about this page If you know something I don't, write me. The same goes if you have a new idea for some special effect, or if you see something that belongs on this page but isn't, or even if you have a question (but please read the text files that come with DeHackEd first and see if they can help). Good or thought-provoking questions are especially welcome. If I get enough, maybe I'll put them in a section on this page. When in doubt, check out the DeHackEd manual and the Fun With DeHackEd files that come with DHE. There is information about a lot of things and answers to some very common questions, as well as a few ideas, some of which made it here, others that didn't. The Fun With DeHackEd file is not quite as clear or coherent as this one, but what do you expect from a multiple-author open-edit document? And remember, I didn't write DeHackEd; Greg Lewis did. He's probably as interested in your ideas, questions, and suggestions as I am, and maybe he can tell you something I can't. Converters note: The WWW page contains a lot of pictures and links that don't translate easily to ASCII. This was the best I could do given the limited time I have to spend on this. Converter: Jens Hykkelbjerg (hykkelbj@daimi.aau.dk) DOOM is a trademark of id Software. Lee Gaiteri (a.k.a. Lummox JR) / LummoxJR@aol.com