870 lines
42 KiB
ReStructuredText
870 lines
42 KiB
ReStructuredText
|
.. comment
|
||
|
This is the changelog file for DFHack. If you add or change anything, note
|
||
|
it here under the heading "DFHack Future", in the appropriate section.
|
||
|
Items within each section are listed in alphabetical order to minimise merge
|
||
|
conflicts. Try to match the style and level of detail of the other entries.
|
||
|
|
||
|
#########
|
||
|
Changelog
|
||
|
#########
|
||
|
|
||
|
.. contents::
|
||
|
|
||
|
|
||
|
DFHack Future
|
||
|
=============
|
||
|
::
|
||
|
|
||
|
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
|
||
|
burial: sets all unowned coffins to allow burial ("-pets" to allow pets too)
|
||
|
fix-ster: changes fertility/sterility of animals or dwarves
|
||
|
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
|
||
|
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
|
||
|
Vjek's script collection:
|
||
|
- armoks-blessing: Adjust all attributes, personality, age and skills of all dwarves in play
|
||
|
- brainwash: brainwash a dwarf (modifying their personality)
|
||
|
- elevate-mental: elevate all the mental attributes of a unit
|
||
|
- elevate-physical: elevate all the physical attributes of a unit
|
||
|
- make-legendary: modify skill(s) of a single unit
|
||
|
- pref-adjust: Adjust all preferences of all dwarves in play
|
||
|
- rejuvenate: make any "old" dwarf 20 years old
|
||
|
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 "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:
|
||
|
- 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
|
||
|
- Note: 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, 3rdparty scripts)
|
||
|
- better HTML generation with Sphinx
|
||
|
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
|
||
|
dwarfmonitor:
|
||
|
- widgets' positions, formats, etc. are now customizable (see Readme)
|
||
|
- weather display now separated from the date display
|
||
|
- New mouse cursor widget
|
||
|
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
|
||
|
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
|
||
|
|
||
|
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
|
||
|
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
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
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.
|
||
|
|
||
|
DFHack 0.40.24-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
Internals
|
||
|
CMake shouldn't cache DFHACK_RELEASE anymore. People may need to manually update/delete
|
||
|
their CMake cache files to get rid of it.
|
||
|
|
||
|
DFHack 0.40.24-r0
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
Internals
|
||
|
EventManager: fixed crash error with EQUIPMENT_CHANGE event.
|
||
|
key modifier state exposed to Lua
|
||
|
Fixes
|
||
|
dfhack script can now be run from other directories on OSX
|
||
|
New Plugins
|
||
|
blueprint: export part of your fortress to quickfort .csv files
|
||
|
New Scripts
|
||
|
hotkey-notes: print key, name, and jump position of hotkeys
|
||
|
Removed
|
||
|
embark.lua
|
||
|
needs_porting/*
|
||
|
Misc Improvements
|
||
|
added support for searching more lists
|
||
|
|
||
|
DFHack 0.40.23-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
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
|
||
|
|
||
|
DFHack 0.40.19-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
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
|
||
|
|
||
|
DFHack 0.40.16-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
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
|
||
|
|
||
|
DFHack 0.40.15-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
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
|
||
|
|
||
|
DFHack 0.40.14-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
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
|
||
|
Misc Improvements:
|
||
|
- exportlegends.lua can now handle site maps
|
||
|
|
||
|
DFHack 0.40.13-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
Internals:
|
||
|
- unified spatter structs
|
||
|
- added ruby df.print_color(color, string) method for dfhack console
|
||
|
Fixes:
|
||
|
- no more -e after terminating
|
||
|
- fixed superdwarf
|
||
|
|
||
|
DFHack 0.40.12-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
Fixes:
|
||
|
- possible crash fixed for hack-wish
|
||
|
- updated search to not conflict with BUILDJOB_SUSPEND
|
||
|
- workflow: job_material_category -> dfhack_material_category
|
||
|
|
||
|
New plugins:
|
||
|
- hotkeys (by Falconne): Shows ingame viewscreen with all dfhack keybindings active in current mode.
|
||
|
- automelt: allows marking stockpiles for automelt
|
||
|
(i.e. any items placed in stocpile will be designated for melting)
|
||
|
|
||
|
Misc Improvements:
|
||
|
- now you can use @ to print things in interactive Lua with subtley different semantics
|
||
|
- optimizations for stockpiles for autotrade and stockflow
|
||
|
- updated exportlegends.lua to work with new maps, dfhack 40.11 r1+
|
||
|
|
||
|
Internals:
|
||
|
- support for global onLoadWorld.init and onUnloadWorld.init files,
|
||
|
called when loading and unloading a world
|
||
|
- Close file after loading a binary patch.
|
||
|
|
||
|
DFHack 0.40.11-r1
|
||
|
=================
|
||
|
::
|
||
|
|
||
|
Internals:
|
||
|
- Plugins on OS X now use ".plug.dylib" as an extension instead of ".plug.so"
|
||
|
Fixes:
|
||
|
- 3dveins should no longer hang/crash on specific maps
|
||
|
- Fixed some autotrade and search layout issues
|
||
|
- Updated deathcause
|
||
|
- hack-wish should work now
|
||
|
- reveal no longer allocates data for nonexistent map blocks
|
||
|
- Various documentation fixes and updates
|
||
|
|
||
|
DFHack v0.40.10-r1
|
||
|
==================
|
||
|
|
||
|
A few bugfixes.
|
||
|
|
||
|
DFHack v0.40.08-r2
|
||
|
==================
|
||
|
::
|
||
|
|
||
|
Internals:
|
||
|
supported per save script folders
|
||
|
Items module: added createItem function
|
||
|
Sorted CMakeList for plugins and plugins/devel
|
||
|
diggingInvaders no longer builds if plugin building is disabled
|
||
|
EventManager:
|
||
|
EQUIPMENT_CHANGE now triggers for new units
|
||
|
new events:
|
||
|
ON_REPORT
|
||
|
UNIT_ATTACK
|
||
|
UNLOAD
|
||
|
INTERACTION
|
||
|
|
||
|
New scripts:
|
||
|
lua/
|
||
|
repeat-util.lua
|
||
|
makes it easier to make things repeat indefinitely
|
||
|
syndrome-util.lua
|
||
|
makes it easier to deal with unit syndromes
|
||
|
scripts/
|
||
|
forum-dwarves.lua
|
||
|
helps copy df viewscreens to a file
|
||
|
full-heal.lua
|
||
|
fully heal a unit
|
||
|
remove-wear.lua
|
||
|
removes wear from all items in the fort
|
||
|
repeat.lua
|
||
|
repeatedly calls a script or a plugin
|
||
|
ShowUnitSyndromes.rb
|
||
|
shows syndromes affecting units and other relevant info
|
||
|
teleport.lua
|
||
|
teleports units
|
||
|
scripts/devel/
|
||
|
print-args.lua
|
||
|
scripts/fix/
|
||
|
blood-del.lua
|
||
|
makes it so civs don't bring barrels full of blood ichor or goo
|
||
|
feeding-timers.lua
|
||
|
reset the feeding timers of all units
|
||
|
scripts/gui/
|
||
|
hack-wish.lua
|
||
|
creates items out of any material
|
||
|
unit-info-viewer.lua
|
||
|
displays information about units
|
||
|
scripts/modtools/
|
||
|
add-syndrome.lua
|
||
|
add a syndrome to a unit or remove one
|
||
|
anonymous-script.lua
|
||
|
execute an lua script defined by a string. For example,
|
||
|
'scripts/modtools/anonymous-script "print(args[2] .. args[1])" one two'
|
||
|
will print 'twoone'. Useful for the *-trigger scripts.
|
||
|
force.lua
|
||
|
forces events: caravan, migrants, diplomat, megabeast, curiousbeast,
|
||
|
mischievousbeast, flier, siege, nightcreature
|
||
|
item-trigger.lua
|
||
|
triggers commands based on equipping, unequipping, and wounding units with items
|
||
|
interaction-trigger.lua
|
||
|
triggers commands when interactions happen
|
||
|
invader-item-destroyer.lua
|
||
|
destroys invaders' items when they die
|
||
|
moddable-gods.lua
|
||
|
standardized version of Putnam's moddable gods script
|
||
|
outside-only.lua
|
||
|
register buildings as outside only or inside only
|
||
|
replaces outsideOnly plugin
|
||
|
projectile-trigger.lua
|
||
|
standardized version of projectileExpansion
|
||
|
reaction-trigger.lua
|
||
|
trigger commands when custom reactions complete
|
||
|
replaces autoSyndrome
|
||
|
reaction-trigger-transition.lua
|
||
|
a tool for converting mods from autoSyndrome to reaction-trigger
|
||
|
random-trigger.lua
|
||
|
triggers random scripts that you register
|
||
|
skill-change.lua
|
||
|
for incrementing and setting skills
|
||
|
spawn-flow.lua
|
||
|
creates flows, like mist or dragonfire
|
||
|
syndrome-trigger.lua
|
||
|
trigger commands when syndromes happen
|
||
|
transform-unit.lua
|
||
|
shapeshifts a unit, possibly permanently
|
||
|
|
||
|
Misc improvements:
|
||
|
new function in utils.lua for standardized argument processing
|
||
|
|
||
|
Removed
|
||
|
digmat.rb: digFlood does the same functionality with less FPS impact
|
||
|
scripts/invasionNow: scripts/modtools/force.lua does it better
|
||
|
autoSyndrome replaced with scripts/modtools/reaction-trigger.lua
|
||
|
syndromeTrigger replaced with scripts/modtools/syndrome-trigger.lua
|
||
|
devel/printArgs plugin converted to scripts/devel/print-args.lua
|
||
|
|
||
|
DFHack v0.40.08-r1
|
||
|
==================
|
||
|
|
||
|
Was a mistake. Don't use it.
|
||
|
|
||
|
DFHack v0.34.11-r5
|
||
|
==================
|
||
|
::
|
||
|
|
||
|
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.
|
||
|
- automelt: allows marking stockpiles for automelt (i.e. any items placed in stocpile will be designated for melting)
|
||
|
- 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
|
||
|
|
||
|
DFHack v0.34.11-r4
|
||
|
==================
|
||
|
::
|
||
|
|
||
|
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
|
||
|
|
||
|
DFHack v0.34.11-r3
|
||
|
==================
|
||
|
::
|
||
|
|
||
|
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.
|
||
|
|
||
|
DFHack v0.34.11-r2
|
||
|
==================
|
||
|
::
|
||
|
|
||
|
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 bugfixes:
|
||
|
- 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.
|
||
|
|