Skip to content

Releases: DFHack/dfhack

DFHack 0.42.06-r1

24 Apr 21:32
Compare
Choose a tag to compare

This is our first stable release for the DF 0.42 series. Thanks to everyone that tested out the pre-releases and reported issues!

Note: This release has local documentation this time! We're still ironing out our build process for it, but it's in the hack/docs folder. As always, it's also available online at https://dfhack.readthedocs.org/.

Linux note (mainly for people who've been avoiding pre-releases): The GCC 4.8 build should work out of the box now, without requiring libs/libstdc++.so.6 to be removed. It also avoids some weird compiler issues, so using it is recommended. GCC 4.5 builds may be available as well in case the GCC 4.8 builds still don't work.

Internals

  • Commands to run on startup can be specified on the command line with +

    Example:

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

  • Additional script search paths can be specified in dfhack-config/script-paths.txt

Lua

  • building-hacks now supports auto_gears flags. It automatically finds and animates gears in building definition
  • Changed how eventful triggers reaction complete. Now it has onReactionComplete and onReactionCompleting. Second one can be canceled

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save
  • modtools/extra-gamelog: replaces log-region, soundsense-season, and soundsense

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • colonies: new place subcommand and supports any vermin (default honey bees)
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu
  • zone:
    • Added unassign subcommand
    • Added only option to assign subcommand

Fixes

  • Fixed a crash bug caused by the historical figures DFHack uses to store persistent data.
  • More plugins should recognize non-dwarf citizens
  • Fixed a possible crash from cloning jobs
  • moveToBuilding() now sets flags for items that aren't a structural part of the building properly
  • autotrade, stocks: Made trading work when multiple caravans are present but only some can trade
  • confirm note-delete: No longer interferes with name entry
  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • fastdwarf: Fixed a bug involving teleporting mothers but not the babies they're holding.
  • gaydar: Fixed text display on OS X/Linux and failure with soul-less creatures
  • manipulator:
    • allowed editing of non-dwarf citizens
    • stopped ghosts and visitors from being editable
    • fixed applying last custom profession
  • modtools/create-unit: Stopped making units without civs historical figures
  • modtools/force:
    • Removed siege option
    • Prevented a crash resulting from a bad civilization option
  • showmood: Fixed name display on OS X/Linux
  • view-item-info: Fixed density units

Misc Improvements

  • autochop: Can now edit log minimum/maximum directly and remove limit entirely
  • autolabor, autohauler, manipulator: Added support for new jobs/labors/skills
  • colonies: now implemented by a script
  • createitem: Can now create items anywhere without specifying a unit, as long as a unit exists on the map
  • devel/export-dt-ini: Updated for 0.42.06
  • devel/find-offsets: Automated several more scans
  • gui/gm-editor: Now supports finding some items with a numeric ID (with i)
  • lua: Now supports some built-in variables like gui/gm-editor, e.g. unit, screen
  • remotefortressreader: Can now trigger keyboard events
  • stockflow: Now offers better control over individual craft jobs
  • weather: now implemented by a script
  • zone: colored output

Removed

  • DFusion: legacy script system, obsolete or replaced by better alternatives

DFHack 0.42.06-beta1

13 Apr 02:36
Compare
Choose a tag to compare
DFHack 0.42.06-beta1 Pre-release
Pre-release

Internals

  • Commands to run on startup can be specified on the command line with +

    Example::

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

  • Additional script search paths can be specified in dfhack-config/script-paths.txt

Lua

  • building-hacks now supports auto_gears flags. It automatically finds and animates gears in building definition
  • Changed how eventful triggers reaction complete. Now it has onReactionComplete and onReactionCompleting. Second one can be canceled

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save
  • modtools/extra-gamelog: replaces log-region, soundsense-season, and soundsense

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu
  • colonies: new place subcommand and supports any vermin (default honey bees)

Fixes

  • Fixed a crash bug caused by the historical figures DFHack uses to store persistent data.
  • More plugins should recognize non-dwarf citizens
  • Fixed a possible crash from cloning jobs
  • moveToBuilding() now sets flags for items that aren't a structural part of the building properly
  • confirm note-delete: No longer interferes with name entry
  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • fastdwarf: Fixed a bug involving teleporting mothers but not the babies they're holding.
  • gaydar: Fixed text display on OS X/Linux and failure with soul-less creatures
  • manipulator:
    • allowed editing of non-dwarf citizens
    • stopped ghosts and visitors from being editable
    • fixed applying last custom profession
  • modtools/create-unit: Stopped making units without civs historical figures
  • modtools/force:
    • Removed siege option
    • Prevented a crash resulting from a bad civilization option
  • showmood: Fixed name display on OS X/Linux
  • view-item-info: Fixed density units

Misc Improvements

  • autochop: Can now edit log minimum/maximum directly and remove limit entirely
  • autolabor, autohauler, manipulator: Added support for new jobs/labors/skills
  • colonies: now implemented by a script
  • createitem: Can now create items anywhere without specifying a unit, as long as a unit exists on the map
  • devel/export-dt-ini: Updated for 0.42.06
  • devel/find-offsets: Automated several more scans
  • lua: Now supports some built-in variables like gui/gm-editor, e.g. unit, screen
  • remotefortressreader: Can now trigger keyboard events
  • stockflow: Now offers better control over individual craft jobs
  • weather: now implemented by a script

Removed

  • DFusion: legacy script system, obsolete or replaced by better alternatives

DFHack 0.42.06-alpha2

10 Mar 23:29
Compare
Choose a tag to compare
DFHack 0.42.06-alpha2 Pre-release
Pre-release

Internals

  • Commands to run on startup can be specified on the command line with +

    Example::

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search-plugin: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu

Fixes

  • Fixed a crash bug caused by the historical figures DFHack uses to store persistent data.
  • More plugins should recognize non-dwarf citizens
  • Fixed a possible crash from cloning jobs
  • confirm note-delete: No longer interferes with name entry
  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • fastdwarf: Fixed a bug involving teleporting mothers but not the babies they're holding.
  • gaydar: Fixed text display on OS X/Linux and failure with soul-less creatures
  • manipulator:
    • allowed editing of non-dwarf citizens
    • stopped ghosts and visitors from being editable
    • fixed applying last custom profession
  • modtools/create-unit: Stopped making units without civs historical figures
  • modtools/force:
    • Removed siege option
    • Prevented a crash resulting from a bad civilization option
  • showmood: Fixed name display on OS X/Linux

Misc Improvements

  • autolabor, autohauler, manipulator: Added support for new jobs/labors/skills
  • devel/export-dt-ini: Updated for 0.42.06
  • lua: Now supports some built-in variables like gui/gm-editor, e.g. unit, screen
  • stockflow: Now offers better control over individual craft jobs
  • weather: now implemented by a script

DFHack 0.42.06-alpha1

05 Mar 02:32
Compare
Choose a tag to compare
DFHack 0.42.06-alpha1 Pre-release
Pre-release

Internals

  • Commands to run on startup can be specified on the command line with +

    Example::

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu

Fixes

  • More plugins should recognize non-dwarf citizens
  • Fixed a possible crash from cloning jobs
  • confirm note-delete: No longer interferes with name entry
  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • gaydar: Fixed text display on OS X/Linux and failure with soul-less creatures
  • manipulator:
    • allowed editing of non-dwarf citizens
    • stopped ghosts and visitors from being editable
    • fixed applying last custom profession
  • modtools/create-unit: Stopped making units without civs historical figures
  • modtools/force:
    • Removed siege option
    • Prevented a crash resulting from a bad civilization option
  • showmood: Fixed name display on OS X/Linux

Misc Improvements

  • autolabor, autohauler, manipulator: Added support for new jobs/labors/skills
  • devel/export-dt-ini: Updated for 0.42.06
  • lua: Now supports some built-in variables like gui/gm-editor, e.g. unit, screen
  • stockflow: Now offers better control over individual craft jobs
  • weather: now implemented by a script

DFHack 0.42.05-alpha1

01 Feb 19:51
Compare
Choose a tag to compare
DFHack 0.42.05-alpha1 Pre-release
Pre-release

Another alpha release, with support for 0.42.05 (and 0.42.04). Reports seem to imply that this is stable, but as usual, make backups of your saves and report any issues you find on GitHub or the Bay12 Forums thread.

Internals

  • Commands to run on startup can be specified on the command line with +

    Example:

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu

Fixes

  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • showmood: Fixed name display on OS X/Linux

Misc Improvements

  • weather: now implemented by a script

DFHack 0.42.04-alpha2

09 Jan 16:29
Compare
Choose a tag to compare
DFHack 0.42.04-alpha2 Pre-release
Pre-release

This is an initial release for DF v0.42.04 only. The Linux build is using a new compiler, so please check for issues that weren't present in 0.42.04-alpha1. Making backups of your saves before and while using this is highly recommended. Please report any issues you find on GitHub or the Bay12 Forums thread.

Internals

  • Commands to run on startup can be specified on the command line with +

    Example:

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

New Scripts

  • devel/save-version: Displays DF version information about the current save

New Features

  • confirm: Added a confirmation for retiring locations
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu

Fixes

  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • showmood: Fixed name display on OS X/Linux

DFHack 0.42.04-alpha1

01 Jan 17:47
Compare
Choose a tag to compare
DFHack 0.42.04-alpha1 Pre-release
Pre-release

This is an initial release for DF v0.42.04 only. Support for v0.42.01-03 has been dropped due to DF changes, but it looks like there weren't many. Making backups of your saves before and while using this is highly recommended. Please report any issues you find on GitHub or the Bay12 Forums thread.

Some changes since DFHack 0.40.24-r5:

Internals

  • Commands to run on startup can be specified on the command line with +

    Example:

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

New Scripts

  • devel/save-version: Displays DF version information about the current save

New Features

  • confirm: Added a confirmation for retiring locations
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu

DFHack 0.42.03-alpha1

25 Dec 17:52
Compare
Choose a tag to compare
DFHack 0.42.03-alpha1 Pre-release
Pre-release

This is an initial release for DF v0.42.03, mainly for testing purposes. Making backups of your saves before and while using this is highly recommended. Please report any issues you find on GitHub or the Bay12 Forums thread.

Some notable changes since DFHack 0.40.24-r5 (not a complete list):

New Features

  • confirm: Added a confirmation for retiring locations
  • search: Support for the location occupation assignment menu

Fixes

  • showmood: Fixed name display on OS X/Linux

DFHack 0.40.24-r5

28 Nov 01:36
Compare
Choose a tag to compare

This is a small release (and likely the last release before the next DF version) that fixes some issues from DFHack 0.40.24-r4, notably a crash caused by the workflow plugin and an issue with some dialogs in the confirm plugin blocking certain actions.

New Features

  • confirm:
    • Added a uniform-delete option for military uniform deletion
    • Added a basic in-game configuration UI

Fixes

  • Fixed a rare crash that could result from running keybinding in onLoadWorld.init
  • Script help that doesn't start with a space is now recognized correctly
  • confirm: Fixed issues with haul-delete, route-delete, and squad-disband confirmations intercepting keys too aggressively
  • emigration should work now
  • fix-unit-occupancy: Significantly optimized - up to 2,000 times faster in large fortresses
  • gui/create-item: Allow exiting quantity prompt
  • gui/family-affairs: Fixed an issue where lack of relationships wasn't recognized and other issues
  • modtools/create-unit: Fixed a possible issue in reclaim fortress mode
  • search: Fixed a crash on the military screen
  • tweak max-wheelbarrow: Fixed a minor display issue with large numbers
  • workflow: Fixed a crash related to job postings (and added a fix for existing, broken jobs)

Misc Improvements

  • Unrecognized command feedback now includes more information about plugins
  • fix/dry-buckets: replaces the drybuckets plugin
  • feature: now implemented by a script

0.40.24-r4

08 Nov 23:43
Compare
Choose a tag to compare

DFHack 0.40.24-r4

(downloads below)

Internals

  • A method for caching screen output is now available to Lua (and C++)
  • Developer plugins can be ignored on startup by setting the DFHACK_NO_DEV_PLUGINS environment variable
  • The console on Linux and OS X now recognizes keyboard input between prompts
  • JSON libraries available (C++ and Lua)
  • More DFHack build information used in plugin version checks and available to plugins and lua scripts
  • Fixed a rare overflow issue that could cause crashes on Linux and OS X
  • Stopped DF window from receiving input when unfocused on OS X
  • Fixed issues with keybindings involving Ctrl-A and Ctrl-Z, as well as Alt-E/U/N on OS X
  • Multiple contexts can now be specified when adding keybindings
  • Keybindings can now use F10-F12 and 0-9
  • Plugin system is no longer restricted to plugins that exist on startup
  • dfhack.init file locations significantly generalized

Lua

  • Scripts can be enabled with the built-in enable/disable commands
  • A new function, reqscript(), is available as a safer alternative to script_environment()
  • Lua viewscreens can choose not to intercept the OPTIONS keybinding

New internal commands

  • kill-lua: Interrupt running Lua scripts
  • type: Show where a command is implemented

New plugins

  • confirm: Adds confirmation dialogs for several potentially dangerous actions
  • fix-unit-occupancy: Fixes issues with unit occupancy, such as faulty "unit blocking tile" messages (bug 3499)
  • title-version (formerly vshook): Display DFHack version on title screen

New scripts

  • armoks-blessing: Adjust all attributes, personality, age and skills of all dwarves in play
  • brainwash: brainwash a dwarf (modifying their personality)
  • burial: sets all unowned coffins to allow burial ("-pets" to allow pets too)
  • deteriorateclothes: make worn clothes on the ground wear far faster to boost FPS
  • deterioratecorpses: make body parts wear away far faster to boost FPS
  • deterioratefood: make food vanish after a few months if not used
  • elevate-mental: elevate all the mental attributes of a unit
  • elevate-physical: elevate all the physical attributes of a unit
  • emigration: stressed dwarves may leave your fortress if they see a chance
  • fix-ster: changes fertility/sterility of animals or dwarves
  • gui/family-affairs: investigate and alter romantic relationships
  • make-legendary: modify skill(s) of a single unit
  • modtools/create-unit: create new units from nothing
  • modtools/equip-item: a script to equip items on units
  • points: set number of points available at embark screen
  • pref-adjust: Adjust all preferences of all dwarves in play
  • rejuvenate: make any "old" dwarf 20 years old
  • starvingdead: make undead weaken after one month on the map, and crumble after six
  • view-item-info: adds information and customisable descriptions to item viewscreens
  • warn-starving: check for starving, thirsty, or very drowsy units and pause with warning if any are found

New tweaks

  • embark-profile-name: Allows the use of lowercase letters when saving embark profiles
  • kitchen-keys: Fixes DF kitchen meal keybindings
  • kitchen-prefs-color: Changes color of enabled items to green in kitchen preferences
  • kitchen-prefs-empty: Fixes a layout issue with empty kitchen tabs

Fixes

  • Plugins with vmethod hooks can now be reloaded on OS X
  • Lua's os.system() now works on OS X
  • Fixed default arguments in Lua gametype detection functions
  • Circular lua dependencies (reqscript/script_environment) fixed
  • Prevented crash in Items::createItem()
  • buildingplan: Now supports hatch covers
  • gui/create-item: fixed assigning quality to items, made :kbd:Esc work properly
  • gui/gm-editor: handles lua tables properly
  • help: now recognizes built-in commands, like "help"
  • manipulator: fixed crash when selecting custom professions when none are found
  • remotefortressreader: fixed crash when attempting to send map info when no map was loaded
  • search-plugin: fixed crash in unit list after cancelling a job; fixed crash when disabling stockpile category after searching in a subcategory
  • stockpiles: now checks/sanitizes filenames when saving
  • stocks: fixed a crash when right-clicking
  • steam-engine: fixed a crash on arena load; number keys (e.g. 2/8) take priority over cursor keys when applicable
  • tweak fps-min fixed
  • tweak farm-plot-select: Stopped controls from appearing when plots weren't fully built
  • workflow: Fixed some issues with stuck jobs. Existing stuck jobs must be cancelled and re-added
  • zone: Fixed a crash when using zone set (and a few other potential crashes)

Misc Improvements

  • DFHack documentation:
    • massively reorganised, into files of more readable size
    • added many missing entries
    • indexes, internal links, offline search all documents
    • includes documentation of linked projects (df-structures, third-party scripts)
    • better HTML generation with Sphinx
    • documentation for scripts now located in source files
  • autolabor:
    • Stopped modification of labors that shouldn't be modified for brokers/diplomats
    • Prioritize skilled dwarves more efficiently
    • Prevent dwarves from running away with tools from previous jobs
  • automaterial: Fixed several issues with constructions being allowed/disallowed incorrectly when using box-select
  • dwarfmonitor:
    • widgets' positions, formats, etc. are now customizable (see Readme)
    • weather display now separated from the date display
    • New mouse cursor widget
  • gui/dfstatus: Can enable/disable individual categories and customize metal bar list
  • full-heal: -r option removes corpses
  • gui/gm-editor
    • Pointers can now be displaced
    • Added some useful aliases: "item" for the selected item, "screen" for the current screen, etc.
    • Now avoids errors with unrecognized types
  • gui/hack-wish: renamed to gui/create-item
  • "keybinding list" accepts a context
  • lever:
    • Lists lever names
    • "lever pull" can be used to pull the currently-selected lever
  • memview: Fixed display issue
  • modtools/create-item: arguments are named more clearly, and you can specify the creator to be the unit with id df.global.unit_next_id-1 (useful in conjunction with modtools/create-unit)
  • nyan: Can now be stopped with dfhack-run
  • plug: lists all plugins; shows state and number of commands in plugins
  • prospect: works from within command-prompt
  • quicksave: Restricted to fortress mode
  • remotefortressreader: Exposes more information
  • search:
    • Supports noble suggestion screen (e.g. suggesting a baron)
    • Supports fortress mode loo[k] menu
    • Recognizes ? and ; keys
  • stocks: can now match beginning and end of item names
  • teleport: Fixed cursor recognition
  • tidlers, twaterlvl: now implemented by scripts instead of a plugin
  • tweak:
    • debug output now logged to stderr.log instead of console - makes DFHack start faster
    • farm-plot-select: Fixed issues with selecting undiscovered crops
  • workflow: Improved handling of plant reactions

Removed

  • embark-tools nano: 1x1 embarks are now possible in vanilla 0.40.24