Skip to content

Releases: DFHack/dfhack

DFHack 0.43.05-beta2

24 Apr 01:45
Compare
Choose a tag to compare
DFHack 0.43.05-beta2 Pre-release
Pre-release

This release adds 64-bit Stonesense support on all platforms, plus a few new tweaks and other fixes.

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

12 Feb 01:57
Compare
Choose a tag to compare
DFHack 0.43.05-beta1 Pre-release
Pre-release

This build fixes some structure issues and related crashes.

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

  • generated-creature-renamer: Renames generated creature IDs for use with graphics packs

Other Changes

  • title-version: Added a prerelease indicator

DFHack 0.43.05-alpha4

29 Dec 21:02
Compare
Choose a tag to compare
DFHack 0.43.05-alpha4 Pre-release
Pre-release

This build fixes some strange behavior with buildingplan and several other tools on all platforms, as well as a number of broken tools due to missing globals on 64-bit Linux.

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

14 Dec 19:13
Compare
Choose a tag to compare
DFHack 0.43.05-alpha3 Pre-release
Pre-release

This release has many issues and has been superseded by 0.43.05-alpha4. Using this version is discouraged. The builds below above may break your save.

This release fixes some crashes, notably a Ruby crash on 64-bit Windows and a labormanager crash on 64-bit OS X and Linux. There are also some structure fixes. Please continue reporting issues in this build.

