github DFHack/dfhack 53.15-r2
DFHack 53.15-r2

12 hours ago

Q: How do I download DFHack?

A: Either add to your Steam library from our Steam page or scroll to the latest release on our GitHub releases page, expand the "Assets" list, and download the file for your platform (e.g. dfhack-XX.XX-rX-Windows-64bit.zip. If you are on Windows and are manually installing from the zip file, please remember to right click on the file after downloading, open the file properties, and select the "Unblock" checkbox. This will prevent issues with Windows antivirus programs.


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.

Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Bug fixes, New features and improvements, New API features

Bug fixes

This release is mostly a bug fix release. Many tools had small (or not so small) defects corrected with this release: autoclothing, autolabor, buildingplan, combine, getplants, rename, and stonesense. See changelog for full details.

New features and improvements

buildingplan also got a few small new added features that some players may enjoy. And the orders tool now includes a human-readable name with each exported order in its export file, which is a small feature that some players have requested.

New API features

Scripters should be aware that we've added a getConfigPath method to locate the dfhack-config folder. This is in preparation for moving the dfhack-config folder out of Dwarf Fortress's installation folder, which will happen in an upcoming release. Maintainers of third party scripts should update their scripts now to use getConfigPath instead of hardcoding the dfhack-config pathname into their scripts to avoid misoperation in the future.

There is also a new radio button widget that scripters may find useful.

Announcements

PSAs

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

An increasing number of scripters have taken to publishing DFHack scripts on the Dwarf Fortress workshop, instead of submitting them for inclusion in DFHack's distribution. Players may want to be aware that this is reducing the number of submissions for new scripts that we get, and that there are almost certainly useful or interesting tools to be found on Dwarf Fortress's workshop that will likely never make it into our official distribution. Of course, the DFHack team does not quality-check scripts published as mods on the Dwarf Fortress workshop, nor does the DFHack team take any steps to verify that DFHack updates won't break such mods. The DFHack team recommends that players exercise due diligence in selecting third party mods, from the Dwarf Fortress workshop or from any other source, as part of their play experience, and that scripters who publish via the Dwarf Fortress workshop maintain awareness of DFHack's ongoing development so as to be aware of upcoming changes that might break their scripts.

Changelog

New tools, fixes, and improvements

New Features

  • buildingplan: add a Pull button next to linked levers on a building's "Show linked buildings" tab so you can queue a high-priority pull-lever job (or cancel a queued one) without navigating to the lever

Fixes

  • autoclothing: correct defect in validating material specification on command line
  • autolabor: Fix running 1 tick less frequently than intended.
  • buildingplan: fixed non-clickable pressure plates's triggers (issue #5736)
  • combine: stopgap fix for incorrectly combining dyes, no longer affects dyes
  • getplants: added protective code to avoid misoperation when a plant has an invalid material (which should never happen, but...)
  • gui/rename: fix script error that sometimes caused the script to malfunction when started from the Launcher.
  • stonesense:
    • fixed a crash when rendering materials with an out-of-range color index
    • fixed incorrect stone/soil layer types appearing in fortresses that cross region bounds
    • fixed tree materials not being applied correctly

Misc Improvements

  • buildingplan:
    • added a slider on the weapontrap overlay
    • added a small tooltip text about renaming favorites in the UI
    • buildingplan can now generate work orders
  • orders: exported orders now include a human-readable name field

API

  • Core: added getConfigPath() API for obtaining the path to user-specific configuration files
  • widgets.RadioButton: New button widget resembling those used in gui/control-panel

Lua

  • Added dfhack.getConfigPath() API, proxying Core::getConfigPath

Don't miss a new dfhack release

NewReleases is sending notifications on new releases.