Editing
ExtraData
(section)
From Eternity Wiki
Jump to navigation
Jump 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.
Anti-spam check. Do
not
fill this in!
==Mapthing Syntax and Fields == The syntax of the ExtraData mapthing record is as follows. Remember that all fields except the '''recordnum''' field are optional and can be specified in any order. mapthing { recordnum <unique number> // These fields are normal mapthing fields type <doomednum> OR <EDF thingtype mnemonic> options <options flag list> // These fields are ExtraData extensions tid <number> special <number> args { <special field>, ... } height <number> } ===Explanation of fields:=== ====recordnum==== The recordnum serves to identify this record, and is the number which ExtraData control objects must use to associate themselves with a mapthing record. Every ExtraData mapthing record must have a unique record number. If a duplicate record number is detected, the engine will currently exit with an error message. The record number is limited to values between 0 and 65535 inclusive. Some editors may only allow input of numbers up to 32767 in the mapthing options field, or may treat values above 32767 as negative numbers. Beware of this. ====type==== Default: No meaningful default value; an Unknown thing will be spawned if not valid. This field specifies the type of object to spawn at the location and angle of ExtraData control objects using this record. This field can accept one of two types of values. The first is a normal thingtype doomednum as specified via [[EDF]] and used by all editors. For example, the DOOM Imp's doomednum is 3001. 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: mapthing { type 3001 } // This record specifies an Imp via its doomednum mapthing { type DoomImp } // This record specifies an Imp by its EDF mnemonic ====options==== Default: No flags are set by default. This field specifies the options (also known as mapthing flags). This field uses the same syntax as BEX/EDF flag strings, but the syntax will be reviewed here for completeness. A BEX flag list is a string of flag names separated by whitespace, pipe characters, commas, or plus characters. In ExtraData, if a flag list contains whitespace, commas, or plus signs, it must be enclosed in double or single quotations. Flags are combined using bitwise-OR logic, so a flag name can be specified more than once. Specifying a flag name causes that flag to be turned on. The default state of all flags is off. These are the flag values which are available for this field: Flag name Meaning ------------------------------------------------------------------------------ EASY Thing appears in easy difficulties NORMAL Thing appears in "Hurt Me Plenty" HARD Thing appears in Ultra-Violence and Nightmare AMBUSH Thing is "deaf", will not wake up via sound NOTSINGLE Thing doesn't appear in single-player mode NOTDM Thing doesn't appear in deathmatch NOTCOOP Thing doesn't appear in cooperative multiplayer FRIEND Thing uses MBF friendly logic DORMANT Thing is dormant at map startup (script feature) STANDING Currently only used for [[Thing_types#Sector_actions|sector actions]]. ------------------------------------------------------------------------------ The mapthing options value 256 (0x0100) is reserved. If this bit is set, all BOOM, MBF, and Eternity extended mapthing bits will be cleared. This is to guard against editors like Hellmaker which set all bits they do not understand, instead of leaving them zero. Example options fields -- All of these are equivalent: // This is the only syntax that does not require quotations. mapthing { options EASY|NORMAL|HARD } // All of these syntaxes must be quoted, because unquoted strings in // ExtraData cannot contain spaces, commas, or plus signs. mapthing { options "EASY NORMAL HARD" } mapthing { options "EASY | NORMAL | HARD" } mapthing { options "EASY+NORMAL+HARD" } mapthing { options "EASY + NORMAL + HARD" } mapthing { options "EASY,NORMAL,HARD" } mapthing { options "EASY, NORMAL, HARD" } ====tid==== Default: 0 The TID, or "Thing ID", is a tag for mapthings which is used for identification in [[ACS]] scripts. TID values must be positive numbers between 1 and 65535. The TID value zero means no TID. Negative TID values are reserved and are used to indicate special things within the engine. TIDs are not required to be unique, and most ACS functions that accept TIDs will perform an action on all mapthings which bear the same TID. ====special==== Default: 0 The thing special field, which will execute when thing dies if it's a monster or picked up if it's an item. Use '''args''' to control the parameters. ====args==== Default: All args values default to zero. The args field is a list of up to five special values which can have a broad range of meanings. Any values not provided in the args list will default, and if more than five values are provided, only the first five will be used. Currently, all args values are interpreted as integers (a non-number string evaluates to zero). This may change in the future. Example args list: mapthing { args { 0, 1, 2, 3, 4 } } ====height==== Default: 0 For normal objects, this field indicates a distance above the floor that the thing will spawn at level start. For objects with the SPAWNCEILING flag, this field indicates a distance below the ceiling instead. This field will have no effect on objects which spawn at a randomized height.
Summary:
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)
Navigation menu
Page actions
Page
Discussion
Read
Edit
History
Page actions
Page
Discussion
More
Tools
Personal tools
Not logged in
Talk
Contributions
Log in
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Search
Tools
What links here
Related changes
Special pages
Page information