Editing DeHackEd / BEX Reference

From Eternity Wiki
Jump to navigationJump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
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.  
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 or -bex 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.  
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 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.
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.
 
NOTES:
* DeHackEd lumps are always loaded after EDF has been fully loaded.
* Heretic HHE patches are ''not'' supported and will not be. Make sure to provide equivalent [[EMAPINFO]] (or [[UMAPINFO]]) and EDF equivalents for whatever HHE patching you want in your mod.
 
{{backto|Eternity Engine}}
{{backto|Eternity Engine}}
{{editref}}
{{editref}}
==General Syntax==
=General Syntax=
White-space, empty lines, and unrecognized tokens are ignored outside of any block, and the DeHackEd parser is in general very forgiving.  
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:  
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 comment
  # This is a comment
Note 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.  
Note 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.  


It is common for this header to appear in DeHackEd files which pre-date the DOOM source release:  
It is common for this header to appear in DeHackEd files which pre-date the DOOM source release:  
Patch File for DeHackEd v3.0
  Patch File for DeHackEd v3.0
 
# Note: Use the pound sign ('#') to start comment lines.
  # Note: Use the pound sign ('#') to start comment lines.
 
Doom version = 21
  Doom version = 21
Patch format = 6
  Patch format = 6


However, 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.
However, 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==
=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:  
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 filename
Line 40: Line 35:
You may not nest include files (one include file can't include another). In addition, DEHACKED lumps in wads cannot use INCLUDE directives in any form.
You may not nest include files (one include file can't include another). In addition, DEHACKED lumps in wads cannot use INCLUDE directives in any form.


==Thing Block==
=Thing Block=
{{See|DeHackEd / BEX Reference/Thing Block}}
{{See|DeHackEd / BEX Reference/Thing Block}}


==Frame Block==
=Frame Block=
{{see|DeHackEd / BEX Reference/Frame Block}}
{{see|DeHackEd / BEX Reference/Frame Block}}


==Sound Block==
=Sound Block=
{{see|DeHackEd / BEX Reference/Sound Block}}
{{see|DeHackEd / BEX Reference/Sound Block}}


==Ammo Block==
=Ammo Block=
{{see|DeHackEd / BEX Reference/Ammo Block}}
{{see|DeHackEd / BEX Reference/Ammo Block}}


==Weapon Block==
=Weapon Block=
{{see|DeHackEd / BEX Reference/Weapon Block}}
{{see|DeHackEd / BEX Reference/Weapon Block}}


==Cheat Block==
=Cheat Block=
{{see|DeHackEd / BEX Reference/Cheat Block}}
{{see|DeHackEd / BEX Reference/Cheat Block}}


==Misc Block==
=Misc Block=
{{See|DeHackEd / BEX Reference/Misc Block}}
{{See|DeHackEd / BEX Reference/Misc Block}}


==BEX Extension: [STRINGS] Block==
=BEX Extension: [STRINGS] Block=
{{see|DeHackEd / BEX Reference/BEX Extension: STRINGS Block}}
{{see|DeHackEd / BEX Reference/BEX Extension: STRINGS Block}}


==BEX Extension: [PARS] Block==
=BEX Extension: [PARS] Block=
{{see|DeHackEd / BEX Reference/BEX Extension: PARS Block}}
{{see|DeHackEd / BEX Reference/BEX Extension: PARS Block}}


==BEX Extension: [CODEPTR] Block==
=BEX Extension: [CODEPTR] Block=
{{see|DeHackEd / BEX Reference/BEX Extension: CODEPTR Block}}
{{see|DeHackEd / BEX Reference/BEX Extension: CODEPTR Block}}


==Eternity Extension: [HELPER] Block==
=Eternity Extension: [HELPER] Block=
{{See|DeHackEd / BEX Reference/Eternity Extension: HELPER Block}}
{{See|DeHackEd / BEX Reference/Eternity Extension: HELPER Block}}


==Eternity Extension: [SPRITES] Block==
=Eternity Extension: [SPRITES] Block=
{{see|DeHackEd / BEX Reference/Eternity Extension: SPRITES Block}}
{{see|DeHackEd / BEX Reference/Eternity Extension: SPRITES Block}}


==Eternity Extension: [SOUNDS] Block==
=Eternity Extension: [SOUNDS] Block=
{{see|DeHackEd / BEX Reference/Eternity Extension: SOUNDS Block}}
{{see|DeHackEd / BEX Reference/Eternity Extension: SOUNDS Block}}


==Eternity Extension: [MUSIC] Block==
=Eternity Extension: [MUSIC] Block=
{{See|DeHackEd / BEX Reference/Eternity Extension: MUSIC Block}}
{{See|DeHackEd / BEX Reference/Eternity Extension: MUSIC Block}}


==BEX String Mnemonics Table==
=BEX String Mnemonics Table=
{{see|DeHackEd / BEX Reference/BEX String Mnemonics Table}}
{{see|DeHackEd / BEX Reference/BEX String Mnemonics Table}}


==Sound Table==
=Sound Table=
{{see|DeHackEd / BEX Reference/Sound Table}}
{{see|DeHackEd / BEX Reference/Sound Table}}
[[category:dehacked]]
[[category:dehacked]]
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see Eternity Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)

Templates used on this page: