github DFHack/dfhack 0.44.12-r1
DFHack 0.44.12-r1

latest releases: 50.13-r1.1, 50.13-r1, 50.12-r3...
5 years ago

DFHack 0.44.12-r1

Fixes

  • Fixed displayed names (from Units::getVisibleName) for units with identities
  • Fixed potential memory leak in Screen::show()
  • Fixed special characters in command-prompt and other non-console in-game outputs on Linux/macOS (in tools using df2console)
  • command-prompt: added support for commands that require a specific screen to be visible, e.g. spotclean
  • die: fixed Windows crash in exit handling
  • dwarfmonitor, manipulator: fixed stress cutoffs
  • fix/dead-units: fixed script trying to use missing isDiplomat function
  • gui/workflow: fixed advanced constraint menu for crafts
  • modtools/force: fixed a bug where the help text would always be displayed and nothing useful would happen
  • ruby: fixed calling conventions for vmethods that return strings (currently enabler.GetKeyDisplay())
  • startdwarf: fixed on 64-bit Linux
  • stonesense: fixed PLANT:DESERT_LIME:LEAF typo

Misc Improvements

  • Console:

    • added support for multibyte characters on Linux/macOS
    • made the console exit properly when an interactive command is active (liquids, mode, tiletypes)
  • Linux: added automatic support for GCC sanitizers in dfhack script

  • Made the DFHACK_PORT environment variable take priority over remote-server.json

  • Reduced time for designation jobs from tools like digv to be assigned workers

  • dfhack-run: added support for port specified in remote-server.json, to match DFHack's behavior

  • digfort: added better map bounds checking

  • embark-assistant:

    • Switched to standard scrolling keys, improved spacing slightly
    • Introduced scrolling of Finder search criteria, removing requirement for 46 lines to work properly (Help/Info still formatted for 46 lines).
    • Added Freezing search criterion, allowing searches for NA/Frozen/At_Least_Partial/Partial/At_Most_Partial/Never Freezing embarks.
  • rejuvenate:

    • Added -all argument to apply to all citizens
    • Added -force to include units under 20 years old
    • Clarified documentation
  • remove-stress:

    • added support for -all as an alternative to the existing all argument for consistency
    • sped up significantly
    • improved output/error messages
    • now removes tantrums, depression, and obliviousness
  • ruby: sped up handling of onupdate events

API

  • Added C++-style linked list interface for DF linked lists

  • Added to Units module:

    • getStressCategory(unit)
    • getStressCategoryRaw(level)
    • stress_cutoffs (Lua: getStressCutoffs())
  • Added Screen::Hide to temporarily hide screens, like command-prompt

  • Exposed Screen::zoom() to C++ (was Lua-only)

  • New functions: Units::isDiplomat(unit)

Internals

  • Added documentation for all RPC functions and a build-time check
  • Added support for build IDs to development builds
  • Changed default build architecture to 64-bit
  • jsoncpp: updated to version 1.8.4 and switched to using a git submodule
  • Use dlsym(3) to find vtables from libgraphics.so

Lua

  • Added printall_recurse to print tables and DF references recursively. It can be also used with ^ from the lua interpreter.
  • gui.widgets: List:setChoices clones choices for internal table changes

Structures

  • Added support for automatically sizing arrays indexed with an enum

  • Added start_dwarf_count on 64-bit Linux again and fixed scanning script

  • Dropped 0.44.10 support

  • Dropped 0.44.11 support

  • Removed stale generated CSV files and DT layouts from pre-0.43.05

  • announcement_type: new in 0.44.11: NEW_HOLDING, NEW_MARKET_LINK

  • army_controller: added new vector from 0.44.11

  • belief_system: new type, few fields identified

  • breath_attack_type: added OTHER

  • historical_figure_info.relationships.list: added unk_3a-unk_3c fields at end

  • history_event_entity_expels_hfst: added (new in 0.44.11)

  • history_event_site_surrenderedst: added (new in 0.44.11)

  • history_event_type: added SITE_SURRENDERED, ENTITY_EXPELS_HF (new in 0.44.11)

  • interface_key: added bindings new in 0.44.11

  • mental_picture: new type, some fields identified

  • mission_report:

    • new type (renamed, was mission before)
    • identified some fields
  • mission: new type (used in viewscreen_civlistst)

  • occupation_type: new in 0.44.11: MESSENGER

  • profession: new in 0.44.11: MESSENGER

  • spoils_report: new type, most fields identified

  • syndrome: identified a few fields

  • ui.squads: Added fields new in 0.44.12

  • ui_sidebar_menus:

    • unit.in_squad: renamed to unit.squad_list_opened, fixed location
    • unit: added expel_error and other unknown fields new in 0.44.11
    • hospital: added, new in 0.44.11
    • num_speech_tokens, unk_17d8: moved out of command_line to fix layout on x64
  • viewscreen_civlistst:

    • fixed layout and identified many fields
    • identified new pages
    • identified new messenger-related fields
  • viewscreen_image_creatorst:

    • fixed layout
    • identified many fields
  • viewscreen_locationsst: identified edit_input

  • viewscreen_reportlistst: added new mission and spoils report-related fields (fixed layout)

  • world.languages: identified (minimal information; whole languages stored elsewhere)

  • world.status:

    • mission_reports: renamed, was missions
    • spoils_reports: identified
  • world.unk_131ec0, world.unk_131ef0: researched layout

  • world.worldgen_status: identified many fields

  • world: belief_systems: identified

Don't miss a new dfhack release

NewReleases is sending notifications on new releases.