From DwarfFortressWiki
[edit] Versions
See the following subpages for version specific information
[edit] Data Types
[edit] String
| Offset | Size | Type | Description
|
| 0x00 | 4 | Junk | Junk data that exists due to a curious artifact in the C++ standard. Technically it's the allocator - in reality, the default allocator has no data associated with it.
|
| 0x04 | 16 | Character buffer | Holds the string data if capacity < 16
|
| 0x04 | 4 | Character pointer | Points to the string data if capacity >= 16
|
| 0x14 | 4 | Length | Current length of the string
|
| 0x18 | 4 | Capacity | Current capacity of the string buffer (also indicates which mode the string is in)
|
Yes, the second two items overlap. This is correct. This is the MSVC Express string format - Toady appears to be using standard C++ structures pretty much everywhere.
[edit] Vector
| Offset | Size | Type | Description
|
| 0x00 | 4 | Junk | Junk data that exists due to a curious artifact in the C++ standard. Technically it's the allocator - in reality, the default allocator has no data associated with it.
|
| 0x04 | 4 | Array start
|
| 0x08 | 4 | Array end | (End - Start)/4 = # of elements (if pointers)
|
| 0x0C | 4 | Array allocated end | (Allocated End - Start)/4 = capacity (if pointers)
|
[edit] Type ID list
Most likely incomplete, but this was all that could be found so far.
| ID | Meaning
|
0x00 | Miner
|
0x01 | Woodworker
|
0x02 | Carpenter
|
0x03 | Bowyer
|
0x04 | Woodcutter
|
0x05 | Stoneworker
|
0x06 | Engraver
|
0x07 | Mason
|
0x08 | Ranger
|
0x09 | Animal Caretaker
|
0x0A | Animal Trainer
|
0x0B | Hunter
|
0x0C | Trapper
|
0x0D | Animal Dissector
|
0x0E | Metalsmith
|
0x0F | Furnace Operator
|
0x10 | Weaponsmith
|
0x11 | Armorer
|
0x12 | Blacksmith
|
0x13 | Metalcrafter
|
0x14 | Jeweler
|
0x15 | Gem Cutter
|
0x16 | Gem Setter
|
0x17 | Craftsman
|
0x18 | Woodcrafter
|
0x19 | Stonecrafter
|
0x1A | Leatherworker
|
0x1B | Bone Carver
|
0x1C | Weaver
|
0x1D | Clothier
|
0x1E | Glassmaker
|
0x1F | Strand Extractor
|
0x20 | Queen
|
0x21 | Queen Consort
|
0x22 | Fishery Worker
|
0x23 | Fisherman
|
0x24 | Fish Dissector
|
0x25 | Fish Cleaner
|
0x26 | Farmer
|
0x27 | Cheese Maker
|
0x28 | Milker
|
0x29 | Cook
|
0x2A | Thresher
|
0x2B | Miller
|
0x2C | Butcher
|
0x2D | Tanner
|
0x2E | Dyer
|
0x2F | Planter
|
0x30 | Herbalist
|
0x31 | Brewer
|
0x32 | Soap Maker
|
0x33 | Potash Maker
|
0x34 | Lye Maker
|
0x35 | Wood Burner
|
0x36 | Engineer
|
0x37 | Mechanic
|
0x38 | Seige Engineer
|
0x39 | Seige Operator
|
0x3A | Pump Operator
|
0x3B | Clerk
|
0x3C | Administrator
|
0x3D | Trader
|
0x3E | Architect
|
0x3F | Alchemist
|
0x40 | Tax Collector
|
0x41 | Hammerer
|
0x42 | Baroness
|
0x43 | Countess
|
0x44 | Duchess
|
0x45 | Baroness Consort
|
0x46 | Countess Consort
|
0x47 | Duchness Consort
|
0x48 | Philosopher
|
0x49 | Advisor
|
0x4A | Dungeon Master
|
0x4B | Merchant
|
0x4C | Diplomat
|
0x4D | Guild Representative
|
0x4E | Merchant Baroness
|
0x4F | Merchant Princess
|
0x50 | Outpost Liason
|
0x51 | Druid
|
0x52 | Champion
|
0x53 | Hammerman
|
0x54 | Hammer Lord
|
0x55 | Spearman
|
0x56 | Spearmaster
|
0x57 | Crossbowman
|
0x58 | Elite Crossbowman
|
0x59 | Wrestler
|
0x5A | Elite Wrestler
|
0x5B | Axeman
|
0x5C | Axe Lord
|
0x5D | Swordsman
|
0x5E | Swordmaster
|
0x5F | Maceman
|
0x60 | Mace Lord
|
0x61 | Pikeman
|
0x62 | Pikemaster
|
0x63 | Bowman
|
0x64 | Elite Bowman
|
0x65 | Blowgunner
|
0x66 | Elite Blowgunner
|
0x67 | Recruit
|
0x68 | Hunting creature
|
0x69 | War creature
|
0x6A | Master Thief
|
0x6B | Thief
|
0x6C | Peasant or creature
|
0x6D | Child
|
0x6E | Baby
|
0x6F | Drunk
|
0x70 | Lasher
|
0x71 | Master Lasher
|
[edit] Profession list
PROFESSION_MINE,
PROFESSION_HAUL_STONE,
PROFESSION_HAUL_WOOD,
PROFESSION_HAUL_BODY,
PROFESSION_HAUL_FOOD,
PROFESSION_HAUL_REFUSE,
PROFESSION_HAUL_ITEM,
PROFESSION_HAUL_FURNITURE,
PROFESSION_HAUL_ANIMALS,
PROFESSION_CLEAN,
PROFESSION_CUTWOOD,
PROFESSION_CARPENTER,
PROFESSION_DETAIL,
PROFESSION_MASON,
PROFESSION_ARCHITECT,
PROFESSION_ANIMALTRAIN,
PROFESSION_ANIMALCARE,
PROFESSION_HEALTHCARE,
PROFESSION_BUTCHER,
PROFESSION_TRAPPER,
PROFESSION_DISSECT_VERMIN,
PROFESSION_LEATHER,
PROFESSION_TANNER,
PROFESSION_BREWER,
PROFESSION_ALCHEMIST,
PROFESSION_SOAP_MAKER,
PROFESSION_WEAVER,
PROFESSION_CLOTHESMAKER,
PROFESSION_MILLER,
PROFESSION_PROCESS_PLANT,
PROFESSION_MAKE_CHEESE,
PROFESSION_MILK,
PROFESSION_COOK,
PROFESSION_PLANT,
PROFESSION_HERBALIST,
PROFESSION_FISH,
PROFESSION_CLEAN_FISH,
PROFESSION_DISSECT_FISH,
PROFESSION_HUNT,
PROFESSION_SMELT,
PROFESSION_FORGE_WEAPON,
PROFESSION_FORGE_ARMOR,
PROFESSION_FORGE_FURNITURE,
PROFESSION_METAL_CRAFT,
PROFESSION_CUT_GEM,
PROFESSION_ENCRUST_GEM,
PROFESSION_WOOD_CRAFT,
PROFESSION_STONE_CRAFT,
PROFESSION_BONE_CARVE,
PROFESSION_GLASSMAKER,
PROFESSION_EXTRACT_STRAND,
PROFESSION_AXE,
PROFESSION_SWORD,
PROFESSION_MACE,
PROFESSION_HAMMER,
PROFESSION_SPEAR,
PROFESSION_DAGGER,
PROFESSION_CROSSBOW,
PROFESSION_BOW,
PROFESSION_BLOWGUN,
PROFESSION_PIKE,
PROFESSION_WHIP,
PROFESSION_SHIELDLEVEL,
PROFESSION_ARMORLEVEL,
PROFESSION_SIEGECRAFT,
PROFESSION_SIEGEOPERATE,
PROFESSION_BOWYER,
PROFESSION_MECHANIC,
PROFESSION_WEAPONNUMBER,
PROFESSION_POTASH_MAKING,
PROFESSION_LYE_MAKING,
PROFESSION_DYER,
PROFESSION_BURN_WOOD,
PROFESSION_OPERATE_PUMP,
PROFESSION_UNUSED_3,
PROFESSION_UNUSED_4,
PROFESSION_UNUSED_5,
PROFESSION_UNUSED_6,
PROFESSION_UNUSED_7,
PROFESSION_UNUSED_8,
PROFESSION_UNUSED_9,
PROFESSION_UNUSED_10,
PROFESSION_UNUSED_11,
PROFESSION_UNUSED_12,
PROFESSION_UNUSED_13,
PROFESSION_UNUSED_14,
PROFESSION_UNUSED_15,
PROFESSION_UNUSED_16,
PROFESSION_UNUSED_17,
PROFESSION_UNUSED_18,
PROFESSION_UNUSED_19,
PROFESSION_UNUSED_20,
PROFESSION_UNUSED_21,
PROFESSION_UNUSED_22,
PROFESSION_UNUSED_23,
PROFESSION_UNUSED_24,
PROFESSION_UNUSED_25,
PROFESSION_UNUSED_26,
PROFESSION_UNUSED_27,
PROFESSION_UNUSED_28,
PROFESSION_UNUSED_29,
PROFESSION_UNUSED_30,
PROFESSIONNUM,