Development Changelog¶
This file contains changes grouped by the release (stable or development) in which they first appeared. See Building the changelogs for more information.
See Changelog for a list of changes grouped by stable releases.
Contents
- Development Changelog
- DFHack 0.44.10-r2
- DFHack 0.44.10-r1
- DFHack 0.44.10-beta1
- DFHack 0.44.10-alpha1
- DFHack 0.44.09-r1
- DFHack 0.44.09-alpha1
- DFHack 0.44.08-alpha1
- DFHack 0.44.07-beta1
- DFHack 0.44.07-alpha1
- DFHack 0.44.05-r2
- DFHack 0.44.05-r1
- DFHack 0.44.05-alpha1
- DFHack 0.44.04-alpha1
- DFHack 0.44.03-beta1
- DFHack 0.44.03-alpha1
- DFHack 0.44.02-beta1
- DFHack 0.44.02-alpha1
DFHack 0.44.10-r2¶
New Scripts¶
- gui/stamper: allows manipulation of designations by transforms such as translations, reflections, rotations, and inversion
- add-recipe: adds unknown crafting recipes to the player’s civ
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
-g
flag (GDB) in Linuxdfhack
script (particularly on x64)Fixed several bugs in Lua scripts found by static analysis (df-luacheck)
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, fix-unit-occupancy: stopped running when a fort isn’t loaded (e.g. while embarking)
buildingplan, fortplan: stopped running before a world has fully loaded
-
- stop running repeatedly when paused
- fixed crash when furnaces are linked to same stockpiles as jeweler’s workshops
ban-cooking: fixed errors introduced by kitchen structure changes in 0.44.10-r1
remove-stress: fixed an error when running on soul-less units (e.g. with
-all
)reveal: stopped revealing tiles adjacent to tiles above open space inappropriately
dig: fixed “Inappropriate dig square” announcements if digging job has been posted
stockpiles:
loadstock
now sets usable and unusable weapon and armor settingsstocks: stopped listing carried items under stockpiles where they were picked up from
deramp: fixed deramp to find designations that already have jobs posted
fixnaked: fixed errors due to emotion changes in 0.44
autounsuspend: now skips planned buildings
Misc Improvements¶
Added script name to messages produced by
qerror()
in Lua scriptsFixed 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
fix/retrieve-units: now re-adds units to active list to counteract fix/dead-units
item-descriptions: fixed several grammatical errors
-
- added quantity argument
- now selects a caste at random if none is specified
-
- 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
-
- 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
API¶
New functions (also exposed to Lua):
Units::isKilled()
Units::isActive()
Units::isGhost()
Removed Vermin module (unused and obsolete)
Internals¶
- Added fallback for YouCompleteMe database lookup failures (e.g. for newly-created files)
- jsoncpp: fixed constructor with
long
on Linux - Improved efficiency and error handling in
stl_vsprintf
and related functions - Added build option to generate symbols for large generated files containing df-structures metadata
Structures¶
unit_flags1
: renameddead
toinactive
to better reflect its useitem_body_component
: fixed location ofcorpse_flags
job_type
: addedis_designation
attributeunit_thought_type
: addedSawDeadBody
(new in 0.44.10)unit_personality
: fixed location ofcurrent_focus
andundistracted_focus
incident_sub6_performance
: identified some fieldsjob_handler
: fixed static array layout
Lua¶
- Added
profiler
module to measure lua performance - Enabled shift+cursor movement in WorkshopOverlay-derived screens
DFHack 0.44.10-r1¶
New Tweaks¶
Fixes¶
- Lua: registered
dfhack.constructions.designateRemove()
correctly - prospect: fixed crash due to invalid vein materials
- tweak max-wheelbarrow: fixed conflict with building renaming
- view-item-info: stopped appending extra newlines permanently to descriptions
Misc Improvements¶
Added logo to documentation
Documented several missing
dfhack.gui
Lua functionsadv-rumors: bound to Ctrl-A
command-prompt: added support for
Gui::getSelectedPlant()
gui/advfort: bound to Ctrl-T
gui/room-list: added support for
Gui::getSelectedBuilding()
gui/unit-info-viewer: bound to Alt-I
modtools/create-unit: made functions available to other scripts
-
- 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¶
- Fixed compiler warnings on all supported build configurations
- 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¶
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 with autodump
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
-
- 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
-
- 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 of
this
option
Misc Improvements¶
- blueprint: added a basic Lua API
- devel/export-dt-ini: added tool offsets for DT 40
- devel/save-version: added current DF version to output
- install-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
DFHack 0.44.10-alpha1¶
New Scripts¶
- caravan: adjusts properties of caravans
- gui/autogems: a configuration UI for the autogems plugin
Fixes¶
- Fixed uninitialized pointer being returned from
Gui::getAnyUnit()
in rare cases - autohauler, autolabor, labormanager: fixed fencepost error and potential crash
- dwarfvet: fixed infinite loop if an animal is not accepted at a hospital
- liquids: fixed “range” command to default to 1 for dimensions consistently
- search: fixed 4/6 keys in unit screen search
- view-item-info: fixed an error with some armor
Misc Improvements¶
- autogems: can now blacklist arbitrary gem types (see gui/autogems)
- exterminate: added more words for current unit, removed warning
- fpause: 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¶
Fixes¶
- modtools/item-trigger: fixed token format in help text
Misc Improvements¶
- Reorganized changelogs and improved changelog editing process
- modtools/item-trigger: added support for multiple type/material/contaminant conditions
Internals¶
- OS X: Can now build with GCC 7 (or older)
Structures¶
renderer
: fixed vtable addresses on 64-bit OS Xbuilding_type
: added human-readablename
attributefurnace_type
: added human-readablename
attributeworkshop_type
: added human-readablename
attributearmy
: added vector new in 0.44.07site_reputation_report
: namedreports
vector
DFHack 0.44.09-alpha1¶
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¶
Fixes¶
- fix/dead-units: fixed a bug that could remove some arriving (not dead) units
DFHack 0.44.07-beta1¶
Misc Improvements¶
- modtools/item-trigger: added the ability to specify inventory mode(s) to trigger on
Structures¶
- Added symbols for Toady’s 0.44.07 Linux test build to fix Bug 10615
world_site
: fixed alignment
DFHack 0.44.07-alpha1¶
Fixes¶
- Support for building on Ubuntu 18.04
- Fixed some CMake warnings (CMP0022)
- embark-assistant: fixed detection of reanimating biomes
Misc Improvements¶
-
- Added search for adamantine
- Now supports saving/loading profiles
fillneeds: added
-all
option to apply to all unitsremotefortressreader: added flows, instruments, tool names, campfires, ocean waves, spiderwebs
Structures¶
Several new names in instrument raw structures
identity
: identifiedprofession
,civ
manager_order_template
: fixed last field typeviewscreen_createquotast
: fixed layoutworld.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.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 included
- view-item-info: fixed an error with some shields
Misc Improvements¶
- adv-rumors: added more keywords, including names
- autochop: can now exclude trees that produce fruit, food, or cookable items
- remotefortressreader: added plant type support
DFHack 0.44.05-r1¶
New Scripts¶
- break-dance: Breaks up a stuck dance activity
- fillneeds: Use with a unit selected to make them focused and unstressed
- firestarter: Lights things on fire: items, locations, entire inventories even!
- flashstep: Teleports adventurer to cursor
- ghostly: Turns an adventurer into a ghost or back
- questport: Sends your adventurer to the location of your quest log cursor
- view-unit-reports: opens the reports screen with combat reports for the selected unit
Fixes¶
devel/inject-raws: now recognizes spaces in reaction names
dig: added support for designation priorities - fixes issues with designations from
digv
and related commands having extremely high priority-
- fixed display of creatures and poetic/music/dance forms on
prefs
screen - added “view unit” option
- now exposes the selected unit to other tools
- fixed display of creatures and poetic/music/dance forms on
names: fixed many errors
quicksave: fixed an issue where the “Saving…” indicator often wouldn’t appear
Misc Improvements¶
-
- added a profession editor
- misc. layout improvements
-
- support for moving adventurers
- support for vehicles, gem shapes, item volume, art images, item improvements
binpatch: now reports errors for empty patch files
force: now provides useful help
-
- can now select corpses to resurrect
- now resets body part temperatures upon resurrection to prevent creatures from freezing/melting again
- now resets units’ vanish countdown to reverse effects of exterminate
launch: can now ride creatures
names: can now edit names of units
Internals¶
Gui::getAnyUnit()
supports many more screens/menus
Structures¶
- New globals:
soul_next_id
DFHack 0.44.05-alpha1¶
Misc Improvements¶
- gui/liquids: added more keybindings: 0-7 to change liquid level, P/B to cycle backwards
Structures¶
incident
: re-aligned again to match disassembly
DFHack 0.44.04-alpha1¶
Fixes¶
- devel/inject-raws: now recognizes spaces in reaction names
- exportlegends: fixed an error that could occur when exporting empty lists
Structures¶
artifact_record
: fixed layout (changed in 0.44.04)incident
: fixed layout (changed in 0.44.01) - note that many fields have moved
DFHack 0.44.03-beta1¶
Fixes¶
- autolabor, autohauler, labormanager: added support for “put item on display” jobs and building/destroying display furniture
- gui/gm-editor: fixed an error when editing primitives in Lua tables
Misc Improvements¶
devel/dump-offsets: now ignores
index
globalsgui/pathable: added tile types to sidebar
-
- now updates skill levels appropriately
- only prints output if
-loud
is passed
Structures¶
New globals:
version
min_load_version
movie_version
basic_seed
title
title_spaced
ui_building_resize_radius
Added
twbt_render_map
code offset on x64Fixed an issue preventing
enabler
from being allocated by DFHackAdded
job_type.PutItemOnDisplay
Found
renderer
vtable on osx64adventure_movement_optionst
,adventure_movement_hold_tilest
,adventure_movement_climbst
: named coordinate fieldsmission
: added typeunit
: added 3 new vmethods:getCreatureTile
,getCorpseTile
,getGlowTile
viewscreen_assign_display_itemst
: fixed layout on x64 and identified many fieldsviewscreen_reportlistst
: fixed layout, addedmission_id
vectorworld.status
: namedmissions
vector
DFHack 0.44.03-alpha1¶
Lua¶
- Improved
json
I/O error messages - Stopped a crash when trying to create instances of classes whose vtable addresses are not available
DFHack 0.44.02-beta1¶
New Scripts¶
- devel/check-other-ids: Checks the validity of “other” vectors in the
world
global - gui/cp437-table: An in-game CP437 table
Fixes¶
- Fixed issues with the console output color affecting the prompt on Windows
- createitem: stopped items from teleporting away in some forts
- gui/gm-unit: can now edit mining skill
- gui/quickcmd: stopped error from adding too many commands
- modtools/create-unit: fixed error when domesticating units
Misc Improvements¶
The console now provides suggestions for built-in commands
devel/export-dt-ini: avoid hardcoding flags
-
- reordered some tags to match DF’s order
- added progress indicators for exporting long lists
gui/gm-editor: added enum names to enum edit dialogs
gui/gm-unit: made skill search case-insensitive
gui/rename: added “clear” and “special characters” options
-
- includes item stack sizes
- some performance improvements
Removed¶
- warn-stuck-trees: Bug 9252 fixed in DF 0.44.01
Structures¶
- Located
start_dwarf_count
offset for all builds except 64-bit Linux; startdwarf should work now - Added
buildings_other_id.DISPLAY_CASE
- Fixed
viewscreen_titlest.start_savegames
alignment - Fixed
unit
alignment - Identified
historical_entity.unknown1b.deities
(deity IDs)
Lua¶
- Exposed
get_vector()
(from C++) for all types that supportfind()
, e.g.df.unit.get_vector() == df.global.world.units.all
DFHack 0.44.02-alpha1¶
New Scripts¶
- devel/dump-offsets: prints an XML version of the global table included in in DF
Fixes¶
- Fixed a crash that could occur if a symbol table in symbols.xml had no content
Structures¶
- The
ui_menu_width
global is now a 2-byte array; the second item is the formerui_area_map_width
global, which is now removed - The former
announcements
global is now a field ind_init
world
fields formerly beginning withjob_
are now fields ofworld.jobs
, e.g.world.job_list
is nowworld.jobs.list
Lua¶
- Added a new
dfhack.console
API - API can now wrap functions with 12 or 13 parameters