This article is about an older version of DF.
|
[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 |
Siege Engineer
|
0x39 |
Siege 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 Liaison
|
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,