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 (→Data Block) |
(→Item: fill in a bunch of gaps) |
||
(12 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 389: | Line 494: | ||
| 2 | | 2 | ||
| short | | short | ||
− | | | + | | Map X |
+ | | In tiles, not blocks. | ||
|- | |- | ||
Line 395: | Line 501: | ||
| 2 | | 2 | ||
| short | | short | ||
− | | | + | | Map Y |
+ | | In tiles, not blocks. | ||
+ | |||
+ | |- | ||
+ | | <code>0x0058</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Map Z? | ||
+ | | In tiles, not blocks. | ||
|- | |- | ||
Line 401: | Line 515: | ||
| 2 | | 2 | ||
| short | | short | ||
− | | | + | | Region X |
− | | | + | | This doesn't account for the selected area in the local area it seems. |
|- | |- | ||
Line 408: | Line 522: | ||
| 2 | | 2 | ||
| short | | short | ||
− | | | + | | Region Y |
− | | | + | | This doesn't account for the selected area in the local area it seems. |
|- | |- | ||
Line 416: | Line 530: | ||
| list of shorts | | list of shorts | ||
| Type | | Type | ||
− | | | + | | [[User:Mithaldu/Tile_types_in_DF_memory|tile types (work in progress)]] |
|- | |- | ||
Line 423: | 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 | ||
! width="70%" | Description | ! width="70%" | Description | ||
+ | |||
+ | |- | ||
+ | | width="30%" colspan="2" | <code>0x7</code> | ||
+ | | Flow size (not a flag) | ||
|- | |- | ||
Line 472: | 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 495: | Line 612: | ||
| 1 * 16 * 16 | | 1 * 16 * 16 | ||
| list of bytes | | list of bytes | ||
− | | | + | | |
| | | | ||
Line 509: | Line 626: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 516: | Line 633: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 537: | Line 654: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 544: | Line 661: | ||
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
Line 551: | Line 668: | ||
| 9 bytes | | 9 bytes | ||
| | | | ||
− | | | + | | |
| | | | ||
Line 652: | 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 |
|