Editing ExtraData

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:
With support of [[Universal Doom Map Format]] in releases of Eternity, ExtraData is now considered {{Deprecated}}. In the future new features introduced into UDMF will not be supported by ExtraData. ExtraData maps will still work, but new projects should use UDMF due to its greatly streamlined mapping experience, especially if using editors such as [https://www.doomworld.com/forum/topic/96943 Doom Builder X] or [https://forum.zdoom.org/viewtopic.php?t=54957 GZDoomBuilder-Bugfix] are used (the former including specific improvements for Eternity's UDMF, such as for [[linked portals]]).
ExtraData is a new data specification language for the [[Eternity Engine]] that allows arbitrary extension of mapthings, lines, and sectors with any number of new fields, with data provided in more or less any format. The use of a textual input language forever removes any future problems caused by binary format limitations. The ExtraData parser is based on the libConfuse configuration file parser library by Martin Hedenfalk, which is also used by GFS and EDF.  


ExtraData is a new data specification language for the [[Eternity Engine]] that allows arbitrary extension of mapthings, lines, and sectors with any number of new fields, with data provided in more or less any format. The use of a textual input language forever removes any future problems caused by binary format limitations. The ExtraData parser is based on the libConfuse configuration file parser library by Martin Hedenfalk, which is also used by GFS and EDF.  
Each section in this document deals with one of the ExtraData constructs, as well as how to embed ExtraData in a WAD and how to associate it with a given map.  


Each section in this document deals with one of the ExtraData constructs, as well as how to embed ExtraData in a WAD and how to associate it with a given map.
ExtraData will continue to be supported in future versions of Eternity, even though it will soon be superceded by support for the [[Universal Doom Map Format]].
{{Backto|Eternity Engine}}
{{Backto|Eternity Engine}}
{{editref}}
{{editref}}
Line 64: Line 64:


This field can also accept EDF thingtype mnemonics. EDF thingtype mnemonics must be prefixed with ''thing:'' -- this allows the parser to know it is dealing with a string instead of a number. EDF thingtypes must have a unique doomednum to be specified in an ExtraData mapthing record. If the specified EDF thingtype doesn't exist or has a doomednum of -1, an Unknown object will be spawned instead.  
This field can also accept EDF thingtype mnemonics. EDF thingtype mnemonics must be prefixed with ''thing:'' -- this allows the parser to know it is dealing with a string instead of a number. EDF thingtypes must have a unique doomednum to be specified in an ExtraData mapthing record. If the specified EDF thingtype doesn't exist or has a doomednum of -1, an Unknown object will be spawned instead.  
See [[Thing types]] for a list of potentially useful types, new to Eternity, to use here.


Example:  
Example:  
Line 71: Line 69:
      
      
     mapthing { type DoomImp } // This record specifies an Imp by its EDF mnemonic
     mapthing { type DoomImp } // This record specifies an Imp by its EDF mnemonic
 
   
====options====
====options====
Default: No flags are set by default.  
Default: No flags are set by default.  
Line 91: Line 89:
     FRIEND      Thing uses MBF friendly logic
     FRIEND      Thing uses MBF friendly logic
     DORMANT    Thing is dormant at map startup (script feature)
     DORMANT    Thing is dormant at map startup (script feature)
    STANDING    Currently only used for [[Thing_types#Sector_actions|sector actions]].
     ------------------------------------------------------------------------------
     ------------------------------------------------------------------------------
      
      
Line 213: Line 210:
     ---------------------------------------------------------------------------------------
     ---------------------------------------------------------------------------------------
      
      
Notes: IMPACT is currently only implemented for bullet weapons.
Notes: IMPACT is currently only implemented for bullet weapons. The ability to use IMPACT with MISSILE will be added in the near future. The PUSH style of activation is not implemented at all yet, so this flag currently does nothing.  


LOWERPORTAL and UPPERPORTAL are used to enable portals on the front side's upper and/or lower edges of a linedef, if the sector in front of the linedef is tall enough compared to the back sector to expose them. It is the only way to enable such portals, which will copy the sector portal(s) from the backside, if any.
LOWERPORTAL and UPPERPORTAL are used to enable portals on the front side's upper and/or lower edges of a linedef, if the sector in front of the linedef is tall enough compared to the back sector to expose them. It is the only way to enable such portals, which will copy the sector portal(s) from the backside, if any.
Line 301: Line 298:
   overlayalpha.floor <percentage or value from 0 to 255>
   overlayalpha.floor <percentage or value from 0 to 255>
   overlayalpha.ceiling <percentage or value from 0 to 255>
   overlayalpha.ceiling <percentage or value from 0 to 255>
  portalid.floor <number>
  portalid.ceiling <number>
  }
  }
===Explanation of fields: ===
===Explanation of fields: ===
Line 472: Line 467:


These two fields (overlayalpha.floor and overlayalpha.ceiling) specify the opacity of the corresponding portal overlay, if any exists. You can specify either a percentage value from 0% to 100%, or a plain integer number from 0 to 255. 100%/255 are completely solid, while 0% is invisible.
These two fields (overlayalpha.floor and overlayalpha.ceiling) specify the opacity of the corresponding portal overlay, if any exists. You can specify either a percentage value from 0% to 100%, or a plain integer number from 0 to 255. 100%/255 are completely solid, while 0% is invisible.
====portalid.floor/portalid.ceiling====
:''Default'': 0
These two fields control the placement of portals defined by [[Portal_Define]] on the floor or ceiling of this sector. Values can be positive (in which case the direct portal will be used) or negative (in which case the opposite direction portal will be used, ''if'' applicable).
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)