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)
 
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
=v0.27.169.32a=
+
=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:
  
 
|-
 
|-
| Min Save Version
+
| 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
| Minimum save version that can be loaded.
+
| When a new item is added to the item vector, it is assigned this value. This value is then increased by 1.
| <code>00C35188</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>
  
 
|-
 
|-
| Max Save Version
+
| Crown
| 4
+
| <code>0x00892464</code>
| long
+
|  
| Maximum save version that can be loaded.
+
| <code>0x78</code>
| <code>00C06084</code>
+
| <code>0x008B4A04</code>
 +
 
 +
|-
 +
| Idol
 +
| <code>0x00892464</code>
 +
|
 +
| <code>0x78</code>
 +
| <code>0x008B4194</code>
  
 
|-
 
|-
| Map X Count
+
| Ring
| 4
+
| <code>0x00892464</code>
| long
+
|  
| This represents the number of X ''blocks'', not total X tiles.
+
| <code>0x78</code>
| <code>01457538</code>
+
| <code>0x008B4CD4</code>
  
 
|-
 
|-
| Map Y Count
+
| Barrel
| 4
+
| <code>0x00892464</code>
| long
+
|  
| This represents the number of Y ''blocks'', not total Y tiles.
+
| <code>0x80</code>
| <code>0145753C</code>
+
| <code>0x0089496C</code>
  
 
|-
 
|-
| Map Z Count
+
| Log
| 4
+
| <code>0x00888D74</code>
| long
 
 
|  
 
|  
| <code>01457540</code>
+
| <code>0x5C</code>
 +
| <code>0x008AED2C</code>
  
 
|-
 
|-
| Map Data
+
| Lye
| 4
+
| <code>0x00888D74</code>
| pointer
 
 
|  
 
|  
| <code>01457520</code>
+
| <code>0x60</code>
 +
| <code>0x00889044</code>
  
 
|-
 
|-
| View X
+
| Charcoal
| 4
+
| <code>0x00888D74</code>
| long
+
|  
| Set to 0xFFFF8AD0 (-30000) when not in a 'Look Around' mode.
+
| <code>0x60</code>
| <code>008F4288</code>
+
| <code>0x008ADC4C</code>
  
 
|-
 
|-
| View Y
+
| Char
| 4
+
| <code>0x00888D74</code>
| long
 
 
|  
 
|  
| <code>008F428C</code>
+
| <code>0x60</code>
 +
| <code>0x00893B5C</code>
  
 
|-
 
|-
| View Z
+
| Cage
| 4
+
| <code>0x00892464</code>
| long
+
|  
 +
| <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>008F4290</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
  
 
|-
 
|-
| Screen X
+
| <code>0x00</code>
 
| 4
 
| 4
| long
+
| pointer
|  
+
| VTable
| <code>00BF2480</code>
+
|
 +
 
 +
|-
 +
| <code>0x04</code>
 +
| 2
 +
| short
 +
| X
 +
 
 +
|-
 +
| <code>0x06</code>
 +
| 2
 +
| short
 +
| Y
 +
 
 +
|-
 +
| <code>0x08</code>
 +
| 2
 +
| short
 +
| Z
  
 
|-
 
|-
| Screen Y
+
| <code>0x0C</code>
 
| 4
 
| 4
| long
+
| ulong
 +
| Flags
 
|  
 
|  
| <code>00C1ACBC</code>
+
{| 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
 +
| ?
  
 
|-
 
|-
| Screen Z
+
| 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
| <code>00C1AC98</code>
 
  
 
|}
 
|}
  
==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>0000h</code>
+
| <code>0x0000</code>
 
| 4
 
| 4
 
| pointer
 
| pointer
| Unknown
+
|  
|
+
|  
 +
 
 +
|-
 +
| <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>005Eh</code>
+
| <code>0x005E</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
| Type
|  
+
| [[User:Mithaldu/Tile_types_in_DF_memory|tile types (work in progress)]]
  
 
|-
 
|-
| <code>0260h</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%" | 200h
+
| 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
  
 
|-
 
|-
| 400000h
+
| 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?
  
 
|-
 
|-
| 10000000h
+
| <code>0x10000000</code>
 
| 1 << 28
 
| 1 << 28
 
| Mossy
 
| Mossy
Line 145: Line 587:
  
 
|-
 
|-
| <code>0660h</code>
+
| <code>0x0660</code>
 
| 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 156: Line 597:
  
 
|-
 
|-
| width="15%" | 40h
+
| width="15%" | <code>0x40</code>
 
| width="15%" | 1 << 6
 
| width="15%" | 1 << 6
 
| Muddy
 
| Muddy
  
 
|-
 
|-
| 80000000h
+
| <code>0x80000000</code>
 
| 1 << 31
 
| 1 << 31
 
| Snow-covered
 
| Snow-covered
Line 168: Line 609:
  
 
|-
 
|-
| <code>0A60h</code>
+
| <code>0x0A60</code>
 
| 1 * 16 * 16
 
| 1 * 16 * 16
 
| list of bytes
 
| list of bytes
| Unknown
+
|  
 
|  
 
|  
  
 
|-
 
|-
| <code>0B60h</code>
+
| <code>0x0B60</code>
 
| 4 * 16 * 16
 
| 4 * 16 * 16
 
| list of longs
 
| list of longs
Line 182: Line 623:
  
 
|-
 
|-
| <code>1160h</code>
+
| <code>0x1160</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
 
|-
 
|-
| <code>1360h</code>
+
| <code>0x1360</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
 
|-
 
|-
| <code>1560h</code>
+
| <code>0x1560</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
Line 203: Line 644:
  
 
|-
 
|-
| <code>1760h</code>
+
| <code>0x1760</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
Line 210: Line 651:
  
 
|-
 
|-
| <code>1960h</code>
+
| <code>0x1960</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 
|  
 
|  
  
 
|-
 
|-
| <code>1B60h</code>
+
| <code>0x1B60</code>
 
| 2 * 16 * 16
 
| 2 * 16 * 16
 
| list of shorts
 
| list of shorts
| Unknown
+
|  
 +
|
 +
 
 +
|-
 +
| <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
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