- changes report* lookup in `NewReportEvent()`
- adds a nullptr check
- adds df::coord bound checking in various places
- where the `get_*neighbours()` functions are used
- `simulate_fall()`
- `is_safe_to_dig_down()` and `is_safe_fall()`
- adds nullptr checks to the `is_*job()` functions
- added todo comments for `is_safe_to_dig_down()`
- Revises a few log lines
- Adds d_assert macro to replace assert usage
- prints an error to indicate d_assert failed in Release builds as well as Debug builds
- could be added to the Debug utilities to allow use of assertions on necessary code without needing to buffer the results for use in the assert statement
- Fixes bug wherein designations are never put into marker mode (related to the assert statements)
- Updates rst documentation
- Adds feature: risk-averse
- Revises ChannelManager::manage_group
- Now performs analysis of group designations
- If any designation has fall space, designations are analyzed for accessibility (a weighted score of how many ways it can be accessed)
- If a designation has no fall space, but cannot be accessed it will be "dig_now"'ed
- accessibility scores are stored for the management phase
- Management loop has been extended
- iff no cave-in candidates exist, then perform simple management (as requested)
- if candidates do exist, then we must check if our current position is one
- if the current position is a cave-in candidate it must also be within range (+2) of the least access
- if the candidate is in range or on the dignow queue, then we activate the designation and modify the dig priority according to distance from least_access
- if not a candidate, or the other checks failed, then we set the designation to marker mode
- Updates rst documentation
- Adds troubleshooting section
- Renames the monitor feature to monitoring
- Adds cave-in helper functions
- ChannelJobs::has_cavein_conditions()
- ChannelJobs::possible_cavein()
- find_dwarf() ~ finds the nearest dwarf or the first one that has a path to a position
- Moves dignow/resurrect to inlines.h
- Improves management of regular dig designations
- Adds df::job* tracking back into ChannelJobs to simplify cancellations
- Updates/improves debug logging
- Switches unordered structures with ordered in some locations to have ordered debugging information
- Simplifies ChannelManager::manage_group()
- Fixes up ChannelManager::manage_one()
- the return value is now useful even if unused