Releases: DFHack/dfhack
DFHack 0.42.06-alpha2
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 barsconfirm
: Added a confirmation for retiring locationsexportlegends
: 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 toggledtweak hide-priority
: Adds an option to hide designation priority indicatorstweak 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 entryexportlegends
: Handles entities without specific races, and a few other fixes for things new to v0.42fastdwarf
: 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 creaturesmanipulator
:- 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 figuresmodtools/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/skillsdevel/export-dt-ini
: Updated for 0.42.06lua
: Now supports some built-in variables likegui/gm-editor
, e.g.unit
,screen
stockflow
: Now offers better control over individual craft jobsweather
: now implemented by a script
DFHack 0.42.06-alpha1
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 barsconfirm
: Added a confirmation for retiring locationsexportlegends
: 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 toggledtweak hide-priority
: Adds an option to hide designation priority indicatorstweak 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 entryexportlegends
: Handles entities without specific races, and a few other fixes for things new to v0.42gaydar
: Fixed text display on OS X/Linux and failure with soul-less creaturesmanipulator
:- 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 figuresmodtools/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/skillsdevel/export-dt-ini
: Updated for 0.42.06lua
: Now supports some built-in variables likegui/gm-editor
, e.g.unit
,screen
stockflow
: Now offers better control over individual craft jobsweather
: now implemented by a script
DFHack 0.42.05-alpha1
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 barsconfirm
: Added a confirmation for retiring locationsexportlegends
: 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 toggledtweak hide-priority
: Adds an option to hide designation priority indicatorstweak 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.42showmood
: Fixed name display on OS X/Linux
Misc Improvements
weather
: now implemented by a script
DFHack 0.42.04-alpha2
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 locationssearch
: 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 toggledtweak hide-priority
: Adds an option to hide designation priority indicatorstweak 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.42showmood
: Fixed name display on OS X/Linux
DFHack 0.42.04-alpha1
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 locationssearch
: 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
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 locationssearch
: Support for the location occupation assignment menu
Fixes
showmood
: Fixed name display on OS X/Linux
DFHack 0.40.24-r5
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
- Added a
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 aggressivelyemigration
should work nowfix-unit-occupancy
: Significantly optimized - up to 2,000 times faster in large fortressesgui/create-item
: Allow exiting quantity promptgui/family-affairs
: Fixed an issue where lack of relationships wasn't recognized and other issuesmodtools/create-unit
: Fixed a possible issue in reclaim fortress modesearch
: Fixed a crash on the military screentweak max-wheelbarrow
: Fixed a minor display issue with large numbersworkflow
: 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 thedrybuckets
pluginfeature
: now implemented by a script
0.40.24-r4
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 toscript_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 actionsfix-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 playbrainwash
: 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 FPSdeterioratecorpses
: make body parts wear away far faster to boost FPSdeterioratefood
: make food vanish after a few months if not usedelevate-mental
: elevate all the mental attributes of a unitelevate-physical
: elevate all the physical attributes of a unitemigration
: stressed dwarves may leave your fortress if they see a chancefix-ster
: changes fertility/sterility of animals or dwarvesgui/family-affairs
: investigate and alter romantic relationshipsmake-legendary
: modify skill(s) of a single unitmodtools/create-unit
: create new units from nothingmodtools/equip-item
: a script to equip items on unitspoints
: set number of points available at embark screenpref-adjust
: Adjust all preferences of all dwarves in playrejuvenate
: make any "old" dwarf 20 years oldstarvingdead
: make undead weaken after one month on the map, and crumble after sixview-item-info
: adds information and customisable descriptions to item viewscreenswarn-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 coversgui/create-item
: fixed assigning quality to items, made :kbd:Esc
work properlygui/gm-editor
: handles lua tables properly- help: now recognizes built-in commands, like "help"
manipulator
: fixed crash when selecting custom professions when none are foundremotefortressreader
: fixed crash when attempting to send map info when no map was loadedsearch-plugin
: fixed crash in unit list after cancelling a job; fixed crash when disabling stockpile category after searching in a subcategorystockpiles
: now checks/sanitizes filenames when savingstocks
: fixed a crash when right-clickingsteam-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-addedzone
: Fixed a crash when usingzone 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-selectdwarfmonitor
:- 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 listfull-heal
:-r
option removes corpsesgui/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 togui/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 iddf.global.unit_next_id-1
(useful in conjunction withmodtools/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-promptquicksave
: Restricted to fortress moderemotefortressreader
: Exposes more informationsearch
:- 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 namesteleport
: Fixed cursor recognitiontidlers
,twaterlvl
: now implemented by scripts instead of a plugintweak
:- 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
DFHack 0.40.24-r3
- Internals
- Ruby library now included on OS X - ruby scripts should work on OS X 10.10
- libstdc++ should work with older versions of OS X
- Added support for onLoadMap/onUnloadMap.init scripts
- game type detection functions are now available in the World module
- The DFHACK_LOG_MEM_RANGES environment variable can be used to log information to stderr.log on OS X
- Fixed adventure mode menu names
- Fixed command usage information for some commands
- Lua
- Lua scripts will only be reloaded if necessary
- Added a df2console() wrapper, useful for printing DF (CP437-encoded) text to the console in a portable way
- Added a strerror() wrapper
- New internal commands
- hide/show: hide and show the console on Windows
- sc-script: Allows additional scripts to be run when certain events occur (similar to onLoad*.init scripts)
- New plugins
- autohauler: A hauling-only version of autolabor
- New scripts
- modtools/reaction-product-trigger: triggers callbacks when products are produced (contrast with when reactions complete)
- New tweaks
- fps-min: Fixes the in-game minimum FPS setting
- shift-8-scroll: Gives Shift+8 (or *) priority when scrolling menus, instead of scrolling the map
- tradereq-pet-gender: Displays pet genders on the trade request screen
- New features
- autolabor: A negative pool size can be specified to use the most unskilled dwarves
- catsplosion: Works on any specified races
- exportlegends: Now exports more information
- Fixes
- Fixed game type detection in:
- 3dveins
- createitem
- reveal
- seedwatch
- Made PRELOAD_LIB more extensible on Linux
- add-spatter, eventful: Fixed crash on world load
- building-hacks: made buildings produce/consume correct amount of power
- Gave add-thought a proper subthought arg.
- fix-armory compiles and is available again (albeit with issues)
- gui/gm-editor: Added search option (accessible with "s")
- hack-wish: Made items stack properly.
- modtools/skill-change: made level granularity work properly.
- show-unit-syndromes should work
- stockflow: Fixed error message in Arena mode
- stockflow: No longer checks the DF version
- stockflow: Fixed ballistic arrow head orders
- stockflow: Now convinces the bookkeeper to update records more often
- zone: Stopped crash when scrolling cage owner list
- Fixed game type detection in:
- Misc Improvements
- building-hacks: Added a way to allow building to work even if it consumes more power than is available. Added setPower/getPower functions.
- catsplosion: Can now trigger pregnancies in (most) other creatures
- exportlegends: 'info' and 'all' exports legends_plus xml with more data for legends utilities
- manipulator:
- Added ability to edit nicknames/profession names
- Added "Job" as a View Type, in addition to "Profession" and "Squad"
- Custom profession templates, with masking
- remotefortressreader: Exposes more information
DFHack 0.40.24-r2
Important note: OS X users should also download "add-spatter.plug.dylib" below and replace the file of the same name in the "hack/plugins" folder with it. (See issue #205.)
DFHack 0.40.24-r2
- Internals
- Lua scripts can set environment variables of each other with dfhack.run_script_with_env.
- Lua scripts can now call each others internal nonlocal functions with dfhack.script_environment(scriptName).functionName(arg1,arg2).
- eventful Lua reactions no longer require LUA_HOOK as a prefix: you can register a callback for the completion of any reaction with a name
- Filesystem module now provides file access/modification times and can list directories (normally and recursively)
- Units Module: New functions:
- isWar
- isHunter
- isAvailableForAdoption
- isOwnCiv
- isOwnRace
- getRaceName
- getRaceNamePlural
- getRaceBabyName
- getRaceChildName
- isBaby
- isChild
- isAdult
- isEggLayer
- isGrazer
- isMilkable
- isTrainableWar
- isTrainableHunting
- isTamable
- isMale
- isFemale
- isMerchant
- isForest
- isMarkedForSlaughter
- Buildings Module: New Functions:
- isActivityZone
- isPenPasture
- isPitPond
- isActive
- findPenPitAt
- Fixes
- dfhack.run_script should correctly find save-specific scripts now.
- Updated add-thought to properly affect stress.
- hfs-pit should work now
- Autobutcher takes gelding into account
- init.lua existence checks should be more reliable (notably when using non-English locales)
- Misc Improvements
- Multiline commands are now possible inside dfhack.init scripts. See dfhack.init-example for example usage.