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