I for one love all the extra work you put in, the scripts, compability, vectors graphics... Its great. :-)
Thanks! I'm really hoping that the extra work I put in early on will make maintaining and updating the tileset easier.
How is it going? I'm so excited about bitlands.
I don't know what I am awaiting more: df party system update, or bitlands release. Probably both.
Gotta check the thread every day.
Things are going very smoothly. The process of writing the files took longer than I anticipated but that will be finished soon. All of the creatures, races, items, crops, shrubs, trees, plant growths and map tiles are drawn. The files for creatures, races, crops, shrubs, trees and plant growths have been written. What's left is to draw the remaining tiles, start on the overrides, test the tileset and ship it!
Since I'm currently checking the plant raws, I thought I'd highlight that process in this update.
======================================
COLOR CODES
======================================
#BLACK 0
#NAVY 1
#GREEN 2
#TEAL 3
#MAROON 4
#PURPLE 5
#OLIVE 6
#SILVER 7
#GRAY 8
#BLUE 9
#LIME 10
#CYAN 11
#RED 12
#PINK 13
#YELLOW 14
#WHITE 15
======================================
CREATURE TILES
======================================
#DAEMON 38
#HOMINID 66
#HOMINID_BIG 67
#BLOB 69
#TUBE 70
#TUBE_MAN 71
#TENTACLE 72
#TENTACLE_MAN 74
#ANURA 75
#ANURA_MAN 76
#LIZARD 77
#LIZARD_MAN 78
#SHELLED 80
#SHELLED_MAN 81
#RODENT 82
#RODENT_MAN 83
#CANINE 84
#CANINE_MAN 85
#FELINE 89
#FELINE_MAN 97
#BULKY 98
#BULKY_MAN 99
#EQUINE 100
#EQUINE_MAN 101
#PRIMATE 102
#PRIMATE_MAN 103
#FISH_SMALL 104
#FISH_LONG 105
#FISH_BIG 106
#FISH_FLAT 107
#PINNIPED 108
#PINNIPED_MAN 109
#BUG_GROUND 110
#BUG_GROUND_MAN 112
#BUG_FLY 113
#BUG_FLY_MAN 114
#BIRD_SMALL 115
#BIRD_SMALL_MAN 116
#BIRD_BIG 117
#BIRD_BIG_MAN 118
#BIRD_TALL 119
#BIRG_TALL_MAN 120
#BIRD_NOFLY 121
#VEHICLE 122
#DIETY 142
#BOGEYMAN 164
======================================
GRASS TILES
======================================
#GRASS_BLADE1 46
#GRASS_BLADE2 44
#GRASS_BLADE3 96
#GRASS_BLADE4 39
#GRASS_BAMBOO1 179
#GRASS_BAMBOO2 186
#GRASS_BAMBOO3 244
#GRASS_BAMBOO4 245
#GRASS_SHROOM1 166
#GRASS_SHROOM2 167
#GRASS_SHROOM3 252
#GRASS_SHROOM4 253
#GRASS_EYE1 79
#GRASS_EYE2 111
#GRASS_EYE3 9
#GRASS_EYE4 248
#GRASS_ARM1 242
#GRASS_ARM2 243
#GRASS_ARM3 169
#GRASS_ARM4 170
======================================
PLANT TILES
======================================
#SHRUB_GRASS 174
#SHRUB_GRAIN 215
#SHRUB_REED 20
#SHRUB_STALK 157
#SHRUB_BRANCH 152
#SHRUB_VINE 21
#SHRUB_BUSH 5
#SHRUB_LEAFY 6
#SHRUB_BULB 229
#SHRUB_TUBER 235
#SHRUB_MELON 147
#SHRUB_SHROOM 231
#SHRUB_BARB 15
======================================
PLANT GROWTHS
======================================
#GROWTH_LEAVES 6
#GROWTH_FLOWERS 5
#GROWTH_BUDS 237
#GROWTH_HEART 3
#GROWTH_BULB 229
#GROWTH_POD 170
#GROWTH_NUTS 59
#GROWTH_BERRIES 58
#GROWTH_ETAERIO 236
#GROWTH_ROUND 7
#GROWTH_LONG 169
#GROWTH_MELON 9
#GROWTH_PEPPER 44
#GROWTH_PINEAPPLE 224
======================================
TREE TILES
======================================
#OW_BROAD 5
#OW_FRUIT 6
#OW_NUT 139
#OW_PINE 23
#OW_PALM 226
#OW_SHROOM 11
#OW_BROAD_DEAD 161
#OW_FRUIT_DEAD 141
#OW_NUT_DEAD 152
#OW_PINE_DEAD 18
#OW_PALM_DEAD 13
#OW_SHROOM_DEAD 147
======================================
TREE GROWTHS
======================================
#GROWTH_DROOP 35
#GROWTH_POLLEN_CONE 126
#GROWTH_SEED_CONE 162
#GROWTH_CONE 162
#GROWTH_POLLEN_CATKINS 42
#GROWTH_SEED_CATKINS 238
#GROWTH_NUT 59
#GROWTH_ACORN 147
#GROWTH_SAMARA 60
#GROWTH_TREEPOD 127
#GROWTH_FEATHERS 168
#GROWTH_EGGS 111
At the lowest level of Bitlands is defines.txt. This defines a bunch of values used by DFPatcher. Have you ever forgotten a color code or wanted to know what you're using in the map tileset? This file keeps that all in one place so you can easily reorganize it. Just today I realized I had swapped the tiles for leaves and flowers (♣ and ♠) so I was able to change two lines in defines.txt and it updated in all the raws.
[PLANT:ARTICHOKE]
[PICKED_TILE:34]
[PICKED_COLOR:PINK:BLACK:BLACK]
[DEAD_PICKED_TILE:34]
[DEAD_PICKED_COLOR:GRAY:BLACK:BLACK]
[SHRUB_TILE:SHRUB_STALK]
[SHRUB_COLOR:LIME:BLACK:BLACK]
[DEAD_SHRUB_TILE:SHRUB_STALK]
[DEAD_SHRUB_COLOR:GRAY:BLACK:BLACK]
[GROWTH:LEAVES]
[GROWTH_PRINT:0:GROWTH_LEAVES:GREEN:0:0:ALL:1]
[GROWTH:HEART]
[GROWTH_PRINT:34:GROWTH_HEART:WHITE:0:0:0:59999:3]
[GROWTH:FLOWERS]
[GROWTH_PRINT:34:GROWTH_FLOWERS:BLUE:0:0:60000:119999:2]
The next level of Bitlands are the patch files. These are graphics-only raws that DFPatch will apply to the game. You can hand-write these, but I'm generating them with Python scripts. I could go the extra mile and write defines for the seasonal growth timings here, but I'm using the default ones so I just copied them over.
[PLANT:ARTICHOKE] cynara cardunculus
[NAME:artichoke][NAME_PLURAL:artichokes][ADJ:artichoke]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[PICKED_TILE:34][PICKED_COLOR:13:0:0]
[DRY][BIOME:GRASSLAND_TEMPERATE]
[VALUE:2]
[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:frozen artichoke wine]
[STATE_NAME_ADJ:LIQUID:artichoke wine]
[STATE_NAME_ADJ:GAS:boiling artichoke wine]
[MATERIAL_VALUE:2]
[DISPLAY_COLOR:6:0:0]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[PREFIX:NONE]
[DRINK:LOCAL_PLANT_MAT:DRINK]
[SPRING][SUMMER][AUTUMN][WINTER]
[USE_MATERIAL_TEMPLATE:HEART:FRUIT_TEMPLATE]
[EDIBLE_VERMIN]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[STOCKPILE_PLANT_GROWTH]
[MATERIAL_REACTION_PRODUCT:DRINK_MAT:LOCAL_PLANT_MAT:DRINK]
[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]
[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]
[STATE_COLOR:ALL:GREEN]
[DISPLAY_COLOR:2:0:0]
[USE_MATERIAL_TEMPLATE:FLOWER:FLOWER_TEMPLATE]
[STATE_COLOR:ALL:PURPLE]
[DISPLAY_COLOR:5:0:0]
[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]
[MATERIAL_VALUE:1]
[EDIBLE_VERMIN]
[SEED:artichoke seed:artichoke seeds:0:0:1:LOCAL_PLANT_MAT:SEED]
[FREQUENCY:50]
[CLUSTERSIZE:5]
[PREFSTRING:yummy hearts]
[GROWTH:LEAVES]
[GROWTH:HEART]
[GROWTH:FLOWERS]
[GROWTH_DENSITY:1000]
[GROWTH_PRINT:0:5:2:0:0:ALL:1]
[GROWTH:HEART]
[GROWTH_NAME:artichoke heart:STP] bud not fruit
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:HEART]
[GROWTH_DENSITY:1000]
[GROWTH_TIMING:0:59999]
[GROWTH_PRINT:34:3:15:0:0:0:59999:3]
[GROWTH:FLOWERS]
[GROWTH_NAME:artichoke flower:STP]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FLOWER]
[GROWTH_DENSITY:1000]
[GROWTH_TIMING:60000:119999]
[GROWTH_PRINT:34:6:9:0:0:60000:119999:2]
[DEAD_PICKED_TILE:34]
[DEAD_PICKED_COLOR:8:0:0]
[SHRUB_TILE:157]
[SHRUB_COLOR:10:0:0]
[DEAD_SHRUB_TILE:157]
[DEAD_SHRUB_COLOR:8:0:0]
The final step of Bitlands are the actual raw files! This is how they look after DFPatcher has applied them. DFPatcher found existing tags for PICKED_TILE and DEAD_PICKED_TILE so it replaced those, but the remaining ones were appended to the end. All of the temporary defines were removed so the patches are now in format that (hopefully) the game will accept.
This update was a little more technical than the previous ones but I hope it gave some insight into how Bitlands is patched! All these tools will be released so if other graphics set creators wish to use them they can include them in their download.