This release fixes a few longstanding bugs from 0.44.12-r1.
DFHack 0.44.12-r2
New Plugins
debug
: manages runtime debug print category filteringnestboxes
: automatically scan for and forbid fertile eggs incubating in a nestbox
New Scripts
devel/query
: searches for field names in DF objectsextinguish
: puts out firestame
: sets tamed/trained status of animals
Fixes
-
building-hacks
: fixed error when dealing with custom animation tables -
devel/test-perlin
: fixed Lua error (math.pow()
) -
embark-assistant
: fixed crash when entering finder with a 16x16 embark selected, and added 16 to dimension choices -
embark-skills
: fixed missingskill_points_remaining
field -
full-heal
:- stopped wagon resurrection
- fixed a minor issue with post-resurrection hostility
-
gui/companion-order
:- fixed issues with printing coordinates
- fixed issues with move command
- fixed cheat commands (and removed "Power up", which was broken)
-
gui/gm-editor
: fixed reinterpret cast (r
) -
gui/pathable
: fixed error when sidebar is hidden withTab
-
labormanager
:- stopped assigning labors to ineligible dwarves, pets, etc.
- stopped assigning invalid labors
- added support for crafting jobs that use pearl
- fixed issues causing cleaning jobs to not be assigned
- added support for disabling management of specific labors
-
prospector
: (also affectedembark-tools
) - fixed a crash when prospecting an unusable site (ocean, mountains, etc.) with a large default embark size in d_init.txt (e.g. 16x16) -
siege-engine
: fixed a few Lua errors (math.pow()
,unit.relationship_ids
) -
tweak
: fixedhotkey-clear
Misc Improvements
-
armoks-blessing
: improved documentation to list all available arguments -
devel/export-dt-ini
:- added viewscreen offsets for DT 40.1.2
- added item base flags offset
- added needs offsets
-
embark-assistant
:- added match indicator display on the right ("World") map
- changed 'c'ancel to abort find if it's under way and clear results if not, allowing use of partial surveys.
- added Coal as a search criterion, as well as a coal indication as current embark selection info.
-
full-heal
:- added
-all
,-all_civ
and-all_citizens
arguments - added module support
- now removes historical figure death dates and ghost data
- added
-
growcrops
: addedall
argument to grow all crops -
gui/load-screen
: improved documentation -
labormanager
: now takes nature value into account when assigning jobs -
open-legends
: added warning about risk of save corruption and improved related documentation -
points
: added support when inviewscreen_setupdwarfgamest
and improved error messages -
siren
: removed break handling (relevantmisc_trait_type
was no longer used - see "Structures" section)
API
-
New debug features related to
debug
plugin:- Classes (C++ only):
Signal<Signature, type_tag>
,DebugCategory
,DebugManager
- Macros:
TRACE
,DEBUG
,INFO
,WARN
,ERR
,DBG_DECLARE
,DBG_EXTERN
- Classes (C++ only):
Internals
- Added a usable unit test framework for basic tests, and a few basic tests
- Added
CMakeSettings.json
with intellisense support - Changed
plugins/CMakeLists.custom.txt
to be ignored by git and created (if needed) at build time instead - Core: various thread safety and memory management improvements
- Fixed CMake build dependencies for generated header files
- Fixed custom
CMAKE_CXX_FLAGS
not being passed to plugins - Linux/macOS: changed recommended build backend from Make to Ninja (Make builds will be significantly slower now)
Lua
utils
: newOrderedTable
class
Structures
-
Win32: added missing vtables for
viewscreen_storesst
andsquad_order_rescue_hfst
-
activity_event_performancest
: renamed poem as written_content_id -
body_part_status
: identifiedgelded
-
dance_form
: named musical_form_id and musical_written_content_id -
incident_sub6_performance.participants
: named performance_event and role_index -
incident_sub6_performance
:- named poetic_form_id, musical_form_id, and dance_form_id
- made performance_event an enum
-
misc_trait_type
: removedLikesOutdoors
,Hardened
,TimeSinceBreak
,OnBreak
(all unused by DF) -
musical_form_instruments
: named minimum_required and maximum_permitted -
musical_form
: named voices field -
plant_tree_info
: identifiedextent_east
, etc. -
plant_tree_tile
: gave connection bits more meaningful names (e.g.connection_east
instead ofthick_branches_1
) -
poetic_form
: identified many fields and related enum/bitfield types -
setup_character_info
: identifiedskill_points_remaining
(forembark-skills
) -
ui.main
: identifiedfortress_site
-
ui.squads
: identifiedkill_rect_targets_scroll
-
ui
: fixed alignment ofmain
andsquads
(fixestweak
hotkey-clear and DF-AI) -
unit_action.attack
:- added
lightly_tap
andspar_report
flags - identified
attack_skill
- added
-
unit_flags3
: identifiedmarked_for_gelding
-
unit_personality
: identifiedstress_drain
,stress_boost
,likes_outdoors
,combat_hardened
-
unit_storage_status
: newly identified type, stores noble holdings information (used inviewscreen_layer_noblelistst
) -
unit_thought_type
: added new expulsion thoughts from 0.44.12 -
viewscreen_layer_arena_creaturest
: identified item- and name-related fields -
viewscreen_layer_militaryst
: identifiedequip.assigned.assigned_items
-
viewscreen_layer_noblelistst
: identifiedstorage_status
(seeunit_storage_status
type) -
viewscreen_new_regionst
:- changed many
int8_t
fields tobool
- identified
rejection_msg
,raw_folder
,load_world_params
- changed many
-
viewscreen_setupadventurest
: identified some nemesis and personality fields, andpage.ChooseHistfig
-
world_data
: addedmountain_peak_flags
type, includingis_volcano
-
world_history
: identified names and/or types of some fields -
world_site
: identified names and/or types of some fields -
written_content
: named poetic_form