Releases: DFHack/dfhack
DFHack 0.44.10-r2
DFHack 0.44.10-r2
New Plugins
cxxrandom
: exposes some features of the C++11 random number library to Lua
New Scripts
add-recipe
: adds unknown crafting recipes to the player's civgui/stamper
: allows manipulation of designations by transforms such as translations, reflections, rotations, and inversion
Fixes
-
Fixed many tools incorrectly using the
dead
unit flag (they should generally checkflags2.killed
instead) -
Fixed many tools passing incorrect arguments to printf-style functions, including a few possible crashes (
changelayer
,follow
,forceequip
,generated-creature-renamer
) -
Fixed several bugs in Lua scripts found by static analysis (df-luacheck)
-
Fixed
-g
flag (GDB) in Linuxdfhack
script (particularly on x64) -
autochop
,autodump
,autogems
,automelt
,autotrade
,buildingplan
,dwarfmonitor
,fix-unit-occupancy
,fortplan
,stockflow
: fix issues with periodic tasks not working for some time after save/load cycles -
autogems
:- stop running repeatedly when paused
- fixed crash when furnaces are linked to same stockpiles as jeweler's workshops
-
autogems
,fix-unit-occupancy
: stopped running when a fort isn't loaded (e.g. while embarking) -
autounsuspend
: now skips planned buildings -
ban-cooking
: fixed errors introduced by kitchen structure changes in 0.44.10-r1 -
buildingplan
,fortplan
: stopped running before a world has fully loaded -
deramp
: fixed deramp to find designations that already have jobs posted -
dig
: fixed "Inappropriate dig square" announcements if digging job has been posted -
fixnaked
: fixed errors due to emotion changes in 0.44 -
remove-stress
: fixed an error when running on soul-less units (e.g. with-all
) -
revflood
: stopped revealing tiles adjacent to tiles above open space inappropriately -
stockpiles
:loadstock
now sets usable and unusable weapon and armor settings -
stocks
: stopped listing carried items under stockpiles where they were picked up from
Misc Improvements
-
Added script name to messages produced by
qerror()
in Lua scripts -
Fixed an issue in around 30 scripts that could prevent edits to the files (adding valid arguments) from taking effect
-
Linux: Added several new options to
dfhack
script:--remotegdb
,--gdbserver
,--strace
-
bodyswap
: improved error handling -
buildingplan
: added max quality setting -
caravan
: documented (new in 0.44.10-alpha1) -
deathcause
: added "slaughtered" to descriptions -
embark-assistant
:- changed region interaction matching to search for evil rain, syndrome rain, and reanimation rather than interaction presence (misleadingly called evil weather), reanimation, and thralling
- gave syndrome rain and reanimation wider ranges of criterion values
-
fix/dead-units
: added a delay of around 1 month before removing units -
fix/retrieve-units
: now re-adds units to active list to counteractfix/dead-units
-
item-descriptions
: fixed several grammatical errors -
modtools/create-unit
:- added quantity argument
- now selects a caste at random if none is specified
-
mousequery
:- migrated several features from TWBT's fork
- added ability to drag with left/right buttons
- added depth display for TWBT (when multilevel is enabled)
- made shift+click jump to lower levels visible with TWBT
-
title-version
: added version to options screen too
API
-
New functions (also exposed to Lua):
Units::isKilled()
Units::isActive()
Units::isGhost()
-
Removed Vermin module (unused and obsolete)
Internals
- Added build option to generate symbols for large generated files containing df-structures metadata
- Added fallback for YouCompleteMe database lookup failures (e.g. for newly-created files)
- Improved efficiency and error handling in
stl_vsprintf
and related functions - jsoncpp: fixed constructor with
long
on Linux
Structures
incident_sub6_performance
: identified some fieldsitem_body_component
: fixed location ofcorpse_flags
job_handler
: fixed static array layoutjob_type
: addedis_designation
attributeunit_flags1
: renameddead
toinactive
to better reflect its useunit_personality
: fixed location ofcurrent_focus
andundistracted_focus
unit_thought_type
: addedSawDeadBody
(new in 0.44.10)
Lua
- Added
profiler
module to measure lua performance - Enabled shift+cursor movement in WorkshopOverlay-derived screens
DFHack 0.44.10-r1
DFHack 0.44.10-r1
New Scripts
bodyswap
: shifts player control over to another unit in adventure modedevel/find-primitive
: finds a primitive variable in memorygui/autogems
: a configuration UI for theautogems
plugin
New Tweaks
tweak
kitchen-prefs-all: adds an option to toggle cook/brew for all visible items in kitchen preferencestweak
stone-status-all: adds an option to toggle the economic status of all stones
Fixes
-
Lua: registered
dfhack.constructions.designateRemove()
correctly -
Units::getAnyUnit(): fixed a couple problematic conditions and potential segfaults if global addresses are missing
-
exterminate
: fixed documentation ofthis
option -
full-heal
:- units no longer have a tendency to melt after being healed
- healed units are no longer treated as patients by hospital staff
- healed units no longer attempt to clean themselves unsuccessfully
- wounded fliers now regain the ability to fly upon being healing
- now heals suffocation, numbness, infection, spilled guts and gelding
-
liquids
: fixed "range" command to default to 1 for dimensions consistently -
modtools/create-unit
:- creatures of the appropriate age are now spawned as babies or children where applicable
- fix: civ_id is now properly assigned to historical_figure, resolving several hostility issues (spawned pets are no longer attacked by fortress military!)
- fix: unnamed creatures are no longer spawned with a string of numbers as a first name
-
prospector
: fixed crash due to invalid vein materials -
search
: fixed 4/6 keys in unit screen search -
stockpiles
: stopped sidebar option from overlapping withautodump
-
tweak
block-labors: fixed two causes of crashes related in the v-p-l menu -
tweak
max-wheelbarrow: fixed conflict with building renaming -
view-item-info
:- fixed an error with some armor
- stopped appending extra newlines permanently to descriptions
Misc Improvements
-
Added logo to documentation
-
Documented several missing
dfhack.gui
Lua functions -
adv-rumors
: bound to Ctrl-A -
autogems
: can now blacklist arbitrary gem types (seegui/autogems
) -
blueprint
: added a basic Lua API -
command-prompt
: added support forGui::getSelectedPlant()
-
devel/export-dt-ini
: added tool offsets for DT 40 -
devel/save-version
: added current DF version to output -
exterminate
: added more words for current unit, removed warning -
fpause
: now pauses worldgen as well -
gui/advfort
: bound to Ctrl-T -
gui/room-list
: added support forGui::getSelectedBuilding()
-
gui/unit-info-viewer
: bound to Alt-I -
install-info
: added information on tweaks -
modtools/create-unit
: made functions available to other scripts -
search
:- added support for stone restrictions screen (under
z
: Status) - added support for kitchen preferences (also under
z
)
- added support for stone restrictions screen (under
API
-
New functions (all available to Lua as well):
Buildings::getRoomDescription()
Items::checkMandates()
Items::canTrade()
Items::canTradeWithContents()
Items::isRouteVehicle()
Items::isSquadEquipment()
Kitchen::addExclusion()
Kitchen::findExclusion()
Kitchen::removeExclusion()
-
syndrome-util: added
eraseSyndromeData()
Internals
- Added function names to DFHack's NullPointer and InvalidArgument exceptions
- Added some build scripts for Sublime Text
- Added
Gui::inRenameBuilding()
- Changed submodule URLs to relative URLs so that they can be cloned consistently over different protocols (e.g. SSH)
- Fixed compiler warnings on all supported build configurations
- Linux: required plugins to have symbols resolved at link time, for consistency with other platforms
- Windows build scripts now work with non-C system drives
Structures
dfhack_room_quality_level
: new enumglowing_barrier
: identifiedtriggered
, added commentsitem_flags2
: renamedhas_written_content
tounk_book
kitchen_exc_type
: new enum (forui.kitchen
)mandate.mode
: now an enumunit_personality.emotions.flags.memory
: identifiedviewscreen_kitchenprefst.forbidden
,possible
: now a bitfield,kitchen_pref_flag
world_data.feature_map
: added extensive documentation (in XML)
DFHack 0.44.10-beta1
This release includes a couple fixes for crashes related to the v-p-l menu, as well as various other fixes (some for longstanding issues).
DFHack 0.44.10-beta1
New Scripts
devel/find-primitive
: finds a primitive variable in memory
Fixes
-
Units::getAnyUnit(): fixed a couple problematic conditions and potential segfaults if global addresses are missing
-
stockpiles
: stopped sidebar option from overlapping withautodump
-
autodump
,automelt
,autotrade
,stocks
,stockpiles
: fixed conflict with building renaming -
tweak
block-labors: fixed two causes of crashes related in the v-p-l menu -
full-heal
:- units no longer have a tendency to melt after being healed
- healed units are no longer treated as patients by hospital staff
- healed units no longer attempt to clean themselves unsuccessfully
- wounded fliers now regain the ability to fly upon being healing
- now heals suffocation, numbness, infection, spilled guts and gelding
-
modtools/create-unit
:- creatures of the appropriate age are now spawned as babies or children where applicable
- fix: civ_id is now properly assigned to historical_figure, resolving several hostility issues (spawned pets are no longer attacked by fortress military!)
- fix: unnamed creatures are no longer spawned with a string of numbers as a first name
-
exterminate
: fixed documentation ofthis
option
Misc Improvements
blueprint
: added a basic Lua APIdevel/export-dt-ini
: added tool offsets for DT 40devel/save-version
: added current DF versioninstall-info
: added information on tweaks
Internals
- Added
Gui::inRenameBuilding()
- Added function names to DFHack's NullPointer and InvalidArgument exceptions
- Linux: required plugins to have symbols resolved at link time, for consistency with other platforms
Structures
item_flags2
: renamedhas_written_content
tounk_book
world_data.feature_map
: added documentation (in XML)
DFHack 0.44.10-alpha1
New Scripts
gui/autogems
: a configuration UI for theautogems
plugin
Fixes
liquids
: fixed "range" command to default to 1 for dimensions consistentlysearch
: fixed 4/6 keys in unit screen searchview-item-info
: fixed an error with some armor
Misc Improvements
autogems
: can now blacklist arbitrary gem types (seegui/autogems
)exterminate
: added more words for current unit, removed warningfpause
: now pauses worldgen as well
Internals
- Added some build scripts for Sublime Text
- Changed submodule URLs to relative URLs so that they can be cloned consistently over different protocols (e.g. SSH)
DFHack 0.44.09-r1
Note: there are new builds for OS X that use GCC 7. Let us know if they work, or if they don't (and if they don't, what version of OS X you're using). As a fallback, we still have builds available made with GCC 4.8.
Fixes
- Fixed some CMake warnings (CMP0022)
- Support for building on Ubuntu 18.04
digtype
: stopped designating non-vein tiles (open space, trees, etc.)embark-assistant
: fixed detection of reanimating biomesfix/dead-units
: fixed a bug that could remove some arriving (not dead) unitslabormanager
: fixed crash due to dig jobs targeting some unrevealed map blocksmodtools/item-trigger
: fixed token format in help text
Misc Improvements
-
Reorganized changelogs and improved changelog editing process
-
embark-assistant
:- Added search for adamantine
- Now supports saving/loading profiles
-
fillneeds
: added-all
option to apply to all units -
modtools/item-trigger
:- added the ability to specify inventory mode(s) to trigger on
- added support for multiple type/material/contaminant conditions
-
remotefortressreader
: added flows, instruments, tool names, campfires, ocean waves, spiderwebs
Internals
- OS X: Can now build with GCC 7 (or older)
Structures
-
Several new names in instrument raw structures
-
army
: added vector new in 0.44.07 -
building_type
: added human-readablename
attribute -
furnace_type
: added human-readablename
attribute -
identity
: identifiedprofession
,civ
-
manager_order_template
: fixed last field type -
site_reputation_report
: namedreports
vector -
viewscreen_createquotast
: fixed layout -
workshop_type
: added human-readablename
attribute -
world.language
: movedcolors
,shapes
,patterns
toworld.descriptors
-
world.reactions
,world.reaction_categories
: moved to new compound,world.reactions
. Requires renaming:world.reactions
toworld.reactions.reactions
world.reaction_categories
toworld.reactions.reaction_categories
DFHack 0.44.09-alpha1
Experimental 0.44.09 support (also 0.44.08 and 0.44.07)
Please let us know of anything that works or is broken in the forum thread
Fixes
digtype
: stopped designating non-vein tiles (open space, trees, etc.)labormanager
: fixed crash due to dig jobs targeting some unrevealed map blocks
DFHack 0.44.08-alpha1
This has very experimental 0.44.08 support (and still supports 0.44.07 as well, although that's subject to change).
Fixes
fix/dead-units
: fixed a bug that could remove some arriving (not dead) units
DFHack 0.44.07-beta1
This release includes a few fixes since 0.44.07-alpha1, and also adds experimental support for an experimental build Toady put up to fix a Linux freeze.
Structures
- Added symbols for Toady's 0.44.07 Linux test build to fix bug 10615
world_site
: fixed alignment
Other Changes
modtools/item-trigger
: added the ability to specify inventory mode(s) to trigger on
DFHack 0.44.07-alpha1
Initial 0.44.07 support; not all structures that need to be updated have been. Please report anything broken.
Note: The Linux builds are built on a new system, and there are GCC 7 options instead of GCC 5 now. Please report any issues with them not working.
Fixes
embark-assistant
: fixed detection of reanimating biomes
Structures
-
Several new names in instrument raw structures
-
identity
: identifiedprofession
,civ
-
manager_order_template
: fixed last field type -
viewscreen_createquotast
: fixed layout -
world.language
: movedcolors
,shapes
,patterns
toworld.descriptors
-
world.reactions
,world.reaction_categories
: moved to new compound,world.reactions
. Requires renaming:world.reactions
toworld.reactions.reactions
world.reaction_categories
toworld.reactions.reaction_categories
Other Changes
-
embark-assistant
:- Added search for adamantine
- Now supports saving/loading profiles
-
fillneeds
: added-all
option to apply to all units -
remotefortressreader
: added flows, instruments, tool names, campfires, ocean waves, spiderwebs
DFHack 0.44.05-r2
New Plugins
embark-assistant
: adds more information and features to embark screen
New Scripts
adv-fix-sleepers
: fixes units in adventure mode who refuse to wake up (bug 6798)hermit
: blocks caravans, migrants, diplomats (for hermit challenge)
New Features
- With
PRINT_MODE:TEXT
, setting theDFHACK_HEADLESS
environment variable
will hide DF's display and allow the console to be used normally. (Note that
this is intended for testing and is not very useful for actual gameplay.)
Fixes
devel/export-dt-ini
: fix language_name offsets for DT 39.2+devel/inject-raws
: fixed gloves and shoes (old typo causing errors)remotefortressreader
: fixed an issue with not all engravings being includedview-item-info
: fixed an error with some shields
Misc Improvements
adv-rumors
: added more keywords, including namesautochop
: can now exclude trees that produce fruit, food, or cookable itemsremotefortressreader
: added plant type support