DeHackEd

From DoomWiki.org

(Redirected from DEHACKED)
DeHackEd
Dhe31 start.png

DeHackEd 3.0 and 3.1 splash screen.

Developer(s) Greg Lewis (Tree)
Initial release 1.0 (1994-06-19, 30 years ago)
Latest release 3.0a (1995-09-04, 29 years ago)
Development status Discontinued
Written in C++
Target platform DOS

DeHackEd (or DHE for short) is an editor originally created for vanilla Doom that allows the operation of the executable to be changed. It was developed by Greg Lewis (Tree). Hit points, sounds, frame sequences, text strings and several other miscellaneous values can be changed. Modifications can be distributed in the form of DeHackEd "patches" which can be applied to the executable. In order to do this, DeHackEd has the ability to generate an exact copy of the Doom or Doom II executable, which by default is called doomhack.exe.

The most common patches add fast monsters and weapons, player-seeking self-detonating barrels, and so on. However, more balanced and artistic modifications can and have been made. Even though many advanced effects can be achieved with DeHackEd, it does not offer the complete flexibility that a custom source port can provide. Monster AI and armor classes are fixed for example.

Older DeHackEd patches use a binary format of data to be applied to an executable file using the DeHackEd patching utility. Later versions of DeHackEd save their patches in a human-readable plain text format that can be edited with any text editor.

Editing Doom text strings

Boom included the ability to load DeHackEd patches and affect changes to the game upon startup without any modification to the executable file. Other source ports added similar functionality, and command-line loadable DeHackEd support is now common with most modern source ports. Boom also provided the BEX (Boom EXtended) extensions for DeHackEd support. BEX allows greater flexibility in string editing, application of code pointers to any frame, and extra code pointers.

Another extension to DeHackEd editing targeted at source ports later emerged in the form of the DEHEXTRA standard, which specifies additional things, sprites, frames, and sounds which are available with specified numbers and are unused by default, allowing the addition of entirely new objects without replacing the game's built-in content.

History[edit]

  • v1.0 was released around June 19, 1994. It is the first release.
  • v1.1
  • v1.2 was released around June 24, 1994.
  • v1.3 was released around July 1, 1994.
  • v2.0 (beta) was released around August 24, 1994.
  • v2.0 was released on September 12, 1994.[1]
  • v2.1 was released on November 2, 1994.[2]
  • v2.2 was released on December 14, 1994.[3]
  • v2.3 was released on February 26, 1995.[4]
  • v2.4 was released around May 14, 1995.
  • v3.0 was released on August 29, 1995.[5]
  • v3.0a was released on September 4, 1995. It is the final release of DeHackEd by Greg Lewis.

Also, a separate version was created by John A. Kaczmarski Jr. for Final Doom. It was released as v3.1 on February 26, 1997. However, it is based on DeHackEd v2.3 and therefore lacks some of the features of the newer versions.

DoomHack[edit]

Besides being the default name of the executable DeHackEd generates as a copy of the Doom II executable, DoomHack, stylized as DOOMHACK.EXE is also an umbrella moniker to describe any custom executable that applies a DeHackEd patch to the Doom executable, commonly that of Doom II. However, the shareware release of Doom may also be used when a user wants to create a patch. In DeHackEd's INI file, one can specify a custom name for the resulting executable, set by the user.

Several WADs, primarily those released as partial conversions and total conversions such as Hacx, Mordeth and Strain, use either custom installer programs or primitive batch files to apply their .deh patch to a copy of the Doom II executable. This is done through the main DeHackEd program in conjunction with DeuSF and NWT to append extra flats and textures to the patch, but can also be used to simply merge the patch and the executable together. These installers also changed the resulting executables to a custom name to distinguish them from the main Doom or Doom II executable. Not every batch file or installer did this, however, or confusingly changed the DeHackEd exectuable back to Doom II.

This method was the primary means of modifying the engine before the existence of source ports, as nowadays the user simply loads the .deh patch alongside their port of choice, negating the use of a custom DeHackEd engine.

Supplying a modified DeHackEd doomhack executable with a release instead of relying on an installer/batch file or an instruction (or a combination of these) did also exist and was (and is) considered illegal due to it relying on id Software's executables. Supplying a patch instead avoids this by including only a minimum amount of novel information to apply to the original file and requiring the end user to possess the original. This also leaves the choice to the end user whether to play it in a source port or on vanilla Doom.

In the present day, for those projects that target pure vanilla Doom/DOS executable compatibility, DoomHack may still be used. Because of this, and because of its prior function as a means to modify the engine, DoomHack can be seen as a predecessor to the later source ports, that made modifications possible before the Doom source code was released.

VULD[edit]

Main article: VULD

The launcher VULD makes heavy use of DoomHack to automatically apply DeHackEd patches and graphics from PWADs to a new executable that can also be automatically renamed using the name of the patch as its template.

DEHACKED lump[edit]

In 1998, MBF introduced embedded DeHackEd patches in the form of the DEHACKED lump, which could be supplied inside the WAD file. Support for this lump has since become standard among source ports.

Reference tables[edit]

Thing numbers[edit]

Editing thing properties

When modifying things in DeHackEd, each thing type has an associated number. These correspond to the index in the thing info table inside the executable (mobjinfo found in info.c in the Doom source code). This number is different from the DoomEd number used to identify things when editing levels. Note that the DeHackEd index starts at 1, while the mobjinfo table index starts at 0.

