Skip to content

DFHack 0.47.04-r2

Compare
Choose a tag to compare
@DFHack-Urist DFHack-Urist released this 09 Aug 02:53
f2b0f01

DFHack 0.47.04-r2

New Scripts

  • animal-control: helps manage the butchery and gelding of animals
  • devel/kill-hf: kills a historical figure
  • geld: gelds or ungelds animals
  • list-agreements: lists all guildhall and temple agreements
  • list-waves: displays migration wave information for citizens/units
  • ungeld: ungelds animals (wrapper around geld)

New Tweaks

  • tweak do-job-now: adds a job priority toggle to the jobs list
  • tweak reaction-gloves: adds an option to make reactions produce gloves in sets with correct handedness

Fixes

  • Fixed a segfault when attempting to start a headless session with a graphical PRINT_MODE setting

  • Fixed an issue with the macOS launcher failing to un-quarantine some files

  • Fixed Units::isEggLayer, Units::isGrazer, Units::isMilkable, Units::isTrainableHunting, Units::isTrainableWar, and Units::isTamable ignoring the unit's caste

  • Linux: fixed dfhack.getDFPath() (Lua) and Process::getPath() (C++) to always return the DF root path, even if the working directory has changed

  • digfort:

    • fixed an issue causing blueprints touching the southern or eastern edges of the map to be rejected (northern and western edges were already allowed). This allows blueprints that span the entire embark area.
    • fixed y-line tracking when .csv files contain lines with only commas
  • embark-assistant: fixed a couple of incursion handling bugs.

  • embark-skills: fixed an issue with structures causing the points option to do nothing

  • exportlegends:

    • stopped including some tags with -1 values which don't provide useful information
    • fixed an issue where two different <reason> tags could be included in a <historical_event>
  • getplants: fixed issues causing plants to be collected even if they have no growths (or unripe growths)

  • gui/advfort: fixed "operate pump" job

  • gui/load-screen: fixed an issue causing longer timezones to be cut off

  • labormanager:

    • fixed an issue preventing custom furnaces from being built
    • fixed handling of new jobs in 0.47
  • modtools/moddable-gods:

    • made -depictedAs argument work
    • removed unused -domain and -description arguments
    • fixed an error when creating the historical figure
  • names:

    • fixed an issue causing renamed units to display their old name in legends mode and some other places
    • fixed an error preventing the script from working
  • pref-adjust: fixed some compatibility issues and a potential crash

  • RemoteFortressReader:

    • fixed an issue that could cause block coordinates to be incorrect
    • fixed a couple crashes that could result from decoding invalid enum items (site_realization_building_type and improvement_type)
  • rendermax: fixed a hang that could occur when enabling some renderers, notably on Linux

  • stonesense:

    • fixed some issues that could cause the splash screen to hang
    • fixed a crash when launching Stonesense

Misc Improvements

  • Linux/macOS: Added console keybindings for deleting words (Alt+Backspace and Alt+d in most terminals)

  • add-recipe:

    • added a command explanation or error message when entering an invalid command
    • added tool recipes (minecarts, wheelbarrows, stepladders, etc.)
  • armoks-blessing: added adjustments to values and needs

  • blueprint:

    • now automatically creates folder trees when organizing blueprints into subfolders (e.g. blueprint 30 30 1 rooms/dining dig will create the file blueprints/rooms/dining-dig.csv); previously it would fail if the blueprints/rooms/ directory didn't already exist
    • now writes blueprints to the blueprints/ subfolder instead of the df root folder
  • confirm: added a confirmation dialog for convicting dwarves of crimes

  • devel/query: added many new query options

  • digfort:

    • added a force option to truncate blueprints if the full blueprint would extend off the edge of the map
    • documented that removing ramps, cutting trees, and gathering plants are indeed supported
    • handled double quotes (") at the start of a string, allowing .csv files exported from spreadsheets to work without manual modification
  • dwarf-op:

    • added ability to protect dwarves based on symbols in their custom professions
    • added ability to select dwarves based on migration wave
  • exportlegends:

    • added ability to save all files to a subfolder, named after the region folder and date by default
    • changed some enum values from numbers to their string representations
    • changed some flags to be represented by self-closing tags instead of true/false strings (e.g. <is_volcano/>) - note that this may require changes to other XML-parsing utilities
  • gui/advfort: added support for specifying the entity used to determine available resources

  • gui/gm-editor: added support for automatically following ref-targets when pressing the i key

  • manipulator: added a new column option to display units' goals

  • modtools/moddable-gods: added support for neuter gender

  • pref-adjust:

    • added a new goth profile
    • added support for adjusting just the selected dwarf
  • remove-stress: added a -value argument to enable setting stress level directly

  • workorder: changed default frequency from "Daily" to "OneTime"

API

  • Added Filesystem::mkdir_recursive
  • Extended Filesystem::listdir_recursive to optionally make returned filenames relative to the start directory
  • Units: added goal-related functions: getGoalType(), getGoalName(), isGoalAchieved()

Internals

  • Added support for splitting scripts into multiple files in the scripts/internal folder without polluting the output of ls

Lua

  • Added a ref_target field to primitive field references, corresponding to the ref-target XML attribute
  • Made dfhack.units.getRaceNameById(), dfhack.units.getRaceBabyNameById(), and dfhack.units.getRaceChildNameById() available to Lua

Ruby

  • Updated item_find and building_find to use centralized logic that works on more screens

Structures

  • Added a new <df-other-vectors-type>, which allows world.*.other collections of vectors to use the correct subtypes for items
  • creature_raw: renamed gender to sex to match the field in unit, which is more frequently used
  • crime: identified witnesses, which contains the data held by the old field named reports
  • intrigue: new type (split out from historical_figure_relationships)
  • items_other_id: removed BAD, and by extension, world.items.other.BAD, which was overlapping with world.items.bad
  • job_type: added job types new to 0.47
  • plant_raw: material_defs now contains arrays rather than loose fields
  • pronoun_type: new enum (previously documented in field comments)
  • setup_character_info: fixed a couple alignment issues (needed by embark-skills)
  • ui_advmode_menu: identified some new enum items

Documentation

  • Added some new dev-facing pages, including dedicated pages about the remote API, memory research, and documentation
  • Expanded the installation guide
  • Made a couple theme adjustments