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 "Color"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
m (section title consistency)
m (fix table (fucked up in previous revision))
Line 170: Line 170:
 
The following colors are defined via tokens:
 
The following colors are defined via tokens:
  
{| class="mw-collapsible mw-collapsed wikitable"
+
{| style="margin: 0 auto; border-spacing: 0"
style="margin: 0 auto; border-spacing: 0"
 
 
|-
 
|-
 
| style="vertical-align: top; padding: 0" |  
 
| style="vertical-align: top; padding: 0" |  

Revision as of 20:18, 13 April 2016

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

(For an overview of graphics in DF, see Graphics)
(For user compiled colors see color scheme)

DF can use 16 colors to give every tile a foreground and background color. These 16 colors make up the color scheme. Which of these colors are assigned to a given tile is often decided by values in its raw file. Whether a pixel shows foreground, background, black or anything in between is influenced by its brightness and opacity. Color is used to express various information, from a dwarf's profession to the natural color of a terrain feature to the material an item is made of.

Overview

The tileset influences color display

Tileset-color-processing.png

In the simplest case, a pixel on a tileset is either white (foreground) or transparent* (background). However, black, and anything in between is possible as well (even color):

  • a white pixel will show the foreground color
  • a transparent* pixel will show the background color
  • a black pixel will stay black

The darker a white pixel is (i.e. a shade of grey), the darker the foreground color will be displayed. Similarly, a black pixel with lower opacity will result in a darker background color. A partially transparent, non-black pixel shows both the background and foreground color.[Verify] *magenta for .bmp files.

Colors are assigned based on material and other raw values

To decide which colors to use, DF looks at raw values for that object (color value or color token) and selects a foreground and background color from the 16 colors in the color scheme. When a color value is defined, it directly picks it from the 16. When instead a color token is defined, the game compares the color token definition to all 16 colors in the color scheme and picks the closest match.


How Colors are assigned

Colors of Status icons, professions, text and the interface in general are hardcoded. Items, furniture, constructions, and geographic features get the color of their material. Dyes and material contaminants use color tokens.

Wall and floor color

Phyllite (to the left) has DISPLAY_COLOR:0:7:1 and BASIC_COLOR:7:0. The white sand present has DISPLAY_COLOR:7:6:1 and so the actual floor color is 7:1 (white).

While the foreground, background and brightness shown in the RAW files will be applied to walls, the mineral's "secondary" color will end up different. Here is how it works:

  • If the BASIC_COLOR tag is specified, it will use that color. Note that the BASIC_COLOR tag only has foreground and brightness as arguments.
  • If BASIC_COLOR is left out:
    • The background color is forced to 0 (effectively stripping it).
    • If the foreground color is 0, the game will display it as dark grey, color 8 (in other words, color 0 with brightness 1).

This is effective for stairs, floors, ramps, and constructions (in the case of stone). When stone is engraved, it uses the material's TILE_COLOR (which is the same as the DISPLAY_COLOR unless overridden).


Color values

Colors are primarily defined using the [COLOR:x:y:z] or [DISPLAY_COLOR:x:y:z] tokens. The three arguments are:

  1. Foreground color [0-7]
  2. Background color [0-7]
  3. Brightness of the foreground color [0 or 1]

The brightness of the background color is always 0.

By default*, the following 8 pairs of colors are displayed:

Col. Bri. Name
0 0 Black
1 0 Blue
2 0 Green
3 0 Cyan
4 0 Red
5 0 Magenta
6 0 Brown
7 0 Light grey
Col. Bri. Name Alt.
0 1 Dark grey 8
1 1 Light blue 9
2 1 Light green 10
3 1 Light cyan 11
4 1 Light red 12
5 1 Light magenta 13
6 1 Yellow 14
7 1 White 15
(* See color scheme for information about how to change the actual various colors as displayed.)


Sometimes the color numbers are part of another token, e.g. [LEAVES:quarry bush leaf:quarry bush leaves:6:7:0:0:0:0:1:LOCAL_PLANT_MAT:LEAF] specifies the colors "7:0:0" for quarry bush leaves and "0:0:1" for wilted quarry bush leaves.

Values 8-15

If the brightness value is 1 or another nonzero number, it adds 8 to the foreground color. If the final value of the foreground or background is 8-15, it appears as a "bright" color.

As these values can be manually typed in instead of using the brightness value, you can also give the background a bright color with this method. For example, for a white background color, add 8 to 7 = 15. For a light green background color, you add 8 to 2 = 10.


Color tokens

Material contaminants and dyes do not use color flags; instead, they reference color tokens defined in descriptor_color_standard.txt. Color tokens are simply referenced by the token name, e.g. [STATE_COLOR:SOLID:DARK_GREEN] or [POWDER_DYE:EMERALD]. However, the defined RGB values are never actually displayed in-game - instead, the game uses one of the above 16 colors, choosing the one with the closest RGB values.

The following colors are defined via tokens:

Token RGB
BLACK 0 0 0
CLEAR 128 128 128
GRAY 128 128 128
SILVER 192 192 192
WHITE 255 255 255
TAUPE_ROSE 144 93 93
CHESTNUT 205 92 92
MAROON 128 0 0
RED 255 0 0
VERMILION 227 66 52
RUSSET 117 90 87
SCARLET 255 36 0
BURNT_UMBER 138 51 36
TAUPE_MEDIUM 103 76 71
DARK_CHESTNUT 152 105 96
BURNT_SIENNA 233 116 81
RUST 183 65 14
AUBURN 111 53 26
MAHOGANY 192 64 0
PUMPKIN 255 117 24
CHOCOLATE 210 105 30
TAUPE_PALE 188 152 126
TAUPE_DARK 72 60 50
DARK_PEACH 255 218 185
COPPER 184 115 51
LIGHT_BROWN 205 133 63
BRONZE 205 127 50
PALE_BROWN 152 118 84
DARK_BROWN 101 67 33
SEPIA 112 66 20
OCHRE 204 119 34
BROWN 150 75 0
CINNAMON 123 63 0
TAN 210 180 140
RAW_UMBER 115 74 18
ORANGE 255 165 0
PEACH 255 229 180
TAUPE_SANDY 150 113 23
Token RGB
GOLDENROD 218 165 32
AMBER 255 191 0
DARK_TAN 145 129 81
SAFFRON 244 196 48
ECRU 194 178 128
GOLD 212 175 55
PEARL 240 234 214
BUFF 240 220 130
FLAX 238 220 130
BRASS 181 166 66
GOLDEN_YELLOW 255 223 0
LEMON 253 233 16
CREAM 255 253 208
BEIGE 245 245 220
OLIVE 128 128 0
YELLOW 255 255 0
IVORY 255 255 240
LIME 204 255 0
YELLOW_GREEN 154 205 50
DARK_OLIVE 85 104 50
GREEN-YELLOW 173 255 47
CHARTREUSE 127 255 0
FERN_GREEN 79 121 66
MOSS_GREEN 173 223 173
GREEN 0 255 0
MINT_GREEN 152 255 152
ASH_GRAY 178 190 181
EMERALD 80 200 120
SEA_GREEN 46 139 87
SPRING_GREEN 0 255 127
DARK_GREEN 1 50 32
JADE 0 168 107
AQUAMARINE 127 255 212
PINE_GREEN 1 121 111
TURQUOISE 48 213 200
PALE_BLUE 175 238 238
TEAL 0 128 128
Token RGB
AQUA 0 255 255
LIGHT_BLUE 173 216 230
CERULEAN 0 123 167
SKY_BLUE 135 206 235
CHARCOAL 54 69 79
SLATE_GRAY 112 128 144
MIDNIGHT_BLUE 0 51 102
AZURE 0 127 255
COBALT 0 71 171
LAVENDER 230 230 250
DARK_BLUE 0 0 139
BLUE 0 0 255
PERIWINKLE 204 204 255
DARK_VIOLET 66 49 137
AMETHYST 153 102 204
DARK_INDIGO 49 0 98
VIOLET 139 0 255
INDIGO 75 0 130
PURPLE 102 0 153
HELIOTROPE 223 115 255
LILAC 200 162 200
PLUM 102 0 102
TAUPE_PURPLE 80 64 77
TAUPE_GRAY 139 133 137
FUCHSIA 244 0 161
MAUVE 153 51 102
LAVENDER_BLUSH 255 240 245
DARK_PINK 231 84 128
MAUVE_TAUPE 145 95 109
DARK_SCARLET 86 3 25
PUCE 204 136 153
CRIMSON 220 20 60
PINK 255 192 203
CARDINAL 196 30 58
CARMINE 150 0 24
PALE_PINK 250 218 221
PALE_CHESTNUT 221 173 175



Note: These numbers may need to be expressed in "hexadecimal" (base 16) notation – a couple good converters can be found here and here. For further information, see this article.

Color Lists

For the different colors used to represent different professions, see Skill categories.
For a list of the colors of items listed in the z-stocks menu, see Stocks.
For the colors of the various creatures, see creature
For the colors of status icons, see status icon

Material By Color

For those concerned with aesthetics and want to know which materials are available in each color.

Color Stones Ores Metals Other
White Alabaster, Alunite, Borax, Calcite, Chalk, Cryolite, Dolomite, Limestone, Marble, Marcasite, Periclase, Quartzite, Rock salt, Satinspar, Selenite, Talc Galena, Horn silver, Native aluminum, Native platinum, Native silver Silver, Platinum, Aluminum, Fine pewter, Nickel silver, Sterling silver Crystal glass, Feather tree, Tower-cap
Light Gray Anhydrite, Dacite, Gneiss, Granite, Phyllite, Stibnite Bismuthinite Nickel, Tin, Zinc, Billon, Trifle pewter
Dark Gray Andesite, Basalt, Claystone, Chromite, Diorite, Gabbro, Graphite, Hornblende, Ilmenite, Jet, Mica, Pyrolusite, Rhyolite, Shale, Slate, Obsidian Bituminous coal, Lignite, Magnetite, Sphalerite, Tetrahedrite Iron, Steel, Lead, Pig iron Black-cap
Brown Chert, Conglomerate, Mudstone, Puddingstone, Sandstone, Schist, Siltstone Cassiterite, Native copper Copper, Bronze All other aboveground trees
Yellow Brimstone, Orpiment, Orthoclase, Saltpeter, Sylvite, Gypsum Limonite, Native gold Gold, Bismuth bronze, Brass, Electrum Fungiwood
Dark Red Bauxite, Kaolinite Hematite Blood thorn
Red Cinnabar, Petrified wood, Realgar Goblin-cap
Green Olivine, Serpentine Malachite Green glass
Bright Green Garnierite
Cyan Lay pewter Clear glass, Spore tree
Light Cyan Microcline Raw adamantine Adamantine Ice
Dark Blue Kimberlite Nether-cap
Blue Cobaltite
Purple Pitchblende, Rutile Black bronze Glumprong
Magenta Bismuth, Rose gold Tunnel tube



"Color" in other Languages Books-aj.svg aj ashton 01.svg
Dwarven: dakas
Elven: mima
Goblin: zon
Human: rusna