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 23:03, 22 December 2022 by Jan (talk | contribs) (→‎Color tokens)
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. The 16 colors are shown below:

Color scheme default lrg.png

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 gray), 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 gray, 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. These are bright and dark shades of the primary colors, as well as black, white, and two grays:

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 LGRAY
Col. Bri. Name Alt.
0 1 DGRAY 8
1 1 LBLUE 9
2 1 LGREEN 10
3 1 LCYAN 11
4 1 LRED 12
5 1 LMAGENTA 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 referenced by their token name, e.g. [STATE_COLOR:SOLID:DARK_GREEN] or [POWDER_DYE:EMERALD]. The defined RGB values are not displayed in-game; one of the 16 display colors is used instead, choosing the one with the closest RGB values.

The following colors are grouped according to their corresponding display color. Hexadecimal color values are not used in the raws, but correspond to the RGB values that are. For further information, see the Wikipedia article on web colors.

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

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 names listed and the colors shown below match the colors from default init/color.txt. To change these from the default tones, see Color scheme.

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
LGRAY Anhydrite, Dacite, Gneiss, Granite, Phyllite, Stibnite Bismuthinite Nickel, Tin, Zinc, Billon, Trifle pewter
DGRAY 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, Olivine Limonite, Native gold Gold, Bismuth bronze, Brass, Electrum Fungiwood
RED Bauxite, Kaolinite Hematite Blood thorn
LRED Cinnabar, Petrified wood, Realgar Goblin-cap
GREEN Serpentine Malachite Green glass
LGREEN Garnierite
CYAN Lay pewter Clear glass, Spore tree
LCYAN Microcline Raw adamantine Adamantine Ice
BLUE Kimberlite Nether-cap
LBLUE Cobaltite
MAGENTA Pitchblende, Rutile Black bronze Glumprong
LMAGENTA Bismuth, Rose gold Tunnel tube
"Color" in other Languages Books-aj.svg aj ashton 01.svg
Dwarven: dakas
Elven: mima
Goblin: zon
Human: rusna