forked from DFHack/scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
821 lines (672 loc) · 50.7 KB
/
changelog.txt
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
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
===[[[
This file contains changes specific to the scripts repo. See docs/changelog.txt
in the dfhack repo for a full description, or
https://docs.dfhack.org/en/latest/docs/dev/Documentation.html#building-the-changelogs
NOTE: currently, gen_changelog.py 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:
## New Tools
## New Features
## Fixes
## Misc Improvements
## Removed
]]]
# Future
## New Tools
## New Features
## Fixes
- `suspendmanager`: fix errors when constructing near the map edge
## Misc Improvements
## Removed
# 50.11-r1
## New Tools
- `startdwarf`: (reinstated) set number of starting dwarves
## New Features
- `startdwarf`: overlay scrollbar so you can scroll through your starting dwarves if they don't all fit on the screen
- A new searchable, sortable, filterable dialog for selecting items for display on pedestals and display cases
## Fixes
- `suspendmanager`: fixed a bug where floor grates, bars, bridges etc. wouldn't be recognised as walkable, leading to unnecessary suspensions in certain cases.
## Misc Improvements
- `devel/inspect-screen`: display total grid size for UI and map layers
- `suspendmanager`: now suspends constructions that would cave-in immediately on completion
# 50.10-r1
## Fixes
- 'fix/general-strike: fix issue where too many seeds were getting planted in farm plots
# 50.09-r4
## Misc Improvements
- `autofish`: changed ``--raw`` argument format to allow explicit setting to on or off
- `caravan`: move goods to depot screen can now see/search/trade items inside of barrels and pots
- `gui/launcher`: show tagged tools in the autocomplete list when a tag name is typed
# 50.09-r3
## New Tools
- `devel/scan-vtables`: scan and dump likely vtable addresses (for memory research)
- `hide-interface`: hide the vanilla UI elements for clean screenshots or laid-back fortress observing
- `hide-tutorials`: hide the DF tutorial popups; enable in the System tab of `gui/control-panel`
- `set-orientation`: tinker with romantic inclinations (reinstated from back catalog of tools)
## New Features
- `exportlegends`: new overlay that integrates with the vanilla "Export XML" button. Now you can generate both the vanilla export and the extended data export with a single click!
## Fixes
- `suspendmanager`: Fix the overlay enabling/disabling `suspendmanager` unexpectedly
- `caravan`: correct price adjustment values in trade agreement details screen
- `caravan`: apply both import and export trade agreement price adjustments to items being both bought or sold to align with how vanilla DF calculates prices
- `caravan`: cancel any active TradeAtDepot jobs if all caravans are instructed to leave
- `emigration`: fix errors loading forts after dwarves assigned to work details or workshops have emigrated
- `emigration`: fix citizens sometimes "emigrating" to the fortress site
- `suspendmanager`: improve the detection on "T" and "+" shaped high walls
- `starvingdead`: ensure sieges end properly when undead siegers starve
- `fix/retrieve-units`: fix retrieved units sometimes becoming duplicated on the map
- `quickfort`: cancel old dig jobs that point to a tile when a new designation is applied to the tile
- `gui/launcher`, `gui/gm-editor`: recover gracefully when the saved frame position is now offscreen
- `gui/sandbox`: correctly load equipment materials in modded games that categorize non-wood plants as wood
## Misc Improvements
- `devel/lsmem`: added support for filtering by memory addresses and filenames
- `gui/gm-editor`: hold down shift and right click to exit, regardless of how many substructures deep you are
- `quickfort`: linked stockpiles and workshops can now be specified by ID instead of only by name. this is mostly useful when dynamically generating blueprints and applying them via the `quickfort` API
- `gui/quickfort`: blueprint details screen can now be closed with Ctrl-D (the same hotkey used to open the details)
- `suspendmanager`: display a different color for jobs suspended by suspendmanager
- `caravan`: optionally display items within bins in bring goods to depot screen
- `gui/gm-editor`: display in the title bar whether the editor window is scanning for live updates
- `gui/design`: change "auto commit" hotkey from ``c`` to ``Alt-c`` to avoid conflict with the default keybinding for z-level down
- `gui/liquids`: support removing river sources by converting them into stone floors
# 50.09-r2
## New Scripts
- `caravan`: new trade screen UI replacements for bringing goods to trade depot and trading
- `fix/empty-wheelbarrows`: new script to empty stuck rocks from all wheelbarrows on the map
## Fixes
- `gui/autodump`: when "include items claimed by jobs" is on, actually cancel the job so the item can be teleported
- `gui/gm-unit`: fix commandline processing when a unit id is specified
- `suspendmanager`: take in account already built blocking buildings
- `suspendmanager`: don't consider tree branches as a suitable access path to a building
## Misc Improvements
- `gui/unit-syndromes`: make lists searchable
- `suspendmanager`: display the suspension reason when viewing a suspended building
- `quickfort`: blueprint libraries are now moddable -- add a ``blueprints/`` directory to your mod and they'll show up in `quickfort` and `gui/quickfort`!
# 50.09-r1
## Misc Improvements
- `caravan`: new overlay for selecting all/none on trade request screen
- `suspendmanager`: don't suspend constructions that are built over open space
# 50.08-r4
## Fixes
- `gui/create-item`: allow blocks to be made out of wood when using the restrictive filters
- `emigration`: reassign home site for emigrating units so they don't just come right back to the fort
- `gui/sandbox`: allow creatures that have separate caste-based graphics to be spawned (like ewes/rams)
- `gui/liquids`: ensure tile temperature is set correctly when painting water or magma
- `workorder`: prevent ``autoMilkCreature`` from over-counting milkable animals, which was leading to cancellation spam for the MilkCreature job
- `gui/quickfort`: allow traffic designations to be applied over buildings
- `gui/quickfort`: protect against meta blueprints recursing infinitely if they include themselves
## Misc Improvements
- `gui/control-panel`: add some popular startup configuration commands for `autobutcher` and `autofarm`
- `gui/control-panel`: add option for running `fix/blood-del` on new forts (enabled by default)
- `gui/sandbox`: when creating citizens, give them names appropriate for their races
- `gui/autodump`: add option to clear the ``trader`` flag from teleported items, allowing you to reclaim items dropped by merchants
- `quickfort`: significant rewrite for DF v50! now handles zones, locations, stockpile configuration, hauling routes, and more
- `suspendmanager`: now suspends construction jobs on top of floor designations, protecting the designations from being erased
- `prioritize`: add wild animal management tasks and lever pulling to the default list of prioritized job types
- `suspendmanager`: suspend blocking jobs when building high walls or filling corridors
- `workorder`: reduce existing orders for automatic shearing and milking jobs when animals are no longer available
- `gui/quickfort`: adapt "cursor lock" to mouse controls so it's easier to see the full preview for multi-level blueprints before you apply them
- `gui/quickfort`: only display post-blueprint messages once when repeating the blueprint up or down z-levels
- `combine`: reduce max different stacks in containers to 30 to prevent contaners from getting overfull
## Removed
- `gui/automelt`: replaced by an overlay panel that appears when you click on a stockpile
# 50.08-r3
# 50.08-r2
## New Scripts
- `diplomacy`: view or alter diplomatic relationships
- `exportlegends`: (reinstated) export extended legends information for external browsing
- `modtools/create-item`: (reinstated) commandline and API interface for creating items
- `light-aquifers-only`: (reinstated) convert heavy aquifers to light
- `necronomicon`: search fort for items containing the secrets of life and death
- `fix/stuck-instruments`: fix instruments that are attached to invalid jobs, making them unusable. turn on automatic fixing in `gui/control-panel` in the ``Maintenance`` tab.
- `gui/mod-manager`: automatically restore your list of active mods when generating new worlds
- `gui/autodump`: point and click item teleportation and destruction interface (available only if ``armok`` tools are shown)
- `gui/sandbox`: creation interface for units, trees, and items (available only if ``armok`` tools are shown)
- `assign-minecarts`: (reinstated) quickly assign minecarts to hauling routes
## Fixes
- `quickfort`: properly allow dwarves to smooth, engrave, and carve beneath walkable tiles of buildings
- `deathcause`: fix incorrect weapon sometimes being reported
- `gui/create-item`: allow armor to be made out of leather when using the restrictive filters
- `gui/design`: Fix building and stairs designation
- `quickfort`: fixed detection of tiles where machines are allowed (e.g. water wheels *can* be built on stairs if there is a machine support nearby)
- `quickfort`: fixed rotation of blueprints with carved track tiles
## Misc Improvements
- `gui/quickfort`: blueprints that designate items for dumping/forbidding/etc. no longer show an error highlight for tiles that have no items on them
- `gui/quickfort`: place (stockpile layout) mode is now supported. note that detailed stockpile configurations were part of query mode and are not yet supported
- `gui/quickfort`: you can now generate manager orders for items required to complete bluerpints
- `gui/create-item`: ask for number of items to spawn by default
- `light-aquifers-only`: now available as a fort Autostart option in `gui/control-panel`. note that it will only appear if "armok" tools are configured to be shown on the Preferences tab.
- `gui/gm-editor`: when passing the ``--freeze`` option, further ensure that the game is frozen by halting all rendering (other than for DFHack tool windows)
- `gui/gm-editor`: Alt-A now enables auto-update mode, where you can watch values change live when the game is unpaused
# 50.08-r1
## Fixes
- `deteriorate`: ensure remains of enemy dwarves are properly deteriorated
- `suspendmanager`: Fix over-aggressive suspension of jobs that could still possibly be done (e.g. jobs that are partially submerged in water)
## Misc Improvements
- `combine`: Now supports ammo, parts, powders, and seeds, and combines into containers
- `deteriorate`: add option to exclude useable parts from deterioration
- `gui/gm-editor`: press ``g`` to move the map to the currently selected item/unit/building
- `gui/gm-editor`: press ``Ctrl-D`` to toggle read-only mode to protect from accidental changes; this state persists across sessions
- `gui/gm-editor`: new ``--freeze`` option for ensuring the game doesn't change while you're inspecting it
- `gui/launcher`: DFHack version now shown in the default help text
- `gui/prerelease-warning`: widgets are now clickable
# 50.07-r1
## New Scripts
## Fixes
-@ `caravan`: fix trade good list sometimes disappearing when you collapse a bin
-@ `gui/gm-editor`: no longer nudges last open window when opening a new one
- `warn-starving`: no longer warns for dead units
-@ `gui/control-panel`: the config UI for `automelt` is no longer offered when not in fortress mode
## Misc Improvements
- `gui/gm-editor`: can now jump to material info objects from a mat_type reference with a mat_index using ``i``
- `gui/gm-editor`: the key column now auto-fits to the widest key
- `prioritize`: revise and simplify the default list of prioritized jobs -- be sure to tell us if your forts are running noticeably better (or worse!)
-@ `gui/control-panel`: add `faststart` to the system services
## Removed
# 50.07-beta2
## New Scripts
- `fix/general-strike`: fix known causes of the general strike bug (contributed by Putnam)
- `gui/seedwatch`: GUI config and status panel interface for `seedwatch`
- `gui/civ-alert`: configure and trigger civilian alerts
## Fixes
-@ `caravan`: item list length now correct when expanding and collapsing containers
-@ `prioritize`: fixed all watched job type names showing as ``nil`` after a game load
-@ `suspendmanager`: does not suspend non-blocking jobs such as floor bars or bridges anymore
-@ `suspendmanager`: fix occasional bad identification of buildingplan jobs
- `warn-starving`: no longer warns for enemy and neutral units
## Misc Improvements
- `gui/control-panel`: Now detects overlays from scripts named with capital letters
- `gui/cp437-table`: now has larger key buttons and clickable backspace/submit/cancel buttons, making it fully usable on the Steam Deck and other systems that don't have an accessible keyboard
-@ `gui/design`: Now supports placing constructions using 'Building' mode. Inner and Outer tile constructions are configurable. Uses buildingplan filters set up with the regular buildingplan interface.
- `exterminate`: add support for ``vaporize`` kill method for when you don't want to leave a corpse
- `combine`: you can select a target stockpile in the UI instead of having to use the keyboard cursor
- `combine`: added ``--quiet`` option for no output when there are no changes
- `stripcaged`: added ``--skip-forbidden`` option for greater control over which items are marked for dumping
- `stripcaged`: items that are marked for dumping are now automatically unforbidden (unless ``--skip-forbidden`` is set)
-@ `gui/control-panel`: added ``combine all`` maintenance option for automatic combining of partial stacks in stockpiles
-@ `gui/control-panel`: added ``general-strike`` maintenance option for automatic fixing of (at least one cause of) the general strike bug
- `gui/cp437-table`: dialog is now fully controllable with the mouse, including highlighting which key you are hovering over and adding a clickable backspace button
## Removed
- `autounsuspend`: replaced by `suspendmanager`
-@ `gui/dig`: renamed to `gui/design`
# 50.07-beta1
## New Scripts
- `suspendmanager`: automatic job suspension management (replaces `autounsuspend`)
- `gui/suspendmanager`: graphical configuration interface for `suspendmanager`
- `suspend`: suspends building construction jobs
## Fixes
-@ `quicksave`: now reliably triggers an autosave, even if one has been performed recently
- `gui/launcher`: tab characters in command output now appear as a space instead of a code page 437 "blob"
## Misc Improvements
- `quickfort`: now reads player-created blueprints from ``dfhack-config/blueprints/`` instead of the old ``blueprints/`` directory. Be sure to move over your personal blueprints to the new directory!
- `gui/gm-editor`: can now open the selected stockpile if run without parameters
# 50.07-alpha3
## Fixes
-@ `gui/create-item`: fix generic corpsepiece spawning
## Misc Improvements
- `gui/create-item`: added ability to spawn 'whole' corpsepieces (every layer of a part)
-@ `gui/dig`: Allow placing an extra point (curve) while still placing the second main point
-@ `gui/dig`: Allow placing n-point shapes, shape rotation/mirroring
-@ `gui/dig`: Allow second bezier point, mirror-mode for freeform shapes, symmetry mode
# 50.07-alpha2
## New Scripts
- `combine`: combines stacks of food and plant items.
## Fixes
-@ `troubleshoot-item`: fix printing of job details for chosen item
-@ `makeown`: fixes errors caused by using makeown on an invader
-@ `gui/blueprint`: correctly use setting presets passed on the commandline
-@ `gui/quickfort`: correctly use settings presets passed on the commandline
- `devel/query`: can now properly index vectors in the --table argument
-@ `forbid`: fix detection of unreachable items for items in containers
-@ `unforbid`: fix detection of unreachable items for items in containers
## Misc Improvements
- `troubleshoot-item`: output as bullet point list with indenting, with item description and ID at top
- `troubleshoot-item`: reports on items that are hidden, artifacts, in containers, and held by a unit
- `troubleshoot-item`: reports on the contents of containers with counts for each contained item type
- `devel/visualize-structure`: now automatically inspects the contents of most pointer fields, rather than inspecting the pointers themselves
- `devel/query`: will now search for jobs at the map coordinate highlighted, if no explicit job is highlighted and there is a map tile highlighted
- `caravan`: add trade screen overlay that assists with seleting groups of items and collapsing groups in the UI
- `gui/gm-editor`: will now inspect a selected building itself if the building has no current jobs
## Removed
- `combine-drinks`: replaced by `combine`
- `combine-plants`: replaced by `combine`
# 50.07-alpha1
## New Scripts
- `gui/design`: digging and construction designation tool with shapes and patterns
- `makeown`: makes the selected unit a citizen of your fortress
## Fixes
-@ `gui/unit-syndromes`: allow the window widgets to be interacted with
-@ `fix/protect-nicks`: now works by setting the historical figure nickname
-@ `gui/liquids`: fixed issues with unit pathing after adding/removing liquids
-@ `gui/dig`: Fix for 'continuing' auto-stair designation. Avoid nil index issue for tile_type
## Misc Improvements
- `gui/gm-editor`: now supports multiple independent data inspection windows
- `gui/gm-editor`: now prints out contents of coordinate vars instead of just the type
- `rejuvenate`: now takes an --age parameter to choose a desired age.
-@ `gui/dig` : Added 'Line' shape that also can draw curves, added draggable center handle
# 50.05-alpha3.1
## Fixes
-@ `gui/launcher`: no longer resets to the Help tab on every keystroke
# 50.05-alpha3
## New Scripts
- `autofish`: auto-manage fishing labors to control your stock of fish
- `gui/autofish`: GUI config and status panel interface for autofish
- `gui/automelt`: GUI config and status panel interface for automelt
- `gui/control-panel`: quick access to DFHack configuration
- `fix/civil-war`: removes negative relations with own government
- `fix/protect-nicks`: restore nicknames when DF loses them
- `forbid`: forbid and list forbidden items on the map
- `gui/unit-syndromes`: browser for syndrome information
## Fixes
- `build-now`: now correctly avoids adjusting non-empty tiles above constructions that it builds
- `catsplosion`: now only affects live, active units
- `quickfort`: allow floor bars, floor grates, and hatches to be placed over all stair types like vanilla allows
## Misc Improvements
- `ban-cooking`: ban announcements are now hidden by default; use new option ``--verbose`` to show them.
- `ban-cooking`: report number of items banned.
- `build-now`: now handles dirt roads and initializes farm plots properly
- `devel/click-monitor`: report on middle mouse button actions
-@ `gui/autochop`: hide uninteresting burrows by default
-@ `gui/blueprint`: allow map movement with the keyboard while the UI is open
- `gui/create-item`: support spawning corpse pieces (e.g. shells) under "body part"
- `gui/create-item`: added search and filter capabilities to the selection lists
- `gui/launcher`: make command output scrollback separate from the help text so players can continue to see the output of the previous command as they type the next one
- `gui/launcher`: allow double spacebar to pause/unpause the game, even while typing a command
- `gui/launcher`: clarify what is being shown in the autocomplete list (all commands, autocompletion of partially typed command, or commands related to typed command)
- `gui/launcher`: support running commands directly from the autocomplete list via double-clicking
- `gui/liquids`: interface overhaul, also now allows spawning river sources, setting/adding/removing liquid levels, and cleaning water from being salty or stagnant
- `gui/overlay`: now focuses on repositioning overlay widgets; enabling, disabling, and getting help for overlay widgets has moved to the new `gui/control-panel`
-@ `gui/quickcmd`: now acts like a regular window instead of a modal dialog
- `gui/quickfort`: don't close the window when applying a blueprint so players can apply the same blueprint multiple times more easily
- `locate-ore`: now only searches revealed tiles by default
- `modtools/spawn-liquid`: sets tile temperature to stable levels when spawning water or magma
-@ `prioritize`: pushing minecarts is now included in the default priortization list
- `prioritize`: now automatically starts boosting the default list of job types when enabled
- `unforbid`: avoids unforbidding unreachable and underwater items by default
- `gui/create-item`: added whole corpse spawning alongside corpsepieces. (under "corpse")
## Removed
- `show-unit-syndromes`: replaced by `gui/unit-syndromes`; html export is no longer supported
# 50.05-alpha2
## Fixes
-@ `gui/gm-editor`: fix errors displayed while viewing help screen
- `build-now`: don't error on constructions that do not have an item attached
## Removed
- `create-items`: replaced by `gui/create-item` ``--multi``
# 50.05-alpha1
## New Scripts
- `gui/autochop`: configuration frontend and status monitor for the `autochop` plugin
- `devel/tile-browser`: page through available textures and see their texture ids
- `allneeds`: list all unmet needs sorted by how many dwarves suffer from them.
## Fixes
- `make-legendary`: "MilitaryUnarmed" option now functional
## Misc Improvements
- `autounsuspend`: now saves its state with your fort
- `emigration`: now saves its state with your fort
- `prioritize`: now saves its state with your fort
- `unsuspend`: overlay now displays different letters for different suspend states so they can be differentiated in graphics mode (P=planning, x=suspended, X=repeatedly suspended)
- `unsuspend`: overlay now shows a marker all the time when in graphics mode. ascii mode still only shows when paused so that you can see what's underneath.
- `gui/gm-editor`: converted to a movable, resizable, mouse-enabled window
- `gui/launcher`: now supports a smaller, minimal mode. click the toggle in the launcher UI or start in minimal mode via the ``Ctrl-Shift-P`` keybinding
- `gui/launcher`: can now be dragged from anywhere on the window body
- `gui/launcher`: now remembers its size and position between invocations
- `gui/gm-unit`: converted to a movable, resizable, mouse-enabled window
- `gui/cp437-table`: converted to a movable, mouse-enabled window
- `gui/quickcmd`: converted to a movable, resizable, mouse-enabled window
- `gui/quickcmd`: commands are now stored globally so you don't have to recreate commands for every fort
- `devel/inspect-screen`: updated for new rendering semantics and can now also inspect map textures
- `exterminate`: added drown method. magma and drown methods will now clean up liquids automatically.
## Documentation
- `devel/hello-world`: updated to be a better example from which to start new gui scripts
# 0.47.05-r8
## New Scripts
- `gui/overlay`: configuration interface for the DFHack overlays and overlay widgets. includes a click-and-drag interface for repositioning widgets!
## Fixes
- `dwarf-op`: fixed error when matching dwarves by name
- `gui/gm-unit`: fixed behavior of ``+`` and ``-`` to adjust skill values instead of populating the search field
- `warn-stealers`: register callback with correct event name so that units entering the map are detected
- `warn-stealers`: announce thieving creatures that spawn already revealed
- `warn-stealers`: cache unit IDs instead of unit objects to avoid referencing stale pointers
- `workorder`: fix interpretation of json-specified orders that set the ``item_type`` field
## Misc Improvements
- `gui/blueprint`: support new blueprint phases and options
- `gui/create-item`: restrict materials to those normally allowed by the game by default, introduce new ``--unrestricted`` option for full freedom in choosing materials
- `gui/launcher`: show help for commands that start with ':' (like ``:lua``)
- `gui/quantum`: add option to allow corpses and refuse in your quantum stockpile
- `modtools/create-unit`: better unit naming, more argument checks, assign nemesis save data for units without civilization so they can be properly saved when offloaded
- `unsuspend`: new `overlay` for displaying status of suspended buildings (functionality migrated from removed `resume` plugin)
## Removed
- `gui/create-item`: removed ``--restricted`` option. it is now the default behavior
# 0.47.05-r7
## New Scripts
- `gui/kitchen-info`: adds more info to the Kitchen screen
- `gui/workorder-details`: adjusts work orders' input item, material, traits
- `warn-stealers`: warn when creatures that may steal your food, drinks, or items become visible
- `gui/launcher`: in-game command launcher with autocomplete, history, and context-sensitive help
- `max-wave`: dynamically limit the next immigration wave, can be set to repeat
- `pop-control`: persistent per fortress population cap, `hermit`, and `max-wave` management
## Fixes
- `devel/query`: fixed error when --tile is specified
- `gui/unit-info-viewer`: fix logic for displaying undead creature names
- `gui/workflow`: restore functionality to the add/remove/order hotkeys on the workflow status screen
- `emigration`: fix emigrant logic so unhappy dwarves leave as designed
- `gui/gm-unit`: allow ``+`` and ``-`` to adjust skill values as intended instead of letting the filter intercept the characters
- `dwarf-op`: fixed error when applying the Miner job to dwarves
- `view-item-info`: fixed a couple errors when viewing items without materials
- `modtools/moddable-gods`: fixed an error when assigning spheres
## Misc Improvements
- `devel/query`: inform the user when a query has been truncated due to ``--maxlength`` being hit.
- `devel/query`: increased default maxlength value from 257 to 2048
- `gui/gm-unit`: don't clear the list filter when you adjust a skill value
- `gui/quickfort`: better formatting for the generated manager orders report
- `gui/quickfort`: you can now click on the map to move the blueprint anchor point to that tile instead of having to use the cursor movement keys
- `gui/quickfort`: display an error message when the blueprints directory cannot be found
- `prioritize`: new ``defaults`` keyword to prioritize the list of jobs that the community agrees should generally be prioritized. Run ``prioritize -a defaults`` to try it out in your fort!
- `quickfort`: library blueprints are now included by default in ``quickfort list`` output. Use the new ``--useronly`` (or just ``-u``) option to filter out library bluerpints.
- `quickfort`: better error message when the blueprints directory cannot be found
- `dwarf-op`: replaces [ a b c ] option lists with a,b,c option lists
## Removed
- `fix/build-location`: The corresponding DF bug (5991) was fixed in DF 0.40.05
- `fix/diplomats`: DF bug 3295 fixed in 0.40.05
- `fix/fat-dwarves`: DF bug 5971 fixed in 0.40.05
- `fix/feeding-timers`: DF bug 2606 is fixed in 0.40.12
- `fix/merchants`: DF bug that prevents humans from making trade agreements has been fixed
- `gui/assign-rack`: No longer useful in current DF versions
- `gui/hack-wish`: Replaced by `gui/create-item`
- `gui/no-dfhack-init`: No longer useful since players don't have to create their own ``dfhack.init`` files anymore
# 0.47.05-r6
## New Scripts
- `assign-minecarts`: automatically assign minecarts to hauling routes that don't have one
- `deteriorate`: combines, replaces, and extends previous `deteriorateclothes`, `deterioratecorpses`, and `deterioratefood` scripts.
- `gui/petitions`: shows petitions. now you can see which guildhall/temple you agreed to build!
- `gui/quantum`: point-and-click tool for creating quantum stockpiles
- `gui/quickfort`: shows blueprint previews on the live map so you can apply them interactively
- `modtools/fire-rate`: allows modders to adjust the rate of fire for ranged attacks
## Fixes
- `build-now`: walls built above other walls can now be deconstructed like regularly-built walls
- `gui/dfstatus`: no longer count items owned by traders
- `gui/unit-info-viewer`: fix calculation/labeling of unit size
## Misc Improvements
- `build-now`: buildings that were just designated with `buildingplan` are now built immediately (as long as there are items available to build the buildings with) instead of being skipped until buildingplan gets around to doing its regular scan
- `caravan`: new ``unload`` command, fixes endless unloading at the depot by reconnecting merchant pack animals that were disconnected from their owners
- `deteriorate`: new ``now`` command immediately deteriorates items of the specified types
- `list-agreements`: now displays translated guild names, worshipped deities, petition age, and race-appropriate professions (e.g. "Craftsdwarf" instead of "Craftsman")
- `workorder`: a manager is no longer required for orders to be created (matching bevavior in the game itself)
## Removed
- `devel/unforbidall`: please use `unforbid` instead. You can silence the output with ``unforbid all --quiet``
- `deteriorateclothes`: please use ``deteriorate --types=clothes`` instead
- `deterioratecorpses`: please use ``deteriorate --types=corpses`` instead
- `deterioratefood`: please use ``deteriorate --types=food`` instead
# 0.47.05-r5
## New Scripts
- `devel/eventful-client`: useful for testing eventful events
## Fixes
- `devel/query`: fixed a problem printing parents when the starting path had lua pattern special characters in it
- `devel/query`: fixed a crash when trying to iterate over linked lists
- `gui/advfort`: encrust and stud jobs no longer consume reagents without actually improving the target item
- `quickfort`: contructions and bridges are now properly placed over natural ramps
- `setfps`: keep internal ratio of processing FPS to graphics FPS in sync when updating FPS
## Misc Improvements
- `autonick`: now displays help instead of modifying dwarf nicknames when run without parameters. use ``autonick all`` to rename all dwarves.
- `autonick`: added ``--quiet`` and ``--help`` options
- `gui/blueprint`: support new `blueprint` options and phases
- `quickfort`: support transformations for blueprints that use expansion syntax
- `quickfort`: adjust direction affinity when transforming buildings (e.g. bridges that open to the north now open to the south when rotated 180 degrees)
- `quickfort`: automatically adjust cursor movements on the map screen in ``#query`` and ``#config`` modes when the blueprint is transformed. e.g. ``{Up}`` will be played back as ``{Right}`` when the blueprint is rotated clockwise and the direction key would move the map cursor
- `quickfort`: new blueprint mode: ``#config``; for playing back key sequences that don't involve the map cursor (like configuring hotkeys, changing standing orders, or modifying military uniforms)
- `quickfort`: API function ``apply_blueprint`` can now take ``data`` parameters that are simple strings instead of coordinate maps. This allows easier application of blueprints that are just one cell.
# 0.47.05-r4
## Fixes
- `quickfort`: produce a useful error message instead of a code error when a bad query blueprint key sequence leaves the game in a mode that does not have an active cursor
- `quickfort`: restore functionality to the ``--verbose`` commandline flag
- `quickfort`: don't designate tiles for digging if they are within the bounds of a planned or constructed building
- `quickfort`: allow grates, bars, and hatches to be built on flat floor (like DF itself allows)
- `quickfort`: allow tracks to be built on hard, natural rock ramps
- `quickfort`: allow dig priority to be properly set for track designations
- `quickfort`: fix incorrect directions for tracks that extend south or east from a track segment pair specified with expansion syntax (e.g. T(4x4))
- `quickfort`: fix parsing of multi-part extended zone configs (e.g. when you set custom supply limits for hospital zones AND set custom flags for a pond)
- `quickfort`: fix error when attempting to set a custom limit for plaster powder in a hospital zone
- `exportlegends`: fix issue where birth year was outputted as birth seconds
## Misc Improvements
- `gui/blueprint`: support the new ``--splitby`` and ``--format`` options for `blueprint`
- `gui/blueprint`: hide help text when the screen is too short to display it
- `quickfort`: add ``quickfort.apply_blueprint()`` API function that can be called directly by other scripts
- `quickfort`: by default, don't designate tiles for digging that have masterwork engravings on them. quality level to preserve is configurable with the new ``--preserve-engravings`` param
- `quickfort`: implement single-tile track aliases so engraved tracks can be specified tile-by-tile just like constructed tracks
- `quickfort`: allow blueprints to jump up or down multiple z-levels with a single command (e.g. ``#>5`` goes down 5 levels)
- `quickfort`: blueprints can now be repeated up and down a specified number of z-levels via ``repeat`` markers in meta blueprints or the ``--repeat`` commandline option
- `quickfort`: blueprints can now be rotated, flipped, and shifted via ``transform`` and ``shift`` markers in meta blueprints or the corresponding commandline options
## Removed
- `digfort`: please use `quickfort` instead
# 0.47.05-r3
## New Scripts
- `autonick`: gives dwarves unique nicknames
- `build-now`: instantly completes planned building constructions
- `do-job-now`: makes a job involving current selection high priority
- `prioritize`: automatically boosts the priority of current and/or future jobs of specified types, such as hauling food, tanning hides, or pulling levers
- `reveal-adv-map`: exposes/hides all world map tiles in adventure mode
## Fixes
- `devel/export-dt-ini`: fixed incorrect vtable address on Windows
- `quickfort`: allow machines (e.g. screw pumps) to be built on ramps just like DF allows
- `quickfort`: fix error message when the requested label is not found in the blueprint file
## Misc Improvements
- `assign-beliefs`, `assign-facets`: now update needs of units that were changed
- `devel/query`: updated script to v3.2 (i.e. major rewrite for maintainability/readability)
- `devel/query`: merged options ``-query`` and ``-querykeys`` into ``-search``
- `devel/query`: merged options ``-depth`` and ``-keydepth`` into ``-maxdepth``
- `devel/query`: replaced option ``-safer`` with ``-excludetypes`` and ``-excludekinds``
- `devel/query`: improved how tile data is dealt with identification, iteration, and searching
- `devel/query`: added option ``-findvalue``
- `devel/query`: added option ``-showpaths`` to print full data paths instead of nested fields
- `devel/query`: added option ``-nopointers`` to disable printing values with memory addresses
- `devel/query`: added option ``-alignto`` to set the value column's alignment
- `devel/query`: added options ``-oneline`` and alias ``-1`` to avoid using two lines for fields with metadata
- `devel/query`: added support for matching multiple patterns
- `devel/query`: added support for selecting the highlighted job, plant, building, and map block data
- `devel/query`: added support for selecting a Lua script (e.g. `dorf_tables`)
- `devel/query`: added support for selecting a Json file (e.g. dwarf_profiles.json)
- `devel/query`: removed options ``-listall``, ``-listfields``, and ``-listkeys`` - these are now simply default behaviour
- `devel/query`: ``-table`` now accepts the same abbreviations (global names, ``unit``, ``screen``, etc.) as `lua` and `gui/gm-editor`
- `dorf_tables`: integrated `devel/query` to show the table definitions when requested with ``-list``
- `geld`: fixed ``-help`` option
- `gui/gm-editor`: made search case-insensitive
- `quickfort`: accept multiple commands, list numbers, and/or blueprint lables on a single commandline
- `unretire-anyone`: replaced the 'undead' descriptor with 'reanimated' to make it more mod-friendly
- `warn-starving`: added an option to only check sane dwarves
## Internals
- Install tests in the scripts repo into hack/scripts/test/scripts when the CMake variable BUILD_TESTS is defined
# 0.47.05-r2
## New Scripts
- `clear-webs`: removes all webs on the map and/or frees any webbed creatures
- `devel/block-borders`: overlay that displays map block borders
- `devel/luacov`: generate code test coverage reports for script development. Define the ``DFHACK_ENABLE_LUACOV=1`` environment variable to start gathering coverage metrics.
- `fix/drop-webs`: causes floating webs to fall to the ground
- `gui/blueprint`: interactive frontend for the `blueprint` plugin (with mouse support!)
- `gui/mass-remove`: mass removal/suspension tool for buildings and constructions
- `reveal-hidden-sites`: exposes all undiscovered sites
- `set-timeskip-duration`: changes the duration of the "Updating World" process preceding the start of a new game, enabling you to jump in earlier or later than usual
## Fixes
- `bodyswap`: stopped prior party members from tagging along after bodyswapping and reloading the map
- `bodyswap`: made companions of bodyswapping targets get added to the adventurer party - they can now be viewed using the in-game party system
- `color-schemes`: fixed an error in the ``register`` subcommand when the DF path contains certain punctuation characters
- `gui/advfort`: fixed an issue where starting a workshop job while not standing at the center of the workshop required advancing time manually
- `gui/unit-info-viewer`: fixed size description displaying unrelated values instead of size
- `quickfort`: comments in blueprint cells no longer prevent the rest of the row from being read. A cell with a single '#' marker in it, though, will still stop the parser from reading further in the row.
- `quickfort`: fixed an off-by-one line number accounting in blueprints with implicit ``#dig`` modelines
- `quickfort`: changed to properly detect and report an error on sub-alias params with no values instead of just failing to apply the alias later (if you really want an empty value, use ``{Empty}`` instead)
- `quickfort`: improved handling of non-rectangular and non-solid extent-based structures (like fancy-shaped stockpiles and farm plots)
- `quickfort`: fixed conversion of numbers to DF keycodes in ``#query`` blueprints
- `quickfort`: fixed various errors with cropping across the map edge
- `quickfort`: properly reset config to default values in ``quickfort reset`` even if if the ``dfhack-config/quickfort/quickfort.txt`` config file doesn't mention all config vars. Also now works even if the config file doesn't exist.
## Misc Improvements
- `devel/annc-monitor`: added ``report enable|disable`` subcommand to filter combat reports
- `gui/advfort`: added workshop name to workshop UI
- `quickfort`: added the ``--cursor`` option for running a blueprint at specific coordinates instead of starting at the game cursor position
- `quickfort`: added more helpful error messages for invalid modeline markers
- `quickfort`: added support for extra space characters in blueprints
- `quickfort`: added a warning when an invalid alias is encountered instead of silently ignoring it
- `quickfort`: made more quiet when the ``--quiet`` parameter is specified
- `setfps`: improved error handling
- `unretire-anyone`: the historical figure selection list now includes the ``SYN_NAME`` (necromancer, vampire, etc) of figures where applicable
# 0.47.05-r1
## Misc Improvements
- `gui/no-dfhack-init`: clarified how to dismiss dialog that displays when no ``dfhack.init`` file is found
- `quickfort`: an active cursor is no longer required for running #notes blueprints (like the dreamfort walkthrough)
- `quickfort`: you can now be in any mode with an active cursor when running ``#query`` blueprints (before you could only be in a few "approved" modes, like look, query, or place)
- `quickfort`: refined ``#query`` blueprint sanity checks: cursor should still be on target tile at end of configuration, and it's ok for the screen ID to change if you are destroying (or canceling destruction of) a building
- `quickfort`: now reports how many work orders were added when generating manager orders from blueprints in the gui dialog
- `quickfort`: added ``--dry-run`` option to process blueprints but not change any game state
- `quickfort`: you can now specify the number of desired barrels, bins, and wheelbarrows for individual stockpiles when placing them
- `quickfort`: ``quickfort orders`` on a ``#place`` blueprint will now enqueue manager orders for barrels, bins, or wheelbarrows that are explicitly set in the blueprint.
- `quickfort`: you can now add alias definitions directly to your blueprint files instead of having to put them in a separate aliases.txt file. makes sharing blueprints with custom alias definitions much easier.
## Documentation
- `digfort`: added deprecation warnings - digfort has been replaced by `quickfort`
# 0.47.05-beta1
## Fixes
- `quickfort`: raw numeric `quickfort-dig-priorities` (e.g. ``3``, which is a valid shorthand for ``d3``) now works when used in .xlsx blueprints
## Misc Improvements
- `quickfort`: new commandline options for setting the initial state of the gui dialog. for example: ``quickfort gui -l dreamfort notes`` will start the dialog filtered for the dreamfort walkthrough blueprints
# 0.47.04-r5
## New Scripts
- `gui/quickfort`: fast access to the quickfort interactive dialog
- `workorder-recheck`: resets the selected work order to the ``Checking`` state
## Fixes
- `quickfort`: zones are now created in the active state by default
- `quickfort`: solve rare crash when changing UI modes
## Misc Improvements
- `quickfort`: new blueprint mode: ``#ignore``, useful for scratch space or personal notes
- `quickfort`: implement ``{Empty}`` keycode for use in quickfort aliases; useful for defining blank-by-default alias values
- `quickfort`: more flexible commandline parsing allowing for more natural parameter ordering (e.g. where you used to have to write ``quickfort list dreamfort -l`` you can now write ``quickfort list -l dreamfort``)
- `quickfort`: print out blueprint names that a ``#meta`` blueprint is applying so it's easier to understand what meta blueprints are doing
- `quickfort`: whitespace is now allowed between a marker name and the opening parenthesis in blueprint modelines. for example, ``#dig start (5; 5)`` is now valid (you used to be required to write ``#dig start(5; 5)``)
# 0.47.04-r4
## New Scripts
- `fix/corrupt-equipment`: fixes some military equipment-related corruption issues that can cause DF crashes
## Fixes
- `adaptation`: fixed handling of units with no cave adaptation suffered yet
- `assign-goals`: fixed error preventing new goals from being created
- `assign-preferences`: fixed handling of preferences for flour
- `deathcause`: fixed an error when inspecting certain corpses
- `quickfort`: fixed handling of modifier keys (e.g. ``{Ctrl}`` or ``{Alt}``) in query blueprints
- `quickfort`: fixed misconfiguration of nest boxes, hives, and slabs that were preventing them from being built from build blueprints
- `quickfort`: fixed valid placement detection for floor hatches, floor grates, and floor bars (they were erroneously being rejected from open spaces and staircase tops)
- `quickfort`: fixed query blueprint statistics being added to the wrong metric when both a query and a zone blueprint are run by the same meta blueprint
- `quickfort`: added missing blueprint labels in gui dialog list
- `quickfort`: fixed occupancy settings for extent-based structures so that stockpiles can be placed within other stockpiles (e.g. in a checkerboard or bullseye pattern)
- `unsuspend`: now leaves buildingplan-managed buildings alone and doesn't unsuspend underwater tasks
## Misc Improvements
- `devel/export-dt-ini`: updated for Dwarf Therapist 41.2.0
- `gui/advfort`: added support for linking to hatches and pressure plates with mechanisms
- `modtools/add-syndrome`: added support for specifying syndrome IDs instead of names
- `quickfort`: query blueprint aliases can now accept parameters for dynamic expansion - see dfhack-config/quickfort/aliases.txt for details
- `quickfort`: alias names can now include dashes and underscores (in addition to letters and numbers)
- `quickfort`: improved speed of first call to ``quickfort list`` significantly, especially for large blueprint libraries
- `quickfort`: added ``query_unsafe`` setting to disable query blueprint error checking - useful for query blueprints that send unusual key sequences
- `quickfort`: added support for bookcases, display cases, and offering places (altars)
- `quickfort`: added configuration support for zone pit/pond, gather, and hospital sub-menus in zone blueprints
- `quickfort`: removed ``buildings_use_blocks`` setting and replaced it with more flexible functionality in `buildingplan`
- `quickfort`: added support for creating uninitialized stockpiles with :kbd:`c`
# 0.47.04-r3
## New Scripts
- `quickfort`: DFHack-native implementation of quickfort with many new features and integrations - see the `quickfort-user-guide` for details
- `timestream`: controls the speed of the calendar and creatures
- `uniform-unstick`: prompts units to reevaluate their uniform, by removing/dropping potentially conflicting worn items
## Fixes
- `ban-cooking`: fixed an error in several subcommands
## Misc Improvements
- `unretire-anyone`: made undead creature names appear in the historical figure list
# 0.47.04-r2
## New Scripts
- `animal-control`: helps manage the butchery and gelding of animals
- `devel/kill-hf`: kills a historical figure
- `geld`: gelds or ungelds animals
- `list-agreements`: lists all guildhall and temple agreements
- `list-waves`: displays migration wave information for citizens/units
- `ungeld`: ungelds animals (wrapper around `geld`)
## Fixes
- `digfort`: fixed y-line tracking when .csv files contain lines with only commas
- `digfort`: fixed an issue causing blueprints touching the southern or eastern edges of the map to be rejected (northern and western edges were already allowed). This allows blueprints that span the entire embark area.
- `exportlegends`: fixed an issue where two different ``<reason>`` tags could be included in a ``<historical_event>``
- `exportlegends`: stopped including some tags with ``-1`` values which don't provide useful information
- `gui/advfort`: fixed "operate pump" job
- `gui/load-screen`: fixed an issue causing longer timezones to be cut off
- `names`: fixed an error preventing the script from working
- `names`: fixed an issue causing renamed units to display their old name in legends mode and some other places
- `modtools/moddable-gods`: fixed an error when creating the historical figure
- `modtools/moddable-gods`: removed unused ``-domain`` and ``-description`` arguments
- `modtools/moddable-gods`: made ``-depictedAs`` argument work
- `pref-adjust`: fixed some compatibility issues and a potential crash
## Misc Improvements
- `add-recipe`: added tool recipes (minecarts, wheelbarrows, stepladders, etc.)
- `add-recipe`: added a command explanation or error message when entering an invalid command
- `armoks-blessing`: added adjustments to values and needs
- `devel/query`: added many new query options
- `digfort`: handled double quotes (") at the start of a string, allowing .csv files exported from spreadsheets to work without manual modification
- `digfort`: documented that removing ramps, cutting trees, and gathering plants are indeed supported
- `digfort`: added a ``force`` option to truncate blueprints if the full blueprint would extend off the edge of the map
- `dwarf-op`: added ability to select dwarves based on migration wave
- `dwarf-op`: added ability to protect dwarves based on symbols in their custom professions
- `exportlegends`: changed some flags to be represented by self-closing tags instead of true/false strings (e.g. ``<is_volcano/>``) - note that this may require changes to other XML-parsing utilities
- `exportlegends`: changed some enum values from numbers to their string representations
- `exportlegends`: added ability to save all files to a subfolder, named after the region folder and date by default
- `gui/advfort`: added support for specifying the entity used to determine available resources
- `gui/gm-editor`: added support for automatically following ref-targets when pressing the ``i`` key
- `modtools/moddable-gods`: added support for ``neuter`` gender
- `pref-adjust`: added support for adjusting just the selected dwarf
- `pref-adjust`: added a new ``goth`` profile
- `remove-stress`: added a ``-value`` argument to enable setting stress level directly
- `workorder`: changed default frequency from "Daily" to "OneTime"
# 0.47.04-r1
## Fixes
- `catsplosion`: fixed error when handling races with only one caste (e.g. harpies)
-@ `exportlegends`: fixed error when exporting maps
- `spawnunit`: fixed an error when forwarding some arguments but not a location to `modtools/create-unit`
## Misc Improvements
- `exportlegends`:
- made interaction export more robust and human-readable
- removed empty ``<item_subtype>`` and ``<claims>`` tags
- `modtools/create-unit`:
- added ``-equip`` option to equip created units
- added ``-skills`` option to give skills to units
- added ``-profession`` and ``-customProfession`` options to adjust unit professions
# 0.47.04-beta1
## New scripts
- `color-schemes`: manages color schemes
- `devel/print-event`: prints the description of an event by ID or index
- `gui/color-schemes`: an in-game interface for `color-schemes`
- `light-aquifers-only`: changes heavy aquifers to light aquifers
- `on-new-fortress`: runs DFHack commands only in a new fortress
- `once-per-save`: runs DFHack commands unless already run in the current save
- `resurrect-adv`: brings your adventurer back to life
- `reveal-hidden-units`: exposes all sneaking units
- `workorder`: allows queuing manager jobs; smart about shear and milk creature jobs
## Fixes
- `devel/visualize-structure`: fixed padding detection for globals
- `exportlegends`:
- added UTF-8 encoding and XML escaping for more fields
- added checking for unhandled structures to avoid generating invalid XML
- fixed missing fields in ``history_event_assume_identityst`` export
- `full-heal`:
- when resurrected by specifying a corpse, units now appear at the location of the corpse rather than their location of death
- resurrected units now have their tile occupancy set (and are placed in the prone position to facilitate this)
## Misc Improvements
- `devel/export-dt-ini`: updated some field names for DT for 0.47
- `devel/visualize-structure`: added human-readable lengths to containers
- `exportlegends`:
- added evilness and force IDs to regions
- added profession and weapon info to relevant entities
- added support for many new history events in 0.47
- added historical event relationships and supplementary data
- `full-heal`:
- made resurrection produce a historical event viewable in Legends mode
- made error messages more explanatory
- `install-info`: added DFHack build ID to report
- `modtools/create-item`: added ``-matchingGloves`` and ``-matchingShoes`` arguments
- `modtools/create-unit`:
- added ``-duration`` argument to make the unit vanish after some time
- added ``-locationRange`` argument to allow spawning in a random position within a defined area
- added ``-locationType`` argument to specify the type of location to spawn in
- `unretire-anyone`:
- added ``-dead`` argument to revive and enable selection of a dead historical figure to use as an adventurer in adv mode