For convenience, the table also lists the default DoomEd number associated to each thing, as well as the names used in popular editors, the identifier used in the Doom source code, and the corresponding ZDoom class name (which are used in UMAPINFO) and their DECOHack "Friendly" Mnemonics.

Thing number DeHackEd name DoomEd Doom Builder name SLADE name Identifier ZDoom class DECOHack Mnemonics
1 Player MT_PLAYER DoomPlayer MTF_PLAYER
2 Trooper 3004 Former Human Former Human MT_POSSESSED ZombieMan MTF_ZOMBIEMAN
3 Sargeant 9 Former Sergeant Former Human Sergeant MT_SHOTGUY ShotgunGuy MTF_SHOTGUNGUY
4 Archvile 64 Archvile Arch-Vile MT_VILE Archvile MTF_ARCHVILE
5 Archvile Attack MT_FIRE ArchvileFire MTF_ARCHVILE_FIRE
6 Revenant 66 Revenant Revenant MT_UNDEAD Revenant MTF_REVENANT
7 Revenant Fireball MT_TRACER RevenantTracer MTF_REVENANT_ROCKET
8 Fireball Trail MT_SMOKE RevenantTracerSmoke MTF_REVENANT_ROCKET_TRAIL
9 Mancubus 67 Mancubus Mancubus MT_FATSO Fatso MTF_MANCUBUS
10 Mancubus Fireball MT_FATSHOT FatShot MTF_MANCUBUS_FIREBALL
11 Chaingun Sargeant 65 Chaingunner Chaingunner MT_CHAINGUY ChaingunGuy MTF_CHAINGUNNER
12 Imp 3001 Imp Imp MT_TROOP DoomImp MTF_IMP
13 Demon 3002 Demon Demon MT_SERGEANT Demon MTF_DEMON
14 Spectre 58 Spectre Spectre MT_SHADOWS Spectre MTF_SPECTRE
15 Cacodemon 3005 Cacodemon Cacodemon MT_HEAD Cacodemon MTF_CACODEMON
16 Baron of Hell 3003 Baron of Hell Baron of Hell MT_BRUISER BaronOfHell MTF_BARON
17 Baron Fireball MT_BRUISERSHOT BaronBall MTF_BARON_FIREBALL
18 Hell Knight 69 Hell Knight Hell Knight MT_KNIGHT HellKnight MTF_HELLKNIGHT
19 Lost Soul 3006 Lost Soul Lost Soul MT_SKULL LostSoul MTF_LOSTSOUL
20 Spiderdemon 7 Spider Mastermind Spider Mastermind MT_SPIDER SpiderMastermind MTF_SPIDERMASTERMIND
21 Arachnotron 68 Arachnotron Arachnotron MT_BABY Arachnotron MTF_ARACHNOTRON
22 Cyberdemon 16 Cyberdemon Cyberdemon MT_CYBORG Cyberdemon MTF_CYBERDEMON
23 Pain Elemental 71 Pain Elemental Pain Elemental MT_PAIN PainElemental MTF_PAINELEMENTAL
24 SS Nazi 84 Wolfenstein SS Wolfenstein 3D SS MT_WOLFSS WolfensteinSS MTF_SSNAZI
25 Commander Keen 72 Commander Keen Hanging Keen MT_KEEN CommanderKeen MTF_COMMANDERKEEN
26 Big Brain 88 Icon of Sin Boss Brain MT_BOSSBRAIN BossBrain MTF_BOSSBRAIN
27 Demon Spawner 89 Monster Spawner Boss Shooter MT_BOSSSPIT BossEye MTF_DEMONSPAWNER
28 Demon Spawn Spot 87 Monster Target Boss Spawn Spot MT_BOSSTARGET BossTarget MTF_DEMONSPAWNER_TARGET
29 Demon Spawn Cube MT_SPAWNSHOT SpawnShot MTF_SPAWNCUBE
30 Demon Spawn Fire MT_SPAWNFIRE SpawnFire MTF_SPAWNFIRE
31 Barrel 2035 Barrel Barrel MT_BARREL ExplosiveBarrel MTF_BARREL
32 Imp Fireball MT_TROOPSHOT DoomImpBall MTF_IMP_FIREBALL
33 Caco Fireball MT_HEADSHOT CacodemonBall MTF_CACODEMON_FIREBALL
34 Rocket (in air) MT_ROCKET Rocket MTF_ROCKET
35 Plasma Bullet MT_PLASMA PlasmaBall MTF_PLASMA_BALL
36 BFG Shot MT_BFG BFGBall MTF_BFG_BALL
37 Arachnotron Fireball MT_ARACHPLAZ ArachnotronPlasma MTF_ARACHNOTRON_PLASMA
38 Bullet Puff MT_PUFF BulletPuff MTF_BULLETPUFF
39 Blood Splat MT_BLOOD Blood MTF_BLOOD
40 Teleport Flash MT_TFOG TeleportFog MTF_TELEPORT_FOG
41 Item Respawn Fog MT_IFOG ItemFog MTF_ITEM_RESPAWN_FOG
42 Teleport Exit 14 MT_TELEPORTMAN TeleportDest MTF_TELEPORT_EXIT
43 BFG Hit MT_EXTRABFG BFGExtra MTF_BFG_TRACER
44 Green Armor 2018 Green armor Green Armour MT_MISC0 GreenArmor MTF_ARMOR_GREEN
45 Blue Armor 2019 Blue armor Blue Armour MT_MISC1 BlueArmor MTF_ARMOR_BLUE
46 Health Potion 2014 Health bonus Health Potion MT_MISC2 HealthBonus MTF_HEALTH_BONUS
47 Armor Helmet 2015 Armor bonus Armour Helmet MT_MISC3 ArmorBonus MTF_ARMOR_BONUS
48 Blue Keycard 5 Blue keycard Blue Keycard MT_MISC4 BlueCard MTF_KEYCARD_BLUE
49 Red Keycard 13 Red keycard Red Keycard MT_MISC5 RedCard MTF_KEYCARD_RED
50 Yellow Keycard 6 Yellow keycard Yellow Keycard MT_MISC6 YellowCard MTF_KEYCARD_YELLOW
51 Yellow Skull Key 39 Yellow skullkey Yellow Skull Key MT_MISC7 YellowSkull MTF_SKULLKEY_YELLOW
52 Red Skull Key 38 Red skullkey Red Skull Key MT_MISC8 RedSkull MTF_SKULLKEY_RED
53 Blue Skull Key 40 Blue skullkey Blue Skull Key MT_MISC9 BlueSkull MTF_SKULLKEY_BLUE
54 Stim Pack 2011 Stimpack Stimpack MT_MISC10 Stimpack MTF_STIMPAK
55 Medical Kit 2012 Medikit Medikit MT_MISC11 Medikit MTF_MEDIKIT
56 Soul Sphere 2013 Soulsphere Soul Sphere MT_MISC12 Soulsphere MTF_SOULSPHERE
57 Invulnerability 2022 Invulnerability Invulnerability Sphere MT_INV InvulnerabilitySphere MTF_INVULNERABILITY
58 Berserk Sphere 2023 Berserk Berserk Pack MT_MISC13 Berserk MTF_BERSERK
59 Blur Sphere 2024 Invisibility Partial Invisibility Sphere MT_INS BlurSphere MTF_PARTIALINVISIBILITY
60 Radiation Suit 2025 Radiation suit Radiation Shielding Suit MT_MISC14 RadSuit MTF_RADSUIT
61 Computer Map 2026 Computer map Computer Area Map MT_MISC15 Allmap MTF_COMPUTERMAP
62 Lite Amplification Visor 2045 Lite Amplification goggles Lite-Amp Goggles MT_MISC16 Infrared MTF_LIGHTAMP
63 Mega Sphere 83 Megasphere Megasphere MT_MEGA Megasphere MTF_MEGASPHERE
64 Ammo Clip 2007 Ammo clip Ammo Clip MT_CLIP Clip MTF_AMMO_BULLETS
65 Box of Ammo 2048 Box of Ammo Box of Ammo MT_MISC17 ClipBox MTF_AMMO_BULLETS_BOX
66 Rocket 2010 Rocket Rocket MT_MISC18 RocketAmmo MTF_AMMO_ROCKET
67 Box of Rockets 2046 Box of Rockets Box of Rockets MT_MISC19 RocketBox MTF_AMMO_ROCKET_BOX
68 Energy Cell 2047 Cell charge Energy Cell MT_MISC20 Cell MTF_AMMO_CELLS
69 Energy Pack 17 Cell charge pack Energy Pack MT_MISC21 CellPack MTF_AMMO_CELLS_BOX
70 Shells 2008 Shotgun shells Shotgun Shells MT_MISC22 Shell MTF_AMMO_SHELLS
71 Box of Shells 2049 Box of Shells Box of Shells MT_MISC23 ShellBox MTF_AMMO_SHELLS_BOX
72 Backpack 8 Backpack Backpack MT_MISC24 Backpack MTF_BACKPACK
73 BFG 9000 2006 BFG9000 BFG9000 MT_MISC25 BFG9000 MTF_BFG
74 Chaingun 2002 Chaingun Chaingun MT_CHAINGUN Chaingun MTF_CHAINGUN
75 Chainsaw 2005 Chainsaw Chainsaw MT_MISC26 Chainsaw MTF_CHAINSAW
76 Rocket Launcher 2003 Rocket launcher Rocket Launcher MT_MISC27 RocketLauncher MTF_ROCKETLAUNCHER
77 Plasma Gun 2004 Plasma gun Plasma Gun MT_MISC28 PlasmaRifle MTF_PLASMARIFLE
78 Shotgun 2001 Shotgun Shotgun MT_SHOTGUN Shotgun MTF_SHOTGUN
79 Super Shotgun 82 Super Shotgun Super Shotgun MT_SUPERSHOTGUN SuperShotgun MTF_SUPERSHOTGUN
80 Tall Lamp 85 Tall techno floor lamp Tall Techno Lamp MT_MISC29 TechLamp MTF_LAMP_TALL
81 Tall Lamp 2 86 Short techno floor lamp Short Techno Lamp MT_MISC30 TechLamp2 MTF_LAMP_TALL2
82 Short Lamp 2028 Floor lamp Yellow Lamp MT_MISC31 Column MTF_LAMP_SHORT
83 Tall Green Pillar 30 Tall green pillar Tall Green Pillar MT_MISC32 TallGreenColumn MTF_PILLAR_GREEN_TALL
84 Short Green Pillar 31 Short green pillar Short Green Pillar MT_MISC33 ShortGreenColumn MTF_PILLAR_GREEN_SHORT
85 Tall Red Pillar 32 Tall red pillar Tall Red Pillar MT_MISC34 TallRedColumn MTF_PILLAR_RED_TALL
86 Short Red Pillar 33 Short red pillar Short Red Pillar MT_MISC35 ShortRedColumn MTF_PILLAR_RED_SHORT
87 Pillar with Skull 37 Shrot red pillar (skull) Red Pillar + Skull MT_MISC36 SkullColumn MTF_PILLAR_SKULL
88 Pillar with Heart 36 Short green pillar (beating heart) Pillar + Pumping Heart MT_MISC37 HeartColumn MTF_PILLAR_HEART
89 Eye in Symbol 41 Evil Eye Evil Eye MT_MISC38 EvilEye MTF_EVIL_EYE
90 Flaming Skulls 42 Floating skull rock Flaming Skulls MT_MISC39 FloatingSkull MTF_FLOATING_SKULLS
91 Grey Tree 43 Gray tree Short Grey Tree MT_MISC40 TorchTree MTF_TREE_SMALL
92 Tall Blue Torch 44 Tall blue firestick Tall Blue Torch MT_MISC41 BlueTorch MTF_TORCH_TALL_BLUE
93 Tall Green torch 45 Tall green firestick Tall Green Torch MT_MISC42 GreenTorch MTF_TORCH_TALL_GREEN
94 Tall Red Torch 46 Tall red firestick Tall Red Torch MT_MISC43 RedTorch MTF_TORCH_TALL_RED
95 Small Blue Torch 55 Short blue firestick Short Blue Torch MT_MISC44 ShortBlueTorch MTF_TORCH_SMALL_BLUE
96 Small Green Torch 56 Short green firestick Short Green Torch MT_MISC45 ShortGreenTorch MTF_TORCH_SMALL_GREEN
97 Small Red Torch 57 Short red firestick Short Red Torch MT_MISC46 ShortRedTorch MTF_TORCH_SMALL_RED
98 Brown Stub 47 Stalagmite Tree Stump MT_MISC47 Stalagtite MTF_STALAGMITE
99 Technical Column 48 Tall techno pillar Tech Column MT_MISC48 TechPillar MTF_TECHCOLUMN
100 Candle 34 Candle Candle MT_MISC49 Candlestick MTF_CANDLE
101 Candelabra 35 Candelabra Candelabra MT_MISC50 Candelabra MTF_CANDELABRA
102 Swaying Body 49 Hanging victim, twitching (blocking) Hanging Swaying Body (Blocking) MT_MISC51 BloodyTwitch MTF_SWAYING_BODY
103 Hanging Arms Out 50 Hanging victim, arms out (blocking) Hanging Body Arms Out (Blocking) MT_MISC52 Meat2 MTF_HANGING_BODY_ARMS
104 One-legged Body 51 Hanging victim, 1-legged (blocking) Hanging One-legged Body (Blocking) MT_MISC53 Meat3 MTF_ONE_LEGGED_BODY
105 Hanging Torso 52 Hanging pair of legs (blocking) Hanging Legs (Blocking) MT_MISC54 Meat4 MTF_HANGING_TORSO
106 Hanging Leg 53 Hanging leg (blocking) Hanging Leg (Blocking) MT_MISC55 Meat5 MTF_HANGING_LEG
107 Hanging Arms Out2 59 Hanging victim, arms out Hanging Body Arms Out MT_MISC56 NonsolidMeat2 MTF_HANGING_BODY_ARMS2
108 Hanging Torso 2 60 Hanging pair of legs Hanging Legs MT_MISC57 NonsolidMeat4 MTF_HANGING_TORSO2
109 One-legged Body 2 61 Hanging victim, 1-legged Hanging One-legged Body MT_MISC58 NonsolidMeat3 MTF_ONE_LEGGED_BODY2
110 Hanging Leg 2 62 Hanging leg Hanging Leg MT_MISC59 NonsolidMeat5 MTF_HANGING_LEG2
111 Swaying Body 2 63 Hanging victim, twitching Hanging Swaying Body MT_MISC60 NonsolidTwitch MTF_SWAYING_BODY2
112 Dead Cacodemon 22 Dead cacodemon Dead Cacodemon MT_MISC61 DeadCacodemon MTF_CACODEMON_DEAD
113 Dead Marine 15 Dead player Dead Player MT_MISC62 DeadMarine MTF_PLAYER_DEAD
114 Dead Trooper 18 Dead former human Dead Former Human MT_MISC63 DeadZombieMan MTF_ZOMBIEMAN_DEAD
115 Dead Demon 21 Dead demon Dead Demon MT_MISC64 DeadDemon MTF_DEMON_DEAD
116 Dead Lost Soul 23 Dead lost soul Dead Lost Soul MT_MISC65 DeadLostSoul MTF_LOSTSOUL_DEAD
117 Dead Imp 20 Dead imp Dead Imp MT_MISC66 DeadDoomImp MTF_IMP_DEAD
118 Dead Sargeant 19 Dead former sergeant Dead Former Human Sergeant MT_MISC67 DeadShotgunGuy MTF_SHOTGUNGUY_DEAD
119 Guts and Bones 10 Bloody mess 1 Guts and Bones MT_MISC68 GibbedMarine MTF_PLAYER_GUTS
120 Guts and Bones 2 12 Bloody mess 2 Guts and Bones 2 MT_MISC69 GibbedMarineExtra MTF_PLAYER_GUTS2
121 Skewered Heads 28 5 skulls shish kebob Heads on Pole MT_MISC70 HeadsOnAStick MTF_HEAD_SKEWER
122 Pool of Blood 24 Pool of blood and bones Pool of Blood MT_MISC71 Gibs MTF_BLOOD_POOL
123 Pole with Skull 27 Skull on a pole Skull on Pole MT_MISC72 HeadOnAStick MTF_HEAD_POLE
124 Pile of Skulls 29 Pile of skulls and candles Pile of Skulls MT_MISC73 HeadCandles MTF_SKULL_PILE
125 Impaled Body 25 Impaled human Impaled Body MT_MISC74 DeadStick MTF_ZOMBIE_SKEWER
126 Twitching Body 26 Twitching impaled human Impaled Body (Twitching) MT_MISC75 LiveStick MTF_ZOMBIE_SKEWER_TWITCH
127 Large Tree 54 Large brown tree Large Brown Tree MT_MISC76 BigTree MTF_TREE_LARGE
128 Flaming Barrel 70 Burning barrel Burning Barrel MT_MISC77 BurningBarrel MTF_BARREL_FLAMING
129 Hanging Body 1 73 Hanging victim, guts removed Hanging Body, Guts Removed MT_MISC78 HangNoGuts MTF_HANGING_BODY
130 Hanging Body 2 74 Hanging victim, guts and brain removed Hanging Body, Guts & Brain Removed MT_MISC79 HangBNoBrain MTF_HANGING_BODY2
131 Hanging Body 3 75 Hanging torso, looking down Hanging Torso, Looking Down MT_MISC80 HangTLookingDown MTF_HANGING_BODY3
132 Hanging Body 4 76 Hanging torso, open skull Hanging Torso, Open Skull MT_MISC81 HangTSkull MTF_HANGING_BODY4
133 Hanging Body 5 77 Hanging torso, looking up Hanging Torso, Looking Up MT_MISC82 HangTLookingUp MTF_HANGING_BODY5
134 Hanging Body 6 78 Hanging torso, brain removed Hanging Torso, Brain Removed MT_MISC83 HangTNoBrain MTF_HANGING_BODY6
135 Pool Of Blood 1 79 Pool of blood and guts Pool of Blood 2 MT_MISC84 ColonGibs MTF_BLOOD_POOL_SMALL
136 Pool Of Blood 2 80 Pool of blood Pool of Blood 3 MT_MISC85 SmallBloodPool MTF_BLOOD_POOL_TINY
137 Brains 81 Pool of brains Pool of Brains MT_MISC86 BrainStem MTF_BRAIN
Thing number Usage DoomEd Doom Builder name SLADE name Identifier ZDoom class DECOHack Mnemonics
Boom things
138 Point pusher 5001 MT_PUSH PointPusher MTF_PUSHER
139 Point pulller 5002 MT_PULL PointPuller MTF_PULLER
MBF things
140 Helper dog 888 MT_DOGS MBFHelperDog MTF_HELPER_DOG
141 Green plasma MT_PLASMA1 PlasmaBall1 MTF_BFG_PLASMA1
142 Red plasma MT_PLASMA2 PlasmaBall2 MTF_BFG_PLASMA2
143 Evil sceptre 2016 MT_SCEPTRE EvilSceptre MTF_SCEPTRE
144 Unholy bible 2017 MT_BIBLE UnholyBible MTF_BIBLE
PrBoom+ things
145 MUSINFO music spot 14164 MT_MUSICSOURCE MusicChanger MTF_MUSICSOURCE
Doom Retro things
146 MTF_GIBDTH
147 MTF_BLUEBLOOD
148 MTF_GREENBLOOD
149 MTF_FUZZYBLOOD
150 MTF_TRAIL
DEHEXTRA things
151 MT_EXTRA00 Deh_Actor_150 MTF_EXTRA00
[...]
250 MT_EXTRA99 Deh_Actor_249 MTF_EXTRA99
ID24 things
-1879048192 Ghoul -28672
-1879048191 Banshee -28671
-1879048190 Mindweaver -28670
-1879048189 Shocktrooper -28669
-1879048188 Vassago -28668
-1879048187 Tyrant -28667
-1879048186 Tyrant (Boss 1) -28666
-1879048185 Tyrant (Boss 2) -28665
-1879048184 Incinerator Flame
-1879048183 Heatwave Spawner
-1879048182 Heatwave Ripper
-1879048181 Ghoul Ball
-1879048180 Shocktrooper Head
-1879048179 Shocktrooper Torso
-1879048178 Vassago Flame
-1879048177 Stalagmite (gray) -28664
-1879048176 Large corpse pile -28663
-1879048175 Human BBQ 1 -28662
-1879048174 Human BBQ 2 -28661
-1879048173 Hanging victim, both legs -28660
-1879048172 Hanging victim, both legs (blocking) -28659
-1879048171 Hanging victim, crucified -28658
-1879048170 Hanging victim, crucified (blocking) -28657
-1879048169 Hanging victim, arms bound -28656
-1879048168 Hanging victim, arms bound (blocking) -28655
-1879048167 Hanging baron of Hell -28654
-1879048166 Hanging baron of Hell (blocking) -28653
-1879048165 Hanging victim, chained -28652
-1879048164 Hanging victim, chained (blocking) -28651
-1879048163 Hanging torso, chained -28650
-1879048162 Hanging torso, chained (blocking) -28649
-1879048161 Skull pole trio -28648
-1879048160 Skull gibs -28647
-1879048159 Bush, short -28646
-1879048158 Bush, short burned 1 -28645
-1879048157 Bush, short burned 2 -28644
-1879048156 Bush, tall -28643
-1879048155 Bush, tall burned 1 -28642
-1879048154 Bush, tall burned 2 -28641
-1879048153 Cave rock column -28640
-1879048152 Cave stalagmite, large -28639
-1879048151 Cave stalagmite, medium -28638
-1879048150 Cave stalagmite, small -28637
-1879048149 Cave stalactite, large -28636
-1879048148 Cave stalactite, large (blocking) -28635
-1879048147 Cave stalactite, medium -28634
-1879048146 Cave stalactite, medium (blocking) -28633
-1879048145 Cave stalactite, small -28632
-1879048144 Cave stalactite, small (blocking) -28631
-1879048143 Office chair -28630
-1879048142 Office lamp (breakable) -28629
-1879048141 Ceiling lamp -28628
-1879048140 Candelabra (short) -28627
-1879048139 Ambient Klaxon -28626
-1879048138 Ambient Portal Open -28625
-1879048137 Ambient Portal Loop -28624
-1879048136 Ambient Portal Close -28623
-1879048135 Fuel Can -28622
-1879048134 Fuel Tank -28621
-1879048133 Heatwave Generator -28620
-1879048132 Incinerator -28619

