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.
Difference between revisions of "User:Rick/Memory research"
Jump to navigation
Jump to search
m (→Useful Offsets) |
(→Item: fill in a bunch of gaps) |
||
(21 intermediate revisions by 3 users not shown) | |||
Line 328: | Line 328: | ||
|- | |- | ||
− | | width="15%" | | + | | width="15%" | 0x1 |
− | | width="15%" | 1 << | + | | width="15%" | 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 | ||
|- | |- | ||
Line 336: | Line 426: | ||
| 1 << 19 | | 1 << 19 | ||
| Forbid | | Forbid | ||
+ | |||
+ | |- | ||
+ | | 0x100000 | ||
+ | | 1 << 20 | ||
+ | | ? | ||
|- | |- | ||
Line 351: | Line 446: | ||
| 1 << 23 | | 1 << 23 | ||
| Melt | | Melt | ||
+ | |||
+ | |- | ||
+ | | 0x1000000 | ||
+ | | 1 << 24 | ||
+ | | Hidden | ||
+ | |||
+ | |- | ||
+ | | 0x2000000 | ||
+ | | 1 << 25 | ||
+ | | Only seems to occur when not on ground | ||
|} | |} | ||
Line 363: | Line 468: | ||
==Map== | ==Map== | ||
− | === | + | ===Tile Block=== |
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="5%" | Offset | ! width="5%" | Offset | ||
Line 375: | Line 480: | ||
| 4 | | 4 | ||
| pointer | | pointer | ||
− | | | + | | |
− | | | + | | |
|- | |- | ||
Line 384: | Line 489: | ||
| Events | | Events | ||
| | | | ||
+ | |||
+ | |- | ||
+ | | <code>0x0054</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Map X | ||
+ | | In tiles, not blocks. | ||
+ | |||
+ | |- | ||
+ | | <code>0x0056</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Map Y | ||
+ | | In tiles, not blocks. | ||
+ | |||
+ | |- | ||
+ | | <code>0x0058</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Map Z? | ||
+ | | In tiles, not blocks. | ||
+ | |||
+ | |- | ||
+ | | <code>0x005A</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Region X | ||
+ | | This doesn't account for the selected area in the local area it seems. | ||
+ | |||
+ | |- | ||
+ | | <code>0x005C</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Region Y | ||
+ | | This doesn't account for the selected area in the local area it seems. | ||
|- | |- | ||
Line 390: | Line 530: | ||
| list of shorts | | list of shorts | ||
| Type | | Type | ||
− | | | + | | [[User:Mithaldu/Tile_types_in_DF_memory|tile types (work in progress)]] |
|- | |- | ||
Line 397: | Line 537: | ||
| list of longs | | list of longs | ||
| Designation | | Designation | ||
− | | | + | | [[User:Mithaldu/Designation flags in DF memory|designation flags (work in progress)]] |
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="30%" colspan="2" | Flag | ! width="30%" colspan="2" | Flag | ||
Line 403: | Line 543: | ||
|- | |- | ||
− | | width="15%" | 0x200 | + | | width="30%" colspan="2" | <code>0x7</code> |
+ | | Flow size (not a flag) | ||
+ | |||
+ | |- | ||
+ | | width="15%" | <code>0x200</code> | ||
| width="15%" | 1 << 9 | | width="15%" | 1 << 9 | ||
| Hidden | | Hidden | ||
|- | |- | ||
− | | 0x400000 | + | | colspan="2" | <code>0x3C00</code> |
+ | | Soil / Rock Layer ID (not a flag) | ||
+ | |||
+ | |- | ||
+ | | <code>0x4000</code> | ||
+ | | 1 << 14 | ||
+ | | Light (Dark when unset) | ||
+ | |||
+ | |- | ||
+ | | <code>0x8000</code> | ||
+ | | 1 << 15 | ||
+ | | Subterranean (Above Ground when unset) | ||
+ | |||
+ | |- | ||
+ | | <code>0x10000</code> | ||
+ | | 1 << 16 | ||
+ | | Outside (Inside when unset) | ||
+ | |||
+ | |- | ||
+ | | colspan="2" | <code>0x1E0000</code> | ||
+ | | Unknown ID (not a flag) | ||
+ | |||
+ | |- | ||
+ | | <code>0x400000</code> | ||
| 1 << 22 | | 1 << 22 | ||
| Damp? | | Damp? | ||
|- | |- | ||
− | | 0x10000000 | + | | <code>0x10000000</code> |
| 1 << 28 | | 1 << 28 | ||
| Mossy | | Mossy | ||
Line 423: | Line 590: | ||
| 4 * 16 * 16 | | 4 * 16 * 16 | ||
| list of longs | | list of longs | ||
− | | | + | | Occupancy |
| | | | ||
− | |||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="30%" colspan="2" | Flag | ! width="30%" colspan="2" | Flag | ||
Line 431: | Line 597: | ||
|- | |- | ||
− | | width="15%" | 0x40 | + | | width="15%" | <code>0x40</code> |
| width="15%" | 1 << 6 | | width="15%" | 1 << 6 | ||
| Muddy | | Muddy | ||
|- | |- | ||
− | | 0x80000000 | + | | <code>0x80000000</code> |
| 1 << 31 | | 1 << 31 | ||
| Snow-covered | | Snow-covered | ||
Line 446: | Line 612: | ||
| 1 * 16 * 16 | | 1 * 16 * 16 | ||
| list of bytes | | list of bytes | ||
− | | | + | | |
| | | | ||
Line 460: | Line 626: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 467: | Line 633: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 488: | Line 654: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 495: | Line 661: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
− | + | |- | |
+ | | <code>0x1D60</code> | ||
+ | | 9 bytes | ||
+ | | | ||
+ | | | ||
+ | | | ||
|} | |} | ||
Line 598: | Line 769: | ||
|} | |} | ||
+ | |||
+ | [[Category:Hacking|Memory research]] |
Latest revision as of 14:47, 5 April 2011
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 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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)
| ||||||||||||||||||||||||||||||
0x0660
|
4 * 16 * 16 | list of longs | Occupancy |
| ||||||||||||||||||||||||||||||
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 |
|