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.

Graphic set

From Dwarf Fortress Wiki
Revision as of 11:27, 5 October 2014 by CLA (talk | contribs) (Added tables for texture and profession tokens. Creature list is still missing)
Jump to navigation Jump to search


(For an overview of graphics in DF, see Graphics)
(For user-created creature graphics sets, see Graphics set repository.)

A graphic set is an additional tileset for objects. While this is eventually planned for all objects in game, currently only creatures can assigned to graphic sets. Graphic sets are placed in raw/graphics (as well as the raw folder of each save); A corresponding text file assigns tiles to objects.

Documentation

The graphic sets themselves are placed into subfolders. It is recommended that they have the same tile size as the main tileset, but the number of tiles and their spatial arrangement doesn't matter (see Notes for details). All creatures can have separate graphics assigned to their adult and child states, undead, and their -men and giant variants. In addition, the major Civilizations can have separate graphics for all professions (such as miner, mason, caravan guard, and ghost). You can assign one graphic to several creatures/states, and you can set each tile to either be displayed as it appears or let the game color them. Vermin and different genders cannot have separate graphics assigned to them.

Text File Syntax

A Graphic set needs a text file that tells the game which tile is used for which creature. You can use separate text files for each graphic set, or a single one for several. Each text file consists of a header, one or more graphic set definitions (called "TILE_PAGE") and several creature graphics entries, each of which has subentries for professions.

The structure of a typical text file would look like this:

  • Header
  • Tile page definition
    • Creature graphic entry
      • profession subentry
      • more
      • profession
      • subentries
    • next creature
      • with
      • more
      • professions
  • new tile page definition
    • a creature
      • with adult
      • and child graphics
    • and another creature
      • adult
      • child

Below is an example of such a file.

graphics_mygraphics ← The first line of the header. You'll be saving the text document as this name (graphics_mygraphics.txt) 
This name should match the folder name you will be using in "raw/graphics".

[OBJECT:GRAPHICS] This concludes the header. Each graphic set text file needs to contain these lines. ------------------------------ below are dwarves ← text outside brackets gets ignored. You can use it for comments and organizing your file visually with lines
[TILE_PAGE:MYDWARVES] ← Here you are defining properties of a single graphic set image. The title MYDWARVES will be used in creature graphic entries to refer to that graphic set. The title doesn't have to match any creature, folder, or image name. [FILE:mygraphics/mydwarves.png] ← The subfolder where the graphic set is located (relative to this text file) and its filename, including the file extension. [TILE_DIM:16:16] ← Height:Width - Pixels per tile, so DF knows where one tile ends and another begins [PAGE_DIM:5:3] ← Width:Height - Tiles per image and how they're arranged in rows and columns.
This concludes the first TILE_PAGE definition. Next are the creature graphic entries. Syntax is: [Profession:TILE_PAGE:X:Y:Color:State] X and Y are the coordinates of the tile on the image. More information below. [CREATURE_GRAPHICS:DWARF] ← The value (DWARF in this case) is the name the creature has in the raws. This NEEDS to be spelled correctly. [DEFAULT:MYDWARVES:0:0:ADD_COLOR:DEFAULT] ↑ The ADD_COLOR value tells DF to give the tile the same colors as the default graphic [STANDARD:MYDWARVES:1:0:AS_IS:DEFAULT] ↑ AS_IS takes the tile as it is. Most likely this is the setting you want [MINER:MYDWARVES:2:0:AS_IS:DEFAULT] ↓ We defined the tile page above. it refers to the image mydwarves.png [CHILD:MYDWARVES:3:0:AS_IS:DEFAULT] [BABY:MYDWARVES:4:0:AS_IS:DEFAULT] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ humans
[TILE_PAGE:MYHUMANS] ← The next TILE_PAGE definition. You could put that (and its creature graphic entries) in a separate text file, but it would have to contain its own header. [FILE:Other_Graphics/humans.png] ← This file is in another subfile [TILE_DIM:16:16] [PAGE_DIM:1:4]
[CREATURE_GRAPHICS:HUMAN] [DEFAULT:MYHUMANS:0:0:AS_IS:DEFAULT] Notes can go here too. [SWORDSMAN:MYHUMANS:0:1:AS_IS:DEFAULT] [RECRUIT:MYHUMANS:0:2:AS_IS:ADVENTURER] ← An ADVENTURER with no weapons [SWORDSMAN:MYHUMANS:0:3:AS_IS:ADVENTURER] ← An ADVENTURER with a sword ============================== animals
[TILE_PAGE:MYANIMALS] [FILE:Other_Graphics/animals.bmp] ← Pictures can be in .BMP format, too. [TILE_DIM:16:16] [PAGE_DIM:6:2]
[CREATURE_GRAPHICS:DOG] [DEFAULT:MYANIMALS:0:0:AS_IS:DEFAULT] [CHILD:MYANIMALS:1:0:AS_IS:DEFAULT] [TRAINED_HUNTER:MYANIMALS:4:0:AS_IS:DEFAULT] ← TRAINED_HUNTER profession only works with animals that have the [TRAINABLE] or [TRAINABLE_HUNTING] tag. [TRAINED_WAR:MYANIMALS:5:0:AS_IS:DEFAULT] ← TRAINED_WAR profession only works with animals that have the [TRAINABLE] or [TRAINABLE_WAR] tag. [CREATURE_GRAPHICS:CAT] [DEFAULT:MYANIMALS:0:1:AS_IS:DEFAULT]

Coordinates

The PAGE_DIM value in the TILE_PAGE section defines how many columns and rows a given TILE_PAGE (graphic set) has. The first value is the X axis (or "width"), the second value the Y axis ("height"). The origin (0,0) is at the top left. This is how the coordinates would work with the image mydwarves.png from the example above:


