- 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.
Difference between revisions of "User:AzureLightning/Memory research"
(Vein explanation) |
(→Veins) |
||
Line 221: | Line 221: | ||
===Veins=== | ===Veins=== | ||
− | Veins designate a chunk of some material, be it stone, ore or gems, that can be dug up by miners. Using a bit-mask scheme, a vein can be placed anywhere in a 16x16 map block. All it takes for a vein to exist at a given column on a given row is for the corresponding bit in the bit-mask to be 1 for the given row. | + | Veins designate a chunk of some material, be it stone, ore or gems, that can be dug up by miners. Using a bit-mask scheme, a vein can be placed anywhere in a 16x16 map block. All it takes for a vein to exist at a given column on a given row is for the corresponding bit in the bit-mask to be 1 for the given row. I've yet to do full-on editing 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. |
− | + | <br /><br /> | |
+ | [[Image:Veinbitmask.png]] | ||
+ | <br />View of the bit mask scheme | ||
+ | <br /><br /> | ||
{| border="1" cellpadding="2" width="100%" | {| border="1" cellpadding="2" width="100%" | ||
! width="5%" | Offset | ! width="5%" | Offset | ||
Line 251: | Line 254: | ||
|} | |} | ||
− | |||
− | |||
==Skills== | ==Skills== |
Revision as of 16: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 |
| ||||||||
0660h
|
4 * 16 * 16 | list of longs | Unknown |
Is probably flags?
| ||||||||
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
Veins designate a chunk of some material, be it stone, ore or gems, that can be dug up by miners. Using a bit-mask scheme, a vein can be placed anywhere in a 16x16 map block. All it takes for a vein to exist at a given column on a given row is for the corresponding bit in the bit-mask to be 1 for the given row. I've yet to do full-on editing 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.
View of the bit mask scheme
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. |
Skills
Offset | Size | Type | Name | Notes |
---|---|---|---|---|
0000h
|
2 | short | Type | See table below. |
0002h
|
2 | short | ??? | might be experience |
0004h
|
2 | short | Rating | Range: 0(Dabbling)-15(Legendary) See table below. |
Skill Types
Colors can do with some work, as they are supposed to indicate groupings of skills.
Index | Name |
---|---|
0 | Mining |
1 | Wood Cutter |
2 | Carpentry |
3 | Engraver |
4 | Masonry |
5 | Animal Training |
6 | Animal Caretaking |
7 | Fish Dissecting |
8 | Animal Dissecting |
9 | Fish Cleaning |
10 | Butchery |
11 | Trapping |
12 | Tanning |
13 | Weaving |
14 | Brewing |
15 | Alchemist |
16 | Clothery |
17 | Milling |
18 | Threshing |
19 | Cheese Making |
20 | Milking |
21 | Cooking |
22 | Growing |
23 | Herbalism |
24 | Fishing |
25 | Furnace Operating |
26 | Strand Extraction |
27 | Weaponsmithing |
28 | Armorsmithing |
29 | Metalsmithing |
30 | Gem Cutting |
31 | Gem Setting |
32 | Wood Crafting |
33 | Stone Crafting |
34 | Metal Crafting |
35 | Glass Making |
36 | Leatherworking |
37 | Bone Carving |
38 | Wrestling |
39 | Axe User |
40 | Sword User |
41 | Knife User |
42 | Mace User |
43 | Hammer User |
44 | Spear User |
45 | Marks User |
46 | Shield User |
47 | Armor User |
48 | Seige Engineering |
49 | Seige Operating |
50 | Bowyering |
51 | Pike User |
52 | Lasher |
53 | Bow User |
54 | Blowgunner |
55 | Thrower |
56 | Mechanics |
57 | Druid |
58 | Ambusher |
59 | Architecture |
60 | Wood Burning |
61 | Lye Making |
62 | Soaping |
63 | Potash Making |
64 | Dying |
65 | Pump Operating |
66 | Swimming |
67 | Persuading |
68 | Negociating |
69 | Judging of Intent |
70 | Appraising |
71 | Organizing |
72 | Record Keeping |
73 | Lying |
74 | Intimidating |
75 | Conversationalism |
76 | Comedy |
77 | Flattery |
78 | Consoling |
79 | Pacifying |
Skill Ratings
Rank | Name Prefix |
---|---|
0 | Dabbling |
1 | Novice |
2 | no-prefix |
3 | Competent |
4 | Skilled |
5 | Proficient |
6 | Talented |
7 | Adept |
8 | Expert |
9 | Professional |
10 | Accomplished |
11 | Great |
12 | Master |
13 | High Master |
14 | Grand Master |
15 | Legendary |