Skip to content

Latest commit

 

History

History
654 lines (527 loc) · 25 KB

NEWS.rst

File metadata and controls

654 lines (527 loc) · 25 KB

Changelog

  • 64-bit support on all platforms
  • Several structure fixes to match 64-bit DF's memory layout
  • Added DFHack::Job::removeJob() function
  • New module: Designations - handles designation creation (currently for plants only)
  • Added Gui::getSelectedPlant()
  • Added Units::getMainSocialActivity(), Units::getMainSocialEvent()
  • Visual Studio 2015 now required to build on Windows instead of 2010
  • GCC 4.8 or newer required to build on Linux and OS X (and now supported on OS X)
  • Updated TinyXML from 2.5.3 to 2.6.2
  • Added the ability to download files manually before building
  • 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

  • Added a tile-material module

  • Added a Painter:key_string() method

  • Made dfhack.gui.revealInDwarfmodeMap() available

  • Added support for loading ruby 2.x libraries
  • dwarfvet enables animal caretaking
  • generated-creature-renamer: Renames generated creature IDs for use with graphics packs
  • labormanager (formerly autolabor2): a more advanced alternative to autolabor
  • misery: re-added and updated for the 0.4x series
  • title-folder: shows DF folder name in window title bar when enabled
  • adv-rumors: improves the "Bring up specific incident or rumor" menu in adventure mode
  • fix/tile-occupancy: Clears bad occupancy flags on the selected tile.
  • install-info: Logs basic troubleshooting information about the current DFHack installation
  • load-save: loads a save non-interactively
  • modtools/change-build-menu: Edit the build mode sidebar menus
  • modtools/if-entity: Run a command if the current entity matches a given ID
  • season-palette: Swap color palettes with the changes of the seasons
  • unforbid: Unforbids all items
  • tweak condition-material <tweak>: fixes a crash in the work order condition material list
  • tweak hotkey-clear <tweak>: adds an option to clear bindings from DF hotkeys
  • The DF path on OS X can now contain spaces and : characters

  • Buildings::setOwner() changes now persist properly when saved

  • ls now lists scripts in folders other than hack/scripts, when applicable

  • Fixed plug output alignment for plugins with long names

  • add-thought: fixed support for emotion names

  • autochop:

    • fixed several issues with job creation and removal
    • stopped designating the center tile (unreachable) for large trees
    • stopped options from moving when enabling and disabling burrows
    • fixed display of unnamed burrows
  • devel/find-offsets: fixed a crash when vtables used by globals aren't available

  • getplants:

    • fixed several issues with job creation and removal
    • stopped designating the center tile (unreachable) for large trees
  • gui/workflow: added extra keybinding to work with gui/extended-status

  • manipulator:

    • Fixed crash when selecting a profession from an empty list
    • Custom professions are now sorted alphabetically more reliably
  • modtools/create-unit:

    • stopped permanently overwriting the creature creation menu in arena mode
    • now uses non-English names
  • modtools/item-trigger: fixed errors with plant growths

  • remotefortressreader: fixed a crash when serializing the local map

  • title-version: now hidden when loading an arena

  • Documented all default keybindings (from :file:`dfhack.init-example`) in the docs for the relevant commands; updates enforced by build system.

  • autounsuspend: reduced update frequency to address potential performance issues

  • gui/extended-status: added a feature to queue beds

  • lua and gui/gm-editor now support the same aliases (scr, unit, etc.)

  • manipulator: added social activities to job column

  • remotefortressreader: Added support for

    • world map snow coverage
    • spatters
    • wall info
    • site towers, world buildings
    • surface material
    • building items
    • DF version info
  • title-version: Added a prerelease indicator

  • workflow: Re-added Alt-W keybindings

  • Label widgets can now easily register handlers for mouse clicks
  • 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
  • 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
  • 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
  • tweak manager-quantity: no longer needed
  • 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

  • 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
  • autogems: Creates a new Workshop Order setting, automatically cutting rough gems
  • devel/save-version: Displays DF version information about the current save
  • modtools/extra-gamelog: replaces log-region, soundsense-season, and soundsense
  • 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-plugin: 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
  • 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

  • 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
  • DFusion: legacy script system, obsolete or replaced by better alternatives
  • confirm:

    • Added a uniform-delete option for military uniform deletion
    • Added a basic in-game configuration UI
  • Fixed a rare crash that could result from running keybinding in onLoadWorld.init
  • Script help that doesn't start with a space is now recognized correctly
  • confirm: Fixed issues with haul-delete, route-delete, and squad-disband confirmations intercepting keys too aggressively
  • emigration should work now
  • fix-unit-occupancy: Significantly optimized - up to 2,000 times faster in large fortresses
  • gui/create-item: Allow exiting quantity prompt
  • gui/family-affairs: Fixed an issue where lack of relationships wasn't recognized and other issues
  • modtools/create-unit: Fixed a possible issue in reclaim fortress mode
  • search-plugin: Fixed a crash on the military screen
  • tweak max-wheelbarrow: Fixed a minor display issue with large numbers
  • workflow: Fixed a crash related to job postings (and added a fix for existing, broken jobs)
  • Unrecognized command feedback now includes more information about plugins
  • fix/dry-buckets: replaces the drybuckets plugin
  • feature: now implemented by a script
  • A method for caching screen output is now available to Lua (and C++)
  • Developer plugins can be ignored on startup by setting the DFHACK_NO_DEV_PLUGINS environment variable
  • The console on Linux and OS X now recognizes keyboard input between prompts
  • JSON libraries available (C++ and Lua)
  • More DFHack build information used in plugin version checks and available to plugins and lua scripts
  • Fixed a rare overflow issue that could cause crashes on Linux and OS X
  • Stopped DF window from receiving input when unfocused on OS X
  • Fixed issues with keybindings involving CtrlA and CtrlZ, as well as AltE/U/N on OS X
  • Multiple contexts can now be specified when adding keybindings
  • Keybindings can now use F10-F12 and 0-9
  • Plugin system is no longer restricted to plugins that exist on startup
  • :file:`dfhack.init` file locations significantly generalized
  • Scripts can be enabled with the built-in enable/disable <disable> commands
  • A new function, reqscript(), is available as a safer alternative to script_environment()
  • Lua viewscreens can choose not to intercept the OPTIONS keybinding
  • kill-lua: Interrupt running Lua scripts
  • type: Show where a command is implemented
  • confirm: Adds confirmation dialogs for several potentially dangerous actions
  • fix-unit-occupancy: Fixes issues with unit occupancy, such as faulty "unit blocking tile" messages (🐛`3499`)
  • title-version (formerly vshook): Display DFHack version on title screen
  • armoks-blessing: Adjust all attributes, personality, age and skills of all dwarves in play
  • brainwash: brainwash a dwarf (modifying their personality)
  • burial: sets all unowned coffins to allow burial ("-pets" to allow pets too)
  • deteriorateclothes: make worn clothes on the ground wear far faster to boost FPS
  • deterioratecorpses: make body parts wear away far faster to boost FPS
  • deterioratefood: make food vanish after a few months if not used
  • elevate-mental: elevate all the mental attributes of a unit
  • elevate-physical: elevate all the physical attributes of a unit
  • emigration: stressed dwarves may leave your fortress if they see a chance
  • fix-ster: changes fertility/sterility of animals or dwarves
  • gui/family-affairs: investigate and alter romantic relationships
  • make-legendary: modify skill(s) of a single unit
  • modtools/create-unit: create new units from nothing
  • modtools/equip-item: a script to equip items on units
  • points: set number of points available at embark screen
  • pref-adjust: Adjust all preferences of all dwarves in play
  • rejuvenate: make any "old" dwarf 20 years old
  • starvingdead: make undead weaken after one month on the map, and crumble after six
  • view-item-info: adds information and customisable descriptions to item viewscreens
  • warn-starving: check for starving, thirsty, or very drowsy units and pause with warning if any are found
  • embark-profile-name: Allows the use of lowercase letters when saving embark profiles
  • kitchen-keys: Fixes DF kitchen meal keybindings
  • kitchen-prefs-color: Changes color of enabled items to green in kitchen preferences
  • kitchen-prefs-empty: Fixes a layout issue with empty kitchen tabs
  • Plugins with vmethod hooks can now be reloaded on OS X
  • Lua's os.system() now works on OS X
  • Fixed default arguments in Lua gametype detection functions
  • Circular lua dependencies (reqscript/script_environment) fixed
  • Prevented crash in Items::createItem()
  • buildingplan: Now supports hatch covers
  • gui/create-item: fixed assigning quality to items, made Esc work properly
  • gui/gm-editor: handles lua tables properly
  • help: now recognizes built-in commands, like help
  • manipulator: fixed crash when selecting custom professions when none are found
  • remotefortressreader: fixed crash when attempting to send map info when no map was loaded
  • search-plugin: fixed crash in unit list after cancelling a job; fixed crash when disabling stockpile category after searching in a subcategory
  • stockpiles: now checks/sanitizes filenames when saving
  • stocks: fixed a crash when right-clicking
  • steam-engine: fixed a crash on arena load; number keys (e.g. 2/8) take priority over cursor keys when applicable
  • tweak fps-min fixed
  • tweak farm-plot-select: Stopped controls from appearing when plots weren't fully built
  • workflow: Fixed some issues with stuck jobs. Existing stuck jobs must be cancelled and re-added
  • zone: Fixed a crash when using zone set (and a few other potential crashes)
  • DFHack documentation:

    • massively reorganised, into files of more readable size
    • added many missing entries
    • indexes, internal links, offline search all documents
    • includes documentation of linked projects (df-structures, third-party scripts)
    • better HTML generation with Sphinx
    • documentation for scripts now located in source files
  • autolabor:

    • Stopped modification of labors that shouldn't be modified for brokers/diplomats
    • Prioritize skilled dwarves more efficiently
    • Prevent dwarves from running away with tools from previous jobs
  • automaterial: Fixed several issues with constructions being allowed/disallowed incorrectly when using box-select

  • dwarfmonitor:

    • widgets' positions, formats, etc. are now customizable
    • weather display now separated from the date display
    • New mouse cursor widget
  • gui/dfstatus: Can enable/disable individual categories and customize metal bar list

  • full-heal: -r option removes corpses

  • gui/gm-editor

    • Pointers can now be displaced
    • Added some useful aliases: "item" for the selected item, "screen" for the current screen, etc.
    • Now avoids errors with unrecognized types
  • gui/hack-wish: renamed to gui/create-item

  • keybinding list <keybinding> accepts a context

  • lever:

    • Lists lever names
    • lever pull can be used to pull the currently-selected lever
  • memview: Fixed display issue

  • modtools/create-item: arguments are named more clearly, and you can specify the creator to be the unit with id df.global.unit_next_id-1 (useful in conjunction with modtools/create-unit)

  • nyan: Can now be stopped with dfhack-run

  • plug: lists all plugins; shows state and number of commands in plugins

  • prospect: works from within command-prompt

  • quicksave: Restricted to fortress mode

  • remotefortressreader: Exposes more information

  • search-plugin:

    • Supports noble suggestion screen (e.g. suggesting a baron)
    • Supports fortress mode loo[k] menu
    • Recognizes ? and ; keys
  • stocks: can now match beginning and end of item names

  • teleport: Fixed cursor recognition

  • tidlers, twaterlvl: now implemented by scripts instead of a plugin

  • tweak:

    • debug output now logged to stderr.log instead of console - makes DFHack start faster
    • farm-plot-select: Fixed issues with selecting undiscovered crops
  • workflow: Improved handling of plant reactions

  • embark-tools nano: 1x1 embarks are now possible in vanilla 0.40.24
  • Ruby library now included on OS X - Ruby scripts should work on OS X 10.10
  • libstdc++ should work with older versions of OS X
  • Added support for onMapLoad.init / onMapUnload.init <other_init_files> scripts
  • game type detection functions are now available in the World module
  • The DFHACK_LOG_MEM_RANGES environment variable can be used to log information to stderr.log on OS X
  • Fixed adventure mode menu names
  • Fixed command usage information for some commands
  • Lua scripts will only be reloaded if necessary
  • Added a df2console() wrapper, useful for printing DF (CP437-encoded) text to the console in a portable way
  • Added a strerror() wrapper
  • hide, show: hide and show the console on Windows
  • sc-script: Allows additional scripts to be run when certain events occur (similar to onLoad.init scripts)
  • autohauler: A hauling-only version of autolabor
  • modtools/reaction-product-trigger: triggers callbacks when products are produced (contrast with when reactions complete)
  • fps-min <tweak>: Fixes the in-game minimum FPS setting
  • shift-8-scroll <tweak>: Gives Shift+8 (or *) priority when scrolling menus, instead of scrolling the map
  • tradereq-pet-gender <tweak>: Displays pet genders on the trade request screen
  • Fixed game type detection in 3dveins, gui/create-item, reveal, seedwatch
  • PRELOAD_LIB: More extensible on Linux
  • add-spatter, eventful: Fixed crash on world load
  • add-thought: Now has a proper subthought arg.
  • building-hacks: Made buildings produce/consume correct amount of power
  • fix-armory: compiles and is available again (albeit with issues)
  • gui/gm-editor: Added search option (accessible with "s")
  • hack-wish <gui/create-item>: Made items stack properly.
  • modtools/skill-change: Made level granularity work properly.
  • show-unit-syndromes: should work
  • stockflow:
    • Fixed error message in Arena mode
    • no longer checks the DF version
    • fixed ballistic arrow head orders
    • convinces the bookkeeper to update records more often
  • zone: Stopped crash when scrolling cage owner list
  • autolabor: A negative pool size can be specified to use the most unskilled dwarves
  • building-hacks:
    • Added a way to allow building to work even if it consumes more power than is available.
    • Added setPower/getPower functions.
  • catsplosion: Can now trigger pregnancies in (most) other creatures
  • exportlegends: info and all options export legends_plus.xml with more data for legends utilities
  • manipulator:
    • Added ability to edit nicknames/profession names
    • added "Job" as a View Type, in addition to "Profession" and "Squad"
    • added custom profession templates with masking
  • remotefortressreader: Exposes more information
  • Lua scripts can set environment variables of each other with dfhack.run_script_with_env

  • Lua scripts can now call each others internal nonlocal functions with dfhack.script_environment(scriptName).functionName(arg1,arg2)

  • eventful: Lua reactions no longer require LUA_HOOK as a prefix; you can register a callback for the completion of any reaction with a name

  • Filesystem module now provides file access/modification times and can list directories (normally and recursively)

  • Units Module: New functions:

    isWar
    isHunter
    isAvailableForAdoption
    isOwnCiv
    isOwnRace
    getRaceName
    getRaceNamePlural
    getRaceBabyName
    getRaceChildName
    isBaby
    isChild
    isAdult
    isEggLayer
    isGrazer
    isMilkable
    isTrainableWar
    isTrainableHunting
    isTamable
    isMale
    isFemale
    isMerchant
    isForest
    isMarkedForSlaughter
    
  • Buildings Module: New Functions:

    isActivityZone
    isPenPasture
    isPitPond
    isActive
    findPenPitAt
    
  • dfhack.run_script should correctly find save-specific scripts now.
  • add-thought: updated to properly affect stress.
  • hfs-pit: should work now
  • autobutcher: takes gelding into account
  • :file:`init.lua` existence checks should be more reliable (notably when using non-English locales)

Multiline commands are now possible inside dfhack.init scripts. See :file:`dfhack.init-example` for example usage.

CMake shouldn't cache DFHACK_RELEASE anymore. People may need to manually update/delete their CMake cache files to get rid of it.

  • EventManager: fixed crash error with EQUIPMENT_CHANGE event.
  • key modifier state exposed to Lua (ie Ctrl, Alt, Shift)

dfhack.sh can now be run from other directories on OS X

  • blueprint: export part of your fortress to quickfort .csv files
  • hotkey-notes: print key, name, and jump position of hotkeys
  • needs_porting/*

Added support for searching more lists

Are kept in a seperate file: HISTORY