Commit Graph

4964 Commits (363a3d484eac74b34c87b9db45ab0cc901876994)

Author SHA1 Message Date
Myk 9c58b22913
Merge pull request #2894 from myk002/myk_autochop
generate names for nameless burrows; check for nil
2023-02-13 13:13:34 -08:00
Myk fbabe5cdb0
Merge pull request #2898 from myk002/myk_showmood
[showmood] show more understandable units for bars and cloths
2023-02-13 13:13:24 -08:00
Myk Taylor 2b3dcee4b0
get strangemood compiling and running 2023-02-13 01:18:45 -08:00
Myk Taylor 68d314c9c0
show more understandable units for bars and cloths 2023-02-13 01:17:57 -08:00
Myk Taylor 766738e102
generate names for nameless burrows; check for nil 2023-02-12 15:21:10 -08:00
Myk 4bc6e1bec0
Merge branch 'develop' into myk_seedwatch 2023-02-12 14:48:40 -08:00
Batt Mush 5c457fc96f [issue-2888] autodump now conditionally removes an item's dump flag and
sets forbid flag IFF the item is successfully dumped. Otherwise, the
item's original flags are kept intact. This avoids impacting any tasks
associated with the item.
2023-02-12 15:49:40 -06:00
Myk Taylor 0c989634ab
properly store the id of seed targets in persisted state 2023-02-12 03:19:31 -08:00
Janeene Beeforth 4b5836b996 Fix for #2871
* Add check for unit->name.nickname field is not an empty string
* Refactor repeated checks for inappropriate and protected units
2023-02-12 16:43:33 +11:00
lethosor 1390e724b6
nestboxes: avoid forbidding non-eggs
The rewrite in #2773 introduced a bug (identified by KMFrench on Discord) where
nestboxes themselves would be forbidden, which prevents egglaying citizens from
using them since the nestboxes would be claimed before use. The previous version
of the plugin handled this by skipping the first item in `contained_items`,
which is the building material (in this case, the nestbox).

This fix limits the `forbid` flag manipulation to egg items only, which should
be a reasonable limitation that still allows the plugin to serve its purpose.
2023-02-10 22:52:01 -05:00
lethosor 588df3eec8
Update stonesense, changelog for dfhack/stonesense#97 2023-02-10 12:57:08 -05:00
Myk Taylor 13f96b9ac8
increase frequency of nestbox scanning 2023-02-10 08:20:11 -08:00
Myk 497d8e1ff7
Merge pull request #2854 from johncosker/fix-autoslab
autoslab: Improve check for existing engraved slab.
2023-02-09 07:59:48 -08:00
John Cosker f6ab1630b1 Cleanup 2023-02-09 08:30:09 -05:00
John Cosker 99aa4c523a Merge branch 'fix-autoslab' of https://github.com/johncosker/dfhack into fix-autoslab 2023-02-09 08:29:17 -05:00
John Cosker 6795a4a2c8 Further simplify check for engraved slabs 2023-02-09 08:28:33 -05:00
John Cosker d27041e206
Remove debug logging 2023-02-08 22:42:28 -05:00
John Cosker 27ff6c9649 Remove debug logging 2023-02-08 22:41:56 -05:00
John Cosker cf51054f86
Merge branch 'develop' into fix-autoslab 2023-02-08 22:39:46 -05:00
John Cosker fed3b4ddb4 Hopefully fix CI linux build 2023-02-08 22:25:35 -05:00
John Cosker 5e09a1cbf1 Change autoslab to use slab's "topic" field to compare historical id of slab instead of using str comp 2023-02-08 22:05:08 -05:00
Myk Taylor a41afb88fc
remove in-progress jobs when protecting fert eggs 2023-02-08 16:37:46 -08:00
Myk 90767b83d2
Merge pull request #2852 from myk002/myk_misery
update misery
2023-02-08 14:22:33 -08:00
Myk Taylor 8bd9853597
make gcc happy 2023-02-08 14:16:11 -08:00
Myk Taylor 4d4e94c449
convert index 2023-02-08 14:06:19 -08:00
Myk Taylor 5c84d18001
update tailor, persist state, use best practices 2023-02-08 14:06:19 -08:00
Myk Taylor 9f76d64e42
update misery; persist state 2023-02-08 14:02:44 -08:00
Eamon Bode 07fd4b25b1
Merge branch 'develop' into automelt-autochop-lua-stack-fix 2023-02-08 15:45:29 -05:00
Eamon Bode 1e4a73007e
Apply suggestions from code review
Whitespace fixes

