* move professions out of the examples folder
* install professions into professions/library
* guard unguarded header from multiple inclusion
* load and display library professions
* update changelog
* move example professions docs from examples guide
* update dreamfort documentation
* note that professions folder has changed
* Fix bad merge
* move orders out of examples directory
* install orders into library dir
* read orders from new library dir
* update documentation
* update dreamfort references to orders import
* update changelog
* ignore json files in pre-commit
* Update eventful.lua
Had wrong function. Fixes https://github.com/DFHack/dfhack/issues/2202
* Update Lua API.rst
Update docs to add onReactionCompleting and remove outdated info
* Update Lua API.rst
Some more minor doc fixes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add changelog entry
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* basic pause functionality for confirm
* update changelog
* wrap the pause message and output in white
* unpause on viewscreen transition when we can
but still use esc detection when we won't get a viewscreen transition
(like when we're intercepting input on viewscreen_dwarfmodest
* add more code docs about unpause detection
* test jsoncpp upgrade
* use new json library target name
* don't remap the output dirs
* undo warnings at the source
* set new defaults for jsoncpp
* fix typo in new options
* fix signed comparison mismatch warning
* address random(?) compile failures
saying our std::atomic is not initialized in Debug.cpp
* Adds cxxrandom unit test and fixes interface problems
* Tightens braces
* Adds detection code for Shuffle's seqID/engID
* Adds usage examples for cxxrandom
* Gives cxxrandom objects id ranges, sort of
* Updates changelog
* Updates changelog.txt
* Increases id space for cxxrandom
* Fixes bool distribution error message and improves check
* Adds comment explaining the seeded RNG tests for cxxrandom
* Fixes type problem for 32bit builds
* Reduces loop count a few magnitudes
* Fixes a mistake in test.cxxrandom_seed
* Adds a plugins sub-directory
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Auto-adds plugins/external sub-directories
* Moves plugins/external globbing as to generate plugins/external/cmake
* Removes plugins/external/.gitignore since the directory is generated
* Fixes cmake error
* Moves gitignore for plugins/external to ensure existence for fresh clone
* Adds missing EOF newline
* Adds requested changes
When active, the displayed names of partially-consumed items (e.g.
hospital cloth) will display a percentage indicator at the end.
Also re-sort a few Tweaks so they're in alphabetical order again.
This is more convenient for some devs than the old CMakeLists.custom.txt
solution because it allows the plugins themselves (files or folders) to be
ignored, rather than needing to remember to leave them unstaged.
* route 'Loading script...' messages through the debug logging framework
* they are now controllable via debugfilter. to turn off, add this to your dfhack.init file: debugfilter set Warning core script
* clarify debug logging docs
* prevent DEBUG messages from being compiled out of the binary
* recolor INFO messages so they blend into existing console output
* add configuration interface for log message header elements so they are individually configurable. all default to off
* code cleanup on autofarm.cpp
* more code cleanup on aufofarm.cpp
* yet more cleanup of autofarm.cpp
mostly whitespace, some `*` and `&` adjustments
* downgrade autofarm to c++11
apparently the gcc we use doesn't support c++14 generic lambdas
* death to whitespace
apparently visual studio's default whitespace murderer doesn't touch `#define`s. who knew?
* Update autofarm.cpp
const is good
even when the item label is truncated for length
this change also fixes items that were being incorrecty grouped due to
having differences only in the truncated part of their labels
so no one else is tempted to use it as a library. starting buildingplan
from two separate plugins just runs two completely separate engines with
separate state, one of which is completely inaccessible from the UI.
fixes special case where a channel tile is specified over a regular dig
tile. this allows dig-now to produce a flat floor in that case, which is
likely what is intended.
found this bug with blueprint-generated blueprints. if both a channel
and the resulting ramp are explicitly marked in the blueprint (like the
blueprint plugin does), the channel is processed first, pre-creating the
ramp in the tile designated for a ramp. Then, when the ramp designation
is processed, the ramp is already there, which is an invalid tile to
make a ramp on, so the designation is skipped (and therefore not
cleared). this change clears the designation for both the ramp tile and
the channel tile when either is processed. this opens another edge case
where the designation under a channel is a regular 'd' mine, which will
now get ignored and leave a ramp insead of a flat floor. but I'll
address that in the next commit.
--splitby=none is the new default, allowing all blueprint phases to be
written to a single file. old behavior of one phase per file is
supported via --splitby=phase.
&& has a higher precendence than ||, so this could have resulted in a crash in
some cases. It also produced unintentional behavior where e.g. `tailor 1 foo`
would enable the plugin, unlike `tailor enable foo`.
From #1920
Update autofarm to count PLANT_GROWTHS as well as PLANTS for threshold purposes. This addresses #1902.
Also addresses some pointer hygiene issues in autofarm.
we normally take care of any ramp tops above the channeled tile when we dig the ramp below the channeled
tile, but that logic might not run if we channel down into empty space
(or undiggable tiles)
also fix missing dug_tile indices when channels are dug
also fix second boulder/gem being generated with a potentially incorrect
probability when digging channels and ramps