Well, there're 2 kinds of tilesets.
So, here goes the wall of text.
Character set = a look of all characters (beds, walls, letters etc.).
Graphic set = a look of creatures.
A character set is used to represent actual ASCII tiles in game.
Most of the symbols from it are hardcoded (beds, gems, walls, hatches etc.) and some users even change some letters to pictures for the things indicated with letters to look like objects, i.e. wall corner ('O' tile) but it leads to weird names with pictures instead of letters.
The look of mineral tiles (displayed on unmined stone walls like "
%" for microcline), tiles of trees/plants and tiles of creatures can be changed.
In their description (soils, trees, plants, creatures) there's a token [TILE:] which allows you to change the look of them.
-If you use a number in it, i.e. [TILE:154] it will use the tile from CHARACTER set #154. Remember that tiles are counted from left to right and from top to bottom in lines, like you read a book, but also remember that the first tile has the number 0 (not 1).
-If you use '' you can set a keyboard symbol, i.e. [TILE:'o'] will mean that the thing will have "o" letter as a tile.
Also colors are determined with [COLOR:A:B:C] token, where A = color, B = background color and C = brightness (actually 0 or 1 which means dark or bright).
http://www.dwarffortresswiki.net/index.php/ColorAnd there's a special support for creature tiles. The creatures (and creatures only) can be replaced with pixel images. Firstly note that in your /data/init/init.txt there's [GRAPHICS:YES] not the [GRAPHICS:NO].
In /raw/graphics/ folder there are text files which determine it.There's already graphics_example.txt file.
Let's look into the one from a graphic tileset.
00: graphics_example // the name of the file without the extension (.txt)
01: // empty line
02: [OBJECT:GRAPHICS] // every raw file has [OBJECT:] definition which tells the game what goes into this file. This one has graphics.
03: // empty line
04: [TILE_PAGE:
DWARVES] // this means that we want to add an image file with dwarves' pictures and we call it DWARVES
05: [FILE:example/dwarves.bmp] // the location of the file (folder /example, file dwarves.bmp)
06: [TILE_DIM:16:16] // the size of a tile for a creature inside bmp, 16x16 pixels here (Tile_dimesion(x)=16; Tile_dimension(y)=16)
07: [PAGE_DIM:9:22] // the number of tiles, 9x and 22y (horizontal X vertical). The image size counts as [x*Tile_dim(x); y*Tile_dim(y)]
08: // empty line
09: [CREATURE_GRAPHICS:DWARF] // determines which creature will be described now
10: [DEFAULT:DWARVES:0:0:ADD_COLOR] // DEFAULT type image, the basic dwarven picture
11: [MINER:DWARVES:1:0:AS_IS:DEFAULT] // MINER profession image
12: etc.
Explanation of:[
MINER:
DWARVES:
1:
0:AS_IS:
DEFAULT]
MINER = profession for which the image is used
the possible professions are
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
KING
KING_CONSORT
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
TAXCOLLECTOR
EXECUTIONER
BARON
COUNT
DUKE
BARON_CONSORT
COUNT_CONSORT
DUKE_CONSORT
PHILOSOPHER
ADVISOR
ALCHEMIST
DUNGEONMASTER
MERCHANT
DIPLOMAT
GUILDREP
MERCHANTBARON
MERCHANTPRINCE
OUTPOSTLIAISON
DRUID
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
STANDARD
CHILD
BABY
DRUNK
LASHER
MASTER_LASHER
SLAVE <- appears only in the new version (.39+)
PRISONER <- appears only in the new version (.39+)
DWARVES - the TILE_PAGE which we use to find this image, basically there can be more than one TILE_PAGE in 1 file (look at the string 04) and here we show that we look into file which we announced as "DWARVES".
:
1:
0: the position of the tile on the full image,
x=1 and
y = 0. Note that the first tile has not 1:1 but 0:0 coordinates.
AS_IS - uh, I don't know, I have never seen it changed.
DEFAULT - "texture"; the last parameter is used to define the "role".
It can be
DEFAULT
ADVENTURER
GUARD
ROYALGUARD
CASTLEGUARD
SKELETON
ZOMBIE
So your "wrestler" may be DEFAULT, GUARD, ROYALGUARD or CASTLEGUARD.
Fictional example:
[WRESTLER:YOURIMAGE:0:0:AS_IS:DEFAULT]
[WRESTLER:YOURIMAGE:1:0:AS_IS:GUARD]
[WRESTLER:YOURIMAGE:2:0:AS_IS:ROYALGUARD]
[WRESTLER:YOURIMAGE:3:0:AS_IS:CASTLEGUARD]
Also the dog may be DEFAULT, SKELETON or ZOMBIE
Fictional example
[CREATURE_GRAPHICS:DOG]
[DEFAULT:DWARVES:5:4:AS_IS:DEFAULT]
[CHILD:DWARVES:6:4:AS_IS:DEFAULT]
[DEFAULT:DWARVES:7:4:AS_IS:SKELETON]
[DEFAULT:DWARVES:8:4:AS_IS:ZOMBIE]
Another note.
You can have more than one txt file for such descriptions if you want, i.e. you may want to have graphics_humans.txt for different humans, graphics_animals.txt for different animals etc.
The file structure should be the same.
Firstly the filename without the extension, then OBJECT:GRAPHICS token, then determination of TILE_PAGEs you want to use and then the description of creatures.
Also you may want to use an already prepacked version if it seems to hard or you don't want to spend your time on it, however I suggest you to try to get into it, it's much funnier to play with all the things as you want.
Prepacked versions of 39c with graphics:
http://dffd.wimbli.com/file.php?id=62