<?xml version="1.0"?> <DFHack> <Base name="DF2010"> <Traits> <Trait name="Nervousness" id="0" 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" /> <Trait name="Rage" id="1" 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" /> <Trait name="Depression" id="2" 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" /> <Trait name="Neurosis" id="3" 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" /> <Trait name="Urge" id="4" 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" /> <Trait name="Stress" id="5" 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" /> <Trait name="Friendly" id="6" 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" /> <Trait name="Company" id="7" 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" /> <Trait name="Leadership" id="8" 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" /> <Trait name="Activeness" id="9" 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" /> <Trait name="Thrillseeking" id="10" 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" /> <Trait name="Optimism" id="11" 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" /> <Trait name="Imagination" id="12" 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" /> <Trait name="Artistic" id="13" 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" /> <Trait name="Emotion" id="14" 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" /> <Trait name="Adventure" id="15" 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" /> <Trait name="Thinking" id="16" 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" /> <Trait name="Rebelliousness" id="17" 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" /> <Trait name="Trusting" id="18" 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" /> <Trait name="Honesty" id="19" 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" /> <Trait name="Helpfulness" id="20" 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" /> <Trait name="Compromising" id="21" 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" /> <Trait name="Modesty" id="22" 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" /> <Trait name="Compassion" id="23" 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" /> <Trait name="Confidence" id="24" 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" /> <Trait name="Organization" id="25" 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" /> <Trait name="Lawfulness" id="26" 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" /> <Trait name="Excellence" id="27" 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" /> <Trait name="Perseverance" id="28" 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" /> <Trait name="Cautiousness" id="29" 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" /> </Traits> <Moods> <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"/> </Moods> <Professions> <Profession name="MINER" id="0" military="false" can_assign_labors="true" /> <Profession name="WOODWORKER" id="1" military="false" can_assign_labors="true" /> <Profession name="CARPENTER" id="2" military="false" can_assign_labors="true" /> <Profession name="BOWYER" id="3" military="false" can_assign_labors="true" /> <Profession name="WOODCUTTER" id="4" military="false" can_assign_labors="true" /> <Profession name="STONEWORKER" id="5" military="false" can_assign_labors="true" /> <Profession name="ENGRAVER" id="6" military="false" can_assign_labors="true" /> <Profession name="MASON" id="7" military="false" can_assign_labors="true" /> <Profession name="RANGER" id="8" military="false" can_assign_labors="true" /> <Profession name="ANIMAL_CARETAKER" id="9" military="false" can_assign_labors="true" /> <Profession name="ANIMAL_TRAINER" id="10" military="false" can_assign_labors="true" /> <Profession name="HUNTER" id="11" military="false" can_assign_labors="true" /> <Profession name="TRAPPER" id="12" military="false" can_assign_labors="true" /> <Profession name="ANIMAL_DISSECTOR" id="13" military="false" can_assign_labors="true" /> <Profession name="METALSMITH" id="14" military="false" can_assign_labors="true" /> <Profession name="FURNACE_OPERATOR" id="15" military="false" can_assign_labors="true" /> <Profession name="WEAPONSMITH" id="16" military="false" can_assign_labors="true" /> <Profession name="ARMORER" id="17" military="false" can_assign_labors="true" /> <Profession name="BLACKSMITH" id="18" military="false" can_assign_labors="true" /> <Profession name="METALCRAFTER" id="19" military="false" can_assign_labors="true" /> <Profession name="JEWELER" id="20" military="false" can_assign_labors="true" /> <Profession name="GEM_CUTTER" id="21" military="false" can_assign_labors="true" /> <Profession name="GEM_SETTER" id="22" military="false" can_assign_labors="true" /> <Profession name="CRAFTSMAN" id="23" military="false" can_assign_labors="true" /> <Profession name="WOODCRAFTER" id="24" military="false" can_assign_labors="true" /> <Profession name="STONECRAFTER" id="25" military="false" can_assign_labors="true" /> <Profession name="LEATHERWORKER" id="26" military="false" can_assign_labors="true" /> <Profession name="BONE_CARVER" id="27" military="false" can_assign_labors="true" /> <Profession name="WEAVER" id="28" military="false" can_assign_labors="true" /> <Profession name="CLOTHIER" id="29" military="false" can_assign_labors="true" /> <Profession name="GLASSMAKER" id="30" military="false" can_assign_labors="true" /> <Profession name="STRAND_EXTRACTOR" id="31" military="false" can_assign_labors="true" /> <Profession name="FISHERY_WORKER" id="32" military="false" can_assign_labors="true" /> <Profession name="FISHERMAN" id="33" military="false" can_assign_labors="true" /> <Profession name="FISH_DISSECTOR" id="34" military="false" can_assign_labors="true" /> <Profession name="FISH_CLEANER" id="35" military="false" can_assign_labors="true" /> <Profession name="FARMER" id="36" military="false" can_assign_labors="true" /> <Profession name="CHEESE_MAKER" id="37" military="false" can_assign_labors="true" /> <Profession name="MILKER" id="38" military="false" can_assign_labors="true" /> <Profession name="COOK" id="39" military="false" can_assign_labors="true" /> <Profession name="THRESHER" id="40" military="false" can_assign_labors="true" /> <Profession name="MILLER" id="41" military="false" can_assign_labors="true" /> <Profession name="BUTCHER" id="42" military="false" can_assign_labors="true" /> <Profession name="TANNER" id="43" military="false" can_assign_labors="true" /> <Profession name="DYER" id="44" military="false" can_assign_labors="true" /> <Profession name="PLANTER" id="45" military="false" can_assign_labors="true" /> <Profession name="HERBALIST" id="46" military="false" can_assign_labors="true" /> <Profession name="BREWER" id="47" military="false" can_assign_labors="true" /> <Profession name="SOAP_MAKER" id="48" military="false" can_assign_labors="true" /> <Profession name="POTASH_MAKER" id="49" military="false" can_assign_labors="true" /> <Profession name="LYE_MAKER" id="50" military="false" can_assign_labors="true" /> <Profession name="WOOD_BURNER" id="51" military="false" can_assign_labors="true" /> <Profession name="ENGINEER" id="52" military="false" can_assign_labors="true" /> <Profession name="MECHANIC" id="53" military="false" can_assign_labors="true" /> <Profession name="SIEGE_ENGINEER" id="54" military="false" can_assign_labors="true" /> <Profession name="SIEGE_OPERATOR" id="55" military="false" can_assign_labors="true" /> <Profession name="PUMP_OPERATOR" id="56" military="false" can_assign_labors="true" /> <Profession name="CLERK" id="57" military="false" can_assign_labors="true" /> <Profession name="ADMINISTRATOR" id="58" military="false" can_assign_labors="true" /> <Profession name="TRADER" id="59" military="false" can_assign_labors="true" /> <Profession name="ARCHITECT" id="60" military="false" can_assign_labors="true" /> <Profession name="ALCHEMIST" id="61" military="false" can_assign_labors="true" /> <Profession name="DOCTOR" id="62" military="false" can_assign_labors="true" /> <Profession name="DIAGNOSER" id="63" military="false" can_assign_labors="true" /> <Profession name="BONE_SETTER" id="64" military="false" can_assign_labors="true" /> <Profession name="SUTURER" id="65" military="false" can_assign_labors="true" /> <Profession name="SURGEON" id="66" military="false" can_assign_labors="true" /> <Profession name="MERCHANT" id="67" military="false" can_assign_labors="true" /> <Profession name="HAMMERMAN" id="68" military="true" can_assign_labors="true" /> <Profession name="MASTER_HAMMERMAN" id="69" military="true" can_assign_labors="true" /> <Profession name="SPEARMAN" id="70" military="true" can_assign_labors="true" /> <Profession name="MASTER_SPEARMAN" id="71" military="true" can_assign_labors="true" /> <Profession name="CROSSBOWMAN" id="72" military="true" can_assign_labors="true" /> <Profession name="MASTER_CROSSBOWMAN" id="73" military="true" can_assign_labors="true" /> <Profession name="WRESTLER" id="74" military="true" can_assign_labors="true" /> <Profession name="MASTER_WRESTLER" id="75" military="true" can_assign_labors="true" /> <Profession name="AXEMAN" id="76" military="true" can_assign_labors="true" /> <Profession name="MASTER_AXEMAN" id="77" military="true" can_assign_labors="true" /> <Profession name="SWORDSMAN" id="78" military="true" can_assign_labors="true" /> <Profession name="MASTER_SWORDSMAN" id="79" military="true" can_assign_labors="true" /> <Profession name="MACEMAN" id="80" military="true" can_assign_labors="true" /> <Profession name="MASTER_MACEMAN" id="81" military="true" can_assign_labors="true" /> <Profession name="PIKEMAN" id="82" military="true" can_assign_labors="true" /> <Profession name="MASTER_PIKEMAN" id="83" military="true" can_assign_labors="true" /> <Profession name="BOWMAN" id="84" military="true" can_assign_labors="true" /> <Profession name="MASTER_BOWMAN" id="85" military="true" can_assign_labors="true" /> <Profession name="BLOWGUNMAN" id="86" military="true" can_assign_labors="true" /> <Profession name="MASTER_BLOWGUNMAN" id="87" military="true" can_assign_labors="true" /> <Profession name="LASHER" id="88" military="true" can_assign_labors="true" /> <Profession name="MASTER_LASHER" id="89" military="true" can_assign_labors="true" /> <Profession name="RECRUIT" id="90" military="true" can_assign_labors="true" /> <Profession name="TRAINED_HUNTER" id="91" military="false" can_assign_labors="true" /> <Profession name="TRAINED_WAR" id="92" military="false" can_assign_labors="true" /> <Profession name="MASTER_THIEF" id="93" military="false" can_assign_labors="true" /> <Profession name="THIEF" id="94" military="false" can_assign_labors="true" /> <Profession name="STANDARD" id="95" military="false" can_assign_labors="true" /> <Profession name="CHILD" id="96" military="false" can_assign_labors="false" /> <Profession name="BABY" id="97" military="false" can_assign_labors="false" /> <Profession name="DRUNK" id="98" military="false" can_assign_labors="false" /> <Profession name="Shearer" id="99" military="false" can_assign_labors="true" /> <Profession name="Spinner" id="100" military="false" can_assign_labors="true" /> <Profession name="Potter" id="101" military="false" can_assign_labors="true" /> <Profession name="Glazer" id="102" military="false" can_assign_labors="true" /> <Profession name="Presser" id="103" military="false" can_assign_labors="true" /> </Professions> <Jobs> <Job id="0" name = "Carve Fortification" /> <Job id="1" name = "Detail Wall" /> <Job id="2" name = "Detail Floor" /> <Job id="3" name = "Dig" /> <Job id="4" name = "Carve Upward Staircase" /> <Job id="5" name = "Carve Downward Staircase" /> <Job id="6" name = "Carve Up/Down Staircase" /> <Job id="7" name = "Carve Ramp" /> <Job id="8" name = "Dig Channel" /> <Job id="9" name = "Fell Tree" /> <Job id="10" name = "Gather Plants" /> <Job id="11" name = "Remove Construction" /> <Job id="12" name = "Collect Webs" /> <Job id="13" name = "Bring Item to Depot" /> <Job id="14" name = "Bring Item to Shop" /> <Job id="15" name = "Eat" /> <Job id="16" name = "Get Provisions" /> <Job id="17" name = "Drink" /> <Job id="18" name = "Drink" /> <Job id="19" name = "Fill Waterskin" /> <Job id="20" name = "Fill Waterskin" /> <Job id="21" name = "Sleep" /> <Job id="22" name = "Collect Sand" /> <Job id="23" name = "Fish" /> <Job id="24" name = "Hunt" /> <Job id="25" name = "Hunt for Small Creature" /> <Job id="26" name = "Kidnap" /> <Job id="27" name = "Beat Criminal" /> <Job id="28" name = "Starting Fist Fight" /> <Job id="29" name = "Collect Taxes" /> <Job id="30" name = "Guard Tax Collector" /> <Job id="31" name = "Catch Live Land Animal" /> <Job id="32" name = "Catch Live Fish" /> <Job id="33" name = "Return Kill" /> <Job id="34" name = "Check Chesk" /> <Job id="35" name = "Store Owned Item" /> <Job id="36" name = "Place Item in Tomb" /> <Job id="37" name = "Store Item in Stockpile" /> <Job id="38" name = "Store Item in Bag" /> <Job id="39" name = "Store Item in Hospital" /> <Job id="40" name = "Store Item in Chest" /> <Job id="41" name = "Store Item in Cabinet" /> <Job id="42" name = "Store Weapon" /> <Job id="43" name = "Store Armor" /> <Job id="44" name = "Store Item in Barrel" /> <Job id="45" name = "Store Item in Bin" /> <Job id="46" name = "Seek Artifact" /> <Job id="47" name = "Seek Infant" /> <Job id="48" name = "Attend Party" /> <Job id="49" name = "Go Shopping" /> <Job id="50" name = "Go Shopping" /> <Job id="51" name = "Clean" /> <Job id="52" name = "Rest" /> <Job id="53" name = "Pickup Equipment" /> <Job id="54" name = "Dump Item" /> <Job id="55" name = "Strange Mood Crafter" /> <Job id="56" name = "Strange Mood Jeweller" /> <Job id="57" name = "Strange Mood Forge" /> <Job id="58" name = "Strange Mood Magma Forge" /> <Job id="59" name = "Strange Mood Brooding" /> <Job id="60" name = "Strange Mood Fell" /> <Job id="61" name = "Strange Mood Carpenter" /> <Job id="62" name = "Strange Mood Mason" /> <Job id="63" name = "Strange Mood Bowyer" /> <Job id="64" name = "Strange Mood Tanner" /> <Job id="65" name = "Strange Mood Weaver" /> <Job id="66" name = "Strange Mood Glassmaker" /> <Job id="67" name = "Strange Mood Mechanics" /> <Job id="68" name = "Construct Building" /> <Job id="69" name = "Construct Door" /> <Job id="70" name = "Construct Floodgate" /> <Job id="71" name = "Construct ?? Bed" /> <Job id="72" name = "Construct ?? Chair/Throne" /> <Job id="73" name = "Construct ?? Casket/Sarcophagus/Coffin" /> <Job id="74" name = "Construct ?? Table" /> <Job id="75" name = "Construct ?? Box/Chest/Bag/Coffer" /> <Job id="76" name = "Construct ?? Bin" /> <Job id="77" name = "Construct ?? Armor Stand" /> <Job id="78" name = "Construct ?? Weapon Rack" /> <Job id="79" name = "Construct ?? Cabinet" /> <Job id="80" name = "Construct ?? Statue" /> <Job id="81" name = "Construct ?? Blocks" /> <Job id="82" name = "Make Raw ??" /> <Job id="83" name = "Make ?? Crafts" /> <Job id="84" name = "Mint ?? Coins" /> <Job id="85" name = "Cut ?A?" /> <Job id="86" name = "Cut ?B?" /> <Job id="87" name = "Encrust ?something? with ?somethings?" /> <Job id="88" name = "Encrust ?something? with ?somethings?" /> <Job id="89" name = "Destroy Building" /> <Job id="90" name = "Smelt Ore" /> <Job id="91" name = "Melt a Metal Object" /> <Job id="92" name = "Extract Metal Strands" /> <Job id="93" name = "Plant Seeds" /> <Job id="94" name = "Harvest Plants" /> <Job id="95" name = "Train Hunting Animal" /> <Job id="96" name = "Train War Animal" /> <Job id="99" name = "Construct Catapult Parts" /> <Job id="100" name = "Forge ?? Anvil" /> <Job id="101" name = "Construct Catapult Parts" /> <Job id="102" name = "Construct Ballista Parts" /> <Job id="103" name = "Forge/Make A" /> <Job id="104" name = "Stud with ?something?" /> <Job id="105" name = "Butcher an Animal" /> <Job id="106" name = "Prepare a Raw Fish" /> <Job id="107" name = "Mill Plants" /> <Job id="108" name = "Bait Trap with Meat/Gem/Fish" /> <Job id="109" name = "Milk Creature" /> <Job id="110" name = "Make Cheese" /> <Job id="111" name = "Process Plants" /> <Job id="112" name = "Process Plants (Bag)" /> <Job id="113" name = "Process Plants (Vial)" /> <Job id="114" name = "Process Plants (Barrel)" /> <Job id="115" name = "Prepare ?? Meal" /> <Job id="116" name = "Weave ?? into ??" /> <Job id="117" name = "Forge/Make ?? something" /> <Job id="118" name = "Weave Thread" /> <Job id="119" name = "Forge/Make D" /> <Job id="120" name = "Forge/Make E" /> <Job id="121" name = "Forge/Make F" /> <Job id="122" name = "Forge/Make Waterskin/Vial/Flask" /> <Job id="123" name = "Forge Rope" /> <Job id="124" name = "Forge Flask" /> <Job id="125" name = "Forge Goblet" /> <Job id="126" name = "Forge Instrument" /> <Job id="127" name = "Forge Toy" /> <Job id="128" name = "Forge Animal Trap" /> <Job id="129" name = "Forge Barrel" /> <Job id="130" name = "Make Totel" /> <Job id="131" name = "Forge Bolts" /> <Job id="132" name = "Decorate With ?something?" /> <Job id="133" name = "Forge/Make G" /> <Job id="134" name = "Decorate With Bone" /> <Job id="135" name = "Make Backpack" /> <Job id="136" name = "Make Quiver" /> <Job id="137" name = "Load Catapult" /> <Job id="138" name = "Load Ballista" /> <Job id="139" name = "Fire Catapult" /> <Job id="140" name = "Fire Ballista" /> <Job id="141" name = "Construct Mechanisms" /> <Job id="142" name = "Fire Ballista" /> <Job id="143" name = "Load Cage Trap" /> <Job id="144" name = "Load Stone Trap" /> <Job id="145" name = "Load Weapon Trap" /> <Job id="146" name = "Clean Trap" /> <Job id="147" name = "Cast Spell" /> <Job id="148" name = "Link a Building to Trigger" /> <Job id="149" name = "Pull the Lever" /> <Job id="150" name = "Brew Drink" /> <Job id="151" name = "Extract from Plants" /> <Job id="152" name = "Extract from Raw Fish" /> <Job id="153" name = "Extract from Land Animal" /> <Job id="154" name = "Tame Small Animal" /> <Job id="155" name = "Tame ?something?" /> <Job id="156" name = "Chain Animal" /> <Job id="157" name = "Unchain Animal" /> <Job id="158" name = "Unchain Pet" /> <Job id="159" name = "Release Large Creature" /> <Job id="160" name = "Release Pet" /> <Job id="161" name = "Release Small Creature" /> <Job id="162" name = "Handle Small Creature" /> <Job id="163" name = "Handle Large Creature" /> <Job id="164" name = "Cage Large Creature" /> <Job id="165" name = "Cage Small Creature" /> <Job id="166" name = "Recover Wounded" /> <Job id="167" name = "Diagnose Patient" /> <Job id="168" name = "Immobilize Break" /> <Job id="169" name = "Dress Wound" /> <Job id="170" name = "Clean Patient" /> <Job id="171" name = "Surgery" /> <Job id="172" name = "Suture" /> <Job id="173" name = "Set Bone" /> <Job id="174" name = "Place In Traction" /> <Job id="175" name = "Drain Aquarium" /> <Job id="176" name = "Fill Aquarium" /> <Job id="177" name = "Fill Pond" /> <Job id="178" name = "Give Water" /> <Job id="179" name = "Give Food" /> <Job id="180" name = "Give Water" /> <Job id="181" name = "Give Food" /> <Job id="182" name = "Recover Pet" /> <Job id="183" name = "Pit/Pond Large Animal" /> <Job id="184" name = "Pit/Pond Small Animal" /> <Job id="185" name = "Slaughter Animal" /> <Job id="186" name = "Make Charcoal" /> <Job id="187" name = "Make Ash" /> <Job id="188" name = "Make Lye" /> <Job id="189" name = "Make Potash From Lye" /> <Job id="190" name = "Fertilize Field" /> <Job id="191" name = "Make Potash From Ash" /> <Job id="192" name = "Dye Thread" /> <Job id="193" name = "Dye Cloth" /> <Job id="194" name = "Sew ?? Image" /> <Job id="195" name = "Manage Work Orders" /> <Job id="196" name = "Operate Pump" /> <Job id="197" name = "Manage Work Orders" /> <Job id="198" name = "Update Stockpile Records" /> <Job id="199" name = "Trade at Depot" /> <Job id="200" name = "Construct ?? Hatch Cover" /> <Job id="201" name = "Construct ?? Grate" /> <Job id="202" name = "Remove Stairs/Ramps" /> <Job id="203" name = "Construct ?? Quern" /> <Job id="205" name = "Upgrade Squad Equipment" /> <Job id="206" name = "Prepare Equipment Manifests" /> <Job id="207" name = "Construct ?? Splint" /> <Job id="208" name = "Construct ?? Crutch" /> <Job id="209" name = "Construct Traction Bench" /> <Job id="210" name = "Clean Self" /> <Job id="211" name = "Bring Crutch" /> <Job id="212" name = "Apply Cast" /> <Job id="213" name = "Reaction (other)" /> <Job id="214" name = "Unknown Job" /> <Job id="215" name = "Unknown Job" /> <Job id="216" name = "Shear Creature" /> <Job id="217" name = "Spin Thread" /> <Job id="218" name = "Pen/Pasture Large Animal" /> <Job id="219" name = "Pen/Pasture Small Animal" /> <Job id="220" name = "Unknown Job" /> <Job id="221" name = "Forge Tool" /> <Job id="222" name = "Collect Clay" /> <Job id="223" name = "Install Colony In Hive" /> <Job id="224" name = "Collect Hive Products" /> </Jobs> <Skills> <Skill name="Mining" id="0" /> <Skill name="Wood Cutting" id="1" /> <Skill name="Carpentry" id="2" /> <Skill name="Engraving" id="3" /> <Skill name="Masonry" id="4" /> <Skill name="Animal Training" id="5" /> <Skill name="Animal Caretaking" id="6" /> <Skill name="Fish Dissection" id="7" /> <Skill name="Animal Dissection" id="8" /> <Skill name="Fish Cleaning" id="9" /> <Skill name="Butchery" id="10" /> <Skill name="Trapping" id="11" /> <Skill name="Tanning" id="12" /> <Skill name="Weaving" id="13" /> <Skill name="Brewing" id="14" /> <Skill name="Alchemy" id="15" /> <Skill name="Clothes Making" id="16" /> <Skill name="Milling" id="17" /> <Skill name="Threshing" id="18" /> <Skill name="Cheese Making" id="19" /> <Skill name="Milking" id="20" /> <Skill name="Cooking" id="21" /> <Skill name="Growing" id="22" /> <Skill name="Herbalism" id="23" /> <Skill name="Fishing" id="24" /> <Skill name="Furnace Operation" id="25" /> <Skill name="Strand Extraction" id="26" /> <Skill name="Weaponsmithing" id="27" /> <Skill name="Armorsmithing" id="28" /> <Skill name="Metalsmithing" id="29" /> <Skill name="Gem Cutting" id="30" /> <Skill name="Gem Setting" id="31" /> <Skill name="Wood Crafting" id="32" /> <Skill name="Stone Crafting" id="33" /> <Skill name="Metal Crafting" id="34" /> <Skill name="Glassmaking" id="35" /> <Skill name="Leatherworkering" id="36" /> <Skill name="Bone Carving" id="37" /> <Skill name="Axe" id="38" /> <Skill name="Sword" id="39" /> <Skill name="Knife" id="40" /> <Skill name="Mace" id="41" /> <Skill name="Hammer" id="42" /> <Skill name="Spear" id="43" /> <Skill name="Crossbow" id="44" /> <Skill name="Shield" id="45" /> <Skill name="Armor" id="46" /> <Skill name="Siege Engineering" id="47" /> <Skill name="Siege Operation" id="48" /> <Skill name="Bowmaking" id="49" /> <Skill name="Pike" id="50" /> <Skill name="Lash" id="51" /> <Skill name="Bow" id="52" /> <Skill name="Blowgun" id="53" /> <Skill name="Throwing" id="54" /> <Skill name="Machinery" id="55" /> <Skill name="Nature" id="56" /> <Skill name="Ambush" id="57" /> <Skill name="Building Design" id="58" /> <Skill name="Wound Dressing" id="59" /> <Skill name="Diagnostics" id="60" /> <Skill name="Surgery" id="61" /> <Skill name="Bone Setting" id="62" /> <Skill name="Suturing" id="63" /> <Skill name="Crutch-walking" id="64" /> <Skill name="Wood Burning" id="65" /> <Skill name="Lye Making" id="66" /> <Skill name="Soap Making" id="67" /> <Skill name="Potash Making" id="68" /> <Skill name="Dyeing" id="69" /> <Skill name="Pump Operation" id="70" /> <Skill name="Swimming" id="71" /> <Skill name="Persuasion" id="72" /> <Skill name="Negotiation" id="73" /> <Skill name="Judging Intent" id="74" /> <Skill name="Appraisal" id="75" /> <Skill name="Organization" id="76" /> <Skill name="Record Keeping" id="77" /> <Skill name="Lying" id="78" /> <Skill name="Intimidation" id="79" /> <Skill name="Conversation" id="80" /> <Skill name="Comedy" id="81" /> <Skill name="Flattery" id="82" /> <Skill name="Consoling" id="83" /> <Skill name="Pacification" id="84" /> <Skill name="Tracking" id="85" /> <Skill name="Studying" id="86" /> <Skill name="Concentration" id="87" /> <Skill name="Discipline" id="88" /> <Skill name="Observation" id="89" /> <Skill name="Writing" id="90" /> <Skill name="Prose" id="91" /> <Skill name="Poetry" id="92" /> <Skill name="Reading" id="93" /> <Skill name="Speaking" id="94" /> <Skill name="Coordination" id="95" /> <Skill name="Balance" id="96" /> <Skill name="Leadership" id="97" /> <Skill name="Teaching" id="98" /> <Skill name="Fighting" id="99" /> <Skill name="Archery" id="100" /> <Skill name="Wrestling" id="101" /> <Skill name="Biting" id="102" /> <Skill name="Striking" id="103" /> <Skill name="Kicking" id="104" /> <Skill name="Dodging" id="105" /> <Skill name="Misc. Object" id="106" /> <Skill name="Knapping" id="107" /> <Skill name="Something Weird" id="108" /> <Skill name="Shearing" id="109" /> <Skill name="Wool Spinning" id="110" /> <Skill name="Pottery" id="111" /> <Skill name="Glazing" id="112" /> <Skill name="Press Operation" id="113" /> <Skill name="Bee Keeping" id="114" /> </Skills> <Levels> <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"/> <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 --> </Levels> <Labors> <Labor name="Mining" id="0" /> <Labor name="Stone Hauling" id="1" /> <Labor name="Wood Hauling" id="2" /> <Labor name="Burial" id="3" /> <Labor name="Food Hauling" id="4" /> <Labor name="Refuse Hauling" id="5" /> <Labor name="Item Hauling" id="6" /> <Labor name="Furniture Hauling" id="7" /> <Labor name="Animal Hauling" id="8" /> <Labor name="Cleaning" id="9" /> <Labor name="Wood Cutting" id="10" /> <Labor name="Carpentry" id="11" /> <Labor name="Stone Detailing" id="12" /> <Labor name="Masonry" id="13" /> <Labor name="Architecture" id="14" /> <Labor name="Animal Training" id="15" /> <Labor name="Animal Care" id="16" /> <Labor name="Diagnosis" id="17" /> <Labor name="Surgery" id="18" /> <Labor name="Setting Bones" id="19" /> <Labor name="Suturing" id="20" /> <Labor name="Dressing Wounds" id="21" /> <Labor name="Feed Patients/Prisoners" id="22" /> <Labor name="Recovering Wounded" id="23" /> <Labor name="Butchery" id="24" /> <Labor name="Trapping" id="25" /> <Labor name="Small Animal Dissection" id="26" /> <Labor name="Leatherworking" id="27" /> <Labor name="Tanning" id="28" /> <Labor name="Brewing" id="29" /> <Labor name="Alchemy" id="30" /> <Labor name="Soap Maker" id="31" /> <Labor name="Weaving" id="32" /> <Labor name="Clothesmaking" id="33" /> <Labor name="Milling" id="34" /> <Labor name="Plant Processing" id="35" /> <Labor name="Cheese Making" id="36" /> <Labor name="Milking" id="37" /> <Labor name="Cooking" id="38" /> <Labor name="Farming (Fields)" id="39" /> <Labor name="Plant Gathering" id="40" /> <Labor name="Fishing" id="41" /> <Labor name="Fish Cleaning" id="42" /> <Labor name="Fish Dissection" id="43" /> <Labor name="Hunting" id="44" /> <Labor name="Furnace Operating" id="45" /> <Labor name="Weaponsmithing" id="46" /> <Labor name="Armoring" id="47" /> <Labor name="Blacksmithing" id="48" /> <Labor name="Metalcrafting" id="49" /> <Labor name="Gem Cutting" id="50" /> <Labor name="Gem Setting" id="51" /> <Labor name="Woodcrafting" id="52" /> <Labor name="Stonecrafting" id="53" /> <Labor name="Bone Carving" id="54" /> <Labor name="Glassmaking" id="55" /> <Labor name="Strand Extraction" id="56" /> <Labor name="Siege Engineering" id="57" /> <Labor name="Siege Operating" id="58" /> <Labor name="Crossbow-making" id="59" /> <Labor name="Mechanics" id="60" /> <Labor name="Potash Making" id="61" /> <Labor name="Lye Making" id="62" /> <Labor name="Dyeing" id="63" /> <Labor name="Wood Burning" id="64" /> <Labor name="Pump Operating" id="65" /> <Labor name="Shearing" id="66" /> <Labor name="Spinning" id="67" /> <Labor name="Pottery" id="68" /> <Labor name="Glazing" id="69" /> <Labor name="Pressing" id="70" /> <Labor name="Bee Keeping" id="71" /> <Labor name="Wax Working" id="72" /> </Labors> <!-- I want to remove this section ~px --> <VTable> <multiclass name="building_trapst"> <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"> <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"> <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"> <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"/> <class name="building_slabst" /> <class name="building_nestst" /> <class name="building_nest_boxst" /> <class name="building_hivest" /> </VTable> <Offsets> <Address name="WORLD" description="A huge object that many things in DF are part of. Contains the whole game and can be used as a base for many of the addresses." /> <Group name="vector" description="An STL vector."> <HexValue name="sizeof" description="The total size in bytes." /> <Offset name="start" description="The offset where the actual start/end/alloc_end triplet is." /> </Group> <Group name="string" description="An STL string."> <HexValue name="sizeof" description="The total size in bytes." /> <Group name="MSVC"> <!-- MSVC++ 9 string void * allocator union { char[16] start; char * start_ptr } Uint32 length Uint32 capacity --> <Offset name="buffer" description="Where the buffer/pointer starts." /> <Offset name="size" description="Where the number of leters is stored (string length without 0-terminator)." /> <Offset name="capacity" description="Capacity of the buffer in letters (default=15)." /> </Group> </Group> <Group name="name" description="A structure used for names all over the place."> <Offset name="first" description="Lowercase stl string with the first name. For ex. 'urist'" /> <Offset name="nick" description="Stl string with the nickname. Set by the player." /> <Offset name="second_words" description="Array of 7 indexes into the language vectors."/> </Group> <Group name="Position" description="Offsets used by the Position module."> <Address name="window_x" description="X coordinate of the current view (DWORD)" /> <Address name="window_y" description="Y coordinate of the current view (DWORD)" /> <Address name="window_z" description="Z coordinate of the current view (DWORD)" /> <Address name="cursor_xyz" description="Coordinates of the cursor (3xDWORD)." /> <Address name="mouse_pos" description="Position of the mouse (3xDWORD?)" /> <Address name="window_dims" description="Size of the view in tiles (2xWORD)" /> <Address name="screen_tiles_pointer" description="Pointer to the screen tile array." /> </Group> <Group name="GUI" description="Offsets used by the GUI module."> <Address name="pause_state" description="a flag that determines if the game is paused."/> <Address name="current_cursor_creature" description="A vector? of creatures currently under the cursor."/> <Address name="current_menu_state" description="A numeric value that describes the state of the current GUI element (switching between menus will change this)."/> <Address name="view_screen" description="Pointer to the current view screen object (GUI screen)."/> </Group> <Group name="Maps" description="Offsets used by the Maps module."> <Address name="map_data" description="Pointer to the start of the map structure."/> <Address name="x_count_block" description="X Size of the local map (in 16x16x1 blocks)."/> <Address name="y_count_block" description="Y Size of the local map (in 16x16x1 blocks)."/> <Address name="z_count_block" description="Z Size of the local map (in 16x16x1 blocks)."/> <Address name="x_count" description="X Size of the local map (in tiles)."/> <Address name="y_count" description="Y Size of the local map (in tiles)."/> <Address name="z_count" description="Z Size of the local map (in tiles)."/> <Address name="region_x"/> <Address name="region_y"/> <Address name="region_z"/> <Address name="world_size_x"/> <Address name="world_size_y"/> <Offset name="world_size_x_from_wdata" /> <Offset name="world_size_y_from_wdata" /> <Address name="world_data" description="Pointer to a structure containing world region data(AFAIK) in DF 31.20 and newer."/> <Group name="block" description="The map block structure."> <Offset name="vein_vector" description="Mineral veins, objects holding tile types under ice, etc..."/> <Offset name="vegetation_vector" description="All the plants in this block, including farm plats."/> <Offset name="type" description="16x16 x 2B tile type values"/> <Offset name="designation" description="16x16 * 4B designation fields"/> <Offset name="occupancy" description="16x16 * 4B occupancy fields" /> <Offset name="temperature1" /> <Offset name="temperature2" /> <Offset name="biome_stuffs" /> <Offset name="pathfinding" /> <Offset name="feature_local" description="Index into a local feature vector (adamantine, etc. Complicated, see source)" /> <Offset name="feature_global" description="Index into the global feature vector (hell, etc.)." /> </Group> <Group name="features"> <Group name="global"> <Address name="vector" /> <Offset name="vector_from_wdata" /> <Offset name="funcptr" /> <Offset name="material" /> <Offset name="submaterial" /> </Group> <Group name="local"> <Address name="start_ptr" /> <Offset name="start_ptr_from_wdata" /> <Offset name="material" /> <Offset name="submaterial" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" /> <Address name="ptr2_region_array" /> <Offset name="geoblock_vector_from_wdata" /> <Offset name="ptr2_region_array_from_wdata" /> <!-- values for the region structure --> <HexValue name="region_size" /> <Offset name="region_geo_index_off" /> <!-- geoblock offset(s?) --> <Offset name="geolayer_geoblock_offset" /> vector <Offset name="type_inside_geolayer" /> vector </Group> </Group> <Group name="Creatures" description="Offsets used by the Creatures module."> <Address name="vector"/> <Address name="current_race" description="Index of the current player race." /> <Address name="current_civ" description="Index of the current player civilization." /> <Group name="creature"> <Offset name="name" description="Creature name, see the name group." /> <Offset name="custom_profession" description="String object with custom profession." /> <Offset name="profession" description="Profession index." /> <Offset name="race" description="Race of the creature." /> <Offset name="position" description="X,Y,Z." /> <Offset name="flags1" description="First set of flags" /> <Offset name="flags2" description="Second set of flags" /> <Offset name="caste" description="Caste of the creature. Same as sex most of the time." /> <Offset name="sex" description="Sex of the creature." /> <Offset name="id" description="Unique ID of the creature, probably index into some global vector.." /> <Offset name="civ" description="What civ the creature belongs to." /> <Group name="advanced"> <Offset name="pickup_equipment_bit" description="Setting this makes creatures re-check the status of their equip." /> <Offset name="mood" /> <Offset name="pregnancy" description="Pregnancy timer.." /> <Offset name="pregnancy_ptr" description="Pregnancy object." /> <Offset name="birth_year" description="The year the creature has been born." /> <Offset name="birth_time" description="Time of year the creature has been born." /> <Offset name="current_job" /> <Offset name="current_job_skill" description="the skill that will be increased at the end of the mood (or not)" /> <Offset name="physical" value="0x464" description="An array of physical attributes." /> <Offset name="appearance_vector" description="seems to be indexes in the list of possible colors defined in the raws for each group" /> <Offset name="inventory_vector" /> <Offset name="artifact_name" description="Name of the artifact created by this creature." /> <Offset name="soul_vector" description="A vector of souls attached to the creature." /> <Offset name="current_soul" description="Currently active soul?" /> <Offset name="labors" description="Array of labors. Used by DT to enable/disable them." /> <Offset name="happiness" description="Number that says how happy the creature is." /> </Group> </Group> <Group name="soul"> <Offset name="name" description="Name of the soul." /> <Offset name="mental" description="An array of mental attributes." /> <Offset name="skills_vector" description="Vector of non-zero skills the creature has." /> <Offset name="traits" /> </Group> <Group name="job"> <Offset name="id" description="Incrementaly assigned." /> <Offset name="type" description="seems to be just like the old occupations" /> <Offset name="materials_vector" /> <Group name="material"> <Offset name="maintype" description="like mood materials, 0=bars, 4=stone, 5=wood, 57=cloth, 54=leather ..." /> <Offset name="sectype1" description="subsubtype ?" /> <Offset name="sectype2" description="subtype ?" /> <Offset name="sectype3" description="index of material (for example, 2 is for silver)" /> <Offset name="flags" description="set only for shell / bone mood requirements ?" /> </Group> </Group> </Group> <Group name="Materials" description="Offsets used by the Materials module."> <Address name="inorganics" description="Soil, stone, gems and metal."/> <Address name="organics_all" description="Wood and plant matter, mixed" /> <Address name="organics_plants" description="plant matter" /> <Address name="organics_trees" description="just wood" /> <Address name="creature_type_vector" description="A vector of creature races" /> <Address name="other" description="Base material types? Code suggests it's a null-terminated string of string pointers? Is this used at all?" /> <Group name="creature" description="Creature race objects"> <Offset name="caste_vector" description="A race is divided into castes. Normally male and female."/> <Offset name="extract_vector"/> <Offset name="tile" description="ASCII tile used for the creature"/> <Offset name="tile_color" description="color of the ASCII tile"/> <Group name="caste"> <Offset name="bodypart_vector"/> <Offset name="attributes"/> <Offset name="color_modifiers"/> </Group> <Group name="caste_color_mods"> <Offset name="part"/> <Offset name="startdate"/> <Offset name="enddate"/> </Group> <Group name="caste_bodyparts"> <Offset name="id"/> <Offset name="category"/> <Offset name="layers_vector"/> <Offset name="singular_vector"/> <Offset name="plural_vector"/> </Group> </Group> <Group name="descriptors"> <Address name="vectors_start" /> <Offset name="rawname" /> <Offset name="name" /> <Address name="colors_vector" /> <Offset name="color_r" /><!--floats !--> <Offset name="color_v" /> <Offset name="color_b" /> <Address name="all_colors_vector" description="A list of all colors, including eyes and stuff" /> </Group> </Group> <Group name="Constructions"> <Address name="vector"/> <Offset name="sizeof"/> </Group> <Group name="Translations"> <Address name="language_vector"/> <Address name="translation_vector"/> <Offset name="word_table"/> </Group> <Group name="Vegetation"> <Address name="vector"/> <Offset name="tree_desc_offset"/> </Group> <Group name="Buildings"> <Address name="buildings_vector"/> <Offset name="building_custom_workshop_type"/> <Address name="custom_workshop_vector"/> <Offset name="custom_workshop_name"/> <Offset name="custom_workshop_type"/> </Group> <Group name="Hotkeys"> <Address name="start"/> <Offset name="mode"/> <Offset name="coords"/> <HexValue name="sizeof"/> </Group> <Group name="Items"> <!-- most of those seem completely unused! --> <Address name="items_vector" /> List of offsets in the VTable : <Offset name="item_type_accessor" /> <Offset name="item_subtype_accessor" /> <Offset name="item_subindex_accessor" /> <Offset name="item_index_accessor" /> <Offset name="item_quality_accessor" /> <Offset name="item_improvement_vector" /> <Offset name="item_improvement_subindex" /> <Offset name="item_improvement_index" /> <Offset name="item_improvement_quality" /> <Offset name="item_type_accessor" /> (in the vtable) </Group> <Group name="World"> <Address name="current_tick" description="Current time of the year" /> <Address name="current_year" description="Current year" /> <Address name="current_weather" description="5x5 array of bytes for surrounding biomes. For each: 0=clear, 1=raining, 2=snowing." /> <Address name="game_mode" description="Current game mode" /> <Address name="control_mode" description="Current control mode" /> <Address name="control_mode_copy" description="Copy of the control mode in DF memory" /> </Group> </Offsets> </Base> .,: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 <Version name="v0.31.01 legacy" os="windows" base="DF2010"> <MD5 value="851c1190b6a7b42f2463967623d18575" /> <PETimeStamp value="0x4BB45F99" /> <VTable> <multiclass name="building_trapst" typeoffset="0x138" /> <multiclass name="building_workshopst" typeoffset="0x138" /> <multiclass name="building_furnacest" typeoffset="0x152" /> <multiclass name="building_siegeenginest" typeoffset="0x138" /> </VTable> <Offsets> <Address name="WORLD" value="0x0165B188" /> <Group name="vector"> <HexValue name="sizeof" value="0x18" /> <Offset name="start" value="0xC" /> <!-- Vector layout in MSVC 9: DWORD Allocator? DWORD ? DWORD ? DWORD Start DWORD End DWORD AllocationEnd --> </Group> <Group name="string"> <HexValue name="sizeof" value="0x1C" /> <Group name="MSVC"> <Offset name="buffer" value="0x4" /> <Offset name="size" value="0x14" /> <Offset name="capacity" value="0x18" /> </Group> </Group> <Group name="name"> <Offset name="first" value="0x0" /> <Offset name="nick" value="0x1C" /> <Offset name="second_words" value="0x38" /> </Group> <Group name="Position"> <Address name="window_x" value="0xe32798" /> <Address name="window_y" value="0xe60838" /> <Address name="window_z" value="0xe60814" /> <Address name="cursor_xyz" value="0xae82cc" /> <Address name="window_dims" value="0x17f5ab8" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x146e45f" /> <Address name="current_cursor_creature" value="0xae82cc" valid="false" /> <Address name="current_menu_state" value="0x017f6f38" /> <Address name="view_screen" value="0xae82cc" valid="false" /> </Group> <Group name="Maps"> <Address name="map_data" value="0x016AD718" /> <Address name="x_count_block" value="0x016ad738" /> <Address name="y_count_block" value="0x016ad73C" /> <Address name="z_count_block" value="0x016ad740" /> <Address name="x_count" value="0x016ad744" /> <Address name="y_count" value="0x016ad748" /> <Address name="z_count" value="0x016ad74C" /> <Address name="region_x" value="0x016ad750" /><!--WORLD + 0x525C8--> <Address name="region_y" value="0x016ad754" /><!--WORLD + 0x525CC--> <Address name="region_z" value="0x016ad758" /><!--WORLD + 0x525D0--> <Address name="world_size_x" value="0x016AEDD4" /> <Address name="world_size_y" value="0x016AEDD6" /> <Group name="block"> <Offset name="vein_vector" value="0x08" /> <Offset name="vegetation_vector" value="0x0078" /> <Offset name="type" value="0x009A" /> <Offset name="designation" value="0x029C" /> <Offset name="occupancy" value="0x069c" /> <Offset name="temperature1" value="0x159c" /> <Offset name="temperature2" value="0x179c" /> <Offset name="biome_stuffs" value="0x1D9C" /> <Offset name="pathfinding" value="0x0D9c" /> <Offset name="feature_local" value="0x2C" /> <Offset name="feature_global" value="0x30" /> <!-- 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 --> </Group> <Group name="features"> <Group name="global"> <Address name="vector" value="0x16AF4FC" /> <!-- WORLD + 0x54374 --> <Offset name="funcptr" value="0x100" /> <Offset name="material" value="0x34" /> <Offset name="submaterial" value="0x38" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x16AF5C8" /> <!-- WORLD + 0x54440 --> <Offset name="material" value="0x30" /> <Offset name="submaterial" value="0x34" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x16AF52C" /> <Address name="ptr2_region_array" value="0x16AF574" /> <!-- values for the region structure --> <HexValue name="region_size" value="0x64" /> <Offset name="region_geo_index_off" value="0x60" /> <!-- geoblock offset(s?) --> <Offset name="geolayer_geoblock_offset" value="0x4" /> vector <Offset name="type_inside_geolayer" value="0x4" /> vector </Group> </Group> <Group name="Creatures"> <Address name="vector" value="0x0166ecc4" /> <Address name="current_race" value="0x01470fbc" /> <Address name="current_civ" value="0x01470fb0" /> <Group name="creature"> <Offset name="name" value="0x0" /> <Offset name="custom_profession" value="0x6c" /> <Offset name="profession" value="0x88" /> <Offset name="race" value="0x8C" /> <Offset name="position" value="0x90" /> <Offset name="flags1" value="0xF8" /> <Offset name="flags2" value="0xFC" /> <Offset name="caste" value="0x110" /> <Offset name="sex" value="0x112" /> <Offset name="id" value="0x114" /> <Offset name="civ" value="0X120" /> <Group name="advanced"> <Offset name="pickup_equipment_bit" value="0X21C" /> <Offset name="mood" value="0x288" /> <Offset name="pregnancy" value="0x28C" /> <Offset name="pregnancy_ptr" value="0x290" /> <Offset name="birth_year" value="0x298" /> <Offset name="birth_time" value="0x29C" /> <Offset name="current_job" value="0x390" /> <!-- from chmod --> <Offset name="current_job_skill" value="0x394" /> the skill that will be increased at the end of the mood (or not) <Offset name="physical" value="0x464" /> <Offset name="appearance_vector" value="0x604" /> seems to be indexes in the list of possible colors defined in the raws for each group <Offset name="artifact_name" value="0x6D0" /> <Offset name="soul_vector" value="0x073C" /> <Offset name="current_soul" value="0x0754" /> <Offset name="labors" value="0x770" /> <Offset name="happiness" value="0x830" /> </Group> </Group> <Group name="soul"> <Offset name="name" value="0x0" /> <Offset name="mental" value="0x88" /> <Offset name="skills_vector" value="0x1F4" /> <Offset name="traits" value="0x224" /> </Group> <Group name="job"> <Offset name="id" value="0x0" /> Incrementaly assigned <Offset name="type" value="0x8" /> seems to be just like the old occupations <Offset name="materials_vector" value="0xa4" /> <Group name="material"> <Offset name="maintype" value="0x0" /> like mood materials, 0=bars, 4=stone, 5=wood, 57=cloth, 54=leather ... <Offset name="sectype1" value="0x2" /> subsubtype ? <Offset name="sectype2" value="0x4" /> subtype ? <Offset name="sectype3" value="0x8" /> index of material (for example, 2 is for silver) <Offset name="flags" value="0x18" /> set only for shell / bone mood requirements ? </Group> </Group> </Group> <Group name="Materials"> <Address name="inorganics" value="0x16afd04" /><!-- WORLD + 0x54B7C --> <Address name="organics_all" value="0x16afd1C" /><!-- wood and plant matter, WORLD + 0x54B94 --> <Address name="organics_plants" value="0x16afd34" /><!-- plant matter, WORLD + 0x54BAC --> <Address name="organics_trees" value="0x16afd64" /><!-- just wood, WORLD + 0x54BDC --> <Address name="creature_type_vector" value="0x016AFE58" /><!-- creature types, WORLD + 0x54CD0 --> <Group name="creature"> <Offset name="caste_vector" value="0x138" /> <Offset name="extract_vector" value="0x1A14" /> <Offset name="tile" value="0xE0" /> <Offset name="tile_color" value="0xF6" /> <Group name="caste"> <Offset name="bodypart_vector" value="0x51C" /> <Offset name="attributes" value="0x654" /> <Offset name="color_modifiers" value="0xACC" /> </Group> <Group name="caste_color_mods"> <Offset name="part" value="0x70" /> <Offset name="startdate" value="0x64" /> <Offset name="enddate" value="0x68" /> </Group> <Group name="caste_bodyparts"> <Offset name="id" value="0x0" /> <Offset name="category" value="0x1C" /> <Offset name="layers_vector" value="0x44" /> <Offset name="singular_vector" value="0x78" /> <Offset name="plural_vector" value="0x90" /> </Group> </Group> </Group> <Group name="Constructions"> <Address name="vector" value="0x165b290" /> <!-- WORLD + 0x108 --> <Offset name="sizeof" value="0x14" /> </Group> <Group name="Translations"> <Address name="language_vector" value="0x016AFFD8" /> <!-- WORLD + 0x54E50 --> <Address name="translation_vector" value="0x016B0008" /> <!-- WORLD + 0x54E80 --> <Offset name="word_table" value="0x4C" /> </Group> <Group name="Vegetation"> <Address name="vector" value="0x0167030C" /> <!-- WORLD + 0x15184 --> <Offset name="tree_desc_offset" value="0x6C" /> </Group> <Group name="Buildings"> <Address name="buildings_vector" value="0x0166f9a0" /><!--WORLD + 0x14818--> <Offset name="building_custom_workshop_type" value="0x164" /> <Address name="custom_workshop_vector" value="0x016B8798" /><!--WORLD + 0x5D610--> <Offset name="custom_workshop_name" value="0x4" /> <Offset name="custom_workshop_type" value="0x20" /> </Group> <Group name="Hotkeys"> <Address name="start" value="0x01476ecc" /> <Offset name="mode" value="0x1C" /> <Offset name="coords" value="0x20" /> <HexValue name="sizeof" value="0x2C" /> </Group> <!-- 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 --> </Offsets> </Version> <Version name="v0.31.02 legacy" os="windows" base="v0.31.01 legacy"> <MD5 value="23dfe141c7ea4e63ebb3c618a12b48ec" /> <PETimeStamp value="0x4BBDF378" /> </Version> <Version name="v0.31.03 legacy" os="windows" base="v0.31.01 legacy" rebase="0x1000"> <MD5 value="94641d97a0ecff6f2194e3d0b310d946" /> <PETimeStamp value="0x4BC3C470" /> <Offsets> WORLD: 0x0165c1d0 ? <Group name="Position"> <Address name="window_dims" value="0x17f6b00" /> Was 0x17f5ab8 </Group> <Group name="Maps"> <Address name="map_data" value="0x016AE760" /> <Address name="x_count_block" value="0x016AE780" /> <Address name="y_count_block" value="0x016AE784" /> <Address name="z_count_block" value="0x016AE788" /> <Address name="x_count" value="0x016AE78C" /> <Address name="y_count" value="0x016AE790" /> <Address name="z_count" value="0x016AE794" /> <Address name="region_x" value="0x016AE798" /> <Address name="region_y" value="0x016AE79C" /> <Address name="region_z" value="0x016AE7A0" /> <Address name="world_size_x" value="0x016AFE1C" /> <Address name="world_size_y" value="0x016AFE1E" /> <Group name="features"> <Group name="global"> <Address name="vector" value="0x16B0544" /> <!-- WORLD + 0x54374 --> </Group> <Group name="local"> <Address name="start_ptr" value="0x16B0610" /> <!-- WORLD + 0x54440 --> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x16B0574" /> <Address name="ptr2_region_array" value="0x16B05BC" /> </Group> </Group> <Group name="Creatures"> <Address name="vector" value="0x166FD0C" /> <Group name="creature"> <Group name="advanced"> <Offset name="artifact_name" value="0x6D4" /> <Offset name="soul_vector" value="0x0740" /> <Offset name="current_soul" value="0x0758" /> <Offset name="labors" value="0x774" /> <Offset name="happiness" value="0x834" /> </Group> </Group> </Group> <Group name="Materials"> <Address name="inorganics" value="0x16B0D4C" /><!--inorganics vector = WORLD + 0x54B7C = 0x16B0D4C--> <Address name="organics_all" value="0x16B0D64" /><!--WORLD + 0x54B94--> <Address name="organics_plants" value="0x16B0D7C" /><!--plant matter, WORLD + 0x54BAC--> <Address name="organics_trees" value="0x16B0DAC" /><!--just wood, WORLD + 0x54BDC--> <Address name="creature_type_vector" value="0x16B0EA0" /><!--WORLD + 0x54CD0--> <Address name="other" value="0x16BA114" /> <Group name="descriptors"> <Address name="vectors_start" value="0x16B9780" /> <Offset name="rawname" value="0x0" /> <Offset name="name" value="0x4C" /> <Address name="colors_vector" value="0x16B9768" /> <Offset name="color_r" value="0x6C" /><!--floats !--> <Offset name="color_v" value="0x70" /> <Offset name="color_b" value="0x74" /> <Address name="all_colors_vector" value="0x16B9798" /><!--A list of all colors, including eyes and stuff--> </Group> </Group> <Group name="Constructions"> <Address name="vector" value="0x165C2D8" /><!--WORLD + 0x108--> </Group> <Group name="Translations"> <Address name="language_vector" value="0x016B1020" /><!--WORLD + 0x54E50--> <Address name="translation_vector" value="0x16B1050" /><!--WORLD + 0x54E80--> </Group> <Group name="Vegetation"> <Address name="vector" value="0x1671354" /><!--WORLD + 0x15184--> </Group> <Group name="Buildings"> <Address name="buildings_vector" value="0x16709E8" /><!--WORLD + 0x14818--> <Address name="custom_workshop_vector" value="0x16B97E0" /><!--WORLD + 0x5D610--> </Group> <Group name="Items"> <Address name="items_vector" value="0x166FE00" /> List of offsets in the VTable : <Offset name="item_type_accessor" value="0x0" /> <Offset name="item_subtype_accessor" value="0x4" /> <Offset name="item_subindex_accessor" value="0x8" /> <Offset name="item_index_accessor" value="0xC" /> <Offset name="item_quality_accessor" value="0x238" /> <Offset name="item_improvement_vector" value="0xA0" /> <Offset name="item_improvement_subindex" value="0x4" /> <Offset name="item_improvement_index" value="0x8" /> <Offset name="item_improvement_quality" value="0x14" /> <Offset name="item_type_accessor" value="0x14" /> (in the vtable) </Group> <Group name="World"> <Address name="current_tick" value="0x0e47e08" /> <Address name="current_year" value="0x0e79f00" /> </Group> </Offsets> </Version> <Version name="v0.31.04 SDL" os="windows" base="v0.31.03 legacy"> <MD5 value="655a895c5b90d15eb9bb71e28c6c62e5" /> <PETimeStamp value="0x4bf014fa" /> <Offsets> <Group name="Creatures"> <Address name="vector" value="0x167870C" /> </Group> <Group name="Materials"> <Address name="inorganics" value="0x16BD0B0" /> <!--<Address name="other" value="0x16C6478" />--> <Address name="organics_all" value="0x16BD0C8" /> <Address name="organics_plants" value="0x16bd0e0" /> <Address name="organics_trees" value="0x16bd110" /> <Address name="creature_type_vector" value="0x16BD204" /> <Address name="other" value="0x16C6478"/> <Group name="descriptors"> <Address name="colors_vector" value="0x16C5ACC" /> <Address name="vectors_start" value="0x16C5AE4" /> <Address name="all_colors_vector" value="0x16C5AFC" /> </Group> </Group> <Group name="Translations"> <Address name="language_vector" value="0x16BD384" /> <Address name="translation_vector" value="0x16BD3B4" /> </Group> <Group name="World"> <Address name="current_tick" value="0xE78780" /> <Address name="current_year" value="0xEAA878" /> </Group> <Group name="Maps"> <Address name="map_data" value="0x016BAAC4" /> <Address name="x_count_block" value="0x016BAAE4" /> <Address name="y_count_block" value="0x016BAAE8" /> <Address name="z_count_block" value="0x016BAAEC" /> <Address name="x_count" value="0x016BAAF0" /> <Address name="y_count" value="0x016BAAF4" /> <Address name="z_count" value="0x016BAAF8" /> <Address name="region_x" value="0x016BAAFC" /> <Address name="region_y" value="0x016BAB00" /> <Address name="region_z" value="0x016BAB04" /> <Address name="world_size_x" value="0x16BC180" /> <Address name="world_size_y" value="0x16BC182" /> <Group name="features"> <Group name="global"> <Address name="vector" value="0x16BC8A8" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x16BC974" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x16BC8D8" /> <Address name="ptr2_region_array" value="0x16BC920" /> </Group> </Group> <Group name="Constructions"> <Address name="vector" value="0x1664CD8" /> </Group> <Group name="Vegetation"> <Address name="vector" value="0x1679D54" /> </Group> <Group name="Buildings"> <Address name="buildings_vector" value="0x16793e8" /> </Group> <Group name="Items"> <Address name="items_vector" value="0x1678800" /> </Group> <Group name="Position"> <Address name="window_dims" value="0x18030fc" /> <Address name="window_x" value="0xe640dc" /> <Address name="window_y" value="0xe921b0" /> <Address name="window_z" value="0xe9218c" /> <Address name="cursor_xyz" value="0xae92c8" /> </Group> </Offsets> </Version> <Version name="v0.31.05 SDL" os="windows" base="v0.31.04 SDL" rebase="0x8010"> <MD5 value="394ff63fc00fedd5df0b36e4beb589bc" /> <PETimeStamp value="0x4c091569" /> <Offsets> <Group name="Creatures"> <Address name="current_race" value="0x014abee4" /> <Address name="current_civ" value="0x01471FB0" /> BOGUS! </Group> <Group name="Position"> <Address name="window_x" value="0xe6c0dc" /> <Address name="window_y" value="0xe9a1b0" /> <Address name="window_z" value="0xe9a18c" /> <Address name="cursor_xyz" value="0xaf12cc" /> </Group> <Group name="World"> <Address name="current_tick" value="0xE80780" /> <Address name="current_year" value="0xEB2878" /> </Group> </Offsets> </Version> <Version name="v0.31.06 SDL" os="windows" base="v0.31.05 SDL" rebase="0x10"> <MD5 value="c4b7e37dafa2716e31d29110968ac64e" /> <PETimeStamp value="0x4c0f83d5" /> <Group name="Position"> <Address name="cursor_xyz" value="0xaf12d0" /> </Group> </Version> <Version name="v0.31.07 SDL" os="windows" base="v0.31.06 SDL" rebase="0x2000"> <MD5 value="1c0b5254af1b8ff9a34b51c3f6609da3" /> <PETimeStamp value="0x4c1cbe4b" /> <Offsets> <Group name="Position"> <Address name="cursor_xyz" value="0xaf32d8" /> </Group> </Offsets> </Version> <Version name="v0.31.08 SDL" os="windows" base="v0.31.07 SDL" rebase="-0x1000"> <MD5 value="a83e6b21307cf41fb54c315fa40dec86" /> <PETimeStamp value="0x4c1d69fe" /> <Offsets> <Group name="Creatures"> <Address name="current_civ" value="0x14acee8" /> </Group> </Offsets> </Version> <Version name="v0.31.09 SDL" os="windows" base="v0.31.08 SDL" rebase="0xD028" > <MD5 value="1a85839ab03df082974dc5629d3fbc26" /> <PETimeStamp value="0x4C3897C0" /> <Offsets> <Group name="Position"> <Address name="cursor_xyz" value="0xaff2d8" /> </Group> <Group name="Creatures"> <Address name="vector" value="0x168E73C" /> <Group name="creature"> <Group name="advanced"> <Offset name="inventory_vector" value="0x2FC" /> <Offset name="physical" value="0x4AC" /> <Offset name="appearance_vector" value="0x64c" /> <!-- Maybe slightly wrong --> <Offset name="artifact_name" value="0x71c" /> <Offset name="labors" value="0x7Bc" /> <Offset name="soul_vector" value="0x0788" /> <Offset name="current_soul" value="0x07A0" /> <Offset name="happiness" value="0x87c" /> </Group> </Group> </Group> </Offsets> </Version> <Version name="v0.31.10 SDL" os="windows" base="v0.31.09 SDL"> <MD5 value="349d1ad6eda7b6c5e87f8e4726a0999a" /> <PETimeStamp value="0x4C398089" /> </Version> <Version name="v0.31.11 SDL" os="windows" base="v0.31.10 SDL" rebase="0x7018"> <MD5 value="552cfa417fd131204ebfee66aefc4adb" /> <PETimeStamp value="0x4C496D93" /> <Offsets> <Group name="Position"> <Address name="cursor_xyz" value="0xB062D8" /> <Address name="window_x" value="0xe81114" /> <Address name="window_y" value="0xeAF1E8" /> <Address name="window_z" value="0xeAF1C4" /> </Group> </Offsets> </Version> <Version name="v0.31.12 SDL" os="windows" base="v0.31.11 SDL"> <MD5 value="f0459165a426a9f2dd8d957e9fa7f01d" /> <PETimeStamp value="0x4C4C32E7" /> <Offsets> <Group name="Position"> <Address name="screen_tiles_pointer" value="0x18313D0" /> </Group> <Group name="World"> <Address name="current_tick" value="0xde8910" /> MAYBE <Address name="current_year" value="0xec78b0" /> <!--<Address name="current_weather" value="0x14BCDEE" />--> </Group> </Offsets> </Version> <Version name="v0.31.13 SDL" os="windows" base="DF2010"> <MD5 value="59f194b0b2103ca5df7601a01ce21280" /> <PETimeStamp value="0x4C90ADA8" /> <VTable> <multiclass name="building_trapst" typeoffset="0xF8" /> <multiclass name="building_workshopst" typeoffset="0xF8" /> <multiclass name="building_furnacest" typeoffset="0x10A" /> <multiclass name="building_siegeenginest" typeoffset="0xF8" /> </VTable> <Offsets> <Address name="WORLD" value="0x016425A0" /> <Group name="vector"> <HexValue name="sizeof" value="0x10" /> <Offset name="start" value="0x0" /> <!-- Vector layout in MSVC 10: DWORD Start DWORD End DWORD AllocationEnd DWORD ? NOT FINAL, needs research --> </Group> <Group name="string"> <HexValue name="sizeof" value="0x1C" /> <Group name="MSVC"> <Offset name="buffer" value="0x0" /> <Offset name="size" value="0x10" /> <Offset name="capacity" value="0x14" /> </Group> </Group> <Group name="name"> <Offset name="first" value="0x0" /> <Offset name="nick" value="0x1C" /> <Offset name="second_words" value="0x38" /> </Group> <Group name="Position"> <Address name="cursor_xyz" value="0xac77f0" /> <Address name="window_x" value="0xe42c74" /> <Address name="window_y" value="0xe70d48" /> <Address name="window_z" value="0xe70d24" /> <Address name="screen_tiles_pointer" value="0x01480684" /><!-- BAD, not a pointer! --> <Address name="window_dims" value="0xac807c" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x147E971" /> </Group> <Group name="World"> <Address name="current_weather" value="0x147E948" /> </Group> <Group name="Vegetation"> <Address name="vector" value="0x1656EFC" /> </Group> <Group name="Maps"> <Address name="map_data" value="0x1697bdC" /> <Address name="x_count_block" value="0x1697bf4" /> <Address name="y_count_block" value="0x1697bf8" /> <Address name="z_count_block" value="0x1697bfc" /> <Address name="x_count" value="0x1697c00" /> <Address name="y_count" value="0x1697c04" /> <Address name="z_count" value="0x1697c08" /> <Address name="region_x" value="0x1697c0C" /> <!--WORLD + 0x525C8--> <Address name="region_y" value="0x1697c10" /> <!--WORLD + 0x525CC--> <Address name="region_z" value="0x1697c14" /> <!--WORLD + 0x525D0--> <Address name="world_size_x" value="0x1699290" /> <Address name="world_size_y" value="0x1699292" /> <Group name="block"> <Offset name="vein_vector" value="0x08" /> <Offset name="feature_local" value="0x24" /> <Offset name="feature_global" value="0x28" /> <Offset name="vegetation_vector" value="0x60" /> <Offset name="type" value="0x7A" /> <Offset name="designation" value="0x27C" /> <Offset name="occupancy" value="0x67C" /> <Offset name="temperature1" value="0x157C" /> <Offset name="temperature2" value="0x177C" /> <Offset name="biome_stuffs" value="0x1D7C" /> <Offset name="pathfinding" value="0x0D7c" /> </Group> <Group name="features"> <Group name="global"> <Address name="vector" value="0x16998e0" /> <Offset name="funcptr" value="0xD8" /> <Offset name="material" value="0x2C" /> <Offset name="submaterial" value="0x30" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x1699974" /> <Offset name="material" value="0x28" /> <Offset name="submaterial" value="0x2C" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x1699900" /> <Address name="ptr2_region_array" value="0x1699930" /> <HexValue name="region_size" value="0x5C" /> <Offset name="region_geo_index_off" value="0x58" /> <Offset name="geolayer_geoblock_offset" value="0x4" /> vector <Offset name="type_inside_geolayer" value="0x4" /> vector </Group> </Group> <Group name="Materials"> YES <Address name="inorganics" value="0x1699f18" /> <Address name="organics_all" value="0x1699f28" /> <Address name="organics_trees" value="0x1699f58" /> <Address name="organics_plants" value="0x1699f38" /> <Address name="creature_type_vector" value="0x1699ffC" /> <Address name="other" value="0x16C647C" /> NO! <Group name="creature"> <Offset name="caste_vector" value="0x128" /> YES <Offset name="extract_vector" value="0x1A08" /> YES <Offset name="tile" value="0xE0" /> YES <Offset name="tile_color" value="0xF6" /> YES <Group name="caste"> <Offset name="bodypart_vector" value="0x51C" /> YES <Offset name="attributes" value="0x5FC" /> MAYBE <Offset name="color_modifiers" value="0xA24" /> YES </Group> <Group name="caste_color_mods"> YES <Offset name="part" value="0x50" /> <Offset name="startdate" value="0x44" /> <Offset name="enddate" value="0x48" /> </Group> <Group name="caste_bodyparts"> YES <Offset name="id" value="0x0" /> <Offset name="category" value="0x1C" /> <Offset name="layers_vector" value="0x44" /> <Offset name="singular_vector" value="0x70" /> <Offset name="plural_vector" value="0x80" /> </Group> </Group> <Group name="descriptors"> <!--<Address name="vectors_start" value="0x16B9780" />--> this is crap it seems <Offset name="rawname" value="0x0" /> <Offset name="name" value="0x3C" /> <Address name="colors_vector" value="0x169fb2c" /> <Offset name="color_r" value="0x5C" /> <Offset name="color_v" value="0x60" /> <Offset name="color_b" value="0x64" /> <Address name="all_colors_vector" value="0x169fb4c" /> </Group> </Group> <Group name="Constructions"> <Address name="vector" value="0x1642650"/> <Offset name="sizeof" value="0x14" /> </Group> <Group name="Translations"> <Address name="language_vector" value="0x169a0fC"/> <Address name="translation_vector" value="0x169a11C"/> <Offset name="word_table" value="0x3c"/> </Group> <Group name="Creatures"> <Address name="vector" value="0x01655fe4"/> <Address name="current_race" value="0x1482874" /> <Address name="current_civ" value="0x1482868" /> <Group name="creature"> <Offset name="name" value="0x0" /> <Offset name="custom_profession" value="0x006C" /> <Offset name="profession" value="0x0088" /> <Offset name="race" value="0x008C" /> <Offset name="position" value="0x90" /> <Offset name="flags1" value="0x00E0" /> <Offset name="flags2" value="0x00E4" /> <Offset name="caste" value="0x00F8"/> <Offset name="sex" value="0x00FA" /> <!-- ASSUMED --> <Offset name="id" value="0x00FC" /> <Offset name="civ" value="0x108" /> <Group name="advanced"> <Offset name="pickup_equipment_bit" value="0x01BC" /> <Offset name="mood" value="0x210" /> <Offset name="pregnancy" value="0x214" /> <Offset name="pregnancy_ptr" value="0x218" /> <Offset name="birth_year" value="0x220" /> <Offset name="birth_time" value="0x224" /> <Offset name="inventory_vector" value="0x284" /> <Offset name="current_job" value="0x02F0" /> <Offset name="current_job_skill" value="0x02F4" /> <Offset name="physical" value="0x3C4" /> <Offset name="appearance_vector" value="0x524" /> <Offset name="artifact_name" value="0x5D4" /> <Offset name="soul_vector" value="0x640" /> <Offset name="current_soul" value="0x650" /> <Offset name="labors" value="0x0664" /> <Offset name="happiness" value="0x0704" /> </Group> </Group> <Group name="soul"> <Offset name="name" value="0x4" /> <Offset name="mental" value="0x88" /> <Offset name="skills_vector" value="0x1F4 0x01F0" /> <Offset name="traits" value="0x0214" /> is it a vector? </Group> <Group name="job"> <Offset name="id" value="0x08" /> </Group> </Group> <Group name="Vegetation"> <Offset name="tree_desc_offset" value="0x6C"/> </Group> <Group name="Buildings"> <Address name="buildings_vector" value="0x1656890"/> <Offset name="building_custom_workshop_type" value="0x11C" /> <Offset name="custom_workshop_name" value="0x4" /> <Offset name="custom_workshop_type" value="0x20" /> <Address name="custom_workshop_vector" value="0x0169fB6C" /> Second possible: 0x0169fb7C </Group> </Offsets> </Version> <Version name="v0.31.14 SDL" os="windows" base="v0.31.13 SDL" rebase="0x1000"> <PETimeStamp value="0x4C9B6EFB" /> <MD5 value="2da156d1fbaf8192ede9ce91abc5f366" /> <Offsets> <Group name="Maps"> <Group name="features"> <Group name="global"> <Address name="vector" value="0x169a8ec" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x169a980" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x169a90C" /> <Address name="ptr2_region_array" value="0x169a93C" /> </Group> </Group> <Group name="Translations"> <Address name="language_vector" value="0x169b108"/> <Address name="translation_vector" value="0x169b128"/> </Group> <Group name="Materials"> <Address name="inorganics" value="0x169af24" /> <Address name="organics_all" value="0x169af34" /> <Address name="organics_trees" value="0x169af64" /> <Address name="organics_plants" value="0x169af44" /> <Address name="creature_type_vector" value="0x169b008" /> <!--<Address name="other" value="0x16C647C" /> NO!--> <Group name="descriptors"> <Address name="colors_vector" value="0x16a0b38" /> <Address name="all_colors_vector" value="0x16a0b58" /> </Group> </Group> <Group name="Buildings"> <Address name="custom_workshop_vector" value="0x016A0B78" /> Second possible: 0x016a0b88 </Group> </Offsets> </Version> <Version name="v0.31.15 SDL" os="windows" base="v0.31.14 SDL"> <PETimeStamp value="0x4CA869EA" /> <MD5 value="b4d188dfb592fc813dad31f45407991d" /> </Version> <Version name="v0.31.16 SDL" os="windows" base="v0.31.15 SDL" rebase="0x1050"> <PETimeStamp value="0x4CA9D544" /> <MD5 value="702b3ebaae468f73eb1411af54863013" /> <Offsets> <Group name="Materials"> <Address name="other" value="0x16A21FC"/> 0x16445F0 + 0x5DC0C see code at 0x9CFB01 </Group> <Group name="Creatures"> <Address name="current_civ" value="0x1484868" /> <Address name="current_race" value="0x1484874" /> </Group> <Group name="Position"> <Address name="cursor_xyz" value="0xac97f0" /> <!--<Address name="screen_tiles_pointer" value="0x14826d4" />--> AS BOGUS AS IT GETS <Address name="window_dims" value="0xaca07c" /> <Address name="window_x" value="0xE44C74" /> <Address name="window_y" value="0xE72D48" /> <Address name="window_z" value="0xe72d24" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x1480971" /> </Group> <Group name="World"> <Address name="current_tick" value="0xdac470" /> MAYBE <Address name="current_year" value="0xe8b410" /> <Address name="current_weather" value="0x1480948" /> </Group> <Group name="Items"> <Address name="items_vector" value="0x16580d8" /> <Offset name="item_type_accessor" value="0x0" /> <Offset name="item_subtype_accessor" value="0x4" /> <Offset name="item_subindex_accessor" value="0x8" /> <Offset name="item_index_accessor" value="0xC" /> <Offset name="item_quality_accessor" value="0x238" /> <Offset name="item_improvement_vector" value="0x90" /> </Group> </Offsets> </Version> <Version name="v0.31.18 SDL" os="windows" base="v0.31.16 SDL" rebase="0x492D0"> <PETimeStamp value="0x4CE2841D" /> <MD5 value="b7be6b9db369d6adb72319dcf780f9f5" /> <Offsets> <Address name="WORLD" valid="false" /> <Group name="Buildings"> <Address name="buildings_vector" value="0x16a1be0" /> <Address name="custom_workshop_vector" value="0x16eaca0" /> </Group> <Group name="Position" valid="false"> <Address name="cursor_xyz" value="0xb127f0" valid="true" /> <Address name="window_dims" value="0xb1307c" valid="true" /> <Address name="window_x" value="0xe8dee4" valid="true" /> <Address name="window_y" value="0xebbfb8" valid="true" /> <Address name="window_z" value="0xebbf94" valid="true" /> </Group> <Group name="GUI" valid="false"> <Address name="pause_state" value="0x14c9be1" valid="true" /> </Group> <Group name="Maps"> <Group name="features"> <Group name="global"> <Address name="vector" value="0x16e4c30" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x16e4cc4" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x16E4C50" /> <Address name="ptr2_region_array" value="0x16E4C80" /> </Group> </Group> <Group name="Creatures" valid="false" > 0x016a12c0 vector </Group> <Group name="Materials" valid="false" > <Address name="creature_type_vector" value="0x16E533C" valid="true" /> MAYBE... THE DETAILS WILL BE DIFFERENT <Address name="inorganics" value="0x16e527C" valid="true" /> <!--<Address name="inorganics_gems?" value="0x16e528C" valid="true" />--> WTF IS THIS, I DON'T EVEN... <Address name="organics_all" value="0x16e529C" valid="true" /> <Address name="organics_plants" value="0x16e52AC" valid="true" /> <Address name="organics_trees" value="0x16e52CC" valid="true" /> </Group> <Group name="Constructions"> <Address name="vector" value="0x168d930"/> </Group> <Group name="Translations"> <Address name="language_vector" value="0x016e553c"/> <Address name="translation_vector" value="0x016e551c"/> </Group> <!-- <Group name="Vegetation" valid="false"> <Address name="vector"/> <Offset name="tree_desc_offset" valid="true"/> </Group> --> <Group name="Items" valid="false"> <!-- most of those seem completely unused! --> <Address name="items_vector" /> List of offsets in the VTable : <Offset name="item_type_accessor" /> <Offset name="item_subtype_accessor" /> <Offset name="item_subindex_accessor" /> <Offset name="item_index_accessor" /> <Offset name="item_quality_accessor" /> <Offset name="item_improvement_vector" /> <Offset name="item_improvement_subindex" /> <Offset name="item_improvement_index" /> <Offset name="item_improvement_quality" /> <Offset name="item_type_accessor" /> (in the vtable) </Group> <Group name="World" valid="false"> <Address name="current_tick" description="Current time of the year" /> <Address name="current_year" description="Current year" /> <Address name="current_weather" value="0x14c9bb8" valid="true" /> </Group> </Offsets> </Version> <Version name="v0.31.19 SDL" os="windows" base="v0.31.18 SDL"> <PETimeStamp value="0x4D5BC345" /> <MD5 value="b7d1ff74835e5e8220a7e81e31f5a28d" /> <Offsets valid="false"> <Group name="string" valid="true" /> <Group name="vector" valid="true" /> <Group name="name" valid="true" /> <Group name="Position" valid="false"> <Address name="cursor_xyz" value="0xb4a7f0" valid="true" /> <Address name="window_dims" value="0xb4b07c" valid="true" /> <Address name="window_x" value="0xec6984" valid="true" /> <Address name="window_y" value="0xef4ba0" valid="true" /> <Address name="window_z" value="0xef4b7c" valid="true" /> </Group> <Group name="Creatures" valid="true"> <Address name="current_civ" value="0x01506c1C" /> maybe <Address name="current_race" value="0x01506c28" /> <Address name="vector" value="0x016da47C" /> <Group name="creature"> <Group name="advanced"> <!-- <Offset name="pregnancy" value="0x214" /> maybe? <Offset name="pregnancy_ptr" value="0x218" /> maybe? --> <Offset name="birth_year" value="0x224" /> <Offset name="birth_time" value="0x228" /> <Offset name="inventory_vector" value="0x288" /> <Offset name="current_job" value="0x2f4" /> <Offset name="current_job_skill" value="0x2f8" /> THIS IS TOTAL BS <Offset name="physical" value="0x3cc" /> DT: 0x3C4, I don't believe that's OK' <Offset name="appearance_vector" value="0x52C" /> DT calls it 'states' it seems <Offset name="artifact_name" value="0x5E0" /> maybe <Offset name="soul_vector" value="0x64c" /> <Offset name="current_soul" value="0x65c" /> <Offset name="labors" value="0x670" /> <Offset name="happiness" value="0x710" /> </Group> </Group> <Group name="job" valid="false"> <Offset name="id" valid="true" /> <Offset name="materials_vector" /> MISSING! <Offset name="type" /> MISSING! <Group name="material"> <Offset name="flags" /> MISSING! <Offset name="maintype" /> MISSING! <Offset name="sectype1" /> MISSING! <Offset name="sectype2" /> MISSING! <Offset name="sectype3" /> MISSING! </Group> </Group> </Group> <Group name="Maps" valid="true"> <Address name="map_data" value="0x171C128" /> <Address name="x_count_block" value="0x171c140" /> <Address name="y_count_block" value="0x171c144" /> <Address name="z_count_block" value="0x171c148" /> <Address name="x_count" value="0x171c14C" /> <Address name="y_count" value="0x171c150" /> <Address name="z_count" value="0x171c154" /> <Address name="region_x" value="0x171c158" /> <Address name="region_y" value="0x171c15C" /> <Address name="region_z" value="0x171c160" /> TODO: it's signed! <Address name="world_size_x" value="0x171d7e4" /> <Address name="world_size_y" value="0x171d7e6" /> <Group name="features"> <Group name="global"> <Address name="vector" value="0x171de84" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x171df18" /> </Group> </Group> <Group name="geology"> LOOKS FINE? <Address name="geoblock_vector" value="0x171dea4" /> <Address name="ptr2_region_array" value="0x171ded4" /> <HexValue name="region_size" value="0x5c" /> </Group> </Group> <Group name="Materials" valid="false" > <Address name="creature_type_vector" value="0x171e880" valid="true" /> <Address name="inorganics" value="0x171e790" valid="true" /> <Address name="organics_all" value="0x171e7B0" valid="true" /> <Address name="organics_plants" value="0x171e7C0" valid="true" /> <Address name="organics_trees" value="0x171e7E0" valid="true" /> <Address name="other" value="0x17248F8" valid="true" /> <Group name="creature" valid="true"> <Offset name="extract_vector" value="0x2054" /> maybe: 0x2064 before:0x1a08 <Group name="caste" valid="true"> <Offset name="attributes" value="0xd40 0x5fc" /> looks kinda funny, same as in .16 <Offset name="bodypart_vector" value="0x530 0x51c" />OK <Offset name="color_modifiers" value="0x1168 0xa24" /> OK </Group> </Group> <Group name="descriptors" valid="true"> <Address name="all_colors_vector" value="0x17241e4" /> <Address name="colors_vector" value="0x17241c4" /> </Group> </Group> <Group name="GUI" valid="false"> <Address name="pause_state" valid="true" /> </Group> <Group name="Vegetation" valid="true"> <Address name="vector" value="0x16db478" /> </Group> <Group name="Constructions" valid="true"> <Address name="vector" value="0x16c6ae8" /> </Group> <Group name="Buildings" valid="true"> <Address name="buildings_vector" value="0x16dad78" valid="true" /> One of those really. Which one is the right one? 0x16dad78 0x16dad88 <Address name="custom_workshop_vector" value="0x1724204" valid="true" /> </Group> <Group name="World" valid="true"> <Address name="current_tick" value="0xe2e180" /> maybe <Address name="current_year" value="0xf0d268" /> <Address name="current_weather" value="0x15027A0" /> <Address name="control_mode" value="0xb4a814" /> <Address name="game_mode" value="0xb4a818" /> <Address name="control_mode_copy" value="0xe2e2a2" /> fortress = 0, adventure = 1, arena = 0, menu and legends = 3 0xb4a814 Game mode: 0xb4a818 . fortress = 0, adventure = 1, arena = 4 0xe2e2a2 seems to be a copy of the first one </Group> <Group name="Translations" valid="true"> <Address name="language_vector" value="0x0171ea94"/> <Address name="translation_vector" value="0x0171eab4"/> </Group> <!-- <Group name="Items" valid="false"> <Address name="items_vector" /> List of offsets in the VTable : <Offset name="item_type_accessor" /> <Offset name="item_subtype_accessor" /> <Offset name="item_subindex_accessor" /> <Offset name="item_index_accessor" /> <Offset name="item_quality_accessor" /> <Offset name="item_improvement_vector" /> <Offset name="item_improvement_subindex" /> <Offset name="item_improvement_index" /> <Offset name="item_improvement_quality" /> <Offset name="item_type_accessor" /> (in the vtable) </Group> --> </Offsets> </Version> <Version name="v0.31.20 SDL" os="windows" base="v0.31.19 SDL" rebase="0x6000" > <PETimeStamp value="0x4D734FB5" /> <MD5 value="5e2725ae9e87ff504ef0b1dcf52f059d" /> <Offsets> <Group name="Materials"> <Address name="creature_type_vector" value="0x1724020" /> <Address name="inorganics" value="0x1723f30" /> <Address name="organics_all" value="0x1723f50" /> <Address name="organics_plants" value="0x1723f60" /> <Address name="organics_trees" value="0x1723f80" /> <Address name="other" value="0x172A098" /> <Group name="descriptors"> <Address name="all_colors_vector" value="0x1729984" /> <Address name="colors_vector" value="0x1729964" /> </Group> <Group name="creature"> I'M NOT SURE ABOUT THESE <!-- <Offset name="caste_vector" value="0x128" /> <Offset name="extract_vector" value="0x2054" /> <Offset name="tile" value="0xe0" /> <Offset name="tile_color" value="0xf6" /> --> <Group name="caste"> <Offset name="attributes" value="0xdbc" /> LOOKS LIKE CRAP, but seems to work anyway <Offset name="bodypart_vector" value="0x5ac" /> <Offset name="color_modifiers" value="0x11e4" /> </Group> </Group> 0x530 71389344 + 0x5ac </Group> "region1" = 0x18639d8 some features vector = 0x18639f8 ? <Group name="Maps"> <Address name="world_data" value="0x1723758" /> 0x16cca38 + 0x56d20 <Address name="world_size_x" valid="false" /> <Address name="world_size_y" valid="false" /> <Offset name="world_size_x_from_wdata" value="0x8C" /> <Offset name="world_size_y_from_wdata" value="0x8E" /> <Group name="features"> <Group name="global"> <Address name="vector" valid="false"/> <Offset name="vector_from_wdata" value="0x180" /> </Group> <Group name="local"> <Address name="start_ptr" valid="false" /> <Offset name="start_ptr_from_wdata" value="0x204" /> </Group> </Group> <Group name="geology"> <Offset name="geoblock_vector_from_wdata" value="0x190" /> maybe <Offset name="ptr2_region_array_from_wdata" value="0x1C0" /> maybe <Address name="geoblock_vector" valid="false" /> <Address name="ptr2_region_array" valid="false" /> </Group> </Group> <Group name="Translations"> <Address name="language_vector" value="0x01724234" /> <Address name="translation_vector" value="0x01724254" /> </Group> <Group name="Buildings"> <Address name="custom_workshop_vector" value="0x17299b4" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x15087c9" /> </Group> </Offsets> </Version> <Version name="v0.31.21 SDL" os="windows" base="v0.31.20 SDL" > <PETimeStamp value="0x4D743DA7" /> <MD5 value="3aadcbd781f7d70d5ee552b92c03bc6b" /> </Version> .-"""-. ' \ |,. ,-. | _________________________ |()L( ()| | \ \ |,' `".| | /_ Argh !!! \ |.___.',| ` \________________________\ .j `--"' ` `. / ' ' \ / / ` `. / / ` . / / l | . , L I N U X | | ,"`. .| | _.' ``. | `..-'l | `.`, | `. | `. __.j ) |__ |--""___| ,-' `"--...,+"""" `._,.-' <!-- Windows logo by Microsoft --> <!-- Tux logo by the Linux guys :) --> <Version name="v0.31.05 linux" os="linux" base="DF2010"> <MD5 value="fea3801a26538b1741f3cc9294139fca" /> <Offsets> <Address name="WORLD" value="0x92C60E0" valid="false" /> <Group name="vector"> <HexValue name="sizeof" value="0xC" /> <Offset name="start" value="0x0" /> <!-- Vector layout in lidstdc++: DWORD Start DWORD End DWORD AllocationEnd --> </Group> <Group name="string"> <HexValue name="sizeof" value="0x4" /> </Group> <Group name="name"> <Offset name="first" value="0x0" /> <Offset name="nick" value="0x4" /> <Offset name="second_words" value="0x8" /> </Group> <Group name="Position"> <Address name="window_x" value="0x8cc9b38" /> <Address name="window_y" value="0x8cc9b3c" /> <Address name="window_z" value="0x8cc9b40" /> <Address name="cursor_xyz" value="0x8b0d36c" /> <Address name="window_dims" value="0x945ad8c" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x92bf73c" /> </Group> <Group name="Maps"> <Address name="map_data" value="0x9318D40" /> <Address name="x_count_block" value="0x9318D54" /> <Address name="y_count_block" value="0x9318D58" /> <Address name="z_count_block" value="0x9318D5C" /> <Address name="x_count" value="0x9318D60" /> <Address name="y_count" value="0x9318D64" /> <Address name="z_count" value="0x9318D68" /> <Address name="region_x" value="0x9318D6C" /> <Address name="region_y" value="0x9318D70" /> <Address name="region_z" value="0x9318D74" /> <Address name="world_size_x" value="0x931A3C0" /> <Address name="world_size_y" value="0x931A3C2" /> <Group name="block"> <Offset name="vein_vector" value="0x08" /> <Offset name="feature_local" value="0x20" /> <Offset name="feature_global" value="0x24" /> <Offset name="vegetation_vector" value="0x54" /> <Offset name="type" value="0x006A" /> <Offset name="designation" value="0x026C" /> <Offset name="occupancy" value="0x066c" /> <Offset name="temperature1" value="0x156c" /> <Offset name="temperature2" value="0x176c" /> <Offset name="biome_stuffs" value="0x1D6C" /> <Offset name="pathfinding" value="0x0D6c" /> </Group> <Group name="features"> <Group name="global"> <Address name="vector" value="0x931A95C" /> <Offset name="funcptr" value="0x94" /> <Offset name="material" value="0x28" /> <Offset name="submaterial" value="0x2C" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x931A9D4" /> <Offset name="material" value="0x24" /> <Offset name="submaterial" value="0x28" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x931A974" /> <Address name="ptr2_region_array" value="0x931A998" /> <!-- values for the region structure --> <HexValue name="region_size" value="0x58" /> <Offset name="region_geo_index_off" value="0x54" /> <!-- geoblock offset(s?) --> <Offset name="geolayer_geoblock_offset" value="0x4" /> vector <Offset name="type_inside_geolayer" value="0x4" /> vector </Group> </Group> <Group name="Creatures"> <Address name="vector" value="0x92D9AC0" /> <Address name="current_race" value="0x92C1628" /> <Address name="current_civ" value="0x92C161C" /> <Group name="creature"> <Offset name="name" value="0x0" /> <Offset name="custom_profession" value="0x3c" /> <Offset name="profession" value="0x40" /> <Offset name="race" value="0x44" /> <Offset name="position" value="0x48" /> <Offset name="flags1" value="0x8C" /> <Offset name="flags2" value="0x90" /> <Offset name="caste" value="0xA4" /> <Offset name="sex" value="0xA6" /> <Offset name="id" value="0xA8" /> <Offset name="civ" value="0xB4" /> <Group name="advanced"> <Offset name="pickup_equipment_bit" value="0x144" /> CHMOD <Offset name="mood" value="0x18C" valid="false" /> VERIFY! <Offset name="birth_year" value="0x19C" /> <Offset name="birth_time" value="0x1A0" /> <Offset name="current_job" value="0x258" /> chmod <Offset name="current_job_skill" value="0x394" /> <Offset name="physical" value="0x464" /> <Offset name="appearance_vector" value="0x604" valid="false" /> <Offset name="artifact_name" value="0x6D4" valid="false" /> <Offset name="soul_vector" value="0x0500" /> <Offset name="current_soul" value="0x0758" valid="false" /> <Offset name="labors" value="0x51C" /> <Offset name="happiness" value="0x5AC" /> </Group> </Group> <!-- The vector is bad. <Group name="soul" valid="verify"> <Offset name="name" value="0x0" /> <Offset name="mental" value="0x88" /> <Offset name="skills_vector" value="0x1C4" /> CHMOD <Offset name="traits" value="0x1DC" /> </Group> --> <!-- <Group name="job"> <Offset name="id" value="0x0" /> Incrementaly assigned <Offset name="type" value="0x8" /> seems to be just like the old occupations <Offset name="materials_vector" value="0xa4" /> <Group name="material"> <Offset name="maintype" value="0x0" /> like mood materials, 0=bars, 4=stone, 5=wood, 57=cloth, 54=leather ... <Offset name="sectype1" value="0x2" /> subsubtype ? <Offset name="sectype2" value="0x4" /> subtype ? <Offset name="sectype3" value="0x8" /> index of material (for example, 2 is for silver) <Offset name="flags" value="0x18" /> set only for shell / bone mood requirements ? </Group> </Group> --> </Group> <Group name="Materials"> <Address name="inorganics" value="0x931ae88" /><!-- WORLD + 0x54B7C --> <Address name="organics_all" value="0x931ae94" /><!-- wood and plant matter, WORLD + 0x54B94 --> <Address name="organics_plants" value="0x931aea0" /><!-- plant matter, WORLD + 0x54BAC --> <Address name="organics_trees" value="0x931aeb8" /><!-- just wood, WORLD + 0x54BDC --> <Address name="creature_type_vector" value="0x931af34" /><!-- creature types, WORLD + 0x54CD0 --> <Group name="creature"> VERIFY <Offset name="caste_vector" value="0x60" /> <Offset name="extract_vector" value="0x18f4" /> <Offset name="tile" value="0x20" /> <Offset name="tile_color" value="0x36" /> <!-- !!!! BOGUS !!!! <Group name="caste"> <Offset name="bodypart_vector" value="0x51C" /> <Offset name="attributes" value="0x654" /> <Offset name="color_modifiers" value="0xACC" /> </Group> <Group name="caste_color_mods"> <Offset name="part" value="0x70" /> <Offset name="startdate" value="0x64" /> <Offset name="enddate" value="0x68" /> </Group> <Group name="caste_bodyparts"> <Offset name="id" value="0x0" /> <Offset name="category" value="0x1C" /> <Offset name="layers_vector" value="0x44" /> <Offset name="singular_vector" value="0x78" /> <Offset name="plural_vector" value="0x90" /> </Group> --> </Group> <Group name="descriptors"> <!--<Address name="vectors_start" value="" />--><!-- search: vector of object with first object having string "STAR" as first member --> <Offset name="rawname" value="0x0" /> <Offset name="name" value="0x1C" /> <Address name="colors_vector" value="0x931f398" /> <Offset name="color_r" value="0x24" /><!--floats !--> <Offset name="color_v" value="0x28" /> <Offset name="color_b" value="0x2C" /> <Address name="all_colors_vector" value="0x931f3b0" /><!--A list of all colors, including eyes and stuff--> </Group> </Group> <Group name="Translations"> <Address name="language_vector" value="0x931aff4" /> <Address name="translation_vector" value="0x931b00c" /> <Offset name="word_table" value="0x1C" /> </Group> <Group name="World"> <Address name="current_year" value="0x92BF6A0" /> <Address name="current_tick" value="0x92BF6A8" /> </Group> </Offsets> </Version> <Version name="v0.31.06 linux" os="linux" base="v0.31.05 linux" rebase="-0x20E0"> <MD5 value="13a1c19e8f59b74e307e094e2a0f28c3" /> <Offsets> <!--<Address name="WORLD" value="0x92C4000" />--> <Group name="Position"> <Address name="cursor_xyz" value="0x8b0b328" /> VERIFIED </Group> Creatures ========= WORLD + 0x139E0 0x92d79d4 0x92d79e0 = real one? seems like it 0x92d7a10 </Offsets> </Version> <Version name="v0.31.07 linux" os="linux" base="v0.31.06 linux" rebase="0x2000"> <MD5 value="b31979551782e89c049b11db8d2d86d7" /> </Version> <Version name="v0.31.08 linux" os="linux" base="v0.31.07 linux"> <MD5 value="e37750890350d7b9d8203879aff8fa5c" /> </Version> <Version name="v0.31.09 linux" os="linux" base="v0.31.08 linux" rebase="0x11000"> <!-- TODO: fix creature offsets --> <!-- TODO: small offsets added all over the place, investigate --> <MD5 value="4f1f988bc1b425d4193d3d8b7b0579a5" /> <Offsets> <Group name="Creatures"> <Group name="creature"> VERIFY <Group name="advanced"> <Offset name="soul_vector" value="0x0524" /> <Offset name="current_soul" value="0x0530" /> <Offset name="labors" value="0x540" /> <Offset name="happiness" value="0x5d0" /> </Group> </Group> <Group name="soul"> <Offset name="name" value="0x0" /> <Offset name="mental" value="0x88" /> <Offset name="skills_vector" value="0x1C4" /> CHMOD <Offset name="traits" value="0x1DC" /> </Group> </Group> </Offsets> </Version> <Version name="v0.31.10 linux" os="linux" base="v0.31.09 linux"> <MD5 value="3e7bea269018a6fb88ef53715685aa64" /> <Offsets> <Group name="Buildings"> <Address name="buildings_vector" value="0x92eb068" /> <Offset name="building_custom_workshop_type" value="0xE0" /> <Address name="custom_workshop_vector" value="0x93302e8" /> <Offset name="custom_workshop_name" value="0x4" /> <Offset name="custom_workshop_type" value="0x8" /> </Group> </Offsets> <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> </Version> <Version name="v0.31.11 linux" os="linux" base="v0.31.10 linux" rebase="0x1D020"> <!-- BIG rebase, possible broken stuff --> <MD5 value="7b04ad536b8b657588ac209a7f95e1d1" /> <Offsets> <Group name="Position"> <Address name="window_x" value="0x8cf7a58" /> VERIFIED <Address name="window_y" value="0x8cf7a5C" /> VERIFIED <Address name="window_z" value="0x8cf7a60" /> VERIFIED <Address name="cursor_xyz" value="0x8b3b328" /> VERIFIED </Group> </Offsets> </Version> <Version name="v0.31.12 linux" os="linux" base="v0.31.11 linux" rebase="-0x1000"> <MD5 value="e79cead03187ecb692961b316b7cdcd4" /> <Offsets> <Group name="GUI"> <!-- FIXME: this could be wrong for many other versions. Investigate. --> <Address name="pause_state" value="0x92ec65c"/> </Group> <Group name="Creatures"> <Address name="current_race" value="0x092ee548" /> </Group> <Group name="Constructions"> <Address name="vector" value="0x92f30a4"/> <Offset name="sizeof" value="0x14"/> </Group> <Group name="Position"> <Address name="screen_tiles_pointer" value="0x09487970" /> </Group> <Group name="Vegetation"> <Address name="vector" value="0x9307568" /> <Offset name="tree_desc_offset" value="0x3C" /> </Group> <Group name="World"> <Address name="current_weather" value="0x92ec5aa" /> </Group> </Offsets> </Version> <Version name="v0.31.13 linux" os="linux" base="v0.31.12 linux" rebase="-0xB7A8"> <MD5 value="d6307bd39b6271ba89bbdd953d27c84d" /> <Offsets> <Group name="Buildings"> <Address name="buildings_vector" value="0x92fb8e8" /> </Group> <Group name="Constructions"> <Address name="vector" value="0x92e7904" /> </Group> <Group name="Creatures"> <Address name="current_civ" value="0x92e2d9c" /> <Address name="current_race" value="0x92e2da8" /> <Address name="vector" value="0x92fb260" /> </Group> <Group name="Maps"> <Address name="map_data" value="0x933a4E0" /> <Address name="x_count_block" value="0x933a4F4" /> <Address name="y_count_block" value="0x933a4F8" /> <Address name="z_count_block" value="0x933a4FC" /> <Address name="x_count" value="0x933a500" /> <Address name="y_count" value="0x933a504" /> <Address name="z_count" value="0x933a508" /> <Address name="region_x" value="0x933a50C" /> <Address name="region_y" value="0x933a510" /> <Address name="region_z" value="0x933a514" /> <Address name="world_size_x" value="0x933BB60" /> <Address name="world_size_y" value="0x933BB62" /> <Group name="features"> <Group name="global"> <Address name="vector" value="0x933C0FC" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x933C174" /> </Group> </Group> <Group name="geology"> <Address name="geoblock_vector" value="0x933C114" /> <Address name="ptr2_region_array" value="0x933C138" /> </Group> </Group> <Group name="Position"> <Address name="window_x" value="0x8ceb238" /> <Address name="window_y" value="0x8ceb23C" /> <Address name="window_z" value="0x8ceb240" /> <Address name="cursor_xyz" value="0x8b2e740" /> <Address name="window_dims" value="0x8b2ec48" /> <Address name="screen_tiles_pointer" valid = "false" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x92e0e90"/> </Group> <Group name="Vegetation"> <Address name="vector" value="0x92fbdc8" /> </Group> <Group name="World"> <Address name="current_year" value="0x92e0da0" /> <Address name="current_tick" value="0x92e0dc0" /> <Address name="current_weather" value="0x092E0D84" /> </Group> </Offsets> </Version> <Version name="v0.31.14 linux" os="linux" base="v0.31.13 linux" rebase="0x330C"> <MD5 value="128c562c7936aa8f84786f69426f0691" /> <Offsets> <Group name="Maps"> <Address name="map_data" value="0x933d7e0" /> <Address name="x_count_block" value="0x933d7F4" /> <Address name="y_count_block" value="0x933d7F8" /> <Address name="z_count_block" value="0x933d7FC" /> <Address name="x_count" value="0x933d800" /> <Address name="y_count" value="0x933d804" /> <Address name="z_count" value="0x933d808" /> <Address name="region_x" value="0x933d80C" /> <Address name="region_y" value="0x933d810" /> <Address name="region_z" value="0x933d814" /> <Address name="world_size_x" value="0x933ee60" /> <Address name="world_size_y" value="0x933ee62" /> </Group> <Group name="Buildings"> <Address name="buildings_vector" value="0x92febdc" /> </Group> <Group name="Constructions"> <Address name="vector" value="0x92eac04" /> </Group> <Group name="Position"> <Address name="window_x" value="0x8cee538 0x8ceb238" /> <Address name="window_y" value="0x8cee53C 0x8ceb23C" /> <Address name="window_z" value="0x8cee540 0x8ceb240" /> <Address name="cursor_xyz" value="0x8b31a30 0x8b2e740" /> <Address name="window_dims" value="0x8b31f48 0x8b2ec48" /> <Address name="screen_tiles_pointer" valid = "false" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x92e0e90"/> </Group> </Offsets> </Version> <Version name="faek" os="linux" base="v0.31.14 linux"> <Offsets> <Group name="Position" valid="false" /> </Offsets> </Version> <Version name="v0.31.16 linux" os="linux" base="faek" rebase="0x1b40"> <MD5 value="9cca2fa5da509e2f9a1042ddd1f9669c" /> <Offsets> <Group name="Position"> <Address name="cursor_xyz" value="0x8b33550" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x92e5cb0"/> </Group> </Offsets> </Version> <Version name="v0.31.18 linux" os="linux" base="faek"> <MD5 value="884f794d8e89e7d764057c15617c20b1" /> <Offsets valid="false"> <Group name="Maps" valid="true"> <Address name="map_data" value="0x93c0430" /> <Address name="region_x" value="0x93c045c" /> <Address name="region_y" value="0x93c0460" /> <Address name="region_z" value="0x93c0464" /> <Address name="x_count_block" value="0x93c0444" /> <Address name="y_count_block" value="0x93c0448" /> <Address name="z_count_block" value="0x93c044c" /> <Address name="x_count" value="0x93c0450" /> <Address name="y_count" value="0x93c0454" /> <Address name="z_count" value="0x93c0458" /> <Address name="world_size_x" value="0x93c1ab0" /> <Address name="world_size_y" value="0x93c1ab2" /> <Group name="block" valid="true" /> <Group name="features" valid="false" /> <Group name="geology" valid="false" /> </Group> <Group name="GUI"> <Address name="pause_state" value="0x9366cb0"/> </Group> <Group name="string" valid="true" /> <Group name="vector" valid="true" /> <Group name="name" valid="true" /> </Offsets> </Version> <Version name="v0.31.19 linux" os="linux" base="v0.31.18 linux" rebase="0x77738"> <MD5 value="8fcb1f10af9cc2bda47d2acf42e1db54" /> <Offsets> <Group name="Position" valid="true"> <Address name="cursor_xyz" value="0x8c2b560" /> <Address name="screen_tiles_pointer" valid="false" /> </Group> <Group name="Maps"> <Address name="world_size_x" value="0x94391f0" /> <Address name="world_size_y" value="0x94391f2" /> <Group name="features" valid="true"> <Group name="global"> <Address name="vector" value="0x94397cc" /> </Group> <Group name="local"> <Address name="start_ptr" value="0x9439844" /> </Group> </Group> <Group name="geology" valid="true"> <Address name="geoblock_vector" value="0x94397e4" /> <Address name="ptr2_region_array" value="0x9439808" /> </Group> </Group> <Group name="GUI"> <Address name="pause_state" value="0x93dddf0" /> </Group> <Group name="Materials"> <Address name="creature_type_vector" value="0x943a074" /> <Address name="inorganics" value="0x9439fc0" /> <Address name="organics_all" value="0x9439fd8" /> <Address name="organics_plants" value="0x9439fe4" /> <Address name="organics_trees" value="0x9439ffc" /> ------------------- !!LANGUAGE TABLES!! ------------------- translation vector: 0x943a21c lang vector: 0x943a204 word table offset: 0x1c ------------- !!MATERIALS!! ------------- inorganics: 0x9439fc0 organics: 0x9439fd8 organics 31.19: trees: 0x9439ffc plants: 0x9439fe4 color descriptors: 0x943e368 Amber color:0xa380190 all descriptors: 0x943e380 toad-first creature types: 0x943a074 all creature types: 0x943a068 0x943a074 Toad: 0xa441f10 Toad: rawname = 0x0 Toad: character (not reliable) = 0x20 Toad: caste vector = 0x60 Toad: extract? vector = 0x1f74 Toad: colors = 0x38 </Group> </Offsets> </Version> </DFHack>