1. DFHack - Dwarf Fortress Modding Engine
  2. News

DFHack - Dwarf Fortress Modding Engine News

DFHack 50.07-r2rc1

Beta release for those subscribed to the "beta" release channel.

Fixes
-----
- `deteriorate`: ensure remains of enemy dwarves are properly deteriorated

Misc Improvements
-----------------
- `buildingplan`: minimized planner panel stays minimized until you change it again
- `combine`: add seeds and powder types.
- `deteriorate`: add option to exclude useable parts from deterioration
- `gui/control-panel`: add option for hiding the terminal console by default
- `gui/gm-editor`:
. - press ``g`` to move the map to the currently selected item/unit/building
. - press ``Ctrl-D`` to toggle read-only mode to protect from accidental changes; this state persists across sessions
- ``toggle-kbd-cursor``: add hotkey for toggling the keyboard cursor (Alt-K)

DFHack going live on Steam tomorrow!

DFHack beta testers, please check your steam clients for a preview of tomorrow's DFHack release!


DFHack's public release is tomorrow, but everyone who picked up a DFHack Steam pre-release key should now have access to the build. If you don't see the update, please make sure that you have selected the "beta - Beta release channel" branch in the "Betas" section of the DFHack properties in your Steam client. You'll know you have tomorrow's stable release if:

  • You see the version number `50.07-r1` when DFHack starts up
  • The DF main menu loads blazingly fast


Please try the update out and report here if everything went smoothly!

Compatibility with DF 50.08 beta


You may have seen that DF itself has a beta branch out with a preview build of 50.08. Once DFHack releases tomorrow for 50.07, we'll push a build to our beta branch that is compatible with both DF 50.07 and DF 50.08. Be aware that every time DF updates their beta build, we will have to update ours, so if you are subscribed to the DF beta branch, be prepared for some churn as DFHack battles for compatibility with changing DF 50.08 betas. Players who are subscribed to DF's regular public branch (that still has 50.07) will not be affected and can expect DFHack to continue working without interruption.

DFHack 50.07-r1

Read the Quickstart guide to get oriented:


Browse and run DFHack tools from the launcher:


Easily plan out buildings before you have materials with `buildingplan`:


Lay down designs with `gui/design`:


Enable the general strike bug fix in `gui/control-panel`:


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. 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!
[h2]What the heck is DFHack?[/h2]
This is DFHack's first stable release for Dwarf Fortress in the v50 era, so many of you will be reading the release notes for the first time. A little background is in order.

DFHack is an add-on for Dwarf Fortress that enables mods and tools to significantly extend the game. The default DFHack distribution contains a wide variety of these tools, including bugfixes, interface improvements, automation agents, design blueprints, modding building blocks, and more. Third-party tools (e.g. mods downloaded from Steam Workshop or the forums) can also seamlessly integrate with the DFHack framework and extend the game far beyond what can be done by just modding the raws.

DFHack’s mission is to provide tools and interfaces for players and modders to:
  • expand the bounds of what is possible in Dwarf Fortress
  • reduce the impact of game bugs
  • give the player more agency and control over the game
  • provide alternatives to toilsome or frustrating aspects of gameplay
  • make the game more fun

The DFHack team members (and our primary roles and pronouns) are:
  • Lethosor (team lead, he/him)
  • myk002 (developer, community lead, he/him)
  • ab9rf (reverse engineer, she/her)
  • Quietust (reverse engineer, he/him)
  • BenLubar (operations engineer, any/all)

DFHack also includes contributions from hundreds upon hundreds of community members! The best ways to interact with us are on the DFHack Discord or by filing issues on GitHub. Community contributions to DFHack are very welcome, both for the documentation and for the code. Come talk with us! We are happy to help get you oriented with the development process.
[h2]Announcements[/h2][h3]DFHack is now available on Steam![/h3]
For those who play Dwarf Fortress on Steam, you can now install DFHack through Steam as well! This has the added benefit of letting Steam auto-update DFHack for you. Instead of installing DFHack manually, head over to our Steam page and add DFHack to your library. If you have multiple drives or Steam Library folders, you will need to ensure DFHack is installed to the same location Dwarf Fortress is.

