What's new in DFHack 0.40.24 R5
Nov 29, 2015
- 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
New in DFHack 0.40.24 R4 (Nov 9, 2015)
- 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
New in DFHack 0.40.24 R3 (Mar 31, 2015)
- 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
- 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
New in DFHack 0.40.24 R2 (Feb 3, 2015)
- 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.
New in DFHack 0.40.24 R1 (Jan 27, 2015)
- Internals â—¦CMake shouldn't cache DFHACK_RELEASE anymore. People may need to manually update/delete their CMake cache files to get rid of it.
New in DFHack 0.40.23 R1 (Jan 6, 2015)
- Internals:
- plugins will not be loaded if globals they specify as required are not located (should prevent some crashes)
- Fixes:
- Fixed numerous (mostly Lua-related) crashes on OS X by including a more up-to-date libstdc++
- Alt should no longer get stuck on Windows (and perhaps other platforms as well)
- advfort works again
- autobutcher takes sexualities into account
- devel/export-dt-ini: Updated for 0.40.20+
- digfort: now checks file type and existence
- exportlegends: Fixed map export
- full-heal: Fixed a problem with selecting units in the GUI
- gui/hack-wish: Fixed restrictive material filters
- mousequery: Changed box-select key to Alt+M
- plugins/dwarfmonitor: correct date display (month index, separator)
- scripts/putontable: added to the readme
- siren should work again
- stderr.log: removed excessive debug output on OS X
- trackstop: No longer prevents cancelling the removal of a track stop or roller.
- Fixed a display issue with PRINT_MODE:TEXT
- Fixed a symbol error (MapExtras::BiomeInfo::MAX_LAYERS) when compiling DFHack in Debug mode
- New Plugins:
- fortplan: designate construction of (limited) buildings from .csv file, quickfort-style
- New Scripts:
- gui/stockpiles: an in-game interface for saving and loading stockpile settings files.
- position: Reports the current date, time, month, and season, plus some location info. Port/update of position.py
- hfs-pit: Digs a hole to hell under the cursor. Replaces needs_porting/hellhole.cpp
- Removed:
- embark.lua: Obsolete, use embark-tools
- New tweaks:
- eggs-fertile: Displays an egg fertility indicator on nestboxes
- max-wheelbarrow: Allows assigning more than 3 wheelbarrows to a stockpile
- Misc Improvements:
- embark-tools: Added basic mouse support on the local map
- Made some adventure mode keybindings in dfhack.init-example only work in adventure mode
- Added a default keybinding for "gui/companion-order"
- further work on needs_porting
New in DFHack 0.40.19 R1 (Dec 6, 2014)
- Internals:
- Fixes:
- typo fix in modtools/reaction-trigger
- modtools/item-trigger should now work with item types
- New plugins:
- savestock and loadstock: two commands for saving and loading stockpile settings to a file. They can be used to migrate stockpile settings between worlds and saves.
- New scripts:
- remove-stress [all]: set selected or all units unit to -1,000,000 stress. this script replaces removebadthoughts.rb
- Misc improvements:
- cmd-prompt can now access selected items, units, and buildings
- autolabor plugin: add an optional talent pool parameter
New in DFHack 0.40.16 R1 (Nov 26, 2014)
- Internals:
- EventManager should handle INTERACTION triggers a little better. It still can get confused about who did what but only rarely.
- EventManager should no longer trigger REPORT events for old reports after loading a save.
- lua/persist-table.lua: a convenient way of using persistent tables of arbitrary structure and dimension in Lua
- Fixes: *mousequery: Disabled when linking levers
- stocks: Melting should work now
- scripts/full-heal: Updated with proper argument handling.
- scripts/modtools/reaction-trigger-transition.lua
- should produce the correct syntax now
- scripts/superdwarf.rb should work better now
- scripts/forum-dwarves.lua
- update for new df-structures changes
- New scripts:
- scripts/
- adaptation.rb
- view or set the cavern adaptation level of your citizens
- add-thought.lua
- allows the user to add thoughts to creatures.
- gaydar.lua
- detect the sexual orientation of units on the map
- markdown.lua
- Save a copy of a text screen in markdown (for reddit among others).
- devel/
- all-bob.lua: renames everyone Bob to help test interaction-trigger
- Misc improvements:
- autodump:
- Can now mark a stockpile for auto-dumping (similar to automelt and autotrade)
- buildingplan:
- Can now auto-allocate rooms to dwarves with specific positions (e.g. expedition leader, mayor)
- dwarfmonitor
- Now displays a weather indicator and date
- lua/syndrome-util.lua
- now you can remove syndromes by SYN_CLASS
- scripts/modtools/add-syndrome.lua
- now you can remove syndromes by SYN_CLASS
- No longer writes empty .history files
New in DFHack 0.40.15 R1 (Nov 10, 2014)
- Fixes:
- mousequery: Fixed behavior when selecting a tile on the lowest z-level
- Internals:
- EventManager: deals with frame_counter getting reset properly now.
- modtools/item-trigger: fixed equip/unequip bug and corrected minor documentation error
- teleport: Updated with proper argument handling and proper unit-at-destination handling.
- autotrade: Removed the newly obsolete "Mark all" functionality.
- search: Adapts to the new trade screen column width
- tweak fast-trade: Switching the fast-trade keybinding to Shift-Up/Shift-Down, due to Select All conflict
New in DFHack 0.40.14 R1 (Nov 10, 2014)
- Internals:
- The DFHack console can now be disabled by setting the DFHACK_DISABLE_CONSOLE environment variable: "DFHACK_DISABLE_CONSOLE=1 ./dfhack"
- Fixes:
- Stopped duplicate load/unload events when unloading a world
- Stopped "-e" from being echoed when DFHack quits on Linux
- automelt now uses a faster method to locate items
- autotrade: "Mark all" no longer double-marks bin contents
- drainaquifer.rb: replaced with a faster less buggy drain-aquifer.lua
- embark-tools no longer conflicts with keys on the notes screen
- fastdwarf: Fixed problems with combat/attacks
- forum-dwarves should work now
- manipulator now uses a stable sort, allowing sorting by multiple categories
- rendermax updated to work with 0.40
- New plugins:
- trackstop: Shows track stop friction and dump direction in its 'q' menu
- New tweaks:
- farm-plot-select: Adds "Select all" and "Deselect all" options to farm plot menus
- import-priority-category: Allows changing the priority of all goods in a
- category when discussing an import agreement with the liaison
- manager-quantity: Removes the limit of 30 jobs per manager order
- civ-view-agreement: Fixes overlapping text on the "view agreement" screen
- nestbox-color: Fixes the color of built nestboxes
New in DFHack 0.40.13 R1 (Sep 20, 2014)
- Internals: unified spatter structs
- Fixes: no more -e after terminating
New in DFHack 0.34.11 R5 (Jun 30, 2014)
- Internals:
- support for calling a lua function via a protobuf request (demonstrated by dfhack-run --lua).
- support for basic filesystem operations (e.g. chdir, mkdir, rmdir, stat) in C++ and Lua
- Lua API for listing files in directory. Needed for mod-manager.
- Lua API for creating unit combat reports and writing to gamelog.
- Lua API for running arbitrary DFHack commands
- support for multiple raw/init.d/*.lua init scripts in one save.
- eventful now has a more friendly way of making custom sidebars
- on Linux and OSX the console now supports moving the cursor back and forward by a whole word.
- New scripts:
- gui/mod-manager: allows installing/uninstalling mods into df from df/mods directory.
- gui/clone-uniform: duplicates the currently selected uniform in the military screen.
- fix/build-location: partial work-around for bug 5991 (trying to build wall while standing on it)
- undump-buildings: removes dump designation from materials used in buildings.
- exportlegends: exports data from legends mode, allowing a set-and-forget export of large worlds.
- log-region: each time a fort is loaded identifying information will be written to the gamelog.
- dfstatus: show an overview of critical stock quantities, including food, drinks, wood, and bars.
- New commands:
- 'plant create' - spawn a new shrub under the cursor
- command-prompt: a dfhack command prompt in df.
- New tweaks:
- craft-age-wear: make crafted items wear out with time like in old versions (bug 6003)
- adamantine-cloth-wear: stop adamantine clothing from wearing out (bug 6481)
- confirm-embark: adds a prompt before embarking (on the "prepare carefully" screen)
- New plugins:
- rendermax: replace the renderer with something else. Most interesting is "rendermax light"- a lighting engine for df.
- stockflow (by eswald): queues manager jobs of the configured type based on the state of a stockpile.
- embark-tools: implementations of Embark Anywhere, Nano Embark, and a few other embark-related utilities
- building-hacks: Allows to add custom functionality and/or animations to buildings.
- petcapRemover: triggers pregnancies in creatures so that you can effectively raise the default pet population cap from the default 50
- Misc improvements:
- plant: move the 'grow', 'extirpate' and 'immolate' commands as 'plant' subcommands
- digfort: improved csv parsing, add start() comment handling
- exterminate: allow specifying a caste (exterminate gob:male)
- createitem: in adventure mode it now defaults to the controlled unit as maker.
- autotrade: adds "(Un)mark All" options to both panes of trade screen.
- mousequery: several usability improvements.
- mousequery: show live overlay (in menu area) of what's on the tile under the mouse cursor.
- search: workshop profile search added.
- dwarfmonitor: add screen to summarise preferences of fortress dwarfs.
- getplants: add autochop function to automate woodcutting.
- stocks: added more filtering and display options.
- Siege engine plugin:
- engine quality and distance to target now affect accuracy
- firing the siege engine at a target produces a combat report
- improved movement speed computation for meandering units
- operators in Prepare To Fire mode are released from duty once hungry/thirsty if there is a free replacement
New in DFHack 0.34.11 R4 (Oct 31, 2013)
- New commands:
- diggingInvaders - allows invaders to dig and/or deconstruct walls and buildings in order to get at your dwarves.
- digFlood - automatically dig out specified veins as they are revealed
- enable, disable - Built-in commands that can be used to enable/disable many plugins.
- restrictice - Restrict traffic on squares above visible ice.
- restrictliquid - Restrict traffic on every visible square with liquid.
- treefarm - automatically chop trees and dig obsidian
- New scripts:
- autobutcher: A GUI front-end for the autobutcher plugin.
- invasionNow: trigger an invasion, or many
- locate_ore: scan the map for unmined ore veins
- masspit: designate caged creatures in a zone for pitting
- multicmd: run a sequence of dfhack commands, separated by ';'
- startdwarf: change the number of dwarves for a new embark
- digmat: dig veins/layers tile by tile, as discovered
- Misc improvements:
- autoSyndrome:
- disable by default
- reorganized special tags
- minimized error spam
- reset policies: if the target already has an instance of the syndrome you can skip, add another instance, reset the timer, or add the full duration to the time remaining
- core: fix SC_WORLD_(UN)LOADED event for arena mode
- exterminate: renamed from slayrace, add help message, add butcher mode
- fastdwarf: fixed bug involving fastdwarf and teledwarf being on at the same time
- magmasource: rename to 'source', allow water/magma sources/drains
- ruby: add df.dfhack_run "somecommand"
- syndromeTrigger: replaces and extends trueTransformation. Can trigger things when syndromes are added for any reason.
- tiletypes: support changing tile material to arbitrary stone.
- workNow: can optionally look for jobs when jobs are completed
- New tweaks:
- hive-crash: Prevent crash if bees die in a hive with ungathered products (bug 6368).
- New plugins:
- 3dveins: Reshapes all veins on the map in a way that flows between Z levels. May be unstable. Backup before using.
- autotrade: Automatically send items in marked stockpiles to trade depot, when trading is possible.
- buildingplan: Place furniture before it's built
- dwarfmonitor: Records dwarf activity to measure fort efficiency
- mousequery: Look and poke at the map elements with the mouse.
- outsideOnly: make raw-specified buildings impossible to build inside
- resume: A plugin to help display and resume suspended constructions conveniently
- stocks: An improved stocks display screen.
- Internals:
- Core: there is now a per-save dfhack.init file for when the save is loaded, and another for when it is unloaded
- EventManager: fixed job completion detection, fixed removal of TICK events, added EQUIPMENT_CHANGE event
- Lua API for a better random number generator and perlin noise functions.
- Once: easy way to make sure something happens once per run of DF, such as an error message
New in DFHack 0.34.11 R3 (Sep 20, 2013)
- Internals:
- support for displaying active keybindings properly.
- support for reusable widgets in lua screen library.
- Maps::canStepBetween: returns whether you can walk between two tiles in one step.
- EventManager: monitors various in game events centrally so that individual plugins
- don't have to monitor the same things redundantly.
- Now works with OSX 10.6.8
- Notable bugfixes:
- autobutcher can be re-enabled again after being stopped.
- stopped Dwarf Manipulator from unmasking vampires.
- Stonesense is now fixed on OSX
- Misc improvements:
- fastdwarf: new mode using debug flags, and some internal consistency fixes.
- added a small stand-alone utility for applying and removing binary patches.
- removebadthoughts: add --dry-run option
- superdwarf: work in adventure mode too
- tweak stable-cursor: carries cursor location from/to Build menu.
- deathcause: allow selection from the unitlist screen
- slayrace: allow targetting undeads
- New tweaks:
- tweak military-training: speed up melee squad training up to 10x (normally 3-5x).
- New scripts:
- binpatch: the same as the stand-alone binpatch.exe, but works at runtime.
- region-pops: displays animal populations of the region and allows tweaking them.
- lua: lua interpreter front-end converted to a script from a native command.
- dfusion: misc scripts with a text based menu.
- embark: lets you embark anywhere.
- lever: list and pull fort levers from the dfhack console.
- stripcaged: mark items inside cages for dumping, eg caged goblin weapons.
- soundsense-season: writes the correct season to gamelog.txt on world load.
- create-items: spawn items
- fix/cloth-stockpile: fixes bug 5739; needs to be run after savegame load every time.
- New GUI scripts:
- gui/guide-path: displays the cached path for minecart Guide orders.
- gui/workshop-job: displays inputs of a workshop job and allows tweaking them.
- gui/workflow: a front-end for the workflow plugin (part inspired by falconne).
- gui/assign-rack: works together with a binary patch to fix weapon racks.
- gui/gm-editor: an universal editor for lots of dfhack things.
- gui/companion-order: a adventure mode command interface for your companions.
- gui/advfort: a way to do jobs with your adventurer (e.g. build fort).
- New binary patches (for use with binpatch):
- armorstand-capacity: doubles the capacity of armor stands.
- custom-reagent-size: lets custom reactions use small amounts of inputs.
- deconstruct-heapfall: stops some items still falling on head when deconstructing.
- deconstruct-teleport: stops items from 16x16 block teleporting when deconstructing.
- hospital-overstocking: stops hospital overstocking with supplies.
- training-ammo: lets dwarves with quiver full of combat-only ammo train.
- weaponrack-unassign: fixes bug that negates work done by gui/assign-rack.
- Workflow plugin:
- properly considers minecarts assigned to routes busy.
- code for deducing job outputs rewritten in lua for flexibility.
- logic fix: collecting webs produces silk, and ungathered webs are not thread.
- items assigned to squads are considered busy, even if not in inventory.
- shearing and milking jobs are supported, but only with generic MILK or YARN outputs.
- workflow announces when the stock level gets very low once a season.
- New Fix Armory plugin:
- Together with a couple of binary patches and the gui/assign-rack script,
- this plugin makes weapon racks, armor stands, chests and cabinets in
- properly designated barracks be used again for storage of squad equipment.
- New Search plugin by falconne:
- Adds an incremental search function to the Stocks, Trading, Stockpile and Unit List screens.
- New AutoMaterial plugin by falconne:
- Makes building constructions (walls, floors, fortifications, etc) a little bit easier by
- saving you from having to trawl through long lists of materials each time you place one.
- Dfusion plugin:
- Reworked to make use of lua modules, now all the scripts can be used from other scripts.
- New Eventful plugin:
- A collection of lua events, that will allow new ways to interact with df world.
- Auto syndrome plugin:
- A way of automatically applying boiling rock syndromes and calling dfhack commands controlled by raws.
- Infinite sky plugin:
- Create new z-levels automatically or on request.
- True transformation plugin:
- A better way of doing permanent transformations that allows later transformations.
- Work now plugin:
- Makes the game assign jobs every time you pause.
New in DFHack 0.34.11 R2 (Apr 3, 2013)
- Internals:
- full support for Mac OS X.
- a plugin that adds scripting in ruby.
- support for interposing virtual methods in DF from C++ plugins.
- support for creating new interface screens from C++ and lua.
- added various other API functions.
- Notable bug fixes:
- better terminal reset after exit on linux.
- seedwatch now works on reclaim.
- the sort plugin won't crash on cages anymore.
- Misc improvements:
- autodump: can move items to any walkable tile, not just floors.
- stripcaged: by default keep armor, new dumparmor option.
- zone: allow non-domesticated birds in nestboxes.
- workflow: quality range in constraints.
- cleanplants: new command to remove rain water from plants.
- liquids: can paint permaflow, i.e. what makes rivers power water wheels.
- prospect: pre-embark prospector accounts for caves & magma sea in its estimate.
- rename: supports renaming stockpiles, workshops, traps, siege engines.
- fastdwarf: now has an additional option to make dwarves teleport to their destination.
- New commands:
- misery: multiplies every negative thought gained (2x by default).
- digtype: designates every tile of the same type of vein on the map for 'digging' (any dig designation).
- New tweaks:
- tweak stable-cursor: keeps exact cursor position between d/k/t/q/v etc menus.
- tweak patrol-duty: makes Train orders reduce patrol timer, like the binary patch does.
- tweak readable-build-plate: fix unreadable truncation in unit pressure plate build ui.
- tweak stable-temp: fixes bug 6012; may improve FPS by 50-100% on a slow item-heavy fort.
- tweak fast-heat: speeds up item heating & cooling, thus making stable-temp act faster.
- tweak fix-dimensions: fixes subtracting small amounts from stacked liquids etc.
- tweak advmode-contained: fixes UI bug in custom reactions with container inputs in advmode.
- tweak fast-trade: Shift-Enter for selecting items quckly in Trade and Move to Depot screens.
- tweak military-stable-assign: Stop rightmost list of military->Positions from jumping to top.
- tweak military-color-assigned: In same list, color already assigned units in brown & green.
- New scripts:
- fixnaked: removes thoughts about nakedness.
- setfps: set FPS cap at runtime, in case you want slow motion or speed-up.
- siren: wakes up units, stops breaks and parties - but causes bad thoughts.
- fix/population-cap: run after every migrant wave to prevent exceeding the cap.
- fix/stable-temp: counts items with temperature updates; does instant one-shot stable-temp.
- fix/loyaltycascade: fix units allegiance, eg after ordering a dwarf merchant kill.
- deathcause: shows the circumstances of death for a given body.
- digfort: designate areas to dig from a csv file.
- drainaquifer: remove aquifers from the map.
- growcrops: cheat to make farm crops instantly grow.
- magmasource: continuously spawn magma from any map tile.
- removebadthoughts: delete all negative thoughts from your dwarves.
- slayrace: instakill all units of a given race, optionally with magma.
- superdwarf: per-creature fastdwarf.
- New GUI scripts:
- gui/mechanisms: browse mechanism links of the current building.
- gui/room-list: browse other rooms owned by the unit when assigning one.
- gui/liquids: a GUI front-end for the liquids plugin.
- gui/rename: renaming stockpiles, workshops and units via an in-game dialog.
- gui/power-meter: front-end for the Power Meter plugin.
- gui/siege-engine: front-end for the Siege Engine plugin.
- gui/choose-weapons: auto-choose matching weapons in the military equip screen.
- Autolabor plugin:
- can set nonidle hauler percentage.
- broker excluded from all labors when needed at depot.
- likewise, anybody with a scheduled diplomat meeting.
- New Dwarf Manipulator plugin:
- Open the unit list, and press 'l' to access a Dwarf Therapist like UI in the game.
- New Steam Engine plugin:
- Dwarven Water Reactors don't make any sense whatsoever and cause lag, so this may be
- a replacement for those concerned by it. The plugin detects if a workshop with a
- certain name is in the raws used by the current world, and provides the necessary
- behavior. See hack/raw/*_steam_engine.txt for the necessary raw definitions.
- Note: Stuff like animal treadmills might be more period, but absolutely can't be
- done with tools dfhack has access to.
- New Power Meter plugin:
- When activated, implements a pressure plate modification that detects power in gear
- boxes built on the four adjacent N/S/W/E tiles. The gui/power-meter script implements
- the necessary build configuration UI.
- New Siege Engine plugin:
- When enabled and configured via gui/siege-engine, allows aiming siege engines
- at a designated rectangular area with 360 degree fire range and across Z levels;
- this works by rewriting the projectile trajectory immediately after it appears.
- Also supports loading catapults with non-boulder projectiles, taking from a stockpile,
- and restricting operator skill range like with ordinary workshops.
- Disclaimer: not in any way to undermine the future siege update from Toady, but
- the aiming logic of existing engines hasn't been updated since 2D, and is almost
- useless above ground :(. Again, things like making siegers bring their own engines
- is totally out of the scope of dfhack and can only be done by Toady.
- New Add Spatter plugin:
- Detects reactions with certain names in the raws, and changes them from adding
- improvements to adding item contaminants. This allows directly covering items
- with poisons. The added spatters are immune both to water and 'clean items'.
- Intended to give some use to all those giant cave spider poison barrels brought
- by the caravans.