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 "40d:Tilesets"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
Line 1,010: Line 1,010:
 
{{Game Interface FAQ}}
 
{{Game Interface FAQ}}
  
[[Category:Modding]]
+
{{Category|Modding}}
 
[[Category:Interface]]
 
[[Category:Interface]]

Revision as of 17:58, 16 March 2011

This article is about an older version of DF.
(For a chart with the default ASCII characters, see Character table.)
(For user-created tilesets, see Tileset repository.)
(For user-created creature graphics sets, see Template:L.)


Tilesets are images the game uses to display its graphics; each tile is used to show text and represent things. Users create custom tilesets for a number of reasons, including increased visibility, aesthetics, or small size. Tilesets come in two flavors: "character sets" (or simply "tilesets") and "graphics sets".

Overview and installation

Character sets

A character set is an image in BMP format that contains the 256 different tiles, corresponding to the IBM Code Page 437 (sometimes called Extended ASCII), which are used to display the main graphics. Here is a list of user-made standard tilesets. To install any of these tilesets, follow these steps:

  1. Download the tileset via right-click-save-as on the the tileset. The tileset is just an image, so there's no separate download link. (The list is Template:L)
  2. Convert it into a 24-bit BMP file. Do NOT just change the extension to .bmp; you must use a program like MS paint to save it as a .bmp.
  3. Put it in the data/art directory of your Dwarf Fortress installation.
  4. Open data/init/init.txt
  5. If you want to use the tileset in fullscreen mode, locate and modify the [FULLSCREENX:800], [FULLSCREENY:600], and [FULLFONT:curses_800x600.bmp] configuration lines to match the specifications from the tileset list. The FULLFONT directive should match the filename of the tileset you downloaded. If you want to use the tileset in windowed mode, search for the [WINDOWEDX:640], [WINDOWEDY:300], and [FONT:curses_640x300.bmp] lines instead, and change them to the correct values.
  6. It is also recommended you change [BLACK_SPACE:NO] to [BLACK_SPACE:YES] to prevent stretching of the graphics.
  7. Save the file, then you're ready to play!

Graphics sets

Character sets only change certain graphics, while others are left out. The confusingly-named Template:L are used to change the appearance of Template:L in the game, such as dwarves and unicorns. These are usually designed to work together with certain character sets. The Dystopian Rhetoric graphics set comes with its own DF installer; to install any others (or to install that one manually), you follow a similar process to the above:

  1. Download the graphics set. (The list is Template:L.)
  2. Convert it into a 24-bit BMP file using your favorite image editing program.
  3. Put it in the raw/graphics/example directory of your Dwarf Fortress installation, so it overwrites the existing file.
  4. Open /raw/graphics/example_text.txt
  5. Replace the contents with the appropriate text for the graphics set you downloaded. Save the file.
  6. Open data/init/init.txt
  7. Locate the [GRAPHICS:NO] line and change it to [GRAPHICS:YES].
  8. Change the resolution and font directories as above, this time for the lines starting with GRAPHICS instead. So, if you want to use fullscreen mode, modify [GRAPHICS_FULLSCREENX:800], [GRAPHICS_FULLSCREENY:600], and [GRAPHICS_FULLFONT:curses_800x600.bmp] to suit the standard tileset you want to use. For windowed mode, the lines to change are [GRAPHICS_WINDOWEDX:640], [GRAPHICS_WINDOWEDY:300], and [GRAPHICS_FONT:curses_640x300.bmp].
  9. Be sure to change [GRAPHICS_BLACK_SPACE] to the same setting as [BLACK_SPACE].
  10. Save the file, then you're ready to get mangled by a great-looking elephant!

How to stretch the tile sets for bigger display

Simply change [GRAPHICS_BLACK_SPACE:?] and [BLACK_SPACE:?] to NO in the init/init.txt, depending on whether you are using the graphics mode or not. This will stretch the window to the size you specified in [WINDOWEDX:?] and [WINDOWEDY:?] or FULLSCREENX:?] and [FULLSCREENY:?] or [GRAPHICS_WINDOWEDX:?] and [GRAPHICS_WINDOWEDY:?] or [GRAPHICS_FULLSCREENX:?] and [GRAPHICS_FULLSCREENY:?] depending on which mode you run DF in. (NORMAL|GRAPHICS + WINDOWED|FULLSCREEN)