Changes since 0.43.05-alpha2 (note that this is since the last alpha release, not the last stable one for 0.43.03):

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

  • Removed source for treefarm plugin (wasn't built)
  • Added modtools/change-build-menu: Edit the build mode sidebar menus
  • Added modtools/if-entity: Run a command if the current entity matches a
    given ID
  • Added season-palette: Swap color palettes with the changes of the seasons

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

This release has many issues and has been superseded by 0.43.05-alpha4. Using this version is discouraged. The builds below may break your save.

DFHack 0.43.05-alpha2

23 Nov 03:35
Compare
Choose a tag to compare
DFHack 0.43.05-alpha2 Pre-release
Pre-release

This release is hopefully more stable than 0.43.05-alpha1. There have been some structure fixes, including one that was causing an exportlegends crash. Also, Ruby should work on all platforms and architectures now. This has not been tested as extensively, so please pay special attention to any problems you find with Ruby scripts and report them.

Update: there is a fairly common Ruby crash on 64-bit Windows. Also, Stonesense is not included.

The following changelog consists of changes since 0.43.03-r1:

Internals

  • 64-bit support on all platforms
  • Visual Studio 2015 now required on Windows instead of 2010
  • GCC 4.8 recommended on Linux and OS X (and now supported on OS X)
  • Several structure fixes to match 64-bit DF's memory layout

Lua

  • Lua has been updated to 5.3 - see http://www.lua.org/manual/5.3/readme.html for details
    • Floats are no longer implicitly converted to integers in DFHack API calls
  • df.new() supports more types: char, intptr_t, uintptr_t, long, unsigned long
  • String representations of vectors and a few other containers now include their lengths

Ruby

  • Added support for loading ruby 2.x libraries
  • Fixed some layouts on x64 (incomplete)

New Plugins

  • dwarfvet enables animal caretaking
  • labormanager (formerly autolabor2): a more advanced alternative to autolabor
  • title-folder: shows DF folder name in window title bar when enabled

New Scripts

  • load-save: loads a save non-interactively

Fixes

  • The DF path on OS X can now contain spaces and : characters
  • Buildings::setOwner() changes now persist properly when saved
  • devel/find-offsets: fixed a crash when vtables used by globals aren't available

Misc Improvements

  • Documented all default keybindings (from dfhack.init-example) in the
    docs for the relevant commands; updates enforced by build system.
  • lua and gui/gm-editor now support the same aliases (scr, unit, etc.)
  • remotefortressreader: Added support for
    • world map snow coverage
    • spatters
    • wall info
    • site towers, world buildings
    • surface material

DFHack 0.43.05-alpha1

16 Oct 00:51
Compare
Choose a tag to compare
DFHack 0.43.05-alpha1 Pre-release
Pre-release

This release has some support for 0.43.05. 32-bit support should be about as good as it was in 0.43.03, while 64-bit support is somewhat more experimental. Please report issues that you encounter. It's especially helpful if you can try to reproduce them with both 32-bit and 64-bit DFHack.

Important: Some alpha releases in the past have been stable. This is most likely not one of them. It's intended primarily for people to help test and find issues.

The following things are known to be missing or possibly broken, so please don't report them if they are:

  • Ruby
  • Stonesense
  • Some offsets (although do report any crashes that occur as a result)

Changelog since 0.43.03-r1:

Internals

  • 64-bit support on all platforms
  • Visual Studio 2015 now required on Windows instead of 2010
  • GCC 4.8 recommended on Linux and OS X (and now supported on OS X)
  • Several structure fixes to match 64-bit DF's memory layout

Lua

  • Lua has been updated to 5.3 - see http://www.lua.org/manual/5.3/readme.html for details
    • Floats are no longer implicitly converted to integers in DFHack API calls
  • df.new() supports more types: char, intptr_t, uintptr_t, long, unsigned long
  • String representations of vectors and a few other containers now include their lengths

Ruby

  • Added support for loading ruby 2.x libraries
  • Fixed some layouts on x64 (incomplete)

New Plugins

  • dwarfvet enables animal caretaking
  • labormanager (formerly autolabor2): a more advanced alternative to autolabor
  • title-folder: shows DF folder name in window title bar when enabled

New Scripts

  • load-save: loads a save non-interactively

Fixes

  • The DF path on OS X can now contain spaces and : characters
  • Buildings::setOwner() changes now persist properly when saved
  • devel/find-offsets: fixed a crash when vtables used by globals aren't available

Misc Improvements

  • lua and gui/gm-editor now support the same aliases (scr, unit, etc.)
  • remotefortressreader: Added support for
    • world map snow coverage
    • spatters
    • wall info
    • site towers, world buildings
    • surface material

DFHack 0.43.03-r1

07 Jul 02:32
Compare
Choose a tag to compare

This is a release for 0.43.03 (not 0.43.04, 0.43.05, or anything newer - support for those is in progress, but likely to take longer than usual, so we decided to make a release for 0.43.03 in the meantime). Please do let us know about any issues - we can always make another 0.43.03 release, even if support for newer versions isn't done.

Changes since 0.42.06:

Lua

  • Label widgets can now easily register handlers for mouse clicks

New Features

  • add-thought: allow syndrome name as -thought argument
  • gui/gm-editor
    • Added ability to insert default types into containers. For primitive types leave the type entry empty, and for references use *.
    • Added shift-esc binding to fully exit from editor
    • Added gui/gm-editor toggle command to toggle editor visibility (saving position)
  • modtools/create-unit:
    • Added an option to attach units to an existing wild animal population
    • Added an option to attach units to a map feature

Fixes

  • autofarm: Can now handle crops that grow for more than a season
  • combine-plants: Fixed recursion into sub-containers
  • createitem: Now moves multiple created items to cursor correctly
  • exportlegends: Improved handling of unknown enum items (fixes many errors)
  • gui/create-item: Fixed quality when creating multiple items
  • gui/mod-manager: Fixed error when mods folder doesn't exist
  • modtools/item-trigger: Fixed handling of items with subtypes
  • stockflow:
    • Can order metal mechanisms
    • Fixed material category of thread-spinning jobs

Misc Improvements

  • The built-in ls command now wraps the descriptions of commands
  • catsplosion: now a lua script instead of a plugin
  • fix/diplomats: replaces fixdiplomats
  • fix/merchants: replaces fixmerchants
  • Unified script documentation and in-terminal help options

Removed

  • tweak manager-quantity: no longer needed

DFHack 0.43.03-alpha1

14 Jun 18:50
Compare
Choose a tag to compare
DFHack 0.43.03-alpha1 Pre-release
Pre-release

This is an alpha release for 0.43.03. Please try to figure out how to make it crash or act strangely and tell us how!

New things since 0.42.06:

Lua

  • Label widgets can now easily register handlers for mouse clicks

New Features

  • gui/gm-editor it's now possible to insert default types to containers. For primitive types leave the type entry empty, for references use *.

Fixes

  • createitem: Now moves multiple created items to cursor correctly
  • exportlegends: Improved handling of unknown enum items (fixes many errors)
  • gui/create-item: Fixed quality when creating multiple items
  • gui/mod-manager: Fixed error when mods folder doesn't exist
  • modtools/item-trigger: Fixed handling of items with subtypes

Misc Improvements

  • catsplosion: now a lua script instead of a plugin
  • fix/diplomats: replaces fixdiplomats
  • fix/merchants: replaces fixmerchants

Removed

  • tweak manager-quantity: no longer needed

DFHack 0.42.06-r1

24 Apr 21:32
Compare
Choose a tag to compare

This is our first stable release for the DF 0.42 series. Thanks to everyone that tested out the pre-releases and reported issues!

Note: This release has local documentation this time! We're still ironing out our build process for it, but it's in the hack/docs folder. As always, it's also available online at https://dfhack.readthedocs.org/.

Linux note (mainly for people who've been avoiding pre-releases): The GCC 4.8 build should work out of the box now, without requiring libs/libstdc++.so.6 to be removed. It also avoids some weird compiler issues, so using it is recommended. GCC 4.5 builds may be available as well in case the GCC 4.8 builds still don't work.

Internals

  • Commands to run on startup can be specified on the command line with +

    Example:

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

  • Additional script search paths can be specified in dfhack-config/script-paths.txt

Lua

  • building-hacks now supports auto_gears flags. It automatically finds and animates gears in building definition
  • Changed how eventful triggers reaction complete. Now it has onReactionComplete and onReactionCompleting. Second one can be canceled

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save
  • modtools/extra-gamelog: replaces log-region, soundsense-season, and soundsense

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • colonies: new place subcommand and supports any vermin (default honey bees)
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu
  • zone:
    • Added unassign subcommand
    • Added only option to assign subcommand

Fixes

  • Fixed a crash bug caused by the historical figures DFHack uses to store persistent data.
  • More plugins should recognize non-dwarf citizens
  • Fixed a possible crash from cloning jobs
  • moveToBuilding() now sets flags for items that aren't a structural part of the building properly
  • autotrade, stocks: Made trading work when multiple caravans are present but only some can trade
  • confirm note-delete: No longer interferes with name entry
  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • fastdwarf: Fixed a bug involving teleporting mothers but not the babies they're holding.
  • gaydar: Fixed text display on OS X/Linux and failure with soul-less creatures
  • manipulator:
    • allowed editing of non-dwarf citizens
    • stopped ghosts and visitors from being editable
    • fixed applying last custom profession
  • modtools/create-unit: Stopped making units without civs historical figures
  • modtools/force:
    • Removed siege option
    • Prevented a crash resulting from a bad civilization option
  • showmood: Fixed name display on OS X/Linux
  • view-item-info: Fixed density units

Misc Improvements

  • autochop: Can now edit log minimum/maximum directly and remove limit entirely
  • autolabor, autohauler, manipulator: Added support for new jobs/labors/skills
  • colonies: now implemented by a script
  • createitem: Can now create items anywhere without specifying a unit, as long as a unit exists on the map
  • devel/export-dt-ini: Updated for 0.42.06
  • devel/find-offsets: Automated several more scans
  • gui/gm-editor: Now supports finding some items with a numeric ID (with i)
  • lua: Now supports some built-in variables like gui/gm-editor, e.g. unit, screen
  • remotefortressreader: Can now trigger keyboard events
  • stockflow: Now offers better control over individual craft jobs
  • weather: now implemented by a script
  • zone: colored output

Removed

  • DFusion: legacy script system, obsolete or replaced by better alternatives

DFHack 0.42.06-beta1

13 Apr 02:36
Compare
Choose a tag to compare
DFHack 0.42.06-beta1 Pre-release
Pre-release

Internals

  • Commands to run on startup can be specified on the command line with +

    Example::

    ./dfhack +devel/print-args example
    "Dwarf Fortress.exe" +devel/print-args example
    
  • Prevented plugins with active viewscreens from being unloaded and causing a crash

  • Additional script search paths can be specified in dfhack-config/script-paths.txt

Lua

  • building-hacks now supports auto_gears flags. It automatically finds and animates gears in building definition
  • Changed how eventful triggers reaction complete. Now it has onReactionComplete and onReactionCompleting. Second one can be canceled

New Plugins

  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems

New Scripts

  • devel/save-version: Displays DF version information about the current save
  • modtools/extra-gamelog: replaces log-region, soundsense-season, and soundsense

New Features

  • buildingplan: Support for floodgates, grates, and bars
  • confirm: Added a confirmation for retiring locations
  • exportlegends: Exports more information (poetic/musical/dance forms, written/artifact content, landmasses, extra histfig information, and more)
  • search: Support for new screens:
    • location occupation assignment
    • civilization animal training knowledge
    • animal trainer assignment
  • tweak:
    • tweak block-labors: Prevents labors that can't be used from being toggled
    • tweak hide-priority: Adds an option to hide designation priority indicators
    • tweak title-start-rename: Adds a safe rename option to the title screen "Start Playing" menu
  • colonies: new place subcommand and supports any vermin (default honey bees)

Fixes

  • Fixed a crash bug caused by the historical figures DFHack uses to store persistent data.
  • More plugins should recognize non-dwarf citizens
  • Fixed a possible crash from cloning jobs
  • moveToBuilding() now sets flags for items that aren't a structural part of the building properly
  • confirm note-delete: No longer interferes with name entry
  • exportlegends: Handles entities without specific races, and a few other fixes for things new to v0.42
  • fastdwarf: Fixed a bug involving teleporting mothers but not the babies they're holding.
  • gaydar: Fixed text display on OS X/Linux and failure with soul-less creatures
  • manipulator:
    • allowed editing of non-dwarf citizens
    • stopped ghosts and visitors from being editable
    • fixed applying last custom profession
  • modtools/create-unit: Stopped making units without civs historical figures
  • modtools/force:
    • Removed siege option
    • Prevented a crash resulting from a bad civilization option
  • showmood: Fixed name display on OS X/Linux
  • view-item-info: Fixed density units

Misc Improvements

  • autochop: Can now edit log minimum/maximum directly and remove limit entirely
  • autolabor, autohauler, manipulator: Added support for new jobs/labors/skills
  • colonies: now implemented by a script
  • createitem: Can now create items anywhere without specifying a unit, as long as a unit exists on the map
  • devel/export-dt-ini: Updated for 0.42.06
  • devel/find-offsets: Automated several more scans
  • lua: Now supports some built-in variables like gui/gm-editor, e.g. unit, screen
  • remotefortressreader: Can now trigger keyboard events
  • stockflow: Now offers better control over individual craft jobs
  • weather: now implemented by a script

Removed

  • DFusion: legacy script system, obsolete or replaced by better alternatives