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"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(→‎Item: fill in a bunch of gaps)
 
(20 intermediate revisions by 3 users not shown)
Line 328: Line 328:
  
 
|-
 
|-
| width="15%" | 0x8
+
| width="15%" | 0x1
| width="15%" | 1 << 3
+
| width="15%" | 1 << 0
| Held? (in someones inventory)
+
| 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==
===Data Block===
+
===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
| Unknown
+
|  
|
+
|  
  
 
|-
 
|-
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
  
 
|-
 
|-
| 0x4000
+
| colspan="2" | <code>0x3C00</code>
 +
| Soil / Rock Layer ID (not a flag)
 +
 
 +
|-
 +
| <code>0x4000</code>
 
| 1 << 14
 
| 1 << 14
 
| Light (Dark when unset)
 
| Light (Dark when unset)
  
 
|-
 
|-
| 0x8000
+
| <code>0x8000</code>
 
| 1 << 15
 
| 1 << 15
 
| Subterranean (Above Ground when unset)
 
| Subterranean (Above Ground when unset)
  
 
|-
 
|-
| 0x10000
+
| <code>0x10000</code>
 
| 1 << 16
 
| 1 << 16
 
| Outside (Inside when unset)
 
| Outside (Inside when unset)
  
 
|-
 
|-
| 0x400000
+
| 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 438: Line 590:
 
| 4 * 16 * 16
 
| 4 * 16 * 16
 
| list of longs
 
| list of longs
| Unknown
+
| Occupancy
 
|  
 
|  
Is probably flags?
 
 
{| border="1" cellpadding="2" width="100%"
 
{| border="1" cellpadding="2" width="100%"
 
! width="30%" colspan="2" | Flag
 
! width="30%" colspan="2" | Flag
Line 446: 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 461: Line 612:
 
| 1 * 16 * 16
 
| 1 * 16 * 16
 
| list of bytes
 
| list of bytes
| Unknown
+
|  
 
|  
 
|  
  
Line 475: Line 626:
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
Line 482: Line 633:
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
Line 503: Line 654:
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
Line 510: Line 661:
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
 
+
|-
 +
| <code>0x1D60</code>
 +
| 9 bytes
 +
|
 +
|
 +
|
  
 
|}
 
|}
Line 613: 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
Flag Description
0x1 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
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)
Flag Description
0x7 Flow size (not a flag)
0x200 1 << 9 Hidden
0x3C00 Soil / Rock Layer ID (not a flag)
0x4000 1 << 14 Light (Dark when unset)
0x8000 1 << 15 Subterranean (Above Ground when unset)
0x10000 1 << 16 Outside (Inside when unset)
0x1E0000 Unknown ID (not a flag)
0x400000 1 << 22 Damp?
0x10000000 1 << 28 Mossy
0x0660 4 * 16 * 16 list of longs Occupancy
Flag Description
0x40 1 << 6 Muddy
0x80000000 1 << 31 Snow-covered
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
Flag Description
0x1 1 << 0 Discovered