0:0 1:0 2:0 3:0 4:0
0:1 1:1 2:1 3:1 4:1
0:2 1:2 2:2 3:2 4:2

The position of the dwarven child graphic from the example above ([CHILD:MYDWARVES:3:0:AS_IS:DEFAULT]) is shown in bold.

Note that the coordiantes start at 0, not 1. So, the last column in a 5 tile wide image is at 4, not at 5.

Notes

The total number of tiles in a sheet cannot number more than 1024, regardless of how big (18x18) or how small (8x12) each tile is. Thus, a sheet that has its graphics organized into 22 rows and 44 columns works fine (as 22x44=968 which is less than 1024. However, a sheet that has 24 rows and 44 columns (24x44=1056) will not work.

List of Professions, Creatures and States

[CREATURE_GRAPHICS:HUMAN]
       [DEFAULT:MYHUMANS:0:0:AS_IS:DEFAULT]	
       [SWORDSMAN:MYHUMANS:0:1:AS_IS:DEFAULT]
       [RECRUIT:MYHUMANS:0:2:AS_IS:ADVENTURER]

As shown in the example above, the syntax is

 [CREATURE_GRAPHICS:Creature name]
       [Profession:MYHUMANS:0:0:AS_IS:Texture Token]

In the following, you will find lists with valid values.

Texture Tokens

[CREATURE_GRAPHICS:HUMAN]
      [DEFAULT:MYHUMANS:0:0:AS_IS:DEFAULT]	
      [SWORDSMAN:MYHUMANS:0:1:AS_IS:DEFAULT]
      [RECRUIT:MYHUMANS:0:2:AS_IS:ADVENTURER]

Note that the Tokens GHOST and ANIMATED go in the profession spot, not the texture token as you would expect - this means that you can't have separate graphics for miner zombies, axedwarf zombies, speardwarf zombies, etc.

Token Notes
DEFAULT Standard creature
ADVENTURER Used when playing the creature as an adventurer(?)
LAW_ENFORCE Presumably used by members of the squad led by a position responsible for LAW_ENFORCEMENT (i.e. Fortress Guards)
TAX_ESCORT Presumably used by members of the squad led by a position responsible for ESCORT_TAX_COLLECTOR (currently nobody)
ANIMATED Animated (zombie/skeleton) version of the creature
GHOST Ghostly version of the creature

Professions

[CREATURE_GRAPHICS:HUMAN]
       [DEFAULT:MYHUMANS:0:0:AS_IS:DEFAULT]	
       [SWORDSMAN:MYHUMANS:0:1:AS_IS:DEFAULT]
       [RECRUIT:MYHUMANS:0:2:AS_IS:ADVENTURER]

You can find these in raw/graphics/graphic_example.txt. All 5 major Civilizations (Dwarves, Elves, Humans, Goblins, Kobolds) use at least some of these professions. The second column displays which Civilization uses those professions. Currently that column is incomplete.

Civilians used by
MINER
WOODWORKER
CARPENTER
BOWYER
WOODCUTTER
STONEWORKER
ENGRAVER
MASON
RANGER
ANIMAL_CARETAKER
ANIMAL_TRAINER
HUNTER
TRAPPER
ANIMAL_DISSECTOR
METALSMITH
FURNACE_OPERATOR
WEAPONSMITH
ARMORER
BLACKSMITH
METALCRAFTER
JEWELER
GEM_CUTTER
GEM_SETTER
CRAFTSMAN
WOODCRAFTER
STONECRAFTER
LEATHERWORKER
BONE_CARVER
WEAVER
CLOTHIER
GLASSMAKER
STRAND_EXTRACTOR
FISHERY_WORKER
FISHERMAN
FISH_DISSECTOR
FISH_CLEANER
FARMER
CHEESE_MAKER
MILKER
COOK
THRESHER
MILLER
BUTCHER
TANNER
DYER
PLANTER
HERBALIST
BREWER
SOAP_MAKER
POTASH_MAKER
LYE_MAKER
WOOD_BURNER
ENGINEER
MECHANIC
SIEGE_ENGINEER
SIEGE_OPERATOR
PUMP_OPERATOR
CLERK
ARCHITECT
ADMINISTRATOR
TRADER
ALCHEMIST
MERCHANT
Military used by
CHAMPION
HAMMERMAN
MASTER_HAMMERMAN
SPEARMAN
MASTER_SPEARMAN
CROSSBOWMAN
MASTER_CROSSBOWMAN
WRESTLER
MASTER_WRESTLER
AXEMAN
MASTER_AXEMAN
SWORDSMAN
MASTER_SWORDSMAN
MACEMAN
MASTER_MACEMAN
PIKEMAN
MASTER_PIKEMAN
BOWMAN
MASTER_BOWMAN
BLOWGUNMAN
MASTER_BLOWGUNMAN
RECRUIT
TRAINED_HUNTER
TRAINED_WAR
MASTER_THIEF
THIEF
LASHER
MASTER_LASHER
Other used by
STANDARD
CHILD
BABY
DRUNK
Entity Tokens used by
FORCED_ADMINISTRATOR
HIGH_PRIEST
PRIEST
SLAVE
PRISONER

Creatures

[CREATURE_GRAPHICS:HUMAN]
       [DEFAULT:MYHUMANS:0:0:AS_IS:DEFAULT]	
       [SWORDSMAN:MYHUMANS:0:1:AS_IS:DEFAULT]
       [RECRUIT:MYHUMANS:0:2:AS_IS:ADVENTURER]

Creatures that use a raw name you might not expect (space instead of underscore, bird without BIRD_ suffix, etc) have a differently colored background. Make sure to spell these correctly.

Table goes here