dfhack/data/Memory.xml

2369 lines
102 KiB
XML

<?xml version="1.0"?>
<!-- USE A FIXED WIDTH FONT! -->
<DFExtractor>
<MemoryDescriptors>
<Entry version="meta-2010" os="all" id="meta-2010">
<Offset name="keep_me_happy">0x0</Offset>
====================================================================
T R A I T S
====================================================================
<Trait name="Nervousness"
level_5="Is a nervous wreck"
level_4="Is always tense and jittery"
level_3="Is often nervous"
level_2="Has a calm demeanor"
level_1="Has a very calm demeanor"
level_0="Has an incredibly calm demeanor">0</Trait>
<Trait name="Rage"
level_5="In a constant state of internal rage"
level_4="Very quick to anger"
level_3="Quick to anger"
level_2="Slow to anger"
level_1="Very slow to anger"
level_0="Never becomes angry">1</Trait>
<Trait name="Depression"
level_5="Frequently depressed"
level_4="Often sad and dejected"
level_3="Often feels discouraged"
level_2="Rarely feels discouraged"
level_1="Almost never feels discouraged"
level_0="Never feels discouraged">2</Trait>
<Trait name="Neurosis"
level_5="Socially crippled by thoughts that everyone is watching and judging"
level_4="Concerned about rejection and ridicule"
level_3="Self-conscious"
level_2="Comfortable in social situations"
level_1="Very comfortable in social situations"
level_0="Absolutely unfazed by the opinions of others">3</Trait>
<Trait name="Urge"
level_5="Is ruled by irresistible cravings and urges"
level_4="Feels strong urges and seeks short-term rewards"
level_3="Occassionally overindulges"
level_2="Doesn't often experience strong cravings or urges"
level_1="Only rarely feels strong cravings or urges"
level_0="Never feels tempted to overindulge in anything">4</Trait>
<Trait name="Stress"
level_5="Becomes completely helpless in stressful situations"
level_4="Cracks easily under pressure"
level_3="Doesn't handle stress well"
level_2="Can handle stress"
level_1="Confident under pressure"
level_0="Impervious to the effects of stress">5</Trait>
<Trait name="Friendly"
level_5="Genuinely likes others, openly expresses positive feelings"
level_4="Makes friends quickly"
level_3="Very friendly"
level_2="Somewhat reserved"
level_1="Very distant and reserved"
level_0="Does not actively seek friendships, incredibly distant and reserved">6</Trait>
<Trait name="Company"
level_5="Truly treasures the company of others"
level_4="Enjoys being in crowds"
level_3="Enjoys the company of others"
level_2="Tends to avoid crowds"
level_1="Prefers to be alone"
level_0="Considers time alone much more important than associating with others">7</Trait>
<Trait name="Leadership"
level_5="Loves to take charge and direct activities"
level_4="Very assertive"
level_3="Assertive"
level_2="Unassertive"
level_1="Prefers that others handle the leadership roles"
level_0="Never speaks out or attempts to direct activities">8</Trait>
<Trait name="Activeness"
level_5="Constantly active and energetic"
level_4="Very energetic and active"
level_3="Very active"
level_2="Relaxed"
level_1="Lives life at a leisurely pace"
level_0="Can't be bothered with frantic, fast-paced living">9</Trait>
<Trait name="Thrillseeking"
level_5="Lives for risk and excitement"
level_4="A risk-taker and a thrill-seeker"
level_3="Loves a good thrill"
level_2="Is not a risk-taker"
level_1="Doesn't need thrills or risks in life"
level_0="Entirely adverse to risk and excitement">10</Trait>
<Trait name="Optimism"
level_5="Often feels filled with joy"
level_4="Can be very happy and optimistic"
level_3="Often cheerful"
level_2="Rarely happy or enthusiastic"
level_1="A pessimist"
level_0="Never optimistic or enthusiastic about anything">11</Trait>
<Trait name="Imagination"
level_5="Bored by reality and has a wonderful imagination"
level_4="Incredibly creative"
level_3="Has a fertile imagination"
level_2="Isn't given to flights of fancy"
level_1="Grounded in reality"
level_0="Interested only in facts and the real world">12</Trait>
<Trait name="Artistic"
level_5="Can easily become absorbed in art and the beauty of the natural world"
level_4="Greatly appreciates art and natural beauty"
level_3="Appreciates art and natural beauty"
level_2="Does not have a great aesthetic sensitivity"
level_1="Not interested in art"
level_0="Completely uninterested in art">13</Trait>
<Trait name="Emotion"
level_5="Has a profound understanding of own emotions"
level_4="Has a great awareness of own emotions"
level_3="Has a good awareness of own emotions"
level_2="Tends not to openly express emotions"
level_1="Mostly unaware of own emotions and rarely expresses them"
level_0="Does not display own emotions and has no awareness of them">14</Trait>
<Trait name="Adventure"
level_5="Highly adventurous and loves fresh experiences"
level_4="Eager for new experiences"
level_3="Likes to try new things"
level_2="Prefers familiar routines"
level_1="Uncomfortable with change"
level_0="Resistant to change">15</Trait>
<Trait name="Thinking"
level_5="Entranced by riddles and puzzles; loves to debate issues and ideas"
level_4="Loves new and fresh ideas"
level_3="Open-minded to new ideas"
level_2="Dislikes intellectual discussions"
level_1="Regards intellectual exercises as a waste of energy"
level_0="Completely uninterested in ideas and debates over intellectual issues">16</Trait>
<Trait name="Rebelliousness"
level_5="Revels in chaos and disorder"
level_4="Loves to defy convention"
level_3="Put off by authority and tradition"
level_2="Admires tradition"
level_1="Prefers stability and security to ambiguity and disorder"
level_0="An ardent believer in convention and traditional society">17</Trait>
<Trait name="Trusting"
level_5="Naturally trustful of everybody"
level_4="Very trusting"
level_3="Trusting"
level_2="Slow to trust others"
level_1="Does not trust others"
level_0="Sees others as selfish and conniving">18</Trait>
<Trait name="Honesty"
level_5="Incredibly frank and candid in dealings with others"
level_4="Very straightforward with others"
level_3="Candid and sincere in dealings with others"
level_2="Guarded in relationships with others"
level_1="Not straightforward when dealing with others"
level_0="Believes that some deception is necessary in relationships with others">19</Trait>
<Trait name="Helpfulness"
level_5="Truly fulfilled by assisting those in need"
level_4="Finds helping others very rewarding"
level_3="Finds helping others rewarding"
level_2="Does not go out of own way to help others"
level_1="Dislikes helping others"
level_0="Views helping others as an imposition on own needs">20</Trait>
<Trait name="Compromising"
level_5="Sacrifices own needs to get along with others"
level_4="Dislikes confrontations"
level_3="Willing to compromise with others"
level_2="Doesn't like to compromise with others"
level_1="Would rather intimidate others than compromise with them"
level_0="Would never deny own needs just to compromise with somebody else">21</Trait>
<Trait name="Modesty"
level_5="Would never claim to be better than somebody else"
level_4="Finds immodesty distasteful"
level_3="Modest"
level_2="Immodest"
level_1="Very willing to compare self favorably with others"
level_0="Would never shy away from an opportunity to say they are better than somebody else">22</Trait>
<Trait name="Compassion"
level_5="Incredibly compassionate and feels the pain of others"
level_4="Easily moved to pity"
level_3="Compassionate"
level_2="Not easily moved to pity"
level_1="Not affected by the suffering of others"
level_0="Would never let an objective judgement be tempered by mercy or pity">23</Trait>
<Trait name="Confidence"
level_5="Incredibly confident"
level_4="Very confident"
level_3="Confident"
level_2="Lacks confidence"
level_1="Does not feel effective in life"
level_0="Always feels as if they are not in control of own life">24</Trait>
<Trait name="Organization"
level_5="Loves to make lists and keep schedules"
level_4="Tries to live a well-organized life"
level_3="Organized"
level_2="Disorganized"
level_1="Very disorganized"
level_0="Completely disorganized">25</Trait>
<Trait name="Lawfulness"
level_5="Has a profound sense of duty and obligation"
level_4="Has a strong sense of duty"
level_3="Has a sense of duty"
level_2="Finds rules confining"
level_1="Dislikes contracts and regulations"
level_0="Hates rules, contracts and other confining elements in own life">26</Trait>
<Trait name="Excellence"
level_5="Constantly strives for perfection"
level_4="Thinks it is incredibly important to strive for excellence"
level_3="Strives for excellence"
level_2="Doesn't go out of own way to do more work than necessary"
level_1="Very rarely does more work than necessary"
level_0="Does the bare minimum necessary to accomplish the task at hand">27</Trait>
<Trait name="Perseverance"
level_5="Will persist in the face of any difficulty until the task is complete"
level_4="Possesses great willpower"
level_3="Is self-disciplined"
level_2="Is occasionally given to procrastination"
level_1="Has very little self-discipline"
level_0="Rarely completes tasks and is often overcome by distractions">28</Trait>
<Trait name="Cautiousness"
level_5="Thinks through every alternative and their consequences before acting"
level_4="Extremely cautious"
level_3="Takes time when making decisions"
level_2="Often does the first thing that comes to mind"
level_1="Acts impulsively"
level_0="Always acts without considering alternatives or thinking through possibilities">29</Trait>
====================================================================
M O O D S
====================================================================
<Mood id="0" name="Fey"/>
<Mood id="1" name="Secretive"/>
<Mood id="2" name="Possesed"/>
<Mood id="3" name="Macabre"/>
<Mood id="4" name="Fell"/>
<Mood id="5" name="Melancholy"/>
====================================================================
P R O F E S S I O N S
====================================================================
TODO: Parse this and turn it into Profession tags.
Cross-reference with Memory-40d.xml
<Profession can_assign_labors="true" is_military="false" name="MINER">0</Profession>
<Profession can_assign_labors="true" is_military="false" name="WOODWORKER">1</Profession>
<Profession can_assign_labors="true" is_military="false" name="CARPENTER">2</Profession>
<Profession can_assign_labors="true" is_military="false" name="BOWYER">3</Profession>
<Profession can_assign_labors="true" is_military="false" name="WOODCUTTER">4</Profession>
<Profession can_assign_labors="true" is_military="false" name="STONEWORKER">5</Profession>
<Profession can_assign_labors="true" is_military="false" name="ENGRAVER">6</Profession>
<Profession can_assign_labors="true" is_military="false" name="MASON">7</Profession>
<Profession can_assign_labors="true" is_military="false" name="RANGER">8</Profession>
<Profession can_assign_labors="true" is_military="false" name="ANIMAL_CARETAKER">9</Profession>
<Profession can_assign_labors="true" is_military="false" name="ANIMAL_TRAINER">10</Profession>
<Profession can_assign_labors="true" is_military="false" name="HUNTER">11</Profession>
<Profession can_assign_labors="true" is_military="false" name="TRAPPER">12</Profession>
<Profession can_assign_labors="true" is_military="false" name="ANIMAL_DISSECTOR">13</Profession>
<Profession can_assign_labors="true" is_military="false" name="METALSMITH">14</Profession>
<Profession can_assign_labors="true" is_military="false" name="FURNACE_OPERATOR">15</Profession>
<Profession can_assign_labors="true" is_military="false" name="WEAPONSMITH">16</Profession>
<Profession can_assign_labors="true" is_military="false" name="ARMORER">17</Profession>
<Profession can_assign_labors="true" is_military="false" name="BLACKSMITH">18</Profession>
<Profession can_assign_labors="true" is_military="false" name="METALCRAFTER">19</Profession>
<Profession can_assign_labors="true" is_military="false" name="JEWELER">20</Profession>
<Profession can_assign_labors="true" is_military="false" name="GEM_CUTTER">21</Profession>
<Profession can_assign_labors="true" is_military="false" name="GEM_SETTER">22</Profession>
<Profession can_assign_labors="true" is_military="false" name="CRAFTSMAN">23</Profession>
<Profession can_assign_labors="true" is_military="false" name="WOODCRAFTER">24</Profession>
<Profession can_assign_labors="true" is_military="false" name="STONECRAFTER">25</Profession>
<Profession can_assign_labors="true" is_military="false" name="LEATHERWORKER">26</Profession>
<Profession can_assign_labors="true" is_military="false" name="BONE_CARVER">27</Profession>
<Profession can_assign_labors="true" is_military="false" name="WEAVER">28</Profession>
<Profession can_assign_labors="true" is_military="false" name="CLOTHIER">29</Profession>
<Profession can_assign_labors="true" is_military="false" name="GLASSMAKER">30</Profession>
<Profession can_assign_labors="true" is_military="false" name="STRAND_EXTRACTOR">31</Profession>
<Profession can_assign_labors="true" is_military="false" name="FISHERY_WORKER">32</Profession>
<Profession can_assign_labors="true" is_military="false" name="FISHERMAN">33</Profession>
<Profession can_assign_labors="true" is_military="false" name="FISH_DISSECTOR">34</Profession>
<Profession can_assign_labors="true" is_military="false" name="FISH_CLEANER">35</Profession>
<Profession can_assign_labors="true" is_military="false" name="FARMER">36</Profession>
<Profession can_assign_labors="true" is_military="false" name="CHEESE_MAKER">37</Profession>
<Profession can_assign_labors="true" is_military="false" name="MILKER">38</Profession>
<Profession can_assign_labors="true" is_military="false" name="COOK">39</Profession>
<Profession can_assign_labors="true" is_military="false" name="THRESHER">40</Profession>
<Profession can_assign_labors="true" is_military="false" name="MILLER">41</Profession>
<Profession can_assign_labors="true" is_military="false" name="BUTCHER">42</Profession>
<Profession can_assign_labors="true" is_military="false" name="TANNER">43</Profession>
<Profession can_assign_labors="true" is_military="false" name="DYER">44</Profession>
<Profession can_assign_labors="true" is_military="false" name="PLANTER">45</Profession>
<Profession can_assign_labors="true" is_military="false" name="HERBALIST">46</Profession>
<Profession can_assign_labors="true" is_military="false" name="BREWER">47</Profession>
<Profession can_assign_labors="true" is_military="false" name="SOAP_MAKER">48</Profession>
<Profession can_assign_labors="true" is_military="false" name="POTASH_MAKER">49</Profession>
<Profession can_assign_labors="true" is_military="false" name="LYE_MAKER">50</Profession>
<Profession can_assign_labors="true" is_military="false" name="WOOD_BURNER">51</Profession>
<Profession can_assign_labors="true" is_military="false" name="ENGINEER">52</Profession>
<Profession can_assign_labors="true" is_military="false" name="MECHANIC">53</Profession>
<Profession can_assign_labors="true" is_military="false" name="SIEGE_ENGINEER">54</Profession>
<Profession can_assign_labors="true" is_military="false" name="SIEGE_OPERATOR">55</Profession>
<Profession can_assign_labors="true" is_military="false" name="PUMP_OPERATOR">56</Profession>
<Profession can_assign_labors="true" is_military="false" name="CLERK">57</Profession>
<Profession can_assign_labors="true" is_military="false" name="ADMINISTRATOR">58</Profession>
<Profession can_assign_labors="true" is_military="false" name="TRADER">59</Profession>
<Profession can_assign_labors="true" is_military="false" name="ARCHITECT">60</Profession>
<Profession can_assign_labors="true" is_military="false" name="ALCHEMIST">61</Profession>
<Profession can_assign_labors="true" is_military="false" name="DOCTOR">62</Profession>
<Profession can_assign_labors="true" is_military="false" name="DIAGNOSER">63</Profession>
<Profession can_assign_labors="true" is_military="false" name="BONE_SETTER">64</Profession>
<Profession can_assign_labors="true" is_military="false" name="SUTURER">65</Profession>
<Profession can_assign_labors="true" is_military="false" name="SURGEON">66</Profession>
<Profession can_assign_labors="true" is_military="false" name="MERCHANT">67</Profession>
<Profession can_assign_labors="true" is_military="true" name="HAMMERMAN">68</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_HAMMERMAN">69</Profession>
<Profession can_assign_labors="true" is_military="true" name="SPEARMAN">70</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_SPEARMAN">71</Profession>
<Profession can_assign_labors="true" is_military="true" name="CROSSBOWMAN">72</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_CROSSBOWMAN">73</Profession>
<Profession can_assign_labors="true" is_military="true" name="WRESTLER">74</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_WRESTLER">75</Profession>
<Profession can_assign_labors="true" is_military="true" name="AXEMAN">76</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_AXEMAN">77</Profession>
<Profession can_assign_labors="true" is_military="true" name="SWORDSMAN">78</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_SWORDSMAN">79</Profession>
<Profession can_assign_labors="true" is_military="true" name="MACEMAN">80</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_MACEMAN">81</Profession>
<Profession can_assign_labors="true" is_military="true" name="PIKEMAN">82</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_PIKEMAN">83</Profession>
<Profession can_assign_labors="true" is_military="true" name="BOWMAN">84</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_BOWMAN">85</Profession>
<Profession can_assign_labors="true" is_military="true" name="BLOWGUNMAN">86</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_BLOWGUNMAN">87</Profession>
<Profession can_assign_labors="true" is_military="true" name="RECRUIT">90</Profession>
<Profession can_assign_labors="true" is_military="false" name="TRAINED_HUNTER">91</Profession>
<Profession can_assign_labors="true" is_military="false" name="TRAINED_WAR">92</Profession>
<Profession can_assign_labors="true" is_military="false" name="MASTER_THIEF">93</Profession>
<Profession can_assign_labors="true" is_military="false" name="THIEF">94</Profession>
<Profession can_assign_labors="true" is_military="false" name="STANDARD">95</Profession>
<Profession can_assign_labors="true" is_military="false" name="CHILD">96</Profession>
<Profession can_assign_labors="true" is_military="false" name="BABY">97</Profession>
<Profession can_assign_labors="true" is_military="false" name="DRUNK">98</Profession>
<Profession can_assign_labors="true" is_military="true" name="LASHER">88</Profession>
<Profession can_assign_labors="true" is_military="true" name="MASTER_LASHER">89</Profession>
<Profession can_assign_labors="true" is_military="false" name="None">90</Profession>
====================================================================
J O B S
====================================================================
TODO: Parse this and turn it into Job tags
<!--
[dwarf_jobs]
size=212
0/name = "Carve Fortification"
0/type = DIG
1/name = "Detail Wall"
1/type = TROWEL
2/name = "Detail Floor"
2/type = TROWEL
3/name = "Dig"
3/type = DIG
4/name = "Carve Upward Staircase"
4/type = DIG
5/name = "Carve Downward Staircase"
5/type = DIG
6/name = "Carve Up/Down Staircase"
6/type = DIG
7/name = "Carve Ramp"
7/type = DIG
8/name = "Dig Channel"
8/type = DIG
9/name = "Fell Tree"
9/type = CUT
10/name = "Gather Plants"
11/name = "Remove Construction"
11/type = BUILD
12/name = "Collect Webs"
12/type = HAUL
13/name = "Bring Item to Depot"
13/type = HAUL
14/name = "Bring Item to Shop"
14/type = HAUL
15/name = "Eat"
15/type = FOOD
16/name = "Get Provisions"
16/type = FOOD
17/name = "Drink"
17/type = DRINK
18/name = "Drink"
18/type = DRINK
19/name = "Fill Waterskin"
19/type = DRINK
20/name = "Fill Waterskin"
20/type = DRINK
21/name = "Sleep"
21/type = REST
22/name = "Collect Sand"
22/type = HAUL
23/name = "Fish"
24/name = "Hunt"
25/name = "Hunt for Small Creature"
26/name = "Kidnap"
26/type = FIGHT
27/name = "Beat Criminal"
27/type = FIGHT
28/name = "Starting Fist Fight"
28/type = FIGHT
29/name = "Collect Taxes"
30/name = "Guard Tax Collector"
30/type = FIGHT
31/name = "Catch Live Land Animal"
32/name = "Catch Live Fish"
33/name = "Return Kill"
33/type = HAUL
34/name = "Check Chesk"
34/type = SEEK
35/name = "Store Owned Item"
35/type = HAUL
36/name = "Place Item in Tomb"
36/type = HAUL
37/name = "Store Item in Stockpile"
37/type = HAUL
38/name = "Store Item in Bag"
38/type = HAUL
39/name = "Store Item in Hospital"
39/type = HAUL
40/name = "Store Item in Chest"
40/type = HAUL
41/name = "Store Item in Cabinet"
41/type = HAUL
42/name = "Store Weapon"
42/type = HAUL
43/name = "Store Armor"
43/type = HAUL
44/name = "Store Item in Barrel"
44/type = HAUL
45/name = "Store Item in Bin"
45/type = HAUL
46/name = "Seek Artifact"
46/type = SEEK
47/name = "Seek Infant"
47/type = SEEK
48/name = "Attend Party"
48/type = DRINK
49/name = "Go Shopping"
50/name = "Go Shopping"
51/name = "Clean"
52/name = "Rest"
52/type = REST
53/name = "Pickup Equipment"
53/type = SEEK
54/name = "Dump Item"
54/type = HAUL
55/name = "Strange Mood Crafter"
55/type = MOOD
56/name = "Strange Mood Jeweller"
56/type = MOOD
57/name = "Strange Mood Forge"
57/type = MOOD
58/name = "Strange Mood Magma Forge"
58/type = MOOD
59/name = "Strange Mood Brooding"
59/type = MOOD
60/name = "Strange Mood Fell"
60/type = MOOD
61/name = "Strange Mood Carpenter"
61/type = MOOD
62/name = "Strange Mood Mason"
62/type = MOOD
63/name = "Strange Mood Bowyer"
63/type = MOOD
64/name = "Strange Mood Tanner"
64/type = MOOD
65/name = "Strange Mood Weaver"
65/type = MOOD
66/name = "Strange Mood Glassmaker"
66/type = MOOD
67/name = "Strange Mood Mechanics"
67/type = MOOD
68/name = "Construct Building"
68/type = BUILD
69/name = "Construct Door"
68/type = BUILD
70/name = "Construct Floodgate"
70/type = BUILD
71/name = "Construct ?? Bed"
71/type = BUILD
72/name = "Construct ?? Chair/Throne"
72/type = BUILD
73/name = "Construct ?? Casket/Sarcophagus/Coffin"
73/type = BUILD
74/name = "Construct ?? Table"
74/type = BUILD
75/name = "Construct ?? Box/Chest/Bag/Coffer"
75/type = BUILD
76/name = "Construct ?? Bin"
76/type = BUILD
77/name = "Construct ?? Armor Stand"
77/type = BUILD
78/name = "Construct ?? Weapon Rack"
78/type = BUILD
79/name = "Construct ?? Cabinet"
79/type = BUILD
80/name = "Construct ?? Statue"
80/type = BUILD
81/name = "Construct ?? Blocks"
81/type = BUILD
82/name = "Make Raw ??"
83/name = "Make ?? Crafts"
84/name = "Mint ?? Coins"
85/name = "Cut ?A?"
86/name = "Cut ?B?"
87/name = "Encrust ?something? with ?somethings?"
88/name = "Encrust ?something? with ?somethings?"
89/name = "Destroy Building"
89/type = BUILD
90/name = "Smelt Ore"
90/type = FURNACE
91/name = "Melt a Metal Object"
91/type = FORGE
92/name = "Extract Metal Strands"
92/type = FORGE
93/name = "Plant Seeds"
94/name = "Harvest Plants"
95/name = "Train Hunting Animal"
95/type = ANIMAL
96/name = "Train War Animal"
96/type = ANIMAL
99/name = "Construct Catapult Parts"
100/name = "Forge ?? Anvil"
100/type = FORGE
101/name = "Construct Catapult Parts"
102/name = "Construct Ballista Parts"
103/name = "Forge/Make A"
103/type = FORGE
104/name = "Stud with ?something?"
105/name = "Butcher an Animal"
106/name = "Prepare a Raw Fish"
107/name = "Mill Plants"
108/name = "Bait Trap with Meat/Gem/Fish"
109/name = "Milk Creature"
110/name = "Make Cheese"
111/name = "Process Plants"
112/name = "Process Plants (Bag)"
113/name = "Process Plants (Vial)"
114/name = "Process Plants (Barrel)"
115/name = "Prepare ?? Meal"
116/name = "Weave ?? into ??"
117/name = "Forge/Make ?? something"
117/type = BUILD
118/name = "Weave Thread"
119/name = "Forge/Make D"
119/type = FORGE
120/name = "Forge/Make E"
120/type = FORGE
121/name = "Forge/Make F"
121/type = FORGE
122/name = "Forge/Make Waterskin/Vial/Flask"
122/type = FORGE
123/name = "Forge Rope"
123/type = FORGE
124/name = "Forge Flask"
124/type = FORGE
125/name = "Forge Goblet"
125/type = FORGE
126/name = "Forge Instrument"
126/type = FORGE
127/name = "Forge Toy"
127/type = FORGE
128/name = "Forge Animal Trap"
128/type = FORGE
129/name = "Forge Barrel"
129/type = FORGE
130/name = "Make Totel"
130/type = FORGE
131/name = "Forge Bolts"
131/type = FORGE
132/name = "Decorate With ?something?"
133/name = "Forge/Make G"
133/type = FORGE
134/name = "Decorate With Bone"
135/name = "Make Backpack"
136/name = "Make Quiver"
137/name = "Load Catapult"
138/name = "Load Ballista"
139/name = "Fire Catapult"
140/name = "Fire Ballista"
141/name = "Construct Mechanisms"
141/type = BUILD
142/name = "Fire Ballista"
143/name = "Load Cage Trap"
144/name = "Load Stone Trap"
145/name = "Load Weapon Trap"
146/name = "Clean Trap"
147/name = "Cast Spell"
148/name = "Link a Building to Trigger"
149/name = "Pull the Lever"
150/name = "Brew Drink"
150/type = DRINK
151/name = "Extract from Plants"
152/name = "Extract from Raw Fish"
153/name = "Extract from Land Animal"
154/name = "Tame Small Animal"
154/type = ANIMAL
155/name = "Tame ?something?"
155/type = ANIMAL
156/name = "Chain Animal"
156/type = ANIMAL
157/name = "Unchain Animal"
157/type = ANIMAL
158/name = "Unchain Pet"
158/type = ANIMAL
159/name = "Release Large Creature"
159/type = ANIMAL
160/name = "Release Pet"
160/type = ANIMAL
161/name = "Release Small Creature"
161/type = ANIMAL
162/name = "Handle Small Creature"
162/type = ANIMAL
163/name = "Handle Large Creature"
163/type = ANIMAL
164/name = "Cage Large Creature"
164/type = ANIMAL
165/name = "Cage Small Creature"
165/type = ANIMAL
166/name = "Recover Wounded"
166/type = MEDICAL
167/name = "Diagnose Patient"
167/type = MEDICAL
168/name = "Immobilize Break"
168/type = MEDICAL
169/name = "Dress Wound"
169/type = MEDICAL
170/name = "Clean Patient"
170/type = MEDICAL
171/name = "Surgery"
171/type = MEDICAL
172/name = "Suture"
172/type = MEDICAL
173/name = "Set Bone"
173/type = MEDICAL
174/name = "Place In Traction"
174/type = MEDICAL
175/name = "Drain Aquarium"
176/name = "Fill Aquarium"
177/name = "Fill Pond"
178/name = "Give Water"
178/type = MEDICAL
179/name = "Give Food"
179/type = MEDICAL
180/name = "Give Water"
180/type = MEDICAL
181/name = "Give Food"
181/type = MEDICAL
182/name = "Recover Pet"
183/name = "Pit/Pond Large Animal"
183/type = ANIMAL
184/name = "Pit/Pond Small Animal"
184/type = ANIMAL
185/name = "Slaughter Animal"
185/type = ANIMAL
186/name = "Make Charcoal"
186/type = FURNACE
187/name = "Make Ash"
187/type = FURNACE
188/name = "Make Lye"
189/name = "Make Potash From Lye"
190/name = "Fertilize Field"
191/name = "Make Potash From Ash"
192/name = "Dye Thread"
193/name = "Dye Cloth"
194/name = "Sew ?? Image"
195/name = "Manage Work Orders"
195/type = ADMIN
196/name = "Operate Pump"
197/name = "Manage Work Orders"
197/type = ADMIN
198/name = "Update Stockpile Records"
198/type = ADMIN
199/name = "Trade at Depot"
199/type = ADMIN
200/name = "Construct ?? Hatch Cover"
200/type = BUILD
201/name = "Construct ?? Grate"
201/type = BUILD
202/name = "Remove Stairs/Ramps"
202/type = DIG
203/name = "Construct ?? Quern"
203/type = BUILD
205/name = "Upgrade Squad Equipment"
205/type = HAUL
206/name = "Prepare Equipment Manifests"
206/type = ADMIN
207/name = "Construct ?? Splint"
207/type = BUILD
208/name = "Construct ?? Crutch"
208/type = BUILD
209/name = "Construct Traction Bench"
209/type = BUILD
210/name = "Clean Self"
211/name = "Bring Crutch"
211/type = MEDICAL
212/name = "Apply Cast"
212/type = MEDICAL
-->
====================================================================
S K I L L S
====================================================================
<Skill name="Mining">0</Skill>
<Skill name="Wood Cutting">1</Skill>
<Skill name="Carpentry">2</Skill>
<Skill name="Bowmaking">49</Skill>
<Skill name="Engraving">3</Skill>
<Skill name="Masonry">4</Skill>
<Skill name="Animal Training">5</Skill>
<Skill name="Animal Caretaking">6</Skill>
<Skill name="Fish Dissection">7</Skill>
<Skill name="Animal Dissection">8</Skill>
<Skill name="Fish Cleaning">9</Skill>
<Skill name="Butchery">10</Skill>
<Skill name="Trapping">11</Skill>
<Skill name="Growing">22</Skill>
<Skill name="Herbalism">23</Skill>
<Skill name="Ambush">57</Skill>
<Skill name="Swimming">71</Skill>
<Skill name="Persuasion">72</Skill>
<Skill name="Negotiation">73</Skill>
<Skill name="Judging Intent">74</Skill>
<Skill name="Appraisal">75</Skill>
<Skill name="Organization">76</Skill>
<Skill name="Record Keeping">77</Skill>
<Skill name="Lying">78</Skill>
<Skill name="Intimidation">79</Skill>
<Skill name="Conversation">80</Skill>
<Skill name="Comedy">81</Skill>
<Skill name="Flattery">82</Skill>
<Skill name="Consoling">83</Skill>
<Skill name="Pacification">84</Skill>
<Skill name="Tracking">85</Skill>
<Skill name="Fishing">24</Skill>
<Skill name="Furnace Operation">25</Skill>
<Skill name="Strand Extraction">26</Skill>
<Skill name="Soap Making">67</Skill>
<Skill name="Potash Making">68</Skill>
<Skill name="Lye Making">66</Skill>
<Skill name="Wood Burning">65</Skill>
<Skill name="Weaponsmithing">27</Skill>
<Skill name="Armorsmithing">28</Skill>
<Skill name="Metalsmithing">29</Skill>
<Skill name="Gem Cutting">30</Skill>
<Skill name="Gem Setting">31</Skill>
<Skill name="Wood Crafting">32</Skill>
<Skill name="Stone Crafting">33</Skill>
<Skill name="Metal Crafting">34</Skill>
<Skill name="Glassmaking">35</Skill>
<Skill name="Studying">86</Skill>
<Skill name="Concentration">87</Skill>
<Skill name="Discipline">88</Skill>
<Skill name="Observation">89</Skill>
<Skill name="Writing">90</Skill>
<Skill name="Prose">91</Skill>
<Skill name="Poetry">92</Skill>
<Skill name="Reading">93</Skill>
<Skill name="Speaking">94</Skill>
<Skill name="Coordination">95</Skill>
<Skill name="Balance">96</Skill>
<Skill name="Leadership">97</Skill>
<Skill name="Teaching">98</Skill>
<Skill name="Fighting">99</Skill>
<Skill name="Archery">100</Skill>
<Skill name="Wrestling">101</Skill>
<Skill name="Biting">102</Skill>
<Skill name="Striking">103</Skill>
<Skill name="Kicking">104</Skill>
<Skill name="Dodging">105</Skill>
<Skill name="Axe">38</Skill>
<Skill name="Sword">39</Skill>
<Skill name="Mace">41</Skill>
<Skill name="Hammer">42</Skill>
<Skill name="Spear">43</Skill>
<Skill name="Crossbow">44</Skill>
<Skill name="Pike">50</Skill>
<Skill name="Bow">52</Skill>
<Skill name="Shield">45</Skill>
<Skill name="Armor">46</Skill>
<Skill name="Siege Engineering">47</Skill>
<Skill name="Siege Operation">48</Skill>
<Skill name="Pump Operation">70</Skill>
<Skill name="Leatherworkering">36</Skill>
<Skill name="Tanning">12</Skill>
<Skill name="Dyeing">69</Skill>
<Skill name="Bone Carving">37</Skill>
<Skill name="Weaving">13</Skill>
<Skill name="Brewing">14</Skill>
<Skill name="Clothes Making">16</Skill>
<Skill name="Milling">17</Skill>
<Skill name="Threshing">18</Skill>
<Skill name="Blowgun">53</Skill>
<Skill name="Throwing">54</Skill>
<Skill name="Machinery">55</Skill>
<Skill name="Nature">56</Skill>
<Skill name="Knife">40</Skill>
<Skill name="Lash">51</Skill>
<Skill name="Cooking">21</Skill>
<Skill name="Alchemy">15</Skill>
<Skill name="Building Design">58</Skill>
<Skill name="Cheese Making">19</Skill>
<Skill name="Milking">20</Skill>
<Skill name="Misc. Object">106</Skill>
<Skill name="Wound Dressing">59</Skill>
<Skill name="Diagnostics">60</Skill>
<Skill name="Surgery">61</Skill>
<Skill name="Bone Setting">62</Skill>
<Skill name="Suturing">63</Skill>
<Skill name="Crutch-walking">64</Skill>
====================================================================
L E V E L S
====================================================================
<Level id="0" name="Dabbling" xpNxtLvl="500"/>
<Level id="1" name="Novice" xpNxtLvl="600"/>
<Level id="2" name="Adequate" xpNxtLvl="700"/>
<Level id="3" name="Competent" xpNxtLvl="800"/>
<Level id="4" name="Skilled" xpNxtLvl="900"/>
<Level id="5" name="Proficient" xpNxtLvl="1000"/>
<Level id="6" name="Talented" xpNxtLvl="1100"/>
<Level id="7" name="Adept" xpNxtLvl="1200"/>
<Level id="8" name="Expert" xpNxtLvl="1300"/>
<Level id="9" name="Professional" xpNxtLvl="1400"/>
<Level id="10" name="Accomplished" xpNxtLvl="1500"/>
<Level id="11" name="Great" xpNxtLvl="1600"/>
<Level id="12" name="Master" xpNxtLvl="1700"/>
<Level id="13" name="High Master" xpNxtLvl="1800"/>
<Level id="14" name="Grand Master" xpNxtLvl="1900"/>
<Level id="15" name="Legendary" xpNxtLvl="2000"/>
<Level id="16" name="Legendary+1" xpNxtLvl="2100"/> TODO verify level 16 and up's existence in DF2010
<Level id="17" name="Legendary+2" xpNxtLvl="2200"/>
<Level id="18" name="Legendary+3" xpNxtLvl="2300"/>
<Level id="19" name="Legendary+4" xpNxtLvl="2400"/>
<Level id="20" name="Legendary+5" xpNxtLvl="-1"/> -1 for no cap
====================================================================
L A B O R S
====================================================================
<Labor name="Mining">0</Labor>
<Labor name="Stone Hauling">1</Labor>
<Labor name="Wood Hauling">2</Labor>
<Labor name="Burial">3</Labor>
<Labor name="Food Hauling">4</Labor>
<Labor name="Refuse Hauling">5</Labor>
<Labor name="Item Hauling">6</Labor>
<Labor name="Furniture Hauling">7</Labor>
<Labor name="Animal Hauling">8</Labor>
<Labor name="Cleaning">9</Labor>
<Labor name="Wood Cutting">10</Labor>
<Labor name="Carpentry">11</Labor>
<Labor name="Stone Detailing">12</Labor>
<Labor name="Masonry">13</Labor>
<Labor name="Architecture">14</Labor>
<Labor name="Animal Training">15</Labor>
<Labor name="Animal Care">16</Labor>
<Labor name="Diagnosis">17</Labor>
<Labor name="Surgery">18</Labor>
<Labor name="Setting Bones">19</Labor>
<Labor name="Suturing">20</Labor>
<Labor name="Dressing Wounds">21</Labor>
<Labor name="Feed Patients/Prisoners">22</Labor>
<Labor name="Recovering Wounded">23</Labor>
<Labor name="Butchery">24</Labor>
<Labor name="Trapping">25</Labor>
<Labor name="Small Animal Dissection">26</Labor>
<Labor name="Leatherworking">27</Labor>
<Labor name="Tanning">28</Labor>
<Labor name="Brewing">29</Labor>
<Labor name="Alchemy">30</Labor>
<Labor name="Soap Maker">31</Labor>
<Labor name="Weaving">32</Labor>
<Labor name="Clothesmaking">33</Labor>
<Labor name="Milling">34</Labor>
<Labor name="Plant Processing">35</Labor>
<Labor name="Cheese Making">36</Labor>
<Labor name="Milking">37</Labor>
<Labor name="Cooking">38</Labor>
<Labor name="Farming (Fields)">39</Labor>
<Labor name="Plant Gathering">40</Labor>
<Labor name="Fishing">41</Labor>
<Labor name="Fish Cleaning">42</Labor>
<Labor name="Fish Dissection">43</Labor>
<Labor name="Hunting">44</Labor>
<Labor name="Furnace Operating">45</Labor>
<Labor name="Weaponsmithing">46</Labor>
<Labor name="Armoring">47</Labor>
<Labor name="Blacksmithing">48</Labor>
<Labor name="Metalcrafting">49</Labor>
<Labor name="Gem Cutting">50</Labor>
<Labor name="Gem Setting">51</Labor>
<Labor name="Woodcrafting">52</Labor>
<Labor name="Stonecrafting">53</Labor>
<Labor name="Bone Carving">54</Labor>
<Labor name="Glassmaking">55</Labor>
<Labor name="Strand Extraction">56</Labor>
<Labor name="Siege Engineering">57</Labor>
<Labor name="Siege Operating">58</Labor>
<Labor name="Crossbow-making">59</Labor>
<Labor name="Mechanics">60</Labor>
<Labor name="Potash Making">61</Labor>
<Labor name="Lye Making">62</Labor>
<Labor name="Dyeing">63</Labor>
<Labor name="Wood Burning">64</Labor>
<Labor name="Pump Operating">65</Labor>
<!--
* Labor groups *
<Labor name="Woodworking">4294967294</Labor>
<Labor name="Stoneworking">4294967293</Labor>
<Labor name="Hunting/Related">4294967292</Labor>
<Labor name="Healthcare">4294967291</Labor>
<Labor name="Farming/Related">4294967290</Labor>
<Labor name="Fishing/Related">4294967289</Labor>
<Labor name="Metalsmithing">4294967288</Labor>
<Labor name="Jewelry">4294967287</Labor>
<Labor name="Crafts">4294967286</Labor>
<Labor name="Engineering">4294967285</Labor>
<Labor name="Hauling">4294967284</Labor>
<Labor name="Other Jobs">4294967283</Labor>
-->
====================================================================
V -- T A B L E S
(for stonesense)
====================================================================
<VTable name="building_vtable">
<multiclass name="building_trapst" typeoffset="0x138">
<class name="building_leverst" type="0x0"/>
<class name="building_pressure_platest" type="0x1"/>
<class name="building_cage_trapst" type="0x2"/>
<class name="building_stonefall_trapst" type="0x3"/>
<class name="building_weapon_trapst" type="0x4"/>
</multiclass>
<class name="building_constructionst"/>
<class name="building_road_pavedst"/>
<class name="building_road_dirtst"/>
<class name="building_roadst"/>
<class name="building_wagonst"/>
<class name="building_tradedepotst"/>
<multiclass name="building_workshopst" typeoffset="0x138">
<class name="building_carpenters_workshopst" type="0x0"/>
<class name="building_farmers_workshopst" type="0x1"/>
<class name="building_masons_workshopst" type="0x2"/>
<class name="building_craftdwarfs_workshopst" type="0x3"/>
<class name="building_jewelers_workshopst" type="0x4"/>
<class name="building_metalsmiths_workshopst" type="0x5"/>
<class name="building_magma_forgest" type="0x6"/>
<class name="building_bowyers_workshopst" type="0x7"/>
<class name="building_mechanics_workshopst" type="0x8"/>
<class name="building_siege_workshopst" type="0x9"/>
<class name="building_butchers_shopst" type="0xA"/>
<class name="building_leather_worksst" type="0xB"/>
<class name="building_tanners_shopst" type="0xC"/>
<class name="building_clothiers_shopst" type="0xD"/>
<class name="building_fisheryst" type="0xE"/>
<class name="building_stillst" type="0xF"/>
<class name="building_loomst" type="0x10"/>
<class name="building_quernst" type="0x11"/>
<class name="building_kennelsst" type="0x12"/>
<class name="building_kitchenst" type="0x13"/>
<class name="building_asheryst" type="0x14"/>
<class name="building_dyers_shopst" type="0x15"/>
<class name="building_millstonest" type="0x16"/>
<class name="building_custom_workshop" type="0x17" />
</multiclass>
<multiclass name="building_furnacest" typeoffset="0x152">
<class name="building_wood_furnacest" type="0x0"/>
<class name="building_smelterst" type="0x1"/>
<class name="building_glass_furnacest" type="0x2"/>
<class name="building_kilnst" type="0x3"/>
<class name="building_magma_smelterst" type="0x4"/>
<class name="building_magma_glass_furnacest" type="0x5"/>
<class name="building_magma_kilnst" type="0x6"/>
</multiclass>
<class name="building_animaltrapst"/>
<class name="building_farmplotst"/>
<class name="building_window_glassst"/>
<class name="building_window_gemst"/>
<class name="building_windowst"/>
<class name="building_statuest"/>
<class name="building_coffinst"/>
<class name="building_shopst"/>
<class name="building_chairst"/>
<class name="building_tablest"/>
<class name="building_bedst"/>
<class name="building_traction_benchst"/>
<multiclass name="building_siegeenginest" typeoffset="0x138">
<class name="building_catapultst" type="0x0"/>
<class name="building_ballistast" type="0x1"/>
</multiclass>
<class name="building_cagest"/>
<class name="building_chainst"/>
<class name="building_windmillst"/>
<class name="building_water_wheelst"/>
<class name="building_screw_pumpst"/>
<class name="building_archerytargetst"/>
<class name="building_weaponst"/><!-- retractable spikes -->
<class name="building_supportst"/>
<class name="building_axle_verticalst"/>
<class name="building_axle_horizontalst"/>
<class name="building_gear_assemblyst"/>
<class name="building_trapst"/>
<class name="building_bars_floorst"/>
<class name="building_bars_verticalst"/>
<class name="building_grate_floorst"/>
<class name="building_grate_wallst"/>
<class name="building_floodgatest"/>
<class name="building_bridgest"/>
<class name="building_hatchst"/>
<class name="building_doorst"/>
<class name="building_armorstandst"/>
<class name="building_weaponrackst"/>
<class name="building_cabinetst"/>
<class name="building_boxst"/>
<class name="building_stockpilest"/>
<class name="building_wellst"/>
<class name="building_civzonest"/><!-- zone -->
<class name="building_actualst"/>
<class name="buildingst"/>
</VTable>
</Entry>
.,:rsr,
:2;,;r2A@@5
@2::s5A#@@@ @r. .
sd;:riXA#@@ :@@@Gir;;AS9
Bs::sS3A#@2 @@#AhXirsS#;
iHrLr5d#@@@ .@#95sr;;rie
i*' `*@3 @@A2sr;:;r#5
:..:rll: @@A5sr::r3@
@Hr;iZ#@@@@ `:rr;;;;:
S@r.;i2#@@@ @s. ..
@2::ri2A@@# B@G2ir:...5i
:@r,r3X##@@ @G5sr:..,:A
.@Ar;;rSB@@# H#2sr;,..,is
.' `* ,@ASs;:..,:B
;rr;:,..,:.
`'''
W I N D O W S
and
W I N E
<Entry version="v0.31.01" os="windows" id="0.31.01" base="meta-2010">
<String name="md5">851c1190b6a7b42f2463967623d18575</String>
<HexValue name="pe_timestamp">0x4BB45F99</HexValue>
Basic things
============
<HexValue name="sizeof_vector">0x18</HexValue>
<Offset name="vector_triplet">0xC</Offset>
Vector layout in MSVC 9:
DWORD Allocator?
DWORD ?
DWORD ?
DWORD Start
DWORD End
DWORD AllocationEnd
<HexValue name="sizeof_string">0x1C</HexValue>
<!-- most probably a static object, because its parts are often
referenced as offset to this address *and* as addresses -->
<Address name="WORLD">0x0165B188</Address>
Position and window dimensions
==============================
<Address name="window_x">0xe32798</Address>
<Address name="window_y">0xe60838</Address>
<Address name="window_z">0xe60814</Address>
<Address name="cursor_xyz">0xae82cc</Address>
<Address name="window_dims">0x17f5ab8</Address>
Found addresses: (next to each other!)
0x17f5ab8
0x17f5ac0
0x17f5ac8
0x17f5ad0
GUI State
=========
<Address name="pause_state">0x146e45f</Address>
Found addresses:
0x146e45f <!-- looks like a dword -->
0x185b677 <!-- looks like a word -->
Bogus: <Address name="current_cursor_creature">0xae82cc</Address>
<Address name="current_menu_state">0x017f6f38</Address>
Bogus: <Address name="view_screen">0xae82cc</Address>
Map stuff
=========
<Address name="map_data">0x016AD718</Address>
<Offset name="map_data_vein_vector">0x08</Offset>
<Offset name="map_data_type">0x009A</Offset>
<Offset name="map_data_designation">0x029C</Offset>
<Offset name="map_data_occupancy">0x069c</Offset>
<Offset name="map_data_temperature1_offset">0x159c</Offset>
<Offset name="map_data_temperature2_offset">0x179c</Offset>
<Offset name="map_data_biome_stuffs">0x1D9C</Offset>
<Offset name="map_data_pathfinding_offset">0x0D9c</Offset>
<Offset name="map_data_feature_local">0x2C</Offset> local features
<Offset name="map_data_feature_global">0x30</Offset> global features
Map Features
============
WORLD + 0x54374
<Address name="global_feature_vector">0x16AF4FC</Address>
<Offset name= "global_feature_funcptr_">0x100</Offset>
<Offset name="global_feature_mat">0x34</Offset>
<Offset name="global_feature_submat">0x38</Offset>
WORLD + 0x54440
<Address name="local_feature_start_ptr">0x16AF5C8</Address>
<Offset name="local_feature_mat">0x30</Offset>
<Offset name="local_feature_submat">0x34</Offset>
<!--
map_data_map_x_offset 0x0058
map_data_map_y_offset 0x005A
map_data_type_offset 0x009a
map_data_designation_offset 0x029c
map_data_occupancy_offset 0x069c
map_data_0a60_offset 0x0A9c
map_data_pathfinding_offset 0x0D9c
map_data_1160_offset 0x119c
map_data_1360_offset 0x139c
map_data_temperature1_offset 0x159c
map_data_temperature2_offset 0x179c
map_data_1960_offset 0x199c
map_data_1b60_offset 0x1B9c
-->
* map size in blocks *
<Address name="x_count_block">0x016ad738</Address>
<Address name="y_count_block">0x016ad73C</Address>
<Address name="z_count_block">0x016ad740</Address>
* map size in tiles *
<Address name="x_count">0x016ad744</Address>
<Address name="y_count">0x016ad748</Address>
<Address name="z_count">0x016ad74C</Address>
* Suspected region coords *
WORLD + 0x525C8
<Address name="region_x">0x016ad750</Address>
WORLD + 0x525CC
<Address name="region_y">0x016ad754</Address>
WORLD + 0x525D0
<Address name="region_z">0x016ad758</Address>
* World size * (WORDs)
<Address name="world_size_x">0x016AEDD4</Address>
<Address name="world_size_y">0x016AEDD6</Address>
<Address name="geoblock_vector">0x16AF52C</Address>
<Address name="ptr2_region_array">0x16AF574</Address>
<!--
<Offset name="world_size_x">0x84</Offset>
<Offset name="world_size_y">0x86</Offset>
<Offset name="w_geoblocks">0x75C</Offset> vector
<Offset name="w_regions_arr">0x79C</Offset>
-->
<!-- values for the region structure -->
<HexValue name="region_size">0x64</HexValue>
<Offset name="region_geo_index_off">0x60</Offset>
<!-- geoblock offset(s?) -->
<Offset name="geolayer_geoblock_offset">0x4</Offset> vector
<Offset name="type_inside_geolayer">0x4</Offset> vector
Name struct
===========
<Offset name="name_firstname">0x0</Offset>
<Offset name="name_nickname">0x1C</Offset>
<Offset name="name_words">0x38</Offset>
Creatures
=========
<Address name="creature_vector">0x0166ecc4</Address>
<Address name="dwarf_race_index">0x01470fbc</Address>
<Address name="dwarf_civ_id">0x01470fb0</Address>
<Offset name="creature_name">0x0</Offset>
<Offset name="creature_custom_profession">0x6c</Offset>
<Offset name="creature_profession">0x88</Offset>
<Offset name="creature_race">0x8C</Offset>
<Offset name="creature_position">0x90</Offset>
<Offset name="creature_flags1">0xF8</Offset>
<Offset name="creature_flags2">0xFC</Offset>
<Offset name="creature_sex">0x110</Offset>
<Offset name="creature_id">0x114</Offset>
<Offset name="creature_civ">0X120</Offset>
<Offset name="creature_soulskill_vector">0X1F4</Offset>
<Offset name="creature_pickup_equipment_bit">0X21C</Offset>
<Offset name="creature_mood">0x288</Offset>
<Offset name="creature_pregnancy">0x28C</Offset>
<Offset name="creature_pregnancy_ptr">0x290</Offset>
<Offset name="creature_birth_year">0x298</Offset>
<Offset name="creature_birth_time">0x29C</Offset>
<Offset name="creature_physical">0x464</Offset>
<!--
<Offset name="creature_strength">0x464</Offset>
<Offset name="creature_agility">0x480</Offset>
<Offset name="creature_toughness">0x49C</Offset>
<Offset name="creature_endurance">0x4B8</Offset>
<Offset name="creature_recuperation">0x4D4</Offset>
<Offset name="creature_disease_resistance">0x4F0</Offset>
-->
<Offset name="creature_current_job">0x390</Offset> <!-- from chmod -->
<Offset name="creature_mood_skill">0x394</Offset> the skill that will be increased at the end of the mood (or not)
<Offset name="creature_appearance_vector">0x604</Offset> seems to be indexes in the list of possible colors defined in the raws for each group
<Offset name="creature_artifact_name">0x6D0</Offset>
<Offset name="creature_labors">0x770</Offset>
<Offset name="creature_soul_vector">0x073C</Offset>
<Offset name="creature_default_soul">0x0754</Offset>
<Offset name="creature_happiness">0x830</Offset>
Souls
=====
<Offset name="soul_name">0x0</Offset>
<Offset name="soul_skills_vector">0x1F4</Offset>
<Offset name="soul_traits">0x224</Offset>
<Offset name="soul_mental">0x88</Offset>
Job structure
=============
<Offset name="job_id">0x0</Offset> Incrementaly assigned
<Offset name="job_type">0x8</Offset> seems to be just like the old occupations
<Offset name="job_materials_vector">0xa4</Offset>
Job materials
=============
<Offset name="job_material_maintype">0x0</Offset> like mood materials, 0=bars, 4=stone, 5=wood, 57=cloth, 54=leather ...
<Offset name="job_material_sectype1">0x2</Offset> subsubtype ?
<Offset name="job_material_sectype2">0x4</Offset> subtype ?
<Offset name="job_material_sectype3">0x8</Offset> index of material (for example, 2 is for silver)
<Offset name="job_material_flags">0x18</Offset> set only for shell / bone mood requirements ?
<!--
mid = AddStrucMember(id,"analytical_ability", 0X88, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"focus", 0XA4, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"willpower", 0XC0, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"creativity", 0XDC, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"intuition", 0XF8, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"patience", 0X114, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"memory", 0X130, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"linguistic_ability", 0X14C, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"spatial_sense", 0X168, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"musicality", 0X184, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"kinesthetic_sense", 0X1A0, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"empathy", 0X1BC, 0x60000400, GetStrucIdByName("s_attrib"), 28);
mid = AddStrucMember(id,"social_awareness", 0X1D8, 0x60000400, GetStrucIdByName("s_attrib"), 28);
-->
Materials
=========
soil, stone, metal
inorganics vector = WORLD + 0x54B7C = 0x16AFD04
<Address name="mat_inorganics">0x16afd04</Address>
wood and plant matter, WORLD + 0x54B94
<Address name="mat_organics_all">0x16afd1C</Address>
plant matter, WORLD + 0x54BAC
<Address name="mat_organics_plants">0x16afd34</Address>
just wood, WORLD + 0x54BDC
<Address name="mat_organics_trees">0x16afd64</Address>
creature types actually used for creatures,
WORLD + 0x54CD0
<Address name="creature_type_vector">0x016AFE58</Address>
<Offset name="creature_type_caste_vector">0x138</Offset>
<Offset name="creature_type_extract_vector">0x1A14</Offset>
<Offset name="creature_tile">0xE0</Offset>
<Offset name="creature_tile_color">0xF6</Offset>
<!--
NOT used yet
Number vectors are vector <uint32_t>
Others are vector<object *>
first member of 'object' is a STL string with the name of said object
<Offset name="inorganic_material_template_instantiation">0x178</Offset>
this is an array of 4B pointers to material templates and length 0x292
base_type_array = WORLD + 0x5DF44
<Address name="base_type_array">0x016b90cc</Address>
<Address name="mat_templates">0x16afcec</Address>
maybe maps beween organics_all and organics_plants
<Address name="mat_unk1_numbers">0x16afd4C</Address>
maybe maps beween organics_all and organics_trees
<Address name="mat_unk2_numbers">0x16afd7C</Address>
body material stuff
<Address name="mat_body_material_templates">0x16AFD94</Address>
<Address name="mat_body_detail_plans">0x16AFDAC</Address>
<Address name="mat_bodies">0x16AFDC4</Address>
<Address name="mat_bodygloss">0x16AFDDC</Address>
<Address name="mat_creature_variations">0x16AFDF4</Address>
*raw* creature types
<Address name="mat_creature_types">0x16AFE0C</Address>
-->
Constructions
=============
WORLD + 0x108
<Address name="construction_vector">0x165b290</Address>
<Offset name="sizeof_construction">0x14</Offset>
Translations
============
WORLD + 0x54E50
<Address name="language_vector">0x016AFFD8</Address>
WORLD + 0x54E80
<Address name="translation_vector">0x016B0008</Address>
<Offset name="word_table">0x4C</Offset>
Vegetation
==========
WORLD + 0x15184
<Address name="vegetation_vector">0x0167030C</Address> belal: 0x017f6d98 ... what?
<Offset name="tree_desc_offset">0x6C</Offset>
Buildings
=========
WORLD + 0x14818
<Address name="buildings_vector">0x0166f9a0</Address>
<Offset name="building_custom_workshop_type">0x164</Offset>
WORLD + 0x5D610
<Address name="custom_workshop_vector">0x016B8798</Address>
<Offset name="custom_workshop_name">0x4</Offset>
<Offset name="custom_workshop_type">0x20</Offset>
Effects
=======
:(
Settlements
===========
:(
Hotkeys
=======
<Address name="hotkey_start">0x01476ecc</Address>
<Offset name="hotkey_mode">0x1C</Offset>
<Offset name="hotkey_xyz">0x20</Offset>
<HexValue name="hotkey_size">0x2C</HexValue>
<!--
addresses from belal: vectors might need 8 subtracted from them
buildings 0x0166f9a8
constructions 0xffffffff
creatures 0x0166eccc
current_cursor_creature 0x00ae82cc
current_menu_state 0x017f6f38
cursor_xyz 0x0166ecd4
effects_vector 0x017f6da0
hotkey_start 0x01476ecc
items 0x0166eda8
language_vector 0x016affe0
map_data 0x016ad718
matgloss 0xffffffff
notes 0x01474de8
pause_state 0x0146e45f
region_x 0x016ad750
region_y 0x016ad754
region_z 0x016ad758
settlement_current 0xffffffff
settlements 0x016af4a4
translation_vector 0x016b0010
view_screen 0xffffffff
window_dims 0x017f5abc
window_x 0x00e32798
window_y 0x00e60838
window_z 0x00e60814
world 0x016aed50
x_count 0x016ad738
y_count 0x016ad73c
z_count 0x016ad740
-->
</Entry>
<Entry version="v0.31.02" os="windows" id="0.31.02" base="0.31.01">
<String name="md5">23dfe141c7ea4e63ebb3c618a12b48ec</String>
<HexValue name="pe_timestamp">0x4BBDF378</HexValue>
</Entry>
<Entry version="v0.31.03" os="windows" id="0.31.03" base="0.31.01" rebase="0x1000">
<String name="md5">94641d97a0ecff6f2194e3d0b310d946</String>
<HexValue name="pe_timestamp">0x4BC3C470</HexValue>
WORLD: 0x0165c1d0 ?
Position
========
<Address name="window_dims">0x17f6b00</Address> Was 0x17f5ab8
0x17f6b00
0x17f6b08
0x17f6b10
Map
===
<Address name="map_data">0x016AE760</Address>
* map size in blocks *
<Address name="x_count_block">0x016AE780</Address>
<Address name="y_count_block">0x016AE784</Address>
<Address name="z_count_block">0x016AE788</Address>
* map size in tiles *
<Address name="x_count">0x016AE78C</Address>
<Address name="y_count">0x016AE790</Address>
<Address name="z_count">0x016AE794</Address>
* Suspected region coords *
<Address name="region_x">0x016AE798</Address>
<Address name="region_y">0x016AE79C</Address>
<Address name="region_z">0x016AE7A0</Address>
* World size * (WORDs)
<Address name="world_size_x">0x016AFE1C</Address>
<Address name="world_size_y">0x016AFE1E</Address>
* geology *
<Address name="geoblock_vector">0x16B0574</Address>
<Address name="ptr2_region_array">0x16B05BC</Address>
* features *
WORLD + 0x54374
<Address name="global_feature_vector">0x16B0544</Address>
WORLD + 0x54440
<Address name="local_feature_start_ptr">0x16B0610</Address>
Creatures
=========
<Address name="creature_vector">0x166FD0C</Address>
<Address name="dwarf_race_index">0x01471fbc</Address>
<Offset name="creature_name">0x0</Offset>
<Offset name="creature_custom_profession">0x6c</Offset>
<Offset name="creature_profession">0x88</Offset>
<Offset name="creature_race">0x8C</Offset>
<Offset name="creature_position">0x90</Offset>
<Offset name="creature_flags1">0xF8</Offset>
<Offset name="creature_flags2">0xFC</Offset>
<Offset name="creature_caste">0x110</Offset>
<Offset name="creature_sex">0x112</Offset>
<Offset name="creature_id">0x114</Offset>
<Offset name="creature_civ">0X120</Offset>
<Offset name="creature_soulskill_vector">0X1F4</Offset>
<Offset name="creature_pickup_equipment_bit">0X21C</Offset>
<!--<Offset name="creature_mood">0x238</Offset>-->
<Offset name="creature_mood">0x288</Offset>
<Offset name="creature_birth_year">0x298</Offset>
<Offset name="creature_birth_time">0x29C</Offset>
<Offset name="creature_current_job">0x390</Offset> <!-- from chmod -->
<Offset name="creature_mood_skill">0x394</Offset> the skill that will be increased at the end of the mood (or not)
<Offset name="creature_physical">0x464</Offset>
<!--
<Offset name="creature_strength">0x464</Offset>
<Offset name="creature_agility">0x480</Offset>
<Offset name="creature_toughness">0x49C</Offset>
<Offset name="creature_endurance">0x4B8</Offset>
<Offset name="creature_recuperation">0x4D4</Offset>
<Offset name="creature_disease_resistance">0x4F0</Offset>
-->
<Offset name="creature_appearance_vector">0x604</Offset>
<Offset name="creature_artifact_name">0x6D4</Offset>
<Offset name="creature_labors">0x774</Offset>
<Offset name="creature_soul_vector">0x0740</Offset>
<Offset name="creature_default_soul">0x0758</Offset>
<Offset name="creature_happiness">0x834</Offset>
Castes
======
<Offset name="caste_bodypart_vector">0x51C</Offset>
<Offset name="caste_attributes">0x654</Offset>
<Offset name="caste_color_modifiers">0xACC</Offset>
Color Mods
==========
<Offset name="color_modifier_part">0x70</Offset>
<Offset name="color_modifier_startdate">0x64</Offset>
<Offset name="color_modifier_enddate">0x68</Offset>
Body Parts
==========
<Offset name="bodypart_id">0x0</Offset>
<Offset name="bodypart_category">0x1C</Offset>
<Offset name="bodypart_layers_vector">0x44</Offset>
<Offset name="bodypart_singular_vector">0x78</Offset>
<Offset name="bodypart_plural_vector">0x90</Offset>
Materials
=========
soil, stone, metal
inorganics vector = WORLD + 0x54B7C = 0x16B0D4C
<Address name="mat_inorganics">0x16B0D4C</Address>
stuff like glass, coke, ...
<Address name="mat_other">0x16BA114</Address>
wood and plant matter, WORLD + 0x54B94
<Address name="mat_organics_all">0x16B0D64</Address>
plant matter, WORLD + 0x54BAC
<Address name="mat_organics_plants">0x16B0D7C</Address>
just wood, WORLD + 0x54BDC
<Address name="mat_organics_trees">0x16B0DAC</Address>
creature types actually used for creatures, WORLD + 0x54CD0
<Address name="creature_type_vector">0x16B0EA0</Address>
stuff that is used somehow
<Address name="mat_stuff">0x16BA114</Address>
Constructions
=============
WORLD + 0x108
<Address name="construction_vector">0x165C2D8</Address>
Translations
============
WORLD + 0x54E50
<Address name="language_vector">0x016B1020</Address>
WORLD + 0x54E80
<Address name="translation_vector">0x16B1050</Address>
Vegetation
==========
WORLD + 0x15184
<Address name="vegetation_vector">0x1671354</Address>
Buildings
=========
WORLD + 0x14818
<Address name="buildings_vector">0x16709E8</Address>
WORLD + 0x5D610
<Address name="custom_workshop_vector">0x16B97E0</Address>
<Offset name="custom_workshop_name">0x4</Offset>
<Offset name="custom_workshop_type">0x20</Offset>
Descriptor colors
=================
<Address name="descriptor_vectors_start">0x16B9780</Address>
<Offset name="descriptor_rawname">0x0</Offset>
<Offset name="descriptor_name">0x4C</Offset>
<Address name="descriptor_colors_vector">0x16B9768</Address> this includes RVB
<Offset name="descriptor_color_r">0x6C</Offset> floats !
<Offset name="descriptor_color_v">0x70</Offset>
<Offset name="descriptor_color_b">0x74</Offset>
<Address name="descriptor_all_colors">0x16B9798</Address> A list of all colors, including eyes and stuff
Items
=====
<Address name="items_vector">0x166FE00</Address>
List of offsets in the VTable :
<Offset name="item_type_accessor">0x0</Offset>
<Offset name="item_subtype_accessor">0x4</Offset>
<Offset name="item_subindex_accessor">0x8</Offset>
<Offset name="item_index_accessor">0xC</Offset>
<Offset name="item_quality_accessor">0x238</Offset>
<Offset name="item_improvement_vector">0xA0</Offset>
<Offset name="item_improvement_subindex">0x4</Offset>
<Offset name="item_improvement_index">0x8</Offset>
<Offset name="item_improvement_quality">0x14</Offset>
<Offset name="item_type_accessor">0x14</Offset> (in the vtable)
Time
====
<Address name="current_tick">0x0e47e08</Address>
<Address name="current_year">0x0e79f00</Address>
</Entry>
<Entry version="v0.31.04" os="windows" id="0.31.04" base="0.31.03" rebase="0x0">
<String name="md5">655a895c5b90d15eb9bb71e28c6c62e5</String>
<HexValue name="pe_timestamp">0x4bf014fa</HexValue>
<Address name="creature_vector">0x167870C</Address>
<Address name="dwarf_race_index">0x1471FBC</Address>
<Address name="dwarf_civ_id">0x1471FB0</Address>
<Address name="mat_inorganics">0x16BD0B0</Address>
<Address name="mat_other">0x16C6478</Address>
<Address name="mat_organics_all">0x16BD0C8</Address>
<Address name="mat_organics_plants">0x16bd0e0</Address>
<Address name="mat_organics_trees">0x16bd110</Address>
<Address name="creature_type_vector">0x16BD204</Address>
<Address name="mat_stuff">0x16C6478</Address>
<Address name="language_vector">0x16BD384</Address>
<Address name="translation_vector">0x16BD3B4</Address>
<Address name="descriptor_colors_vector">0x16C5ACC</Address>
<Address name="descriptor_vectors_start">0x16C5AE4</Address>
<Address name="descriptor_all_colors">0x16C5AFC</Address>
<Address name="current_tick">0xE78780</Address>
<Address name="current_year">0xEAA878</Address>
<Address name="map_data">0x016BAAC4</Address>
<Address name="x_count_block">0x016BAAE4</Address>
<Address name="y_count_block">0x016BAAE8</Address>
<Address name="z_count_block">0x016BAAEC</Address>
<Address name="x_count">0x016BAAF0</Address>
<Address name="y_count">0x016BAAF4</Address>
<Address name="z_count">0x016BAAF8</Address>
<Address name="region_x">0x016BAAFC</Address>
<Address name="region_y">0x016BAB00</Address>
<Address name="region_z">0x016BAB04</Address>
<Address name="world_size_x">0x16BC180</Address>
<Address name="world_size_y">0x16BC182</Address>
<Address name="geoblock_vector">0x16BC8D8</Address>
<Address name="ptr2_region_array">0x16BC920</Address>
<Address name="global_feature_vector">0x16BC8A8</Address>
<Address name="local_feature_start_ptr">0x16BC974</Address>
<Address name="construction_vector">0x1664CD8</Address>
<Address name="vegetation_vector">0x1679D54</Address>
<Address name="buildings_vector">0x16793e8</Address>
<Address name="items_vector">0x1678800</Address>
<Address name="window_dims">0x18030fc</Address> 0x17f6b00
<Address name="window_x">0xe640dc</Address>0xe32798 01
<Address name="window_y">0xe921b0</Address>0xe60838 01
<Address name="window_z">0xe9218c</Address>0xe60814 01
<Address name="cursor_xyz">0xae92c8</Address>0xae82cc 01
<Offset name="item_type_accessor">0x0</Offset> Why do i have to redefine this ???
</Entry>
<Entry version="v0.31.05" os="windows" id="0.31.05" base="0.31.04" rebase="0x8010">
<String name="md5">394ff63fc00fedd5df0b36e4beb589bc</String>
<HexValue name="pe_timestamp">0x4c091569</HexValue>
<Address name="dwarf_race_index">0x014abee4</Address> CHMOD
<Address name="dwarf_civ_id">0x1471FB0</Address> BOGUS!
<Address name="window_dims">0x180b10c</Address> LOOKS O.K.
<Address name="window_x">0xe6c0dc</Address> VERIFIED
<Address name="window_y">0xe9a1b0</Address> VERIFIED
<Address name="window_z">0xe9a18c</Address> VERIFIED
<Address name="cursor_xyz">0xaf12cc</Address> VERIFIED
<Address name="current_tick">0xE80780</Address> LOOKS O.K.
<Address name="current_year">0xEB2878</Address> LOOKS O.K.
<Offset name="item_type_accessor">0x0</Offset> Why do i have to redefine this ???
... what?
</Entry>
<Entry version="v0.31.06" os="windows" id="0.31.06" base="0.31.05" rebase="0x10">
<String name="md5">c4b7e37dafa2716e31d29110968ac64e</String>
<HexValue name="pe_timestamp">0x4c0f83d5</HexValue>
<Address name="cursor_xyz">0xaf12d0</Address>
</Entry>
<Entry version="v0.31.07" os="windows" id="0.31.07" base="0.31.06" rebase="0x2000">
<String name="md5">1c0b5254af1b8ff9a34b51c3f6609da3</String>
<HexValue name="pe_timestamp">0x4c1cbe4b</HexValue>
<Address name="cursor_xyz">0xaf32d8</Address>0xaf12d0
<Address name="window_dims">0x180d11c</Address> 0x180b10c
<Address name="window_x">0xe6e0ec</Address>
<Address name="window_y">0xe9c1c0</Address>
<Address name="window_z">0xe9c19c</Address>
map size X: 0x16c4b10
map size Y: 0x16c4b14
</Entry>
<Entry version="v0.31.08" os="windows" id="0.31.08" base="0.31.07" rebase="-0x1000">
<String name="md5">a83e6b21307cf41fb54c315fa40dec86</String>
<HexValue name="pe_timestamp">0x4c1d69fe</HexValue>
<Address name="dwarf_civ_id">0x14acee8</Address>
<!--
<Address name="cursor_xyz">0xaf32d8</Address>0xaf12d0
<Address name="window_dims">0x180d11c</Address> 0x180b10c
<Address name="window_x">0xe6e0ec</Address>
<Address name="window_y">0xe9c1c0</Address>
<Address name="window_z">0xe9c19c</Address>
map size X: 0x16c4b10
map size Y: 0x16c4b14
-->
</Entry>
<Entry version="v0.31.09" os="windows" id="0.31.09" base="0.31.08" rebase="0xD028" > rebase="0xD030"
<!-- TODO: fix creature offsets -->
<!-- TODO: small offsets added all over the place, investigate -->
<String name="md5">1a85839ab03df082974dc5629d3fbc26</String>
<HexValue name="pe_timestamp">0x4C3897C0</HexValue>
<Address name="cursor_xyz">0xaff2d8</Address>
<Address name="language_vector">0x16D33CC</Address>
<Address name="translation_vector">0x16D33FC</Address>
<Offset name="word_table">0x4c</Offset>
Creatures
=========
<Address name="creature_vector">0x168E73C</Address>
<Address name="dwarf_race_index">0x014b9f1c</Address>
<Offset name="creature_soulskill_vector">0X1F4</Offset>
<Offset name="creature_inventory_vector">0x2FC</Offset>
<Offset name="creature_physical">0x4AC</Offset>
<Offset name="creature_appearance_vector">0x64c</Offset> <!-- Maybe slightly wrong -->
<Offset name="creature_artifact_name">0x71c</Offset>
<Offset name="creature_labors">0x7Bc</Offset>
<Offset name="creature_soul_vector">0x0788</Offset>
<Offset name="creature_default_soul">0x07A0</Offset>
<Offset name="creature_happiness">0x87c</Offset>
</Entry>
<Entry version="v0.31.10" os="windows" id="0.31.10" base="0.31.09">
<String name="md5">349d1ad6eda7b6c5e87f8e4726a0999a</String>
<HexValue name="pe_timestamp">0x4C398089</HexValue>
</Entry>
<Entry version="v0.31.11" os="windows" id="0.31.11" base="0.31.10" rebase="0x7018">
<String name="md5">552cfa417fd131204ebfee66aefc4adb</String>
<HexValue name="pe_timestamp">0x4C496D93</HexValue>
<Address name="cursor_xyz">0xB062D8</Address>
<Address name="window_x">0xe81114</Address> VERIFIED
<Address name="window_y">0xeAF1E8</Address> VERIFIED
<Address name="window_z">0xeAF1C4</Address> VERIFIED
</Entry>
<Entry version="v0.31.12" os="windows" id="0.31.12" base="0.31.11">
<String name="md5">f0459165a426a9f2dd8d957e9fa7f01d</String>
<HexValue name="pe_timestamp">0x4C4C32E7</HexValue>
<Address name="screen_tiles_pointer">0x18313D0</Address>
</Entry>
.-"""-.
' \
|,. ,-. | _________________________
|()L( ()| | \ \
|,' `".| | /_ Argh !!! \
|.___.',| ` \________________________\
.j `--"' ` `.
/ ' ' \
/ / ` `.
/ / ` .
/ / l |
. , L I N U X | |
,"`. .| |
_.' ``. | `..-'l
| `.`, | `.
| `. __.j )
|__ |--""___| ,-'
`"--...,+"""" `._,.-'
<!-- Windows logo by Microsoft -->
<!-- Tux logo by the Linux guys :) -->
<Entry version="linux-offsets-2010" os="all" id="linux-offsets-2010" base="meta-2010">
Basic things
============
<HexValue name="sizeof_vector">0xC</HexValue> VERIFIED
<Offset name="vector_triplet">0x0</Offset> VERIFIED
<HexValue name="sizeof_string">0x4</HexValue> VERIFIED
MAP BLOCK OFFSETS
=================
<Offset name="map_data_vein_vector">0x08</Offset> VERIFIED
<Offset name="map_data_feature_local">0x20</Offset> VERIFIED
<Offset name="map_data_feature_global">0x24</Offset> VERIFIED
<Offset name="map_data_type">0x006A</Offset> VERIFIED
<Offset name="map_data_designation">0x026C</Offset> VERIFIED
<Offset name="map_data_occupancy">0x066c</Offset> VERIFIED
<Offset name="map_data_temperature1_offset">0x156c</Offset> VERIFIED
<Offset name="map_data_temperature2_offset">0x176c</Offset> VERIFIED
<Offset name="map_data_biome_stuffs">0x1D6C</Offset> VERIFIED
<Offset name="map_data_pathfinding_offset">0x0D6c</Offset> VERIFIED
MAP FEATURE OFFSETS
===================
<Offset name= "global_feature_funcptr_">0x94</Offset> VERIFIED
<Offset name="global_feature_mat">0x28</Offset> VERIFIED
<Offset name="global_feature_submat">0x2C</Offset> VERIFIED
<Offset name="local_feature_mat">0x24</Offset> VERIFIED
<Offset name="local_feature_submat">0x28</Offset> VERIFIED
values for the region structure
===============================
<HexValue name="region_size">0x58</HexValue> VERIFIED
<Offset name="region_geo_index_off">0x54</Offset> VERIFIED
geoblock offsets
================
<Offset name="geolayer_geoblock_offset">0x4</Offset> VERIFIED
<Offset name="type_inside_geolayer">0x4</Offset> VERIFIED
Name struct
===========
<Offset name="name_firstname">0x0</Offset> VERIFIED
<Offset name="name_nickname">0x4</Offset> VERIFIED
<Offset name="name_words">0x8</Offset> VERIFIED
Creature offsets
================
<Offset name="creature_name">0x0</Offset> VERIFIED
<Offset name="creature_custom_profession">0x3c</Offset> CHMOD
<Offset name="creature_profession">0x40</Offset> CHMOD
<Offset name="creature_race">0x44</Offset> CHMOD
<Offset name="creature_position">0x90</Offset> BAD!!
<Offset name="creature_flags1">0x8C</Offset> CHMOD
<Offset name="creature_flags2">0x90</Offset> CHMOD
<Offset name="creature_caste">0xA4</Offset> VERIFY
<Offset name="creature_sex">0xA6</Offset> CHMOD
<Offset name="creature_id">0xA8</Offset> CHMOD
<Offset name="creature_civ">0xB4</Offset> VERIFY!
<Offset name="creature_pickup_equipment_bit">0X144</Offset> CHMOD
<Offset name="creature_mood">0x18C</Offset> VERIFY!
<Offset name="creature_birth_year">0x19C</Offset> VERIFY!
<Offset name="creature_birth_time">0x1A0</Offset> VERIFY!
<Offset name="creature_physical">0x464</Offset> BAD!
<Offset name="creature_current_job">0x258</Offset> CHMOD
<Offset name="creature_mood_skill">0x394</Offset> VERIFY!
the skill that will be increased at the end of the mood (or not)
<Offset name="creature_appearance_vector">0x604</Offset> BAD!
<Offset name="creature_artifact_name">0x6D4</Offset> BAD!
<Offset name="creature_labors">0x51C</Offset> CHMOD
<Offset name="creature_soul_vector">0x0500</Offset> CHMOD
<Offset name="creature_default_soul">0x0758</Offset> BAD!
<Offset name="creature_happiness">0x5AC</Offset> CHMOD
Souls
=====
<Offset name="soul_name">0x0</Offset>
<Offset name="soul_skills_vector">0x1C4</Offset> CHMOD
<Offset name="soul_traits">0x1DC</Offset> CHMOD
<Offset name="soul_mental">0x88</Offset> BAD!
Body Parts
==========
<Offset name="bodypart_id">0x0</Offset>
<Offset name="bodypart_category">0x1C</Offset>
<Offset name="bodypart_layers_vector">0x44</Offset>
<Offset name="bodypart_singular_vector">0x78</Offset>
<Offset name="bodypart_plural_vector">0x90</Offset>
Job structure
=============
<Offset name="job_id">0x0</Offset> Incrementaly assigned
<Offset name="job_type">0x8</Offset> seems to be just like the old occupations
<Offset name="job_materials_vector">0xa4</Offset>
Job materials
=============
<Offset name="job_material_maintype">0x0</Offset> like mood materials, 0=bars, 4=stone, 5=wood, 57=cloth, 54=leather ...
<Offset name="job_material_sectype1">0x2</Offset> subsubtype ?
<Offset name="job_material_sectype2">0x4</Offset> subtype ?
<Offset name="job_material_sectype3">0x8</Offset> index of material (for example, 2 is for silver)
<Offset name="job_material_flags">0x18</Offset> set only for shell / bone mood requirements ?
Creature type offsets
=====================
<Offset name="creature_type_caste_vector">0x60</Offset> VERIFIED
from 0.31.08
Toad: 0xaf75b68
Toad: rawname = 0x0
Toad: character (not reliable) = 0x20
Toad: caste vector = 0x60
Toad: extract? vector = 0x18f4
Toad: colors = 0x36
<Offset name="creature_type_extract_vector">0x18f4</Offset> VERIFIED
<Offset name="creature_tile">0x20</Offset> VERIFIED
<Offset name="creature_tile_color">0x36</Offset> LOOKS OK
Castes
======
<Offset name="color_modifier_part">0x70</Offset>
<Offset name="color_modifier_startdate">0x64</Offset>
<Offset name="color_modifier_enddate">0x68</Offset>
<Offset name="caste_bodypart_vector">0x51C</Offset>
<Offset name="caste_color_modifiers">0xACC</Offset>
<Offset name="caste_attributes">0x654</Offset>
<!--
<Offset name="creature_type_caste_vector">0x138</Offset>
<Offset name="creature_type_extract_vector">0x1A14</Offset>
<Offset name="creature_tile">0xE0</Offset>
<Offset name="creature_tile_color">0xF6</Offset>
-->
<!--
struct CreatureType
{
Vector<CreatureCasteType*> creature_type_caste_vector (0x138);
Vector<CreatureExtractType*> creature_type_extract_vector (0x1A14);
Offset creature_tile (0xE0);
Offset creature_tile_color (0xF6);
}
-->
Color descriptors
=================
<Offset name="descriptor_rawname">0x0</Offset> VERIFIED
<Offset name="descriptor_name">0x1C</Offset> VERIFIED
<Offset name="descriptor_color_r">0x24</Offset> VERIFIED
<Offset name="descriptor_color_v">0x28</Offset> VERIFIED
<Offset name="descriptor_color_b">0x2C</Offset> VERIFIED
Language tables
===============
<Offset name="word_table">0x1C</Offset> VERIFIED
Constructions
=============
<Offset name="sizeof_construction">0x14</Offset>
</Entry>
<Entry version="v0.30_04" os="linux" id="30_04lin" base="linux-offsets-2010">
<String name="md5">1d759a11af258263ef5c139d6d9a3e15</String>
<!-- most probably a static object, because its parts are often
referenced as offset to this address *and* as addresses -->
<Address name="WORLD">0x92D00C0</Address>
Position and window dimensions
==============================
<Address name="window_x">0x8cd3b18</Address>
<Address name="window_y">0x8cd3b1c</Address>
<Address name="window_z">0x8cd3b20</Address>
<Address name="cursor_xyz">0x8b17370</Address>
<Address name="window_dims">0x9464d6c</Address>
GUI State
=========
<Address name="pause_state">0x92c971c</Address>
Map data
=========
<Address name="map_data">0x9322d20</Address> WORLD + 0x52C60
Map Features
============
WORLD + 0x5487C
<Address name="global_feature_vector">0x932493C</Address>
WORLD + 0x548F4
<Address name="local_feature_start_ptr">0x93249B4</Address>
* map size in blocks *
<Address name="x_count_block">0x9322d34</Address>
<Address name="y_count_block">0x9322d38</Address>
<Address name="z_count_block">0x9322d3C</Address>
* map size in tiles *
<Address name="x_count">0x9322d40</Address>
<Address name="y_count">0x9322d44</Address>
<Address name="z_count">0x9322d48</Address>
* region coords *
WORLD + 0x525C8
<Address name="region_x">0x9322d4C</Address>
WORLD + 0x525CC
<Address name="region_y">0x9322d50</Address>
WORLD + 0x525D0
<Address name="region_z">0x9322d54</Address>
* World size * (WORDs)
WORLD + 0x542E0
<Address name="world_size_x">0x93243A0</Address>
WORLD + 0x542E2
<Address name="world_size_y">0x93243A2</Address>
WORLD + 0x54894
<Address name="geoblock_vector">0x9324954</Address>
WORLD + 0x548B8
<Address name="ptr2_region_array">0x9324978</Address>
Creatures
=========
<Address name="creature_vector">0x092E3AA0</Address>
<Address name="dwarf_race_index">0x092CB608</Address>
<Address name="dwarf_civ_id">0x092CB5FC</Address>
Materials
=========
soil, stone, metal
inorganics vector
<Address name="mat_inorganics">0x9324e68</Address>0x16afd04
wood and plant matter
<Address name="mat_organics_all">0x9324E74</Address>
plant matter
<Address name="mat_organics_plants">0x9324E80</Address>
just wood
<Address name="mat_organics_trees">0x9324E98</Address>
creature types actually used for creatures,
<Address name="creature_type_vector">0x09324F14</Address>
Color descriptors
=================
<Address name="descriptor_colors_vector">0x9329378</Address> VERIFIED
<Address name="descriptor_all_colors">0x9329390</Address> VERIFIED
Translations
============
WORLD + 0x54E50
<Address name="language_vector">0x9324fd4</Address>
WORLD + 0x54E80
<Address name="translation_vector">0x9324fec</Address>
Constructions
=============
WORLD + 0x84
<Address name="construction_vector">0x92D0144</Address> 0x165b290
Time
====
<Address name="current_year">0x92C9680</Address>
<Address name="current_tick">0x92C9688</Address>
<!--
Vegetation
==========
WORLD + 0x15184
<Address name="vegetation_vector">0x0167030C</Address> belal: 0x017f6d98 ... what?
<Offset name="tree_desc_offset">0x6C</Offset>
Buildings
=========
WORLD + 0x14818
<Address name="buildings_vector">0x0166f9a0</Address>
<Offset name="building_custom_workshop_type">0x164</Offset>
WORLD + 0x5D610
<Address name="custom_workshop_vector">0x016B8798</Address>
<Offset name="custom_workshop_name">0x4</Offset>
<Offset name="custom_workshop_type">0x20</Offset>
Effects
=======
:(
Settlements
===========
:(
Hotkeys
=======
<Address name="hotkey_start">0x01476ecc</Address>
<Offset name="hotkey_mode">0x1C</Offset>
<Offset name="hotkey_xyz">0x20</Offset>
<HexValue name="hotkey_size">0x2C</HexValue>
-->
<!--
Materials
=========
<Address name="mat_inorganics">0x9324E64</Address>
stuff like glass, coke, ...
<Address name="mat_other">17</Address>
wood and plant matter, WORLD + 0x54B94
<Address name="mat_organics_all">18</Address>
plant matter, WORLD + 0x54BAC
<Address name="mat_organics_plants">19</Address>
just wood, WORLD + 0x54BDC
<Address name="mat_organics_trees">20</Address>
creature types actually used for creatures, WORLD + 0x54CD0
<Address name="creature_type_vector">0x09324F10</Address>
stuff that is used somehow
<Address name="mat_stuff">21</Address>
Constructions
=============
WORLD + 0x108
<Address name="construction_vector">22</Address>
Vegetation
==========
WORLD + 0x15184
<Address name="vegetation_vector">25</Address>
Buildings
=========
WORLD + 0x14818
<Address name="buildings_vector">26</Address>
WORLD + 0x5D610
<Address name="custom_workshop_vector">0</Address>
<Offset name="custom_workshop_name">0x4</Offset>
<Offset name="custom_workshop_type">0x20</Offset>
Descriptor colors
=================
<Address name="descriptor_vectors_start">27</Address>
<Offset name="descriptor_rawname">0x0</Offset>
<Offset name="descriptor_name">0x4C</Offset>
<Address name="descriptor_colors_vector">28</Address> this includes RVB
<Offset name="descriptor_color_r">0x6C</Offset> floats !
<Offset name="descriptor_color_v">0x70</Offset>
<Offset name="descriptor_color_b">0x74</Offset>
<Address name="descriptor_all_colors">29</Address> A list of all colors, including eyes and stuff
Items
=====
<Address name="items_vector">30</Address>
List of offsets in the VTable :
<Offset name="item_type_accessor">0x0</Offset>
<Offset name="item_subtype_accessor">0x4</Offset>
<Offset name="item_subindex_accessor">0x8</Offset>
<Offset name="item_index_accessor">0xC</Offset>
<Offset name="item_quality_accessor">0x238</Offset>
<Offset name="item_improvement_vector">0xA0</Offset>
<Offset name="item_improvement_subindex">0x4</Offset>
<Offset name="item_improvement_index">0x8</Offset>
<Offset name="item_improvement_quality">0x14</Offset>
<Offset name="item_type_accessor">0x14</Offset> (in the vtable)
-->
</Entry>
<Entry version="v0.31.05" os="linux" id="30_05lin" base="linux-offsets-2010">
<String name="md5">fea3801a26538b1741f3cc9294139fca</String>
<!-- most probably a static object, because its parts are often
referenced as offset to this address *and* as addresses -->
<Address name="WORLD">0x92C60E0</Address> MOST PROBABLY BOGUS!
Position and window dimensions
==============================
<Address name="window_x">0x8cc9b38</Address> VERIFIED
<Address name="window_y">0x8cc9b3c</Address> VERIFIED
<Address name="window_z">0x8cc9b40</Address> VERIFIED
<Address name="cursor_xyz">0x8b0d36c</Address> VERIFIED
<Address name="window_dims">0x945ad8c</Address> VERIFIED
GUI State
=========
<Address name="pause_state">0x92bf73c</Address> VERIFIED
Map data
========
WORLD + 0x52C60?
<Address name="map_data">0x9318D40</Address> VERIFIED
Map Features
============
WORLD + 0x5487C?
<Address name="global_feature_vector">0x931A95C</Address> VERIFIED
WORLD + 0x548F4?
<Address name="local_feature_start_ptr">0x931A9D4</Address> VERIFIED
* map size in blocks *
<Address name="x_count_block">0x9318D54</Address> VERIFIED
<Address name="y_count_block">0x9318D58</Address> VERIFIED
<Address name="z_count_block">0x9318D5C</Address> VERIFIED
* map size in tiles *
<Address name="x_count">0x9318D60</Address> VERIFIED
<Address name="y_count">0x9318D64</Address> VERIFIED
<Address name="z_count">0x9318D68</Address> VERIFIED
* region coords *
WORLD + 0x525C8
<Address name="region_x">0x9318D6C</Address> VERIFIED
WORLD + 0x525CC
<Address name="region_y">0x9318D70</Address> VERIFIED
WORLD + 0x525D0
<Address name="region_z">0x9318D74</Address> VERIFIED (old = 0x9322d54)
* World size * (WORDs)
WORLD + 0x542E0
<Address name="world_size_x">0x931A3C0</Address> VERIFIED
WORLD + 0x542E2
<Address name="world_size_y">0x931A3C2</Address> VERIFIED
WORLD + 0x54894
<Address name="geoblock_vector">0x931A974</Address> VERIFIED
WORLD + 0x548B8
<Address name="ptr2_region_array">0x931A998</Address> VERIFIED
Materials
=========
soil, stone, metal
inorganics vector
<Address name="mat_inorganics">0x931ae88</Address> VERIFIED
wood and plant matter
<Address name="mat_organics_all">0x931ae94</Address> VERIFIED
plant matter
<Address name="mat_organics_plants">0x931aea0</Address> VERIFIED
just wood
<Address name="mat_organics_trees">0x931aeb8</Address> VERIFIED
creature types actually used for creatures,
<Address name="creature_type_vector">0x931af34</Address> VERIFIED
Color descriptors
=================
<Address name="descriptor_colors_vector">0x931f398</Address> VERIFIED
<Address name="descriptor_all_colors">0x931f3b0</Address> VERIFIED
Translations
============
WORLD + 0x54E50
<Address name="language_vector">0x931aff4</Address>
WORLD + 0x54E80
<Address name="translation_vector">0x931b00c</Address>
Creatures
=========
<Address name="creature_vector">0x92D9AC0</Address>
<Address name="dwarf_race_index">0x92C1628</Address>0x092CB608
<Address name="dwarf_civ_id">0x92C161C</Address>0x092CB5FC
Time
====
<Address name="current_year">0x92BF6A0</Address>
<Address name="current_tick">0x92BF6A8</Address>
YEAR 0x92BF6A0, WORLD - 0x6A40
TICKS 0x92BF6A8, WORLD - 0x6A40 + 0x08
</Entry>
<Entry version="v0.31.06" os="linux" id="30_06lin" base="30_05lin" rebase="-0x20E0">
<String name="md5">13a1c19e8f59b74e307e094e2a0f28c3</String>
<Address name="cursor_xyz">0x8b0b328</Address> VERIFIED
WORLD = 0x92C4000
Creatures
=========
WORLD + 0x139E0
0x92d79d4
0x92d79e0 = real one? seems like it
0x92d7a10
</Entry>
<Entry version="v0.31.07" os="linux" id="30_07lin" base="30_06lin" rebase="0x2000">
<String name="md5">b31979551782e89c049b11db8d2d86d7</String>
</Entry>
<Entry version="v0.31.08" os="linux" id="30_08lin" base="30_07lin">
<String name="md5">e37750890350d7b9d8203879aff8fa5c</String>
</Entry>
<Entry version="v0.31.09" os="linux" id="30_09lin" base="30_08lin" rebase="0x11000">
<!-- TODO: fix creature offsets -->
<!-- TODO: small offsets added all over the place, investigate -->
<String name="md5">4f1f988bc1b425d4193d3d8b7b0579a5</String>
stealing memory...
looking for vectors...
-------------------
!!LANGUAGE TABLES!!
-------------------
translation vector: 0x932bf2c
lang vector: 0x932bf14
word table offset: 0x1c
-------------
!!MATERIALS!!
-------------
inorganics:
0x932bda8
organics:
0x932bdb4
trees:
0x932bdd8
plants:
0x932bdc0
color descriptors:
0x93302b8
Amber color:0xaf842e0
all descriptors:
0x93302d0
toad-first creature types:
0x932be54
all creature types:
0x932be2c
0x932be54
Toad: 0xb076f88
Toad: rawname = 0x0
Toad: character (not reliable) = 0x20
Toad: caste vector = 0x60
Toad: extract? vector = 0x18f4
Toad: colors = 0x36
</Entry>
<Entry version="v0.31.10" os="linux" id="30_10lin" base="30_09lin">
<String name="md5">3e7bea269018a6fb88ef53715685aa64</String>
-------------------
!!LANGUAGE TABLES!!
-------------------
translation vector: 0x932bf2c
lang vector: 0x932bf14
word table offset: 0x1c
-------------
!!MATERIALS!!
-------------
inorganics:
0x932bda8
organics:
0x932bdb4
trees:
0x932bdd8
plants:
0x932bdc0
color descriptors:
0x93302b8
Amber color:0xcc3a770
all descriptors:
0x93302d0
toad-first creature types:
0x932be54
elephant-first creature types:
all creature types:
0x932be2c
0x932be54
Toad: 0xc77d798
Toad: rawname = 0x0
Toad: character (not reliable) = 0x20
Toad: caste vector = 0x60
Toad: extract? vector = 0x18f4
Toad: colors = 0x36
Buildings
=========
<Address name="buildings_vector">0x92eb068</Address>
<Offset name="building_custom_workshop_type">0xE0</Offset>
<Address name="custom_workshop_vector">0x93302e8</Address>
<Offset name="custom_workshop_name">0x4</Offset>
<Offset name="custom_workshop_type">0x8</Offset>
<VTable name="building_vtable">
<multiclass name="building_trapst" typeoffset="0xC0" />
<multiclass name="building_workshopst" typeoffset="0xC0" />
<multiclass name="building_furnacest" typeoffset="0xCE" />
<multiclass name="building_siegeenginest" typeoffset="0xC0" />
</VTable>
</Entry>
<Entry version="v0.31.11" os="linux" id="30_11lin" base="30_10lin" rebase="0x1D020">
<!-- BIG rebase, possible broken stuff -->
<String name="md5">7b04ad536b8b657588ac209a7f95e1d1</String>
<Address name="window_x">0x8cf7a58</Address> VERIFIED
<Address name="window_y">0x8cf7a5C</Address> VERIFIED
<Address name="window_z">0x8cf7a60</Address> VERIFIED
<Address name="cursor_xyz">0x8b3b328</Address> VERIFIED
-------------------
!!LANGUAGE TABLES!!
-------------------
translation vector: 0x9348f4c
lang vector: 0x9348f34
word table offset: 0x1c
-------------
!!MATERIALS!!
-------------
inorganics:
0x9348dc8
organics:
0x9348dd4
trees:
0x9348df8
plants:
0x9348de0
color descriptors:
0x934d2d8
Amber color:0xac014c0
all descriptors:
0x934d2f0
toad-first creature types:
0x9348e74
all creature types:
0x9348e4c
0x9348e74
Toad: 0xadae390
Toad: rawname = 0x0
Toad: character (not reliable) = 0x20
Toad: caste vector = 0x60
Toad: extract? vector = 0x18f4
Toad: colors = 0x36
</Entry>
<Entry version="v0.31.12" os="linux" id="30_12lin" base="30_11lin" rebase="-0x1000">
<String name="md5">e79cead03187ecb692961b316b7cdcd4</String>
</Entry>
</MemoryDescriptors>
</DFExtractor>