IMPORTANT NOTES:

  • If you are on a Mac you will have to use a program like GraphicConverter or Photoshop to save tilesets as windows bitmaps.
  • Recommended only for window mode prior to version 39f, to make it easier to preserve tile aspect ratio. 39f onwards, you should choose a grid size that is of the same aspect ratio as your monitor (e.g. on a 1600x1280 monitor, choose grid size 80:64)
  • Take note however that you need to set the the window size correctly.
    • For versions prior to 39f, your window width in pixel size should be 3.2 (which is 80/25) times your window height in pixel size.
    Example:
    if you choose window width to be 1600, i.e. [GRAPHICS_WINDOWEDX:1600] in init/init.txt file, then your height should be 1600/3.2 which gives 500, i.e. [GRAPHICS_WINDOWEDY:500] in init/init.txt. This will automatically stretch your character tiles and gfx tiles accordingly.
    • For version 39f onwards where you can change the grid size, you need to compute the aspect ratio from the (grid width)/(grid height).
    Example:
    if you are are using a grid size of 80 by 64, the aspect ratio should be 1.25 (from 80/64). If you set your window width to 1600, then the height will be 1600/1.25 = 1280.
  • Also note that stretching a gfx tile may cause graphical artifacts (not the crafted ones in-game!) i.e. slight defects in the visuals, but it should make you able to see smaller tiles on a larger screen area. The exception is when you use a integral multiple, e.g. stretching 16x16 tiles to 32x32, which seems to produce the least artifacts.
  • It is not recommended that you shrink tiles though the method is the similar (except defining a smaller window size than is normally required by the grid and tile size).

How to increase number of tiles shown keeping the tile size the same

See Template:L.

Custom tileset design

The default (and minimum) gameplay viewport is 80 characters wide, and 25 characters tall. Therefore, a tileset's target resolution will be TILE_X_LENGTH * 80 by TILE_Y_LENGTH * 25. Since the tileset is arranged into a 16x16 grid of tiles (256 tiles total), the tileset image size will be TILE_X_LENGTH * 16 by TILE_Y_LENGTH * 16. Here are some common tile sizes:

  • A tileset with 10x12 tiles will be 160x192 pixels large, and the target resolution will be 800x300.
  • A tileset with 16x16 tiles will be 256x256 pixels large, and the target resolution will be 1280x400.

When creating a custom tileset, it's often easiest to start with an existing one, and edit it to your liking. Tilesets generally fall into three categories: rectangular tilesets, square tilesets, and 16x16 square tilesets. Rectangular tilesets have tiles that are taller than they are wide. The text in these tilesets is generally easier to read, but the map appears squished horizontally. Square tilesets usually provide more attractive graphics, but are slightly less readable. The 16x16 square tilesets are just a sub-set, which are grouped together because most Template:L use 16x16 tiles. The graphics in Dwarf Fortress can be somewhat diversified and enhanced through the use of graphics sets.

Many tiles are used by the game in multiple ways, and this makes customizing the graphics difficult. The same icon is used for chairs and the north end of one-tile-wide vertical bridges. Ashes and broken arrows look the same, and many game entities (such as levers, floodgates, bags, and bins) share characters that are also used in Dwarven names or other bits of text in the interface.

How colors other than white and magenta work