Code pointers[edit]

Player code pointers[edit]

Frame # Pointer # BEX equivalent Function
1 187520 A_Light0 Light restore (after flash)
2 185392 A_WeaponReady Weapon bobbing pointer
3 185808 A_Lower Weapon select pointer
4 185872 A_Raise Weapon deselect pointer
6 186000 A_Punch Player punch
9 185648 A_ReFire If fire button is held, jumps back to first shooting frame instead of frame with this pointer
14 186832 A_FirePistol Player pistol shot
17 187536 A_Light1 Light flash (dim)
22 186960 A_FireShotgun Player shotgun blast
31 187552 A_Light2 Light flash (bright)
36 187120 A_FireShotgun2 Player super shotgun blast
38 185760 A_CheckReload Check shells (if 1 or 0 left, skip reloading frames and select different weapon)
39 166848 A_OpenShotgun2 Play sound DBOPN
41 166864 A_LoadShotgun2 Play sound DBLOAD
43 166880 A_CloseShotgun2 Play sound DBCLS
52 187312 A_FireCGun Player chaingun shot (check ammo; do not go to -1 ammo, change weapon)
60 185936 A_GunFlash Display firing frame
61 186432 A_FireMissile Player launch rocket
71 186176 A_Saw Player use chainsaw
77 186528 A_FirePlasma Player fire plasma bullet
84 187744 A_BFGsound Play sound BFG
86 186480 A_FireBFG Player fire BFG shot

