This beta release is compatible with all distributions of DF: Steam, Itch, and Classic.
Installation instructions here: https://docs.dfhack.org/en/latest/docs/Installing.html#installing
Quickstart guide here: https://docs.dfhack.org/en/latest/docs/Quickstart.html#quickstart
Please report any bugs (or feature requests) as a GitHub issue here: https://github.com/DFHack/dfhack/issues
Announcements
alpha -> beta, PSAs
"alpha" -> "beta"
We have moved from the "alpha" phase to the "beta" phase. What does this mean for DFHack? It means that we've been running on tens of thousands of forts for tens of thousands of players (according to our download statistics), and no major issues have come up. The few crash bugs that were reported in the DF 50.05 days have been fixed, there have been exactly zero game corruption bugs reported, and DFHack's core library is stable. It seems calling ourselves "alpha" is at odds with our actual level of reliability.
So why not skip the "beta" and jump straight to "stable"? Well, there are a few more things we'd like to get done before we move to "stable" releases. In particular, we'd like to have a formal public beta testing program in place. Since the majority of DF players are Steam users, we've been working to get DFHack on Steam. Not only will this simplify the DFHack update process for all Steam users (that is, you just add DFHack to your Steam library and it will autoupdate for you), but it will also give DFHack a platform from which to run a beta testing program.
Most players will stay on the default release channel, which will keep you updated with "stable" DFHack releases. Players who want the newest features first and who are willing to also catch and report the bugs can subscribe to the "beta" release channel. We will only push a build to the "stable" release channel after it has been tested in the "beta" channel for an appropriate amount of time. In this way, we hope to provide a very high level of reliability for the stable releases.
How close is DFHack to being on steam? After several months of research and work, we're tantalizingly close. However, there are a few final approval stages that are outside our control and prevent us from giving an ETA. For technical reasons, DFHack will be a Steam "App" and not a workshop mod, so there is much more paperwork involved, even for a free, open source application.
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.
Many DFHack tools that worked in previous (pre-Steam) versions of DF have not been tested thoroughly with the newest versions. The tools that are untested will show a warning if you try to run them 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 untested.
The in-game interface for running DFHack commands (gui/launcher
) will not show untested 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 autocomplete as normal. Some tools do not compile yet and are not available at all, even when in dev mode.
For those of you using sdl12compat, note that you will need to replace the "SDLreal.dll" file that DFHack installs with the SDL.dll (renamed to "SDLreal.dll") from sdl12compat. While we do not specifically recommend using sdl12compat, we have generally heard positive feedback about it.
Steam deck users: To avoid blocking the screen with the DFHack terminal window, please edit the dfhack-config/init/dfhack.init
file and add a line with the word hide
. This will hide the DFHack terminal and get it out of the way. You can show it again if you need it by running the command show
from gui/launcher
.
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.
Highlights
buildingplan, suspendmanager, blueprints directory change, quicksave
Buildingplan
Thank you all for the feedback you've given us about buildingplan over the past week! We're pushing this release out faster than usual in order to address the issues people have run into and to implement your requests:
- Items are now matched and attached correctly to screw pumps and other multi-item buildings
- Buildings with different filter configurations will no longer get "stuck" if one of the building's filters currently matches no items
- Your choice for whether you want to choose specific items is now saved per building type
- You can now attach multiple weapons to spike traps
- You can now filter by clay materials
- You can now filter by whether a slab is engraved
- There is now a "minimize" button to temporarily get the planner overlay out of the way if you would rather use the vanilla UI for placing the current building
- If you want to reset all
buildingplan
settings and filters to defaults, there is now abuildingplan reset
command that you can run fromgui/launcher
Again, we have lots of plans for making buildingplan
better and better, but we'd also love to hear your thoughts about how this version is working for you. Tell us here in this thread or join the "buildingplan feedback" discussion on the DFHack discord: https://dfhack.org/discord
Suspendmanager
Prevent missed corners with the new suspendmanager
(active in video on the right side):
Turn suspendmanager
on in gui/control-panel
:
suspendmanager is replacing the current autounsuspend
tool. It takes over autounsuspend
's job of unsuspending building construction jobs that have become suspended due to inaccessible materials, items temporarily in the way, or worker dwarves getting scared by wildlife. It also solves a common problem that players run into when building walls. If you build a wall with a corner, dwarves often choose to build the corner tile last. This means that by the time they want to build it, they can't get to it, and the wall corner remains forever unbuilt. suspendmanager
detects when this might happen and suspends the adjacent wall construction jobs until the corner tiles are built, getting the job done right the first time and saving you the hassle of manually fixing the problem.
You can enable suspendmanager
in gui/control-panel
. Give it a try!
Blueprint directory change
Tl;dr: player-created blueprints will now be written to the dfhack-config/blueprints
folder. Please move your existing personal blueprints from blueprints
(in the top-level DF game directory) to dfhack-config/blueprints
so quickfort
and gui/quickfort
can continue to find them.
Long version: All of your saved DFHack data is stored in the dfhack-config
folder. This protects it when you upgrade DFHack, makes it easy to find when you're copying it to a new install directory, and, once we get DFHack on Steam, will allow your data to get backed up automatically in the Cloud. Up until now, the blueprints
directory has lived outside of the protected dfhack-config
folder because we wanted to maintain compatibility with the old (but venerable), out-of-process implementation of Quickfort that came with PeridexisErrant's DF Starter Pack. That is no longer relevant, so it's finally time to move blueprints in with the rest of the protected data.
Like many other DFHack tool data libraries, the library blueprints will now be stored in the hack/data
directory. You don't need to worry about those. They'll appear in gui/quickfort
just like they always have.
All you have to do is move your personal blueprints (if any) from the blueprints
folder to the new dfhack-config/blueprints
folder. That folder will be created automatically the first time you start DF after upgrading DFHack, but you can create it manually if you're moving your blueprints before starting DF.
If you have any extra blueprints in your blueprints
directory that are not part of the DFHack blueprint library, for example, the community blueprints that used to come with the Starter Pack, you should move those to dfhack-config/blueprints
too.
Then you can safely delete the old blueprints
directory in the top-level DF folder.
Sorry for the extra work! This will make things easier to manage going forward, though.
Quicksave
Some of you may have noticed that quicksave
has sometimes completed "too quickly" and fails to create a fully usable savegame. After investigation, we've found the additional setup that has to be completed before DF will properly save the game. quicksave
will now reliably create a full autosave whenever it is run. Go forth, and save often!
Generated release notes
New tools, fixes, and improvements
New Scripts
gui/suspendmanager
: graphical configuration interface forsuspendmanager
suspendmanager
: automatic job suspension management (replacesautounsuspend
)suspend
: suspends building construction jobs
Fixes
buildingplan
:- items are now attached correctly to screw pumps and other multi-item buildings
- buildings with different material filters will no longer get "stuck" if one of the filters currently matches no items
gui/launcher
: tab characters in command output now appear as a space instead of a code page 437 "blob"quicksave
: now reliably triggers an autosave, even if one has been performed recentlyshowmood
properly count required number of bars and cloth when they aren't the main item for the strange mood
Misc Improvements
blueprint-library-guide
:- library blueprints have moved from
blueprints
tohack/data/blueprints
- player-created blueprints should now go in the
dfhack-config/blueprints
folder. please move your existing blueprints fromblueprints
todfhack-config/blueprints
. you don't need to move the library blueprints -- those can be safely deleted from the oldblueprints
directory.
- library blueprints have moved from
blueprint
: now writes blueprints to thedfhack-config/blueprints
directorybuildingplan
:- can now filter by clay materials
- remember choice per building type for whether the player wants to choose specific items
- you can now attach multiple weapons to spike traps
- can now filter by whether a slab is engraved
- add "minimize" button to temporarily get the planner overlay out of the way if you would rather use the vanilla UI for placing the current building
- add
buildingplan reset
command for resetting all filters to defaults - rename "Build" button to "Confirm" on the item selection dialog and change the hotkey from "B" to "C"
gui/gm-editor
: can now open the selected stockpile if run without parametersquickfort
: now reads player-created blueprints fromdfhack-config/blueprints/
instead of the oldblueprints/
directory. Be sure to move over your personal blueprints to the new directory!showmood
: clarify how many bars and/or cloth items are actually needed for the mood
Removed
buildingplan
: "heat safety" setting is temporarily removed while we investigate incorrect item matching
Structures
- identified two fields related to saves/autosaves to facilitate quicksave implementation