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

v0.27.169.33a

Useful Offsets

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

Item

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

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

Structures

Classes

Item

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
0x8 1 << 3 Held? (in someones inventory)
0x80000 1 << 19 Forbid
0x200000 1 << 21 Dump
0x400000 1 << 22 On fire
0x800000 1 << 23 Melt
0x14 4 long Item ID

Map

Data Block

Offset Size Type Name Notes
0x0000 4 pointer Unknown
0x0008 vector Events
0x0054 2 short Map X In tiles, not blocks.
0x0056 2 short Map Y 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
0x0260 4 * 16 * 16 list of longs Designation
Flag Description
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 Unknown

Is probably flags?

Flag Description
0x40 1 << 6 Muddy
0x80000000 1 << 31 Snow-covered
0x0A60 1 * 16 * 16 list of bytes Unknown
0x0B60 4 * 16 * 16 list of longs Pathfinding
0x1160 2 * 16 * 16 list of shorts Unknown
0x1360 2 * 16 * 16 list of shorts Unknown
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 Unknown
0x1B60 2 * 16 * 16 list of shorts Unknown
0x1D60 9 bytes Unknown

Mineral Event

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