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:AzureLightning/Memory research"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Added version notice)
m
Line 1: Line 1:
'''Any and all offsets and memory addresses are only valid for v0.27.169.33a'''
+
'''Any and all offsets and memory addresses are only valid for v0.27.169.33a.'''
  
 
==Addresses==
 
==Addresses==

Revision as of 15:46, 5 November 2007

Any and all offsets and memory addresses are only valid for v0.27.169.33a.

Addresses

Address Size Type Name Description
00C2F548 4 long Creature Focus Indexes the full creature list
01237AD0 4 long Dwarven Race ID Used to identify dwarves (Or it could just be the "controlling" civilization you are playing as.)
01416A3C 4:4 vector Full Creature list List of of all creatures. There are other vectors based upon various factors
01458568 4 pointer Map data Points to a list of addresses measuring Block Count X long.

Those each reference a list of addresses measuring Block Count Y long. Each of those reference a list of addresses Block Count Z long. And finally, each of those addresses references a map block.

01458580 4 long Block Count X Number of 16x16 blocks in the X direction
01458584 4 long Block Count Y Number of 16x16 blocks in the Y direction
01458588 4 long Block Count Z Number of Z levels
0145858C 4 long Cell Count X Number of cells in the X direction (Should be Block Count X * 16)
01458590 4 long Cell Count Y Number of cells in the X direction (Should be Block Count X * 16)
01458594 4 long Cell Count Z Number of Z levels (Should equal the Block Count Z)

Note: Bold addresses need to be verified. I may have remembered them wrong

Map Block

Offset Size Type Name Notes
0000h 4 pointer Unknown
000Ch 4:4 vector Vein vector
005Eh 2 * 16 * 16 list of shorts Unknown
0260h 4 * 16 * 16 list of longs Designation
Bit Description
9 Hidden
22 Damp?
28 Mossy
0660h 4 * 16 * 16 list of longs Unknown

Is probably flags?

Bit Description
6 Muddy
31 Snow-covered
0A60h 1 * 16 * 16 list of bytes Unknown
0B60h 4 * 16 * 16 list of longs Pathfinding
1160h 2 * 16 * 16 list of shorts Unknown
1360h 2 * 16 * 16 list of shorts Unknown
1560h 2 * 16 * 16 list of shorts Temperature #1 10100 or above counts as 'Warm'.
1760h 2 * 16 * 16 list of shorts Temperature #2
1960h 2 * 16 * 16 list of shorts Unknown
1B60h 2 * 16 * 16 list of shorts Unknown


Veins

Offset Size Type Name Notes
0000h 4 pointer Vtable
0004h 2 short Vein type Ore, Stone, Gems are all in the same list
0006h 2*16 list of shorts 16-bit mask for each row in the block Bits start from the west side of the row, going east with each bit position.

Note: I've yet to do full-on editting of these veins other than making existing tiles toggle off as well as changing the vein type. Adding to the vein doesn't seem possible yet. There is likely a stacking priority with the different grouping of rock elements.

Skills

Offset Size Type Name Notes
0000h 2 short Skill type
0002h 2 short ??? might be experience
0004h 2 short Skill rating Range: 0(Dabbling)-15(Legendary)