479 lines
20 KiB
Plaintext
479 lines
20 KiB
Plaintext
=== Scroll down for changes
|
|
|
|
===[[[
|
|
===help
|
|
|
|
Entries in docs/NEWS.rst and docs/NEWS-dev.rst are generated from
|
|
docs/changelog.txt. NEWS.rst groups entries by stable releases, and NEWS-dev.rst
|
|
groups them by all releases (stable and development). For example, an entry
|
|
listed under "0.44.05-alpha1" in changelog.txt will be listed under that in
|
|
NEWS-dev.rst as well, but under "0.44.05-r1" in NEWS.rst (assuming that is the
|
|
closest stable release after 0.44.05-alpha1). An entry listed under a stable
|
|
release in changelog.txt will be listed under that release in both NEWS.rst and
|
|
NEWS-dev.rst.
|
|
|
|
changelog.txt uses a syntax similar to RST, with a few special sequences:
|
|
|
|
- ``===`` indicates the start of a comment
|
|
- ``#`` indicates the start of a release name (do not include "DFHack")
|
|
- ``##`` indicates the start of a section name (this must be listed in ``gen_changelog.py``)
|
|
- ``-`` indicates the start of a changelog entry. **Note:** an entry currently must be only one line.
|
|
- ``:`` (colon followed by space) separates the name of a feature from a description of a change to that feature.
|
|
Changes made to the same feature are grouped if they end up in the same section.
|
|
- ``:\`` (colon, backslash, space) avoids the above behavior
|
|
- ``- @`` (the space is optional) indicates the start of an entry that should only be displayed in NEWS-dev.rst.
|
|
Use this sparingly, e.g. for immediate fixes to one development build in another development build that
|
|
are not of interest to users of stable builds only.
|
|
- Three ``[`` characters indicate the start of a block (possibly a comment) that
|
|
spans multiple lines. Three ``]`` characters indicate the end of such a block.
|
|
- ``!`` immediately before a phrase set up to be replaced (see gen_changelog.py) stops that occurrence from being replaced.
|
|
|
|
===end
|
|
]]]
|
|
|
|
================================================================================
|
|
======== IMPORTANT: rename this, and add a new "future" section, BEFORE ========
|
|
======== making a new DFHack release! ========
|
|
================================================================================
|
|
# Future
|
|
|
|
## New Plugins
|
|
- `cxxrandom`: exposes some features of the C++11 random number library to Lua
|
|
|
|
## Fixes
|
|
- Fixed many tools incorrectly using the ``dead`` unit flag (they should generally check ``flags2.killed`` instead)
|
|
- Fixed many tools passing incorrect arguments to printf-style functions, including a few possible crashes (`changelayer`, `follow`, `forceequip`, `generated-creature-renamer`)
|
|
- Fixed ``-g`` flag (GDB) in Linux ``dfhack`` script (particularly on x64)
|
|
- `autochop`, `autodump`, `autogems`, `automelt`, `autotrade`, `buildingplan`, `dwarfmonitor`, `fix-unit-occupancy`, `fortplan`, `stockflow`: fix issues with periodic tasks not working for some time after save/load cycles
|
|
- `autogems`, `fix-unit-occupancy`: stopped running when a fort isn't loaded (e.g. while embarking)
|
|
- `buildingplan`, `fortplan`: stop running before a world has fully loaded
|
|
- `autogems`:
|
|
- stop running repeatedly when paused
|
|
- fixed crash when furnaces are linked to same stockpiles as jeweler's workshops
|
|
- `ban-cooking`: fixed errors introduced by kitchen structure changes in 0.44.10-r1
|
|
- `remove-stress`: fixed an error when running on soul-less units (e.g. with ``-all``)
|
|
- `revflood`: stopped revealing tiles adjacent to tiles above open space inappropriately
|
|
- `dig`: Fix "Inappropriate dig square" announcements if digging job has been posted
|
|
- `stockpiles`: ``loadstock`` sets usable and unusable weapon and armor settings
|
|
- `stocks`: Remove carried items from stockpile where they were picked up
|
|
- `deramp`: Fix deramp to find designations that already have jobs posted
|
|
|
|
## Misc Improvements
|
|
- Added script name to messages produced by ``qerror()`` in Lua scripts
|
|
- Fixed an issue in around 30 scripts that could prevent edits to the files (adding valid arguments) from taking effect
|
|
- Linux: Added several new options to ``dfhack`` script: ``--remotegdb``, ``--gdbserver``, ``--strace``
|
|
- `buildingplan`: added max quality setting
|
|
- `caravan`: documented (new in 0.44.10-alpha1)
|
|
- `fix/retrieve-units`: now re-adds units to active list to counteract `fix/dead-units`
|
|
- `mousequery`:
|
|
- migrated several features from TWBT's fork
|
|
- added ability to drag with left/right buttons
|
|
- added depth display for TWBT (when multilevel is enabled)
|
|
- made shift+click jump to lower levels visible with TWBT
|
|
- `title-version`: added version to options screen too
|
|
|
|
## API
|
|
- New functions (also exposed to Lua):
|
|
- ``Units::isKilled()``
|
|
- ``Units::isActive()``
|
|
- ``Units::isGhost()``
|
|
- Removed Vermin module (unused and obsolete)
|
|
|
|
## Lua
|
|
- Added ``profiler`` module to measure lua performance
|
|
- Enabled shift+cursor movement in WorkshopOverlay-derived screens
|
|
|
|
## Structures
|
|
- ``unit_flags1``: renamed ``dead`` to ``inactive`` to better reflect its use
|
|
|
|
## Internals
|
|
- Added fallback for YouCompleteMe database lookup failures (e.g. for newly-created files)
|
|
- jsoncpp: fixed constructor with ``long`` on Linux
|
|
- Improved efficiency and error handling in ``stl_vsprintf`` and related functions
|
|
|
|
# 0.44.10-r1
|
|
|
|
## New Scripts
|
|
- `bodyswap`: shifts player control over to another unit in adventure mode
|
|
|
|
## New Tweaks
|
|
- `tweak` stone-status-all: adds an option to toggle the economic status of all stones
|
|
- `tweak` kitchen-prefs-all: adds an option to toggle cook/brew for all visible items in kitchen preferences
|
|
|
|
## Fixes
|
|
- Lua: registered ``dfhack.constructions.designateRemove()`` correctly
|
|
- `prospector`: fixed crash due to invalid vein materials
|
|
- `tweak` max-wheelbarrow: fixed conflict with building renaming
|
|
- `view-item-info`: stopped appending extra newlines permanently to descriptions
|
|
|
|
## Misc Improvements
|
|
- Added logo to documentation
|
|
- Documented several missing ``dfhack.gui`` Lua functions
|
|
- `adv-rumors`: bound to Ctrl-A
|
|
- `command-prompt`: added support for ``Gui::getSelectedPlant()``
|
|
- `gui/advfort`: bound to Ctrl-T
|
|
- `gui/room-list`: added support for ``Gui::getSelectedBuilding()``
|
|
- `gui/unit-info-viewer`: bound to Alt-I
|
|
- `modtools/create-unit`: made functions available to other scripts
|
|
- `search`:
|
|
- added support for stone restrictions screen (under ``z``: Status)
|
|
- added support for kitchen preferences (also under ``z``)
|
|
|
|
## Internals
|
|
- Fixed compiler warnings on all supported build configurations
|
|
- Windows build scripts now work with non-C system drives
|
|
|
|
## API
|
|
- New functions (all available to Lua as well):
|
|
- ``Buildings::getRoomDescription()``
|
|
- ``Items::checkMandates()``
|
|
- ``Items::canTrade()``
|
|
- ``Items::canTradeWithContents()``
|
|
- ``Items::isRouteVehicle()``
|
|
- ``Items::isSquadEquipment()``
|
|
- ``Kitchen::addExclusion()``
|
|
- ``Kitchen::findExclusion()``
|
|
- ``Kitchen::removeExclusion()``
|
|
- syndrome-util: added ``eraseSyndromeData()``
|
|
|
|
## Structures
|
|
- ``dfhack_room_quality_level``: new enum
|
|
- ``glowing_barrier``: identified ``triggered``, added comments
|
|
- ``item_flags2``: renamed ``has_written_content`` to ``unk_book``
|
|
- ``kitchen_exc_type``: new enum (for ``ui.kitchen``)
|
|
- ``mandate.mode``: now an enum
|
|
- ``unit_personality.emotions.flags.memory``: identified
|
|
- ``viewscreen_kitchenprefst.forbidden``, ``possible``: now a bitfield, ``kitchen_pref_flag``
|
|
- ``world_data.feature_map``: added extensive documentation (in XML)
|
|
|
|
# 0.44.10-beta1
|
|
|
|
## New Scripts
|
|
- `devel/find-primitive`: finds a primitive variable in memory
|
|
|
|
## Fixes
|
|
- Units::getAnyUnit(): fixed a couple problematic conditions and potential segfaults if global addresses are missing
|
|
- `stockpiles`: stopped sidebar option from overlapping with `autodump`
|
|
-@ `autodump`, `automelt`, `autotrade`, `stocks`, `stockpiles`: fixed conflict with building renaming
|
|
- `tweak` block-labors: fixed two causes of crashes related in the v-p-l menu
|
|
- `full-heal`:
|
|
- units no longer have a tendency to melt after being healed
|
|
- healed units are no longer treated as patients by hospital staff
|
|
- healed units no longer attempt to clean themselves unsuccessfully
|
|
- wounded fliers now regain the ability to fly upon being healing
|
|
- now heals suffocation, numbness, infection, spilled guts and gelding
|
|
- `modtools/create-unit`:
|
|
- creatures of the appropriate age are now spawned as babies or children where applicable
|
|
- fix: civ_id is now properly assigned to historical_figure, resolving several hostility issues (spawned pets are no longer attacked by fortress military!)
|
|
- fix: unnamed creatures are no longer spawned with a string of numbers as a first name
|
|
- `exterminate`: fixed documentation of ``this`` option
|
|
|
|
## Misc Improvements
|
|
- `blueprint`: added a basic Lua API
|
|
- `devel/export-dt-ini`: added tool offsets for DT 40
|
|
- `devel/save-version`: added current DF version to output
|
|
- `install-info`: added information on tweaks
|
|
|
|
## Internals
|
|
- Added ``Gui::inRenameBuilding()``
|
|
- Added function names to DFHack's NullPointer and InvalidArgument exceptions
|
|
- Linux: required plugins to have symbols resolved at link time, for consistency with other platforms
|
|
|
|
# 0.44.10-alpha1
|
|
|
|
## New Scripts
|
|
- `caravan`: adjusts properties of caravans
|
|
- `gui/autogems`: a configuration UI for the `autogems` plugin
|
|
|
|
## Fixes
|
|
- Fixed uninitialized pointer being returned from ``Gui::getAnyUnit()`` in rare cases
|
|
- `autohauler`, `autolabor`, `labormanager`: fixed fencepost error and potential crash
|
|
- `dwarfvet`: fixed infinite loop if an animal is not accepted at a hospital
|
|
- `liquids`: fixed "range" command to default to 1 for dimensions consistently
|
|
- `search`: fixed 4/6 keys in unit screen search
|
|
- `view-item-info`: fixed an error with some armor
|
|
|
|
## Misc Improvements
|
|
- `autogems`: can now blacklist arbitrary gem types (see `gui/autogems`)
|
|
- `exterminate`: added more words for current unit, removed warning
|
|
- `fpause`: now pauses worldgen as well
|
|
|
|
## Internals
|
|
- Added some build scripts for Sublime Text
|
|
- Changed submodule URLs to relative URLs so that they can be cloned consistently over different protocols (e.g. SSH)
|
|
|
|
================================================================================
|
|
# 0.44.09-r1
|
|
|
|
## Internals
|
|
- OS X: Can now build with GCC 7 (or older)
|
|
|
|
## Fixes
|
|
- `modtools/item-trigger`: fixed token format in help text
|
|
|
|
## Misc Improvements
|
|
- Reorganized changelogs and improved changelog editing process
|
|
- `modtools/item-trigger`: added support for multiple type/material/contaminant conditions
|
|
|
|
## Structures
|
|
-@ ``renderer``: fixed vtable addresses on 64-bit OS X
|
|
- ``building_type``: added human-readable ``name`` attribute
|
|
- ``furnace_type``: added human-readable ``name`` attribute
|
|
- ``workshop_type``: added human-readable ``name`` attribute
|
|
- ``army``: added vector new in 0.44.07
|
|
- ``site_reputation_report``: named ``reports`` vector
|
|
|
|
================================================================================
|
|
# 0.44.09-alpha1
|
|
|
|
## Fixes
|
|
- `digtype`: stopped designating non-vein tiles (open space, trees, etc.)
|
|
- `labormanager`: fixed crash due to dig jobs targeting some unrevealed map blocks
|
|
|
|
|
|
================================================================================
|
|
# 0.44.08-alpha1
|
|
|
|
## Fixes
|
|
- `fix/dead-units`: fixed a bug that could remove some arriving (not dead) units
|
|
|
|
|
|
================================================================================
|
|
# 0.44.07-beta1
|
|
|
|
## Structures
|
|
-@ Added symbols for Toady's `0.44.07 Linux test build <http://www.bay12forums.com/smf/index.php?topic=169839.msg7720111#msg7720111>`_ to fix :bug:`10615`
|
|
-@ ``world_site``: fixed alignment
|
|
|
|
## Misc improvements
|
|
- `modtools/item-trigger`: added the ability to specify inventory mode(s) to trigger on
|
|
|
|
|
|
================================================================================
|
|
# 0.44.07-alpha1
|
|
|
|
## Fixes
|
|
- Support for building on Ubuntu 18.04
|
|
- Fixed some CMake warnings (CMP0022)
|
|
- `embark-assistant`: fixed detection of reanimating biomes
|
|
|
|
## Misc Improvements
|
|
- `embark-assistant`:
|
|
|
|
- Added search for adamantine
|
|
- Now supports saving/loading profiles
|
|
|
|
- `fillneeds`: added ``-all`` option to apply to all units
|
|
- `remotefortressreader`: added flows, instruments, tool names, campfires, ocean waves, spiderwebs
|
|
|
|
## Structures
|
|
- Several new names in instrument raw structures
|
|
- ``identity``: identified ``profession``, ``civ``
|
|
- ``manager_order_template``: fixed last field type
|
|
- ``viewscreen_createquotast``: fixed layout
|
|
- ``world.language``: moved ``colors``, ``shapes``, ``patterns`` to ``world.descriptors``
|
|
- ``world.reactions``, ``world.reaction_categories``:\ moved to new compound, ``world.reactions``. Requires renaming:
|
|
|
|
- ``world.reactions`` to ``world.reactions.reactions``
|
|
- ``world.reaction_categories`` to ``world.reactions.reaction_categories``
|
|
|
|
|
|
================================================================================
|
|
# 0.44.05-r2
|
|
|
|
## Fixes
|
|
- `devel/export-dt-ini`: fix language_name offsets for DT 39.2+
|
|
- `devel/inject-raws`: fixed gloves and shoes (old typo causing errors)
|
|
- `remotefortressreader`: fixed an issue with not all engravings being included
|
|
- `view-item-info`: fixed an error with some shields
|
|
|
|
## Misc Improvements
|
|
- `adv-rumors`: added more keywords, including names
|
|
- `autochop`: can now exclude trees that produce fruit, food, or cookable items
|
|
- `remotefortressreader`: added plant type support
|
|
|
|
## New Plugins
|
|
- `embark-assistant`: adds more information and features to embark screen
|
|
|
|
## New Scripts
|
|
- `adv-fix-sleepers`: fixes units in adventure mode who refuse to wake up (:bug:`6798`)
|
|
- `hermit`: blocks caravans, migrants, diplomats (for hermit challenge)
|
|
|
|
## New Features
|
|
- With ``PRINT_MODE:TEXT``, setting the ``DFHACK_HEADLESS`` environment variable will hide DF's display and allow the console to be used normally. (Note that this is intended for testing and is not very useful for actual gameplay.)
|
|
|
|
|
|
================================================================================
|
|
# 0.44.05-r1
|
|
|
|
## New Scripts
|
|
- `break-dance`: Breaks up a stuck dance activity
|
|
- `fillneeds`: Use with a unit selected to make them focused and unstressed
|
|
- `firestarter`: Lights things on fire: items, locations, entire inventories even!
|
|
- `flashstep`: Teleports adventurer to cursor
|
|
- `ghostly`: Turns an adventurer into a ghost or back
|
|
- `questport`: Sends your adventurer to the location of your quest log cursor
|
|
- `view-unit-reports`: opens the reports screen with combat reports for the selected unit
|
|
|
|
## Fixes
|
|
- `devel/inject-raws`: now recognizes spaces in reaction names
|
|
- `dig`: added support for designation priorities - fixes issues with designations from ``digv`` and related commands having extremely high priority
|
|
- `dwarfmonitor`:
|
|
- fixed display of creatures and poetic/music/dance forms on ``prefs`` screen
|
|
- added "view unit" option
|
|
- now exposes the selected unit to other tools
|
|
|
|
- `names`: fixed many errors
|
|
- `quicksave`: fixed an issue where the "Saving..." indicator often wouldn't appear
|
|
|
|
## Misc Improvements
|
|
- `gui/gm-unit`:
|
|
- added a profession editor
|
|
- misc. layout improvements
|
|
- `remotefortressreader`:
|
|
- support for moving adventurers
|
|
- support for vehicles, gem shapes, item volume, art images, item improvements
|
|
- `binpatch`: now reports errors for empty patch files
|
|
- `force`: now provides useful help
|
|
- `full-heal`:
|
|
- can now select corpses to resurrect
|
|
- now resets body part temperatures upon resurrection to prevent creatures from freezing/melting again
|
|
- now resets units' vanish countdown to reverse effects of `exterminate`
|
|
- `launch`: can now ride creatures
|
|
- `names`: can now edit names of units
|
|
|
|
## Removed
|
|
- `tweak`: ``kitchen-keys``: :bug:`614` fixed in DF 0.44.04
|
|
|
|
## Internals
|
|
- ``Gui::getAnyUnit()`` supports many more screens/menus
|
|
|
|
## Structures
|
|
- New globals: ``soul_next_id``
|
|
|
|
================================================================================
|
|
# 0.44.05-alpha1
|
|
|
|
## Misc Improvements
|
|
- `gui/liquids`: added more keybindings: 0-7 to change liquid level, P/B to cycle backwards
|
|
|
|
## Structures
|
|
-@ ``incident``: re-aligned again to match disassembly
|
|
|
|
|
|
================================================================================
|
|
# 0.44.04-alpha1
|
|
|
|
## Fixes
|
|
- `devel/inject-raws`: now recognizes spaces in reaction names
|
|
- `exportlegends`: fixed an error that could occur when exporting empty lists
|
|
|
|
|
|
## Structures
|
|
- ``artifact_record``: fixed layout (changed in 0.44.04)
|
|
- ``incident``: fixed layout (changed in 0.44.01) - note that many fields have moved
|
|
|
|
|
|
================================================================================
|
|
# 0.44.03-beta1
|
|
|
|
## Fixes
|
|
- `autolabor`, `autohauler`, `labormanager`: added support for "put item on display" jobs and building/destroying display furniture
|
|
- `gui/gm-editor`: fixed an error when editing primitives in Lua tables
|
|
|
|
## Misc Improvements
|
|
- @ `devel/dump-offsets`: now ignores ``index`` globals
|
|
- `gui/pathable`: added tile types to sidebar
|
|
- `modtools/skill-change`:
|
|
- now updates skill levels appropriately
|
|
- only prints output if ``-loud`` is passed
|
|
|
|
## Structures
|
|
- New globals:
|
|
- ``version``
|
|
- ``min_load_version``
|
|
- ``movie_version``
|
|
- ``basic_seed``
|
|
- ``title``
|
|
- ``title_spaced``
|
|
- ``ui_building_resize_radius``
|
|
- Added ``twbt_render_map`` code offset on x64
|
|
- Fixed an issue preventing ``enabler`` from being allocated by DFHack
|
|
- Added ``job_type.PutItemOnDisplay``
|
|
- Found ``renderer`` vtable on osx64
|
|
- ``adventure_movement_optionst``, ``adventure_movement_hold_tilest``, ``adventure_movement_climbst``: named coordinate fields
|
|
- ``mission``: added type
|
|
- ``unit``: added 3 new vmethods: ``getCreatureTile``, ``getCorpseTile``, ``getGlowTile``
|
|
- ``viewscreen_assign_display_itemst``: fixed layout on x64 and identified many fields
|
|
- ``viewscreen_reportlistst``: fixed layout, added ``mission_id`` vector
|
|
- ``world.status``: named ``missions`` vector
|
|
|
|
|
|
================================================================================
|
|
# 0.44.03-alpha1
|
|
|
|
## Lua
|
|
- Improved ``json`` I/O error messages
|
|
- Stopped a crash when trying to create instances of classes whose vtable addresses are not available
|
|
|
|
|
|
================================================================================
|
|
# 0.44.02-beta1
|
|
|
|
## New Scripts
|
|
- `devel/check-other-ids`: Checks the validity of "other" vectors in the ``world`` global
|
|
- `gui/cp437-table`: An in-game CP437 table
|
|
|
|
## Fixes
|
|
- Fixed issues with the console output color affecting the prompt on Windows
|
|
- `createitem`: stopped items from teleporting away in some forts
|
|
- `gui/gm-unit`: can now edit mining skill
|
|
- `gui/quickcmd`: stopped error from adding too many commands
|
|
- `modtools/create-unit`: fixed error when domesticating units
|
|
|
|
## Misc Improvements
|
|
- The console now provides suggestions for built-in commands
|
|
- `devel/export-dt-ini`: avoid hardcoding flags
|
|
- `exportlegends`:
|
|
- reordered some tags to match DF's order
|
|
- added progress indicators for exporting long lists
|
|
- `gui/gm-editor`: added enum names to enum edit dialogs
|
|
- `gui/gm-unit`: made skill search case-insensitive
|
|
- `gui/rename`: added "clear" and "special characters" options
|
|
- `remotefortressreader`:
|
|
- includes item stack sizes
|
|
- some performance improvements
|
|
|
|
## Removed
|
|
- `warn-stuck-trees`: :bug:`9252` fixed in DF 0.44.01
|
|
|
|
## Lua
|
|
- Exposed ``get_vector()`` (from C++) for all types that support ``find()``, e.g. ``df.unit.get_vector() == df.global.world.units.all``
|
|
|
|
## Structures
|
|
- Located ``start_dwarf_count`` offset for all builds except 64-bit Linux; `startdwarf` should work now
|
|
- Added ``buildings_other_id.DISPLAY_CASE``
|
|
- Fixed ``viewscreen_titlest.start_savegames`` alignment
|
|
- Fixed ``unit`` alignment
|
|
- Identified ``historical_entity.unknown1b.deities`` (deity IDs)
|
|
|
|
|
|
================================================================================
|
|
# 0.44.02-alpha1
|
|
|
|
## New Scripts
|
|
- `devel/dump-offsets`: prints an XML version of the global table included in in DF
|
|
|
|
## Fixes
|
|
- Fixed a crash that could occur if a symbol table in symbols.xml had no content
|
|
|
|
## Lua
|
|
- Added a new ``dfhack.console`` API
|
|
- API can now wrap functions with 12 or 13 parameters
|
|
|
|
## Structures
|
|
- The ``ui_menu_width`` global is now a 2-byte array; the second item is the former ``ui_area_map_width`` global, which is now removed
|
|
- The former ``announcements`` global is now a field in ``d_init``
|
|
- ``world`` fields formerly beginning with ``job_`` are now fields of ``world.jobs``, e.g. ``world.job_list`` is now ``world.jobs.list``
|
|
|