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
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.
Palettes v50.png

Dwarf Fortress can use roughly 8424 colors to give many tiles such as foregrounds, backgrounds and sprites different colors. These 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. These colors are shown at the right:

The original game used a simplistic 16-color palette, with 8 of those colors: black, blue, green, cyan, red, purple, yellow, grey, and a lighter version of those colors creating a total of 16. The game also has an option to use the classic ASCII visuals, mimicking the classic version of the game by using 16 colors. Even with the updated graphics turned on, many elements of the game still use this color scheme, as to visually stick with the classic game's graphically simple style. Color is also 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.

Some sprite sheets contain their own dedicated color palettes.

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 for a tile in ASCII mode, 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.

For tiles in graphics mode, it instead uses a raw-defined palette. The default palette image is shown above. It checks for each color in the row defined by the PALETTE_DEFAULT token--in this case, the first row--and then maps it to the corresponding color in the same column, based on the STATE_COLOR of the object that the tile being printed corresponds to. For the vanilla raws, this is all in alphabetical order. New palettes and colors can be defined in the same way.


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

When in graphics mode, most things 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; instead, it assigns colors in the sprite from the top row of the palette file (seen above) to the row defined in data/vanilla/vanilla_descriptors_graphics/graphics/palette_default.txt, or any user-defined palette objects.

The following colors are grouped according to their corresponding display color in ASCII mode. 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_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
MAROON 128 0 0 #800000
CHESTNUT 205 92 92 #CD5C5C
ROSE 244 194 194 #F4C2C2
RED 255 0 0 #FF0000
VERMILION 227 66 52 #E34234
DARK_CHESTNUT 152 105 96 #986960
BURNT_SIENNA 233 116 81 #E97451
MAHOGANY 192 64 0 #C04000
PALE_BROWN 152 118 84 #987654
RED_PURPLE 178 0 75 #B2004B
DARK_PINK 231 84 128 #E75480
DARK_SCARLET 86 3 25 #560319
CRIMSON 220 20 60 #DC143C
CARMINE 150 0 24 #960018
CARDINAL 196 30 58 #C41E3A
LRED colors
Token RGB Hex
RUST 183 65 14 #B7410E
PUMPKIN 255 117 24 #FF7518
SEPIA 112 66 20 #704214
BROWN 150 75 0 #964B00
CINNAMON 123 63 0 #7B3F00
TAN 210 180 140 #D2B48C
RAW_UMBER 115 74 18 #734A12
TAUPE_SANDY 150 113 23 #967117
ECRU 194 178 128 #C2B280
SCARLET 255 36 0 #FF0024
BROWN colors
Token RGB Hex
BURNT_UMBER 138 51 36 #8A3324
AUBURN 111 53 26 #6F351A
CHOCOLATE 210 105 30 #DC691E
TAUPE_PALE 188 152 126 #BC987E
COPPER 184 115 51 #B87333
DARK_BROWN 101 67 33 #654321
LIGHT_BROWN 205 133 63 #CD853F
BRONZE 205 127 50 #CD7F32
OCHRE 204 119 34 #CC7722
GOLDENROD 218 165 32 #DAA520
GOLD 212 175 55 #D4AF37
BRASS 181 166 66 #B5A642
OLIVE 128 128 0 #808000
YELLOW colors
Token RGB Hex
DARK_PEACH 255 218 185 #FFDAB9
ORANGE 255 165 0 #FFA500
PEACH 255 229 180 #FFE5B4
SAFFRON 244 196 48 #F4C430
AMBER 255 191 0 #FFBF00
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
GREEN colors
Token RGB Hex
TAUPE_DARK 72 60 50 #483C32
DARK_TAN 145 129 81 #918151
YELLOW_GREEN 154 205 50 #9ACD32
DARK_OLIVE 85 104 50 #556832
GREEN-YELLOW 173 255 47 #ADFF2F
LGREEN colors
Token RGB Hex
CHARTREUSE 127 255 0 #7BFF00
GREEN 0 255 0 #00FF00
EMERALD 80 200 120 #50C878
DARK_GREEN 1 50 32 #013220
JADE 0 168 107 #00A86B
MIDNIGHT_BLUE 0 51 102 #003366
CYAN colors
Token RGB Hex
RUSSET 117 90 87 #755A57
TAUPE_MEDIUM 103 76 71 #674C47
FERN_GREEN 79 121 66 #4F7942
MOSS_GREEN 173 223 173 #ADDFAD
MINT_GREEN 152 255 152 #98FF98
LIGHT_BLUE 173 216 230 #ADD8E6
SLATE_GRAY 112 128 144 #708090
BLUE-GRAY 186 202 226 #BACAE2
PALE_CHESTNUT 221 173 175 #DDADAF
LCYAN colors
Token RGB Hex
SPRING_GREEN 0 255 127 #00FF7F
AQUAMARINE 127 255 212 #7FFFD4
TURQUOISE 48 213 200 #30D5C8
AQUA 0 255 255 #00FFFF
SKY_BLUE 135 206 235 #87CEEB
LILAC 200 162 200 #C8A2C8
BLUE 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
AZURE 0 127 255 #007FFF
COBALT 0 71 171 #0047AB
DARK_BLUE 0 0 139 #00008B
BLUE 0 0 255 #0000FF
PERIWINKLE 204 204 255 #CCCCFF
LBLUE colors
Token RGB Hex
TAUPE_ROSE 144 93 93 #905D5D
PALE_BLUE 175 238 238 #AFEEEE
AMETHYST 153 102 204 #9966CC
VIOLET 139 0 255 #8B00FF
MAUVE_TAUPE 145 95 109 #915F6D
MAGENTA colors
Token RGB Hex
CHARCOAL 54 69 79 #36454F
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
TAUPE_PURPLE 80 64 77 #50404D
EGGPLANT 97 64 81 #614051
MAUVE 153 51 102 #993366
LMAGENTA colors
Token RGB Hex
HELIOTROPE 223 115 255 #DF73FF
FUCHSIA 244 0 161 #F400A1
PUCE 204 136 153 #CC8899
PINK 255 192 203 #FFC0CB
PALE_PINK 250 218 221 #FADADD

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 k-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