Editing EDF spritenames
From Eternity Wiki
Jump to navigationJump to search
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: | ||
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. | ||
{{backto|EDF}} | {{backto|EDF}} | ||
==Syntax== | ==Syntax== | ||
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 14: | Line 10: | ||
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 30: | Line 26: | ||
# 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" } | ||
== | =Sprite-related variables= | ||
There are two sprite-related variables which may be specified in user EDF files: | |||
*playersprite | |||
*blanksprite | |||
playersprite sets the sprite to be used by the default "Marine" player skin. This must be one of the four-character sprite mnemonics defined in the spritenames array. If not provided in any EDF file, this variable defaults to the value "PLAY" (and if PLAY is not defined in that case, an error will occur). | |||
blanksprite sets the sprite to be used when objects or guns attempt to use a sprite which has no graphics loaded. This must be one of the four-character sprite mnemonics defined in the spritenames array. If not provided in any EDF file, this variable defaults to the value "TNT1" (and if TNT1 is not defined in that case, an error will occur). | |||
These values are parsed immediately after the sprite name list is loaded, and can be placed anywhere. If defined more than once, the last definition encountered takes precedence. These values must be defined at the topmost level of an EDF file. | |||
==Syntax== | |||
playersprite <sprite mnemonic> | |||
blanksprite <sprite mnemonic> | |||
==Full example== | |||
# set the player skin sprite to BLAH | |||
playersprite = BLAH | |||
# set the blank sprite to FOO1 | |||
blanksprite = FOO1 | |||
[[category:EDF]] | [[category:EDF]] |