2018-04-02 20:30:54 -06:00
=== Scroll down for changes
2018-04-02 20:22:20 -06:00
===[[[
===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.
2018-04-05 09:21:45 -06:00
- ``!`` immediately before a phrase set up to be replaced (see gen_changelog.py) stops that occurrence from being replaced.
2018-04-02 20:22:20 -06:00
===end
]]]
2018-04-02 20:30:54 -06:00
================================================================================
======== IMPORTANT: rename this, and add a new "future" section, BEFORE ========
======== making a new DFHack release! ========
2018-04-02 11:43:32 -06:00
================================================================================
# Future
2018-04-03 09:31:14 -06:00
2018-07-19 12:48:28 -06:00
## Fixes
2018-07-20 21:16:50 -06:00
- `building-hacks`: fixed error when dealing with custom animation tables
2018-08-02 12:36:15 -06:00
- `devel/test-perlin`: fixed Lua error (``math.pow()``)
2018-07-19 12:48:28 -06:00
- `embark-assistant`: fixed crash when entering finder with a 16x16 embark selected, and added 16 to dimension choices
2018-08-03 22:58:27 -06:00
- `labormanager`:
- stopped assigning labors to ineligible dwarves, pets, etc.
- stopped assigning invalid labors
- added support for crafting jobs that use pearl
2018-07-20 22:27:11 -06:00
- `prospector`: (also affected `embark-tools`) - fixed a crash when prospecting an unusable site (ocean, mountains, etc.) with a large default embark size in d_init.txt (e.g. 16x16)
2018-08-02 12:36:15 -06:00
- `siege-engine`: fixed a few Lua errors (``math.pow()``, ``unit.relationship_ids``)
2018-07-19 12:48:28 -06:00
2018-07-20 21:29:24 -06:00
## Misc Improvements
- `devel/export-dt-ini`: added viewscreen offsets for DT 40.1.2
2018-08-03 22:58:27 -06:00
- `labormanager`: now takes nature value into account when assigning jobs
2018-12-25 23:22:25 -07:00
- `RemoteFortressReader`:
- added basic framework for controlling and reading the menus in DF, currently only supports the building menu.
- added support for reading item raws.
2018-07-20 21:29:24 -06:00
2018-07-14 19:09:36 -06:00
## Internals
2018-07-20 21:29:24 -06:00
- Linux/macOS: changed recommended build backend from Make to Ninja (Make builds will be significantly slower now)
- Added a usable unit test framework for basic tests, and a few basic tests
2018-07-14 19:09:36 -06:00
- Core: various thread safety and memory management improvements
2018-07-16 22:58:49 -06:00
- Fixed cmake build dependencies for generated header files
2018-07-20 21:29:24 -06:00
- Fixed custom ``CMAKE_CXX_FLAGS`` not being passed to plugins
- Changed ``plugins/CMakeLists.custom.txt`` to be ignored by git and created (if needed) at build time instead
2018-07-14 19:09:36 -06:00
2018-07-19 10:40:25 -06:00
## Lua
- ``utils``: new ``OrderedTable`` class
2018-11-24 15:09:24 -07:00
## Structures
- ``musical_form``: named voices field
- ``musical_form_instruments``: named minimum_required and maximum_permitted
- ``dance_form``: named musical_form_id and musical_written_content_id
- ``written_content``: named poetic_form
- ``activity_event_performancest``: renamed poem as written_content_id
- ``incident_sub6_performance``: made performance_event an enum
- ``incident_sub6_performance.participants``: named performance_event and role_index
- ``incident_sub6_performance``: named poetic_form_id, musical_form_id, and dance_form_id
2018-12-25 23:22:25 -07:00
- ``treeInfo``: added correct flags for branch direction
2018-11-24 15:09:24 -07:00
2018-07-13 19:16:35 -06:00
================================================================================
# 0.44.12-r1
2018-07-09 07:20:38 -06:00
## Fixes
2018-07-09 08:46:19 -06:00
-@ Console: fixed crash when entering long commands on Linux/macOS
2018-07-10 09:38:36 -06:00
-@ Removed jsoncpp's ``include`` and ``lib`` folders from DFHack builds/packages
2018-07-09 09:00:28 -06:00
- Fixed special characters in `command-prompt` and other non-console in-game outputs on Linux/macOS (in tools using ``df2console``)
2018-07-13 09:02:36 -06:00
- `die`: fixed Windows crash in exit handling
2018-07-09 13:59:12 -06:00
- `dwarfmonitor`, `manipulator`: fixed stress cutoffs
2018-07-13 09:02:36 -06:00
- `modtools/force`: fixed a bug where the help text would always be displayed and nothing useful would happen
2018-07-12 12:46:23 -06:00
- `ruby`: fixed calling conventions for vmethods that return strings (currently ``enabler.GetKeyDisplay()``)
2018-07-09 08:46:19 -06:00
- `startdwarf`: fixed on 64-bit Linux
2018-07-10 11:04:42 -06:00
## Misc Improvements
2018-07-11 09:51:24 -06:00
- Reduced time for designation jobs from tools like `digv` to be assigned workers
2018-07-13 09:20:16 -06:00
- `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.
2018-07-12 12:44:29 -06:00
- `rejuvenate`:
- Added ``-all`` argument to apply to all citizens
- Added ``-force`` to include units under 20 years old
- Clarified documentation
2018-07-10 11:04:42 -06:00
2018-07-09 13:59:12 -06:00
## API
- Added to ``Units`` module:
- ``getStressCategory(unit)``
- ``getStressCategoryRaw(level)``
- ``stress_cutoffs`` (Lua: ``getStressCutoffs()``)
2018-07-10 09:38:36 -06:00
## Internals
2018-07-13 09:04:33 -06:00
- Changed default build architecture to 64-bit
2018-07-10 09:38:36 -06:00
- Added documentation for all RPC functions and a build-time check
2018-07-11 09:47:55 -06:00
- Added support for build IDs to development builds
2018-07-10 10:24:13 -06:00
- Use ``dlsym(3)`` to find vtables from libgraphics.so
2018-07-10 09:38:36 -06:00
2018-07-09 08:46:19 -06:00
## Structures
- Added ``start_dwarf_count`` on 64-bit Linux again and fixed scanning script
2018-07-10 09:24:26 -06:00
- ``army_controller``: added new vector from 0.44.11
2018-07-09 08:46:19 -06:00
-@ ``viewscreen_civlistst``: split ``unk_20`` into 3 pointers
2018-07-13 19:16:35 -06:00
- ``belief_system``: new type, few fields identified
- ``mental_picture``: new type, some fields identified
- ``mission``: new type (used in ``viewscreen_civlistst``)
- ``mission_report``:
- new type (renamed, was ``mission`` before)
- identified some fields
- ``spoils_report``: new type, most fields identified
- ``viewscreen_civlistst``:
- identified new pages
- identified new messenger-related fields
- ``viewscreen_image_creatorst``:
- fixed layout
- identified many fields
- ``viewscreen_reportlistst``:
- added new mission and spoils report-related fields (fixed layout)
- ``world``:
- ``belief_systems``: identified
- ``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
2018-07-09 07:20:38 -06:00
2018-07-08 12:26:57 -06:00
================================================================================
# 0.44.12-alpha1
2018-07-07 22:19:58 -06:00
## Fixes
2018-07-08 12:26:57 -06:00
-@ macOS: fixed ``renderer`` vtable address on x64 (fixes `rendermax`)
2018-07-07 22:19:58 -06:00
- `stonesense`: fixed ``PLANT:DESERT_LIME:LEAF`` typo
2018-07-07 21:51:39 -06:00
## API
- Added C++-style linked list interface for DF linked lists
2018-07-08 12:26:57 -06:00
## Structures
- Dropped 0.44.11 support
- ``ui.squads``: Added fields new in 0.44.12
2018-07-07 19:42:01 -06:00
================================================================================
# 0.44.11-beta2.1
## Internals
-@ `stonesense`: fixed build
2018-07-07 17:45:21 -06:00
================================================================================
# 0.44.11-beta2
2018-07-07 16:08:53 -06:00
## Fixes
2018-07-07 19:42:01 -06:00
-@ Windows: Fixed console failing to initialize
2018-07-07 16:08:53 -06:00
- `command-prompt`: added support for commands that require a specific screen to be visible, e.g. `spotclean`
2018-07-04 10:07:12 -06:00
- `gui/workflow`: fixed advanced constraint menu for crafts
2018-07-07 16:08:53 -06:00
## API
- Added ``Screen::Hide`` to temporarily hide screens, like `command-prompt`
2018-07-06 15:53:22 -06:00
================================================================================
# 0.44.11-beta1
2018-06-29 07:13:56 -06:00
## Fixes
2018-07-06 09:03:28 -06:00
- Fixed displayed names (from ``Units::getVisibleName``) for units with identities
2018-07-06 15:53:22 -06:00
- Fixed potential memory leak in ``Screen::show()``
2018-06-29 07:26:16 -06:00
- `fix/dead-units`: fixed script trying to use missing isDiplomat function
2018-07-02 22:18:23 -06:00
## 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`)
- Made the ``DFHACK_PORT`` environment variable take priority over ``remote-server.json``
2018-07-06 09:07:46 -06:00
- Linux: added automatic support for GCC sanitizers in ``dfhack`` script
2018-07-06 15:53:22 -06:00
- `digfort`: added better map bounds checking
2018-07-02 22:18:23 -06:00
- `dfhack-run`: added support for port specified in ``remote-server.json``, to match DFHack's behavior
- `remove-stress`:
- added support for ``-all`` as an alternative to the existing ``all`` argument for consistency
- sped up significantly
- improved output/error messages
2018-07-06 15:53:22 -06:00
- now removes tantrums, depression, and obliviousness
2018-07-02 22:23:59 -06:00
- `ruby`: sped up handling of onupdate events
2018-07-02 22:18:23 -06:00
2018-06-29 07:26:16 -06:00
## API
- New functions:
- ``Units::isDiplomat(unit)``
2018-07-02 22:32:15 -06:00
- Exposed ``Screen::zoom()`` to C++ (was Lua-only)
2018-06-29 07:13:56 -06:00
2018-07-02 22:28:29 -06:00
## Lua
2018-07-06 15:53:22 -06:00
- Added ``printall_recurse`` to print tables and DF references recursively. It can be also used with ``^`` from the `lua` interpreter.
2018-07-02 22:28:29 -06:00
- ``gui.widgets``: ``List:setChoices`` clones ``choices`` for internal table changes
2018-06-29 20:33:00 -06:00
## Internals
- jsoncpp: updated to version 1.8.4 and switched to using a git submodule
2018-07-02 22:18:23 -06:00
## Structures
2018-07-06 12:22:46 -06:00
- ``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)
- ``syndrome``: identified a few fields
2018-07-02 22:18:23 -06:00
- ``viewscreen_civlistst``: fixed layout and identified many fields
2018-07-06 15:53:22 -06:00
================================================================================
2018-06-28 11:31:56 -06:00
# 0.44.11-alpha1
## Structures
- Dropped 0.44.10 support
- Added support for automatically sizing arrays indexed with an enum
- 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``
- ``breath_attack_type``: added ``OTHER``
- ``historical_figure_info.relationships.list``: added ``unk_3a``-``unk_3c`` fields at end
- ``interface_key``: added bindings new in 0.44.11
- ``occupation_type``: new in 0.44.11: ``MESSENGER``
- ``profession``: new in 0.44.11: ``MESSENGER``
- ``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
2018-07-02 22:23:59 -06:00
-@ ``viewscreen_civlistst``: added a few new fields (incomplete)
2018-06-28 11:31:56 -06:00
- ``viewscreen_locationsst``: identified ``edit_input``
2018-07-06 15:53:22 -06:00
================================================================================
2018-06-21 20:33:21 -06:00
# 0.44.10-r2
2018-06-20 09:17:05 -06:00
## New Plugins
- `cxxrandom`: exposes some features of the C++11 random number library to Lua
2018-06-21 20:33:21 -06:00
## New Scripts
- `gui/stamper`: allows manipulation of designations by transforms such as translations, reflections, rotations, and inversion
- `add-recipe`: adds unknown crafting recipes to the player's civ
2018-05-29 21:24:02 -06:00
## Fixes
2018-06-14 08:38:01 -06:00
- Fixed many tools incorrectly using the ``dead`` unit flag (they should generally check ``flags2.killed`` instead)
2018-06-20 09:29:21 -06:00
- Fixed many tools passing incorrect arguments to printf-style functions, including a few possible crashes (`changelayer`, `follow`, `forceequip`, `generated-creature-renamer`)
2018-05-31 22:23:04 -06:00
- Fixed ``-g`` flag (GDB) in Linux ``dfhack`` script (particularly on x64)
2018-06-21 20:33:21 -06:00
- Fixed several bugs in Lua scripts found by static analysis (df-luacheck)
2018-05-29 21:24:02 -06:00
- `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
2018-06-21 14:16:16 -06:00
- `autogems`, `fix-unit-occupancy`: stopped running when a fort isn't loaded (e.g. while embarking)
2018-06-21 20:33:21 -06:00
- `buildingplan`, `fortplan`: stopped running before a world has fully loaded
2018-06-12 10:16:01 -06:00
- `autogems`:
- stop running repeatedly when paused
- fixed crash when furnaces are linked to same stockpiles as jeweler's workshops
2018-05-29 21:29:16 -06:00
- `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``)
2018-06-12 10:16:01 -06:00
- `revflood`: stopped revealing tiles adjacent to tiles above open space inappropriately
2018-06-21 20:33:21 -06:00
- `dig`: fixed "Inappropriate dig square" announcements if digging job has been posted
- `stockpiles`: ``loadstock`` now sets usable and unusable weapon and armor settings
- `stocks`: stopped listing carried items under stockpiles where they were picked up from
- `deramp`: fixed deramp to find designations that already have jobs posted
- `fixnaked`: fixed errors due to emotion changes in 0.44
- `autounsuspend`: now skips planned buildings
2018-05-29 21:24:02 -06:00
2018-05-29 20:18:57 -06:00
## Misc Improvements
2018-05-31 22:23:04 -06:00
- Added script name to messages produced by ``qerror()`` in Lua scripts
2018-05-29 21:29:16 -06:00
- Fixed an issue in around 30 scripts that could prevent edits to the files (adding valid arguments) from taking effect
2018-06-13 14:15:57 -06:00
- Linux: Added several new options to ``dfhack`` script: ``--remotegdb``, ``--gdbserver``, ``--strace``
2018-06-21 20:33:21 -06:00
- `bodyswap`: improved error handling
2018-06-08 20:27:48 -06:00
- `buildingplan`: added max quality setting
2018-05-31 10:38:35 -06:00
- `caravan`: documented (new in 0.44.10-alpha1)
2018-06-21 20:33:21 -06:00
- `deathcause`: added "slaughtered" to descriptions
2018-05-29 21:29:16 -06:00
- `fix/retrieve-units`: now re-adds units to active list to counteract `fix/dead-units`
2018-06-21 20:33:21 -06:00
- `item-descriptions`: fixed several grammatical errors
- `modtools/create-unit`:
- added quantity argument
- now selects a caste at random if none is specified
2018-05-29 20:18:57 -06:00
- `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
2018-06-12 14:38:53 -06:00
- `title-version`: added version to options screen too
2018-06-21 20:33:21 -06:00
- `embark-assistant`:
- changed region interaction matching to search for evil rain, syndrome rain, and reanimation rather than interaction presence (misleadingly called evil weather), reanimation, and thralling
- gave syndrome rain and reanimation wider ranges of criterion values
- `fix/dead-units`: added a delay of around 1 month before removing units
2018-05-29 20:18:57 -06:00
2018-05-31 22:23:04 -06:00
## API
2018-06-14 08:38:01 -06:00
- New functions (also exposed to Lua):
- ``Units::isKilled()``
- ``Units::isActive()``
- ``Units::isGhost()``
2018-05-31 22:23:04 -06:00
- Removed Vermin module (unused and obsolete)
2018-06-06 09:29:37 -06:00
## Lua
- Added ``profiler`` module to measure lua performance
2018-06-08 20:06:20 -06:00
- Enabled shift+cursor movement in WorkshopOverlay-derived screens
2018-06-06 09:29:37 -06:00
2018-06-21 09:17:09 -06:00
## Structures
- ``unit_flags1``: renamed ``dead`` to ``inactive`` to better reflect its use
2018-06-21 20:33:21 -06:00
- ``item_body_component``: fixed location of ``corpse_flags``
- ``job_type``: added ``is_designation`` attribute
- ``unit_thought_type``: added ``SawDeadBody`` (new in 0.44.10)
- ``unit_personality``: fixed location of ``current_focus`` and ``undistracted_focus``
- ``incident_sub6_performance``: identified some fields
- ``job_handler``: fixed static array layout
2018-06-21 09:17:09 -06:00
2018-06-13 14:04:47 -06:00
## Internals
- Added fallback for YouCompleteMe database lookup failures (e.g. for newly-created files)
2018-06-14 12:14:41 -06:00
- jsoncpp: fixed constructor with ``long`` on Linux
2018-06-20 09:29:21 -06:00
- Improved efficiency and error handling in ``stl_vsprintf`` and related functions
2018-06-21 20:33:21 -06:00
- Added build option to generate symbols for large generated files containing df-structures metadata
2018-06-13 14:04:47 -06:00
2018-07-06 15:53:22 -06:00
================================================================================
2018-05-18 12:29:45 -06:00
# 0.44.10-r1
## New Scripts
- `bodyswap`: shifts player control over to another unit in adventure mode
2018-05-14 20:54:20 -06:00
## New Tweaks
- `tweak` stone-status-all: adds an option to toggle the economic status of all stones
2018-05-17 17:47:56 -06:00
- `tweak` kitchen-prefs-all: adds an option to toggle cook/brew for all visible items in kitchen preferences
2018-05-14 20:54:20 -06:00
2018-05-16 14:51:45 -06:00
## Fixes
2018-05-17 22:50:23 -06:00
- Lua: registered ``dfhack.constructions.designateRemove()`` correctly
2018-05-17 17:56:48 -06:00
- `prospector`: fixed crash due to invalid vein materials
2018-05-17 22:50:23 -06:00
- `tweak` max-wheelbarrow: fixed conflict with building renaming
2018-05-18 12:29:45 -06:00
- `view-item-info`: stopped appending extra newlines permanently to descriptions
2018-05-16 14:51:45 -06:00
2018-05-12 15:00:21 -06:00
## Misc Improvements
2018-05-18 12:29:45 -06:00
- Added logo to documentation
- Documented several missing ``dfhack.gui`` Lua functions
2018-05-16 17:45:47 -06:00
- `adv-rumors`: bound to Ctrl-A
2018-05-18 12:29:45 -06:00
- `command-prompt`: added support for ``Gui::getSelectedPlant()``
2018-05-16 17:45:47 -06:00
- `gui/advfort`: bound to Ctrl-T
2018-05-12 15:00:21 -06:00
- `gui/room-list`: added support for ``Gui::getSelectedBuilding()``
2018-05-16 17:45:47 -06:00
- `gui/unit-info-viewer`: bound to Alt-I
2018-05-18 12:29:45 -06:00
- `modtools/create-unit`: made functions available to other scripts
2018-05-16 22:11:52 -06:00
- `search`:
- added support for stone restrictions screen (under ``z``: Status)
- added support for kitchen preferences (also under ``z``)
2018-05-12 15:00:21 -06:00
2018-05-18 12:29:45 -06:00
## Internals
- Fixed compiler warnings on all supported build configurations
- Windows build scripts now work with non-C system drives
2018-05-12 09:51:36 -06:00
## API
- New functions (all available to Lua as well):
2018-05-12 15:00:21 -06:00
- ``Buildings::getRoomDescription()``
2018-05-12 09:51:36 -06:00
- ``Items::checkMandates()``
- ``Items::canTrade()``
- ``Items::canTradeWithContents()``
2018-05-12 12:49:30 -06:00
- ``Items::isRouteVehicle()``
- ``Items::isSquadEquipment()``
2018-05-17 17:34:03 -06:00
- ``Kitchen::addExclusion()``
- ``Kitchen::findExclusion()``
- ``Kitchen::removeExclusion()``
2018-05-18 12:29:45 -06:00
- syndrome-util: added ``eraseSyndromeData()``
## Structures
- ``dfhack_room_quality_level``: new enum
- ``glowing_barrier``: identified ``triggered``, added comments
2018-05-18 12:35:28 -06:00
- ``item_flags2``: renamed ``has_written_content`` to ``unk_book``
2018-05-18 12:29:45 -06:00
- ``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``
2018-05-18 12:35:28 -06:00
- ``world_data.feature_map``: added extensive documentation (in XML)
2018-05-12 09:51:36 -06:00
2018-07-06 15:53:22 -06:00
================================================================================
2018-05-11 22:07:45 -06:00
# 0.44.10-beta1
2018-05-09 08:37:03 -06:00
## New Scripts
2018-05-11 22:07:45 -06:00
- `devel/find-primitive`: finds a primitive variable in memory
2018-05-09 08:37:03 -06:00
## Fixes
2018-05-11 22:07:45 -06:00
- Units::getAnyUnit(): fixed a couple problematic conditions and potential segfaults if global addresses are missing
2018-05-09 08:37:03 -06:00
- `stockpiles`: stopped sidebar option from overlapping with `autodump`
-@ `autodump`, `automelt`, `autotrade`, `stocks`, `stockpiles`: fixed conflict with building renaming
2018-05-11 22:07:45 -06:00
- `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
2018-05-18 12:29:45 -06:00
- `devel/save-version`: added current DF version to output
2018-05-11 22:07:45 -06:00
- `install-info`: added information on tweaks
2018-05-09 08:37:03 -06:00
## Internals
- Added ``Gui::inRenameBuilding()``
2018-05-11 22:07:45 -06:00
- 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
2018-07-06 15:53:22 -06:00
================================================================================
2018-05-06 22:25:21 -06:00
# 0.44.10-alpha1
2018-05-05 13:39:16 -06:00
## New Scripts
2018-05-31 10:38:35 -06:00
- `caravan`: adjusts properties of caravans
2018-05-05 13:39:16 -06:00
- `gui/autogems`: a configuration UI for the `autogems` plugin
2018-04-05 00:16:40 -06:00
## Fixes
2018-06-20 09:50:26 -06:00
- 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
2018-04-05 00:16:40 -06:00
- `liquids`: fixed "range" command to default to 1 for dimensions consistently
2018-04-05 09:21:45 -06:00
- `search`: fixed 4/6 keys in unit screen search
2018-04-07 08:47:25 -06:00
- `view-item-info`: fixed an error with some armor
2018-04-05 00:16:40 -06:00
2018-04-19 10:13:33 -06:00
## Misc Improvements
2018-05-05 13:39:16 -06:00
- `autogems`: can now blacklist arbitrary gem types (see `gui/autogems`)
2018-04-19 10:13:33 -06:00
- `exterminate`: added more words for current unit, removed warning
2018-05-05 14:36:16 -06:00
- `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)
2018-04-19 10:13:33 -06:00
2018-04-04 18:07:41 -06:00
================================================================================
# 0.44.09-r1
## Internals
- OS X: Can now build with GCC 7 (or older)
2018-04-03 09:31:14 -06:00
## Fixes
- `modtools/item-trigger`: fixed token format in help text
2018-04-02 20:30:54 -06:00
## Misc Improvements
- Reorganized changelogs and improved changelog editing process
2018-04-03 09:31:14 -06:00
- `modtools/item-trigger`: added support for multiple type/material/contaminant conditions
2018-04-02 11:43:32 -06:00
2018-04-03 09:36:06 -06:00
## Structures
-@ ``renderer``: fixed vtable addresses on 64-bit OS X
2018-04-03 14:44:30 -06:00
- ``building_type``: added human-readable ``name`` attribute
- ``furnace_type``: added human-readable ``name`` attribute
- ``workshop_type``: added human-readable ``name`` attribute
2018-04-04 09:36:24 -06:00
- ``army``: added vector new in 0.44.07
- ``site_reputation_report``: named ``reports`` vector
2018-04-02 11:43:32 -06:00
================================================================================
# 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
2018-04-02 19:36:41 -06:00
- Support for building on Ubuntu 18.04
- Fixed some CMake warnings (CMP0022)
2018-04-02 11:43:32 -06:00
- `embark-assistant`: fixed detection of reanimating biomes
2018-04-02 19:36:41 -06:00
## 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
2018-04-02 11:43:32 -06:00
## 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``
2018-04-02 19:36:41 -06:00
- ``world.reactions``, ``world.reaction_categories``:\ moved to new compound, ``world.reactions``. Requires renaming:
2018-04-02 11:43:32 -06:00
- ``world.reactions`` to ``world.reactions.reactions``
- ``world.reaction_categories`` to ``world.reactions.reaction_categories``
2018-04-02 19:36:41 -06:00
================================================================================
# 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``