Skip to content

Releases: DFHack/dfhack

DFHack 53.16-r1.1

Choose a tag to compare

@github-actions github-actions released this 08 Aug 04:54

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

Hotfix

Hotfix

This hotfix release addresses a defect that can cause DF to crash after using tools, such as gui/quantum, that programmatically create stockpiles.

Announcements

PSAs

Text

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.

Changelog

New tools, fixes, and improvements

Fixes

  • stockpiles will no longer incorrectly size the "rough gem" and "cut gem" vectors, which avoids a crash when viewing stockpile settings. This potentially affects anything that uses blueprints to create a stockpile, including gui/quantum

DFHack 53.16-r1

Choose a tag to compare

@github-actions github-actions released this 05 Aug 17:51

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

Compatibility with DF 53.16, Minor fixes

Compatibility with DF 53.16

The main feature of this release is compatibility with Dwarf Fortress 53.16.

Minor fixes

This release also includes a minor fix to the implementation one of DFHack's widgets.

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.

Changelog

New tools, fixes, and improvements

Fixes

  • TextArea widget corrected to use COLOR_BLACK instead of COLOR_RESET as default background color

Misc Improvements

  • a safety check was added to Screen::doSetTile_char for out of bound pen color values

Structures

  • added support for stl-fs-filetime representing std::filesystem::file_time_type

DFHack 53.15-r3

Choose a tag to compare

@github-actions github-actions released this 03 Aug 15:33

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, API changes and improvements

Bug fixes

A bug in buildingplan which made some controls invisible has been fixed.

API changes and improvements

Some of our Lua and C++ APIs have been updated in this release; see the changelog for details. Notably, several MaterialInfo constants have been removed, which may impact third party plugins and scripts. Developers of third party plugins and scripts should be aware of these.

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.

Changelog

New tools, fixes, and improvements

Fixes

  • buildingplan: restore planner UI elements: hollow constructions, only engraved slabs, only empty cages, weapon count

Misc Improvements

  • EventManager: add safety check to potentially avoid a DFHack crash when DF's reports table is out of order

API

  • DFSDL: added obtain_library_handle and obtain_image_library_handle so that a plugin can obtain DFHack's already-open handle to these libs instead of having to do it itself.
  • Materials: MaterialInfo constants NUM_BUILTIN, GROUP_SIZE, CREATURE_BASE, FIGURE_BASE, PLANT_BASE, and END_BASE removed. New plugins should use appropriate members of the df::builtin_mats enum.
  • Screen: new functions paintMapPortTile and readMapPortTile to write and read world and region map tiles.

Lua

  • Added Screen::paintMapPortTile as dfhack.screen.paintMapPortTile
  • Added Screen::readMapPortTile as dfhack.screen.readMapPortTile
  • Deprecated gui.materials.CREATURE_BASE and gui.materials.PLANT_BASE - scripts should instead use df.builtin_mats.CREATURE_1 and df.builtin_mats.PLANT_1, respectively.

Structures

  • changed codegen to use std::array for fixed-length arrays instead of C-style arrays

DFHack 53.15-r2

Choose a tag to compare

@github-actions github-actions released this 13 Jul 18:06

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

DFHack 53.15-r1

Choose a tag to compare

@github-actions github-actions released this 25 Jun 18:23

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

Compatibility with Dwarf Fortress 53.15, Fixes and improvements

Compatibility with Dwarf Fortress 53.15

The main feature of this release is compatibility with Dwarf Fortress 53.15.

Fixes and improvements

Several tools have had minor fixes or improvements. See the changelog for details.

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.

Changelog

New tools, fixes, and improvements

New Tools

  • machine-toggle: interface for toggling gear assemblies, as well as pressure plates (previously in trackstop) (available only if "armok" tools are shown)

Fixes

  • add-recipe: fix to include incorrectly excluded recipes
  • autoclothing: will no longer count gloves and pants as if they were helms
  • gui/control-panel: fixed incorrect description of deteriorate commands
  • gui/petitions: fix deity display
  • timestream: do not skip ticks when a caravan is loading or unloading, and be more careful about skipping ticks when flows are active

Misc Improvements

  • trackstop: pressureplate overlay moved to machine-toggle as an "armok" tool

Structures

  • corrected return type on art_image_propertyst vmethod clone

DFHack 53.14-r2

Choose a tag to compare

