Development Changelog¶
Contents
DFHack 0.44.05-alpha1¶
Structures¶
incident
: re-aligned again to match disassembly
Other Changes¶
- gui/liquids: added more keybindings: 0-7 to change liquid level, P/B to cycle backwards
DFHack 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
DFHack 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
Structures¶
- Added 7 new globals from DF:
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 fieldsmission
: added typeunit
: added 3 new vmethods:getCreatureTile
,getCorpseTile
,getGlowTile
viewscreen_assign_display_itemst
: fixed layout on x64 and identified many fieldsviewscreen_reportlistst
: fixed layout, addedmission_id
vectorworld.status
: namedmissions
vector
Other Changes¶
devel/dump-offsets: now ignores
index
globalsgui/pathable: added tile types to sidebar
-
- now updates skill levels appropriately
- only prints output if
-loud
is passed
DFHack 0.44.03-alpha1¶
Other Changes¶
- Lua: Improved
json
I/O error messages - Lua: Stopped a crash when trying to create instances of classes whose vtable addresses are not available
DFHack 0.44.02-beta1¶
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
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)
API Changes¶
- Lua; Exposed
get_vector()
(from C++) for all types that supportfind()
, e.g.df.unit.get_vector() == df.global.world.units.all
Additions/Removals¶
- Added devel/check-other-ids: Checks the validity of “other” vectors in the
world
global - Added gui/cp437-table: An in-game CP437 table
- Removed warn-stuck-trees: the corresponding DF bug was fixed in 0.44.01
Other Changes¶
The console now provides suggestions for built-in commands
devel/export-dt-ini: avoid hardcoding flags
-
- 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 and some performance improvements
DFHack 0.44.02-alpha1¶
Fixes¶
- Fixed a crash that could occur if a symbol table in symbols.xml had no content
- The Lua 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 formerui_area_map_width
global, which is now removed - The former
announcements
global is now a field ind_init
world
fields formerly beginning withjob_
are now fields ofworld.jobs
, e.g.world.job_list
is nowworld.jobs.list
API Changes¶
- Lua: Added a new
dfhack.console
API
DFHack 0.43.05-beta2¶
Fixes¶
- Fixed Buildings::updateBuildings(), along with building creation/deletion events
- Fixed
plug
output alignment for plugins with long names - Fixed a crash that happened when a
LUA_PATH
environment variable was set - add-thought: fixed number conversion
- gui/workflow: fixed range editing producing the wrong results for certain numbers
- modtools/create-unit: now uses non-English names
- modtools/item-trigger: fixed errors with plant growths
- remotefortressreader: fixed a crash when serializing the local map
- stockflow: fixed an issue with non-integer manager order limits
- title-folder: fixed compatibility issues with certain SDL libraries on macOS
Structures¶
- Added some missing renderer VTable addresses on macOS
entity.resources.organic
: identifiedparchment
entity_sell_category
: addedParchment
andCupsMugsGoblets
ui_advmode_menu
: addedBuild
ui_unit_view_mode
: addedPrefOccupation
unit_skill
: identifiednatural_skill_lvl
(wasunk_1c
)viewscreen_jobmanagementst
: identifiedmax_workshops
viewscreen_overallstatusst
: madevisible_pages
an enumviewscreen_pricest
: identified fieldsviewscreen_workquota_conditionst
: gave some fieldsunk
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()
anddfhack.getArchitectureName()
Additions/Removals:¶
- Added adv-rumors script: improves the “Bring up specific incident or rumor” menu in adventure mode
- Added install-info script for basic troubleshooting
- Added tweak condition-material: fixes a crash in the work order condition material list
- Added tweak hotkey-clear: adds an option to clear bindings from DF hotkeys
- autofarm: reverted local biome detection (from 0.43.05-alpha3)
Other Changes¶
- Added a DOWNLOAD_RUBY CMake option, to allow use of a system/external ruby library
- Added the ability to download files manually before building
- gui/extended-status: added a feature to queue beds
- remotefortressreader: added building items, DF version info
- Stonesense: Added support for 64-bit macOS and Linux
DFHack 0.43.05-beta1¶
Fixes¶
- Fixed various crashes on 64-bit Windows related to DFHack screens, notably manipulator
- Fixed addresses of next_id globals on 64-bit Linux (fixes an automaterial/box-select crash)
ls
now lists scripts in folders other thanhack/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 x64historical_entity
: fixed alignment on x64ui_sidebar_menus.command_line
: fixed field sizes on x64viewscreen_choose_start_sitest
: added 3 missing fields, renamedin_embark_only_warning
viewscreen_layer_arena_creaturest
: identified more fieldsworld.math
: identifiedworld.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¶
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¶
Additions/Removals¶
- Added fix/tile-occupancy: Clears bad occupancy flags on the selected tile. Useful for fixing blocked tiles introduced by the above buildingplan issue.
- Added a Lua
tile-material
module
Other Changes¶
- labormanager: Add support for shell crafts
- manipulator: Custom professions are now sorted alphabetically more reliably
DFHack 0.43.05-alpha3¶
Fixes¶
add-thought: fixed support for emotion names
autofarm: Made surface farms detect local biome
devel/export-dt-ini: fixed squad_schedule_entry size
-
- 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 newsince
attribute insteadactivity_event_conflictst.sides
: named many fieldsbuilding_def.build_key
: fixed size on 64-bit Linux and OS Xhistorical_kills
:unk_30
->killed_underground_region
unk_40
->killed_region
historical_kills.killed_undead
: removedskeletal
flagui_advmode
: aligned enough so that it doesn’t crash (64-bit OS X/Linux)ui_advmode.show_menu
: changed from bool to enumunit_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