Development Changelog

DFHack 0.43.05-beta2

Fixes

  • Fixed Buildings::updateBuildings(), along with building creation/deletion events
  • Fixed plug output alignment for plugins with long names
  • Fixed a crash that happened when a LUA_PATH environment variable was set
  • add-thought: fixed number conversion
  • gui/workflow: fixed range editing producing the wrong results for certain numbers
  • modtools/create-unit: now uses non-English names
  • modtools/item-trigger: fixed errors with plant growths
  • remotefortressreader: fixed a crash when serializing the local map
  • stockflow: fixed an issue with non-integer manager order limits
  • title-folder: fixed compatibility issues with certain SDL libraries on macOS

Structures

  • Added some missing renderer VTable addresses on macOS
  • entity.resources.organic: identified parchment
  • entity_sell_category: added Parchment and CupsMugsGoblets
  • ui_advmode_menu: added Build
  • ui_unit_view_mode: added PrefOccupation
  • unit_skill: identified natural_skill_lvl (was unk_1c)
  • viewscreen_jobmanagementst: identified max_workshops
  • viewscreen_overallstatusst: made visible_pages an enum
  • viewscreen_pricest: identified fields
  • viewscreen_workquota_conditionst: gave some fields unk names

API Changes

  • Allowed the Lua API to accept integer-like floats and strings when expecting an integer
  • Lua: New Painter:key_string() method
  • Lua: Added dfhack.getArchitecture() and dfhack.getArchitectureName()

Additions/Removals:

  • Added adv-rumors script: improves the “Bring up specific incident or rumor” menu in adventure mode
  • Added install-info script for basic troubleshooting
  • Added tweak condition-material: fixes a crash in the work order condition material list
  • Added tweak hotkey-clear: adds an option to clear bindings from DF hotkeys
  • autofarm: reverted local biome detection (from 0.43.05-alpha3)

Other Changes

  • Added a DOWNLOAD_RUBY CMake option, to allow use of a system/external ruby library
  • Added the ability to download files manually before building
  • gui/extended-status: added a feature to queue beds
  • remotefortressreader: added building items, DF version info
  • Stonesense: Added support for 64-bit macOS and Linux

DFHack 0.43.05-beta1

Fixes

  • Fixed various crashes on 64-bit Windows related to DFHack screens, notably manipulator
  • Fixed addresses of next_id globals on 64-bit Linux (fixes an automaterial/box-select crash)
  • ls now lists scripts in folders other than hack/scripts, when applicable
  • modtools/create-unit: stopped permanently overwriting the creature creation menu in arena mode
  • season-palette: fixed an issue where only part of the screen was redrawn after changing the color scheme
  • title-version: now hidden when loading an arena

Structures

  • file_compressorst: fixed field sizes on x64
  • historical_entity: fixed alignment on x64
  • ui_sidebar_menus.command_line: fixed field sizes on x64
  • viewscreen_choose_start_sitest: added 3 missing fields, renamed in_embark_only_warning
  • viewscreen_layer_arena_creaturest: identified more fields
  • world.math: identified
  • world.murky_pools: identified

Additions/Removals

Other Changes

DFHack 0.43.05-alpha4

Fixes

  • Fixed an issue with uninitialized bitfields that was causing several issues (disappearing buildings in buildingplan‘s planning mode, strange behavior in the extended stocks screen, and likely other problems). This issue was introduced in 0.43.05-alpha3.
  • stockflow: Fixed an “integer expected” error

Structures

  • Located several globals on 64-bit Linux: flows, timed_events, ui_advmode, ui_building_assign_type, ui_building_assign_is_marked, ui_building_assign_units, ui_building_assign_items, and ui_look_list. This fixes search, zone, and force, among others.
  • ui_sidebar_menus: Fixed some x64 alignment issues

Additions/Removals

  • Added fix/tile-occupancy: Clears bad occupancy flags on the selected tile. Useful for fixing blocked tiles introduced by the above buildingplan issue.
  • Added a Lua tile-material module

Other Changes

  • labormanager: Add support for shell crafts
  • manipulator: Custom professions are now sorted alphabetically more reliably

DFHack 0.43.05-alpha3

Fixes

  • add-thought: fixed support for emotion names

  • autofarm: Made surface farms detect local biome

  • devel/export-dt-ini: fixed squad_schedule_entry size

  • labormanager:

    • Now accounts for unit attributes
    • Made instrument-building jobs work (constructed instruments)
    • Fixed deconstructing constructed instruments
    • Fixed jobs in bowyer’s shops
    • Fixed trap component jobs
    • Fixed multi-material construction jobs
    • Fixed deconstruction of buildings containing items
    • Fixed interference caused by “store item in vehicle” jobs
  • manipulator: Fixed crash when selecting a profession from an empty list

  • ruby:

    • Fixed crash on Win64 due to truncated global addresses
    • Fixed compilation on Win64
    • Use correct raw string length with encodings

Structures

  • Changed many comment XML attributes with version numbers to use new since attribute instead

  • activity_event_conflictst.sides: named many fields

  • building_def.build_key: fixed size on 64-bit Linux and OS X

  • historical_kills:

    • unk_30 -> killed_underground_region
    • unk_40 -> killed_region
  • historical_kills.killed_undead: removed skeletal flag

  • ui_advmode: aligned enough so that it doesn’t crash (64-bit OS X/Linux)

  • ui_advmode.show_menu: changed from bool to enum

  • unit_personality.emotions.flags: now a bitfield

API Changes

  • Added DFHack::Job::removeJob() function
  • C++: Removed bitfield constructors that take an initial value. These kept bitfields from being used in unions. Set bitfield.whole directly instead.
  • Lua: bitfield.whole now returns an integer, not a decimal

Additions/Removals

Other changes

  • Changed minimum GCC version to 4.8 on OS X and Linux (earlier versions wouldn’t have worked on Linux anyway)
  • Updated TinyXML from 2.5.3 to 2.6.2