Co-authored-by: Myk <myk.taylor@gmail.com>
2023-02-08 15:44:55 -05:00
Josh Cooper 5d8d378917 Implements plugin: channel-safely v1.2.3
- 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)
2023-02-08 12:03:40 -08:00
pre-commit-ci[bot] bf0b3f8845 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-08 19:06:35 +00:00
eamondo2 02a249fdee Fixes the lua stack smashing issue 2023-02-08 14:01:32 -05:00
eamondo2 be0cec9520 Current attempt to fix lua stack smashing 2023-02-08 01:59:57 -05:00
Roxy 0043e05895 enable autonestbox 2023-02-06 16:47:50 -05:00
Myk 190b5003c8
Merge branch 'develop' into myk_logo_hide 2023-02-06 09:17:48 -08:00
Myk 448598e391
Merge pull request #2823 from myk002/myk_hotkey_guards
implement some Gui module hotkey guards
2023-02-06 09:17:18 -08:00
Myk 149d7f7795
Merge branch 'develop' into myk_keybindings 2023-02-06 09:17:02 -08:00
Myk 0fc7341ce7
Merge pull request #2825 from myk002/myk_focus_strings
support focus paths for overlay widgets
2023-02-06 09:16:37 -08:00
Myk 408e14d441
Merge pull request #2826 from myk002/myk_cleanowned
[cleanowned] don't print out how many items there are in the world
2023-02-06 09:16:27 -08:00
Myk 6933306255
Merge pull request #2827 from myk002/myk_autobutcher
[autobutcher] tweak defaults, load initial races immediately
2023-02-06 09:16:15 -08:00
Myk 1e03582fee
Merge pull request #2828 from myk002/myk_best_practices
update auto plugin example, use new best practices
2023-02-06 09:16:05 -08:00
Myk Taylor c0cd37ff6f
protect against NULLs and invalid stockpiles 2023-02-06 09:04:50 -08:00
Myk Taylor 6dbf7b83bd
update auto plugin example, use new best practices 2023-02-06 04:02:18 -08:00
Myk Taylor e285ee31a4
tweak defaults, load initial races immediately 2023-02-06 03:28:19 -08:00
Myk Taylor 397a64c4b5
don't print out how many items there are in the world 2023-02-06 02:58:11 -08:00
Myk Taylor bf91ffb1fe
support focus paths for overlay widgets
and migrate existing widgets to use them
2023-02-06 02:37:32 -08:00
Myk Taylor 5747e9f3f0
set up some keybindings that are ready to go
and reinstate autodump-destroy-item
2023-02-06 01:23:52 -08:00
Myk Taylor 9e318842a4
implement some Gui module hotkey guards
and clean up focus string matching logic
2023-02-06 00:58:57 -08:00
Myk d6c4d4417e
Add dig to the build
Ref: #2743
2023-02-05 21:11:07 -08:00
Myk Taylor 09e7c14210
hide DFHack logo when it's in the way 2023-02-05 18:27:31 -08:00
Robob27 52fed5d9ad Update options command 2023-02-05 19:04:21 -05:00
Robob27 c09690bb5c Remove newline in debug 2023-02-05 19:04:21 -05:00
Robob27 300692750a Add missing ; 2023-02-05 19:04:21 -05:00
Robob27 89761bca0c Remove unnecessary screen params 2023-02-05 19:04:21 -05:00
Robob27 b5e6da3568 Remove unused import 2023-02-05 19:04:21 -05:00
Robob27 edbc9300d8 Remove unused function 2023-02-05 19:04:21 -05:00
Robob27 4e57464f21 Single line debug message 2023-02-05 19:04:21 -05:00
Robob27 c621c33b93 Initialize paused to false, cleanup comments 2023-02-05 19:04:21 -05:00
Robob27 8a08878fd6 Less messy pause display 2023-02-05 19:04:21 -05:00
Robob27 717b133d58 Move unpause detection back to feed 2023-02-05 19:04:21 -05:00
Robob27 d5ada27ed4 Remove unused variable 2023-02-05 19:04:21 -05:00
Robob27 6657fb59e5 Fix pausing and warnings 2023-02-05 19:04:21 -05:00
Robob27 2bf9b86c7b Fix getCurFocus lua, use where appropriate in c++ 2023-02-05 19:04:21 -05:00
Robob27 36e4bba779 Fixup prefix matching 2023-02-05 19:04:21 -05:00
Robob27 1c08b56a89 Proper prefix matching in hotkeys? 2023-02-05 19:04:21 -05:00
Robob27 14f1e4b52f Per confirm pause maybe? 2023-02-05 19:04:21 -05:00
Robob27 a5de0fb0de Add stockpile removal confirm 2023-02-05 19:04:21 -05:00
Robob27 576fcfbeab Clean up some nesting 2023-02-05 19:04:21 -05:00
Robob27 a14de11a13 Clean up artifacts during render 2023-02-05 19:04:21 -05:00
Robob27 0c80eff087 Remove unnecessary using 2023-02-05 19:04:21 -05:00
Robob27 86b57380a6 fixup unnecessary changes, remove unnecessary stuff 2023-02-05 19:04:21 -05:00
Robob27 3da1964c53 Fix another warning, test force_full_display_count 2023-02-05 19:04:21 -05:00
Robob27 59db67e654 Remove unnecessary invalidate 2023-02-05 19:04:21 -05:00
Robob27 2cb9830404 Fix default mouse_button value 2023-02-05 19:04:21 -05:00
Robob27 4a0d542b5e Add more confirms 2023-02-05 19:04:21 -05:00
Robob27 6e442a26ca More WIP 2023-02-05 19:04:21 -05:00
Robob27 a770a4cae4 WIP 2023-02-05 19:04:21 -05:00
Myk Taylor 2daf1ceca5
make automelt resistent to morphed building ids
i.e. that no longer refer to valid stockiples, which can happen if the
persisted data is from another game
2023-02-04 12:56:19 -08:00
Myk Taylor 43d1a1563b
fix param parsing for setting targets 2023-02-03 15:27:01 -08:00
Myk Taylor f2521c4a5c
protect against bad tree data 2023-02-03 12:52:50 -08:00
Myk Taylor 972df67eee
add more instrumentation to autochop 2023-02-03 12:26:01 -08:00
Myk Taylor 6831b1a1ae
reset the saved frame counter on new world
this allows the plugins to function normally even after one world is
exited and a different world with a lower frame counter is loaded
2023-02-03 00:08:38 -08:00
Myk Taylor 49246a60f3
properly cast for unsigned comparisons 2023-02-02 23:57:52 -08:00
Myk Taylor 8c7be9a8c2
don't use negative plant indices
and clean up the Kitchen module a bit more
2023-02-02 23:33:24 -08:00
Myk Taylor aa2339d2aa
add cxxrandom back to the build
and mark channel-safely as tested
2023-02-02 19:42:19 -08:00
Myk 987597e0af add autolabor warning overlay widget 2023-02-02 15:37:36 -06:00
Myk 4df7898d18 link autolabor to lua for the overlay 2023-02-02 15:37:36 -06:00
Kelly Kinkade 16e6114a86 autolabor: realign labors, improve tick handling
realigned the labor table to v50
changed onChange handler to run every 60 in-game ticks instead of every 60 render frames (no reason to run while paused lol)
2023-02-02 15:37:36 -06:00
Kelly Kinkade d780dc6847 reenable autolabor for testing
minimum required to make work:
* realign the job table
* add code to flip/flop the work detail enable flag
2023-02-02 15:37:36 -06:00
Rose 6e200b831e
Update plugins/autoclothing.cpp
Co-authored-by: Myk <myk.taylor@gmail.com>
2023-02-02 13:33:30 -08:00
Rose b36e5e1dff
Update plugins/autoclothing.cpp
Co-authored-by: Myk <myk.taylor@gmail.com>
2023-02-02 13:33:20 -08:00
Rose 840f728c66 Merge remote-tracking branch 'DFHack/develop' into Autoclothing
# Conflicts:
#	docs/changelog.txt
2023-02-02 13:14:50 -08:00
Rose ea22a23ab7 Clean up autoclothing for release. 2023-02-02 13:06:14 -08:00
Myk Taylor 5a1c3c7aa8
remove unused vars copypastad from seedwatch 2023-02-01 22:30:56 -08:00
Myk c312a88bea
Merge pull request #2773 from myk002/myk_nestboxes
[nestboxes] update and simplify; persist state
2023-02-01 17:50:07 -08:00
Myk Taylor fd4b0d7233
update and simplify nestboxes; persist state 2023-02-01 04:58:23 -08:00
Myk Taylor febb2bf030
use actual item and unit positions 2023-02-01 04:24:42 -08:00
Myk Taylor be40d55e64
update seedwatch 2023-02-01 04:03:28 -08:00
Myk 18da23af09
Merge pull request #2755 from ab9rf/autohauler
remove autohauler
2023-01-29 20:04:14 -08:00
Myk a0b3656c45
Merge pull request #2737 from johncosker/merge-autoslab
Implement autoslab engraving feature
2023-01-29 19:46:41 -08:00
Kelly Kinkade 40e69bfa3f remove autohauler
autohauler just doesn't make sense in v50
2023-01-29 20:38:39 -06:00
John Cosker 3f9f785589 Update doc and remove unused enum 2023-01-29 21:34:47 -05:00
Rose c9ddb4d943 There was one more place for autoclothing to crash. 2023-01-29 17:51:10 -08:00
Rose c79b95ec33 Don't crash autoclothing if a dwarf has a broken inventory item. 2023-01-29 17:48:23 -08:00
Myk Taylor 2b3160b1b9
fix typos 2023-01-29 17:39:48 -08:00
Myk Taylor 61f3325860
update sample plugin code
status -> config
don't make cycle ticks configurable. nobody does that
2023-01-29 17:35:02 -08:00
Rose 75c560d9e1 Add in a strictness parameter to Autoclothing. It's not used yet. 2023-01-29 17:19:21 -08:00
Myk 274e995790
Merge pull request #2747 from myk002/myk_on_off
Add new on/off icons
2023-01-29 16:55:01 -08:00
Myk Taylor f1e8ee1b0a
use new API in autochop 2023-01-29 16:28:56 -08:00
John Cosker 26f6820198 Address review comments, hopefully fix linux build 2023-01-29 18:16:26 -05:00
Myk Taylor 2a3710202a
use new icons in pathable 2023-01-29 00:35:34 -08:00
gearsix 339e742471 Merge branch 'develop' into getplants-fixes 2023-01-28 22:09:30 +00:00
Myk 5f90756677
Merge pull request #2734 from myk002/myk_tiletypes
Expose tiletype setting from the tiletypes plugin to lua
2023-01-28 11:55:04 -08:00
John Cosker 09c71bceeb Fix dig plugin and enable building it 2023-01-28 10:06:48 -05:00
John Cosker b9b8b36652 Sort header includes per guidelines 2023-01-27 20:08:33 -05:00
John Cosker 37b5be1f35
Implement autoslab engraving feature (#1)
* Initial autoslab implementation
2023-01-27 19:46:56 -05:00
Myk Taylor f700ef90b8
expose tiletype setting to Lua 2023-01-27 13:38:49 -08:00
gearsix 6726b567a1 issue #2043 - `designate` now marks trees (regardless of if ripe).
The `ripe` call was returning false on tree tiles, resulting in an
inability to designate trees for chopping with `getplants`.
This change adds a check to see if the tile is a tree or not and
if it is, then the ripe check is ignored.
2023-01-27 14:48:24 +00:00
gearsix 6e1ab8d67b issue #1805 - made getplants input case-insensitive
Now `toUpper` is called on user input when it's added to `plantNames`
to ensure it matches the ID fields which are all in upper-case.
2023-01-27 14:44:32 +00:00
Myk Taylor 998a63a979
allow overlay widgets to specify a default enabled state
and make relevant library widgets enabled by default
and remove the default overlay.json config file
2023-01-26 00:53:57 -08:00
Myk 5283cb1e72
Merge pull request #2716 from myk002/myk_channel_safely
fix build errors with channel-safely
2023-01-24 19:01:46 -08:00
Myk Taylor 4e35895cf4
fix build errors with channel-safely 2023-01-24 18:48:23 -08:00
Kelly Kinkade cbcd68317d tailor: increased check frequency
do bookkeepers work faster now? could be
2023-01-24 19:28:17 -06:00
Myk 25658592cb
Merge pull request #2472 from cppcooper/channel-safely
Updates Channel safely
2023-01-24 17:05:40 -08:00
Josh Cooper 739263eb59 Re-introduces channel-safely plugin to the build 2023-01-24 16:25:41 -08:00
Myk 83c89cfaa9
Merge pull request #2705 from myk002/myk_zscreen_redux
Implement new ZScreen semantics
2023-01-24 11:14:43 -08:00
Kelly Kinkade f640d15355 tailor: avoid bad key exception in std::map 2023-01-23 22:40:54 -06:00
Myk Taylor 8b98ba5042
allow windows to be defocused instead of pinned 2023-01-23 17:40:16 -08:00
Josh Cooper 89eefd006f Implements plugin: channel-safely v1.2.2
minor changes only
The largest change is moving a df::map_block* declaration to an outer loop
2023-01-23 14:24:24 -08:00
Josh Cooper ae8291b952 Implements plugin: channel-safely v1.2.1
- Removes insta-dig feature (too many problems, rarely worked)
- Fixes a segmentation fault introduced in v1.2
- Improves manage_group readability/nesting
- Improves manage_one readability/nesting

Update docs/plugins/channel-safely.rst

Co-authored-by: Myk <myk002@yahoo.com>

Fixes some formatting consistency
2023-01-23 14:24:23 -08:00
Josh Cooper a4bf266770 Implements plugin: channel-safely v1.2
- 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
2023-01-23 14:24:23 -08:00
Josh Cooper 540faff88f Implements plugin: channel-safely v1.1.2b
- 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
2023-01-23 14:24:23 -08:00
Eamon Bode 8750707948
Update plugins/automelt.cpp
Co-authored-by: Myk <myk.taylor@gmail.com>
2023-01-23 16:32:47 -05:00
eamondo2 c5ce1b1766 Fix build complaints 2023-01-23 16:20:37 -05:00
eamondo2 386546126e fix GH suggest, cache found building 2023-01-23 16:14:49 -05:00
Eamon Bode fc861f1328
Merge branch 'develop' into automelt 2023-01-23 14:20:48 -05:00
eamondo2 7536426929 trailing whitespace trim 2023-01-23 13:36:12 -05:00
eamondo2 6592cadc09 Bugfixes, resolved CTD issue. 2023-01-23 13:35:26 -05:00
Myk Taylor 38e6e0a747
ensure orders overlay is on the correct panel
even when the total screen size is very small
2023-01-23 08:01:45 -08:00
Myk Taylor d7e0dcfcf8
use new frames for hotkey hotspot 2023-01-23 04:03:41 -08:00
Myk Taylor 9aaa55cd7f
add textures and frames for various use cases 2023-01-23 03:58:51 -08:00
eamondo2 44d8ce2bdc whitespace fix 2023-01-23 01:58:57 -05:00
eamondo2 78c6b3683e Changes as per GH suggestions. Doc updates. 2023-01-23 01:56:33 -05:00
eamondo2 8f7788ec20 Merge branch 'develop' into automelt 2023-01-22 20:32:43 -05:00
Myk f2c2fffac5
Merge branch 'develop' into myk_click_logo 2023-01-22 17:10:27 -08:00
Myk ab10b84de4
Merge pull request #2693 from myk002/myk_revert_always_enabled
remove unused always_enabled attribute for overlays
2023-01-22 17:10:04 -08:00
Myk Taylor f0d44342d8
first attempt at a manager orders overlay 2023-01-22 03:08:36 -08:00
eamondo2 9bcd9c27bf Fix build failure 2023-01-22 04:55:14 -05:00
eamondo2 2e6ba64f56 Hopefully fix end-of-file-fixer complaint 2023-01-22 04:46:35 -05:00
eamondo2 84f7fc85da trim trailing whitespace 2023-01-22 04:44:33 -05:00