If you'd like to get new DFHack bugfixes and features first and are willing to file GitHub issues for any problems you encounter, please consider subscribing to the beta release channel. We will be depending on beta subscriber feedback to help shape new feature development. Also, by testing the pre-release builds of DFHack, you are helping us make high-quality stable releases. To subscribe to the beta channel, right click on the DFHack app in your steam client, go to Properties, select Betas, and change the dropdown from "None" to "beta - Beta release channel". Thank you! We really appreciate your help with this!

Bringing DFHack to Steam as an official mod was a massive undertaking. We'd like to thank everyone who helped make this happen:
  • Graphic Design: TaxiService, RafaelKB, Rumrusher
  • Steam installation, Steam Deck, and stability testing: AndrielChaoti, Finn!, Robob27, Thalzen, esotericist, TaxiService, Ozzatron, sdegrace, 20k, plule, RafaelKB, Putnam, drhead, Scootieloo, coskerstrike, and 200+ community members on Reddit and elsewhere

Special thanks go out to Kitfox for fielding Steam's questions about DFHack during the build review process, approving us as a community-written DF mod, and working with us every step of the way. You're awesome!

And, of course, a big thank you to Zach and Tarn, without whom we all wouldn't be here, and Putnam, who has had such a large impact on DF already in the short time she's been working with Bay 12.
[h3]PSAs[/h3]
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.

Many 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 do not compile yet and are not available 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 in the DF settings, and you can show it by entering mining mode or selecting the dump/forbid tool. We're working on making DFHack tools more mouse-aware and accessible.
[h2]Highlights[/h2]
There have been significant advancements since our last stable release (for 0.47.05) last year. Here's a selection of highlights from the top of the top:
[h3]Usability improvements[/h3]
There's a lot to talk about here! DFHack now has a fully-functional windowing system, where DFHack tool windows can be dragged, resized, and focused/unfocused for keyboard input. There are also new in-game UIs for discovering and managing DFHack tools and features. gui/launcher gives you access to all DFHack tools, with autocomplete and in-game help text (with examples for each command!). gui/control-panel is your one shop shop for toggling DFHack features and setting preferences. The DFHack logo in the upper left corner of the screen gives you quick access to tools associated with the current game context.

Hover the mouse over the DFHack logo and select the Quickstart Guide for a quick walkthrough about how to use DFHack in DF. You can also read the guide online.
[h3]Buildingplan[/h3]
DFHack's buildingplan plugin allows you to place furniture, constructions, and other buildings, regardless of whether the required materials are available. This allows you to focus purely on design elements when you are laying out your fort, and defer item production concerns to a more convenient time. It monitors your stocks of available building materials and attaches new items to the buildings so they can be built. You can set filters on your building materials to be sure that when items are attached, they meet your specific needs. For example, you can plan out walls that are guaranteed to be a consistent color and screw pumps that are guaranteed to be magma safe.
[h3]gui/civ-alert[/h3]
In vanilla DF, assigning a unit to a burrow is treated more like a suggestion than a command. This can be frustrating when you're assigning units to burrows in order to get them out of danger. In contrast, triggering a civilian alert with gui/civ-alert will cause all your non-military citizens to immediately rush to a burrow ASAP and stay there. This gives you a way to keep your civilians safe when there is danger about.

You'll notice an extra panel on the Squads menu (the one that shows up on the right side of the screen when you hit q) that prompts you to configure a burrow to use for the civ alert. Get it set up, and when danger comes a-knockin', hit that Big Red Button!
[h3]gui/design[/h3]
The vanilla designation interface does fine when you want to draw in solid rectangles, but gui/design allows you to take your fortress layouts to the next level. Draw patterns and shapes with thick or thin lines! Take a carefully drawn design and stamp it multiple times! Flip and rotate your designations around! Move your designations to a better spot on the map! Oh, and it can do rectangles too.
[h3]Mod and 3rd party script support[/h3]
Scripts within mods now work automatically. No more manual copying of scripts after "installation". This allows everything from single scripts to total conversion mods that add new scripted gameplay elements to work seamlessly, straight from the DF Steam Workshop. See the DFHack modding guide for details. You can also subscribe to the example Workshop mod to see a real example of how to distribute scripts from the Steam Workshop (though the format is applicable to mods distributed via non-Steam means as well).

[h3]And more![/h3]
See full release notes on our GitHub page.