2010-08-11 04:56:06 -06:00
<?xml version="1.0"?>
<DFHack >
2010-08-12 13:38:15 -06:00
<Base name= "DF2010" >
2010-08-11 04:56:06 -06:00
<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= "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= "LASHER" id= "88" military= "true" can_assign_labors= "true" />
<Profession name= "MASTER_LASHER" id= "89" military= "true" can_assign_labors= "true" />
<Profession name= "None" id= "90" military= "false" can_assign_labors= "true" />
</Professions>
<Jobs >
2010-09-08 10:03:24 -06:00
<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" />
2010-08-11 04:56:06 -06:00
</Jobs>
<Skills >
<Skill name= "Mining" id= "0" />
<Skill name= "Wood Cutting" id= "1" />
<Skill name= "Carpentry" id= "2" />
<Skill name= "Bowmaking" id= "49" />
<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= "Growing" id= "22" />
<Skill name= "Herbalism" id= "23" />
<Skill name= "Ambush" id= "57" />
<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= "Fishing" id= "24" />
<Skill name= "Furnace Operation" id= "25" />
<Skill name= "Strand Extraction" id= "26" />
<Skill name= "Soap Making" id= "67" />
<Skill name= "Potash Making" id= "68" />
<Skill name= "Lye Making" id= "66" />
<Skill name= "Wood Burning" id= "65" />
<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= "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= "Axe" id= "38" />
<Skill name= "Sword" id= "39" />
<Skill name= "Mace" id= "41" />
<Skill name= "Hammer" id= "42" />
<Skill name= "Spear" id= "43" />
<Skill name= "Crossbow" id= "44" />
<Skill name= "Pike" id= "50" />
<Skill name= "Bow" id= "52" />
<Skill name= "Shield" id= "45" />
<Skill name= "Armor" id= "46" />
<Skill name= "Siege Engineering" id= "47" />
<Skill name= "Siege Operation" id= "48" />
<Skill name= "Pump Operation" id= "70" />
<Skill name= "Leatherworkering" id= "36" />
<Skill name= "Tanning" id= "12" />
<Skill name= "Dyeing" id= "69" />
<Skill name= "Bone Carving" id= "37" />
<Skill name= "Weaving" id= "13" />
<Skill name= "Brewing" id= "14" />
<Skill name= "Clothes Making" id= "16" />
<Skill name= "Milling" id= "17" />
<Skill name= "Threshing" id= "18" />
<Skill name= "Blowgun" id= "53" />
<Skill name= "Throwing" id= "54" />
<Skill name= "Machinery" id= "55" />
<Skill name= "Nature" id= "56" />
<Skill name= "Knife" id= "40" />
<Skill name= "Lash" id= "51" />
<Skill name= "Cooking" id= "21" />
<Skill name= "Alchemy" id= "15" />
<Skill name= "Building Design" id= "58" />
<Skill name= "Cheese Making" id= "19" />
<Skill name= "Milking" id= "20" />
<Skill name= "Misc. Object" id= "106" />
<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" />
</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 groups *
<Labor name= "Woodworking" id= "4294967294" />
<Labor name= "Stoneworking" id= "4294967293" />
<Labor name= "Hunting/Related" id= "4294967292" />
<Labor name= "Healthcare" id= "4294967291" />
<Labor name= "Farming/Related" id= "4294967290" />
<Labor name= "Fishing/Related" id= "4294967289" />
<Labor name= "Metalsmithing" id= "4294967288" />
<Labor name= "Jewelry" id= "4294967287" />
<Labor name= "Crafts" id= "4294967286" />
<Labor name= "Engineering" id= "4294967285" />
<Labor name= "Hauling" id= "4294967284" />
<Labor name= "Other Jobs" id= "4294967283" />
-->
</Labors>
2010-08-12 13:38:15 -06:00
<VTable >
<multiclass name= "building_trapst" >
2010-08-11 04:56:06 -06:00
<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" />
2010-08-12 13:38:15 -06:00
<multiclass name= "building_workshopst" >
2010-08-11 04:56:06 -06:00
<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>
2010-08-12 13:38:15 -06:00
<multiclass name= "building_furnacest" >
2010-08-11 04:56:06 -06:00
<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" />
2010-08-12 13:38:15 -06:00
<multiclass name= "building_siegeenginest" >
2010-08-11 04:56:06 -06:00
<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" />
2010-11-16 21:03:25 -07:00
<class name= "building_slabst" />
2011-02-20 20:01:09 -07:00
<class name= "building_nestst" />
<class name= "building_nest_boxst" />
<class name= "building_hivest" />
2010-08-11 04:56:06 -06:00
</VTable>
<Offsets >
2010-08-27 19:57:56 -06:00
<Address name= "WORLD" description= "A h u g e o b j e c t t h a t m a n y t h i n g s i n D F a r e p a r t o f . C o n t a i n s t h e w h o l e g a m e a n d c a n b e u s e d a s a b a s e
for many of the addresses." />
2010-08-12 13:38:15 -06:00
<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." />
2010-09-17 20:36:14 -06:00
<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>
2010-08-12 13:38:15 -06:00
</Group>
2010-08-28 07:43:53 -06:00
<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." />
2010-08-27 22:31:44 -06:00
</Group>
2010-08-12 13:38:15 -06:00
<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)." />
2010-08-28 07:43:53 -06:00
<Address name= "mouse_pos" description= "Position of the mouse (3xDWORD?)" />
2010-08-12 13:38:15 -06:00
<Address name= "window_dims" description= "Size of the view in tiles (2xWORD)" />
2010-08-28 06:06:18 -06:00
<Address name= "screen_tiles_pointer" description= "Pointer to the screen tile array." />
2010-08-12 13:38:15 -06:00
</Group>
2010-08-27 22:31:44 -06:00
<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" />
<Group name= "block" description= "The map block structure." >
<Offset name= "vein_vector" description= "Mineral veins, objects holding tile types under ice, etc..." />
<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" />
2010-08-28 07:43:53 -06:00
<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.)." />
2010-08-27 22:31:44 -06:00
</Group>
<Group name= "features" >
<Group name= "global" >
<Address name= "vector" />
<Offset name= "funcptr" />
<Offset name= "material" />
<Offset name= "submaterial" />
</Group>
<Group name= "local" >
<Address name= "start_ptr" />
<Offset name= "material" />
<Offset name= "submaterial" />
</Group>
</Group>
<Group name= "geology" >
<Address name= "geoblock_vector" />
<Address name= "ptr2_region_array" />
<!-- 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." >
2010-08-30 22:52:03 -06:00
<Address name= "vector" />
2010-08-27 22:31:44 -06:00
<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" />
2010-08-29 16:08:17 -06:00
<Offset name= "inventory_vector" />
2010-08-27 22:31:44 -06:00
<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" >
2010-08-31 09:21:47 -06:00
<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 ?" />
2010-08-27 22:31:44 -06:00
</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" />
2010-08-30 22:52:03 -06:00
<Address name= "other" description= "Base material types? Code suggests it's a null-terminated string of string pointers? Is this used at all?" />
2010-08-27 22:31:44 -06:00
<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" >
2010-08-29 16:08:17 -06:00
<!-- most of those seem completely unused! -->
2010-08-28 06:06:18 -06:00
<Address name= "items_vector" />
2010-08-27 22:31:44 -06:00
List of offsets in the VTable :
2010-08-28 06:06:18 -06:00
<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)
2010-08-27 22:31:44 -06:00
</Group>
<Group name= "World" >
<Address name= "current_tick" description= "Current time of the year" />
<Address name= "current_year" description= "Current year" />
2010-09-16 07:09:42 -06:00
<Address name= "current_weather" description= "5x5 array of bytes for surrounding biomes. For each: 0=clear, 1=raining, 2=snowing." />
2010-08-27 22:31:44 -06:00
</Group>
2010-08-11 04:56:06 -06:00
</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;:,..,:.
2010-08-12 13:38:15 -06:00
`'''
2010-08-11 04:56:06 -06:00
W I N D O W S
and
W I N E
2010-08-12 13:38:15 -06:00
<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" />
<!--
2010-08-11 04:56:06 -06:00
Vector layout in MSVC 9:
DWORD Allocator?
DWORD ?
DWORD ?
DWORD Start
DWORD End
DWORD AllocationEnd
2010-08-12 13:38:15 -06:00
-->
</Group>
<Group name= "string" >
<HexValue name= "sizeof" value= "0x1C" />
2010-09-17 20:36:14 -06:00
<Group name= "MSVC" >
<Offset name= "buffer" value= "0x4" />
<Offset name= "size" value= "0x14" />
<Offset name= "capacity" value= "0x18" />
</Group>
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "name" >
<Offset name= "first" value= "0x0" />
<Offset name= "nick" value= "0x1C" />
<Offset name= "second_words" value= "0x38" />
</Group>
<Group name= "Position" >
2010-08-11 04:56:06 -06:00
<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" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "GUI" >
2010-08-11 04:56:06 -06:00
<Address name= "pause_state" value= "0x146e45f" />
2010-08-12 13:38:15 -06:00
<Address name= "current_cursor_creature" value= "0xae82cc" valid= "false" />
2010-08-11 04:56:06 -06:00
<Address name= "current_menu_state" value= "0x017f6f38" />
2010-08-12 13:38:15 -06:00
<Address name= "view_screen" value= "0xae82cc" valid= "false" />
</Group>
<Group name= "Maps" >
2010-08-11 04:56:06 -06:00
<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" />
2010-08-12 13:38:15 -06:00
<Address name= "region_x" value= "0x016ad750" /> <!-- WORLD + 0x525C8 -->
<Address name= "region_y" value= "0x016ad754" /> <!-- WORLD + 0x525CC -->
<Address name= "region_z" value= "0x016ad758" /> <!-- WORLD + 0x525D0 -->
2010-08-11 04:56:06 -06:00
<Address name= "world_size_x" value= "0x016AEDD4" />
<Address name= "world_size_y" value= "0x016AEDD6" />
2010-08-12 13:38:15 -06:00
<Group name= "block" >
<Offset name= "vein_vector" value= "0x08" />
<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" >
2010-08-30 22:52:03 -06:00
<Address name= "vector" value= "0x0166ecc4" />
2010-08-12 13:38:15 -06:00
<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" >
2010-08-31 09:21:47 -06:00
<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 ?
2010-08-12 13:38:15 -06:00
</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 -->
2010-08-11 04:56:06 -06:00
<Offset name= "word_table" value= "0x4C" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Vegetation" >
2010-08-27 22:31:44 -06:00
<Address name= "vector" value= "0x0167030C" /> <!-- WORLD + 0x15184 -->
2010-08-11 04:56:06 -06:00
<Offset name= "tree_desc_offset" value= "0x6C" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Buildings" >
<Address name= "buildings_vector" value= "0x0166f9a0" /> <!-- WORLD + 0x14818 -->
2010-08-11 04:56:06 -06:00
<Offset name= "building_custom_workshop_type" value= "0x164" />
2010-08-12 13:38:15 -06:00
<Address name= "custom_workshop_vector" value= "0x016B8798" /> <!-- WORLD + 0x5D610 -->
2010-08-11 04:56:06 -06:00
<Offset name= "custom_workshop_name" value= "0x4" />
<Offset name= "custom_workshop_type" value= "0x20" />
2010-08-12 13:38:15 -06:00
</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" >
2010-08-11 04:56:06 -06:00
<Address name= "window_dims" value= "0x17f6b00" /> Was 0x17f5ab8
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Maps" >
2010-08-11 04:56:06 -06:00
<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" />
2010-08-12 13:38:15 -06:00
<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" >
2010-08-30 22:52:03 -06:00
<Address name= "vector" value= "0x166FD0C" />
2010-08-12 13:38:15 -06:00
<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" >
2010-08-27 22:31:44 -06:00
<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 -->
2010-08-12 13:38:15 -06:00
<Address name= "creature_type_vector" value= "0x16B0EA0" /> <!-- WORLD + 0x54CD0 -->
2010-08-30 22:52:03 -06:00
<Address name= "other" value= "0x16BA114" />
2010-08-12 13:38:15 -06:00
<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" >
2010-08-11 04:56:06 -06:00
<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" />
2010-08-12 13:38:15 -06:00
<Offset name= "item_improvement_subindex" value= "0x4" />
<Offset name= "item_improvement_index" value= "0x8" />
<Offset name= "item_improvement_quality" value= "0x14" />
2010-08-11 04:56:06 -06:00
<Offset name= "item_type_accessor" value= "0x14" /> (in the vtable)
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "World" >
2010-08-11 04:56:06 -06:00
<Address name= "current_tick" value= "0x0e47e08" />
<Address name= "current_year" value= "0x0e79f00" />
2010-08-12 13:38:15 -06:00
</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" >
2010-08-30 22:52:03 -06:00
<Address name= "vector" value= "0x167870C" />
2010-08-12 13:38:15 -06:00
<Address name= "current_race" value= "0x1471FBC" />
<Address name= "current_civ" value= "0x1471FB0" />
</Group>
<Group name= "Materials" >
2010-08-27 22:31:44 -06:00
<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" />
2010-08-12 13:38:15 -06:00
<Address name= "creature_type_vector" value= "0x16BD204" />
2010-08-30 22:52:03 -06:00
<Address name= "other" value= "0x16C6478" />
2010-08-12 13:38:15 -06:00
<Group name= "descriptors" >
2010-08-27 22:31:44 -06:00
<Address name= "colors_vector" value= "0x16C5ACC" />
<Address name= "vectors_start" value= "0x16C5AE4" />
<Address name= "all_colors_vector" value= "0x16C5AFC" />
2010-08-12 13:38:15 -06:00
</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" >
2010-08-27 22:31:44 -06:00
<Address name= "start_ptr" value= "0x16BC974" />
2010-08-12 13:38:15 -06:00
</Group>
</Group>
<Group name= "geology" >
<Address name= "geoblock_vector" value= "0x16BC8D8" />
<Address name= "ptr2_region_array" value= "0x16BC920" />
</Group>
</Group>
<Group name= "Constructions" >
2010-08-27 22:31:44 -06:00
<Address name= "vector" value= "0x1664CD8" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Vegetation" >
2010-08-27 22:31:44 -06:00
<Address name= "vector" value= "0x1679D54" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Buildings" >
<Address name= "buildings_vector" value= "0x16793e8" />
</Group>
<Group name= "Items" >
2010-08-11 04:56:06 -06:00
<Address name= "items_vector" value= "0x1678800" />
2010-08-12 13:38:15 -06:00
</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_dims" value= "0x180b10c" />
<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" >
2010-08-11 04:56:06 -06:00
<Address name= "cursor_xyz" value= "0xaf12d0" />
2010-08-12 13:38:15 -06:00
</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" />
<Address name= "window_dims" value= "0x180d11c" />
2010-08-11 04:56:06 -06:00
<Address name= "window_x" value= "0xe6e0ec" />
<Address name= "window_y" value= "0xe9c1c0" />
<Address name= "window_z" value= "0xe9c19c" />
2010-08-12 13:38:15 -06:00
</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" >
2010-08-11 04:56:06 -06:00
<Address name= "cursor_xyz" value= "0xaff2d8" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Translations" >
2010-08-11 04:56:06 -06:00
<Address name= "language_vector" value= "0x16D33CC" />
<Address name= "translation_vector" value= "0x16D33FC" />
2010-08-12 13:38:15 -06:00
</Group>
<Group name= "Creatures" >
2010-08-30 22:52:03 -06:00
<Address name= "vector" value= "0x168E73C" />
2010-08-12 13:38:15 -06:00
<Address name= "current_race" value= "0x014b9f1c" />
<Group name= "creature" >
<Group name= "advanced" >
2010-08-29 16:08:17 -06:00
<Offset name= "inventory_vector" value= "0x2FC" />
2010-08-12 13:38:15 -06:00
<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" >
2010-08-11 04:56:06 -06:00
<Address name= "cursor_xyz" value= "0xB062D8" />
2010-08-12 13:38:15 -06:00
<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" />
2010-08-28 16:16:51 -06:00
<Offsets >
<Group name= "Position" >
2010-08-28 16:20:59 -06:00
<Address name= "screen_tiles_pointer" value= "0x18313D0" />
2010-08-28 16:16:51 -06:00
</Group>
2010-09-01 10:03:52 -06:00
<Group name= "World" >
2010-10-06 19:17:39 -06:00
<Address name= "current_tick" value= "0xde8910" /> MAYBE
<Address name= "current_year" value= "0xec78b0" />
<!-- <Address name="current_weather" value="0x14BCDEE" /> -->
2010-09-01 10:03:52 -06:00
</Group>
2010-08-28 16:16:51 -06:00
</Offsets>
2010-08-12 13:38:15 -06:00
</Version>
2010-09-22 10:20:55 -06:00
<Version name= "v0.31.13 SDL" os= "windows" base= "DF2010" >
2010-09-16 07:09:42 -06:00
<MD5 value= "59f194b0b2103ca5df7601a01ce21280" />
<PETimeStamp value= "0x4C90ADA8" />
2010-09-26 22:59:24 -06:00
<VTable >
2010-09-29 00:45:34 -06:00
<multiclass name= "building_trapst" typeoffset= "0xF8" />
<multiclass name= "building_workshopst" typeoffset= "0xF8" />
<multiclass name= "building_furnacest" typeoffset= "0x10A" />
<multiclass name= "building_siegeenginest" typeoffset= "0xF8" />
2010-09-26 22:59:24 -06:00
</VTable>
2010-09-16 07:09:42 -06:00
<Offsets >
<Address name= "WORLD" value= "0x016425A0" />
2010-09-17 05:49:49 -06:00
<Group name= "vector" >
<HexValue name= "sizeof" value= "0x10" />
2010-09-18 22:17:48 -06:00
<Offset name= "start" value= "0x0" />
2010-09-17 05:49:49 -06:00
<!--
Vector layout in MSVC 10:
DWORD Start
DWORD End
DWORD AllocationEnd
2010-09-18 22:17:48 -06:00
DWORD ?
2010-09-17 05:49:49 -06:00
NOT FINAL, needs research
-->
</Group>
2010-09-17 20:36:14 -06:00
<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>
2010-09-25 19:58:54 -06:00
<Group name= "name" >
<Offset name= "first" value= "0x0" />
<Offset name= "nick" value= "0x1C" />
<Offset name= "second_words" value= "0x38" />
</Group>
2010-09-16 07:09:42 -06:00
<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" >
2010-10-06 19:17:39 -06:00
<Address name= "current_weather" value= "0x147E948" />
2010-09-16 07:09:42 -06:00
</Group>
<Group name= "Vegetation" >
2010-09-18 22:17:48 -06:00
<Address name= "vector" value= "0x1656EFC" />
2010-09-17 05:49:49 -06:00
</Group>
<Group name= "Maps" >
2010-09-19 21:47:15 -06:00
<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" />
2010-09-17 05:49:49 -06:00
<!-- WORLD + 0x525C8 -->
2010-09-19 21:47:15 -06:00
<Address name= "region_y" value= "0x1697c10" />
2010-09-17 05:49:49 -06:00
<!-- WORLD + 0x525CC -->
2010-09-19 21:47:15 -06:00
<Address name= "region_z" value= "0x1697c14" />
2010-09-17 05:49:49 -06:00
<!-- WORLD + 0x525D0 -->
2010-09-19 21:47:15 -06:00
<Address name= "world_size_x" value= "0x1699290" />
<Address name= "world_size_y" value= "0x1699292" />
2010-09-17 05:49:49 -06:00
<Group name= "block" >
<Offset name= "vein_vector" value= "0x08" />
2010-09-29 00:45:34 -06:00
<Offset name= "feature_local" value= "0x24" />
<Offset name= "feature_global" value= "0x28" />
<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" />
2010-09-17 05:49:49 -06:00
</Group>
<Group name= "features" >
<Group name= "global" >
2010-09-20 16:44:41 -06:00
<Address name= "vector" value= "0x16998e0" />
<Offset name= "funcptr" value= "0xD8" />
<Offset name= "material" value= "0x2C" />
<Offset name= "submaterial" value= "0x30" />
2010-09-17 05:49:49 -06:00
</Group>
<Group name= "local" >
2010-09-20 16:44:41 -06:00
<Address name= "start_ptr" value= "0x1699974" />
<Offset name= "material" value= "0x28" />
<Offset name= "submaterial" value= "0x2C" />
2010-09-17 05:49:49 -06:00
</Group>
</Group>
<Group name= "geology" >
2010-09-20 17:13:34 -06:00
<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" />
2010-09-17 05:49:49 -06:00
<Offset name= "geolayer_geoblock_offset" value= "0x4" /> vector
<Offset name= "type_inside_geolayer" value= "0x4" /> vector
</Group>
</Group>
2010-09-19 21:47:15 -06:00
<Group name= "Materials" > YES
2010-09-18 22:17:48 -06:00
<Address name= "inorganics" value= "0x1699f18 0x16BD0B0" />
<Address name= "organics_all" value= "0x1699f28 0x16BD0C8" />
<Address name= "organics_trees" value= "0x1699f58 0x16bd110" />
<Address name= "organics_plants" value= "0x1699f38 0x16bd0e0" />
<Address name= "creature_type_vector" value= "0x1699ffC 0x16BD204" />
<Address name= "other" value= "0x16C647C" /> NO!
2010-09-17 20:36:14 -06:00
<Group name= "creature" >
2010-09-18 22:17:48 -06:00
<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
2010-09-17 20:36:14 -06:00
<Group name= "caste" >
2010-09-18 22:17:48 -06:00
<Offset name= "bodypart_vector" value= "0x51C" /> YES
<Offset name= "attributes" value= "0x5FC" /> MAYBE
<Offset name= "color_modifiers" value= "0xA24" /> YES
2010-09-17 20:36:14 -06:00
</Group>
2010-09-18 22:17:48 -06:00
<Group name= "caste_color_mods" > YES
<Offset name= "part" value= "0x50" />
<Offset name= "startdate" value= "0x44" />
<Offset name= "enddate" value= "0x48" />
2010-09-17 20:36:14 -06:00
</Group>
2010-09-18 22:17:48 -06:00
<Group name= "caste_bodyparts" > YES
2010-09-17 20:36:14 -06:00
<Offset name= "id" value= "0x0" />
<Offset name= "category" value= "0x1C" />
<Offset name= "layers_vector" value= "0x44" />
2010-09-18 22:17:48 -06:00
<Offset name= "singular_vector" value= "0x70" />
<Offset name= "plural_vector" value= "0x80" />
2010-09-17 20:36:14 -06:00
</Group>
</Group>
<Group name= "descriptors" >
2010-09-18 22:17:48 -06:00
<!-- <Address name="vectors_start" value="0x16B9780" /> --> this is crap it seems
2010-09-17 20:36:14 -06:00
<Offset name= "rawname" value= "0x0" />
2010-09-18 22:17:48 -06:00
<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" />
2010-09-17 05:49:49 -06:00
</Group>
2010-09-16 07:09:42 -06:00
</Group>
2010-09-20 19:18:34 -06:00
<Group name= "Constructions" >
2010-09-22 10:20:55 -06:00
<Address name= "vector" value= "0x1642650" />
<Offset name= "sizeof" value= "0x14" />
2010-09-20 19:18:34 -06:00
</Group>
<Group name= "Translations" >
2010-09-22 10:20:55 -06:00
<Address name= "language_vector" value= "0x169a0fC" />
<Address name= "translation_vector" value= "0x169a11C" />
<Offset name= "word_table" value= "0x3c" />
2010-09-20 19:18:34 -06:00
</Group>
2010-09-25 19:58:54 -06:00
<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" />
2010-10-15 09:47:30 -06:00
<Group name= "advanced" >
2010-09-25 19:58:54 -06:00
<Offset name= "pickup_equipment_bit" value= "0x01BC" />
2010-09-29 00:45:34 -06:00
<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" />
2010-09-25 19:58:54 -06:00
<Offset name= "current_job" value= "0x02F0" />
2010-09-29 00:45:34 -06:00
<Offset name= "current_job_skill" value= "0x02F4" />
2010-10-15 09:47:30 -06:00
<Offset name= "physical" value= "0x3C4" />
2010-09-29 00:45:34 -06:00
<Offset name= "appearance_vector" value= "0x524" />
<Offset name= "artifact_name" value= "0x5D4" />
<Offset name= "soul_vector" value= "0x640" />
<Offset name= "current_soul" value= "0x650" />
2010-09-25 19:58:54 -06:00
<Offset name= "labors" value= "0x0664" />
<Offset name= "happiness" value= "0x0704" />
</Group>
</Group>
<Group name= "soul" >
2010-09-29 00:45:34 -06:00
<Offset name= "name" value= "0x4" />
2010-10-15 09:47:30 -06:00
<Offset name= "mental" value= "0x88" />
2010-09-25 19:58:54 -06:00
<Offset name= "skills_vector" value= "0x1F4 0x01F0" />
2010-09-29 00:45:34 -06:00
<Offset name= "traits" value= "0x0214" /> is it a vector?
2010-09-25 19:58:54 -06:00
</Group>
<Group name= "job" >
<Offset name= "id" value= "0x08" />
<!--
<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>
2010-09-20 19:18:34 -06:00
<Group name= "Vegetation" >
2010-09-22 10:20:55 -06:00
<Address name= "vector" value= "0x1656efc" />
<Offset name= "tree_desc_offset" value= "0x6C" />
2010-09-20 19:18:34 -06:00
</Group>
<Group name= "Buildings" >
2010-09-22 10:20:55 -06:00
<Address name= "buildings_vector" value= "0x1656890" />
2010-09-26 22:59:24 -06:00
<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
2010-09-20 19:18:34 -06:00
</Group>
2010-09-16 07:09:42 -06:00
</Offsets>
</Version>
2010-09-25 16:41:03 -06:00
<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 0x16998e0" />
</Group>
<Group name= "local" >
<Address name= "start_ptr" value= "0x169a980 0x1699974" />
</Group>
</Group>
<Group name= "geology" >
<Address name= "geoblock_vector" value= "0x169a90C" />
<Address name= "ptr2_region_array" value= "0x169a93C" />
</Group>
</Group>
2010-09-25 21:14:06 -06:00
<Group name= "Translations" >
<Address name= "language_vector" value= "0x169b108 0x169b0fc" />
<Address name= "translation_vector" value= "0x169b128 0x169b11c" />
</Group>
2010-09-26 22:59:24 -06:00
<Group name= "Materials" >
2010-09-25 16:41:03 -06:00
<Address name= "inorganics" value= "0x169af24 0x1699f18 0x16BD0B0" />
<Address name= "organics_all" value= "0x169af34 0x1699f28 0x16BD0C8" />
<Address name= "organics_trees" value= "0x169af64 0x1699f58 0x16bd110" />
<Address name= "organics_plants" value= "0x169af44 0x1699f38 0x16bd0e0" />
<Address name= "creature_type_vector" value= "0x169b008 0x1699ffC 0x16BD204" />
<!-- <Address name="other" value="0x16C647C" /> NO! -->
<Group name= "descriptors" >
<Address name= "colors_vector" value= "0x16a0b38 0x169fb2c" />
<Address name= "all_colors_vector" value= "0x16a0b58 0x169fb4c" />
</Group>
</Group>
2010-09-26 22:59:24 -06:00
<Group name= "Buildings" >
<Address name= "custom_workshop_vector" value= "0x016A0B78" /> Second possible: 0x016a0b88
</Group>
2010-09-25 16:41:03 -06:00
</Offsets>
2010-10-04 13:54:58 -06:00
</Version>
<Version name= "v0.31.15 SDL" os= "windows" base= "v0.31.14 SDL" >
<PETimeStamp value= "0x4CA869EA" />
<MD5 value= "b4d188dfb592fc813dad31f45407991d" />
2010-10-06 17:23:35 -06:00
</Version>
<Version name= "v0.31.16 SDL" os= "windows" base= "v0.31.15 SDL" rebase= "0x1050" >
<PETimeStamp value= "0x4CA9D544" />
<MD5 value= "702b3ebaae468f73eb1411af54863013" />
<Offsets >
2010-10-27 21:30:58 -06:00
<Group name= "Materials" >
<Address name= "other" value= "0x16A21FC" /> 0x16445F0 + 0x5DC0C see code at 0x9CFB01
</Group>
2010-10-06 19:17:39 -06:00
<Group name= "Creatures" >
<Address name= "current_civ" value= "0x1484868 0x14848b8" />
<Address name= "current_race" value= "0x1484874 0x14848c4" />
</Group>
2010-10-06 17:23:35 -06:00
<Group name= "Position" >
<Address name= "cursor_xyz" value= "0xac97f0 0xac9840" />
<!-- <Address name="screen_tiles_pointer" value="0x14826d4" /> --> AS BOGUS AS IT GETS
<Address name= "window_dims" value= "0xaca07c 0xaca0cc" />
<Address name= "window_x" value= "0xE44C74 0xe44cc4" />
<Address name= "window_y" value= "0xE72D48 0xe72d98" />
<Address name= "window_z" value= "0xe72d24 0xe72d74" />
</Group>
<Group name= "GUI" >
<Address name= "pause_state" value= "0x1480971" />
</Group>
<Group name= "World" >
2010-10-06 19:17:39 -06:00
<Address name= "current_tick" value= "0xdac470" /> MAYBE
<Address name= "current_year" value= "0xe8b410" />
2010-10-06 17:23:35 -06:00
<Address name= "current_weather" value= "0x1480948" />
</Group>
2010-10-19 04:07:07 -06:00
<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>
2010-10-06 17:23:35 -06:00
</Offsets>
2010-11-16 20:48:06 -07:00
</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" />
<!--
<Offset name= "building_custom_workshop_type" value= "0x11c" /> INVALID!
<Offset name= "custom_workshop_name" value= "0x4" /> INVALID!
<Offset name= "custom_workshop_type" value= "0x20" /> INVALID!
-->
</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" />
2010-11-18 17:14:41 -07:00
<Address name= "current_weather" value= "0x14c9bb8" valid= "true" />
2010-11-16 20:48:06 -07:00
</Group>
</Offsets>
2011-02-16 11:29:16 -07:00
</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" >
2011-02-16 17:18:27 -07:00
<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= "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= "block" >
<Offset name= "vein_vector" value= "0x8" />
<Offset name= "feature_global" value= "0x28" />
<Offset name= "feature_local" value= "0x24" />
<Offset name= "type" value= "0x7a" />
<Offset name= "designation" value= "0x27c" />
<Offset name= "occupancy" value= "0x67c" />
<Offset name= "pathfinding" value= "0xd7c" />
<Offset name= "temperature1" value= "0x157c" />
<Offset name= "temperature2" value= "0x177c" /> <!-- looks strange, possibly invalid -->
<Offset name= "biome_stuffs" value= "0x1d7c" /> <!-- possibly invalid -->
</Group>
<Group name= "features" >
<Group name= "global" >
<Address name= "vector" value= "0x171de84" />
<Offset name= "funcptr" value= "0xd8" />
<Offset name= "material" value= "0x2c" />
<Offset name= "submaterial" value= "0x30" />
</Group>
<Group name= "local" >
<Address name= "start_ptr" value= "0x171df18" />
<Offset name= "material" value= "0x28" />
<Offset name= "submaterial" value= "0x2c" />
</Group>
</Group>
<Group name= "geology" > LOOKS FINE?
<Address name= "geoblock_vector" value= "0x171dea4" />
<Address name= "ptr2_region_array" value= "0x171ded4" /> VERIFIED
<Offset name= "geolayer_geoblock_offset" value= "0x4" />
<Offset name= "region_geo_index_off" value= "0x58" /> VERIFIED
<Offset name= "type_inside_geolayer" value= "0x4" />
<HexValue name= "region_size" value= "0x5c" /> VERIFIED
</Group>
</Group>
<Group name= "Materials" valid= "false" >
<Address name= "creature_type_vector" value= "0x171e880" valid= "true" />
2011-02-22 14:20:16 -07:00
<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" />
2011-02-16 11:29:16 -07:00
</Group>
2011-02-17 17:14:16 -07:00
<Group name= "GUI" valid= "false" >
<Address name= "pause_state" value= "0x14c9be1" valid= "true" />
</Group>
2011-02-20 19:39:29 -07:00
<Group name= "Vegetation" valid= "true" >
<Address name= "vector" value= "0x16db478" />
</Group>
2011-02-20 20:01:09 -07:00
<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" />
Let's assume those didn't change...
<!--
<Offset name= "building_custom_workshop_type" value= "0x11c" /> INVALID?
<Offset name= "custom_workshop_name" value= "0x4" /> INVALID?
<Offset name= "custom_workshop_type" value= "0x20" /> INVALID?
-->
</Group>
2011-02-21 01:59:05 -07:00
<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= "0x15027A0" valid= "true" />
</Group>
2011-02-16 11:29:16 -07:00
<!--
<Address name= "WORLD" valid= "false" />
<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= "Translations" >
<Address name= "language_vector" value= "0x016e553c" />
<Address name= "translation_vector" value= "0x016e551c" />
</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>
2010-09-25 16:41:03 -06:00
</Version>
2010-08-11 04:56:06 -06:00
.-"""-.
' \
|,. ,-. | _________________________
|()L( ()| | \ \
|,' `".| | /_ Argh !!! \
|.___.',| ` \________________________\
.j `--"' ` `.
/ ' ' \
/ / ` `.
/ / ` .
/ / l |
. , L I N U X | |
,"`. .| |
_.' ``. | `..-'l
| `.`, | `.
| `. __.j )
|__ |--""___| ,-'
`"--...,+"""" `._,.-'
<!-- Windows logo by Microsoft -->
<!-- Tux logo by the Linux guys :) -->
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.05 linux" os= "linux" base= "DF2010" >
2010-08-11 04:56:06 -06:00
<MD5 value= "fea3801a26538b1741f3cc9294139fca" />
<Offsets >
2010-08-12 13:38:15 -06:00
<Address name= "WORLD" value= "0x92C60E0" valid= "false" />
2010-11-07 18:09:51 -07:00
<Group name= "vector" >
2010-08-12 13:38:15 -06:00
<HexValue name= "sizeof" value= "0xC" />
<Offset name= "start" value= "0x0" />
<!--
Vector layout in lidstdc++:
DWORD Start
DWORD End
DWORD AllocationEnd
-->
</Group>
2010-11-07 18:09:51 -07:00
<Group name= "string" >
2010-08-12 13:38:15 -06:00
<HexValue name= "sizeof" value= "0x4" />
</Group>
2010-11-07 18:09:51 -07:00
<Group name= "name" >
2010-08-12 13:38:15 -06:00
<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" />
2010-11-07 18:09:51 -07:00
<Group name= "block" >
2010-08-12 13:38:15 -06:00
<Offset name= "vein_vector" value= "0x08" />
<Offset name= "feature_local" value= "0x20" />
<Offset name= "feature_global" value= "0x24" />
<Offset name= "type" value= "0x006A" />
<Offset name= "designation" value= "0x026C" />
<Offset name= "occupancy" value= "0x066c" />
2010-08-27 22:31:44 -06:00
<Offset name= "temperature1" value= "0x156c" />
<Offset name= "temperature2" value= "0x176c" />
2010-08-12 13:38:15 -06:00
<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
2010-08-28 07:50:47 -06:00
<Offset name= "type_inside_geolayer" value= "0x4" /> vector
2010-08-12 13:38:15 -06:00
</Group>
</Group>
<Group name= "Creatures" >
2010-08-30 22:52:03 -06:00
<Address name= "vector" value= "0x92D9AC0" />
2010-08-12 13:38:15 -06:00
<Address name= "current_race" value= "0x92C1628" />
<Address name= "current_civ" value= "0x92C161C" />
2010-11-07 18:09:51 -07:00
<Group name= "creature" >
2010-08-12 13:38:15 -06:00
<Offset name= "name" value= "0x0" />
<Offset name= "custom_profession" value= "0x3c" />
<Offset name= "profession" value= "0x40" />
<Offset name= "race" value= "0x44" />
2010-09-02 19:17:03 -06:00
<Offset name= "position" value= "0x48" />
2010-08-12 13:38:15 -06:00
<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" >
2010-08-28 06:06:18 -06:00
<Offset name= "pickup_equipment_bit" value= "0x144" /> CHMOD
<Offset name= "mood" value= "0x18C" valid= "false" /> VERIFY!
2010-08-12 13:38:15 -06:00
<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>
2010-09-02 19:01:37 -06:00
<!--
The vector is bad.
2010-08-12 13:38:15 -06:00
<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>
2010-09-02 19:01:37 -06:00
-->
2010-08-28 06:06:18 -06:00
<!--
2010-08-12 13:38:15 -06:00
<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" >
2010-08-31 09:21:47 -06:00
<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 ?
2010-08-12 13:38:15 -06:00
</Group>
</Group>
2010-08-28 06:06:18 -06:00
-->
2010-08-12 13:38:15 -06:00
</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 -->
2010-11-07 18:09:51 -07:00
<Group name= "creature" > VERIFY
2010-08-12 13:38:15 -06:00
<Offset name= "caste_vector" value= "0x60" />
<Offset name= "extract_vector" value= "0x18f4" />
<Offset name= "tile" value= "0x20" />
<Offset name= "tile_color" value= "0x36" />
2010-09-02 19:01:37 -06:00
<!--
!!!! BOGUS !!!!
2010-08-12 13:38:15 -06:00
<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>
2010-09-02 19:01:37 -06:00
-->
2010-08-12 13:38:15 -06:00
</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>
2010-08-11 04:56:06 -06:00
</Offsets>
</Version>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.06 linux" os= "linux" base= "v0.31.05 linux" rebase= "-0x20E0" >
2010-08-11 04:56:06 -06:00
<MD5 value= "13a1c19e8f59b74e307e094e2a0f28c3" />
<Offsets >
2010-08-12 13:38:15 -06:00
<Address name= "WORLD" value= "0x92C4000" />
<Group name= "Position" >
<Address name= "cursor_xyz" value= "0x8b0b328" /> VERIFIED
</Group>
2010-08-11 04:56:06 -06:00
Creatures
=========
WORLD + 0x139E0
0x92d79d4
0x92d79e0 = real one? seems like it
0x92d7a10
</Offsets>
</Version>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.07 linux" os= "linux" base= "v0.31.06 linux" rebase= "0x2000" >
2010-08-11 04:56:06 -06:00
<MD5 value= "b31979551782e89c049b11db8d2d86d7" />
</Version>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.08 linux" os= "linux" base= "v0.31.07 linux" >
2010-08-11 04:56:06 -06:00
<MD5 value= "e37750890350d7b9d8203879aff8fa5c" />
</Version>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.09 linux" os= "linux" base= "v0.31.08 linux" rebase= "0x11000" >
2010-08-11 04:56:06 -06:00
<!-- TODO: fix creature offsets -->
<!-- TODO: small offsets added all over the place, investigate -->
<MD5 value= "4f1f988bc1b425d4193d3d8b7b0579a5" />
2010-09-18 03:48:06 -06:00
<Offsets >
<Group name= "Creatures" >
2010-11-07 18:09:51 -07:00
<Group name= "creature" > VERIFY
2010-09-18 03:48:06 -06:00
<Group name= "advanced" >
<Offset name= "soul_vector" value= "0x0524" />
2010-11-07 16:10:59 -07:00
<Offset name= "current_soul" value= "0x0530" />
2010-09-18 03:48:06 -06:00
<Offset name= "labors" value= "0x540" />
<Offset name= "happiness" value= "0x5d0" />
</Group>
</Group>
2010-11-07 16:10:59 -07:00
<Group name= "soul" >
2010-09-18 03:48:06 -06:00
<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>
2010-08-11 04:56:06 -06:00
</Version>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.10 linux" os= "linux" base= "v0.31.09 linux" >
2010-08-11 04:56:06 -06:00
<MD5 value= "3e7bea269018a6fb88ef53715685aa64" />
<Offsets >
2010-08-12 13:38:15 -06:00
<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>
2010-08-11 04:56:06 -06:00
</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>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.11 linux" os= "linux" base= "v0.31.10 linux" rebase= "0x1D020" >
2010-08-11 04:56:06 -06:00
<!-- BIG rebase, possible broken stuff -->
<MD5 value= "7b04ad536b8b657588ac209a7f95e1d1" />
<Offsets >
2010-08-27 19:57:56 -06:00
<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>
2010-08-11 04:56:06 -06:00
</Offsets>
</Version>
2010-08-27 19:57:56 -06:00
<Version name= "v0.31.12 linux" os= "linux" base= "v0.31.11 linux" rebase= "-0x1000" >
2010-08-11 04:56:06 -06:00
<MD5 value= "e79cead03187ecb692961b316b7cdcd4" />
2010-08-28 16:16:51 -06:00
<Offsets >
2010-09-03 23:43:39 -06:00
<Group name= "GUI" >
<!-- FIXME: this could be wrong for many other versions. Investigate. -->
<Address name= "pause_state" value= "0x92ec65c" />
</Group>
2010-09-18 03:48:06 -06:00
<Group name= "Creatures" >
<Address name= "current_race" value= "0x092ee548" />
</Group>
2010-08-31 09:21:47 -06:00
<Group name= "Constructions" >
<Address name= "vector" value= "0x92f30a4" />
<Offset name= "sizeof" value= "0x14" />
</Group>
2010-08-28 16:16:51 -06:00
<Group name= "Position" >
2010-08-28 16:20:59 -06:00
<Address name= "screen_tiles_pointer" value= "0x09487970" />
2010-08-28 16:16:51 -06:00
</Group>
2010-08-31 20:31:12 -06:00
<Group name= "Vegetation" >
<Address name= "vector" value= "0x9307568" />
<Offset name= "tree_desc_offset" value= "0x3C" />
</Group>
2010-09-01 11:41:40 -06:00
<Group name= "World" >
<Address name= "current_weather" value= "0x92ec5aa" />
</Group>
2010-08-28 16:16:51 -06:00
</Offsets>
2010-08-11 04:56:06 -06:00
</Version>
2010-09-15 19:53:32 -06:00
<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" />
2010-09-26 22:59:24 -06:00
<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" />
2010-11-07 16:10:59 -07:00
<Address name= "screen_tiles_pointer" valid = "false" />
2010-09-26 22:59:24 -06:00
</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>
2010-10-01 23:23:48 -06:00
<Version name= "v0.31.14 linux" os= "linux" base= "v0.31.13 linux" rebase= "0x330C" >
2010-09-26 22:59:24 -06:00
<MD5 value= "128c562c7936aa8f84786f69426f0691" />
<Offsets >
2010-10-01 23:23:48 -06:00
<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 name= "features" >
<Group name= "global" >
<Address name= "vector" value= "0x933f408" /> 0x933c0fc
</Group>
<Group name= "local" >
<Address name= "start_ptr" value= "0x933F480" />
</Group>
</Group>
<Group name= "geology" >
<Address name= "geoblock_vector" value= "0x933f420" />
<Address name= "ptr2_region_array" value= "0x933f444" />
</Group>
</Group>
2010-09-26 22:59:24 -06:00
<Group name= "Buildings" >
2010-10-04 13:54:58 -06:00
<Address name= "buildings_vector" value= "0x92febdc 0x92fb8e8" /> Alt:0x92febe8
2010-09-26 22:59:24 -06:00
</Group>
2010-10-04 13:54:58 -06:00
2010-09-26 22:59:24 -06:00
<Group name= "Constructions" >
2010-10-04 13:54:58 -06:00
<Address name= "vector" value= "0x92eac04 0x92e7904" />
2010-09-26 22:59:24 -06:00
</Group>
2010-10-04 13:54:58 -06:00
<!--
2010-09-26 22:59:24 -06:00
<Group name= "Creatures" >
<Address name= "current_civ" value= "0x92e2d9c" />
<Address name= "current_race" value= "0x92e2da8" />
<Address name= "vector" value= "0x92fb260" />
</Group>
2010-10-04 13:54:58 -06:00
-->
2010-09-15 19:53:32 -06:00
<Group name= "Position" >
2010-10-04 13:54:58 -06:00
<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" />
2010-11-07 16:10:59 -07:00
<Address name= "screen_tiles_pointer" valid = "false" />
2010-09-15 19:53:32 -06:00
</Group>
<Group name= "GUI" >
<Address name= "pause_state" value= "0x92e0e90" />
</Group>
2010-10-04 13:54:58 -06:00
<!--
2010-09-15 19:53:32 -06:00
<Group name= "Vegetation" >
<Address name= "vector" value= "0x92fbdc8" />
</Group>
<Group name= "World" >
<Address name= "current_year" value= "0x92e0da0" />
<Address name= "current_tick" value= "0x92e0dc0" />
2010-09-16 07:09:42 -06:00
<Address name= "current_weather" value= "0x092E0D84" />
2010-09-15 19:53:32 -06:00
</Group>
2010-10-01 23:23:48 -06:00
-->
2010-09-15 19:53:32 -06:00
</Offsets>
2010-10-14 21:43:54 -06:00
</Version>
2010-11-07 16:31:40 -07:00
<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" >
2010-10-14 21:43:54 -06:00
<MD5 value= "9cca2fa5da509e2f9a1042ddd1f9669c" />
2010-11-07 01:49:33 -07:00
<Offsets >
<Group name= "Position" >
2010-11-07 16:31:40 -07:00
<Address name= "cursor_xyz" value= "0x8b33550" />
2010-11-07 01:49:33 -07:00
</Group>
<Group name= "GUI" >
<Address name= "pause_state" value= "0x92e5cb0" />
</Group>
</Offsets>
2010-09-15 19:53:32 -06:00
</Version>
2011-02-14 13:25:02 -07:00
<Version name= "v0.31.18 linux" os= "linux" base= "faek" >
<MD5 value= "884f794d8e89e7d764057c15617c20b1" />
<Offsets valid= "false" >
2011-02-14 16:59:19 -07:00
<Group name= "Maps" valid= "true" >
2011-02-14 16:35:43 -07:00
<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" />
2011-02-22 14:20:16 -07:00
<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" />
2011-02-14 16:59:19 -07:00
<Group name= "block" valid= "true" />
<Group name= "features" valid= "false" />
<Group name= "geology" valid= "false" />
2011-02-14 16:35:43 -07:00
</Group>
<Group name= "GUI" >
<Address name= "pause_state" value= "0x9366cb0" />
</Group>
2011-02-14 16:59:19 -07:00
<Group name= "string" valid= "true" />
<Group name= "vector" valid= "true" />
<Group name= "name" valid= "true" />
2011-02-14 13:25:02 -07:00
</Offsets>
</Version>
2011-02-22 21:53:37 -07:00
<Version name= "v0.31.19 linux" os= "linux" base= "v0.31.18 linux" rebase= "0x77738" >
2011-02-16 11:29:16 -07:00
<MD5 value= "8fcb1f10af9cc2bda47d2acf42e1db54" />
2011-02-22 14:20:16 -07:00
<Offsets >
<Group name= "Position" >
2011-02-22 21:53:37 -07:00
<Address name= "cursor_xyz" value= "0x8c2b560" />
<Address name= "window_dims" value= "0x8ba9680" />
<Address name= "window_x" value= "0x8d65c70" />
<Address name= "window_y" value= "0x8d65c74" />
<Address name= "window_z" value= "0x8d65c78" />
</Group>
<Group name= "Maps" >
2011-02-22 22:18:10 -07:00
<Address name= "world_size_x" value= "0x94391f0" />
<Address name= "world_size_y" value= "0x94391f2" />
2011-02-22 21:53:37 -07:00
<Group name= "features" valid= "true" >
<Group name= "global" >
<Address name= "vector" value= "0x94397cc" />
<!--
<Offset name= "funcptr" value= "0x94" />
<Offset name= "material" value= "0x28" />
<Offset name= "submaterial" value= "0x2c" />
-->
</Group>
<Group name= "local" >
<Address name= "start_ptr" value= "0x9439844" />
<!--
<Offset name= "material" value= "0x24" />
<Offset name= "submaterial" value= "0x28" />
-->
</Group>
</Group>
2011-02-22 22:18:10 -07:00
<Group name= "geology" valid= "true" >
<Address name= "geoblock_vector" value= "0x94397e4" />
<Address name= "ptr2_region_array" value= "0x9439808" />
</Group>
2011-02-22 21:53:37 -07:00
</Group>
2011-02-22 22:28:04 -07:00
<Group name= "GUI" >
<Address name= "pause_state" value= "0x93dddf0" />
</Group>
2011-02-22 21:53:37 -07:00
<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
2011-02-22 14:20:16 -07:00
</Group>
</Offsets>
2011-02-16 11:29:16 -07:00
</Version>
2010-08-11 04:56:06 -06:00
</DFHack>