github DFHack/dfhack 50.07-alpha1
DFHack 50.07-alpha1

latest releases: 50.14-r1.1, 50.14-r1, 50.13-r5...
pre-release21 months ago

50.07-alpha1 release notes

Design your fort with gui/dig:
dig

In addition to the Steam version, this alpha release brings compatibility with DF Classic! Itch is WIP.

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

Progress on updating existing DFHack tools is tracked here, and comments from players are welcome if an "untested" tool works for you. If you are waiting for a particular DFHack tool to get updated, please cast your vote for the tools that you'd like us to work on next: https://strawpoll.com/polls/61gDmBRx5Zw

Special thanks

We want to add this section to call out some of the fantastic community members that have helped improve DFHack so much in recent months (and I apologize to those of you I missed in this list):

  • 20k: invaluable research into UI state and memory structure alignment issues
  • AndrielChaoti: autofish
  • Baron Von Munchhausen (eamondo2): automelt, ongoing work on stockpiles
  • johncosker: gui/dig, autoslab, UI widget improvements
  • kelvie: automated build improvements
  • nuvu (vallode): gui/liquids, fix/civil-war, forbid, many ports of Ruby scripts to Lua
  • Robob27: confirm and updates for the entire core backend that provides DF context detection
  • seerskye: provider of some particularly tough reverse engineering insights
  • TaxiService: DFHack art assets and invaluable UI design feedback

Thank you all so much!

See the full list of DFHack contributors here: https://docs.dfhack.org/en/latest/docs/about/Authors.html

Intro and announcements

Standard alpha release warnings:

  • DFHack tools probably won't corrupt your savegame, but it would be really smart to keep backups of the forts that you care about. DFHack may not have fully adapted to the changes in the new version of Dwarf Fortress, and, especially at this early stage of release and ongoing rapid development, there WILL be bugs. Please always inform us quickly about crash bugs. We prioritize getting those fixed first.
  • Most tools have not been tested thoroughly with Steam DF. 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.
  • 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

  • We have been steadily squashing memory alignment issues and making DFHack tools more stable.
  • Now that DF-50.07 has fixed issues with savegames overwriting each other, DFHack fort-specific settings should also now be saved properly. You can check which tools are enabled by bringing up the DFHack control panel (gui/control-panel)
  • gui/dig is our first entry into the realm of visual design tools. Draw geometric shapes, lay out exploratory mining patterns, and, finally, get your stairs set up the way you want them. Check it out!
  • confirm makes a reappearance in this version. You will now get a confirmation prompt (that you can pause or disable if you don't like) that will prevent you from accidentally deleting a squad, destroying the trade depot when traders are using it, and many other regret-inducing actions that you can't undo.

Newly tested/updated tools

These are the existing tools that have been reported as working on the tracking spreadsheet. Thank you for all the people who have left comments there detailing which tools work and which ones don't! Your testing allowed us to make these tools available much faster than we otherwise would have.

  • autolabor: Automatically manage dwarf labors.
  • autonestbox: Auto-assign egg-laying female pets to nestbox zones.
  • confirm: Adds confirmation dialogs for destructive actions.

Generated release notes

New Scripts

  • gui/dig: digging designation tool for shapes and patterns
  • makeown: adds the selected unit as a member of your fortress

Fixes

  • Fix persisted data not being written on manual save
  • Fix right click sometimes closing both a DFHack window and a vanilla panel
  • Fixed issue with scrollable lists having some data off-screen if they were scrolled before being made visible
  • autochop: fixed bug related to lua stack smashing behavior in returned stockpile configs
  • automelt: fixed bug related to lua stack smashing behavior in returned stockpile configs
  • channel-safely: fixed bug resulting in marker mode never being set for any designation
  • fix/protect-nicks: now works by setting the historical figure nickname
  • gui/liquids: fixed issues with unit pathing after adding/removing liquids
  • gui/unit-syndromes: allow the window widgets to be interacted with
  • nestboxes:
    • now cancels any in-progress hauling jobs when it protects a fertile egg
    • now scans for eggs more frequently and cancels any in-progress hauling jobs when it protects a fertile egg
  • Units::isFortControlled: Account for agitated wildlife

Misc Improvements

  • replaced DFHack logo used for the hover hotspot with a crisper image
  • autobutcher:
    • changed defaults from 5 females / 1 male to 4 females / 2 males so a single unfortunate accident doesn't leave players without a mating pair
    • now immediately loads races available at game start into the watchlist
  • autodump:
    • reinstate autodump-destroy-item, hotkey: Ctrl-K
    • new hotkey for autodump-destroy-here: Ctrl-H
  • automelt: is now more resistent to vanilla savegame corruption
  • clean: new hotkey for spotclean: Ctrl-C
  • dig: new hotkeys for vein designation on z-level (Ctrl-V) and vein designation across z-levels (Ctrl-Shift-V)
  • gui/gm-editor:
    • now supports multiple independent data inspection windows
    • now prints out contents of coordinate vars instead of just the type
  • hotkeys: DFHack logo is now hidden on screens where it covers important information when in the default position (e.g. when choosing an embark site)
  • misery: now persists state with the fort
  • orders: recipe for silver crossbows removed from library/military as it is not a vanilla recipe, but is available in library/military_include_artifact_materials
  • rejuvenate: now takes an --age parameter to choose a desired age.
  • stonesense: added an INVERT_MOUSE_Z option to invert the mouse wheel direction

Lua

  • overlay: overlay widgets can now specify focus paths for the viewscreens they attach to so they only appear in specific contexts. see overlay-dev-guide for details.
  • widgets.CycleHotkeyLabel: Added key_back optional parameter to cycle backwards.
  • widgets.FilteredList: Added case_sensitive optional paramter to determine if filtering is case sensitive.
  • widgets.HotkeyLabel:
    • Added setLabel method to allow easily updating the label text without mangling the keyboard shortcut.
    • Added setOnActivate method to allow easily updating the on_activate callback.

Structures

  • added missing tiletypes and corrected a few old ones based on a list supplied by Toady

Don't miss a new dfhack release

NewReleases is sending notifications on new releases.