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.

User:Rick/Memory research

From Dwarf Fortress Wiki
Jump to navigation Jump to search

Other memory research resources[edit]

v0.27.169.33a[edit]

Useful Offsets[edit]

Name Size Type Notes Offset
Mineral types vector vector 0x01459EF8
Item vector vector Also used during embarking. 0x01416AD8
Next item id 4 long When a new item is added to the item vector, it is assigned this value. This value is then increased by 1. 0x00BDDCB4

Classes[edit]

Item[edit]

Name Parent Notes Object Size VTable Offset
Item 0x008AD7B4
0x00888D74 Item 0x00888D74
0x00892464 0x00888D74 0x00892464
Weapon 0x00892464 0x7C 0x00894F0C
Ammo 0x00892464 0x7C 0x008962BC
Anvil 0x00892464 0x78 0x008B5814
Seed 0x00888D74 0x64 0x0089CA0C
Bag 0x00892464 0x78 0x00895FEC
Leather 0x00888D74 0x60 0x008AFE0C
Cloth 0x00892464 0x78 0x008B0EF4
Thread Item 0x6C 0x0089D54C
Rope 0x00892464 0x78 0x00897C3C
Hat 0x00892464 0x7C 0x00895A4C
Shirt 0x00892464 0x7C 0x008951DC
Pants 0x00892464 0x7C 0x0089658C
Gloves 0x00892464 0x84? 0x00895D1C
Shoes 0x00892464 0x7C 0x008954AC
Shield 0x00892464 0x7C 0x0089577C
Amulet 0x00892464 0x78 0x008B4464
Bracelet 0x00892464 0x78 0x008B5274
Earring 0x00892464 0x78 0x008B4FA4
Scepter 0x00892464 0x78 0x008B4734
Crown 0x00892464 0x78 0x008B4A04
Idol 0x00892464 0x78 0x008B4194
Ring 0x00892464 0x78 0x008B4CD4
Barrel 0x00892464 0x80 0x0089496C
Log 0x00888D74 0x5C 0x008AED2C
Lye 0x00888D74 0x60 0x00889044
Charcoal 0x00888D74 0x60 0x008ADC4C
Char 0x00888D74 0x60 0x00893B5C
Cage 0x00892464 0x78 0x00897F0C

Block Event[edit]

Name Parent Notes Object Size VTable Offset
Mineral Event See structure information. 0x2C 0x00887ED4

Structures[edit]

Classes[edit]

Item[edit]

Offset Size Type Name Notes
0x00 4 pointer VTable
0x04 2 short X
0x06 2 short Y
0x08 2 short Z
0x0C 4 ulong Flags
Flag Description
0x1 1 << 0 Lying on the ground
0x2 1 << 1 Used in job (?) (seen on beds in use, items marked for melting and one corpse piece that was carried away already)
0x4 1 << 2 ?
0x8 1 << 3 In inventory (bin, creature)
0x10 1 << 4 Only seems to occur when not on ground
0x20 1 << 5 In inventory (workshop)
0x40 1 << 6 Only seems to occur when not on ground
0x80 1 << 7 Only seems to occur when not on ground
0x100 1 << 8 Rotten
0x200 1 << 9 ?
0x400 1 << 10 Only seems to occur when not on ground
0x800 1 << 11 ?
0x1000 1 << 12 Only seems to occur when not on ground
0x2000 1 << 13 ?
0x4000 1 << 14 Narrow
0x8000 1 << 15 Not produced on-site, does not count towards wealth
0x10000 1 << 16 Item shows wear
0x20000 1 << 17 ?
0x40000 1 << 18 Only seems to occur when not on ground
0x80000 1 << 19 Forbid
0x100000 1 << 20 ?
0x200000 1 << 21 Dump
0x400000 1 << 22 On fire
0x800000 1 << 23 Melt
0x1000000 1 << 24 Hidden
0x2000000 1 << 25 Only seems to occur when not on ground
0x14 4 long Item ID

Map[edit]

Tile Block[edit]

Offset Size Type Name Notes
0x0000 4 pointer
0x0008 vector Events
0x0054 2 short Map X In tiles, not blocks.
0x0056 2 short Map Y In tiles, not blocks.
0x0058 2 short Map Z? In tiles, not blocks.
0x005A 2 short Region X This doesn't account for the selected area in the local area it seems.
0x005C 2 short Region Y This doesn't account for the selected area in the local area it seems.
0x005E 2 * 16 * 16 list of shorts Type tile types (work in progress)
0x0260 4 * 16 * 16 list of longs Designation designation flags (work in progress)
Flag Description
0x7 Flow size (not a flag)
0x200 1 << 9 Hidden
0x3C00 Soil / Rock Layer ID (not a flag)
0x4000 1 << 14 Light (Dark when unset)
0x8000 1 << 15 Subterranean (Above Ground when unset)
0x10000 1 << 16 Outside (Inside when unset)
0x1E0000 Unknown ID (not a flag)
0x400000 1 << 22 Damp?
0x10000000 1 << 28 Mossy
0x0660 4 * 16 * 16 list of longs Occupancy
Flag Description
0x40 1 << 6 Muddy
0x80000000 1 << 31 Snow-covered
0x0A60 1 * 16 * 16 list of bytes
0x0B60 4 * 16 * 16 list of longs Pathfinding
0x1160 2 * 16 * 16 list of shorts
0x1360 2 * 16 * 16 list of shorts
0x1560 2 * 16 * 16 list of shorts Temperature #1 10100 or above counts as 'Warm'.
0x1760 2 * 16 * 16 list of shorts Temperature #2
0x1960 2 * 16 * 16 list of shorts
0x1B60 2 * 16 * 16 list of shorts
0x1D60 9 bytes

Mineral Event[edit]

0x2C bytes.

Offset Size Type Name Notes
0x00 4 pointer VTable
0x04 2 short Type Includes gems, ore.
0x06 4 ulong Tile Bitmask #1 0,0 to 15,1
0x0A 4 ulong Tile Bitmask #2 0,2 to 15,3
0x0E 4 ulong Tile Bitmask #3 0,4 to 15,5
0x12 4 ulong Tile Bitmask #4 0,6 to 15,7
0x16 4 ulong Tile Bitmask #5 0,8 to 15,9
0x1A 4 ulong Tile Bitmask #6 0,10 to 15,11
0x1E 4 ulong Tile Bitmask #7 0,12 to 15,13
0x22 4 ulong Tile Bitmask #8 0,14 to 15,15
0x28 4 ulong Flags
Flag Description
0x1 1 << 0 Discovered