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) |
||
(40 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
− | =v0.27.169. | + | =Other memory research resources= |
+ | * [[Memory hacking|Main memory hacking research]] | ||
+ | * [[User:AzureLightning/Memory research|AzureLightning's memory research]] | ||
+ | * [[User:Iluxan/Memory research|Iluxan's memory research]] | ||
+ | |||
+ | =v0.27.169.33a= | ||
==Useful Offsets== | ==Useful Offsets== | ||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
Line 10: | Line 15: | ||
|- | |- | ||
− | | | + | | Mineral types vector |
+ | | | ||
+ | | [[Memory hacking#Vector|vector]] | ||
+ | | | ||
+ | | <code>0x01459EF8</code> | ||
+ | |||
+ | |- | ||
+ | | Item vector | ||
+ | | | ||
+ | | [[Memory hacking#Vector|vector]] | ||
+ | | Also used during embarking. | ||
+ | | <code>0x01416AD8</code> | ||
+ | |||
+ | |- | ||
+ | | Next item id | ||
| 4 | | 4 | ||
| long | | long | ||
− | | | + | | When a new item is added to the item vector, it is assigned this value. This value is then increased by 1. |
− | | <code> | + | | <code>0x00BDDCB4</code> |
+ | |||
+ | |} | ||
+ | |||
+ | ==Classes== | ||
+ | ===Item=== | ||
+ | {| border="1" cellpadding="2" width="100%" | ||
+ | ! width="15%" | Name | ||
+ | ! width="15%" | Parent | ||
+ | ! width="50%" | Notes | ||
+ | ! width="10%" | Object Size | ||
+ | ! width="10%" | VTable Offset | ||
+ | |||
+ | |- | ||
+ | | Item | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | <code>0x008AD7B4</code> | ||
+ | |||
+ | |- | ||
+ | | <code>0x00888D74</code> | ||
+ | | Item | ||
+ | | | ||
+ | | | ||
+ | | <code>0x00888D74</code> | ||
+ | |||
+ | |- | ||
+ | | <code>0x00892464</code> | ||
+ | | <code>0x00888D74</code> | ||
+ | | | ||
+ | | | ||
+ | | <code>0x00892464</code> | ||
+ | |||
+ | |- | ||
+ | | Weapon | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x00894F0C</code> | ||
+ | |||
+ | |- | ||
+ | | Ammo | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x008962BC</code> | ||
+ | |||
+ | |- | ||
+ | | Anvil | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B5814</code> | ||
+ | |||
+ | |- | ||
+ | | Seed | ||
+ | | <code>0x00888D74</code> | ||
+ | | | ||
+ | | <code>0x64</code> | ||
+ | | <code>0x0089CA0C</code> | ||
+ | |||
+ | |- | ||
+ | | Bag | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x00895FEC</code> | ||
+ | |||
+ | |- | ||
+ | | Leather | ||
+ | | <code>0x00888D74</code> | ||
+ | | | ||
+ | | <code>0x60</code> | ||
+ | | <code>0x008AFE0C</code> | ||
+ | |||
+ | |- | ||
+ | | Cloth | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B0EF4</code> | ||
+ | |||
+ | |- | ||
+ | | Thread | ||
+ | | Item | ||
+ | | | ||
+ | | <code>0x6C</code> | ||
+ | | <code>0x0089D54C</code> | ||
+ | |||
+ | |- | ||
+ | | Rope | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x00897C3C</code> | ||
+ | |||
+ | |- | ||
+ | | Hat | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x00895A4C</code> | ||
+ | |||
+ | |- | ||
+ | | Shirt | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x008951DC</code> | ||
+ | |||
+ | |- | ||
+ | | Pants | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x0089658C</code> | ||
+ | |||
+ | |- | ||
+ | | Gloves | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x84?</code> | ||
+ | | <code>0x00895D1C</code> | ||
+ | |||
+ | |- | ||
+ | | Shoes | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x008954AC</code> | ||
+ | |||
+ | |- | ||
+ | | Shield | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x7C</code> | ||
+ | | <code>0x0089577C</code> | ||
+ | |||
+ | |- | ||
+ | | Amulet | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B4464</code> | ||
+ | |||
+ | |- | ||
+ | | Bracelet | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B5274</code> | ||
+ | |||
+ | |- | ||
+ | | Earring | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B4FA4</code> | ||
+ | |||
+ | |- | ||
+ | | Scepter | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B4734</code> | ||
|- | |- | ||
− | | | + | | Crown |
− | | | + | | <code>0x00892464</code> |
− | | | + | | |
− | | | + | | <code>0x78</code> |
− | | <code> | + | | <code>0x008B4A04</code> |
+ | |||
+ | |- | ||
+ | | Idol | ||
+ | | <code>0x00892464</code> | ||
+ | | | ||
+ | | <code>0x78</code> | ||
+ | | <code>0x008B4194</code> | ||
|- | |- | ||
− | | | + | | Ring |
− | | | + | | <code>0x00892464</code> |
− | | | + | | |
− | | | + | | <code>0x78</code> |
− | | <code> | + | | <code>0x008B4CD4</code> |
|- | |- | ||
− | | | + | | Barrel |
− | | | + | | <code>0x00892464</code> |
− | | | + | | |
− | | | + | | <code>0x80</code> |
− | | <code> | + | | <code>0x0089496C</code> |
|- | |- | ||
− | | | + | | Log |
− | | | + | | <code>0x00888D74</code> |
− | |||
| | | | ||
− | | <code> | + | | <code>0x5C</code> |
+ | | <code>0x008AED2C</code> | ||
|- | |- | ||
− | | | + | | Lye |
− | | | + | | <code>0x00888D74</code> |
− | |||
| | | | ||
− | | <code> | + | | <code>0x60</code> |
+ | | <code>0x00889044</code> | ||
|- | |- | ||
− | | | + | | Charcoal |
− | | | + | | <code>0x00888D74</code> |
− | | | + | | |
− | | | + | | <code>0x60</code> |
− | | <code> | + | | <code>0x008ADC4C</code> |
|- | |- | ||
− | | | + | | Char |
− | | | + | | <code>0x00888D74</code> |
− | |||
| | | | ||
− | | <code> | + | | <code>0x60</code> |
+ | | <code>0x00893B5C</code> | ||
|- | |- | ||
− | | | + | | Cage |
− | | | + | | <code>0x00892464</code> |
− | | | + | | |
+ | | <code>0x78</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> | ||
| | | | ||
− | | <code> | + | | See [[#Mineral Event|structure information]]. |
+ | | <code>0x2C</code> | ||
+ | | <code>0x00887ED4</code> | ||
+ | |||
+ | |} | ||
+ | |||
+ | =Structures= | ||
+ | ==Classes== | ||
+ | ===Item=== | ||
+ | {| 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 | | 4 | ||
− | | | + | | pointer |
− | | | + | | VTable |
− | | <code> | + | | |
+ | |||
+ | |- | ||
+ | | <code>0x04</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | X | ||
+ | |||
+ | |- | ||
+ | | <code>0x06</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Y | ||
+ | |||
+ | |- | ||
+ | | <code>0x08</code> | ||
+ | | 2 | ||
+ | | short | ||
+ | | Z | ||
|- | |- | ||
− | | | + | | <code>0x0C</code> |
| 4 | | 4 | ||
− | | | + | | ulong |
+ | | Flags | ||
| | | | ||
− | | < | + | {| border="1" cellpadding="2" width="100%" |
+ | ! width="30%" colspan="2" | Flag | ||
+ | ! width="70%" | Description | ||
+ | |||
+ | |- | ||
+ | | width="15%" | 0x1 | ||
+ | | 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 | ||
+ | |||
+ | |- | ||
+ | | 0x80000 | ||
+ | | 1 << 19 | ||
+ | | Forbid | ||
+ | |||
+ | |- | ||
+ | | 0x100000 | ||
+ | | 1 << 20 | ||
+ | | ? | ||
+ | |||
+ | |- | ||
+ | | 0x200000 | ||
+ | | 1 << 21 | ||
+ | | Dump | ||
+ | |||
+ | |- | ||
+ | | 0x400000 | ||
+ | | 1 << 22 | ||
+ | | On fire | ||
+ | |||
+ | |- | ||
+ | | 0x800000 | ||
+ | | 1 << 23 | ||
+ | | Melt | ||
+ | |||
+ | |- | ||
+ | | 0x1000000 | ||
+ | | 1 << 24 | ||
+ | | Hidden | ||
+ | |||
+ | |- | ||
+ | | 0x2000000 | ||
+ | | 1 << 25 | ||
+ | | Only seems to occur when not on ground | ||
+ | |||
+ | |} | ||
+ | |||
+ | |- | ||
+ | | <code>0x14</code> | ||
| 4 | | 4 | ||
| long | | long | ||
− | | | + | | Item ID |
− | |||
|} | |} | ||
− | ==Map Block== | + | ==Map== |
+ | ===Tile Block=== | ||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="5%" | Offset | ! width="5%" | Offset | ||
Line 104: | Line 477: | ||
|- | |- | ||
− | | <code> | + | | <code>0x0000</code> |
| 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. | ||
|- | |- | ||
− | | <code> | + | | <code>0x005E</code> |
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | Type |
− | | | + | | [[User:Mithaldu/Tile_types_in_DF_memory|tile types (work in progress)]] |
|- | |- | ||
− | | <code> | + | | <code>0x0260</code> |
| 4 * 16 * 16 | | 4 * 16 * 16 | ||
| 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 128: | Line 543: | ||
|- | |- | ||
− | | width="15%" | | + | | 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 | ||
|- | |- | ||
− | | | + | | 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? | ||
|- | |- | ||
− | | | + | | <code>0x10000000</code> |
| 1 << 28 | | 1 << 28 | ||
| Mossy | | Mossy | ||
Line 145: | Line 587: | ||
|- | |- | ||
− | | <code> | + | | <code>0x0660</code> |
| 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 156: | Line 597: | ||
|- | |- | ||
− | | width="15%" | | + | | width="15%" | <code>0x40</code> |
| width="15%" | 1 << 6 | | width="15%" | 1 << 6 | ||
| Muddy | | Muddy | ||
|- | |- | ||
− | | | + | | <code>0x80000000</code> |
| 1 << 31 | | 1 << 31 | ||
| Snow-covered | | Snow-covered | ||
Line 168: | Line 609: | ||
|- | |- | ||
− | | <code> | + | | <code>0x0A60</code> |
| 1 * 16 * 16 | | 1 * 16 * 16 | ||
| list of bytes | | list of bytes | ||
− | | | + | | |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>0x0B60</code> |
| 4 * 16 * 16 | | 4 * 16 * 16 | ||
| list of longs | | list of longs | ||
Line 182: | Line 623: | ||
|- | |- | ||
− | | <code> | + | | <code>0x1160</code> |
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>0x1360</code> |
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>0x1560</code> |
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
Line 203: | Line 644: | ||
|- | |- | ||
− | | <code> | + | | <code>0x1760</code> |
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
Line 210: | Line 651: | ||
|- | |- | ||
− | | <code> | + | | <code>0x1960</code> |
| 2 * 16 * 16 | | 2 * 16 * 16 | ||
| list of shorts | | list of shorts | ||
− | | | + | | |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>0x1B60</code> |
| 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 |
|