v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Graphics token"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Addition of basic how-to's for creature graphics.)
(→‎Layered Conditions: v51 content released non-experimentally in 50.13)
 
(40 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{Quality|Unrated}}
+
{{Quality|Exceptional}}
 
{{av}}
 
{{av}}
{{old}}
 
 
{{Modding}}
 
{{Modding}}
 +
:{{for/see|an explanation of how to use the various graphics types|[[Graphics]]}}
  
 
The <code>[OBJECT:GRAPHICS]</code> [[token]] defines the use of various tile-based graphics in the game. As of version 50.01, graphics tokens have been greatly expanded to accommodate the release of the Steam & Itch premium version. These tokens, and explanations on how to use them, are listed below; the list will expand as the tokens are discovered and understood.
 
The <code>[OBJECT:GRAPHICS]</code> [[token]] defines the use of various tile-based graphics in the game. As of version 50.01, graphics tokens have been greatly expanded to accommodate the release of the Steam & Itch premium version. These tokens, and explanations on how to use them, are listed below; the list will expand as the tokens are discovered and understood.
  
Making custom graphics requires multiple interacting files to function:
+
== Creature Graphics ==
# An 8bit RGBA (sometimes called 32bit) "imagename.png" in the <code>\<mod_id>\graphics\images</code> folder
+
Creature graphics are found within graphics_creature_x files (such as graphics_creature_domestic or graphics_creature_layered). All graphics files must begin with the file name, followed by the <code>[OBJECT:GRAPHICS]</code> type that tells the game that the file contains graphics definitions. A more detailed explanation on how to use these can be found in [[Graphics#Creature_Graphics|creature graphics]].
# A "tile_page_name.txt" in the <code>\<mod_id>\graphics</code> folder
 
# A "graphics_type_name.txt" in the <code>\<mod_id>\graphics</code> folder
 
  
Mods can reuse any graphics loaded ahead of them (including vanilla) by using the same tile page token.
+
=== Types ===
 +
{| {{prettytable}}
 +
|- bgcolor="#dddddd"
 +
! Type
 +
! Arguments
 +
! Description
  
== Tile Page ==
+
|-
 +
| {{text anchor|CREATURE_GRAPHICS}}
 +
|
 +
* [[Creature token|creature id]]
 +
| The simplest and most common form of creature graphics for defining one sprite for each [[#Condition|basic condition]].
  
Tile pages link image files to a tile page token so they can be referenced by the graphics file. Just like all other [[Raw file]]s, Tile Pages must be defined from within a properly named "tile_page_<name>.txt" file and follow:
+
Further conditions are required for this to function following the [[Graphics#Basic_Graphics|creature graphics]] format. Accepts [[Graphics#Large_Graphics|large graphics tokens]].
  
tile_page_<name>
+
Additionally used to start defining a [[Graphics#Layered_Graphics|layered graphics]] set.
 
[OBJECT:TILE_PAGE]
 
  
After the object type is defined as above, any number of tile pages can be defined according to the format below.
+
|-
 +
| {{text anchor|CREATURE_CASTE_GRAPHICS}}
 +
|
 +
* [[Creature token|creature id]]
 +
* [[Caste|Caste ID]]
 +
| Nearly the same as {{token|CREATURE_GRAPHICS|g}}, but allows a separate sprite to be defined for each caste.
 +
A simple alternative to [[Graphics#Layered Graphics|Layered Graphics]].
  
  [TILE_PAGE:<tile page identifier>]
+
Requires conditions defined in [[Graphics#Basic_Graphics|creature graphics]] format. Accepts [[Graphics#Large_Graphics|large graphics tokens]].
      [FILE:images/imagename.png]
 
      [TILE_DIM:<tile x dim>:<tile y dim>]
 
      [PAGE_DIM_PIXELS:<page x dim>:<page y dim>]
 
  
* ''tile page identifier'': The Internal ID being created for the image.
+
|-
* ''imagename.png'': The file name of the 8bit RGBA (sometimes called 32bit) in the <code>\graphics\images</code> folder of the mod.
+
| {{text anchor|STATUE_CREATURE_GRAPHICS}}
* ''tile x dim'': The width of each tile in pixels (usually 32).
+
|
* ''tile y dim'': The height of each tile in pixels (usually 32).
+
* [[Creature token|creature id]]
* ''page x dim'': The width of the image file in pixels.
+
| Format for beginning a [[Graphics#Statue_Graphics|creature statue definition]]. Defines a 1x2 vertical rectangle to be displayed when a statue depicts one of these creatures.
* ''page y dim'': The height of the image file in pixels.
 
  
Known issues:
+
|-
* Currently it is only recommended to use <code>[TILE_DIM:32:32]</code> as only the upper left 32x32 pixels are displayed on tiles defined larger, and smaller tiles are displayed starting from the upper left of each in-game square (individually by tile with large graphics) rather than centered and bottom justified as might be expected.
+
| {{text anchor|STATUE_CREATURE_CASTE_GRAPHICS}}
* It is important that the <code>[PAGE_DIM_PIXELS:<x dim>:<y dim>]</code> matches the size of the referenced image exactly - as the game will stretch tile pages with a dimension larger than the actual image by inserting blank lines, and a tile page smaller than the image will cause a crash to desktop.
+
|
 +
* [[Creature token|creature id]]
 +
* [[Caste|Caste ID]]
 +
| Format for beginning a [[Graphics#Statue_Graphics|creature statue definition]] while specifying caste. Defines a 1x2 vertical rectangle to be displayed when a statue depicts one of these creatures.
  
 +
|-
 +
| {{text anchor|TILE_GRAPHICS_RECTANGLE}}
 +
|
 +
* [[Creature token|creature id]]
 +
| Graphics for a 3x2 rectangle; for creatures, this is used exclusively for representing Forgotten Beasts based on their body parts. Uses [[Graphics#Forgotten_Beast_Graphics|forgotten beast graphics]]. It's also, however, used for interface graphics, see [[graphics_interface.txt]].
  
== Creature Graphics ==
+
|}
  
Creature graphics are found within graphics_creature_x files (such as graphics_creature_domestic or graphics_creature_layered). All graphics files must begin with the file name, followed by the <code>[OBJECT:GRAPHICS]</code> token that tells the game that the file contains graphics definitions.
+
=== Conditions ===
 +
Different graphics can be defined for the same creature based on some properties about it. Below is a list of all the basic "creature texture" types that can be used as additional conditions to various basic sprites.
  
 +
{| {{prettytable}}
 +
|- bgcolor="#dddddd"
 +
! Condition
 +
! Description
 +
|-
 +
| {{text anchor|DEFAULT}} || The default condition that will be displayed unless overwritten by a more specific one below.
  
=== Basic Graphics ===
+
|-
The most basic form of creature graphics is a single-tile, displayed by default for all conditions the creature is in:
+
| {{text anchor|LAW_ENFORCE}} || Displayed if the unit is law enforcement.
[CREATURE_GRAPHICS:<creature id>]
 
    [<condition>:<tile page identifier>:<x position>:<y position>:<color type>:<secondary condition>]
 
  
* ''condition'': The state the creature needs to be in for this image to be displayed. Use <code>DEFAULT</code> for the simplest graphics.
+
|-
* ''creature id'': The [[Creature token|Creature ID]] the graphics represent.
+
| {{text anchor|TAX_ESCORT}} || Displayed if the unit escorts a tax collector (unused).
* ''tile page identifier'': The Internal ID of the image defined in [[#Tile Page|tile page]].
 
* ''x position'': The x position (left&rarr;right) of the image in tiles counting from 0.
 
* ''y position'': The y position (top&rarr;bottom) of the image in tiles counting from 0.
 
* ''color type'': (optional) Frequently replaced with <code>AS_IS</code> in vanilla [[Raw|RAW]]s. ColorTypeEnum{{cite|DF language server|https://gitlab.com/df-modding-tools/df-raw-language-server/-/blob/dev/df_ls_structure/src/objects/graphics.rs}}
 
* ''secondary condition'': (optional) An additional condition that must be satisfied for the image to be displayed.
 
  
 +
|-
 +
| {{text anchor|ANIMATED}} || Displayed if the creature is raised from the dead using an I_EFFECT:ANIMATE interaction.
  
==== Caste Graphics ====
+
|-
[CREATURE_CASTE_GRAPHICS:<creature id>:<caste id>]
+
| {{text anchor|GHOST}} || Displayed if the creature is a ghost.
    [<condition>:<tile page identifier>:<x position>:<y position>:<color type>:<secondary condition>]
 
  
* ''caste id'': The [[Caste|Caste ID]] of the caste whose graphics are being specifically defined.
+
|-
 +
| {{text anchor|ADVENTURER}} || Displayed if the creature is an adventurer.
  
Creature caste graphics only accept <code>MALE</code> and <code>FEMALE</code> as caste id's even in custom creatures that have more than two castes.
+
|-
 +
| {{text anchor|CORPSE}} || Displayed for corpses.
  
 +
|}
  
==== Large Graphics ====
+
=== Basic creature sprite types ===
The only difference between graphics for large creatures and small creatures is the addition of <code>LARGE_IMAGE</code> and additional coordinates to the line below:
 
  
    [<condition>:<tile page identifier>:LARGE_IMAGE:<x1>:<y1>:<x2>:<y2>:<color type>:<secondary condition>]
+
An individual sprite can be of any of the following classes. If "accepts secondary" is "yes", it can also have an extra condition tacked on at the end.
  
* ''LARGE_IMAGE'': This tag allows a rectangular image with multiple tiles to be defined by its upper left and lower right tiles. Valid for 1x1 - 3x2 tiles.
+
{| {{prettytable}}
* ''x1'': The x position of the upper left tile counting from 0 from the left of the tile page.
+
|- bgcolor="#dddddd"
* ''y1'': The y position of the upper left tile counting from 0 from the top of the tile page.
+
! Condition
* ''x2'': The x position of the lower right tile.
+
! Description
* ''y2'': The y position of the lower right tile.
+
|-
 +
| {{text_anchor|Basic Condition}} || Any of the [[Graphics token#Conditions|above conditions]] can be used on their own, as the default for that condition class.
  
Large images and small images can be used within the same <code>CREATURE_GRAPHICS</code> or <code>CREATURE_CASTE_GRAPHICS</code> definition, and in fact it is often useful to include a single tile image to act as a {{token|LIST_ICON|g}} for menus.
+
|-
 +
| {{text_anchor|Unit type}} || Any [[Unit type token]] can be used. You may also append a [[Graphics token#Conditions|basic condition as above]] to further specify.
  
 +
|-
 +
| {{text_anchor|Position}} || Any [[Position token]] can be used, such as MONARCH, BROKER etc. All position tokens are raw-defined; any modded positions can have their own graphics. You may also append a [[Graphics token#Conditions|basic condition as above]] to further specify.
  
==== Conditions ====
+
|-
Different graphics can be defined for the same creature based on some properties about it. Below is a list of all conditions that can be used for <code>CREATURE_GRAPHICS</code> and <code>CREATURE_CASTE_GRAPHICS</code>.
+
| {{text_anchor|LIST_ICON}} || The default icon for this creature in lists, such as [[Arena]] mode or overall training.
 +
 
 +
|-
 +
| {{text_anchor|EGG}} || The sprite for a clutch of eggs.
 +
 
 +
|-
 +
| {{text_anchor|SKELETON}} || The sprite for a rotten corpse.
 +
 
 +
|-
 +
| {{text_anchor|SKELETON_WITH_SKULL}} || The sprite for a rotten corpse that can have a [[totem]] made from it.
 +
 
 +
|}
 +
 
 +
=== Layered Conditions ===
 +
Layers aren't very useful on their own, so they come with a set of conditions to define how when they are displayed and how they interact.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
 
|- bgcolor="#dddddd"
 
|- bgcolor="#dddddd"
! Condition
+
! Token
! Accepts<br>Secondary
+
! Arguments
 +
! Type
 
! Description
 
! Description
 +
 +
|-
 +
| {{text_anchor|LAYER_SET}} ||
 +
* condition
 +
| Creature<br>Graphics
 +
| Begins defining a layer set for a creature's graphics.  Valid values of ''condition'' are DEFAULT, PORTRAIT{{version|50.13}}, or CORPSE. Valid values for basic conditions may not work.{{verify}}
 +
 +
|-
 +
| {{text_anchor|LS_PALETTE}}{{version|50.13}} ||
 +
*  name
 +
|| Layer<br>Set
 +
|| Begins defining a palette for the layer set. Its name can be referenced by {{token|USE_PALETTE|g}}. Unlike the palettes used to render all [[descriptor color token]]s, it can be of arbitrary length.
 +
 +
|-
 +
| {{text_anchor|LS_PALETTE_FILE}}{{version|50.13}} ||
 +
* file name
 +
| Palette
 +
| The file name of the 8bit RGBA (sometimes called 32bit) in the <tt>/graphics/images</tt> folder of the mod, such as <tt>images/portraits/dwarf_portrait_body_palette.png</tt>.
 +
 +
|-
 +
| {{text_anchor|LS_PALETTE_DEFAULT}}{{version|50.13}} ||
 +
* integer
 +
| Palette
 +
| Defines the default row of a layer set palette, conventionally 0. The exact color values on this row will be replaced on layer images with the colors in the same column, based on what row is passed as an argument to {{token|USE_PALETTE|g}}.
 +
 +
|-
 +
| {{text_anchor|LG_CONDITION_BP}}{{version|50.13}} ||
 +
*  selection criteria BY_TYPE, BY_CATEGORY, BY_TOKEN
 +
*  category, type, or token
 +
|| Layer<br>Group
 +
|| Allows the entire layer group (rather than an individual layer) to be switched on and off depending on the conditions of a body part. Should accept the same tokens {{token|CONDITION_BP|g}} does. {{verify}}
 +
 +
|-
 +
| {{text_anchor|END_LAYER_GROUP}} ||  || Layer<br>Group
 +
| Explicitly marks the end of a layer group, which allows layers after to not belong to any layer group.
 +
 +
|-
 +
| {{text_anchor|CONDITION_ITEM_WORN}} ||
 +
* BY_CATEGORY / BY_TOKEN
 +
* [[Body_token#CATEGORY|category]] / [[Body_token#BP|body part token]]
 +
* Armor type (ARMOR, GLOVES, Etc.)
 +
* Item ID(s)
 +
|| Armor<br>Wieldables || Defines a clothing or armor graphic by the specific part it is equipped to, the type of armor it is, and the internal id of that item.
 +
For example, a condition representing a right handed mitten or glove would be defined as:
 +
<code>[CONDITION_ITEM_WORN:BY_TOKEN:RH:GLOVES:ITEM_GLOVES_MITTENS]</code>
 +
Also accepts the input <code>ANY_HELD</code> or <code>WIELD</code> (e.g. <code>WIELD:WEAPON:ANY</code>).
 +
 +
|-
 +
| {{text_anchor|SHUT_OFF_IF_ITEM_PRESENT}} ||
 +
* BY_CATEGORY / BY_TOKEN
 +
* [[Body_token#CATEGORY|category]] / [[Body_token#BP|body part token]]
 +
* Armor type
 +
* Item ID(s)
 +
|| Armor || Causes the current layer to not be rendered if the creature has one of the items worn or equipped. Also accepts the input <code>ANY_HELD</code> or <code>WIELD</code> (e.g. <code>WIELD:WEAPON:ANY</code>).
 +
 +
|-
 +
| {{text_anchor|CONDITION_CASTE}} ||
 +
* caste name(s)
 +
|| General
 +
|| Displays this layer if the creature is this caste. Only one caste is accepted for each condition, but multiple caste conditions can be used in one layer and the layer will be displayed if any of them match.
 +
 +
|-
 +
| {{text_anchor|CONDITION_DYE}} ||
 +
* dye color
 +
|| Armor
 +
|| Should represent which color the clothing is dyed. Currently nonfunctional.{{version|50.05}}
 +
 +
|-
 +
| {{text_anchor|CONDITION_NOT_DYED}} ||  || Armor
 +
|| Should check if the clothing is dyed. Currently nonfunctional.{{version|50.05}}
 +
 +
|-
 +
| {{text_anchor|CONDITION_MATERIAL_FLAG}} ||
 +
* material flag
 +
|| Material || Changes graphics based on the material an equipped item is made of. Valid material flags are similar to [[Reaction#Full_token_list|reactant conditions]] including:
 +
* WOVEN_ITEM
 +
* ANY_X_MATERIAL
 +
:with X being:
 +
:* PLANT, SILK, YARN, LEATHER, WOOD, SHELL, BONE, STONE, GEM, TOOTH, HORN, PEARL
 +
* IS_DIVINE_MATERIAL
 +
* NOT_ARTIFACT
 +
* IS_CRAFTED_ARTIFACT
 +
* METAL_ITEM_MATERIAL
 +
* GLASS_MATERIAL
 +
* FIRE_BUILD_SAFE
 +
* MAGMA_BUILD_SAFE
 +
[http://www.bay12forums.com/smf/index.php?topic=169696.msg8442543#msg8442543 among other, less useful ones.]
 +
 
|-
 
|-
| {{text anchor|DEFAULT}} || No || The default condition that will be displayed unless overwritten by a more specific one below.
+
| {{text_anchor|CONDITION_MATERIAL_TYPE}} ||
 +
* material token
 +
|| Material || Changes graphics based on the material an equipped item is made of. Valid material types take the form <code>METAL:COPPER</code> where copper can be replaced with any weapons-grade metal. General [[material token]]s are '''not''' functional. {{token|CONDITION_MATERIAL_FLAG|g}} is a better option for any material condition other than metal.
  
 
|-
 
|-
| {{text anchor|CHILD}} || Yes || Will only be displayed if the creature has a {{token|CHILD|c}} or {{token|BABY|c}} and is younger than one of those ages.
+
| {{text_anchor|CONDITION_PROFESSION_CATEGORY}} ||
 +
* [[Unit type token#Profession Categories|profession category token(s)]]
 +
|| General
 +
|| Checks the profession category of the creature to act as a condition. Multiple profession category tokens can be chained together. You can also use multiple of these tokens instead of listing them all in a single one, but this is functionally identical. Valid Profession tokens which are not categories will be ignored; values that do not match any existing Profession will be treated as <code>NONE</code> and thus apply to doctors, military, etc..
  
 
|-
 
|-
| {{text anchor|ANIMATED}} || Yes || Displayed if the creature is risen from the dead (has {{token|NOT_LIVING|c}} or {{token|OPPOSED_TO_LIFE|c}}){{verify}}
+
| {{text_anchor|CONDITION_RANDOM_PART_INDEX}} ||
 +
* body part
 +
* integer index
 +
* integer range
 +
|| General
 +
|| Chooses a random layer within the same group of body parts. Index is which option this condition is, out of Range number of options. Ex:
 +
<code>[CONDITION_RANDOM_PART_INDEX:HEAD:3:4]</code>
 +
Is the third possible random head out of four total options. One of these random conditions each will be put into a set of four slightly different heads to add some random variation in the appearance of the creature's head.
  
 
|-
 
|-
| {{text anchor|CORPSE}} || Yes || Displayed as soon as the creature dies.
+
| {{text_anchor|CONDITION_HAUL_COUNT_MIN}} ||
 +
* integer
 +
|| General
 +
|| Counts how many items the creature is hauling. Used for {{token|PACK_ANIMAL}}s in vanilla.
  
 
|-
 
|-
| {{text anchor|TRAINED_HUNTER}} || Yes || Shown for hunting-trained versions of this creature.
+
| {{text_anchor|CONDITION_HAUL_COUNT_MAX}} ||
 +
* integer
 +
|| General
 +
|| Counts how many items the creature is hauling. Used for {{token|PACK_ANIMAL}}s in vanilla.
  
 
|-
 
|-
| {{text anchor|TRAINED_WAR}} || Yes || Shown for war-trained versions of this creature.
+
| {{text_anchor|CONDITION_CHILD}} || || General
 +
|| Checks if the creature is a child or baby.
  
 
|-
 
|-
| {{text anchor|LIST_ICON}} || Unknown || Displayed in menus. Useful for large images that would extend beyond the menu boxes otherwise/
+
| {{text_anchor|CONDITION_NOT_CHILD}} || || General
 +
|| Checks if the creature is an adult.
  
 
|-
 
|-
| {{text anchor|SKELETON}} || Unknown || Decayed remains of the creature.{{verify}}
+
| {{text_anchor|CONDITION_GHOST}} || || General
 +
|| Checks if the creature is a ghost.
  
 
|-
 
|-
| {{text anchor|SKELETON_WITH_SKULL}} || Unknown || Decayed remains of the creature with a skull.{{verify}}
+
| {{text_anchor|CONDITION_SYN_CLASS}} ||
 +
* [[Syndrome#SYN_CLASS|SYN_CLASS]]
 +
|| Syndrome || Changes graphics based on any syndromes the creature is affected by. Vanilla values include:
 +
* ZOMBIE
 +
* NECROMANCER
 +
* VAMPCURSE
 +
* RAISED_UNDEAD
 +
* GHOUL
  
 
|-
 
|-
| {{text anchor|VERMIN}} || Unknown || Necessary for defining graphics that use the tokens below.{{verify}}
+
| {{text_anchor|CONDITION_TISSUE_LAYER}} ||
 +
* BY_CATEGORY
 +
* [[Body_token#CATEGORY|body part category]] or ALL
 +
* [[Body_detail_plan_token#BP_LAYERS|tissue layer]] or ALL
 +
|| Tissue
 +
|| Selects a tissue layer to use for checking other conditions. Ex:
 +
<code>[CONDITION_TISSUE_LAYER:BY_CATEGORY:ALL:SKIN]</code>
  
 
|-
 
|-
| {{text anchor|VERMIN_ALT}} || Unknown || Image cycles every 1 second.
+
| {{text_anchor|TISSUE_MIN_LENGTH}} ||
 +
* integer
 +
|| Tissue
 +
|| Checks the current {{token|CONDITION_TISSUE_LAYER|g}}'s LENGTH [[Creature_token#TISSUE_LAYER_APPEARANCE_MODIFIER|appearance modifier]]. Is true if the LENGTH is greater than the integer input.
  
 
|-
 
|-
| {{text anchor|SWARM_SMALL}} || Unknown || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in small groups.
+
| {{text_anchor|TISSUE_MAX_LENGTH}} ||
 +
* integer
 +
|| Tissue
 +
|| Checks the current {{token|CONDITION_TISSUE_LAYER|g}}'s LENGTH [[Creature_token#TISSUE_LAYER_APPEARANCE_MODIFIER|appearance modifier]]. Is true if the LENGTH is less than the integer input.
  
 
|-
 
|-
| {{text anchor|SWARM_MEDIUM}} || Unknown || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in medium-sized groups.
+
| {{text_anchor|TISSUE_MAY_HAVE_COLOR}} ||
 +
* [[Color#Color_tokens|color token(s)]]
 +
|| Tissue
 +
|| Checks the selected tissue's color. Accepts multiple color tokens, and is true if the any of the colors is present in the selected tissues.
  
 
|-
 
|-
| {{text anchor|SWARM_LARGE}} || Unknown || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in large groups.
+
| {{text_anchor|TISSUE_MAY_HAVE_SHAPING}} ||
 +
* styling token
 +
|| Tissue
 +
|| Checks the current {{token|CONDITION_TISSUE_LAYER|g}}'s shaping (hairstyle). Valid tokens are NEATLY_COMBED, BRAIDED, DOUBLE_BRAIDS, PONY_TAILS, CLEAN_SHAVEN and STANDARD_HAIR/BEARD/MOUSTACHE/SIDEBURNS_SHAPINGS.{{verify}}
  
 
|-
 
|-
| {{text anchor|LIGHT_VERMIN}} || Unknown || For [[firefly|fireflies]] etc. Does not replace {{token|VERMIN|g}}.
+
| {{text_anchor|TISSUE_NOT_SHAPED}} || || Tissue
 +
|| Checks the current {{token|CONDITION_TISSUE_LAYER|g}}'s color. Accepts multiple color tokens, and is true if the any of the colors is present in the selected tissues.
  
 
|-
 
|-
| {{text anchor|LIGHT_VERMIN_ALT}} || Unknown || Like {{token|VERMIN_ALT|g}} for [[firefly|fireflies]] etc.
+
| {{text_anchor|TISSUE_SWAP}} ||
 +
* IF_MIN_CURLY
 +
* integer
 +
* tile page id
 +
* x position
 +
* y position
 +
| Tissue
 +
| Checks if a tissue is sufficiently curly, and if so swaps to display a different image. The new image is defined by the tile page ID, x position, and y position.
 +
 
 +
This condition should be within a [LAYER:... ] that has a similar graphic to the on in the TISSUE_SWAP.
 +
The current {{token|CONDITION_TISSUE_LAYER|g}} group must also include a {{token|TISSUE_MIN_LENGTH|g}}.
  
 
|-
 
|-
| {{text anchor|LIGHT_SWARM_SMALL}} || Unknown || Like {{token|SWARM_SMALL|g}} for [[firefly|fireflies]] etc in small groups.
+
| {{text_anchor|ITEM_QUALITY}}{{version|50.13}} ||
 +
* integer
 +
| Armor<br>Wieldables{{verify}}
 +
|| Checks the current {{token|CONDITION_ITEM_WORN|g}}'s [[quality]]. 0 is base quality, 5 is masterwork.  See [CONDITION_MATERIAL_FLAG:IS_CRAFTED_ARTIFACT] for [[artifact]]-quality items.
  
 
|-
 
|-
| {{text anchor|LIGHT_SWARM_MEDIUM}} || Unknown || Like {{token|SWARM_LARGE|g}} for [[firefly|fireflies]] etc in large groups.
+
| {{text_anchor|USE_PALETTE}}{{version|50.13}} ||
 +
* layer set palette
 +
* row
 +
| General
 +
|| Colors the layer using that row of the layer-set-specific {{token|LS_PALETTE|g}}.
  
 
|-
 
|-
| {{text anchor|LIGHT_SWARM_LARGE}} || Unknown || Like {{token|SWARM_LARGE|g}} for [[firefly|fireflies]] etc.
+
| {{text_anchor|USE_STANDARD_PALETTE_FROM_ITEM}}{{version|50.13}} || || Armor<br>Wieldables{{verify}}
 +
|| Uses the default palette to render the layer based on the [[Material definition token#STATE_COLOR|color]] of the current {{token|CONDITION_ITEM_WORN|g}}.
  
 
|-
 
|-
| {{text anchor|REMAINS}} || Unknown || Vermin corpses.
+
| {{text_anchor|CONDITION_BP}}{{version|50.13}} ||
 +
*  selection criteria BY_TYPE, BY_CATEGORY, BY_TOKEN
 +
*  category, type, or token
 +
| Body
 +
|| Defines a body part graphic using standard [[body token]] selection criteria.  
  
 
|-
 
|-
| {{text anchor|HIVE}} || Unknown || Vermin hives.
+
| {{text_anchor|BP_APPEARANCE_MODIFIER_RANGE}}{{version|50.13}} ||
 +
*  QUALITY
 +
*  minimum
 +
*  maximum
 +
| Body
 +
|| Checks if current {{token|CONDITION_BP|g}}'s {{token|BP_APPEARANCE_MODIFIER|c}} falls within the chosen range.
 +
 
 +
|-
 +
| {{text_anchor|BP_PRESENT}}{{version|50.13}} || || Body
 +
|| Checks if the current {{token|CONDITION_BP|g}} is present and not destroyed, pulped, or severed. Can also be applied to {{token|LG_CONDITION_BP|g}}.
 +
 
 +
|-
 +
| {{text_anchor|BP_SCARRED}}{{version|50.13}} || || Body
 +
|| Checks if the current {{token|CONDITION_BP|g}} is scarred. Seems to also require {{token|BP_PRESENT|g}} to avoid illogical results. {{verify}}
 +
 
 
|}
 
|}
  
 +
=== Vermin Conditions ===
 +
Special Conditions for {{token|VERMIN|c}} creature graphics:
  
=== Layered Graphics ===
+
{| {{prettytable}}
Layered graphics are a method for displaying overlapping body parts, equipment, clothing, professions, hairstyles.. etc.
+
|- bgcolor="#dddddd"
 +
! Condition
 +
! Description
 +
|-
 +
| {{text anchor|VERMIN}} || The default graphic for this vermin.
  
 +
|-
 +
| {{text anchor|VERMIN_ALT}} || Image cycles every 1 second.
  
=== Forgotten Beast Graphics ===
+
|-
Forgotten beast graphics define layered graphics based on which body parts are present in each procedurally-generated forgotten beast.
+
| {{text anchor|SWARM_SMALL}} || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in small groups.
  
    [TILE_GRAPHICS_RECTANGLE:<tile page id>:<x1>:<y1>:<x2>:<y2>:<body_rcp token>]
+
|-
 +
| {{text anchor|SWARM_MEDIUM}} || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in medium-sized groups.
  
* ''condition'': The state the creature needs to be in for this image to be displayed. Use <code>DEFAULT</code> for the simplest graphics.
+
|-
* ''creature token'': The [[Creature token|Creature ID]] the graphics represent.
+
| {{text anchor|SWARM_LARGE}} || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in large groups.
* ''tile page identifier'': The Internal ID of the image defined in [[#Tile Page|tile page]].
 
* ''x1'': The x position of the upper left tile counting from 0 from the left of the tile page.
 
* ''y1'': The y position of the upper left tile counting from 0 from the top of the tile page.
 
* ''x2'': The x position of the lower right tile.
 
* ''y2'': The y position of the lower right tile.
 
  
The <code>TILE_GRAPHICS_RECTANGLE</code> token displays a large image with the upper left corner being defined by <x1>, <y1> and the lower right corner defined by <x2>, <y2>. The <body_rcp_token> is a conditional token that causes the graphics for each layer to be displayed only when the forgotten beast has that particular body part.{{verify}}
+
|-
 +
| {{text anchor|LIGHT_VERMIN}} || For [[firefly|fireflies]] etc. Does not replace {{token|VERMIN|g}}.
  
There is not currently a way to use procedurally defined graphics like this for non-{{token|FEATURE_BEAST|c}} creatures.{{verify}}
+
|-
 +
| {{text anchor|LIGHT_VERMIN_ALT}} || Like {{token|VERMIN_ALT|g}} for [[firefly|fireflies]] etc.
  
 +
|-
 +
| {{text anchor|LIGHT_SWARM_SMALL}} || Like {{token|SWARM_SMALL|g}} for [[firefly|fireflies]] etc. in small groups.
 +
 +
|-
 +
| {{text anchor|LIGHT_SWARM_MEDIUM}} || Like {{token|SWARM_LARGE|g}} for [[firefly|fireflies]] etc. in large groups.
 +
 +
|-
 +
| {{text anchor|LIGHT_SWARM_LARGE}} || Like {{token|SWARM_LARGE|g}} for [[firefly|fireflies]] etc.
 +
 +
|-
 +
| {{text anchor|REMAINS}} || Vermin corpses.
 +
 +
|-
 +
| {{text anchor|HIVE}} || Vermin hives.
 +
|}
  
 
== Item Graphics ==
 
== Item Graphics ==
Item graphics can also be defined, but are mostly hardcoded. This section of the wiki needs to be fleshed out.
+
Item graphics can also be defined, but are mostly hardcoded. This section of the wiki needs to be fleshed out. Descriptions of the token functions is provisional.
 +
 
 +
Item graphics currently do not support LARGE_IMAGE.
 +
 
 +
{| {{prettytable}}
 +
|- bgcolor="#dddddd"
 +
! Token
 +
! Arguments
 +
! Description
 +
 
 +
|-
 +
| {{text_anchor|TILE_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Begins defining tile graphics for an item. Sets default tile graphic.{{verify}}
 +
 
 +
|-
 +
| {{text_anchor|BOULDER_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Material ID
 +
| Defines tile graphics variants to use for BOULDER items by material; currently all boulders use material palette instead.
 +
 
 +
|-
 +
| {{text_anchor|ROUGH_GEM_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Material ID
 +
| Defines tile graphics variants to use for ROUGH (gem) items by material; currently all rough gems use material palette instead.
 +
 
 +
|-
 +
| {{text_anchor|BARS_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Material ID or item ID
 +
| Defines tile graphics variants to use for BAR items by material.
 +
 
 +
|-
 +
| {{text_anchor|FOOD_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for FOOD items.
 +
 
 +
|-
 +
| {{text_anchor|CHEESE_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Material ID
 +
| Defines tile graphics variants to use for CHEESE items by material. Unused in vanilla raws.
 +
 
 +
|-
 +
| {{text_anchor|ARMOR_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for ARMOR items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|GLOVES_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for GLOVES items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|HELM_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for HELM items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|PANTS_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for PANTS items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|SHOES_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for SHOES items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|SHOES_GRAPHICS_METAL}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines metal material tile graphics variants for SHOES items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|SHIELD_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for SHIELD items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|SHIELD_GRAPHICS_WOODEN}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines wood material tile graphics variants for SHIELD items; this is for items not being worn by a creature.
 +
 
 +
|-
 +
| {{text_anchor|TOY_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
* Material ID
 +
| Defines tile graphics for TOY items.  Material ID in this case is one of STONE, WOOD, METAL, or GLASS.
 +
 
 +
|-
 +
| {{text_anchor|TRAPCOMP_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines tile graphics for TRAPCOMP items.
 +
 
 +
|-
 +
| {{text_anchor|TRAPCOMP_GRAPHICS_WEAPON_TRAP}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines tile graphics for TRAPCOMP items when built into a weapon trap; must follow TRAPCOMP_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|TRAPCOMP_GRAPHICS_UPRIGHT_#X}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines tile graphics for installed upright spike traps. These comprise two-tile graphics: # is replaced with the number of spikes, 1-10; X is replaced with T (for top graphic tile) or B (bottom graphic tile). This follows the tile graphics definition of either MENACINGSPIKE or SPEAR.
 +
 
 +
|-
 +
| {{text_anchor|SIEGEAMMO_GRAPHICS}}
 +
|
 +
* Item ID
 +
| Begins defining graphics for SIEGEAMMO items.
 +
 
 +
|-
 +
| {{text_anchor|SIEGEAMMO_GRAPHICS_STRAIGHT_DEFAULT}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for ballista arrows aligned orthogonally on the map; follows SEIGEAMMO_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|SIEGEAMMO_GRAPHICS_STRAIGHT_WOOD}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Wooden variant of above.
 +
 
 +
|-
 +
| {{text_anchor|SIEGEAMMO_GRAPHICS_DIAGONAL_DEFAULT}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for ballista arrows aligned diagonally on the map; follows SEIGEAMMO_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|SIEGEAMMO_GRAPHICS_DIAGONAL_WOOD}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Wood variant of above.
 +
 
 +
|-
 +
| {{text_anchor|AMMO_GRAPHICS}}
 +
|
 +
* Item ID
 +
| Begins defining graphics for AMMO items.
 +
 
 +
|-
 +
| {{text_anchor|AMMO_GRAPHICS_STRAIGHT_DEFAULT}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for AMMO items aligned orthogonally on the map; follows AMMO_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|AMMO_GRAPHICS_STRAIGHT_WOOD}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Wooden variant of above.
 +
 
 +
|-
 +
| {{text_anchor|AMMO_GRAPHICS_DIAGONAL_DEFAULT}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for AMMO aligned diagonally on the map; follows AMMO_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|AMMO_GRAPHICS_DIAGONAL_WOOD}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Wood variant of above.
 +
 
 +
|-
 +
| {{text_anchor|WEAPON_GRAPHICS}}
 +
|
 +
* Item ID
 +
| Begins defining graphics for WEAPON items.
 +
 
 +
|-
 +
| {{text_anchor|WEAPON_GRAPHICS_DEFAULT}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines default graphics for WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|WEAPON_GRAPHICS_MATERIAL}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines material palette{{verify}} graphics for WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|WEAPON_GRAPHICS_WOOD_GROWN}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for grown-wood WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|WEAPON_GRAPHICS_WOOD}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for wooden WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|WEAPON_GRAPHICS_WEAPON_TRAP}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for WEAPON item defined by WEAPON_GRAPHICS as it appears installed in a weapon trap; follows WEAPON_GRAPHICS.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
* Item ID
 +
| Defines default graphics for TOOL items; also begins defining variant graphics for material or container conditions when followed by tokens below.
 +
 
 +
|-
 +
| {{text_anchor|ADD_TOOL_GRAPHICS}}
 +
|
 +
* Item ID
 +
| Adds graphics to an existing tool defined with TOOL_GRAPHICS, followed by the tool graphics material or container condition tokens below.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_WOOD}}
 +
|
 +
* Variant index
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines additonal variant graphics for wooden TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_STONE}}
 +
|
 +
* Variant index
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines additonal variant graphics for stone TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_METAL}}
 +
|
 +
* Variant index
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines additonal variant graphics for metal TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_GLASS}}
 +
|
 +
* Variant index
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines additonal variant graphics for glass TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_WOOD_LIQUID}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for wooden liquid-containing containers (empty); follows ADD_TOOL_GRAPHICS definition for container.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_STONE_LIQUID}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for stone liquid-containing containers (empty); follows ADD_TOOL_GRAPHICS definition for container.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_METAL_LIQUID}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for metal (and glass?) liquid-containing containers (empty); follows ADD_TOOL_GRAPHICS definition for container.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_LIQUID}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for the liquid filling a liquid-containing container; follows TOOL_GRAPHICS_CONTAINER_*_LIQUID.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_WOOD_ITEM}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for wooden containers holding items; follows ADD_TOOL_GRAPHICS definition for container.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_STONE_ITEM}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for stone containers holding items; follows ADD_TOOL_GRAPHICS definition for container.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_CONTAINER_METAL_ITEM}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for metal (and glass?) containers holding items; follows ADD_TOOL_GRAPHICS definition for container.
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_HIVE_BLD}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines the built item graphics for HIVE items.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_HIVE_BLD_IN_USE}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines the built item graphics for HIVE items that have hives installed.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_HIVE_PRODUCTS}}
 +
|
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines the built item graphics for HIVE items that are ready to be harvested.
 +
 
 +
|-
 +
| {{text_anchor|TOOL_GRAPHICS_SHAPE}}
 +
|
 +
* Shape ID
 +
* Tile page ID
 +
* x index
 +
* y index
 +
| Defines graphics for shaped items; currently used for dice.
 +
 
 +
|}
 +
 
 +
== World Map Graphics ==
 +
World map graphics are defined in <code>[[Game_folders_and_files#Game_folder|Dwarf Fortress]]\data\vanilla\vanilla_world_map\graphics\graphics_world_map.txt</code>
 +
Tokens that accept variants have 5 of them:
 +
 
 +
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:1]
 +
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:2]
 +
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:3]
 +
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:4]
 +
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:5]
 +
 
 +
Otherwise:
  
 +
  [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>]
  
 
==See Also==
 
==See Also==
*[[Palette token]]
 
*[[Body detail plan token]]
 
*[[Body token]]
 
 
*[[Creature token]]
 
*[[Creature token]]
*[[Material definition token]]
 
 
*[[Syndrome]]
 
*[[Syndrome]]
*[[Tissue definition token]]
 
 
*[[Creature examples]]
 
*[[Creature examples]]
  

Latest revision as of 06:51, 24 April 2024

This article is about the current version of DF.
Note that some content may still need to be updated.


For an explanation of how to use the various graphics types, see Graphics.

The [OBJECT:GRAPHICS] token defines the use of various tile-based graphics in the game. As of version 50.01, graphics tokens have been greatly expanded to accommodate the release of the Steam & Itch premium version. These tokens, and explanations on how to use them, are listed below; the list will expand as the tokens are discovered and understood.

Creature Graphics[edit]

Creature graphics are found within graphics_creature_x files (such as graphics_creature_domestic or graphics_creature_layered). All graphics files must begin with the file name, followed by the [OBJECT:GRAPHICS] type that tells the game that the file contains graphics definitions. A more detailed explanation on how to use these can be found in creature graphics.

Types[edit]

Type Arguments Description
CREATURE_GRAPHICS The simplest and most common form of creature graphics for defining one sprite for each basic condition.

Further conditions are required for this to function following the creature graphics format. Accepts large graphics tokens.

Additionally used to start defining a layered graphics set.

CREATURE_CASTE_GRAPHICS Nearly the same as [CREATURE_GRAPHICS], but allows a separate sprite to be defined for each caste.

A simple alternative to Layered Graphics.

Requires conditions defined in creature graphics format. Accepts large graphics tokens.

STATUE_CREATURE_GRAPHICS Format for beginning a creature statue definition. Defines a 1x2 vertical rectangle to be displayed when a statue depicts one of these creatures.
STATUE_CREATURE_CASTE_GRAPHICS Format for beginning a creature statue definition while specifying caste. Defines a 1x2 vertical rectangle to be displayed when a statue depicts one of these creatures.
TILE_GRAPHICS_RECTANGLE Graphics for a 3x2 rectangle; for creatures, this is used exclusively for representing Forgotten Beasts based on their body parts. Uses forgotten beast graphics. It's also, however, used for interface graphics, see graphics_interface.txt.

Conditions[edit]

Different graphics can be defined for the same creature based on some properties about it. Below is a list of all the basic "creature texture" types that can be used as additional conditions to various basic sprites.

Condition Description
DEFAULT The default condition that will be displayed unless overwritten by a more specific one below.
LAW_ENFORCE Displayed if the unit is law enforcement.
TAX_ESCORT Displayed if the unit escorts a tax collector (unused).
ANIMATED Displayed if the creature is raised from the dead using an I_EFFECT:ANIMATE interaction.
GHOST Displayed if the creature is a ghost.
ADVENTURER Displayed if the creature is an adventurer.
CORPSE Displayed for corpses.

Basic creature sprite types[edit]

An individual sprite can be of any of the following classes. If "accepts secondary" is "yes", it can also have an extra condition tacked on at the end.

Condition Description
Basic Condition Any of the above conditions can be used on their own, as the default for that condition class.
Unit type Any Unit type token can be used. You may also append a basic condition as above to further specify.
Position Any Position token can be used, such as MONARCH, BROKER etc. All position tokens are raw-defined; any modded positions can have their own graphics. You may also append a basic condition as above to further specify.
LIST_ICON The default icon for this creature in lists, such as Arena mode or overall training.
EGG The sprite for a clutch of eggs.
SKELETON The sprite for a rotten corpse.
SKELETON_WITH_SKULL The sprite for a rotten corpse that can have a totem made from it.

Layered Conditions[edit]

Layers aren't very useful on their own, so they come with a set of conditions to define how when they are displayed and how they interact.

Token Arguments Type Description
LAYER_SET
  • condition
Creature
Graphics
Begins defining a layer set for a creature's graphics. Valid values of condition are DEFAULT, PORTRAITv50.13, or CORPSE. Valid values for basic conditions may not work.[Verify]
LS_PALETTEv50.13
  • name
Layer
Set
Begins defining a palette for the layer set. Its name can be referenced by [USE_PALETTE]. Unlike the palettes used to render all descriptor color tokens, it can be of arbitrary length.
LS_PALETTE_FILEv50.13
  • file name
Palette The file name of the 8bit RGBA (sometimes called 32bit) in the /graphics/images folder of the mod, such as images/portraits/dwarf_portrait_body_palette.png.
LS_PALETTE_DEFAULTv50.13
  • integer
Palette Defines the default row of a layer set palette, conventionally 0. The exact color values on this row will be replaced on layer images with the colors in the same column, based on what row is passed as an argument to [USE_PALETTE].
LG_CONDITION_BPv50.13
  • selection criteria BY_TYPE, BY_CATEGORY, BY_TOKEN
  • category, type, or token
Layer
Group
Allows the entire layer group (rather than an individual layer) to be switched on and off depending on the conditions of a body part. Should accept the same tokens [CONDITION_BP] does.[Verify]
END_LAYER_GROUP Layer
Group
Explicitly marks the end of a layer group, which allows layers after to not belong to any layer group.
CONDITION_ITEM_WORN Armor
Wieldables
Defines a clothing or armor graphic by the specific part it is equipped to, the type of armor it is, and the internal id of that item.

For example, a condition representing a right handed mitten or glove would be defined as: [CONDITION_ITEM_WORN:BY_TOKEN:RH:GLOVES:ITEM_GLOVES_MITTENS] Also accepts the input ANY_HELD or WIELD (e.g. WIELD:WEAPON:ANY).

SHUT_OFF_IF_ITEM_PRESENT Armor Causes the current layer to not be rendered if the creature has one of the items worn or equipped. Also accepts the input ANY_HELD or WIELD (e.g. WIELD:WEAPON:ANY).
CONDITION_CASTE
  • caste name(s)
General Displays this layer if the creature is this caste. Only one caste is accepted for each condition, but multiple caste conditions can be used in one layer and the layer will be displayed if any of them match.
CONDITION_DYE
  • dye color
Armor Should represent which color the clothing is dyed. Currently nonfunctional.v50.05
CONDITION_NOT_DYED Armor Should check if the clothing is dyed. Currently nonfunctional.v50.05
CONDITION_MATERIAL_FLAG
  • material flag
Material Changes graphics based on the material an equipped item is made of. Valid material flags are similar to reactant conditions including:
  • WOVEN_ITEM
  • ANY_X_MATERIAL
with X being:
  • PLANT, SILK, YARN, LEATHER, WOOD, SHELL, BONE, STONE, GEM, TOOTH, HORN, PEARL
  • IS_DIVINE_MATERIAL
  • NOT_ARTIFACT
  • IS_CRAFTED_ARTIFACT
  • METAL_ITEM_MATERIAL
  • GLASS_MATERIAL
  • FIRE_BUILD_SAFE
  • MAGMA_BUILD_SAFE

among other, less useful ones.

CONDITION_MATERIAL_TYPE
  • material token
Material Changes graphics based on the material an equipped item is made of. Valid material types take the form METAL:COPPER where copper can be replaced with any weapons-grade metal. General material tokens are not functional. [CONDITION_MATERIAL_FLAG] is a better option for any material condition other than metal.
CONDITION_PROFESSION_CATEGORY General Checks the profession category of the creature to act as a condition. Multiple profession category tokens can be chained together. You can also use multiple of these tokens instead of listing them all in a single one, but this is functionally identical. Valid Profession tokens which are not categories will be ignored; values that do not match any existing Profession will be treated as NONE and thus apply to doctors, military, etc..
CONDITION_RANDOM_PART_INDEX
  • body part
  • integer index
  • integer range
General Chooses a random layer within the same group of body parts. Index is which option this condition is, out of Range number of options. Ex:

[CONDITION_RANDOM_PART_INDEX:HEAD:3:4] Is the third possible random head out of four total options. One of these random conditions each will be put into a set of four slightly different heads to add some random variation in the appearance of the creature's head.

CONDITION_HAUL_COUNT_MIN
  • integer
General Counts how many items the creature is hauling. Used for [PACK_ANIMAL]s in vanilla.
CONDITION_HAUL_COUNT_MAX
  • integer
General Counts how many items the creature is hauling. Used for [PACK_ANIMAL]s in vanilla.
CONDITION_CHILD General Checks if the creature is a child or baby.
CONDITION_NOT_CHILD General Checks if the creature is an adult.
CONDITION_GHOST General Checks if the creature is a ghost.
CONDITION_SYN_CLASS Syndrome Changes graphics based on any syndromes the creature is affected by. Vanilla values include:
  • ZOMBIE
  • NECROMANCER
  • VAMPCURSE
  • RAISED_UNDEAD
  • GHOUL
CONDITION_TISSUE_LAYER Tissue Selects a tissue layer to use for checking other conditions. Ex:

[CONDITION_TISSUE_LAYER:BY_CATEGORY:ALL:SKIN]

TISSUE_MIN_LENGTH
  • integer
Tissue Checks the current [CONDITION_TISSUE_LAYER]'s LENGTH appearance modifier. Is true if the LENGTH is greater than the integer input.
TISSUE_MAX_LENGTH
  • integer
Tissue Checks the current [CONDITION_TISSUE_LAYER]'s LENGTH appearance modifier. Is true if the LENGTH is less than the integer input.
TISSUE_MAY_HAVE_COLOR Tissue Checks the selected tissue's color. Accepts multiple color tokens, and is true if the any of the colors is present in the selected tissues.
TISSUE_MAY_HAVE_SHAPING
  • styling token
Tissue Checks the current [CONDITION_TISSUE_LAYER]'s shaping (hairstyle). Valid tokens are NEATLY_COMBED, BRAIDED, DOUBLE_BRAIDS, PONY_TAILS, CLEAN_SHAVEN and STANDARD_HAIR/BEARD/MOUSTACHE/SIDEBURNS_SHAPINGS.[Verify]
TISSUE_NOT_SHAPED Tissue Checks the current [CONDITION_TISSUE_LAYER]'s color. Accepts multiple color tokens, and is true if the any of the colors is present in the selected tissues.
TISSUE_SWAP
  • IF_MIN_CURLY
  • integer
  • tile page id
  • x position
  • y position
Tissue Checks if a tissue is sufficiently curly, and if so swaps to display a different image. The new image is defined by the tile page ID, x position, and y position.

This condition should be within a [LAYER:... ] that has a similar graphic to the on in the TISSUE_SWAP. The current [CONDITION_TISSUE_LAYER] group must also include a [TISSUE_MIN_LENGTH].

ITEM_QUALITYv50.13
  • integer
Armor
Wieldables[Verify]
Checks the current [CONDITION_ITEM_WORN]'s quality. 0 is base quality, 5 is masterwork. See [CONDITION_MATERIAL_FLAG:IS_CRAFTED_ARTIFACT] for artifact-quality items.
USE_PALETTEv50.13
  • layer set palette
  • row
General Colors the layer using that row of the layer-set-specific [LS_PALETTE].
USE_STANDARD_PALETTE_FROM_ITEMv50.13 Armor
Wieldables[Verify]
Uses the default palette to render the layer based on the color of the current [CONDITION_ITEM_WORN].
CONDITION_BPv50.13
  • selection criteria BY_TYPE, BY_CATEGORY, BY_TOKEN
  • category, type, or token
Body Defines a body part graphic using standard body token selection criteria.
BP_APPEARANCE_MODIFIER_RANGEv50.13
  • QUALITY
  • minimum
  • maximum
Body Checks if current [CONDITION_BP]'s [BP_APPEARANCE_MODIFIER] falls within the chosen range.
BP_PRESENTv50.13 Body Checks if the current [CONDITION_BP] is present and not destroyed, pulped, or severed. Can also be applied to [LG_CONDITION_BP].
BP_SCARREDv50.13 Body Checks if the current [CONDITION_BP] is scarred. Seems to also require [BP_PRESENT] to avoid illogical results.[Verify]

Vermin Conditions[edit]

Special Conditions for [VERMIN] creature graphics:

Condition Description
VERMIN The default graphic for this vermin.
VERMIN_ALT Image cycles every 1 second.
SWARM_SMALL For swarming vermin like flies and fairies in small groups.
SWARM_MEDIUM For swarming vermin like flies and fairies in medium-sized groups.
SWARM_LARGE For swarming vermin like flies and fairies in large groups.
LIGHT_VERMIN For fireflies etc. Does not replace [VERMIN].
LIGHT_VERMIN_ALT Like [VERMIN_ALT] for fireflies etc.
LIGHT_SWARM_SMALL Like [SWARM_SMALL] for fireflies etc. in small groups.
LIGHT_SWARM_MEDIUM Like [SWARM_LARGE] for fireflies etc. in large groups.
LIGHT_SWARM_LARGE Like [SWARM_LARGE] for fireflies etc.
REMAINS Vermin corpses.
HIVE Vermin hives.

Item Graphics[edit]

Item graphics can also be defined, but are mostly hardcoded. This section of the wiki needs to be fleshed out. Descriptions of the token functions is provisional.

Item graphics currently do not support LARGE_IMAGE.

Token Arguments Description
TILE_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Begins defining tile graphics for an item. Sets default tile graphic.[Verify]
BOULDER_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Material ID
Defines tile graphics variants to use for BOULDER items by material; currently all boulders use material palette instead.
ROUGH_GEM_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Material ID
Defines tile graphics variants to use for ROUGH (gem) items by material; currently all rough gems use material palette instead.
BARS_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Material ID or item ID
Defines tile graphics variants to use for BAR items by material.
FOOD_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for FOOD items.
CHEESE_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Material ID
Defines tile graphics variants to use for CHEESE items by material. Unused in vanilla raws.
ARMOR_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for ARMOR items; this is for items not being worn by a creature.
GLOVES_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for GLOVES items; this is for items not being worn by a creature.
HELM_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for HELM items; this is for items not being worn by a creature.
PANTS_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for PANTS items; this is for items not being worn by a creature.
SHOES_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for SHOES items; this is for items not being worn by a creature.
SHOES_GRAPHICS_METAL
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines metal material tile graphics variants for SHOES items; this is for items not being worn by a creature.
SHIELD_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for SHIELD items; this is for items not being worn by a creature.
SHIELD_GRAPHICS_WOODEN
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines wood material tile graphics variants for SHIELD items; this is for items not being worn by a creature.
TOY_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
  • Material ID
Defines tile graphics for TOY items. Material ID in this case is one of STONE, WOOD, METAL, or GLASS.
TRAPCOMP_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines tile graphics for TRAPCOMP items.
TRAPCOMP_GRAPHICS_WEAPON_TRAP
  • Tile page ID
  • x index
  • y index
Defines tile graphics for TRAPCOMP items when built into a weapon trap; must follow TRAPCOMP_GRAPHICS.
TRAPCOMP_GRAPHICS_UPRIGHT_#X
  • Tile page ID
  • x index
  • y index
Defines tile graphics for installed upright spike traps. These comprise two-tile graphics: # is replaced with the number of spikes, 1-10; X is replaced with T (for top graphic tile) or B (bottom graphic tile). This follows the tile graphics definition of either MENACINGSPIKE or SPEAR.
SIEGEAMMO_GRAPHICS
  • Item ID
Begins defining graphics for SIEGEAMMO items.
SIEGEAMMO_GRAPHICS_STRAIGHT_DEFAULT
  • Tile page ID
  • x index
  • y index
Defines graphics for ballista arrows aligned orthogonally on the map; follows SEIGEAMMO_GRAPHICS.
SIEGEAMMO_GRAPHICS_STRAIGHT_WOOD
  • Tile page ID
  • x index
  • y index
Wooden variant of above.
SIEGEAMMO_GRAPHICS_DIAGONAL_DEFAULT
  • Tile page ID
  • x index
  • y index
Defines graphics for ballista arrows aligned diagonally on the map; follows SEIGEAMMO_GRAPHICS.
SIEGEAMMO_GRAPHICS_DIAGONAL_WOOD
  • Tile page ID
  • x index
  • y index
Wood variant of above.
AMMO_GRAPHICS
  • Item ID
Begins defining graphics for AMMO items.
AMMO_GRAPHICS_STRAIGHT_DEFAULT
  • Tile page ID
  • x index
  • y index
Defines graphics for AMMO items aligned orthogonally on the map; follows AMMO_GRAPHICS.
AMMO_GRAPHICS_STRAIGHT_WOOD
  • Tile page ID
  • x index
  • y index
Wooden variant of above.
AMMO_GRAPHICS_DIAGONAL_DEFAULT
  • Tile page ID
  • x index
  • y index
Defines graphics for AMMO aligned diagonally on the map; follows AMMO_GRAPHICS.
AMMO_GRAPHICS_DIAGONAL_WOOD
  • Tile page ID
  • x index
  • y index
Wood variant of above.
WEAPON_GRAPHICS
  • Item ID
Begins defining graphics for WEAPON items.
WEAPON_GRAPHICS_DEFAULT
  • Tile page ID
  • x index
  • y index
Defines default graphics for WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
WEAPON_GRAPHICS_MATERIAL
  • Tile page ID
  • x index
  • y index
Defines material palette[Verify] graphics for WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
WEAPON_GRAPHICS_WOOD_GROWN
  • Tile page ID
  • x index
  • y index
Defines graphics for grown-wood WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
WEAPON_GRAPHICS_WOOD
  • Tile page ID
  • x index
  • y index
Defines graphics for wooden WEAPON item defined by WEAPON_GRAPHICS not being worn by creatures; follows WEAPON_GRAPHICS.
WEAPON_GRAPHICS_WEAPON_TRAP
  • Tile page ID
  • x index
  • y index
Defines graphics for WEAPON item defined by WEAPON_GRAPHICS as it appears installed in a weapon trap; follows WEAPON_GRAPHICS.
TOOL_GRAPHICS
  • Tile page ID
  • x index
  • y index
  • Item ID
Defines default graphics for TOOL items; also begins defining variant graphics for material or container conditions when followed by tokens below.
ADD_TOOL_GRAPHICS
  • Item ID
Adds graphics to an existing tool defined with TOOL_GRAPHICS, followed by the tool graphics material or container condition tokens below.
TOOL_GRAPHICS_WOOD
  • Variant index
  • Tile page ID
  • x index
  • y index
Defines additonal variant graphics for wooden TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
TOOL_GRAPHICS_STONE
  • Variant index
  • Tile page ID
  • x index
  • y index
Defines additonal variant graphics for stone TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
TOOL_GRAPHICS_METAL
  • Variant index
  • Tile page ID
  • x index
  • y index
Defines additonal variant graphics for metal TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
TOOL_GRAPHICS_GLASS
  • Variant index
  • Tile page ID
  • x index
  • y index
Defines additonal variant graphics for glass TOOL items defined by TOOL_GRAPHICS; follows TOOL_GRAPHICS or ADD_TOOL_GRAPHICS. Requires seven variants; the resulting tool graphic is selected randomly from these (they can all point to the same tile index if desired).
TOOL_GRAPHICS_CONTAINER_WOOD_LIQUID
  • Tile page ID
  • x index
  • y index
Defines graphics for wooden liquid-containing containers (empty); follows ADD_TOOL_GRAPHICS definition for container.
TOOL_GRAPHICS_CONTAINER_STONE_LIQUID
  • Tile page ID
  • x index
  • y index
Defines graphics for stone liquid-containing containers (empty); follows ADD_TOOL_GRAPHICS definition for container.
TOOL_GRAPHICS_CONTAINER_METAL_LIQUID
  • Tile page ID
  • x index
  • y index
Defines graphics for metal (and glass?) liquid-containing containers (empty); follows ADD_TOOL_GRAPHICS definition for container.
TOOL_GRAPHICS_CONTAINER_LIQUID
  • Tile page ID
  • x index
  • y index
Defines graphics for the liquid filling a liquid-containing container; follows TOOL_GRAPHICS_CONTAINER_*_LIQUID.
TOOL_GRAPHICS_CONTAINER_WOOD_ITEM
  • Tile page ID
  • x index
  • y index
Defines graphics for wooden containers holding items; follows ADD_TOOL_GRAPHICS definition for container.
TOOL_GRAPHICS_CONTAINER_STONE_ITEM
  • Tile page ID
  • x index
  • y index
Defines graphics for stone containers holding items; follows ADD_TOOL_GRAPHICS definition for container.
TOOL_GRAPHICS_CONTAINER_METAL_ITEM
  • Tile page ID
  • x index
  • y index
Defines graphics for metal (and glass?) containers holding items; follows ADD_TOOL_GRAPHICS definition for container.
TOOL_GRAPHICS_HIVE_BLD
  • Tile page ID
  • x index
  • y index
Defines the built item graphics for HIVE items.
TOOL_GRAPHICS_HIVE_BLD_IN_USE
  • Tile page ID
  • x index
  • y index
Defines the built item graphics for HIVE items that have hives installed.
TOOL_GRAPHICS_HIVE_PRODUCTS
  • Tile page ID
  • x index
  • y index
Defines the built item graphics for HIVE items that are ready to be harvested.
TOOL_GRAPHICS_SHAPE
  • Shape ID
  • Tile page ID
  • x index
  • y index
Defines graphics for shaped items; currently used for dice.

World Map Graphics[edit]

World map graphics are defined in Dwarf Fortress\data\vanilla\vanilla_world_map\graphics\graphics_world_map.txt Tokens that accept variants have 5 of them:

   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:1]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:2]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:3]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:4]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:5]

Otherwise:

  [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>]

See Also[edit]