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 |
(→Item: fill in a bunch of gaps) |
||
(29 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 31: | Line 38: | ||
==Classes== | ==Classes== | ||
+ | ===Item=== | ||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="15%" | Name | ! width="15%" | Name | ||
Line 254: | Line 262: | ||
| <code>0x78</code> | | <code>0x78</code> | ||
| <code>0x00897F0C</code> | | <code>0x00897F0C</code> | ||
+ | |||
+ | |} | ||
+ | |||
+ | ===Block Event=== | ||
+ | {| border="1" cellpadding="2" width="100%" | ||
+ | ! width="15%" | Name | ||
+ | ! width="15%" | Parent | ||
+ | ! width="50%" | Notes | ||
+ | ! width="10%" | Object Size | ||
+ | ! width="10%" | VTable Offset | ||
+ | |||
+ | |- | ||
+ | | <code>Mineral Event</code> | ||
+ | | | ||
+ | | See [[#Mineral Event|structure information]]. | ||
+ | | <code>0x2C</code> | ||
+ | | <code>0x00887ED4</code> | ||
|} | |} | ||
Line 303: | 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 311: | Line 426: | ||
| 1 << 19 | | 1 << 19 | ||
| Forbid | | Forbid | ||
+ | |||
+ | |- | ||
+ | | 0x100000 | ||
+ | | 1 << 20 | ||
+ | | ? | ||
|- | |- | ||
Line 326: | Line 446: | ||
| 1 << 23 | | 1 << 23 | ||
| Melt | | Melt | ||
+ | |||
+ | |- | ||
+ | | 0x1000000 | ||
+ | | 1 << 24 | ||
+ | | Hidden | ||
+ | |||
+ | |- | ||
+ | | 0x2000000 | ||
+ | | 1 << 25 | ||
+ | | Only seems to occur when not on ground | ||
|} | |} | ||
Line 337: | Line 467: | ||
|} | |} | ||
− | ==Map Block== | + | ==Map== |
+ | ===Tile Block=== | ||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="5%" | Offset | ! width="5%" | Offset | ||
Line 349: | Line 480: | ||
| 4 | | 4 | ||
| pointer | | pointer | ||
− | | | + | | |
− | | | + | | |
+ | |||
+ | |- | ||
+ | | <code>0x0008</code> | ||
+ | | | ||
+ | | [[Memory hacking#Vector|vector]] | ||
+ | | 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 357: | Line 530: | ||
| list of shorts | | list of shorts | ||
| Type | | Type | ||
− | | | + | | [[User:Mithaldu/Tile_types_in_DF_memory|tile types (work in progress)]] |
|- | |- | ||
Line 364: | 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 370: | 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 390: | 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 398: | 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 413: | Line 612: | ||
| 1 * 16 * 16 | | 1 * 16 * 16 | ||
| list of bytes | | list of bytes | ||
− | | | + | | |
| | | | ||
Line 427: | Line 626: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 434: | Line 633: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 455: | Line 654: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 462: | Line 661: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
+ | | | ||
+ | |||
+ | |- | ||
+ | | <code>0x1D60</code> | ||
+ | | 9 bytes | ||
+ | | | ||
+ | | | ||
| | | | ||
|} | |} | ||
+ | |||
+ | ===Mineral Event=== | ||
+ | ''0x2C bytes.'' | ||
+ | {| border="1" cellpadding="2" width="100%" | ||
+ | ! width="5%" | Offset | ||
+ | ! width="10%" | Size | ||
+ | ! width="10%" | Type | ||
+ | ! width="20%" | Name | ||
+ | ! width="55%" | Notes | ||
+ | |||
+ | |- | ||
+ | | <code>0x00</code> | ||
+ | | 4 | ||
+ | | pointer | ||
+ | | VTable | ||
+ | | | ||
+ | |||
+ | |- | ||
+ | | <code>0x04</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Type | ||
+ | | Includes gems, ore. | ||
+ | |||
+ | |- | ||
+ | | <code>0x06</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #1 | ||
+ | | 0,0 to 15,1 | ||
+ | |||
+ | |- | ||
+ | | <code>0x0A</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #2 | ||
+ | | 0,2 to 15,3 | ||
+ | |||
+ | |- | ||
+ | | <code>0x0E</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #3 | ||
+ | | 0,4 to 15,5 | ||
+ | |- | ||
+ | | <code>0x12</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #4 | ||
+ | | 0,6 to 15,7 | ||
+ | |||
+ | |- | ||
+ | | <code>0x16</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #5 | ||
+ | | 0,8 to 15,9 | ||
+ | |||
+ | |- | ||
+ | | <code>0x1A</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #6 | ||
+ | | 0,10 to 15,11 | ||
+ | |||
+ | |- | ||
+ | | <code>0x1E</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #7 | ||
+ | | 0,12 to 15,13 | ||
+ | |||
+ | |- | ||
+ | | <code>0x22</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Tile Bitmask #8 | ||
+ | | 0,14 to 15,15 | ||
+ | |||
+ | |- | ||
+ | | <code>0x28</code> | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | Flags | ||
+ | | | ||
+ | {| border="1" cellpadding="2" width="100%" | ||
+ | ! width="30%" colspan="2" | Flag | ||
+ | ! width="70%" | Description | ||
+ | |||
+ | |- | ||
+ | | width="15%" | 0x1 | ||
+ | | width="15%" | 1 << 0 | ||
+ | | Discovered | ||
+ | |||
+ | |} | ||
+ | |||
+ | |} | ||
+ | |||
+ | [[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 |
|