-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathchangelog.txt
More file actions
510 lines (421 loc) · 34.5 KB
/
changelog.txt
File metadata and controls
510 lines (421 loc) · 34.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
===[[[
This file contains changes specific to the df-structures repo. See
docs/changelog.txt in the dfhack repo for a full description, or
https://docs.dfhack.org/en/latest/docs/Compile.html#build-changelog
NOTE: currently, gen_changelog.txt expects a "Future" section to exist at the
top of this file (even if no changes are listed under it), or you will get a
"Entry without section" error. Also, to maintain proper sorting in the generated
changelogs when making a new release, docs/changelog.txt in the dfhack repo must
have the new release listed in the right place, even if no changes were made in
that repo.
Template for new versions:
## Structures
]]]
# Future
## Structures
- filled in missing ``original-name`` attributes
- fixed assorted typos in ``original-name`` attributes
- ensured that ``original-name`` always appears after ``name`` or ``type-name``, never before
- fixed several structure field type errors
- specific changes: fixed ``building_constructionst.type`` to be 32-bit, along with the ``construction_type`` enum
- specific changes: fixed ``contextst.interrogator_relationships`` to be a pointer to ``evidence_repositoryst``
- specific changes: fixed ``actor_entryst.associated_org`` to contain pointers to ``organization_entryst``
- specific changes: fixed ``justice_interfacest.interrogation_report`` to contain pointers to ``interrogation_report``
- specific changes: fixed ``main_interface_settings.member`` to contain shared pointers to ``world_gen_param_valuest``
- specific changes: fixed ``squad_equipment_interfacest.am_cand_subtype`` to contain ``int16_t``
- specific changes: fixed ``startup_charactersheet_petst.race`` to be ``int32_t``
- specific changes: fixed ``lookinfo_verminst.caste`` to be ``int16_t``
- specific changes: fixed ``intrigue_corruption.facet_rating`` to be ``int16_t``
- specific changes: fixed ``historical_entity.current_wgwg`` to be a direct pointer
- specific changes: fixed ``historical_figure.worldgen_relationships`` to be a direct pointer
- specific changes: fixed ``pmd_tree_texture_infost.texpos_tree_wood_tile`` to use correct array length (sized against the correct enum)
- fixed several enums
- specific changes: fixed ``build_square_type`` enum to add missing element ``OUTSIDE``
- specific changes: swapped ``main_hover_instruction`` elements ``ADVENTURE_MOVE_DOWN_RAMP_E`` and ``ADVENTURE_MOVE_DOWN_RAMP_W``
- added some missing enums and bitfields
- specific changes: ``viewscreen_titlest.mode`` now uses new enum ``title_mode_type``
- specific changes: ``viewscreen_worldst.squad_flag`` now uses new bitfield ``civlist_squad_flag``
- specific changes: ``viewscreen_worldst.messenger_flag`` now uses new bitfield ``civlist_messenger_flag``
- specific changes: fixed ``historical_entity.resources.art_image_types`` to use new ``entity_art_image_type`` enum
- changed various fields to make use of existing enums and bitfields
- specific changes: ``adventure_movement_movest.aim_attack_flag`` now uses ``aim_attack_flag`` bitfield
- specific changes: ``adventure_movement_mountst.riderposition`` now uses ``rider_positions_type`` enum
- specific changes: ``adventure_constructionst.building_jobitemflag`` now uses ``job_material_category`` bitfield
- specific changes: ``adventure_constructionst.mat_jobitemflag`` now uses ``job_material_category`` bitfield
- specific changes: ``adventure_constructionst.mat_jobitemflag_master`` now uses ``job_material_category`` bitfield
- specific changes: ``building_defst.build_key`` now uses ``interface_key`` enum
- specific changes: ``body_detail_plan.bp_layers_tissue`` now uses ``creature_interaction_effect_target_mode`` enum
- specific changes: ``body_detail_plan.bp_position_value`` now uses ``body_part_position_type`` enum
- specific changes: ``body_detail_plan.bp_relation_value_1`` now uses ``body_part_relation_type`` enum
- specific changes: ``custom_stockpile_interfacest.cur_main_mode_flag`` now uses ``stockpile_group_set`` bitfield
- specific changes: ``custom_stockpile_interfacest.main_mode_flag`` now uses ``stockpile_group_set`` bitfield
- specific changes: ``name_creator_interfacest.cur_name_place`` now uses ``language_name_component`` enum
- specific changes: ``name_creator_interfacest.cur_word_place`` now uses ``language_word_table_index`` enum
- specific changes: ``dance_form_section.dance_flag`` now uses ``dance_flag`` bitfield
- specific changes: ``evidence_hf_filest.evidence`` now uses ``evidence_type`` enum
- specific changes: ``historical_entity.resources.scholar_flag`` now uses ``entity_scholar_flag`` bitfield
- specific changes: ``interaction_effect_summon_unitst`` fields ``required_creature_flags`` and ``forbidden_creature_flags`` now use ``creature_raw_flags`` enum
- specific changes: ``interaction_effect_summon_unitst`` fields ``required_caste_flags`` and ``forbidden_caste_flags`` now use ``caste_raw_flags`` enum
- specific changes: ``interaction_effect_change_weatherst`` fields ``add_weather_flag`` and ``remove_weather_flag`` now use ``region_weather_bits`` bitfield
- specific changes: ``creature_interaction_effect_body_transformationst`` fields ``required_creature_flags`` and ``forbidden_creature_flags`` now use ``creature_raw_flags`` enum
- specific changes: ``creature_interaction_effect_body_transformationst`` fields ``required_caste_flags`` and ``forbidden_caste_flags`` now use ``caste_raw_flags`` enum
- specific changes: ``unit_personality.habit`` now uses ``habit_type`` enum
- specific changes: ``world_region_feature.vertical_connection`` now uses ``layer_connection_type`` enum
- specific changes: ``site_construction_blueprintst`` fields ``construction_type`` and ``building_type`` now use ``building_type`` enum
- specific changes: ``site_construction_blueprintst`` fields ``construction_jobitemflag`` and ``building_jobitemflag`` now use ``job_material_category`` bitfield
- fixed various fields to use correct signedness
- specific changes: ``building_weaponrackst.rack_flags`` is now unsigned
- specific changes: ``temperaturest.fraction`` is now unsigned
- specific changes: ``historical_entity`` fields ``did_wg_variable_position`` and ``did_wg_variable_market_position`` are now unsigned
- specific changes: ``item_body_component`` fields ``nonsolid_remaining``, ``layer_wound_area``, ``layer_cut_fraction``, ``layer_dent_fraction``, and ``layer_effect_fraction`` are now signed
- specific changes: ``unit_personality.traits`` is now signed
- specific changes: ``rpd_indicator_datast`` fields ``marker_char``, ``marker_f``, ``marker_b``, and ``marker_br`` are now unsigned
- specific changes: ``embark_note.tile`` is now unsigned
- specific changes: ``world_population`` fields ``count_min``, ``count_max``, and ``temp_num`` are now unsigned
- specific changes: ``world_site_realization.mini_colors`` is now unsigned
- specific changes: ``unit.body.components`` fields ``nonsolid_remaining``, ``layer_wound_area``, ``layer_cut_fraction``, ``layer_dent_fraction``, and ``layer_effect_fraction`` are now signed
- specific changes: ``unit.body`` fields ``blood_max`` and ``blood_count`` are now signed
- specific changes: ``unit.counters`` fields ``pain``, ``nausea``, and ``dizziness`` are now signed
- specific changes: ``unit`` fields ``uwss_alt_period``, ``uwss_alt_on_period``, ``uwss_speed_add``, ``uwss_speed_perc``, and ``uwss_skill_role_adjust`` are now signed
- specific changes: ``unit.counters`` fields ``paralysis``, ``numbness``, ``fever``, ``exhaustion``, ``hunger_timer``, ``thirst_timer``, ``sleepiness_timer``, ``stomach_content``, ``stomach_food``, ``vomit_timeout``, and ``stored_fat`` are now signed
- specific changes: ``unit.status2.liquid_depth`` are now signed
- fixed various fields to use ``int8_t`` or ``bool`` as appropriate
- specific changes: ``viewscreen_dwarfmodest.sideSubmenu`` is now ``bool``
- specific changes: ``entity_raw`` fields ``likes_site``, ``tolerates_site``, ``start_biome``, ``settlement_biome``, and ``active_season`` are now ``bool``
- specific changes: ``entity_raw.jobs.permitted_labor`` is now ``int8_t``
- specific changes: ``graphicst`` fields ``do_clean_tile_cache`` and ``do_post_init_texture_clear`` are now ``bool``
- specific changes: ``world_generatorst`` fields ``have_logged_parameters`` and ``last_used_valid`` are now ``bool``
- other changes: added name to field ``cgl_itemst.item_type``
- other changes: ``inclusion_type`` now has 16-bit base type (though nothing relies on it)
- other changes: renamed ``adventure_interface_attackst.scrselected_item_idoll_position_wrestle`` to ``selected_item_id``
- fixed base types of ``creature_sound_type``, ``creature_sound_method_type``, and ``art_image_property_verb``
- assigned proper bitfield data type on ``agreement_details_data_plot_infiltration_coup.flags``
- merged ``item_statue_graphics_type`` bitfield into ``item_statue_graphics_flag``
- fixed several typos in ``original-name`` attributes
# 53.11-r2
## Structures
- reordered XML attributes for consistency: ``ret-type``, ``base-type``, ``type-name``, and ``pointer-type`` now appear first (and in that exact order)
# 53.11-r1
## Structures
- added codegen support for ``static-wstring`` (``wchar_t *``), required to support DF 53.11
# 53.10-r2
## Structures
- added ``original-name`` attributes to all relevant objects
- fixed numerous structure errors
- specific changes: added NONE entries to many enum types (may affect C++ code using switch() statements): abstract_building_reputation_type, adopt_region_stage_type, artifact_claim_type, block_square_event_type, building_profile_acquisition_method, civzone_type, dance_form_context, dance_form_group_size, dance_form_move_type, divination_outcome_type, dungeon_type, dungeon_wrestle_type, embark_finder_option, environment_type, era_type, flow_type, genetic_modifier_type, hf_artifact_action_type, history_event_collection_type, incident_artifact_location_type, incident_type, incident_written_content_location_type, insurrection_outcome, interaction_flags, interaction_source_type, intrigue_corruption_method_type, inventory_profile_skill_type, inv_item_role_type, journey_type, language_name_category, language_name_component, language_word_table_index, load_game_stage_type, main_choice_type, misc_trait_type, musical_form_melody_frequency, musical_form_melody_style, musical_form_purpose, occasion_schedule_feature, occasion_schedule_type, occupation_type, personality_preference_type, plant_material_def, poetic_form_persona_type, poetic_form_persona_type, prepare_rod_stage_type, projectile_type, region_weather_type, report_zoom_type, resource_allotment_specifier_type, save_substage, scale_construction_type, scale_naming_type, scale_type, secretion_condition, simple_action_type, site_dispute_type, squad_order_cannot_reason, squad_order_type, tactical_situation, talk_choice_type, theft_method_type, timbre_type, travel_log_itinerary_type, workquota_frequency_type, world_construction_type, wrestle_attack_type
- specific changes: assigned explicit "UNUSED" names to anonymous enum/bitfield members which are unused
- specific changes: expanded ``builtin_mats`` to include 640 new elements for CREATURE_1-200, HIST_FIG_1-200, PLANT_1-200, and UNUSED01-40
- specific changes: assigned proper placeholder names to ``interface_key`` section labels
- specific changes: promoted several inline-defined types to top-level (intrigue_corruption_flag, job_posting_flag, unitproperyplacementst)
- specific changes: ``plant_raw.stockpile_growth_flags`` now uses ``ras_crop_flag``
- specific changes: added ``entity_raw_flags`` element "SIEGE_SKILLED_MINERS"
- specific changes: added ``stockpile_category`` element "ALL"
- specific changes: fixed structure layouts for ``adventure_interface_companionsst``, ``caste_raw``, ``entity_position_assignment``, ``message_order_to_perform_actionst``, and ``workshop_graphics_infost``
- specific changes: renamed ``army_controller_goal_infiltrate_societyst`` field "agoal_ab_id" to "goal_ab_id"
- specific changes: renamed ``creature_graphics_layer`` field "dye_color_iuse_palette_rowndex" to "use_palette_row"
- specific changes: renamed ``entity_raw_flags`` enum member "MISSING_UNDERWORLD_DISASTERS" to "MINING_UNDERWORLD_DISASTERS"
- specific changes: assigned proper names to ``hf_religious_datast.anon_1``, ``pet_profilest.anon_1``, and ``unit_vision_arcst.anon_1``
- specific changes: renamed ``historical_entity`` field "unkarmy_reeling_defense" to "army_reeling_defense"
- specific changes: renamed ``history_event_hf_learns_secretst`` field "interaction_effect" to "interaction_source"
- specific changes: renamed ``item_craft_graphics_flag`` field "size" to "material"
- specific changes: renamed ``lookinfo_spatterst`` field "extend" to "extent"
- specific changes: renamed ``personality_ethicst`` field "reponse" to "response"
- specific changes: renamed ``personality_facet_type`` enum member "PERSEVERENCE" to "PERSEVERANCE"
- specific changes: renamed ``value_type`` enum member "PERSEVERENCE" to "PERSEVERANCE"
- specific changes: renamed ``poetic_form_action`` enum member "MakeConsession" to "MakeConcession"
- specific changes: renamed ``simple_action_type`` enum member "performe_horrible_experiments" to "performed_horrible_experiments"
- specific changes: renamed ``stair_graphics_flag_material`` enum member "FOZEN" to "FROZEN"
- specific changes: renamed ``timbre_type`` enum member "PURE\_" to "PURE"
- specific changes: renamed ``tissue_style_type`` enum member "PONY_TAILS" to "PONY_TAIL"
- specific changes: renamed ``unit`` field "job.siege_boulder" to "job.siege_builder"
- specific changes: renamed ``unit`` field "pool_index" to "pool_id"
- specific changes: renamed ``viewscreen_choose_start_sitest`` field "def_candidate_nearst" to "def_candidate_near_st"
- specific changes: changed ``caste_raw.extracts.blood_state`` and ``caste_raw.extracts.pus_state`` to use the ``matter_state`` enum
- specific changes: changed ``d_init.display.track_tile_invert`` and ``d_init.display.track_ramp_invert`` to use a bitfield
- specific changes: changed ``interrogation_resultst.relationship_factor`` to use a new enum type (which DF itself actually isn't using yet due to a bug)
- specific changes: changed ``intrigue_perspectivest.potential_corrupt_circumstance_target[]`` to contain ``circumstance_id`` unions instead of plain integers
- specific changes: changed ``world.buildings.other.WINDOW_ANY`` to specify the correct element type
- specific changes: changed ``world.items.other.BAG``, ``world.items.other.BOLT_THROWER_PARTS``, ``world.items.other.ANY_DRINK``, ``world.items.other.ANY_CRITTER``, and ``world.items.other.FOOD_STORAGE`` to specify the correct element types
- specific changes: changed ``game.main_interface.last_displayed_hover_inst`` to use the ``main_hover_instruction`` enum
- specific changes: changed ``world.raws.music.all[N].m_event[]`` and ``world.raws.music.all[N].context[]`` to hold enums
- specific changes: changed ``widget_job_details_button.jb`` to correctly point at a ``job`` instead of a generic pointer
- specific changes: changed ``world.worldgen_status.rejection_reason`` to use the ``map_reject_type`` enum
- specific changes: changed ``world.history.first_[research]_flag[N]`` to use the various ``knowledge_scholar_flags_N`` bitfields
- specific changes: changed the ``history_event`` vmethods ``getSentence`` and ``getPhrase`` to add 2 new boolean arguments (to which the game always passes "true, false")
- specific changes: changed the ``interaction_target`` vmethod ``affects_unit`` first parameter from an integer to a unit pointer
- specific changes: changed the ``item`` vmethod ``getGloveHandedness`` return type from int8_t to uint32_t
- specific changes: changed the ``item`` vmethod ``getAmmoType`` to take no parameters and to return an ``std::string`` by value
- specific changes: changed the ``item`` vmethod ``getDyeAmount`` to take an integer parameter
- specific changes: changed the ``unit`` vmethod ``getCreatureTile`` to take a boolean parameter
- specific changes: add ``ref-target`` attributes to various fields that were missing them, for use by ``gui/gm-editor`` and similar tools
- specific changes: changed ``caste_raw.extracts.vermin_bite_chance`` to ``vermin_bite_state`` and changed its type to ``matter_state``
- specific changes: changed ``ci_personal_reputation_profilest`` field ``entity_id`` to ``cultural_identity`` (now referring to a ``cultural_identity``)
- specific changes: changed ``cultural_identity.events[]`` to ``cultural_identity.rumor_info.events[]``
- specific changes: changed ``dance_form`` field ``entity`` to ``event`` (now referring to at a ``history_event``)
- specific changes: changed ``dance_form_section`` field ``acts_out_civ`` to ``acts_out_event`` (now referring to a ``history_event``)
- specific changes: changed ``entity_burial_request`` field ``civ`` to ``hfid`` (now referring to a ``historical_figure``)
- specific changes: changed ``entity_pop_specifierst`` field ``squad_id`` to ``squad_enid`` (now referring to a ``historical_entity``)
- specific changes: changed ``gps.color[x][y]`` to ``gps.default_palette.color[x*16+y]``
- specific changes: changed ``history_event_modified_buildingst`` field ``modification`` to use a different bitfield ``abstract_building_tower_flag``
- specific changes: changed ``itemdef_ammost``, ``itemdef_siegeammost``, ``itemdef_toolst``, ``itemdef_trapcompst``, and ``itemdef_weaponst`` fields "texpos" (and "texpos2") into longer lists of specific fields
- specific changes: changed ``knowledge_profilest.known_events[]`` to ``knowledge_profilest.rumor_info.events[]``
- specific changes: changed ``relationship_event_supplement`` integer field ``occasion_type`` to ``circumstance`` of type ``unit_thought_type`` (an enum)
- specific changes: changed ``relationship_event_supplement`` integer field ``site`` to ``circumstance_id`` field of type ``circumstance_id`` (a union)
- specific changes: changed ``relationship_event_supplement`` field ``profession`` to ``reason_id`` field of type ``history_event_reason_id``
- specific changes: changed ``scholar_knowledge.knowledge_goal`` bitfield to a union of all ``knowledge_scholar_flags_N`` bitfields (selected by the value of ``scholar_knowledge.research_prject``)
- specific changes: changed ``unit.enemy.rumor[]`` to ``unit.enemy.rumor_info.events[]``
# 53.07-r1
## Structures
- updated codegen to generate enum trait constants as ``constexpr``
# 53.06-r1
## Structures
- added missing field in history_event_artifact_createdst
- fixed incorrect base class on widget_anchored_tile
# 53.04-r1
## Structures
- several arrays indexed by enums have been recoded to use the enum's size to size the array so that these will automatically update when the enum is updated, reflecting Bay12 practice
# 52.03-r2
## Structures
- added default values for ``material`` and ``mat_index`` in ``reaction_reagentst`` and ``reaction_productst`` child classes
# 52.03-r1.1
## Structures
- fixed alignment issue in ``entity_raw``
# 52.01-r1
## Structures
- removed fake ``curse`` compound in ``unitst`` to resolve an alignment issue
# 51.07-r1
## Structures
- reorganize all structure definitions to match bay12 header layouts
- promote all bay12 structures, enums, and bitfields to top-level types: this means that most ``T_*`` types now have top-level names
- create numerous new structures whose contents had previously been missing or inlined into other structures
- merged several duplicate structure/enum types
- fix a variety of structure errors
- specific changes: Building vmethod ``countHospitalSupplies`` now returns ``abstract_building_contents`` instead of ``hospital_supplies``, which has different field names
- specific changes: When indexing into a vector named ``scribejobs``, replace ``item_id`` and ``written_content_id`` with ``target_id`` and ``relevant_id``
- specific changes: ``conversation_state_type.DenyPermissionSleep`` is now ``SleepPermissionRequested``
- specific changes: ``block_square_event_spoorst.[whatever]`` is now ``block_square_event_spoorst.info.[whatever]``
- specific changes: ``building_stockpilest.max_*/container_*`` is now ``building_stockpilest.storage.max_*/container_*``
- specific changes: ``building_civzonest.zone_settings.pen`` is now ``building_civzonest.zone_settings.pen.flags``
- specific changes: ``building_civzonest.zone_settings.tomb`` is now ``building_civzonest.zone_settings.tomb.flags``
- specific changes: ``building_bridgest.gate_flags.closed/closing/opening`` are now ``raised/raising/lowering``
- specific changes: ``building_weaponst.gate_flags.closed/closing/opening`` are now ``retracted/retracting/unretracting``
- specific changes: ``building.design.builder1/builder1_civ/builder2`` are now ``.worker/worker_create_event/curworker`` (and the 2nd is a History Event, not an Entity)
- specific changes: ``stockpile_settings.allow_organic/allow_inorganic`` are now ``stockpile_settings.misc.allow_organic/allow_inorganic``
- specific changes: ``world.busy_buildings[]`` is now ``world.building_uses.buildings[]``
- specific changes: ``world.coin_batches`` is now ``world.coin_batches.all``
- specific changes: ``spatter.flags.water_soluble`` is now ``external``
- specific changes: ``creation_zone_pwg_alteration_campst.tent_matlgoss`` is now ``.tent_matgloss`` (spelling fix)
- specific changes: ``world.raws.body_templates`` and ``world.raws.bodyglosses`` are now ``world.raws.creaturebody.*``
- specific changes: ``world.raws.tissue_templates/body_detail_plans/creature_variations`` are now ``world.raws.*.all``
- specific changes: ``material_force_adjustst.mat_indx`` is now ``mat_index`` (spelling fix)
- specific changes: ``game.minimap.minimap[x][y]`` is now ``game.minimap.minimap[x][y].tile``
- specific changes: ``historical_entity.relations.diplomacy[]`` is now ``historical_entity.relations.diplomacy.state[]``
- specific changes: ``historical_entity.conquered_site_group_flags`` is now ``historical_entity.law.conquered_site_group_flags``
- specific changes: ``world.effects`` is now ``world.effects.all``
- specific changes: ``world.raws.entities`` is now ``world.raws.entities.all``
- specific changes: ``site_type`` enum deleted, merged with ``world_site_type``
- specific changes: ``world.event.dirty_waters[].*`` is now ``world.event.dirty_waters[].pos.*``
- specific changes: ``death_condition_type`` enum replaced with ``histfig_body_state`` (notably in ``state_profilest.body_state``)
- specific changes: ``history_hit_item``, ``history_event_reason_info``, and ``history_event_circumstance_info`` removed and substituted
- specific changes: ``knowledge_profilest.known_locations.ab_review[]`` is now ``.reports[]`` (because ``.known_locations`` got merged with ``site_reputation_info``)
- specific changes: ``world.raws.interactions[]`` is now ``world.raws.interactions.all[]``
- specific changes: ``itemdef_instrumentst.registers/timbre`` are now ``itemdef_instrumentst.timbre.registers/timbre``
- specific changes: ``dye_info`` removed and substituted
- specific changes: ``job_art_specification`` removed and substituted
- specific changes: ``entity_activity_statistics.discovered_(creature_foods/creatures/plant_foods/plants)`` is now ``entity_activity_statistics.knowledge.*``
- specific changes: ``world.mandates[]`` is now ``world.mandates.all[]``
- specific changes: ``creature_interaction_effect.counter_trigger.required`` is now ``creature_interaction_effect.counter_trigger.flag.bits.REQUIRED``
- specific changes: ``creature_interaction_effect_target`` removed and substituted
- specific changes: ``material_common`` removed, its contents prepended to ``material`` and ``material_template``
- specific changes: ``world.raws.material_templates`` is now ``world.raws.material_templates.all``
- specific changes: ``world.raws.syndromes`` is now ``world.raws.mat_table.syndromes``
- specific changes: ``world.raws.effects`` is now ``world.raws.mat_table.effects``
- specific changes: ``world.raws.inorganics`` is now ``world.raws.inorganics.all``
- specific changes: ``world.raws.inorganics_subset`` is now ``world.raws.inorganics.cheap``
- specific changes: ``plotinfo.main.selected_hotkey/in_rename_hotkey`` are now ``plotinfo.main.hotkey_interface.*``
- specific changes: ``world.proj_list`` is now ``world.projectiles.all``
- specific changes: ``general_ref_building_well_tag.direction`` is now a bitfield
- specific changes: ``world_region_details.edges.(split_x/split_y)[][].x/y`` are now ``.break_one/break_two``
- specific changes: ``world_population_ref.depth`` is now ``world_population_ref.layer_depth`` and is now an integer instead of an enum
- specific changes: Bitfield ``region_weather_flag`` is now ``region_weather_bits`` (to avoid conflicts)
- specific changes: Rhythm ``beat_flag`` realigned (``PrimaryAccent`` removed, because it wasn't really a unique flag)
- specific changes: ``dipscript_info.script_steps/script_vars`` are now ``dipscript_info.script.steps/vars``
- specific changes: ``script_step_discussst.event`` is now ``script_step_discussst.duration``
- specific changes: ``script_step_dipeventst`` and ``script_step_invasionst`` fields renamed
- specific changes: ``site_architecture_changest.spec_flag`` is now a tagged union
- specific changes: ``squad.schedule[x][y]`` is now ``squad.schedule.routine[x].month[y]``
- specific changes: ``world.unit_chunks`` is now ``world.unit_chunks.all``
- specific changes: ``historical_entity.events[]`` is now ``historical_entity.rumor_info.events``
- specific changes: ``world.enemy_status_cache.rel_map[x][y]`` is now ``world.enemy_status_cache.rel_map[x][y].ur``
- specific changes: ``unit.curse.interaction_id/interaction_time/interaction_delay/time_on_site/own_interaction/own_interaction_delay`` are now ``unit.curse.interaction.*``
- specific changes: ``unit.cached_glowtile_type`` is now ``unit.cache.cached_glowtile_type``
- specific changes: ``unit_preference.active`` is now ``unit_preference.flags.visible``
- specific changes: ``witness_report_flags`` replaced with correct flags
- specific changes: ``caste_body_info.clothing_items.[]`` is now ``caste_body_info.clothing_items.bp[]``
- specific changes: ``plant_tree_tile.branches_dir`` enum collapsed into 4 simple flags
- specific changes: ``world.populations`` is now ``world.populations.all``
- specific changes: ``world_data.constructions.map[x][y][N]`` is now ``world_data.constructions.map[x][y].square[N]``
- specific changes: ``world.family_info[]`` is now ``world.family_info.family[]``
- specific changes: ``world.fake_world_info[]`` is now ``world.fake_world_info.language[]``
- specific changes: ``world.selected_direction`` is now ``world.selected_direction[0]`` (and there are 3 additional entries)
# 50.15-r2
## Structures
- fixed incorrect vtable address for ``widget`` superclass on Linux
# 50.14-r2
## Structures
- added ``unitst_set_automatic_professions`` entry point export to list of known globals
# 50.14-r1
## Structures
# ``job_item_flags3``: added new flag ``grown_not_crafted``
# ``widget``: changed ``visibility_flag`` to ``flag`` (matching DF internal name)
# added new keybindings for 50.14
# 50.13-r4
## Structures
- ``world_site``: rename ``is_mountain_halls`` and ``is_fortress`` to Bay12 names ``min_depth`` and ``max_depth``
# 50.13-r3
## Structures
- ``plant_flags``: rename ``is_burning``, ``is_drowning``, ``is_dead`` to Bay12 names ``unused_01``, ``season_dead``, ``dead``
- ``job.item_category`` is now ``job.specflag``, contains a union of flag fields, and depends on the job type
- ``slab_engraving_type``: correct order of items (last two were swapped)
- ``unitst``: correct return type of ``create_nemesis`` vmethod
- ``world_data``: identify many fields and substructures
- added several bay12 exported entry points to list of known globals
- canonicalized a wide swath of type names, field names, and structure organization to match DF's internal names and organization. fields that already had useful names were largely left alone, but all ``unk``, ``anon``, and other "placeholder" names have been changed. structures that differed from reality were also corrected (e.g. collections of fields that were actually substructures and vice versa).
# 50.13-r1
## Structures
- ``biome_type``: add enum attrs for ``caption`` and ``plant_raw_flags``
# 50.12-r3
## Structures
- name many previously-unknown map-related fields and flag bits
- ``unit_action_data_attack`` (``unit_move_attackst``): identify flags
- ``job_type``: new job class type: "Carving" (for smoothing and detailing)
# 50.12-r2
## Structures
- ``plotinfo.hauling``: name fields related to the hauling route panel
- ``plant_tree_info``: define tree body and branch flags
- ``unit``: identify and define many previously unknown fields, types, and enums
- ``activity_event``: identify fields and type values
# 50.11-r7
## Structures
- ``job_skill``: correct ``moodable`` property for several professions
- ``buildings_other``: add correct types for civzone building vectors
# 50.11-r6
## Structures
- ``soundst``: fix alignment
# 50.11-r5
## Structures
- ``occupation``: realigned
- ``service_order_type``: enum defined
- ``service_orderst``: type defined
- ``markup_text_boxst``: updated based on information from Bay12
- ``markup_text_linkst``, ``markup_text_wordst``, ``script_environmentst``: defined
- ``plotinfost``: ``unk23c8_flags`` renamed to ``flags``, updated based on information from Bay12
- ``world_raws``: ``unk_v50_1``, ``unk_v50_2``, ``unk_v50_3`` renamed to ``text_set``, ``music``, ``sound``
- ``soundst``: defined
- ``announcement_alertst``: defined
- ``announcement_alert_type``: enum defined
- ``announcement_type``: added ``alert_type`` enum attribute
- ``alert_button_announcement_id``: now int32_t vector (contains report ids)
- ``viewscreen_choose_start_sitest``: fix structure of warning flags -- convert series of bools to a proper bitmask
- ``feature_init_flags``: more enum values defined
# 50.11-r3
## Structures
- ``burrow``: add new graphics mode texture and color fields
- ``job_item_flags3``: identify additional flags
# 50.11-r2
## Structures
- add new globals: ``translate_name``, ``buildingst_completebuild``
- ``artifact_rumor_locationst``: defined
- ``world_view_mode_type``: defined
- ``viewscreen_worldst``: defined types for ``view_mode`` and ``artifacts_arl`` fields
# 50.11-r1
## Structures
- add new global: ``start_dwarf_count``
# 50.09-r4
## Structures
- Identified a number of previously anonymous virtual methods in ``itemst``
# 50.09-r3
## Structures
- Added ``global_table`` global and corresponding ``global_table_entry`` type
- ``viewscreen_legendsst``: realign structure
- ``viewscreen_new_arenast``: added (first appeared in 50.06)
- ``plotinfo``: name the fields related to tutorial popups
- ``help_context_type``: fix typo in enum name: ``EMBARK_TUTORIAL_CHICE`` -> ``EMBARK_TUTORIAL_CHOICE``
# 50.09-r2
## Structures
- ``build_req_choicest``: realign structure and fix vmethods
- ``squad_orderst``: fix vmethods
# 50.09-r1
## Structures
- ``tiletype_shape``: changed RAMP_TOP and ENDLESS_PIT to not walkable to reflect how scripts actually need these types to be treated
# 50.08-r4
## Structures
- ``abstract_building_libraryst``: initialize unknown variables as DF does
- ``misc_trait_type``: realign
# 50.08-r2
## Structures
- Removed ``steam_mod_manager`` and ``game_extra`` globals. Their contents have been merged back into ``game``.
- ``mod_headerst``: rename ``non_vanilla`` flag to ``vanilla`` to reflect its actual usage
- ``arena_unit``: identify fields related to unit creation
- ``arena_tree``: identify fields related to tree creation
- ``abstract_building_contents``: identify fields and flags related to location item counts
- ``profession``: renamed captions ``Cheese Maker`` to ``Cheesemaker``, ``Bee Keeper`` to ``Beekeeper``, and ``Bone Setter`` to ``Bone Doctor``
# 50.08-r1
## Structures
- convert ``mod_manager`` fields to pointers
# 50.07-r1
## Structures
- identified ``divine_treasure`` and ``encased_horror`` map events
- identified fields in ``deep_vein_hollow``, ``glowing_barrier``, and ``cursed_tomb`` map events
- correct bit size of tree body data
# 50.07-beta2
## Structures
- realigned ``stockpile_settings`` for new "corpses" vector
- realigned ``furniture_type`` enum (added BAG)
# 50.07-beta1
## Structures
- identified two fields related to saves/autosaves to facilitate quicksave implementation
# 50.07-alpha3
## Structures
- ``plot_infost``.``unk_8``: renamed to ``theft_intrigues``. Fields ``unk_1`` thru ``unk_8`` renamed to ``target_item``, ``mastermind_hf``, ``mastermind_plot_id``, ``corruptor_hf``, ``corruptor``, ``corruptee_hf``, ``corruptee``, and ``theft_agreement``. ``unk_1`` renamed to ``item_known_pos``.
- ``specific_ref_type``: Removed ``BUILDING_PARTY``, ``PETINFO_PET``, and ``PETINFO_OWNER`` enum values to fix alignment.
- ``history_eventst``: Removed ``history_event_masterpiece_created_arch_designst`` and related enum value
# 50.07-alpha2
## Structures
- corrected alignment in ``world.status``
- ``dipscript_popup``: ``meeting_holder`` converted from unit pointer into two unit refs ``meeting_holder_actor`` and ``meeting_holder_noble``.
- ``activity_info``: ``unit_actor``, ``unit_noble``, and ``place`` converted from pointers to integer references.
- ``plotinfost``.``equipment``: Converted ``items_unmanifested``, ``items_unassigned``, and ``items_assigned`` vectors from pointers to item refs
- split ``gamest`` into ``gamest`` and ``gamest_extra`` to accommodate steam-specific data in ``gamest.mod_manager``
- identify item vmethod 213 (applies a thread improvements to appropriate items based on an RNG)
- identify various data types related to job completion/cancellation
- identify two anons in ``difficultyst``
# 50.07-alpha1
## Structures
- added missing tiletypes and corrected a few old ones based on a list supplied by Toady
# 50.05-alpha3
## Structures
- corrected misalignment in ``unitst`` (affecting ``occupation`` and ``adjective``)
- identified some anons in ``unitst`` related to textures (thanks, putnam)
- realigned and fleshed out ``entity_site_link`` (again, thanks, putnam)
- add "hospital" language name category
- remove some no-longer-valid reputation types
- identify a table of daily events scheduled to take place in the current year
- ``occupation_type``: add enum values for new occupations related to hospitals
- ``item.setSharpness()``: more info about params
- ``building_design``: corrected misalignments
- ``creature_raw_graphics``: corrected misalignments
- identified fields for squads and other military structures
# 50.05-alpha2
## Structures
- corrected misalignment in ``historical_entity``
- partially identified squad-related structures in ``plotinfo`` and corrected position of ``civ_alert_idx`` (does not affect alignment)
- identified two old and one new language name groups
# 50.05-alpha1
## Structures
- Renamed globals to match DF:
- ``ui``: renamed to ``plotinfo``
- ``ui_advmode``: renamed to ``adventure``
- ``ui_build_selector``: renamed to ``buildreq``
- ``ui_sidebar_menus``: renamed to ``game``
- ``building_civzonest``: identify two variables, ``dir_x`` and ``dir_y``, that handle archery range direction.