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.

Editing Graphics

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.

If you are creating a redirect to the current version's page, do not use any namespace. For example: use #REDIRECT [[Cat]], not #REDIRECT [[Main:Cat]] or #REDIRECT [[cv:Cat]]. See DF:Versions for more information.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
{{Quality|Unrated}}{{av}}
 
{{Quality|Unrated}}{{av}}
[[File:graphics_v50_preview.png|209px|right]]
 
 
:{{for/see|a list of all Premium graphics tokens and basic usage|[[Graphics token]]}}
 
:{{for/see|a list of all Premium graphics tokens and basic usage|[[Graphics token]]}}
 
:{{for/see|a repository of all Classic tilesets used in DF|[[Tileset repository]]}}
 
:{{for/see|a repository of all Classic tilesets used in DF|[[Tileset repository]]}}
Line 42: Line 41:
  
 
Known issues:
 
Known issues:
* Currently it is only recommended to use <code>[TILE_DIM:32:32]</code> as only the upper left 32×32 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.
+
* 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.
 
* 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.
 
* 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 Graphics ==
 
== Creature Graphics ==
{{for/see|a list of all known creature graphics tokens|[[Graphics token#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.
 
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.
  
Line 57: Line 56:
 
* ''creature id'': The [[Creature token|Creature ID]] of the creature the graphics represent.
 
* ''creature id'': The [[Creature token|Creature ID]] of the creature the graphics represent.
 
* ''[[#Tile Page|tile page identifier]]'': The Internal ID of the image defined in the Tile Page.
 
* ''[[#Tile Page|tile page identifier]]'': The Internal ID of the image defined in the Tile Page.
* ''x position'': The x position of the graphic to be displayed in tiles counting from 0 (left→right).
+
* ''x position'': The x position of the graphic to be displayed in tiles counting from 0 (left&rarr;right).
* ''y position'': The y position of the graphic to be displayed in tiles counting from 0 (top→bottom).
+
* ''y position'': The y position of the graphic to be displayed in tiles counting from 0 (top&rarr;bottom).
 
* ''color type'': (optional) Uncertain function, 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}}
 
* ''color type'': (optional) Uncertain function, 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}}
 
* ''[[Graphics_token#Basic_Conditions|secondary condition]]'': (optional) An additional condition that must be satisfied for the image to be displayed.
 
* ''[[Graphics_token#Basic_Conditions|secondary condition]]'': (optional) An additional condition that must be satisfied for the image to be displayed.
Line 65: Line 64:
  
 
:'''Basic Conditions'''
 
:'''Basic Conditions'''
Different graphics can be defined for the same creature based on some properties about it. Below is a list of the most common creature conditions tokens.  
+
Different graphics can be defined for the same creature based on some properties about it. Below is a list of the most common creature conditions tokens. Here is the full list of known creature condition tokens.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 91: Line 90:
  
 
=== Caste Graphics ===
 
=== Caste Graphics ===
Creature caste graphics allow a simple alternative to [[#Layered Graphics|Layered Graphics]] to represent males and females (or other castes) of a creature with different images.
+
Creature caste graphics allow a simple alternative to [[#Layered Graphics|Layered Graphics]] to represent males and females of a creature with different images.
 
  [CREATURE_CASTE_GRAPHICS:<creature id>:<caste id>]
 
  [CREATURE_CASTE_GRAPHICS:<creature id>:<caste id>]
 
     [<condition>:<tile page identifier>:<x position>:<y position>:<color type>:<secondary condition>]
 
     [<condition>:<tile page identifier>:<x position>:<y position>:<color type>:<secondary condition>]
Line 97: Line 96:
 
* ''caste id'': The [[Caste|Caste ID]] of the caste whose graphics are being defined.
 
* ''caste id'': The [[Caste|Caste ID]] of the caste whose graphics are being defined.
 
* All other parameters are identical to [[#Basic Graphics|basic graphics]].
 
* All other parameters are identical to [[#Basic Graphics|basic graphics]].
 +
 +
Creature caste graphics only accept <code>MALE</code> and <code>FEMALE</code> as caste id's even in creatures that have more than two castes.
 +
  
 
=== Large Graphics ===
 
=== Large Graphics ===
Line 130: Line 132:
  
 
* ''creature id'': The [[Creature token|Creature ID]] of the creature the graphics represent.
 
* ''creature id'': The [[Creature token|Creature ID]] of the creature the graphics represent.
* ''[[Graphics_token#LAYER_SET|condition]]'': The condition the creature needs to be in for this set of layers to be displayed.
+
* ''[[Graphics_token#Basic_Conditions|condition]]'': The condition the creature needs to be in for this set of layers to be displayed.
  
 
Once you start defining a Layer Set, you can begin adding individual layers from the bottom up to create your final image. For example, if you want to draw a helmet being worn on a head, you would define the head layer first, then define the helmet layer. Layers are defined according to this format:
 
Once you start defining a Layer Set, you can begin adding individual layers from the bottom up to create your final image. For example, if you want to draw a helmet being worn on a head, you would define the head layer first, then define the helmet layer. Layers are defined according to this format:
Line 137: Line 139:
 
  [<layer condition(s)>]
 
  [<layer condition(s)>]
  
* ''layer name'': The internal name of the layer. Does not need to be unique. No known function at this time, but using a descriptive label is recommended.  
+
* ''layer name'': The internal name of the layer. No known function at this time, but using a descriptive label is recommended.
 
* ''[[#Tile Page|tile page identifier]]'': The Internal ID of the image defined in the Tile Page.
 
* ''[[#Tile Page|tile page identifier]]'': The Internal ID of the image defined in the Tile Page.
* ''x position'': The x position of the graphic to be displayed in tiles counting from 0 (left→right).
+
* ''x position'': The x position of the graphic to be displayed in tiles counting from 0 (left&rarr;right).
* ''y position'': The y position of the graphic to be displayed in tiles counting from 0 (top→bottom).
+
* ''y position'': The y position of the graphic to be displayed in tiles counting from 0 (top&rarr;bottom).
 
* ''[[#Large Graphics|LARGE_IMAGE]]:x1:y1:x2:y2'': (optional) Allows a multiple tile image to be displayed. Replaces <x position>:<y position>.
 
* ''[[#Large Graphics|LARGE_IMAGE]]:x1:y1:x2:y2'': (optional) Allows a multiple tile image to be displayed. Replaces <x position>:<y position>.
 
* ''color type'': (optional) Uncertain function, 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}}
 
* ''color type'': (optional) Uncertain function, 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}}
 
* ''[[Graphics_token#Layered_Conditions|layer condition(s)]]'': One or more conditional tokens that define under what conditions the layer is displayed and how it interacts with other layers.
 
* ''[[Graphics_token#Layered_Conditions|layer condition(s)]]'': One or more conditional tokens that define under what conditions the layer is displayed and how it interacts with other layers.
  
====Portraits====
 
 
96x96 portraits{{version|50.13}} are shown in [[Adventure mode]] and when viewing a creature's sheet. They use the same tokens as layered graphics to display a more detailed view of a creature.
 
 
A single-layer portrait can be added to a [CREATURE_GRAPHICS] entry with this format:
 
 
  [LAYER_SET:PORTRAIT]
 
    [LAYER_GROUP]
 
    [LAYER:MAIN:<tile page id>:<x position>:<y position>]
 
    [END_LAYER_GROUP]
 
 
See above for the explanation of each argument.
 
  
 
=== Forgotten Beast Graphics ===
 
=== Forgotten Beast Graphics ===
Line 174: Line 164:
 
There is not currently a way to use procedurally defined graphics like this for non-{{token|FEATURE_BEAST|c}} creatures.{{verify}}
 
There is not currently a way to use procedurally defined graphics like this for non-{{token|FEATURE_BEAST|c}} creatures.{{verify}}
  
== Item Graphics ==
 
Item graphics can also be defined, but are mostly hardcoded. This section of the wiki needs to be fleshed out.
 
  
== Workshop Graphics ==
+
=== All creature tokens ===
Workshop graphics are displayed during each stage of construction and when it is completed. There are two layers, the base layer and an OVERLAY layer. The base layer shows the floor, tables, chairs and other basic features. The overlay shows various decorations that give the workshop its unique appearance.
+
For reference, all known creature graphics tokens are reproduced below.
 +
 
 +
 
 +
:'''Basic Conditions'''<br>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 creature graphics that accept a ''condition'' token.
 +
{| {{prettytable}}
 +
|- bgcolor="#dddddd"
 +
! Condition
 +
! Accepts<br>Secondary
 +
! Description
 +
|-
 +
| {{token|DEFAULT|g}} || No || The default condition that will be displayed unless overwritten by a more specific one below.
 +
 
 +
|-
 +
| {{token|CHILD|g}} || Yes || Will only be displayed if the creature is a {{token|CHILD|c}} or {{token|BABY|c}} and is younger than one of those ages.
 +
 
 +
|-
 +
| {{token|ANIMATED|g}} || Yes || Displayed if the creature is raised from the dead, although it is not known how this is decided. Raised status is not related to having a syndrome with the class from {{token|CONDITION_SYN_CLASS|g}} or from having {{token|NOT_LIVING|c}}/{{token|OPPOSED_TO_LIFE|c}}.
 +
 
 +
|-
 +
| {{token|CORPSE|g}} || Yes || Displayed as soon as the creature dies.
 +
 
 +
|-
 +
| {{token|TRAINED_HUNTER|g}} || Yes || Shown for hunting-trained versions of this creature.
 +
 
 +
|-
 +
| {{token|TRAINED_WAR|g}} || Yes || Shown for war-trained versions of this creature.
 +
 
 +
|-
 +
| {{token|LIST_ICON|g}} || Unknown || Displayed in menus. Useful for large images that would extend beyond the menu boxes otherwise/
 +
 
 +
|-
 +
| {{token|SKELETON|g}} || Unknown || Decayed remains of the creature.{{verify}}
 +
 
 +
|-
 +
| {{token|SKELETON_WITH_SKULL|g}} || Unknown || Decayed remains of the creature with a skull.{{verify}}
 +
|}
 +
 
 +
 
 +
:'''Vermin Conditions'''<br>Special Conditions for {{token|VERMIN|c}} creature graphics:
 +
{| {{prettytable}}
 +
|- bgcolor="#dddddd"
 +
! Condition
 +
! Description
 +
|-
 +
| {{token|VERMIN|g}} || Necessary for defining graphics that use the tokens below.{{verify}}
 +
 
 +
|-
 +
| {{token|VERMIN_ALT|g}} || Image cycles every 1 second.
 +
 
 +
|-
 +
| {{token|SWARM_SMALL|g}} || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in small groups.
 +
 
 +
|-
 +
| {{token|SWARM_MEDIUM|g}} || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in medium-sized groups.
 +
 
 +
|-
 +
| {{token|SWARM_LARGE|g}} || For swarming vermin like [[fly|flies]] and [[fairy|fairies]] in large groups.
 +
 
 +
|-
 +
| {{token|LIGHT_VERMIN|g}} || For [[firefly|fireflies]] etc. Does not replace {{token|VERMIN|g}}.
 +
 
 +
|-
 +
| {{token|LIGHT_VERMIN_ALT|g}} || Like {{token|VERMIN_ALT|g}} for [[firefly|fireflies]] etc.
 +
 
 +
|-
 +
| {{token|LIGHT_SWARM_SMALL|g}} || Like {{token|SWARM_SMALL|g}} for [[firefly|fireflies]] etc in small groups.
 +
 
 +
|-
 +
| {{token|LIGHT_SWARM_MEDIUM|g}} || Like {{token|SWARM_LARGE|g}} for [[firefly|fireflies]] etc in large groups.
 +
 
 +
|-
 +
| {{token|LIGHT_SWARM_LARGE|g}} || Like {{token|SWARM_LARGE|g}} for [[firefly|fireflies]] etc.
 +
 
 +
|-
 +
| {{token|REMAINS|g}} || Vermin corpses.
 +
 
 +
|-
 +
| {{token|HIVE|g}} || Vermin hives.
 +
|}
 +
 
 +
 
 +
:'''Layered Conditions'''<br>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}}
 +
|- bgcolor="#dddddd"
 +
! Token
 +
! Arguments
 +
! Type
 +
! Description
 +
 
 +
|-
 +
| {{token|LAYER_GROUP|g}} ||  || Layer<br>Group
 +
| Begins defining a layer group. Current effect unknown.{{verify}}
 +
 
 +
|-
 +
| {{token|END_LAYER_GROUP|g}} ||  || Layer<br>Group
 +
| marks the end of a layer group. Current effect unknown.{{verify}}
 +
 
 +
|-
 +
| {{token|CONDITION_ITEM_WORN|g}} ||
 +
* 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_GLOVES:ITEM:GLOVES:MITTENS]</code>
 +
 
 +
|-
 +
| {{token|SHUT_OFF_IF_ITEM_PRESENT|g}} ||
 +
* 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>).
 +
 
 +
|-
 +
| {{token|CONDITION_DYE|g}} ||
 +
* dye color
 +
|| Armor
 +
|| Should represent which color the clothing is dyed. Currently nonfunctional.{{version|50.05}}
 +
 
 +
|-
 +
| {{token|CONDITION_NOT_DYED|g}} ||  || Armor
 +
|| Should check if the clothing is dyed. Currently nonfunctional.{{version|50.05}}
 +
 
 +
|-
 +
| {{token|CONDITION_MATERIAL_FLAG|g}} ||
 +
* 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.]
 +
 
 +
|-
 +
| {{token|CONDITION_MATERIAL_TYPE|g}} ||
 +
* 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. Initial testing has shown that some [[material token]]s are not functional. {{token|CONDITION_MATERIAL_FLAG|g}} is a better option for any material condition other than metal.
 +
 
 +
|-
 +
| {{token|CONDITION_PROFESSION_CATEGORY|g}} ||
 +
* [[Unit type token|profession token(s)]]
 +
|| General
 +
|| Checks the profession of the creature to act as a condition. Multiple profession tokens can be chained together.
 +
 
 +
|-
 +
| {{token|CONDITION_RANDOM_PART_INDEX|g}} ||
 +
* 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.
 +
 
 +
|-
 +
| {{token|CONDITION_HAUL_COUNT_MIN|g}} ||
 +
* integer
 +
|| General
 +
|| Counts how many items the creature is hauling. Used for {{token|PACK_ANIMAL|c}}s in vanilla.
 +
 
 +
|-
 +
| {{token|CONDITION_HAUL_COUNT_MAX|g}} ||
 +
* integer
 +
|| General
 +
|| Counts how many items the creature is hauling. Used for {{token|PACK_ANIMAL|c}}s in vanilla.
  
base layer:
+
|-
    [TILE_GRAPHICS:<tile page identifier>:<graphic tile x position>:<graphic tile y position>:WORKSHOP_CUSTOM:<workshop id>:<building stage>:<workshop tile x position>:<workshop tile y position>]
+
| {{token|CONDITION_CHILD|g}} ||  || General
overlay layer:
+
|| Checks if the creature is a child or baby.
    [TILE_GRAPHICS:<tile page identifier>:<graphic tile x position>:<graphic tile y position>:WORKSHOP_CUSTOM_OVERLAY:<workshop id>:<building stage>:<workshop tile x position>:<workshop tile y position>]
 
  
* ''[[#Tile Page|tile page identifier]]'': The Internal ID of the image defined in the Tile Page.
+
|-
* ''graphic tile x position'': The x position of the graphic in tiles counting from 0 (left→right).
+
| {{token|CONDITION_NOT_CHILD|g}} ||  || General
* ''graphic tile y position'': The y position of the graphic in tiles counting from 0 (top→bottom).
+
|| Checks if the creature is an adult.
* ''WORKSHOP_CUSTOM'' and ''WORKSHOP_CUSTOM_OVERLAY'': These tokens define the graphics as belonging to a custom workshop. These tokens do not exist in vanilla workshops except for the Soap maker and Screw press, which are used as examples for custom workshops.
 
* ''workshop id'': The ID of the workshop defined in its raws.
 
* ''building stage'': What building stage this graphic is displayed during.
 
* ''workshop tile x position'': The x position of the workshop tile where the graphic is displayed counting from 0 (left→right).
 
* ''workshop tile y position'': The y position of the workshop tile where the graphic is displayed counting from 0(top→bottom).
 
  
Note that an extra Y row is defined above the workshop. This allows for graphics that extend into the tile above the workshop.
+
|-
 +
| {{token|CONDITION_GHOST|g}} ||  || General
 +
|| Checks if the creature is a ghost.
  
Also note that currently custom furnaces do not properly work with premium graphics. The WORKSHOP_CUSTOM and WORKSHOP_CUSTOM_OVERLAY tokens ONLY work with custom workshops. If used with a custom furnace they give an error and the graphics will not appear in game. Custom furnaces can still be made to use graphics if they are defined as workshops in their raws.  
+
|-
 +
| {{token|CONDITION_SYN_CLASS|g}} ||
 +
* {{token|SYN_CLASS|syndrome}}
 +
|| Syndrome || Changes graphics based on any syndromes the creature is affected by. Valid values include:
 +
* ZOMBIE
 +
* NECROMANCER
 +
* VAMPCURSE
 +
* RAISED_UNDEAD
 +
* GHOUL
  
These values can be validated by checking the RAW vanilla file <code>[DF Installion]\data\vanilla\vanilla_buildings_graphics\graphics\graphics_workshops.txt</code>
+
|-
 +
| {{token|CONDITION_TISSUE_LAYER|g}} ||
 +
* 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>
  
 +
|-
 +
| {{token|TISSUE_MIN_LENGTH|g}} ||
 +
* 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.
  
== World Map Graphics ==
+
|-
World map graphics come in two variations:
+
| {{token|TISSUE_MAX_LENGTH|g}} ||
 +
* 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.
  
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<graphic id>]
+
|-
    [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<graphic id>:<variation {1 - 5}>]
+
| {{token|TISSUE_MAY_HAVE_COLOR|g}} ||
 +
* [[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.
  
* ''[[#Tile Page|tile page identifier]]'': The Internal ID of the image defined in the Tile Page.
+
|-
* ''x position'': The x position of the graphic to be displayed in tiles counting from 0 (left→right).
+
| {{token|TISSUE_MAY_HAVE_SHAPING|g}} ||
* ''y position'': The y position of the graphic to be displayed in tiles counting from 0 (top→bottom).
+
* styling token
* ''graphic id'': The [[Graphics_token#World_Map_Graphics|Graphic Token]] of the world map tile the graphics represent.
+
|| Tissue
* ''variation {1 - 5}'': For Graphic IDs that allow variants.
+
|| 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}}
  
These values can be validated by checking the RAW vanilla file <code>[DF Installion]\data\vanilla\vanilla_world_map\graphics\graphics_world_map.txt</code>
+
|-
 +
| {{token|TISSUE_NOT_SHAPED|g}} || || 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.
  
== Palettes ==
+
|-
[[File:palettes_v50.png|right]]
+
| {{token|TISSUE_SWAP|g}} ||
 +
* 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.
  
Palettes are used by [[graphics]] to render colorized objects. This is usually based on [[Material definition token#STATE_COLOR|material colors]], though arbitrary palettes{{version|50.13}} can be created and applied with {{token|USE_PALETTE|g}}.
+
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}}.
 +
|}
  
    [PALETTE:<palette identifier>]
 
        [FILE:images/imagename.png]
 
        [PALETTE_DEFAULT:<row>] this is the one used in the images themselves
 
        [PALETTE_COLOR:<color>:<row>]
 
  
* ''name'': The Internal ID being created for the image. DEFAULT is used by most objects and requires a PALETTE_COLOR entry for each [[Descriptor color token|raw-defined color]] that exists.
+
== Item Graphics ==
* ''imagename.png'': The file name of the 8bit RGBA (sometimes called 32bit) in the <code>\graphics\images</code> folder of the mod.
+
Item graphics can also be defined, but are mostly hardcoded. This section of the wiki needs to be fleshed out.
* ''row'': The y position of the graphic to be displayed in pixels counting from 0 (top→bottom). It is customary to place the default palette at 0.
 
* ''color'': A [[Color#Color tokens|color]] token.
 
  
The PALETTE_DEFAULT row is what colors are used to draw the internal graphics (which are loaded by a tile page). It isn't shown in-game, but the exact RGB values are replaced by the row specified by <code>[PALETTE_COLOR]</code> or {{token|USE_PALETTE|g}}.
 
  
 
= Classic Graphics =
 
= Classic Graphics =
Line 249: Line 436:
 
The main tileset (also called 'character set' or just 'tileset') is an image in BMP or PNG format that contains the 256 different tiles, corresponding to the [[Main:character table|IBM Code Page 437]], which are used to display all objects, creatures, and UI elements in game. The tiles are always arranged in a 16x16 grid, but its dimensions can be varied. You can have both square and non-square tiles, with 16x16 pixels being the most common size. Creatures are displayed as [[Tilesets#Main_creature_tiles|colored letters]] (a white 'B' is a [[polar bear]], a brown 'd' a [[dog]], and a grey 'c' is a [[cat]]).
 
The main tileset (also called 'character set' or just 'tileset') is an image in BMP or PNG format that contains the 256 different tiles, corresponding to the [[Main:character table|IBM Code Page 437]], which are used to display all objects, creatures, and UI elements in game. The tiles are always arranged in a 16x16 grid, but its dimensions can be varied. You can have both square and non-square tiles, with 16x16 pixels being the most common size. Creatures are displayed as [[Tilesets#Main_creature_tiles|colored letters]] (a white 'B' is a [[polar bear]], a brown 'd' a [[dog]], and a grey 'c' is a [[cat]]).
  
As the tileset is limited to only 256 tiles, some objects share the same tile. Most notably, even with upper and lower case letters and 16 colors, a lot of creatures still look identical (goblin, goat, various gibbons, gremlin, goose, etc.). The tile for bins, up/down stairs and the cursor are the same; bags use the same tile as the symbol for "male"; and the "female" symbol shares a graphic with amulets. Roads and large rivers on the world map, minecart tracks and walls all share the same tiles as well.
+
As the tileset is limited to only 256 tiles, some objects share the same tile. Most notably, even with upper and lower case letters and 16 colors, a lot of creatures still look identical (goblin, goat, various gibbons, gremlin, goose, etc). The tile for bins, up/down stairs and the cursor are the same; bags use the same tile as the symbol for "male"; and the "female" symbol shares a graphic with amulets. Roads and large rivers on the world map, minecart tracks and walls all share the same tiles as well.
  
 
Some of those can be changed in the raws and init files, and creatures can have separate graphics, but in most cases they are hardcoded.
 
Some of those can be changed in the raws and init files, and creatures can have separate graphics, but in most cases they are hardcoded.

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress 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!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

This page is a member of 3 hidden categories: