Skip to content

DFHack 50.07-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@myk002 myk002 released this 17 Mar 22:28
· 3260 commits to develop since this release
460ce88

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 a buildingplan reset command that you can run from gui/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):
suspendmanager

Turn suspendmanager on in gui/control-panel:
enable_suspendmanager

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 for suspendmanager
  • suspendmanager: automatic job suspension management (replaces autounsuspend)
  • 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 recently
  • showmood 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 to hack/data/blueprints
    • player-created blueprints should now go in the dfhack-config/blueprints folder. please move your existing blueprints from blueprints to dfhack-config/blueprints. you don't need to move the library blueprints -- those can be safely deleted from the old blueprints directory.
  • blueprint: now writes blueprints to the dfhack-config/blueprints directory
  • buildingplan:
    • 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 parameters
  • 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!
  • 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