General DeHackEd Information
What is DeHackEd?
DeHackEd with BOOM Extensions (BEX) is a form of text script for modifying various aspects
of the DOOM engine. Originally, DeHackEd patches were used by the DeHackEd program to
modify the DOOM.EXE file itself. Now, modern source ports provide alternative methods
of use.
Eternity allows use of DeHackEd files via the -deh command-line parameter, via GFS files, and
as a text lump called "DEHACKED" in wad files. Eternity can also specify up to two DeHackEd
patches which are always added at start-up in its configuration file. Starting with Eternity
Engine v3.31 public beta 5, DeHackEd/BEX files can also be included by EDF modules.
DeHackEd allows editing of things, frames, codepointers, ammo and weapon data, cheats,
miscellaneous settings, and text strings. Through BEX and Eternity extensions, support
has also been added for a cleaner form of text substitution, default level par times,
a more powerful method of codepointer editing, helper thing type editing, and better
support for substitution of sprite, sound, and music names.
DeHackEd does NOT support the addition or deletion of any of these elements, however.
It is limited to the number and order of entries as they exist in the source port.
For information on how Eternity addresses this problem via the EDF system, see the
EDF Documentation.
Return to Table of Contents
General Syntax
White-space, empty lines, and unrecognized tokens are ignored outside of any block, and
the DeHackEd parser is in general very forgiving.
Comments can be provided for your own benefit, or for that of other editors. Comments
start with a pound sign (#) and extend to the end of the line.
Example:
# This is a commentNote that comments are not allowed within some blocks, including several of the BEX extension blocks. It is best to keep all comments outside of blocks for this reason.
Patch File for DeHackEd v3.0 # Note: Use the pound sign ('#') to start comment lines. Doom version = 21 Patch format = 6However, none of this information is needed or used by Eternity in any way, and it is discarded as unrecognized text. You do not need to include any header information in your own files. Note that the patch version information is important for old patches in that it will tell you whether or not Eternity can use the file. Patches of format other than 6 are not guaranteed to work, and Eternity does NOT support the older, obsolete binary patch format.
BEX Extension: INCLUDE Directive
To include a DEH or BEX file in another one, put one or more of the following lines in
your BEX file:
INCLUDE filename INCLUDE NOTEXT filenameFilename must be specified in full, including a path if it's not going to be in the current directory, and including its .deh or .bex extension. It is better by far to ship a file completely self-contained, but you can use this during testing and development, or to adjust existing patches for your own use.
Thing Block
Things: Description
The DeHackEd Thing block allows you to edit the properties of DOOM's map object
types. Map objects are what comprise anything you see with a sprite in DOOM,
including enemies, powerups, missiles, decorations, and invisible control objects.
Eternity provides several extensions to the DeHackEd thing block, some of which
are considered part of the BEX standard specification. Extended fields will be noted
as such in their descriptions.
Return to Table of Contents
Things: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
All fields in the block are optional. If a field is not provided, that value of the
thing being edited will not change.
A || symbol means that the field can have one of the two listed types of values.
Thing <dehacked number> [(thing type name)] ID # = <number> Initial frame = <frame number> Hit points = <number> First moving frame = <frame number> Alert sound = <sound number> Reaction time = <number> Attack sound = <sound number> Injury frame = <frame number> Pain chance = <number> Pain sound = <sound number> Close attack frame = <frame number> Far attack frame = <frame number> Death frame = <frame number> Exploding frame = <frame number> Death sound = <sound number> Speed = <number> Width = <number> Height = <number> Mass = <number> Missile damage = <number> Action sound = <sound number> # The ability to provide flag lists is a BEX extension Bits = <number || flag list> Respawn frame = <frame number> # The below fields are Eternity Engine extensions Bits2 = <number || flag list> Bits3 = <number || flag list> Translucency = <number> Blood color = <number>Explanation of special information:
damage = ((rnd % 8) + 1) * missiledamageThis field is also used as a parameter by some new, parameterized codepointers, including BetaSkullAttack and Detonate.
Thing 2 (Trooper) Translucency = 32768Trooper objects will be 50% translucent in this example, since 32768 is half of 65536. Note this effect is mutually exclusive of BOOM-style translucency. If this value is not 65536, and the BOOM translucency flag is turned on, the flag will be turned off at run-time, and this field will take precedence.
Blood color Number -------------------------- Red (normal) 0 Grey 1 Green 2 Blue 3 Yellow 4 Black 5 Purple 6 White 7 Orange 8 --------------------------
BEX Extension: Thing Flag Lists
This is actually something you can use to hack your DeHackEd file to be more understandable
and modifiable. Note that once you do this you won't be able to bring it back into DeHackEd.
If you've altered a thing's bits at all, you'll see a line like:
Bits = 205636102That horrible number is why we are providing some mnemonics instead. All you need to do is to put the appropriate ones of the following mnemonics on the line where the big number is, and it'll be read in and converted to the number for you. Some valid example lines:
Bits = SOLID+SHOOTABLE+NOBLOOD ... Bits = NOBLOCKMAP | NOGRAVITY ... Bits = SPECIAL, COUNTITEMwhich converts to Bits = 524294 but you didn't have to figure that part out. Just use a plus, '|', comma, or whitespace between the mnemonics. Below are mnemonic lists, along with a bit of explanation of each, and the phrase that's used in Dehacked to describe them. If there are any disagreements between the 2 definitions, ours wins.
Mnemonic Bit mask Meaning / Dehacked phrase ------------------------------------------------------------------ SPECIAL 0x00000001 - Object is a collectable item. "Can be picked up" SOLID 0x00000002 - Blocks other objects. "Obstacle" SHOOTABLE 0x00000004 - Can be targetted and hit with bullets, missiles. "Shootable" NOSECTOR 0x00000008 - Invisible but still clipped -- see notes. "Total invisibility" NOBLOCKMAP 0x00000010 - Inert but displayable; can hit but cannot be hit. "Can't be hit" AMBUSH 0x00000020 - Deaf monster. "Semi-deaf" JUSTHIT 0x00000040 - Internal, monster will try to attack immediately; see notes. "In pain" JUSTATTACKED 0x00000080 - Internal, monster takes at least 1 step before attacking; see notes. "Steps before attack" SPAWNCEILING 0x00000100 - Thing spawns hanging from the ceiling of its sector. "Hangs from ceiling" NOGRAVITY 0x00000200 - Thing is not subject to gravity. "No Gravity" DROPOFF 0x00000400 - Thing can walk over tall dropoffs (> 24 units). "Travels over cliffs" PICKUP 0x00000800 - Thing can pick up items -- see notes. "Picks up items" NOCLIP 0x00001000 - Thing is not clipped, can walk through walls. "No clipping" SLIDE 0x00002000 - No effect -- see notes. "Slides along walls" FLOAT 0x00004000 - Monster may move to any height; is flying. "Floating" TELEPORT 0x00008000 - Don't cross lines or look at teleport heights. "Semi-no clipping" MISSILE 0x00010000 - Thing is a missile, explodes and inflicts damage when blocked. "Projectiles" DROPPED 0x00020000 - Internal, item was dropped by a creature and won't respawn. "Disappearing weapon" SHADOW 0x00040000 - Use fuzz draw effect like spectres, also causes aiming inaccuracy. "Partial invisibility" NOBLOOD 0x00080000 - Object puffs instead of bleeds when shot. "Puffs (vs. bleeds)" CORPSE 0x00100000 - Internal, object is dead and will slide down steps. "Sliding helpless" INFLOAT 0x00200000 - Internal, monster is floating but not to target height -- see notes. "No auto-leveling" COUNTKILL 0x00400000 - Can be targetted, adds 1 to kill percent when it dies -- see notes. "Affects Kill %" COUNTITEM 0x00800000 - Item adds 1 to item percent when collected. "Affects Item %" SKULLFLY 0x01000000 - Internal, special handling for flying skulls -- see notes. "Running" NOTDMATCH 0x02000000 - Thing will not be spawned at level start when in Deathmatch. "Not in deathmatch" TRANSLATION1 0x04000000 - Use translation table for color (players)'. (aka TRANSLATION) "Color 1 (gray/red)" TRANSLATION2 0x08000000 - Second bit for color translation; (aka UNUSED1) "Color 2 (brown/red)" TOUCHY 0x10000000 - Thing dies on contact with any solid object of another species; (aka UNUSED2) MBF Extension, see notes. BOUNCES 0x20000000 - Thing may bounce off walls and ceilings; (aka UNUSED3) MBF Extension, see notes. FRIEND 0x40000000 - All things of this type are allied with player; (aka UNUSED4) MBF Extension. TRANSLUCENT 0x80000000 - Apply BOOM-style translucency to sprite; BOOM Extension, see notes. ------------------------------------------------------------------Notes on Bits values:
Things: Bits2 Mnemonics (Eternity extension)
Mnemonic Bit mask Meaning ------------------------------------------------------------------ LOGRAV 0x00000001 - Thing experiences low gravity; see notes. NOSPLASH 0x00000002 - Thing cannot trigger TerrainTypes. NOSTRAFE 0x00000004 - Thing never uses advanced strafing logic. NORESPAWN 0x00000008 - Thing will not respawn in nightmare mode. ALWAYSRESPAWN 0x00000010 - Thing will respawn at any difficulty level. REMOVEDEAD 0x00000020 - Thing removes itself shortly after death; see notes. NOTHRUST 0x00000040 - Thing is unaffected by push/pull, wind, current, or conveyors. NOCROSS 0x00000080 - Thing cannot trigger crossable special lines. JUMPDOWN 0x00000100 - Thing, when friendly, can jump down to follow player. PUSHABLE 0x00000200 - Thing is pushable by other moving things. MAP07BOSS1 0x00000400 - Thing must be dead for MAP07 tag 666 special. MAP07BOSS2 0x00000800 - Thing must be dead for MAP07 tag 667 special. E1M8BOSS 0x00001000 - Thing must be dead for E1M8 tag 666 special. E2M8BOSS 0x00002000 - Thing must be dead for E2M8 end-level special. E3M8BOSS 0x00004000 - Thing must be dead for E3M8 end-level special. BOSS 0x00008000 - Thing is a boss; roars loud and is invincible to blast radii. E4M6BOSS 0x00010000 - Thing must be dead for E4M6 tag 666 special. E4M8BOSS 0x00020000 - Thing must be dead for E4M8 tag 666 special. FOOTCLIP 0x00040000 - Thing lowers when on liquid terrain. FLOATBOB 0x00080000 - Thing floats up and down on z axis. DONTDRAW 0x00100000 - Thing is totally invisible; enemies cannot see player. SHORTMRANGE 0x00200000 - Thing has a shorter than normal missile range. LONGMELEE 0x00400000 - Thing has a longer than normal melee range. RANGEHALF 0x00800000 - Thing considers itself to be half as far from target. HIGHERMPROB 0x01000000 - Thing has a higher missile attack probability. CANTLEAVEFLOORPIC 0x02000000 - Thing can only move into sectors with the same flat. SPAWNFLOAT 0x04000000 - Thing spawns with a randomized z coordinate. INVULNERABLE 0x08000000 - Thing is invulnerable to damage less than 10000 points. DORMANT 0x10000000 - Thing is invulnerable and inert until activated by script; see notes. SEEKERMISSILE 0x20000000 - Indicates that this thing may be used as a homing missile; see notes. DEFLECTIVE 0x40000000 - When paired with REFLECTIVE, thing will reflect at a wide angle. REFLECTIVE 0x80000000 - Thing reflects missile projectiles; see notes. ------------------------------------------------------------------Notes on Bits2 values:
Things: Bits3 Mnemonics (Eternity extension)
Mnemonic Bit mask Meaning ------------------------------------------------------------------ GHOST 0x00000001 - Thing is a Heretic-style ghost; enemies may not see player. THRUGHOST 0x00000002 - Missiles with this flag pass through GHOST objects. NODMGTHRUST 0x00000004 - Things aren't thrusted when damaged by this thing. ACTSEESOUND 0x00000008 - Thing may make see sound instead of active sound; 50% chance. LOUDACTIVE 0x00000010 - Thing makes its active sound at full volume. E5M8BOSS 0x00000020 - Thing is a boss on Heretic level E5M8. DMGIGNORED 0x00000040 - Other things will not fight this thing if damaged by it. BOSSIGNORE 0x00000080 - Things won't fight other species with this flag. SLIDE 0x00000100 - Thing can slide against walls; see notes. TELESTOMP 0x00000200 - Thing can telefrag other things. WINDTHRUST 0x00000400 - Thing is affected by Heretic-style wind sectors; see notes. FIREDAMAGE 0x00000800 - Reserved; currently has no effect. KILLABLE 0x00001000 - Thing doesn't count for kill %, but is still an enemy; see notes. DEADFLOAT 0x00002000 - Flying thing won't drop to the ground when killed. NOTHRESHOLD 0x00004000 - Thing has no threshold for acquiring a new target. FLOORMISSILE 0x00008000 - Missile can step up/down any height changes when on ground. SUPERITEM 0x00010000 - Item respawns only if the "super items respawn" DMFLAG is on. NOITEMRESP 0x00020000 - Item never respawns, and will not be crushed. SUPERFRIEND 0x00040000 - Thing never attacks other friends when friendly. INVULNCHARGE 0x00080000 - Thing is invulnerable when SKULLFLY flag is set. EXPLOCOUNT 0x00100000 - Missile will not explode if Counter 1 < Counter 2. Counter 1 will be incremented at each explosion attempt. CANNOTPUSH 0x00200000 - Thing cannot push things with the PUSHABLE flag. TLSTYLEADD 0x00400000 - Thing uses additive translucency style. SPACMONSTER 0x00800000 - Thing can activate parameterized line specials which bear the MONSTER activation flag. SPACMISSILE 0x01000000 - Thing can activate parameterized line specials which bear the MISSILE activation flag. NOFRIENDDMG 0x02000000 - Thing will not be damaged by things with the FRIEND flag. 3DDECORATION 0x04000000 - Thing is a decoration which, when 3D object clipping is active, will NOT use its corrected height, even if one is specified in its EDF thingtype definition. ------------------------------------------------------------------Notes on Bits3 values:
Frame Block
Frames: Description
The DeHackEd Frame block allows you to edit the properties of frames used both by
monsters and by player weapons. This allows extensive customization of AI and attacks.
Eternity provides several extensions to the DeHackEd frame block. Extended fields will
be noted as such in their descriptions.
Return to Table of Contents
Frames: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
All fields in the block are optional. If a field is not provided, that value of the
frame being edited will not change.
Frame <dehacked number> Sprite number = <sprite number> Sprite subnumber = <number> Duration = <number> Next frame = <frame number> Unknown 1 = <number> Unknown 2 = <number> # The following fields are Eternity extensions Particle event = <number> Args1 = <number> Args2 = <number> Args3 = <number> Args4 = <number> Args5 = <number>Explanation of special information:
Number Effect ----------------------------------------------------------- 0 None 1 Rocket explosion particle burst 2 BFG explosion particle burst -----------------------------------------------------------
Pointer Block (Deprecated)
Pointers: Description
This block allows setting the codepointer of a frame to the original codepointer contained
in another frame. This form of codepointer specification is very clumsy and error-prone, and
has been deprecated in favor of the BEX [CODEPTR] extension. Do not use
this block in new patches.
Return to Table of Contents
Pointers: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
Items in green are deprecated.
The field in this block is not optional.
Pointer <xref number> (Frame <target frame number>) Codep Frame = <source frame number>Explanation of special information:
Sound Block
Sounds: Description
This block, which is mostly useless, allows you to edit various properties of the internal
sound table. Most of the fields in this section are now obsolete, and in fact, most never
worked to begin with. This entire block might become deprecated or obsolete in the future,
so avoid using it.
Return to Table of Contents
Sounds: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
Items in red are obsolete.
All fields in the block are optional. Fields not provided will not be changed.
Sound <sound number> Offset = <number> Zero/One = <number> Zero 1 = <number> Zero 2 = <number> Zero 3 = <number> Zero 4 = <number> Neg. One 1 = <number> Neg. One 2 = <number>Explanation of special information:
Ammo Block
Ammo: Description
This block allows editing of ammo type characteristics, including the max ammo value for that
type, and the amount of ammo collected in a basic "clip" item.
Return to Table of Contents
Ammo: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
All fields in the block are optional. Fields not provided will not be changed.
Ammo <ammo number> Max ammo = <number> Per ammo = <number>Explanation of special information:
Number Ammo type ----------------- 0 Bullets 1 Shells 2 Cells 3 RocketsReturn to Table of Contents
Weapon Block
Weapons: Description
This block allows editing of player weapon characteristics.
Return to Table of Contents
Weapons: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
All fields in the block are optional. Fields not provided will not be changed.
Weapon <weapon number> Ammo type = <ammo number> Deselect frame = <frame number> Select frame = <frame number> Bobbing frame = <frame number> Shooting frame = <frame number> Firing frame = <frame number> # The fields below are Eternity extensions Ammo per shot = <number>Explanation of special information:
Number Weapon type ------------------------ 0 Fist 1 Pistol 2 Shotgun 3 Chaingun 4 Rocket Launcher 5 Plasma Rifle 6 BFG 9000 7 Chainsaw 8 Super Shotgunammo number is an ammo type number, which must be one of the following:
Number Ammo type ----------------- 0 Bullets 1 Shells 2 Cells 3 Rockets 5 NoneReturn to Table of Contents
Cheat Block
Cheats: Description
This block allows editing of some of the cheat codes.
Return to Table of Contents
Cheats: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
All fields in the block are optional. Fields not provided will not be changed.
Cheat [0] Change music = <string> Chainsaw = <string> God mode = <string> Ammo & Keys = <string> Ammo = <string> No Clipping 1 = <string> No Clipping 2 = <string> Invincibility = <string> Berserk = <string> Invisibility = <string> Radiation Suit = <string> Auto-map = <string> Lite-amp Goggles = <string> BEHOLD menu = <string> Level Warp = <string> Player Position = <string>Explanation of special information:
Misc Block
Misc: Description
This block allows editing of various constants and gameplay factors.
Return to Table of Contents
Misc: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
All fields in the block are optional. Fields not provided will not be changed.
Misc [0] Initial Health = <number> Initial Bullets = <number> Max Health = <number> Max Armor = <number> Green Armor Class = <number> Blue Armor Class = <number> Max Soulsphere = <number> Soulsphere Health = <number> Megasphere Health = <number> God Mode Health = <number> IDFA Armor = <number> IDFA Armor Class = <number> IDKFA Armor = <number> IDKFA Armor Class = <number> BFG Cells/Shot = <number> Monsters Infight = <number>Explanation of special information:
Text Block (Deprecated)
Text: Description
Eternity provides limited support for old DeHackEd-style text substitution. This method
of text substitution is severely limited, syntactically ugly, and not completely backward
compatible. This section has been deprecated by the BEX [STRINGS] block,
and by the Eternity [MUSIC], [SOUNDS], and
[SPRITES] blocks. Do not use this block in new files!
Eternity performs old DeHackEd-style text substitution by searching through the game's
BEX string table for a string with a matching value. If no such string can be found, the
substitution is discarded. Many strings which existed in DOOM are no longer available in
Eternity.
Return to Table of Contents
Text: Syntax
A brief explanation of the syntax description:
Items in angle brackets (< >) are required.
Items in square brackets ([ ]) are optional.
Items in green are deprecated.
The field in this block is not optional.
Text <old length> <new length> <old string><new string>Explanation of special information:
Sprite Block (Obsolete)
Sprites: Obsoletion Info
The DeHackEd sprite string redirection method is not supported by the BEX specification or
by Eternity. The syntax of this block was as follows:
Sprite <sprite number> Offset = <pointer>This allowed the sprite name order to be rearranged, but could also allow the game to be crashed or corrupted very easily. For this reason and others, this feature is unsupported. Any sprite blocks will be ignored.
BEX Extension: [STRINGS] Block
[STRINGS]: Description
The basic Dehacked file is understood and properly evaluated to change such things as sounds,
frame rewiring, Thing attributes, etc. No change is required to the original .deh file for
those things. However, text is handled differently in BEX for several reasons:
[STRINGS]: Syntax
To use BEX string support, start the section with a [STRINGS] section marker,
followed by lines that start with the key mnemonic, an equal sign, and the value to assign
to that string. You may split the value to be assigned onto multiple lines by ending each
line that is to be continued with a backslash. Don't put quotes around the string if you
don't want them to show up in the result. A couple of examples:
# Change the level name that shows up in the automap for MAP12: [STRINGS] HUSTR_12 = The Twelfth Night # and now the new red key message for switches PD_REDO = You need the scarlet pimpernel to \ turn on this machine. # Note that the blank before the backslash is included in the string # but that the indentation before the word "turn" is not, allowing # the change file to be easy to read.Return to Table of Contents
BEX Extension: [PARS] Block
[PARS]: Description
The [PARS] Block allows editing of par times for standard ExMy and MAPxy levels in
DOOM and DOOM II. Ultimate DOOM Episode 4 is not supported, nor is Heretic.
Return to Table of Contents
[PARS]: Syntax
Insert the following block in your BEX file, using one or more of the par lines depending
on if you want to alter them for DOOM 1 or DOOM 2.
[PARS] par <e> <m> <p> par <m> <p><e> is the episode number, <m> is the map number, and <p> is the par time, in seconds. A cleaner example:
[PARS] par 1 1 250 par 1 2 300 par 30 1000You may have as many par times listed as you wish in the pars block.
BEX Extension: [CODEPTR] Block
[CODEPTR]: Description
The [CODEPTR] block provides a new, clean, and more powerful method of changing the
codepointer (aka action) field of frames.
The [CODEPTR] block is a list of frames, each of which has assigned to it a codepointer
mnemonic. Codepointer mnemonics are symbolic names for the action functions they represent,
and any mnemonic can be assigned to any frame, even frames that have a zero pointer. This was
not allowed in DeHackEd.
BEX also provides a new NULL mnemonic, which allows zeroing of frames which have a
codepointer in them already. This also was not allowed under DeHackEd, for reasons unknown.
Return to Table of Contents
[CODEPTR]: Syntax
Insert this block into your BEX file:
[CODEPTR] Frame nn = <mnemonic> ...Any number of frames may be listed, one per line.
Pointer 93 (Frame 196) Codep Frame = 176Output from Eternity in the DEHOUT.TXT file, when -dehout parameter is used:
Line='Pointer 93 (Frame 196)' Processing function [2] for Pointer Processing Pointer at index 196: Frame - applied 1c53c from codeptr[176] to states[196] BEX [CODEPTR] -> FRAME 196 = ChaseYou could then use this in the [CODEPTR] block of a BEX file instead of the Dehacked lines, making it much more clear that in frame 196 you expect the monster to Chase the player:
FRAME 196 = ChaseIn addition, you can now put any code pointer into any frame, whereas Dehacked is limited to replacing only the existing ones.
Eternity Extension: [HELPER] Block
[HELPER]: Description
This block can be used to specify the type of thing the player will get for
friendly helpers by using the -dogs command-line option. Rather than rewiring
the MT_DOGS thing to make it emulate other enemies, you may now make this
simple two-line substitution.
Return to Table of Contents
[HELPER] type = <thingnum><thingnum> is the DeHackEd number of the thing type you want to replace the dogs. If this value is out of range, dogs will spawn and a warning message will be posted to the player. It may be desirable to edit the height and radii of most things to make them work better as helpers Note that the dog jumping options also affect any helper substitute, and that all friendly things of the helper type are allowed to jump down to follow the player.
Eternity Extension: [SPRITES] Block
[SPRITES]: Description
In Ty Halderman's change log he noted that sprite, sound, and music renaming should be
implemented as separate blocks. Up until now, it has only been possible to replace these
strings with the old DeHackEd-style text blocks, which are impractical to use and have
limitations.
The SPRITES block can change the 4-letter prefix of any sprite type.
Return to Table of Contents
[SPRITES] <mnemonic> = <string>The <mnemonic> to use is the normal sprite name. That is, if you want to rename the sprite that's normally named TROO, you use the mnemonic TROO, even if TROO has already been changed to a new string. Changing the sprite names will not change their corresponding mnemonics.
Eternity Extension: [SOUNDS] Block
[SOUNDS]: Description
The SOUNDS block can change the name of any sound.
Return to Table of Contents
[SOUNDS] <mnemonic> = <string>The <mnemonic> to use is the EDF sound mnemonic defined for the sound you wish to replace. The string to provide is the new lump name for that sound. If you want to rename the sound that's normally named PISTOL, you use the mnemonic PISTOL. Changing the sound lump names will not change their corresponding mnemonics. <string> must be from 1 to 8 characters long, or the substitution will not occur.
Eternity Extension: [MUSIC] Block
[MUSIC]: Description
The MUSIC block can change the name of any music lump used by the game.
Return to Table of Contents
[MUSIC] <mnemonic> = <string>The <mnemonic> to use is the normal music name, minus the "D_" that is normally appended to wad lumps. That is, if you want to rename the music that's normally named D_ROMERO, you use the mnemonic ROMERO, even if ROMERO has already been changed to a new string. Changing the music names will not change their corresponding mnemonics. <string> must be from 1 to 6 characters long, or the substitution will not occur.
BEX String Mnemonics Table
Note:
If the original initial value is longer than about 40 characters,
the string will have been truncated and will have an ellipsis (...)
after the closing double-quote. There should be enough in the part
that is shown to recognize it.
If a string has C language printf() characters in it, such as %s or %d,
you should be sure that your replacement string either contains the
same ones in the same order, or that you leave them out of your string.
If that confuses you, you need to learn C or leave 'em alone <g>.
Some trailing linefeeds have been removed for clarity, though \n in
the middle of a string indicates an internal linefeed and your
replacement can do likewise.
Part 1 - GENERAL INITIALIZATION AND PROMPTS
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- D_DEVSTR What shows during init if -devparm is used "Development mode ON." D_CDROM Init: if switch -cdrom is used "CD-ROM Version: default.cfg from c:\\doomdata" QUITMSG Default display when you pick Quit "are you sure you want to\nquit this great game?" LOADNET Warning when you try to load during a network game "you can't do load while in a net game!" QLOADNET Warning when you try quickload during a network game "you can't quickload during a netgame!" QSAVESPOT Warning when you quickload without a quicksaved game "you haven't picked a quicksave slot yet!" SAVEDEAD Warning when not playing or dead and you try to save "you can't save if you aren't playing!" QSPROMPT Prompt when quicksaving your game "quicksave over your game named\n\n'%s'?" QLPROMPT Prompt when quickloading a game "do you want to quickload the game named\n\n'%s'?" NEWGAME Warning if you try to start a game during network play "you can't start a new game\nwhile in a network"... NIGHTMARE Nightmare mode warning "are you sure? this skill level\nisn't even rem"... SWSTRING Warning when you pick any episode but 1 in Shareware "this is the shareware version of doom.\n\nyou '... MSGOFF Message when toggling messages off (F8) "Messages OFF" MSGON Message when toggling messages back on (F8) "Messages ON" NETEND Message when you try to Quit during a network game "you can't end a netgame!" ENDGAME Warning when you try to end the game "are you sure you want to end the game?" DETAILHI Message switching to high detail (obsolete in BOOM) "High detail" DETAILLO Message switching to high detail (obsolete in BOOM) "Low detail" GAMMALVL0 Message when gamma correction is set off "Gamma correction OFF" GAMMALVL1 Message when gamma correction is set to 1 "Gamma correction level 1" GAMMALVL2 Message when gamma correction is set to 2 "Gamma correction level 2" GAMMALVL3 Message when gamma correction is set to 3 "Gamma correction level 3" GAMMALVL4 Message when gamma correction is set to 4 "Gamma correction level 4" EMPTYSTRING Value that shows up in an unused savegame slot "empty slot" GGSAVED Message after a savegame has been written to disk "game saved." SAVEGAMENAME Saved game name, number is appended during save "ETRNSAV" ------------------ -----------------------------------------------------Return to Table of Contents
Part 2 - MESSAGES WHEN THE PLAYER GETS THINGS
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- GOTARMOR Picking up the Green armor (100%) "Picked up the armor." GOTMEGA Picking up the Blue armor (200%) "Picked up the MegaArmor!" GOTHTHBONUS Picking up a health bottle (1%) "Picked up a health bonus." GOTARMBONUS Picking up an armor helmet (1%) "Picked up an armor bonus." GOTSTIM Picking up a stimpack (10%) "Picked up a stimpack." GOTMEDINEED Picking up a medikit (25%) when very low on health "Picked up a medikit that you REALLY need!" GOTMEDIKIT Picking up a medikit (25%) under normal conditions "Picked up a medikit." GOTSUPER Picking up the blue health orb (200%) "Supercharge!" GOTBLUECARD Picking up the blue keycard "Picked up a blue keycard." GOTYELWCARD Picking up the yellow keycard "Picked up a yellow keycard." GOTREDCARD Picking up the red keycard "Picked up a red keycard." GOTBLUESKUL Picking up the blue skull key "Picked up a blue skull key." GOTYELWSKUL Picking up the yellow skull key "Picked up a yellow skull key." GOTREDSKULL Picking up the red skull key "Picked up a red skull key." GOTINVUL Picking up the invulnerability sphere "Invulnerability!" GOTBERSERK Picking up the berserk box "Berserk!" GOTINVIS Picking up the invisibility sphere "Partial Invisibility" GOTSUIT Picking up the rad suit "Radiation Shielding Suit" GOTMAP Picking up the computer map "Computer Area Map" GOTVISOR Picking up the light-amp goggles "Light Amplification Visor" GOTMSPHERE Picking up the mega orb (200%/200%) "MegaSphere!" GOTCLIP Picking up an ammo clip "Picked up a clip." GOTCLIPBOX Picking up a box of ammo "Picked up a box of bullets." GOTROCKET Picking up a single rocket "Picked up a rocket." GOTROCKBOX Picking up a box of rockets "Picked up a box of rockets." GOTCELL Picking up an energy cell (20 units) "Picked up an energy cell." GOTCELLBOX Picking up an energy pack (100 units) "Picked up an energy cell pack." GOTSHELLS Picking up a set of 4 shells "Picked up 4 shotgun shells." GOTSHELLBOX Picking up a box of 20 shells "Picked up a box of shotgun shells." GOTBACKPACK Picking up a backpack "Picked up a backpack full of ammo!" GOTBFG9000 Picking up the BFG (weapon 7) "You got the BFG9000! Oh, yes." GOTCHAINGUN Picking up the chaingun (weapon 4) "You got the chaingun!" GOTCHAINSAW Picking up the chainsaw (weapon 8) "A chainsaw! Find some meat!" GOTLAUNCHER Picking up the rocket launcher (weapon 5) "You got the rocket launcher!" GOTPLASMA Picking up the plasma gun (weapon 6) "You got the plasma gun!" GOTSHOTGUN Picking up the shotgun (weapon 3) "You got the shotgun!" GOTSHOTGUN2 Picking up the double-barreled shotgun (weapon 9) "You got the super shotgun!" *New to Eternity: These are mnemonics for collectable items in Heretic. HGOTBLUEKEY Picking up Heretic blue key "BLUE KEY" HGOTYELLOWKEY Picking up Heretic yellow key "YELLOW KEY" HGOTGREENKEY Picking up Heretic green key "GREEN KEY" HITEMHEALTH Picking up Crystal Vile item "CRYSTAL VIAL" HITEMBAGOFHOLDING Picking up Bag of Holding item "BAG OF HOLDING" HITEMSHIELD1 Picking up Silver Shield armor "SILVER SHIELD" HITEMSHIELD2 Picking up Enchanted Shield armor "ENCHANTED SHIELD" HITEMSUPERMAP Picking up Map Scroll automap item "MAP SCROLL" ------------------ -----------------------------------------------------Return to Table of Contents
Part 3 - MESSAGES WHEN KEYS ARE NEEDED
(*)= BOOM extensions
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- PD_BLUEO When you don't have the blue key for a switch "You need a blue key to activate this object" PD_REDO When you don't have the red key for a switch "You need a red key to activate this object" PD_YELLOWO When you don't have the yellow key for a switch "You need a yellow key to activate this object" PD_BLUEK Blue key needed to open a door "You need a blue key to open this door" PD_REDK Red key needed to open a door "You need a red key to open this door" PD_YELLOWK Yellow key needed to open a door "You need a yellow key to open this door" PD_BLUEC Blue card key needed, not skull (*) "You need a blue card to open this door" PD_REDC Red card key needed, not skull (*) "You need a red card to open this door" PD_YELLOWC Yellow card key needed, not skull (*) "You need a yellow card to open this door" PD_BLUES Blue skull key needed, not card (*) "You need a blue skull to open this door" PD_REDS Red skull key needed, not card (*) "You need a red skull to open this door" PD_YELLOWS Yellow skull key needed, not card (*) "You need a yellow skull to open this door" PD_ANY You need a key but any of them will do (*) "Any key will open this door" PD_ALL3 You need red, blue and yellow keys (*) "You need all three keys to open this door" PD_ALL6 You need both skulls and cards in all 3 colors (*) "You need all six keys to open this door" * New to Eternity: These are used by locked doors instead of some of the above when in Heretic HPD_GREENO Replaces PD_REDO in Heretic mode "You need a green key to activate this object" HPD_GREENK Replaces PD_RED(K/C/S) in Heretic mode "You need a green key to open this door" ------------------ -----------------------------------------------------Return to Table of Contents
Part 4 - MULTIPLAYER MESSAGING
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- HUSTR_MSGU If you try to send a blank message? "[Message unsent]" HUSTR_MESSAGESENT After you send a message? Haven't seen it "[Message Sent]" * Chat macros 1-10 * Original values in quotes HUSTR_CHATMACRO1 "I'm ready to kick butt!" HUSTR_CHATMACRO2 "I'm OK." HUSTR_CHATMACRO3 "I'm not looking too good!" HUSTR_CHATMACRO4 "Help!" HUSTR_CHATMACRO5 "You suck!" HUSTR_CHATMACRO6 "Next time, scumbag..." HUSTR_CHATMACRO7 "Come here!" HUSTR_CHATMACRO8 "I'll take care of it." HUSTR_CHATMACRO9 "Yes" HUSTR_CHATMACRO0 "No" * What shows up when you message yourself, depending * on how many times you've done it during the game HUSTR_TALKTOSELF1 "You mumble to yourself" HUSTR_TALKTOSELF2 "Who's there?" HUSTR_TALKTOSELF3 "You scare yourself" HUSTR_TALKTOSELF4 "You start to rave" HUSTR_TALKTOSELF5 "You've lost it..." * Prefixes for the multiplayer messages when displayed HUSTR_PLRGREEN "Green: " HUSTR_PLRINDIGO "Indigo: " HUSTR_PLRBROWN "Brown: " HUSTR_PLRRED "Red: " ------------------ -----------------------------------------------------Return to Table of Contents
Part 5 - LEVEL NAMES IN THE AUTOMAP
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- * For DOOM - These names are made up of HUSTR_ and * ExMx for the episode and map numbers. Original * names are shown in quotes. Episode 4 entries are * for Ultimate DOOM only. * Blank lines separate sky change groupings HUSTR_E1M1 "E1M1: Hangar" HUSTR_E1M2 "E1M2: Nuclear Plant" HUSTR_E1M3 "E1M3: Toxin Refinery" HUSTR_E1M4 "E1M4: Command Control" HUSTR_E1M5 "E1M5: Phobos Lab" HUSTR_E1M6 "E1M6: Central Processing" HUSTR_E1M7 "E1M7: Computer Station" HUSTR_E1M8 "E1M8: Phobos Anomaly" HUSTR_E1M9 "E1M9: Military Base" HUSTR_E2M1 "E2M1: Deimos Anomaly" HUSTR_E2M2 "E2M2: Containment Area" HUSTR_E2M3 "E2M3: Refinery" HUSTR_E2M4 "E2M5: Command Center" HUSTR_E2M6 "E2M6: Halls of the Damned" HUSTR_E2M7 "E2M7: Spawning Vats" HUSTR_E2M8 "E2M8: Tower of Babel" HUSTR_E2M9 "E2M9: Fortress of Mystery" HUSTR_E3M1 "E3M1: Hell Keep" HUSTR_E3M2 "E3M2: Slough of Despair" HUSTR_E3M3 "E3M3: Pandemonium" HUSTR_E3M4 "E3M4: House of Pain" HUSTR_E3M5 "E3M5: Unholy Cathedral" HUSTR_E3M6 "E3M6: Mt. Erebus" HUSTR_E3M7 "E3M7: Limbo" HUSTR_E3M8 "E3M8: Dis" HUSTR_E3M9 "E3M9: Warrens" HUSTR_E4M1 "E4M1: Hell Beneath" HUSTR_E4M2 "E4M2: Perfect Hatred" HUSTR_E4M3 "E4M3: Sever The Wicked" HUSTR_E4M4 "E4M4: Unruly Evil" HUSTR_E4M5 "E4M5: They Will Repent" HUSTR_E4M6 "E4M6: Against Thee Wickedly" HUSTR_E4M7 "E4M7: And Hell Followed" HUSTR_E4M8 "E4M8: Unto The Cruel" HUSTR_E4M9 "E4M9: Fear" * For DOOM2 - These names are made up of HUSTR_ and * a number for the map number. Original names are shown in quotes. * Blank lines separate sky change groupings HUSTR_1 "level 1: entryway" HUSTR_2 "level 2: underhalls" HUSTR_3 "level 3: the gantlet" HUSTR_4 "level 4: the focus" HUSTR_5 "level 5: the waste tunnels" HUSTR_6 "level 6: the crusher" HUSTR_7 "level 7: dead simple" HUSTR_8 "level 8: tricks and traps" HUSTR_9 "level 9: the pit" HUSTR_10 "level 10: refueling base" HUSTR_11 "level 11: 'o' of destruction!" HUSTR_12 "level 12: the factory" HUSTR_13 "level 13: downtown" HUSTR_14 "level 14: the inmost dens" HUSTR_15 "level 15: industrial zone" HUSTR_16 "level 16: suburbs" HUSTR_17 "level 17: tenements" HUSTR_18 "level 18: the courtyard" HUSTR_19 "level 19: the citadel" HUSTR_20 "level 20: gotcha!" HUSTR_21 "level 21: nirvana" HUSTR_22 "level 22: the catacombs" HUSTR_23 "level 23: barrels o' fun" HUSTR_24 "level 24: the chasm" HUSTR_25 "level 25: bloodfalls" HUSTR_26 "level 26: the abandoned mines" HUSTR_27 "level 27: monster condo" HUSTR_28 "level 28: the spirit world" HUSTR_29 "level 29: the living end" HUSTR_30 "level 30: icon of sin" HUSTR_31 "level 31: wolfenstein" HUSTR_32 "level 32: grosse" * For PLUTONIA - These names are made up of PHUSTR_ and * a number for the map number. Original names are shown in quotes. * Blank lines separate sky change groupings PHUSTR_1 "level 1: congo" PHUSTR_2 "level 2: well of souls" PHUSTR_3 "level 3: aztec" PHUSTR_4 "level 4: caged" PHUSTR_5 "level 5: ghost town" PHUSTR_6 "level 6: baron's lair" PHUSTR_7 "level 7: caughtyard" PHUSTR_8 "level 8: realm" PHUSTR_9 "level 9: abattoire" PHUSTR_10 "level 10: onslaught" PHUSTR_11 "level 11: hunted" PHUSTR_12 "level 12: speed" PHUSTR_13 "level 13: the crypt" PHUSTR_14 "level 14: genesis" PHUSTR_15 "level 15: the twilight" PHUSTR_16 "level 16: the omen" PHUSTR_17 "level 17: compound" PHUSTR_18 "level 18: neurosphere" PHUSTR_19 "level 19: nme" PHUSTR_20 "level 20: the death domain" PHUSTR_21 "level 21: slayer" PHUSTR_22 "level 22: impossible mission" PHUSTR_23 "level 23: tombstone" PHUSTR_24 "level 24: the final frontier" PHUSTR_25 "level 25: the temple of darkness" PHUSTR_26 "level 26: bunker" PHUSTR_27 "level 27: anti-christ" PHUSTR_28 "level 28: the sewers" PHUSTR_29 "level 29: odyssey of noises" PHUSTR_30 "level 30: the gateway of hell" PHUSTR_31 "level 31: cyberden" PHUSTR_32 "level 32: go 2 it" * For TNT:Evilution - These names are made up of THUSTR_ and * a number for the map number. Original names are shown in quotes. * Blank lines separate sky change groupings THUSTR_1 "level 1: system control" THUSTR_2 "level 2: human bbq" THUSTR_3 "level 3: power control" THUSTR_4 "level 4: wormhole" THUSTR_5 "level 5: hanger" THUSTR_6 "level 6: open season" THUSTR_7 "level 7: prison" THUSTR_8 "level 8: metal" THUSTR_9 "level 9: stronghold" THUSTR_10 "level 10: redemption" THUSTR_11 "level 11: storage facility" THUSTR_12 "level 12: crater" THUSTR_13 "level 13: nukage processing" THUSTR_14 "level 14: steel works" THUSTR_15 "level 15: dead zone" THUSTR_16 "level 16: deepest reaches" THUSTR_17 "level 17: processing area" THUSTR_18 "level 18: mill" THUSTR_19 "level 19: shipping/respawning" THUSTR_20 "level 20: central processing" THUSTR_21 "level 21: administration center" THUSTR_22 "level 22: habitat" THUSTR_23 "level 23: lunar mining project" THUSTR_24 "level 24: quarry" THUSTR_25 "level 25: baron's den" THUSTR_26 "level 26: ballistyx" THUSTR_27 "level 27: mount pain" THUSTR_28 "level 28: heck" THUSTR_29 "level 29: river styx" THUSTR_30 "level 30: last call" THUSTR_31 "level 31: pharaoh" THUSTR_32 "level 32: caribbean" * New to Eternity: * For Heretic - These names are made up of HHUSTR_ and ExMx for the episode * and map numbers. Original names are shown in quotes. Episode 4 and 5 entries * are for the extended Shadow of the Serpent Riders version of Heretic. Note these * are also used by the Heretic intermission code. * Blank lines separate sky change groupings HHUSTR_E1M1 "E1M1: THE DOCKS" HHUSTR_E1M2 "E1M2: THE DUNGEONS" HHUSTR_E1M3 "E1M3: THE GATEHOUSE" HHUSTR_E1M4 "E1M4: THE GUARD TOWER" HHUSTR_E1M5 "E1M5: THE CITADEL" HHUSTR_E1M6 "E1M6: THE CATHEDRAL" HHUSTR_E1M7 "E1M7: THE CRYPTS" HHUSTR_E1M8 "E1M8: HELL'S MAW" HHUSTR_E1M9 "E1M9: THE GRAVEYARD" HHUSTR_E2M1 "E2M1: THE CRATER" HHUSTR_E2M2 "E2M2: THE LAVA PITS" HHUSTR_E2M3 "E2M3: THE RIVER OF FIRE" HHUSTR_E2M4 "E2M4: THE ICE GROTTO" HHUSTR_E2M5 "E2M5: THE CATACOMBS" HHUSTR_E2M6 "E2M6: THE LABYRINTH" HHUSTR_E2M7 "E2M7: THE GREAT HALL" HHUSTR_E2M8 "E2M8: THE PORTALS OF CHAOS" HHUSTR_E2M9 "E2M9: THE GLACIER" HHUSTR_E3M1 "E3M1: THE STOREHOUSE" HHUSTR_E3M2 "E3M2: THE CESSPOOL" HHUSTR_E3M3 "E3M3: THE CONFLUENCE" HHUSTR_E3M4 "E3M4: THE AZURE FORTRESS" HHUSTR_E3M5 "E3M5: THE OPHIDIAN LAIR" HHUSTR_E3M6 "E3M6: THE HALLS OF FEAR" HHUSTR_E3M7 "E3M7: THE CHASM" HHUSTR_E3M8 "E3M8: D'SPARIL'S KEEP" HHUSTR_E3M9 "E3M9: THE AQUIFER" HHUSTR_E4M1 "E4M1: CATAFALQUE" HHUSTR_E4M2 "E4M2: BLOCKHOUSE" HHUSTR_E4M3 "E4M3: AMBULATORY" HHUSTR_E4M4 "E4M4: SEPULCHER" HHUSTR_E4M5 "E4M5: GREAT STAIR" HHUSTR_E4M6 "E4M6: HALLS OF THE APOSTATE" HHUSTR_E4M7 "E4M7: RAMPARTS OF PERDITION" HHUSTR_E4M8 "E4M8: SHATTERED BRIDGE" HHUSTR_E4M9 "E4M9: MAUSOLEUM" HHUSTR_E5M1 "E5M1: OCHRE CLIFFS" HHUSTR_E5M2 "E5M2: RAPIDS" HHUSTR_E5M3 "E5M3: QUAY" HHUSTR_E5M4 "E5M4: COURTYARD" HHUSTR_E5M5 "E5M5: HYDRATYR" HHUSTR_E5M6 "E5M6: COLONNADE" HHUSTR_E5M7 "E5M7: FOETID MANSE" HHUSTR_E5M8 "E5M8: FIELD OF JUDGEMENT" HHUSTR_E5M9 "E5M9: SKEIN OF D'SPARIL" ------------------ -----------------------------------------------------Return to Table of Contents
Part 6 - MESSAGES AS A RESULT OF TOGGLING STATES
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- AMSTR_FOLLOWON Automap follow mode toggled on (F) "Follow Mode ON" AMSTR_FOLLOWOFF Automap follow mode toggled off (F) "Follow Mode OFF" AMSTR_GRIDON Automap grid mode toggled on (G) "Grid ON" AMSTR_GRIDOFF Automap grid mode toggled off (G) "Grid OFF" AMSTR_MARKEDSPOT Automap spot marked (M) "Marked Spot" AMSTR_MARKSCLEARED Automap marks cleared (C) "All Marks Cleared" STSTR_MUS Music changed with IDMUSnn "Music Change" STSTR_NOMUS Error message [IDMUS] to bad number "IMPOSSIBLE SELECTION" STSTR_DQDON God mode toggled on [IDDQD] "Degreelessness Mode On" STSTR_DQDOFF God mode toggled off [IDDQD] "Degreelessness Mode Off" STSTR_KFAADDED Ammo and keys added [IDKFA] "Very Happy Ammo Added" STSTR_FAADDED Ammo no keys added [IDK or IDKA] "Ammo (no keys) Added" STSTR_NCON Walk through walls toggled on [IDCLIP or IDSPISPOPD] "No Clipping Mode ON" STSTR_NCOFF Walk through walls off [IDCLIP or IDSPISPOPD] "No Clipping Mode OFF" STSTR_BEHOLD Prompt for IDBEHOLD cheat menu "inVuln, Str, Inviso, Rad, Allmap, or Lite-amp" STSTR_BEHOLDX Prompt after toggling the special with IDBEHOLD "Power-up Toggled" STSTR_CHOPPERS Message when the chainsaw is picked [IDCHOPPERS] "... doesn't suck - GM" STSTR_CLEV Message while changing levels [IDCLEVxx] "Changing Level..." STSTR_COMPON Message when turning on DOOM compatibility mode (*) "Compatibility Mode On" STSTR_COMPOFF Message when turning off DOOM compatibility mode (*) "Compatibility Mode Off" ------------------ -----------------------------------------------------Return to Table of Contents
Part 7 - EPISODE INTERMISSION TEXTS
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- * DOOM/Ultimate DOOM Intermissions E1TEXT Message after Episode 1 of DOOM "Once you beat the big badasses and\nclean out "... E2TEXT Message after Episode 2 of DOOM "You've done it! The hideous cyber-\ndemon lord"... E3TEXT Message after Episode 3 of DOOM "The loathsome spiderdemon that\nmasterminded t"... E4TEXT Message after Episode 4 of Ultimate DOOM "the spider mastermind must have sent forth\nit"... * DOOM2 Intermissions C1TEXT Message after MAP06 "YOU HAVE ENTERED DEEPLY INTO THE INFESTED\nSTA"... C2TEXT Message after MAP11 "YOU HAVE WON! YOUR VICTORY HAS ENABLED\nHUMANK"... C3TEXT Message after MAP20 "YOU ARE AT THE CORRUPT HEART OF THE CITY,\nSUR"... C4TEXT Message after MAP30 "THE HORRENDOUS VISAGE OF THE BIGGEST\nDEMON YO"... C5TEXT Message when entering MAP31 "CONGRATULATIONS, YOU'VE FOUND THE SECRET\nLEVE"... C6TEXT Message when entering MAP32 "CONGRATULATIONS, YOU'VE FOUND THE\nSUPER SECRE"... * PLUTONIA Intermissions P1TEXT Message after MAP06 "You gloat over the steaming carcass of the\nGu"... P2TEXT Message after MAP11 "Even the deadly Arch-Vile labyrinth could\nnot"... P3TEXT Message after MAP20 "You've bashed and battered your way into\nthe "... P4TEXT Message after MAP30 "The Gatekeeper's evil face is splattered\nall "... P5TEXT Message when entering MAP31 "You've found the second-hardest level we\ngot."... P6TEXT Message when entering MAP32 "Betcha wondered just what WAS the hardest\nlev"... * TNT:Evilution Intermissions T1TEXT Message after MAP06 "You've fought your way out of the infested\nex"... T2TEXT Message after MAP11 "You hear the grinding of heavy machinery\nahea"... T3TEXT Message after MAP20 "The vista opening ahead looks real damn\nfamil"... T4TEXT Message after MAP30 "Suddenly, all is silent, from one horizon\nto "... T5TEXT Message when entering MAP31 "What now? Looks totally different. Kind\nof li"... T6TEXT Message when entering MAP32 "Time for a vacation. You've burst the\nbowels "... * New to Eternity: Heretic Intermissions H1TEXT Message after Episode 1 "with the destruction of the iron\nliches and t"... H2TEXT Message after Episode 2 "the mighty maulotaurs have proved\nto be no ma"... H3TEXT Message after Episode 3 "the death of d'sparil has loosed\nthe magical "... H4TEXT Message after SOSR Episode 4 "you thought you would return to your\nown worl"... H5TEXT Message after SOSR Episode 5 "as the final maulotaur bellows his\ndeath-agon"... ------------------ -----------------------------------------------------Return to Table of Contents
Part 8 - CREATURE NAMES FOR THE FINALE
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- CC_ZOMBIE Trooper "ZOMBIEMAN" CC_SHOTGUN Sargeant "SHOTGUN GUY" CC_HEAVY Chaingunner "HEAVY WEAPON DUDE" CC_IMP Imp "IMP" CC_DEMON Demon "DEMON" CC_LOST Lost Soul "LOST SOUL" CC_CACO Cacodemon "CACODEMON" CC_HELL Hell Knight "HELL KNIGHT" CC_BARON Baron of Hell "BARON OF HELL" CC_ARACH Arachnotron (baby spider) "ARACHNOTRON" CC_PAIN Pain Elemental "PAIN ELEMENTAL" CC_REVEN Revenant "REVENANT" CC_MANCU Mancubus "MANCUBUS" CC_ARCH Arch Vile "ARCH-VILE" CC_SPIDER Spider Mastermind "THE SPIDER MASTERMIND" CC_CYBER Cyberdemon "THE CYBERDEMON" CC_HERO Green player "OUR HERO" ------------------ -----------------------------------------------------Return to Table of Contents
Part 9 - INTERMISSION TILED BACKGROUNDS
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- BGFLATE1 End of DOOM Episode 1 "FLOOR4_8" BGFLATE2 End of DOOM Episode 2 "SFLR6_1" BGFLATE3 End of DOOM Episode 3 "MFLR8_4" BGFLATE4 End of DOOM Episode 4 "MFLR8_3" BGFLAT06 DOOM2 after MAP06 "SLIME16" BGFLAT11 DOOM2 after MAP11 "RROCK14" BGFLAT20 DOOM2 after MAP20 "RROCK07" BGFLAT30 DOOM2 after MAP30 "RROCK17" BGFLAT15 DOOM2 going MAP15 to MAP31 "RROCK13" BGFLAT31 DOOM2 going MAP31 to MAP32 "RROCK19" BGCASTCALL Panel behind cast call "BOSSBACK" * New to Eternity BGFLATHE1 End of Heretic Episode 1 "FLOOR25" BGFLATHE2 End of Heretic Episode 2 "FLATHUH1" BGFLATHE3 End of Heretic Episode 3 "FLTWAWA1" BGFLATHE4 End of Heretic:SOSR Episode 4 "FLOOR28" BGFLATHE5 End of Heretic:SOSR Episode 5 "FLOOR08" ------------------ -----------------------------------------------------Return to Table of Contents
Part 10 - NEW: STARTUP BANNERS
Note: If Eternity is set to start in graphics mode, these messages will be
displayed in the console after the name of the engine is displayed, rather than
first off in text mode. Otherwise they behave as in BOOM and MBF.
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- STARTUP1 Starting strings to be displayed during startup "" STARTUP2 Leave them blank to not display "" STARTUP3 You may include \n to split a line "" STARTUP4 Have a nice time "" STARTUP5 Burma Shave "" ------------------ -----------------------------------------------------Return to Table of Contents
Part 10 - NEW: OBITUARIES
These are the built-in obituary strings, which are new to Eternity. They are shown to
the player when he/she dies in certain ways. Note that obituaries for enemy kills are
defined via EDF, and cannot be edited by DeHackEd/BEX files. The player name is
always inserted before the beginning of an obituary string, along with a space.
MNEMONIC Purpose Initial original value (just the first part if long) ------------------ ----------------------------------------------------- OB_SUICIDE Displayed when player kills self via console command "suicides" OB_FALLING Displayed when player dies by falling too far "cratered" OB_CRUSH Displayed when player dies via crusher "was squished" OB_SLIME Displayed when player dies via damaging floor "melted" OB_BARREL Displayed when player killed by inanimate explosion "was blown up" OB_COOP Displayed when player kills player in coop mode "scored a frag for the other team" OB_DEFAULT Displayed on unknown or miscellaneous death "died" OB_ROCKET_SELF Displayed when rocket kills self "should have stood back" OB_BFG11K_SELF Displayed when BFG11k splash damage kills self "used a BFG11k up close" OB_FIST Displayed when player dies by punch in DM "was punched to death" OB_CHAINSAW Displayed when player dies by chainsaw in DM "was mistaken for a tree" OB_PISTOL Displayed when player dies by pistol in DM "took a slug to the head" OB_SHOTGUN Displayed when player dies by shotgun in DM "couldn't duck the buckshot" OB_SSHOTGUN Displayed when player dies by SSG in DM "was shown some double barrels" OB_CHAINGUN Displayed when player dies by chaingun in DM "did the chaingun cha-cha" OB_ROCKET Displayed when player dies by rocket in DM "was blown apart by a rocket" OB_PLASMA Displayed when player dies by plasma in DM "admires the pretty blue stuff" OB_BFG Displayed when player dies by BFG shot in DM "was utterly destroyed by the BFG" OB_BFG_SPLASH Displayed when player dies by BFG tracer in DM "saw the green flash" OB_BETABFG Displayed when player dies by Beta BFG in DM "got a blast from the past" OB_BFGBURST Displayed when player dies by Plasma Burst BFG in DM "was caught in a plasma storm" OB_GRENADE_SELF Displayed when grenade kills self "lost track of a grenade" OB_GRENADE Displayed when player dies by grenade in DM "tripped on a grenade" ------------------ -----------------------------------------------------Return to Table of Contents
Sound Table
This is a current list of the default sounds defined by sounds.edf. The number by each
sound is the number that is used in Thing blocks and elsewhere to call for this sound by
number (also known as its sound DeHackEd number). Note: Heretic sounds have not been
standardized yet and thus are not listed here. You should not attempt to use them until
they have been documented.
Number Name ------------------------ 0 None 1 "pistol" 2 "shotgn" 3 "sgcock" 4 "dshtgn" 5 "dbopn" 6 "dbcls" 7 "dbload" 8 "plasma" 9 "bfg" 10 "sawup" 11 "sawidl" 12 "sawful" 13 "sawhit" 14 "rlaunc" 15 "rxplod" 16 "firsht" 17 "firxpl" 18 "pstart" 19 "pstop" 20 "doropn" 21 "dorcls" 22 "stnmov" 23 "swtchn" 24 "swtchx" 25 "plpain" 26 "dmpain" 27 "popain" 28 "vipain" 29 "mnpain" 30 "pepain" 31 "slop" 32 "itemup" 33 "wpnup" 34 "oof" 35 "telept" 36 "posit1" 37 "posit2" 38 "posit3" 39 "bgsit1" 40 "bgsit2" 41 "sgtsit" 42 "cacsit" 43 "brssit" 44 "cybsit" 45 "spisit" 46 "bspsit" 47 "kntsit" 48 "vilsit" 49 "mansit" 50 "pesit" 51 "sklatk" 52 "sgtatk" 53 "skepch" 54 "vilatk" 55 "claw" 56 "skeswg" 57 "pldeth" 58 "pdiehi" 59 "podth1" 60 "podth2" 61 "podth3" 62 "bgdth1" 63 "bgdth2" 64 "sgtdth" 65 "cacdth" 66 "skldth" 67 "brsdth" 68 "cybdth" 69 "spidth" 70 "bspdth" 71 "vildth" 72 "kntdth" 73 "pedth" 74 "skedth" 75 "posact" 76 "bgact" 77 "dmact" 78 "bspact" 79 "bspwlk" 80 "vilact" 81 "noway" 82 "barexp" 83 "punch" 84 "hoof" 85 "metal" 86 "chgun" 87 "tink" 88 "bdopn" 89 "bdcls" 90 "itmbk" 91 "flame" 92 "flamst" 93 "getpow" 94 "bospit" 95 "boscub" 96 "bossit" 97 "bospn" 98 "bosdth" 99 "manatk" 100 "mandth" 101 "sssit" 102 "ssdth" 103 "keenpn" 104 "keendt" 105 "skeact" 106 "skesit" 107 "skeatk" 108 "radio" 109 "dgsit" 110 "dgatk" 111 "dgact" 112 "dgdth" 113 "dgpain" ------------------------Return to Table of Contents