@github-actions github-actions released this 22 May 20:08

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

Hotfix

Hotfix

Changes in how Dwarf Fortress handles announcements have made the logcleaner impossible to implement safely, and so this tool has been removed with this hotfix.

In addition, a change has been made to DF's core code to prevent any attempt by a script to delete internal game data objects, such as announcements, which cannot be safely deleted, in order to prevent crashes caused by bugs of this nature. Script code which attempts to delete data objects which cannot be safely deleted will now throw an exception, which will result in either a script error or a controlled crash (which will normally create a useful crash log), instead of causing memory corruption and an uncontrolled crash.

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.

Changelog

New tools, fixes, and improvements

Misc Improvements

  • Core: attempts to delete a pool-allocated DF object will now throw an exception instead of corrupting the heap

Removed

  • logcleaner: Removed (cannot be safely implemented at this time)
  • gui/logcleaner: Removed

DFHack 53.14-r1

Choose a tag to compare

@github-actions github-actions released this 20 May 17:23

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

Compatibility with Dwarf Fortress 53.14, Other new features and fixes

Compatibility with Dwarf Fortress 53.14

The primary feature of this release is compatibility with Dwarf Fortress 53.14.

Other new features and fixes

A handful of tools had minor bugs fixed or small features added. See the changelog, below, for details.

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.

Changelog

New tools, fixes, and improvements

New Features

  • Compatibility with Dwarf Fortress 53.14

Fixes

  • caravan: fix ethics warning for wooden weapons
  • gui/control-panel: fixed inconsistent space in command help ("tweak" -> "tweak ", like with other commands)
  • gui/siegemanager: consistently set the initial filter to "All"
  • immortal-cravings: also take care of immortal units with alcohol dependence

** 30 **

DFHack 53.13-r2

Choose a tag to compare

@github-actions github-actions released this 16 May 13:18

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 fix

Bug fix

This release fixes a critical defect caused by a change in how Dwarf Fortress internally handles announcements in version 53.13. This defect could cause DF to crash if a DFHack tool used any of the Gui::makeAnnoucement, Gui::showPopupAnnouncement, or Gui::autoDFAnnouncement routines. These routines are used by several standard DFHack tools, including autonestbox and emigration, as well as many third party scripts. This release fixes this defect.

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.

Changelog

New tools, fixes, and improvements