Monster / thing code pointers[edit]

Frame # Pointer # BEX equivalent Function
119 187568 A_BFGSpray BFG blast effect
127 166160 A_Explode Radius explosion
157 166112 A_Pain Play pain sound
159 167808 A_PlayerScream Play sound PLDETH or PDIEHI
160 166144 A_Fall Dead body mode
166 166096 A_XScream Play sound SLOP
174 161536 A_Look Wait to wake up
176 161744 A_Chase Standard monster walking code pointer
184 162224 A_FaceTarget Turn to face the direction of the current target
185 162320 A_PosAttack Zombieman pistol shot
190 165984 A_Scream Play death sound
243 164160 A_VileChase Arch-vile walking code pointer (check to resurrect monsters)
255 164496 A_VileStart Play sound VILATK
257 164704 A_VileTarget Create arch-vile flame on target, enable radius blast for frame 264
264 164784 A_VileAttack Target jumps in air, takes 20 points of damage
281 164512 A_StartFire Play sound FLAMEST
282 164576 A_Fire Continuously reposition arch-vile flame on target
285 164544 A_FireCrackle Play sound FLAME
316 163424 A_Tracer Revenant fireball homing & smoke trail code pointer
336 163808 A_SkelWhoosh Play sound SKESWG
338 163840 A_SkelFist Revenant punch, play sound SKEPCH if hit
341 163328 A_SkelMissile Launch revenant fireball with possible homing (and smoke trail) effect
376 164992 A_FatRaise Play sound MANATK
377 165024 A_FatAttack1 Launch two mancubus fireballs: one straight, one left
380 165152 A_FatAttack2 Launch two mancubus fireballs: one straight, one right
383 165280 A_FatAttack3 Launch two mancubus fireballs: one left, one right
397 166208 A_BossDeath Check for special sector lowering (666/667)
417 162592 A_CPosAttack Heavy weapon dude or Wolfenstein SS shoot chaingun, fires two successive hitscan pellets
419 162720 A_CPosRefire Check line of sight to stop firing
454 162896 A_TroopAttack Launch imp fireball or scratch at close range
487 163008 A_SargAttack Demon bite
506 163088 A_HeadAttack Launch cacodemon fireball or bite at close range
539 163232 A_BruisAttack Launch baron of Hell / Hell knight fireball or scratch at close range
590 165472 A_SkullAttack Lost soul attack
603 166784 A_Metal Play sound METAL & standard walking pointer
616 162448 A_SPosAttack Spiderdemon shoot chaingun (same as shotgun guy's attack), fires three hitscan pellets
618 162784 A_SpidRefire Check line of sight to stop firing
635 166816 A_BabyMetal Play sound BSPWLK & standard walking pointer
648 162848 A_BspiAttack Launch arachnotron plasma bullet
676 166752 A_Hoof Play sound HOOF & standard walking pointer
685 163184 A_CyberAttack Launch cyberdemon rocket
711 165888 A_PainAttack Spawn lost soul
718 165920 A_PainDie Spawn three or four lost souls & set body to dead
774 161440 A_KeenDie Check for special sector lowering (tag 666) and dead body mode
779 167008 A_BrainPain Play sound BOSPN
780 167024 A_BrainScream Play sound BOSDTH and create explosions (frames 799-801) at 320 units south from Romero's head at heights between 128 and 640 units
783 167312 A_BrainDie End level
785 166912 A_BrainAwake Play sound BOSSIT and initialize boss spawn spots list (game will crash if too many spots are present)
786 167328 A_BrainSpit Fire spawn cube - landing required on level or game will crash
787 167488 A_SpawnSound Play sound BOSCUB
788 167520 A_SpawnFly Check for spawn point (spawn monster other than former humans, cyberdemons or spiderdemons)
801 167184 A_BrainExplode Create explosion (frames 127 - 129)

Source port code pointers[edit]

Code pointer Type Function Source port
NULL - Zeroes out an existing code pointer Boom
A_Detonate Thing Similar to A_Explode, but uses the "missile damage" value of the calling actor instead of 128. MBF
A_Die Thing Causes the calling actor to be killed. MBF
A_Face Thing Sets the calling actor's angle to misc1 degrees. MBF
A_LineEffect Thing Performs the action of the misc1 linedef type, on tag misc2. MBF
A_Mushroom Thing Similar to A_Explode, but also throws "missile damage" fireballs (Mancubus projectiles affected by gravity) at misc1 angle, and misc2 speed. MBF
A_PlaySound Thing Plays sound index misc1, without attenuation is misc2 is set. MBF
A_RandomJump Thing Jump to state number misc1, with a probability indicated by misc2. MBF
A_Scratch Thing Melee attack dealing misc1 damage and playing sound index misc2. MBF
A_Spawn Thing Spawns a thing of type misc1 at the same position as the calling actor, but with a vertical offset of misc2. MBF
A_Stop Thing Nullifies the calling actor's velocity/momentum. MBF
A_Turn Thing Rotates the calling actor by misc1 degrees. MBF
A_BetaSkullAttack Thing Direct attack function that deals damage at range, no projectile or hitscan trace. MBF
A_FireOldBFG Weapon Shoots two plasma balls, one red and one green, while consuming one cell ammo. MBF
A_NailBomb Thing Similar to A_Explode, but also shoots 30 hitscan "nails" in a circle. SMMU
A_AddFlags Thing A flag manipulation function. MBF21
A_ClearTracer Thing Clears out the calling actor's tracer pointer. MBF21
A_FindTracer Thing A parameterized projectile aiming function. MBF21
A_HealChase Thing A parameterized arch-vile resurrection function. MBF21
A_JumpIfFlagsSet Thing A conditional state jump function. MBF21
A_JumpIfHealthBelow Thing A conditional state jump function. MBF21
A_JumpIfTargetCloser Thing A conditional state jump function. MBF21
A_JumpIfTargetInSight Thing A conditional state jump function. MBF21
A_JumpIfTracerCloser Thing A conditional state jump function. MBF21
A_JumpIfTracerInSight Thing A conditional state jump function. MBF21
A_MonsterProjectile Thing A parameterized monster projectile attack function. MBF21
A_MonsterBulletAttack Thing A parameterized monster hitscan attack function. MBF21
A_MonsterMeleeAttack Thing A parameterized monster melee attack function. MBF21
A_NoiseAlert Thing A non-attack function that alerts nearby monster. Taken from Strife. MBF21
A_RadiusDamage Thing A parameterized function. MBF21
A_RemoveFlags Thing A flag manipulation function. MBF21
A_SeekTracer Thing A parameterized projectile homing function. MBF21
A_SpawnObject Thing A parameterized spawn function. MBF21
A_CheckAmmo Weapon A parameterized weapon state jump function. MBF21
A_ConsumeAmmo Weapon A parameterized weapon ammo use function. MBF21
A_GunFlashTo Weapon A parameterized weapon flash jump function. MBF21
A_RefireTo Weapon A parameterized weapon state jump function. MBF21
A_WeaponAlert Weapon A non-attack weapon function that alerts monsters. MBF21
A_WeaponBulletAttack Weapon A parameterized weapon hitscan attack function. MBF21
A_WeaponJump Weapon A weapon state jump function. MBF21
A_WeaponMeleeAttack Weapon A parameterized weapon melee attack function. MBF21
A_WeaponProjectile Weapon A parameterized weapon projectile attack function. MBF21
A_WeaponSound Weapon A parameterized weapon sound function. MBF21

Sounds[edit]

Index Sound lump Note
1 DSPISTOL
2 DSSHOTGN
3 DSSGCOCK
4 DSDSHTGN
5 DSDBOPN
6 DSDCLS
7 DSDBLOAD
8 DSPLASMA
9 DSBFG
10 DSSAWUP
11 DSSAWIDL
12 DSSAWFUL
13 DSSAWHIT
14 DSRLAUNC
15 DSRXPLOD
16 DSFIRSHT
17 DSFIRXPL
18 DSPSTART
19 DSPSTOP
20 DSDOROPN
21 DSDORCLS
22 DSSTNMOV
23 DSSWTCHN
24 DSSWTCHX
25 DSPLPAIN
26 DSDMPAIN
27 DSPOPAIN
28 DSVIPAIN
29 DSMNPAIN
30 DSPEPAIN
31 DSSLOP
32 DSITEMUP
33 DSWPNUP
34 DSOOF
35 DSTELEPT
36 DSPOSIT1
37 DSPOSIT2
38 DSPOSIT3
39 DSBGSIT1
40 DSBGSIT2
41 DSSGTSIT
42 DSCACSIT
43 DSBRSSIT
44 DSCYBSIT
45 DSSPISIT
46 DSBSPSIT
47 DSKNTSIT
48 DSVILSIT
49 DSMANSIT
50 DSPESIT
51 DSSKLATK
52 DSSGTATK
53 DSSKEPCH
54 DSVILATK
55 DSCLAW
56 DSSKESWG
57 DSPLDETH
58 DSPDIEHI
59 DSPODTH1
60 DSPODTH2
61 DSPODTH3
62 DSBGDTH1
63 DSBGDTH2
64 DSSGTDTH
65 DSCACDTH
66 DSSKLDTH
67 DSBRSDTH
68 DSCYBDTH
69 DSSPIDTH
70 DSBSPDTH
71 DSVILDTH
72 DSKNTDTH
73 DSPEDTH
74 DSSKEDTH
75 DSPOSACT
76 DSBGACT
77 DSDMACT
78 DSBSPACT
79 DSBSPWLK
80 DSVILACT
81 DSNOWAY
82 DSBAREXP
83 DSPUNCH
84 DSHOOF
85 DSMETAL
86 DSCHGUN alias of DSPISTOL
87 DSTINK
88 DSBDOPN
89 DSBDCLS
90 DSITMBK
91 DSFLAME
92 DSFLAMST
93 DSGETPOW
94 DSBOSPIT
95 DSBOSCUB
96 DSBOSSIT
97 DSBOSPN
98 DSBOSDTH
99 DSMANATK
100 DSMANDTH
101 DSSSSIT
102 DSSSDTH
103 DSKEENPN
104 DSKEENDT
105 DSSKEACT
106 DSSKESIT
107 DSSKEATK
108 DSRADIO
109 DSDGSIT MBF helper dog sounds
110 DSDGATK
111 DSDGACT
112 DSDGDTH
113 DSDGPAIN

Linux version[edit]

DeHackEd (version 2.3) was ported to Linux in 1995 by Sam Lantinga as Linux Doom Hack Editor or ldhe. Compared to DOS, LDHE is slower and has no mouse support, but it does support running on X11 and the Linux console. X11 and SVGA Doom Linux binaries are supported. It also supports SGI Doom 1.8, allowing DeHackEd to be used and compiled on a SGI machine alongside a specifically compiled Deutex binary.

Heretic version[edit]

Main article: Heretic Hack Editor

In 1995, Greg Lewis created a version of DeHackEd for Heretic called Heretic Hack Editor (HHE). It was based on DHE v2.2. However, he abandonded work on it after the release of HHE v1.1 (based on DHE v2.3). The copy of the executable that HHE applies its .HHE patches to is named HereHack.

Strife version[edit]

Main article: SeHackEd

In 2004, Mike Fredericks (Gokuma) created a version of DeHackEd for Strife called SeHackEd. It is based on DHE v3.0a.

See also[edit]

Trivia[edit]

  • The executable hack Doom32 is understood by DeHackEd when the executable is renamed to DOOM2.EXE. It will warn the user that the checksum does not match, but it will otherwise accept Doom32 as a substitute and can be used to create Doom32-compatible DoomHack executables.

External links[edit]

References[edit]

  1. Gregory Alan Lewis (12 September 1994). https://groups.google.com/g/alt.games.doom/c/uvEvkfDzj6c/m/yk83DPgM-H8J. alt.games.doom. Retrieved 29 August 2023.
  2. Gregory Alan Lewis (2 November 1994). https://groups.google.com/g/alt.games.doom/c/vYjcZz4B9Dg/m/zV_CpT1ExncJ. alt.games.doom. Retrieved 29 August 2023.
  3. Gregory Alan Lewis (14 December 1994). https://groups.google.com/g/alt.games.doom/c/MmTvMvAeUHg/m/Ceb7miJRhzEJ. alt.games.doom. Retrieved 29 August 2023.
  4. Gregory Alan Lewis (26 February 1995). https://groups.google.com/g/alt.games.doom/c/RKcMxss8Oak/m/Rsm66bw5-BMJ. alt.games.doom. Retrieved 29 August 2023.
  5. Gregory Alan Lewis (29 August 1995). https://groups.google.com/g/alt.games.doom/c/WeEbpJwWdHU/m/hx4dnHhrrpwJ. alt.games.doom. Retrieved 29 August 2023.


Source code genealogy
Based on Name Base for
None DeHackEd Heretic Hack Editor
SeHackEd