EDF spritenames: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(Created page with "Sprite names are defined as a list of string values which must be exactly four characters long, and should contain only capital letters and numbers. {{backto|EDF}} ==Syntax== ...")
 
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
Sprite names are defined as a list of string values which must be exactly four characters long, and should contain only capital letters and numbers.  
Sprite names are defined as a list of string values which must be exactly four characters long, and should contain only capital letters and numbers.
 
'''NOTE''': You don't need to use '''spritenames''' for every [[thingtype]] or [[frame]] definition. It's useful for example for [[Dehacked]].
 
{{backto|EDF}}
{{backto|EDF}}


==Syntax==
==Syntax==
Any of the following is allowed:
  spritenames = { <string>, ... }
  spritenames = { <string>, ... }
If this syntax is used more than once, the definition which occurs last during parsing will take precedence as the original definition of the sprite name list. Values may either be added by copying the entire list in a new EDF file and adding the new values anywhere in the list, or by using the following syntax:
 
  spritenames += { <string>, ... }
  spritenames += { <string>, ... }
This syntax allows the addition of new sprite names to the list without requiring the original list to be changed or copied.  
This syntax allows the addition of new sprite names to the list without requiring the original list to be changed or copied.  
Line 10: Line 14:
The names defined in this list are the names by which a sprite must be referred to in all other EDF structures. Sprites are the first item to be parsed, regardless of their location, so like all EDF structures, the list and any additions to it can be placed anywhere.  
The names defined in this list are the names by which a sprite must be referred to in all other EDF structures. Sprites are the first item to be parsed, regardless of their location, so like all EDF structures, the list and any additions to it can be placed anywhere.  


Note: Sprite names may be duplicated in the list. When this occurs, objects will use the corresponding index of the last definition of that sprite name. Avoid this whenever possible, as it is wasteful and may lead to inconsistencies if DeHackEd patches are subsequently applied. Previous versions of the EDF documentation inappropriately stated that all sprite names must be unique. This has never been true, and cannot be made true for purposes of forward compatibility (otherwise addition of new sprites to the default sprites.edf could break older EDFs).  
Note: Sprite names may be duplicated in the list. When this occurs, objects will use the corresponding index of the last definition of that sprite name. Avoid this whenever possible, as it is wasteful and may lead to inconsistencies if DeHackEd patches are subsequently applied. Previous versions of the EDF documentation inappropriately stated that all sprite names must be unique. This has never been true, and cannot be made true for purposes of forward compatibility (otherwise addition of new sprites to the default sprites.edf could break older EDFs).


==Restrictions and Caveats==
==Restrictions and Caveats==
Line 26: Line 30:
  # add a few values in later (maybe near a thing or frames that use them)...
  # add a few values in later (maybe near a thing or frames that use them)...
  spritenames += { "BLAH", "WOOT" }
  spritenames += { "BLAH", "WOOT" }
==See also==
*[[EDF blanksprite]]
[[category:EDF]]
[[category:EDF]]

Latest revision as of 14:32, 2 May 2018

Sprite names are defined as a list of string values which must be exactly four characters long, and should contain only capital letters and numbers.

NOTE: You don't need to use spritenames for every thingtype or frame definition. It's useful for example for Dehacked.

Back to EDF

Syntax[edit]

Any of the following is allowed:

spritenames = { <string>, ... }
spritenames += { <string>, ... }

This syntax allows the addition of new sprite names to the list without requiring the original list to be changed or copied.

The names defined in this list are the names by which a sprite must be referred to in all other EDF structures. Sprites are the first item to be parsed, regardless of their location, so like all EDF structures, the list and any additions to it can be placed anywhere.

Note: Sprite names may be duplicated in the list. When this occurs, objects will use the corresponding index of the last definition of that sprite name. Avoid this whenever possible, as it is wasteful and may lead to inconsistencies if DeHackEd patches are subsequently applied. Previous versions of the EDF documentation inappropriately stated that all sprite names must be unique. This has never been true, and cannot be made true for purposes of forward compatibility (otherwise addition of new sprites to the default sprites.edf could break older EDFs).

Restrictions and Caveats[edit]

  • There must be at least one sprite name defined.
  • Sprite names will be checked for length, but not for invalid characters.
  • If compatibility with DeHackEd patches is desired, new sprites should use addition lists.

Full example[edit]

# defining an original spritenames array (this would replace the default list)
# notice that sprite names never NEED to be quoted, but can be if so desired.
spritenames =
{
  FOO1, FOO2, FOO3, TNT1, PLAY
}

# add a few values in later (maybe near a thing or frames that use them)...
spritenames += { "BLAH", "WOOT" }

See also[edit]