When the game draws a tile, it will select a foreground color, a background color, and a tile based on the item being drawn. The background color will be used in place of magenta (Hex code #FF00FF or RGB 255 0 255). All other colors in the tile will be treated as a mask against the foreground color. Pure white (#FFFFFF) will always show the foreground color, while light grey (#CCCCCC) will be a slightly darker version of the foreground color, and dark grey (#888888) will be a dark version of the foreground color. Black (#000000) will always be black. It is impossible to use different shades of the background color.

In general, just remember these rules:

  • Bright magenta (#FF00FF) is the background.
  • Bright white (#FFFFFF) is the foreground.
  • Darker shades of white and grey (#C0C0C0, #808080, etc) will display darker shades of the foreground color. It is possible to use any shade of grey, including ones like #333333 and #C2C2C2.
  • Black (#000000) will always be black.
  • It's probably best to avoid color in normal tilesets.

For an example, the game is drawing an exposed turquoise cluster with color bright blue (#0000FF). While loading the tile image, it encounters the color light grey (#CCCCCC). The color used in its place will be:

Color component Foreground color Color mask from tile Calculation in hex Calculation in decimal
Red #0000FF #CCCCCC 0016 * CC16 / 10016 = 0016 0 * 204 / 256 = 0
Green #0000FF #CCCCCC 0016 * CC16 / 10016 = 0016 0 * 204 / 256 = 0
Blue #0000FF #CCCCCC FF16 * CC16 / 10016 = CB16 255 * 204 / 256 = 203
Final Color #0000CB 0 0 203

Color masks with unequal amounts of R, G and B are calculated in the same fashion. The game is now drawing a speardwarf with color brown (#C0C000). It encounters the color cyan while loading the tile (#008080). The color used instead of cyan will be:

Color component Foreground color Color mask from tile Calculation in hex Calculation in decimal
Red #C0C000 #008080 C016 * 0016 / 10016 = 0016 192 * 0 / 256 = 0
Green #C0C000 #008080 C016 * 8016 / 10016 = 6016 192 * 128 / 256 = 96
Blue #C0C000 #008080 0016 * 8016 / 10016 = 0016 0 * 128 / 256 = 0
Final Color #006000 0 96 0

As illustrated by this example, colors in the tileset can result in colors that aren't in the foreground color or the tile graphic. In this case, a brown foreground color with a cyan pixel color in the tileset results in a final color of green.

Theoretically, the way the game handles color masks could be used to display different graphics for items that use the same tile (but whose respective colors use different color component channels). For example, if a bright red object and a bright blue object use the same tile, the tile can use bright red for all pixels that only the red object uses, bright blue for all pixels only the blue object uses, and bright magenta (but NOT #FF00FF, it would have to be #FE00FE or something similar) for all pixels both objects use. In this fashion the two objects that share a tile would look completely different. In practice however, this is probably impossible because so many objects share the same tile, the chances of the potential foreground colors sharing a red, green, or blue color component are too great.

What tiles are used for what

  • Items marked with * can have their tile changed in the Template:L files.
  • Items marked with # can have their tile replaced by a Template:L image, in addition to having their tile changed in the raw data.
  • Items marked with $ can be changed in the Template:L file.

For a graphical table, go to the Character Table.

Row 01 (000-015)

00   Used for background tiles in the intro CMV, rarely used elsewhere
01 Template:L dwarves# used for dead dwarves
02 Template:L dwarves# used for dead dwarves
03 Template:Ls*
04 Cut Template:Ls, large Template:Ls
05 Template:Ls*, Acacia, Mangrove, Maple, Alder and Birch Template:L* Template:Les*
06 Template:Ls*, Oak, Mahogany, Chestnut and Ash Template:L*, Template:L leaves*
07 Template:L, solid Template:L tile for several workshops like the Template:L, Template:Ls in main map, Template:Ls in the main map
08 Solid workshop tile for several other workshops like the Template:L, Template:L workshop, Template:L cup
09 Template:L, Template:L, Template:L, Template:L, Template:L, Template:Ls in the local embark map screen (if enabled)
10
11 Male sign, Template:Ls
12 Female sign, Template:L
13
14 Template:Ls
15 Template:Ls*, bituminous Template:L*, Template:L symbol, Template:L Template:L symbol, spider Template:Ls, Template:L*, 'sun' symbol in engravings, Template:L assemblies, fireballs

Row 02 (016-031)

16 Head of Template:L facing east, Template:L*
17 Head of Template:L facing west
18
19 Template:Ls, on-Template:L symbol, vertical Template:L
20 Template:Ls, largest elven cities, Highwood Template:L*
21 § Template:Ls, Template:L*
22 Template:Ls
23 Some tree types
24 Interface text (Template:L direction), Pine and Larch Template:L
25 Hungry/thirsty/drowsy/unhappy indicator, Interface text (Template:L direction)
26 Interface text (Template:L direction)
27 Interface text (Template:L direction)
28
29
30 Head of Template:L facing north, Template:L up
31 Head of Template:L facing south, Template:L down

Row 03 (032-047)

32   Spaces in text messages, used for background on the title screen/menu
33 ! Various Template:L, text
34 " Template:L*, quotation marks, workshop tiles, kobold's glowing eyes*
35 # Chasm (bottom in fortress mode), pits, Template:Ls
36 $ Template:Ls
37 % Template:L, unexplored underground, Template:L in action
38 & Template:Ls#
39 ' Rough Template:Ls, unexplored underground, Template:L*, Template:L*, Template:L*
40 ( Foreign object opening tag, tile in Template:L, text
41 ) Foreign object closing tag, text
42 * Template:L*, superior Template:L tags, key reference, working Template:L, Template:L Template:L
43 + Smooth/constructed Template:Ls, injured status, finely-crafted Template:L tags, text, Template:L/Template:L Template:L or Template:L
44 , Rough Template:Ls, Template:L*, unexplored underground, text
45 - Template:L, Template:Ls in flight, well-crafted Template:L tags, keyboard reference, Part of animation when two creatures or dwarves are on the same spot
46 . Rough Template:Ls, Template:L*, text, unexplored underground
47 / Template:Ls, Template:Ls, Template:L tile, text

Row 04 (048-063)

48 0 Template:Ls, text
49 1 Text, fluids if Template:L is YES in init.txt
50 2 Text, fluids if SHOW_FLOW_AMOUNTS is YES in init.txt
51 3 Text, fluids if SHOW_FLOW_AMOUNTS is YES in init.txt
52 4 Text, fluids if SHOW_FLOW_AMOUNTS is YES in init.txt
53 5 Text, fluids if SHOW_FLOW_AMOUNTS is YES in init.txt
54 6 Text, fluids if SHOW_FLOW_AMOUNTS is YES in init.txt
55 7 Text, fluids if SHOW_FLOW_AMOUNTS is YES in init.txt
56 8 Text
57 9 Text
58 : Template:L*, Template:L*, Template:L*, Template:L*, snowstorms
59 ; Template:L
60 < Template:L up
61 = Template:Ls
62 > Template:L down
63 ? "Task assigned" indicator, looking for path

Row 05 (064-079)

64 @ Template:L#, berserk dwarf#, adventurer#, Template:L#, Template:L#, dwarven Template:Ls#, Template:L guards#, adventurer's location on world map
65 A Template:L#, text
66 B Bears#, text
67 C Template:L#, camels#, text
68 D Template:L#, text
69 E Template:L#, Template:L#, text
70 F Text
71 G Text
72 H Template:L#, text
73 I Template:L, text
74 J Text
75 K Text
76 L Template:L#, text
77 M Template:L#, Template:L#, Template:L#, text
78 N Text
79 O Template:L post, glass portal, detailed/constructed wall by itself, text, wall ends

Row 06 (080-095)

80 P Text
81 Q Text
82 R Text
83 S Template:L#, Template:L#, Template:L#, text
84 T Template:L#, Text
85 U Template:L#, Template:L#, text
86 V Text
87 W Text
88 X Template:L, stone Template:L, shop post, building footprint, nausea/winded/stunned/unconscious/migrant indicator, text, up/down stairs, keyboard cursor
89 Y Text
90 Z Sleep indicator, text
91 [ Template:L, Template:L, item stack opening tag, text
92 \ Part of animation when two creatures or dwarves are on the same spot, Template:L tile
93 ] Floor tile in Template:L and Template:L, item stack closing tag, text, clothing?, armor?
94 ^ Template:L, Template:L*, Template:L on world map
95 _ Template:L Template:L, text

Row 07 (096-111)

 96 ` Rough floors, unexplored underground
 97 a Template:L#, text
 98 b Template:L#, text
 99 c Template:L#, text
100 d Template:L#, text
101 e Text
102 f Template:L#, text
103 g Template:L#, Template:L#, Template:L#, Template:L#, text
104 h Template:L#, text
105 i Template:L#, text
106 j Text
107 k Template:L#, text
108 l Text
109 m Template:L#, Template:L, text
110 n Text
111 o Well construction, bridge construction, text, Template:L in action, floor tile in magma Template:L

Row 08 (112-127)

112 p Text
113 q Text
114 r Template:L#, text
115 s Template:L#, Template:L#, Template:L#, text
116 t Template:L#, text
117 u Text
118 v Text
119 w Template:L#, text
120 x Template:L*, text
121 y Text
122 z Text
123 { Forbidden opening tag
124 | Template:L*, pipe sections, Part of animation when two creatures or dwarves are on the same spot
125 } Forbidden closing tag
126 ~ Unfinished rough stone Template:L, Template:L, Template:L, Template:Ls, dirt Template:L, Template:L under construction, Template:L, furrowed soils, Template:L smear, guts
127 Template:L, low Template:Ls on world map, part of Template:L

Row 09 (128-143)

128 Ç Template:Ls
129 ü Text
130 é Text
131 â Text
132 ä Text
133 à Text
134 å Text
135 ç Template:Ls
136 ê Text
137 ë Text
138 è Text
139 ï Text
140 î Elven forest retreat
141 ì
142 Ä
143 Å Template:Ls, text

Row 10 (144-159)

144 É
145 æ Template:Ls
146 Æ Template:Ls, Template:Ls, Template:Ls
147 ô
148 ö
149 ò Unactivated Template:Ls, Template:Ls#, text
150 û Template:L, text
151 ù
152 ÿ Template:L*
153 Ö
154 Ü
155 ¢ Closed Template:Les
156 £ Many valuable metals* in veins, Other Features in Local embark map screen (when display is enabled)
157 ¥ Template:L*
158
159 ƒ Template:L*

Row 11 (160-175)

160 á
161 í
162 ó Activated Template:Ls, text
163 ú
164 ñ
165 Ñ
166 ª
167 º Template:L
168 ¿ Template:L
169 Withered Template:Ls*
170 ¬
171 ½
172 ¼
173 ¡ Template:L, Template:L
174 « Tail of Template:L facing west, item with Template:L tag
175 » Tail of Template:L facing east, item with Template:L tag

Row 12 (176-191)

176 Partially dug rock, Template:L, Template:L dust, Template:L, smoke, Template:L & Butcher's workshops, Template:L*, Template:L*, Template:L*, various soils*
177 Partially dug rock, Template:L, Template:L dust, Template:L, smoke, side tiles for catapult, Template:L
  • Template:L*, Template:L*, various soils*
  • Workshops (craftdwarf's, bowyer's, mason's, mechanic's, jeweler's, clothier's, Template:L, and leather works)
178 Partially dug rock, Template:L, Template:L dust, Template:L, smoke, tannery, Template:L body, Template:L*, Template:L*, Template:L*, Template:L*, various soils*
179 Overworld Template:Ls, Template:L Template:L, rotating Template:Ls
180 Overworld Template:Ls, top-right tile for Template:L, glumprong Template:L*
181 Template:Ls, Template:L tile
182
183 Ends of smooth walls
184 Ends of smooth walls
185 Smooth/constructed walls
186 Smooth/constructed walls, Template:Ls, wooden Template:Ls, center Template:L tile, center Template:L tile, Template:Ls
187 Smooth/constructed walls, bridges
188 Smooth/constructed walls, bridges
189 Ends of smooth walls
190 Ends of smooth walls
191 Overworld Template:Ls

Row 13 (192-207)

192 Overworld rivers/Roads
193 Overworld rivers/Roads
194 Overworld rivers/Roads
195 Overworld rivers/Roads, top-left tile for Template:L
196 Overworld rivers/Roads, rotating Template:Ls
197 Template:Ls, overworld rivers/Roads, floor Template:L/Template:L in progress
198 Bridges, trees in winter, (un)dead trees, Template:L tile
199
200 Smooth/constructed walls, bridges
201 Smooth/constructed walls, bridges
202 Smooth/constructed walls
203 Smooth/constructed walls
204 Smooth/constructed walls
205 Smooth/constructed walls, bridges, planted Template:Ls, center Template:L tile, center Template:L tile, Template:Ls
206 Smooth/constructed walls, bridges, Template:Ls, (flashing) wall Template:L/Template:L/fortifying in progress
207 Tail of Template:L facing north

Row 14 (208-223)

208 Bridges, Template:L tile
209 Template:L, tail of Template:L facing south
210 Template:Ls, bridges, Template:L tile, farmer's workshop bottom-middle tile
211 Ends of smooth walls
212 Ends of smooth walls
213 Ends of smooth walls
214 Ends of smooth walls
215 Wooden floodgates, bone floodgates, wall grates
216 Metal doors
217 Overworld Template:Ls
218 Overworld rivers
219 Any solid color tile
220 Template:L parts, Template:L tile
221 Template:L tile
222 Template:L tile
223 Template:L tile

Row 15 (224-239)

224 α Template:L*, top-center Template:L tile, Template:L
225 ß Template:L
226 Γ Template:L symbol, candlenut Template:L*, mango tree*, rubber tree*, cacao tree*, palm tree*, kapok tree*
227 π Template:L, Template:Les
228 Σ Template:L
229 σ Template:L, metalsmith's and magma forge bottom-middle tile
230 µ Template:L, Template:L on world map
231 τ Template:L sapling*, Template:L*, Template:L*, Template:L*, Template:L*, Template:L*, Template:L*, Template:L*, Template:L*
232 Φ Template:L*, Template:L*, Template:L*
233 Θ Template:Ls, Template:L*
234 Ω Template:Ls, dwarven cities on map, Template:L*
235 δ Template:Ls, Template:L tile
236 Template:L, dry Template:L, middle-right Template:L tile, Template:L*, Template:L*, sea foam, images of clouds
237 φ Template:L, Template:L bottom left tile, farmer's workshop bottom right tile
238 ε Template:L middle-right tile
239 Template:L on world map

Row 16 (240-255)

240 Template:Ls, excellent Template:L symbol, Template:Ls, metal/glass Template:Ls, floor Template:L
241 ± Unfinished Template:L
242 Debris (spent ammo, ballista bolts, and catapult stones), Template:L
243 Debris (spent ammo, ballista bolts, and catapult stones), Template:L
244 Willow Template:L*
245
246 ÷ Template:L, Template:L, upper left tile of Template:L (works well as barrel)
247 Rough stone Template:L or Template:L, Template:L, Template:L, Template:L, glob, Template:L, Template:L, Template:L, furrowed soil, Template:L, Template:L pools, sea foam, Mudstone*, Serpentine*, others?
248 ° Template:L, sea foam
249 Template:L*, terrain at lower elevation
250 · Template:Ls, micro-vermin, distant indoors terrain$ (changed by the 'chasm' option in init.txt)
251 Template:Ls, Template:L in main map, check mark (selecting production materials, confirmed items on manager window)
252 Template:L in main map
253 ² Body parts, Template:Ls, vermin corpses, Template:L, Template:L, Template:Ls, Template:Ls
254 Template:Ls, trees at lower elevation
255   No use?

List of text characters

Changes to these may make text look strange or be difficult to understand.

  • " ! ( ) _ + , - . 0 1 2 3 4 5 6 7 8 9 / [ ]
  • A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  • a b c d e f g h i j k l m n o p q r s t u v w x y z
  • 32 (Space); ↑ ↓ → ← [Bridge direction indicators]

Alphabets

Accented characters are used for names.

Dwarvish: íèîïéóúûôöùòêìëàáåäâabcdefghiklmnorstuvz

Elvish: íèéóúÿùòìçabcdefghiklmnopqrstuvwyz

Human: ñáabcdefghijklmnopqrstuvwxyz

Goblin: ûôöêëäåâabdeghklmnoprstuxz

No known use

These are ideal for using to change tiles in the raw data or init.txt.

  • ◙ ♪ ↕ ↔ ₧ ª ¬ ½ ¼ ╢ ╟ ⌡ 255