DFHack 0.47.04-r2
New Scripts
animal-control
: helps manage the butchery and gelding of animalsdevel/kill-hf
: kills a historical figuregeld
: gelds or ungelds animalslist-agreements
: lists all guildhall and temple agreementslist-waves
: displays migration wave information for citizens/unitsungeld
: ungelds animals (wrapper aroundgeld
)
New Tweaks
tweak
do-job-now: adds a job priority toggle to the jobs listtweak
reaction-gloves: adds an option to make reactions produce gloves in sets with correct handedness
Fixes
-
Fixed a segfault when attempting to start a headless session with a graphical PRINT_MODE setting
-
Fixed an issue with the macOS launcher failing to un-quarantine some files
-
Fixed
Units::isEggLayer
,Units::isGrazer
,Units::isMilkable
,Units::isTrainableHunting
,Units::isTrainableWar
, andUnits::isTamable
ignoring the unit's caste -
Linux: fixed
dfhack.getDFPath()
(Lua) andProcess::getPath()
(C++) to always return the DF root path, even if the working directory has changed -
digfort
:- fixed an issue causing blueprints touching the southern or eastern edges of the map to be rejected (northern and western edges were already allowed). This allows blueprints that span the entire embark area.
- fixed y-line tracking when .csv files contain lines with only commas
-
embark-assistant
: fixed a couple of incursion handling bugs. -
embark-skills
: fixed an issue with structures causing thepoints
option to do nothing -
exportlegends
:- stopped including some tags with
-1
values which don't provide useful information - fixed an issue where two different
<reason>
tags could be included in a<historical_event>
- stopped including some tags with
-
getplants
: fixed issues causing plants to be collected even if they have no growths (or unripe growths) -
gui/advfort
: fixed "operate pump" job -
gui/load-screen
: fixed an issue causing longer timezones to be cut off -
labormanager
:- fixed an issue preventing custom furnaces from being built
- fixed handling of new jobs in 0.47
-
modtools/moddable-gods
:- made
-depictedAs
argument work - removed unused
-domain
and-description
arguments - fixed an error when creating the historical figure
- made
-
names
:- fixed an issue causing renamed units to display their old name in legends mode and some other places
- fixed an error preventing the script from working
-
pref-adjust
: fixed some compatibility issues and a potential crash -
RemoteFortressReader
:- fixed an issue that could cause block coordinates to be incorrect
- fixed a couple crashes that could result from decoding invalid enum items (
site_realization_building_type
andimprovement_type
)
-
rendermax
: fixed a hang that could occur when enabling some renderers, notably on Linux -
stonesense
:- fixed some issues that could cause the splash screen to hang
- fixed a crash when launching Stonesense
Misc Improvements
-
Linux/macOS: Added console keybindings for deleting words (Alt+Backspace and Alt+d in most terminals)
-
add-recipe
:- added a command explanation or error message when entering an invalid command
- added tool recipes (minecarts, wheelbarrows, stepladders, etc.)
-
armoks-blessing
: added adjustments to values and needs -
blueprint
:- now automatically creates folder trees when organizing blueprints into subfolders (e.g.
blueprint 30 30 1 rooms/dining dig
will create the fileblueprints/rooms/dining-dig.csv
); previously it would fail if theblueprints/rooms/
directory didn't already exist - now writes blueprints to the
blueprints/
subfolder instead of the df root folder
- now automatically creates folder trees when organizing blueprints into subfolders (e.g.
-
confirm
: added a confirmation dialog for convicting dwarves of crimes -
devel/query
: added many new query options -
digfort
:- added a
force
option to truncate blueprints if the full blueprint would extend off the edge of the map - documented that removing ramps, cutting trees, and gathering plants are indeed supported
- handled double quotes (") at the start of a string, allowing .csv files exported from spreadsheets to work without manual modification
- added a
-
dwarf-op
:- added ability to protect dwarves based on symbols in their custom professions
- added ability to select dwarves based on migration wave
-
exportlegends
:- added ability to save all files to a subfolder, named after the region folder and date by default
- changed some enum values from numbers to their string representations
- changed some flags to be represented by self-closing tags instead of true/false strings (e.g.
<is_volcano/>
) - note that this may require changes to other XML-parsing utilities
-
gui/advfort
: added support for specifying the entity used to determine available resources -
gui/gm-editor
: added support for automatically following ref-targets when pressing thei
key -
manipulator
: added a new column option to display units' goals -
modtools/moddable-gods
: added support forneuter
gender -
pref-adjust
:- added a new
goth
profile - added support for adjusting just the selected dwarf
- added a new
-
remove-stress
: added a-value
argument to enable setting stress level directly -
workorder
: changed default frequency from "Daily" to "OneTime"
API
- Added
Filesystem::mkdir_recursive
- Extended
Filesystem::listdir_recursive
to optionally make returned filenames relative to the start directory Units
: added goal-related functions:getGoalType()
,getGoalName()
,isGoalAchieved()
Internals
- Added support for splitting scripts into multiple files in the
scripts/internal
folder without polluting the output ofls
Lua
- Added a
ref_target
field to primitive field references, corresponding to theref-target
XML attribute - Made
dfhack.units.getRaceNameById()
,dfhack.units.getRaceBabyNameById()
, anddfhack.units.getRaceChildNameById()
available to Lua
Ruby
- Updated
item_find
andbuilding_find
to use centralized logic that works on more screens
Structures
- Added a new
<df-other-vectors-type>
, which allowsworld.*.other
collections of vectors to use the correct subtypes for items creature_raw
: renamedgender
tosex
to match the field inunit
, which is more frequently usedcrime
: identifiedwitnesses
, which contains the data held by the old field namedreports
intrigue
: new type (split out fromhistorical_figure_relationships
)items_other_id
: removedBAD
, and by extension,world.items.other.BAD
, which was overlapping withworld.items.bad
job_type
: added job types new to 0.47plant_raw
: material_defs now contains arrays rather than loose fieldspronoun_type
: new enum (previously documented in field comments)setup_character_info
: fixed a couple alignment issues (needed byembark-skills
)ui_advmode_menu
: identified some new enum items
Documentation
- Added some new dev-facing pages, including dedicated pages about the remote API, memory research, and documentation
- Expanded the installation guide
- Made a couple theme adjustments