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.

Color

From Dwarf Fortress Wiki
Revision as of 07:16, 21 June 2020 by Albedo (talk | contribs) (→‎Material by color: there is no "purple" in init/color.txt)
Jump to navigation Jump to search
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 Dwarf Fortress, see Graphics.
For user-compiled colors, see color scheme.
For lists of the colors of materials, professions, creatures, etc., see the "Color Lists" at the bottom of this page.

Dwarf Fortress 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 Hex*
BLACK 0 0 0 #000000
CLEAR 128 128 128 #808080
GRAY 128 128 128 #808080
SILVER 192 192 192 #C0C0C0
WHITE 255 255 255 #FFFFFF
TAUPE_ROSE 144 93 93 #905D5D
CHESTNUT 205 92 92 #CD5C5C
MAROON 128 0 0 #800000
RED 255 0 0 #FF0000
RED_PURPLE 178 0 75 #B2004B
ROSE 244 194 194 #F4C2C2
VERMILION 227 66 52 #E34234
RUSSET 117 90 87 #755A57
SCARLET 255 36 0 #FF0024
BURNT_UMBER 138 51 36 #8A3324
TAUPE_MEDIUM 103 76 71 #674C47
DARK_CHESTNUT 152 105 96 #986960
BURNT_SIENNA 233 116 81 #E97451
RUST 183 65 14 #B7410E
AUBURN 111 53 26 #6F351A
MAHOGANY 192 64 0 #C04000
PUMPKIN 255 117 24 #FF7518
CHOCOLATE 210 105 30 #DC691E
TAUPE_PALE 188 152 126 #BC987E
TAUPE_DARK 72 60 50 #483C32
DARK_PEACH 255 218 185 #FFDAB9
COPPER 184 115 51 #B87333
LIGHT_BROWN 205 133 63 #CD853F
BRONZE 205 127 50 #CD7F32
PALE_BROWN 152 118 84 #987654
DARK_BROWN 101 67 33 #654321
SEPIA 112 66 20 #704214
OCHRE 204 119 34 #CC7722
BROWN 150 75 0 #964B00
CINNAMON 123 63 0 #7B3F00
TAN 210 180 140 #D2B48C
RAW_UMBER 115 74 18 #734A12
ORANGE 255 165 0 #FFA500
PEACH 255 229 180 #FFE5B4
TAUPE_SANDY 150 113 23 #967117
Token RGB Hex*
GOLDENROD 218 165 32 #DAA520
AMBER 255 191 0 #FFBF00
DARK_TAN 145 129 81 #918151
SAFFRON 244 196 48 #F4C430
ECRU 194 178 128 #C2B280
GOLD 212 175 55 #D4AF37
PEARL 240 234 214 #F0EBD6
BUFF 240 220 130 #F0DC82
FLAX 238 220 130 #EEDC82
BRASS 181 166 66 #B5A642
GOLDEN_YELLOW 255 223 0 #FFDF00
LEMON 253 233 16 #FDE910
CREAM 255 253 208 #FFFDD0
BEIGE 245 245 220 #F5F5DC
OLIVE 128 128 0 #808000
YELLOW 255 255 0 #FFFF00
IVORY 255 255 240 #FFFFF0
LIME 204 255 0 #CCFF00
YELLOW_GREEN 154 205 50 #9ACD32
DARK_OLIVE 85 104 50 #556832
GREEN-YELLOW 173 255 47 #ADFF2F
CHARTREUSE 127 255 0 #7BFF00
FERN_GREEN 79 121 66 #4F7942
MOSS_GREEN 173 223 173 #ADDFAD
GREEN 0 255 0 #00FF00
MINT_GREEN 152 255 152 #98FF98
ASH_GRAY 178 190 181 #B2BEB5
EMERALD 80 200 120 #50C878
SEA_GREEN 46 139 87 #2E8B57
SPRING_GREEN 0 255 127 #00FF7F
DARK_GREEN 1 50 32 #013220
JADE 0 168 107 #00A86B
AQUAMARINE 127 255 212 #7FFFD4
PINE_GREEN 1 121 111 #01796F
TURQUOISE 48 213 200 #30D5C8
PALE_BLUE 175 238 238 #AFEEEE
TEAL 0 128 128 #008080
Token RGB Hex*
AQUA 0 255 255 #00FFFF
LIGHT_BLUE 173 216 230 #ADD8E6
CERULEAN 0 123 167 #007BA7
SKY_BLUE 135 206 235 #87CEEB
CHARCOAL 54 69 79 #36454F
SLATE_GRAY 112 128 144 #708090
MIDNIGHT_BLUE 0 51 102 #003366
AZURE 0 127 255 #007FFF
COBALT 0 71 171 #0047AB
LAVENDER 230 230 250 #E6E6FA
DARK_BLUE 0 0 139 #00008B
BLUE 0 0 255 #0000FF
PERIWINKLE 204 204 255 #CCCCFF
DARK_VIOLET 66 49 137 #423189
AMETHYST 153 102 204 #9966CC
DARK_INDIGO 49 0 98 #310062
VIOLET 139 0 255 #8B00FF
INDIGO 75 0 130 #4B0082
PURPLE 102 0 153 #660099
HELIOTROPE 223 115 255 #DF73FF
LILAC 200 162 200 #C8A2C8
PLUM 102 0 102 #660066
TAUPE_PURPLE 80 64 77 #50404D
TAUPE_GRAY 139 133 137 #8B8589
FUCHSIA 244 0 161 #F400A1
MAUVE 153 51 102 #993366
LAVENDER_BLUSH 255 240 245 #FFF0F5
DARK_PINK 231 84 128 #E75480
MAUVE_TAUPE 145 95 109 #915F6D
DARK_SCARLET 86 3 25 #560319
PUCE 204 136 153 #CC8899
CRIMSON 220 20 60 #DC143C
PINK 255 192 203 #FFC0CB
CARDINAL 196 30 58 #C41E3A
CARMINE 150 0 24 #960018
PALE_PINK 250 218 221 #FADADD
PALE_CHESTNUT 221 173 175 #DDADAF

*Hexadecimal color values are not used in the raws, but correspond to the RGB values that are. 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 who want to know which materials display as which color, for levers, aesthetic concerns, etc.

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
Magenta Pitchblende, Rutile Black bronze Glumprong
Light 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