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 (→Block Event) |
(→Item: fill in a bunch of gaps) |
||
(23 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
! width="40%" | Notes | ! width="40%" | Notes | ||
! width="20%" | Offset | ! width="20%" | Offset | ||
+ | |||
+ | |- | ||
+ | | Mineral types vector | ||
+ | | | ||
+ | | [[Memory hacking#Vector|vector]] | ||
+ | | | ||
+ | | <code>0x01459EF8</code> | ||
|- | |- | ||
Line 321: | 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 329: | Line 426: | ||
| 1 << 19 | | 1 << 19 | ||
| Forbid | | Forbid | ||
+ | |||
+ | |- | ||
+ | | 0x100000 | ||
+ | | 1 << 20 | ||
+ | | ? | ||
|- | |- | ||
Line 344: | Line 446: | ||
| 1 << 23 | | 1 << 23 | ||
| Melt | | Melt | ||
+ | |||
+ | |- | ||
+ | | 0x1000000 | ||
+ | | 1 << 24 | ||
+ | | Hidden | ||
+ | |||
+ | |- | ||
+ | | 0x2000000 | ||
+ | | 1 << 25 | ||
+ | | Only seems to occur when not on ground | ||
|} | |} | ||
Line 356: | 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 368: | Line 480: | ||
| 4 | | 4 | ||
| pointer | | pointer | ||
− | | | + | | |
− | | | + | | |
|- | |- | ||
Line 377: | 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 383: | Line 530: | ||
| list of shorts | | list of shorts | ||
| Type | | Type | ||
− | | | + | | [[User:Mithaldu/Tile_types_in_DF_memory|tile types (work in progress)]] |
|- | |- | ||
Line 390: | 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 396: | 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 416: | 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 424: | 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 439: | Line 612: | ||
| 1 * 16 * 16 | | 1 * 16 * 16 | ||
| list of bytes | | list of bytes | ||
− | | | + | | |
| | | | ||
Line 453: | Line 626: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 460: | Line 633: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 481: | Line 654: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 488: | Line 661: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
− | + | |- | |
+ | | <code>0x1D60</code> | ||
+ | | 9 bytes | ||
+ | | | ||
+ | | | ||
+ | | | ||
|} | |} | ||
− | ===Mineral Event | + | ===Mineral Event=== |
''0x2C bytes.'' | ''0x2C bytes.'' | ||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
Line 591: | 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 |
|