1
Utilities and 3rd Party Applications / Re: Dwarf Therapist (Maintained Branch) v.36.0 | DF 42.05
« on: February 21, 2016, 09:20:14 am »This download fixes it for 42.06, are you using it?Using Virtualbox is fine, if your hardware is good enough. gcc, lisp tool and even visual studio will not notice that they are in virtualised environment.
A lot of things changed in structures. Hopefully figured out all critical changes. It will not blowup immediatly, but cant guarantee it will not corrupt save later. Make backups. Report if it happened.
Save it as Dwarf-Therapist-WIN-36.0.0/share/memory_layouts/windows/v0.42.06_graphics.ini:Spoiler: v0.42.06 windows (click to show/hide)Code: [Select][info]
checksum=0x56bba192
version_name=v0.42.06 (graphics)
complete=true
[addresses]
cur_year_tick=0x0136b318
current_year=0x0139d46c
dwarf_civ_index=0x01997128
dwarf_race_index=0x01997134
fortress_entity=0x0199c63c
historical_entities_vector=0x01b572d8
creature_vector=0x01b6ab7c
active_creature_vector=0x01b6ab8c
weapons_vector=0x01b6ac60
shields_vector=0x01b6acc0
quivers_vector=0x01b6acf0
crutches_vector=0x01b6ad20
backpacks_vector=0x01b6ad30
ammo_vector=0x01b6ad40
flasks_vector=0x01b6af00
pants_vector=0x01b6b3b0
armor_vector=0x01b6b3f0
shoes_vector=0x01b6b400
helms_vector=0x01b6b410
gloves_vector=0x01b6b420
artifacts_vector=0x01b6b490
squad_vector=0x01c65e6c
activities_vector=0x01c65eac
fake_identities_vector=0x01c6988c
poetic_forms_vector=0x01c699bc
musical_forms_vector=0x01c699dc
dance_forms_vector=0x01c699fc
occupations_vector=0x01c69a5c
world_data=0x01c6cbe8
material_templates_vector=0x01c6d450
inorganics_vector=0x01c6d460
plants_vector=0x01c6d480
races_vector=0x01c6d550
itemdef_weapons_vector=0x01c6d5a4
itemdef_trap_vector=0x01c6d5b4
itemdef_toy_vector=0x01c6d5c4
itemdef_tool_vector=0x01c6d5d4
itemdef_instrument_vector=0x01c6d744
itemdef_armor_vector=0x01c6d754
itemdef_ammo_vector=0x01c6d764
itemdef_siegeammo_vector=0x01c6d774
itemdef_glove_vector=0x01c6d784
itemdef_shoe_vector=0x01c6d794
itemdef_shield_vector=0x01c6d7a4
itemdef_helm_vector=0x01c6d7b4
itemdef_pant_vector=0x01c6d7c4
itemdef_food_vector=0x01c6d7d4
language_vector=0x01c6d7f4
translation_vector=0x01c6d814
colors_vector=0x01c73524
shapes_vector=0x01c73534
reactions_vector=0x01c73554
base_materials=0x01c73d08
all_syndromes_vector=0x01c74784
events_vector=0x01c74d6c
historical_figures_vector=0x01c74d8c
world_site_type=0x0074
active_sites_vector=0x00048270
[offsets]
word_table=0x003c
string_buffer_offset=0x0000
[word_offsets]
base=0x0000
noun_singular=0x001c
noun_plural=0x0038
adjective=0x0054
verb=0x008c
present_simple_verb=0x00a8
past_simple_verb=0x00c4
past_participle_verb=0x00e0
present_participle_verb=0x00fc
words=0x0038
word_type=0x0054
language_id=0x0064
[general_ref_offsets]
ref_type=0x0008
artifact_id=0x0004
item_id=0x0004
[race_offsets]
name_singular=0x001c
name_plural=0x0038
adjective=0x0054
baby_name_singular=0x0070
baby_name_plural=0x008c
child_name_singular=0x00a8
child_name_plural=0x00c4
pref_string_vector=0x0108
castes_vector=0x0128
pop_ratio_vector=0x0138
materials_vector=0x2244
flags=0x0148
tissues_vector=0x2254
[caste_offsets]
caste_name=0x001c
caste_descr=0x01dc
caste_trait_ranges=0x04f0
caste_phys_att_ranges=0x0ffc
baby_age=0x0434
child_age=0x0438
adult_size=0x044c
flags=0x061c
body_info=0x0628
skill_rates=0x078c
caste_att_rates=0x1210
caste_att_caps=0x1340
shearable_tissues_vector=0x1468
extracts=0x3178
[hist_entity_offsets]
histfigs=0x00a8
beliefs=0x08e0
squads=0x0c60
positions=0x0bb4
assignments=0x0be8
assign_hist_id=0x0004
assign_position_id=0x000c
position_id=0x001c
position_name=0x0068
position_female_name=0x00a0
position_male_name=0x00d8
[hist_figure_offsets]
hist_race=0x0002
hist_name=0x0038
id=0x00c4
hist_fig_info=0x00fc
reputation=0x002c
current_ident=0x0020
fake_name=0x0004
fake_birth_year=0x0080
fake_birth_time=0x0084
kills=0x0018
killed_race_vector=0x0010
killed_undead_vector=0x0060
killed_counts_vector=0x0070
[hist_event_offsets]
event_year=0x0004
id=0x0014
killed_hist_id=0x0018
[item_offsets]
item_type=0x0001
item_def=0x00b0
id=0x0018
general_refs=0x002c
stack_size=0x0064
wear=0x0078
mat_type=0x0088
mat_index=0x008c
maker_race=0x0090
quality=0x0092
[item_subtype_offsets]
sub_type=0x0020
name=0x0044
name_plural=0x0060
adjective=0x007c
[item_filter_offsets]
item_subtype=0x0002
mat_class=0x0004
mat_type=0x0006
mat_index=0x0008
[weapon_subtype_offsets]
single_size=0x00c0
multi_size=0x00c4
ammo=0x00a4
melee_skill=0x00a0
ranged_skill=0x00a2
[armor_subtype_offsets]
layer=0x0008
mat_name=0x0098
other_armor_level=0x009c
armor_adjective=0x00b4
armor_level=0x00d4
chest_armor_properties=0x00e0
pants_armor_properties=0x00e8
other_armor_properties=0x00ac
[material_offsets]
solid_name=0x00a4
liquid_name=0x00c0
gas_name=0x00dc
powder_name=0x00f8
paste_name=0x0114
pressed_name=0x0130
flags=0x0248
inorganic_materials_vector=0x0120
inorganic_flags=0x002c
[plant_offsets]
name=0x0038
name_plural=0x0054
name_leaf_plural=0x00e0
name_seed_plural=0x00a8
materials_vector=0x0214
flags=0x0030
[descriptor_offsets]
color_name=0x003c
shape_name_plural=0x0058
[health_offsets]
parent_id=0x0038
body_part_flags=0x003c
layers_vector=0x0044
number=0x0068
names_vector=0x0070
names_plural_vector=0x0080
layer_tissue=0x001c
layer_global_id=0x0050
tissue_name=0x0024
tissue_flags=0x001c
[dwarf_offsets]
first_name=0x0000
nick_name=0x001c
last_name=0x0038
custom_profession=0x006c
profession=0x0088
race=0x008c
flags1=0x00e0
flags2=0x00e4
flags3=0x00e8
meeting=0x00f0
caste=0x00fc
sex=0x00fe
id=0x0100
animal_type=0x0108
civ=0x0110
specific_refs=0x0158
squad_id=0x0178
squad_position=0x017c
recheck_equipment=0x01dc
mood=0x0280
birth_year=0x02a0
birth_time=0x02a4
pet_owner_id=0x02c8
current_job=0x039c
physical_attrs=0x0470
body_size=0x054c
size_info=0x0518
curse=0x0648
curse_add_flags1=0x0634
turn_count=0x0710
souls=0x080c
states=0x0760
labors=0x0830
hist_id=0x0918
artifact_name=0x07a0
active_syndrome_vector=0x096c
syn_sick_flag=0x0038
unit_health_info=0x09e4
temp_mood=0x0620
counters1=0x0608
counters2=0x0624
counters3=0x0734
limb_counters=0x0920
blood=0x0530
body_component_info=0x03ac
layer_status_vector=0x0030
wounds_vector=0x042c
mood_skill=0x03a0
used_items_vector=0x09e8
affection_level=0x000c
inventory=0x0318
inventory_item_mode=0x0004
inventory_item_bodypart=0x0006
[syndrome_offsets]
cie_effects=0x001c
cie_end=0x0014
cie_first_perc=0x0070
cie_phys=0x0088
cie_ment=0x00a4
syn_classes_vector=0x008c
trans_race_id=0x00ac
[unit_wound_offsets]
parts=0x0004
id=0x0004
layer=0x0006
general_flags=0x0020
flags1=0x0048
flags2=0x004c
effects_vector=0x0034
bleeding=0x0050
pain=0x0054
cur_pen=0x007c
max_pen=0x007e
[soul_details]
name=0x0004
orientation=0x0078
mental_attrs=0x009c
skills=0x0208
preferences=0x0218
personality=0x0228
beliefs=0x0000
emotions=0x0020
goals=0x0030
goal_realized=0x001c
traits=0x0054
stress_level=0x00e0
[emotion_offsets]
emotion_type=0x0000
strength=0x0008
thought_id=0x000c
sub_id=0x0010
level=0x0014
year=0x0020
year_tick=0x0024
[job_details]
id=0x000c
mat_type=0x0028
mat_index=0x002c
mat_category=0x0040
on_break_flag=0x0011
sub_job_id=0x0044
reaction=0x001c
reaction_skill=0x0060
[squad_offsets]
id=0x0000
name=0x0004
alias=0x0070
members=0x008c
orders=0x009c
schedules=0x00ac
sched_size=0x0040
sched_orders=0x0020
sched_assign=0x0030
alert=0x00bc
carry_food=0x0148
carry_water=0x014a
ammunition=0x00f8
ammunition_qty=0x000c
quiver=0x00f4
backpack=0x00f8
flask=0x00fc
armor_vector=0x0054
helm_vector=0x0064
pants_vector=0x0074
gloves_vector=0x0084
shoes_vector=0x0094
shield_vector=0x00a4
weapon_vector=0x00b4
uniform_item_filter=0x0004
uniform_indiv_choice=0x0024
[activity_offsets]
activity_type=0x0004
events=0x0008
participants=0x0034
sq_lead=0x0080
sq_skill=0x0088
sq_train_rounds=0x0094
pray_deity=0x007c
pray_sphere=0x0080
knowledge_category=0x008c
knowledge_flag=0x0090
perf_type=0x007c
perf_participants=0x00ac
perf_histfig=0x000c
[valid_flags_2]
size=0
[invalid_flags_1]
size=9
1\name=a skeleton
1\value=0x00002000
2\name=a merchant
2\value=0x00000040
3\name=outpost liason or diplomat
3\value=0x00000800
4\name=an invader or hostile
4\value=0x00020000
5\name=an invader or hostile
5\value=0x00080000
6\name=resident, invader or ambusher
6\value=0x00600000
7\name=part of a merchant caravan
7\value=0x00000080
8\name="Dead, Jim."
8\value=0x00000002
9\name=marauder
9\value=0x00000010
[invalid_flags_2]
size=5
1\name="killed, Jim."
1\value=0x00000080
2\name=from the Underworld. SPOOKY!
2\value=0x00040000
3\name=resident
3\value=0x00080000
4\name=uninvited visitor
4\value=0x00400000
5\name=visitor
5\value=0x00800000
[invalid_flags_3]
size=1
1\name=a ghost
1\value=0x00001000
In my case path was /usr/local/share/dwarftherapist/memory_layouts/linux/v042.06.iniSpoiler: v0.42.06 linux (click to show/hide)Code: [Select][info]
checksum=0x6ffd260f
version_name=v0.42.06 linux
complete=true
[addresses]
cur_year_tick=0x09bd2da0
current_year=0x09bd2d80
dwarf_civ_index=0x09bd5268
dwarf_race_index=0x09bd5274
fortress_entity=0x09bd9dac
historical_entities_vector=0x09bdde50
creature_vector=0x09bf16ec
active_creature_vector=0x09bf16f8
weapons_vector=0x09bf1798
shields_vector=0x09bf17e0
quivers_vector=0x09bf1804
crutches_vector=0x09bf1828
backpacks_vector=0x09bf1834
ammo_vector=0x09bf1840
flasks_vector=0x09bf1990
pants_vector=0x09bf1d14
armor_vector=0x09bf1d44
shoes_vector=0x09bf1d50
helms_vector=0x09bf1d5c
gloves_vector=0x09bf1d68
artifacts_vector=0x09bf1dbc
squad_vector=0x09cec5c4
activities_vector=0x09cec5f4
fake_identities_vector=0x09ceda30
poetic_forms_vector=0x09cedb14
musical_forms_vector=0x09cedb2c
dance_forms_vector=0x09cedb44
occupations_vector=0x09cedb8c
world_data=0x09cf08ec
material_templates_vector=0x09cf1020
inorganics_vector=0x09cf102c
plants_vector=0x09cf1044
races_vector=0x09cf10e0
itemdef_weapons_vector=0x09cf1120
itemdef_trap_vector=0x09cf112c
itemdef_toy_vector=0x09cf1138
itemdef_tool_vector=0x09cf1144
itemdef_instrument_vector=0x09cf1258
itemdef_armor_vector=0x09cf1264
itemdef_ammo_vector=0x09cf1270
itemdef_siegeammo_vector=0x09cf127c
itemdef_glove_vector=0x09cf1288
itemdef_shoe_vector=0x09cf1294
itemdef_shield_vector=0x09cf12a0
itemdef_helm_vector=0x09cf12ac
itemdef_pant_vector=0x09cf12b8
itemdef_food_vector=0x09cf12c4
language_vector=0x09cf12dc
translation_vector=0x09cf12f4
colors_vector=0x09cf58c0
shapes_vector=0x09cf58cc
reactions_vector=0x09cf58e4
base_materials=0x09cf5eac
all_syndromes_vector=0x09cf691c
events_vector=0x09cf6e28
historical_figures_vector=0x09cf6e40
world_site_type=0x0044
active_sites_vector=0x00048200
[offsets]
word_table=0x001c
string_buffer_offset=0x0000
[word_offsets]
base=0x0000
noun_singular=0x0004
noun_plural=0x0008
adjective=0x000c
verb=0x0014
present_simple_verb=0x0018
past_simple_verb=0x001c
past_participle_verb=0x0020
present_participle_verb=0x0024
words=0x0008
word_type=0x0024
language_id=0x0034
[general_ref_offsets]
ref_type=0x0008
artifact_id=0x0004
item_id=0x0004
[race_offsets]
name_singular=0x0004
name_plural=0x0008
adjective=0x000c
baby_name_singular=0x0010
baby_name_plural=0x0014
child_name_singular=0x0018
child_name_plural=0x001c
pref_string_vector=0x0048
castes_vector=0x0060
pop_ratio_vector=0x006c
materials_vector=0x2164
flags=0x0078
tissues_vector=0x2170
[caste_offsets]
caste_name=0x0004
caste_descr=0x0044
caste_trait_ranges=0x01a8
caste_phys_att_ranges=0x0c6c
baby_age=0x00ec
child_age=0x00f0
adult_size=0x0104
flags=0x02d4
body_info=0x02e0
skill_rates=0x03fc
caste_att_rates=0x0e80
caste_att_caps=0x0fb0
shearable_tissues_vector=0x10a8
extracts=0x1554
[hist_entity_offsets]
histfigs=0x0070
beliefs=0x06ac
squads=0x09b4
positions=0x0930
assignments=0x0958
assign_hist_id=0x0004
assign_position_id=0x000c
position_id=0x0004
position_name=0x0040
position_female_name=0x0048
position_male_name=0x0050
[hist_figure_offsets]
hist_race=0x0002
hist_name=0x0038
id=0x0094
hist_fig_info=0x00c0
reputation=0x002c
current_ident=0x0018
fake_name=0x0004
fake_birth_year=0x0050
fake_birth_time=0x0054
kills=0x0018
killed_race_vector=0x000c
killed_undead_vector=0x0048
killed_counts_vector=0x0054
[hist_event_offsets]
event_year=0x0004
id=0x0014
killed_hist_id=0x0018
[item_offsets]
item_type=0x0001
item_def=0x00a4
id=0x0018
general_refs=0x0028
stack_size=0x005c
wear=0x0070
mat_type=0x0080
mat_index=0x0084
maker_race=0x0088
quality=0x008a
[item_subtype_offsets]
sub_type=0x0008
name=0x0028
name_plural=0x002c
adjective=0x0030
[item_filter_offsets]
item_subtype=0x0002
mat_class=0x0004
mat_type=0x0006
mat_index=0x0008
[weapon_subtype_offsets]
single_size=0x0044
multi_size=0x0048
ammo=0x0040
melee_skill=0x003c
ranged_skill=0x003e
[armor_subtype_offsets]
layer=0x0008
mat_name=0x0034
other_armor_level=0x0038
armor_adjective=0x0038
armor_level=0x0040
chest_armor_properties=0x004c
pants_armor_properties=0x0054
other_armor_properties=0x0048
[material_offsets]
solid_name=0x0044
liquid_name=0x0048
gas_name=0x004c
powder_name=0x0050
paste_name=0x0054
pressed_name=0x0058
flags=0x00c8
inorganic_materials_vector=0x00cc
inorganic_flags=0x0010
[plant_offsets]
name=0x001c
name_plural=0x0020
name_leaf_plural=0x0034
name_seed_plural=0x002c
materials_vector=0x014c
flags=0x0014
[descriptor_offsets]
color_name=0x001c
shape_name_plural=0x0020
[health_offsets]
parent_id=0x0008
body_part_flags=0x000c
layers_vector=0x0014
number=0x0034
names_vector=0x003c
names_plural_vector=0x0048
layer_tissue=0x0004
layer_global_id=0x0034
tissue_name=0x000c
tissue_flags=0x0004
[dwarf_offsets]
first_name=0x0000
nick_name=0x0004
last_name=0x0008
custom_profession=0x003c
profession=0x0040
race=0x0044
flags1=0x008c
flags2=0x0090
flags3=0x0094
meeting=0x009c
caste=0x00a8
sex=0x00aa
id=0x00ac
animal_type=0x00b4
civ=0x00bc
specific_refs=0x00f8
squad_id=0x0110
squad_position=0x0114
recheck_equipment=0x0160
mood=0x01e8
birth_year=0x0208
birth_time=0x020c
pet_owner_id=0x0230
current_job=0x02f0
physical_attrs=0x03a0
body_size=0x0478
size_info=0x0448
curse=0x0550
curse_add_flags1=0x053c
turn_count=0x05bc
souls=0x0674
states=0x0604
labors=0x0690
hist_id=0x0758
artifact_name=0x0638
active_syndrome_vector=0x07a0
syn_sick_flag=0x0030
unit_health_info=0x0800
temp_mood=0x0528
counters1=0x0510
counters2=0x052c
counters3=0x05d8
limb_counters=0x0760
blood=0x0460
body_component_info=0x0300
layer_status_vector=0x0024
wounds_vector=0x0360
mood_skill=0x02f4
used_items_vector=0x0804
affection_level=0x000c
inventory=0x0280
inventory_item_mode=0x0004
inventory_item_bodypart=0x0006
[syndrome_offsets]
cie_effects=0x0004
cie_end=0x0014
cie_first_perc=0x0060
cie_phys=0x0078
cie_ment=0x0094
syn_classes_vector=0x0058
trans_race_id=0x006c
[unit_wound_offsets]
parts=0x0004
id=0x0004
layer=0x0006
general_flags=0x001c
flags1=0x003c
flags2=0x0040
effects_vector=0x002c
bleeding=0x0044
pain=0x0048
cur_pen=0x0070
max_pen=0x0072
[soul_details]
name=0x0004
orientation=0x0048
mental_attrs=0x006c
skills=0x01d8
preferences=0x01e4
personality=0x01f0
beliefs=0x0000
emotions=0x0018
goals=0x0024
goal_realized=0x0018
traits=0x0040
stress_level=0x00c4
[emotion_offsets]
emotion_type=0x0000
strength=0x0008
thought_id=0x000c
sub_id=0x0010
level=0x0014
year=0x0020
year_tick=0x0024
[job_details]
id=0x000c
mat_type=0x0028
mat_index=0x002c
mat_category=0x0040
on_break_flag=0x0011
sub_job_id=0x0044
reaction=0x0004
reaction_skill=0x0028
[squad_offsets]
id=0x0000
name=0x0004
alias=0x0040
members=0x0044
orders=0x0050
schedules=0x005c
sched_size=0x0020
sched_orders=0x0008
sched_assign=0x0014
alert=0x0068
carry_food=0x00d4
carry_water=0x00d6
ammunition=0x0098
ammunition_qty=0x000c
quiver=0x00a8
backpack=0x00ac
flask=0x00b0
armor_vector=0x0040
helm_vector=0x004c
pants_vector=0x0058
gloves_vector=0x0064
shoes_vector=0x0070
shield_vector=0x007c
weapon_vector=0x0088
uniform_item_filter=0x0004
uniform_indiv_choice=0x0020
[activity_offsets]
activity_type=0x0004
events=0x0008
participants=0x002c
sq_lead=0x0068
sq_skill=0x0070
sq_train_rounds=0x007c
pray_deity=0x0064
pray_sphere=0x0068
knowledge_category=0x0074
knowledge_flag=0x0078
perf_type=0x0064
perf_participants=0x0094
perf_histfig=0x000c
[valid_flags_2]
size=0
[invalid_flags_1]
size=9
1\name=a skeleton
1\value=0x00002000
2\name=a merchant
2\value=0x00000040
3\name=outpost liason or diplomat
3\value=0x00000800
4\name=an invader or hostile
4\value=0x00020000
5\name=an invader or hostile
5\value=0x00080000
6\name=resident, invader or ambusher
6\value=0x00600000
7\name=part of a merchant caravan
7\value=0x00000080
8\name="Dead, Jim."
8\value=0x00000002
9\name=marauder
9\value=0x00000010
[invalid_flags_2]
size=5
1\name="killed, Jim."
1\value=0x00000080
2\name=from the Underworld. SPOOKY!
2\value=0x00040000
3\name=resident
3\value=0x00080000
4\name=uninvited visitor
4\value=0x00400000
5\name=visitor
5\value=0x00800000
[invalid_flags_3]
size=1
1\name=a ghost
1\value=0x00001000
Thank you so much for this, sv-esk and Blue_Dwarf! As a very new player, I was having quite a bit of anxiety without DT (especially when >50 dwarves). The Windows memory layout works like a charm, and it's up and running again.
I just have a few questions to get my bearings regarding DT:
• I read earlier in the thread that DT is reliant on DFHack updating their memory layouts. If that is the case, how were you able to pull this code together before the DFHack devs?
• Does this code need more thorough testing before Splinterz is willing to post it as the v37.0 download? If so, is there a structured process that people go through to help Splinterz test?
• PeridexisErrant posted earlier that https://dfhack.readthedocs.org/en/latest/library/xml/how-to-update.html is how the utility devs update their memory layouts / programs for each new Dwarf Fortress release. Is the whole process best left to them, or is there any portion of it that non-devs can help out with?