Fixes

  • Gui::makeAnnoucement, Gui::showPopupAnnouncement`, and Gui::autoDFAnnouncement`` will no longer attempt to cull the DF announcement vector

Structures

  • added a proper default for pool_id fields in several structures

DFHack 53.13-r1

Choose a tag to compare

@github-actions github-actions released this 13 May 19:41

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

Compatibility with Dwarf Fortress 53.13, Structures review, Other bug fixes and improvements

Compatibility with Dwarf Fortress 53.13

The main focus of this release is to add compatibility with Dwarf Fortress 53.13.

Structures review

A fairly significant review and update of DFHack's view of DF data structures is incorporated in this release. This should have little impact on regular players but may affect those who write DFHack scripts. See the changelog for more details.

Other bug fixes and improvements

A minor bug that occasionally affected autotrain has been fixed, some documentation was slightly improved, and a few APIs were made more 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.

Changelog

New tools, fixes, and improvements

Documentation

  • updated documentation for autofarm for more clarity

API

  • add flexible casting to enum_field to enable explicit casting to more types
  • Handle units without current soul in Units::getFocusPenalty

Structures

  • added some missing enums and bitfields
  • assigned proper bitfield data type on agreement_details_data_plot_infiltration_coup.flags
  • changed various fields to make use of existing enums and bitfields
  • ensured that original-name always appears after name or type-name, never before
  • filled in missing original-name attributes
  • fixed assorted typos in original-name attributes
  • fixed base types of creature_sound_type, creature_sound_method_type, and art_image_property_verb
  • fixed several enums
  • fixed several structure field type errors
  • fixed several typos in original-name attributes
  • fixed various fields to use correct signedness
  • fixed various fields to use int8_t or bool as appropriate
  • merged item_statue_graphics_type bitfield into item_statue_graphics_flag
  • other changes:
    • added name to field cgl_itemst.item_type
    • inclusion_type now has 16-bit base type (though nothing relies on it)
    • renamed adventure_interface_attackst.scrselected_item_idoll_position_wrestle to selected_item_id
  • specific changes:
    • fixed building_constructionst.type to be 32-bit, along with the construction_type enum
    • fixed contextst.interrogator_relationships to be a pointer to evidence_repositoryst
    • fixed actor_entryst.associated_org to contain pointers to organization_entryst
    • fixed justice_interfacest.interrogation_report to contain pointers to interrogation_report
    • fixed main_interface_settings.member to contain shared pointers to world_gen_param_valuest
    • fixed squad_equipment_interfacest.am_cand_subtype to contain int16_t
    • fixed startup_charactersheet_petst.race to be int32_t
    • fixed lookinfo_verminst.caste to be int16_t
    • fixed intrigue_corruption.facet_rating to be int16_t
    • fixed historical_entity.current_wgwg to be a direct pointer
    • fixed historical_figure.worldgen_relationships to be a direct pointer
    • fixed pmd_tree_texture_infost.texpos_tree_wood_tile to use correct array length (sized against the correct enum)
    • fixed build_square_type enum to add missing element OUTSIDE
    • swapped main_hover_instruction elements ADVENTURE_MOVE_DOWN_RAMP_E and ADVENTURE_MOVE_DOWN_RAMP_W
    • viewscreen_titlest.mode now uses new enum title_mode_type
    • viewscreen_worldst.squad_flag now uses new bitfield civlist_squad_flag
    • viewscreen_worldst.messenger_flag now uses new bitfield civlist_messenger_flag
    • fixed historical_entity.resources.art_image_types to use new entity_art_image_type enum
    • adventure_movement_movest.aim_attack_flag now uses aim_attack_flag bitfield
    • adventure_movement_mountst.riderposition now uses rider_positions_type enum
    • adventure_constructionst.building_jobitemflag now uses job_material_category bitfield
    • adventure_constructionst.mat_jobitemflag now uses job_material_category bitfield
    • adventure_constructionst.mat_jobitemflag_master now uses job_material_category bitfield
    • building_defst.build_key now uses interface_key enum
    • body_detail_plan.bp_layers_tissue now uses creature_interaction_effect_target_mode enum
    • body_detail_plan.bp_position_value now uses body_part_position_type enum
    • body_detail_plan.bp_relation_value_1 now uses body_part_relation_type enum
    • custom_stockpile_interfacest.cur_main_mode_flag now uses stockpile_group_set bitfield
    • custom_stockpile_interfacest.main_mode_flag now uses stockpile_group_set bitfield
    • name_creator_interfacest.cur_name_place now uses language_name_component enum
    • name_creator_interfacest.cur_word_place now uses language_word_table_index enum
    • dance_form_section.dance_flag now uses dance_flag bitfield
    • evidence_hf_filest.evidence now uses evidence_type enum
    • historical_entity.resources.scholar_flag now uses entity_scholar_flag bitfield
    • interaction_effect_summon_unitst fields required_creature_flags and forbidden_creature_flags now use creature_raw_flags enum
    • interaction_effect_summon_unitst fields required_caste_flags and forbidden_caste_flags now use caste_raw_flags enum
    • interaction_effect_change_weatherst fields add_weather_flag and remove_weather_flag now use region_weather_bits bitfield
    • creature_interaction_effect_body_transformationst fields required_creature_flags and forbidden_creature_flags now use creature_raw_flags enum
    • creature_interaction_effect_body_transformationst fields required_caste_flags and forbidden_caste_flags now use caste_raw_flags enum
    • unit_personality.habit now uses habit_type enum
    • world_region_feature.vertical_connection now uses layer_connection_type enum
    • site_construction_blueprintst fields construction_type and building_type now use building_type enum
    • site_construction_blueprintst fields construction_jobitemflag and building_jobitemflag now use job_material_category bitfield
    • building_weaponrackst.rack_flags is now unsigned
    • temperaturest.fraction is now unsigned
    • ``hist...
Read more

DFHack 53.12-r1

Choose a tag to compare

@github-actions github-actions released this 14 Apr 23:06

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

Dwarf Fortress 53.12 compatibility

Dwarf Fortress 53.12 compatibility

This release adds compatibility with Dwarf Fortress 53.12.

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.

Changelog

New tools, fixes, and improvements

New Features

  • Compatibility with Dwarf Fortress 53.12

Fixes

  • Stockpile definitions in the default library will be correctly found and used (fixed missing path separator)