Commit Graph

5343 Commits (15ede64d9b0f3d614c5176596452d9c693e7d21d)

Author SHA1 Message Date
Kelly Kinkade 0f5456c45b tidy up after self
remove a couple of no-longer-used variables that i missed last time
2023-03-27 00:31:47 -05:00
Kelly Kinkade 4a173aac99 tailor: fix #3093, #3103
I significantly restructured the assignment algorithm to eliminate the overproduction issues in #3093

#3103 is addressed by excluding units that don't have the caste-level EQUIPS flag

closes #3093
closes #3103
2023-03-27 00:07:40 -05:00
Myk 4090a66eb2
Merge pull request #3094 from ab9rf/autoclothing
autoclothing: support disable
2023-03-25 15:02:12 -07:00
Myk 4108c57c0d
Merge pull request #3091 from ab9rf/getplants
reenable getplants
2023-03-25 13:11:04 -07:00
Myk 2538324008
Merge pull request #3096 from ab9rf/5007-tailor
tailor: add inventory sanity check debug mode
2023-03-25 13:04:47 -07:00
Myk Taylor 42b18d001b
refresh overlay and helpdb on new world to pick up mod content 2023-03-25 12:56:54 -07:00
Kelly Kinkade c8c0040678 tailor: add inventory sanity check debug mode
enable with "tailor debugging on" disable with "tailor debugging off"

this setting is not persisted
2023-03-25 14:56:04 -05:00
Myk 8b7223d1e2
Merge pull request #3086 from myk002/myk_buildingplan_no_filter_items
[buildingplan] allow player to choose any item when choosing items manually
2023-03-25 12:55:37 -07:00
Kelly Kinkade 1c25c9b80c autoclothing: support disable
this also includes some minor refactorings:
* some debug messages have been "tagged" so it's obvious they're from autoclothing
* a serialized list of flag checks has been replaced with a maskcheck
* partial lua api added, currently only supports enable/disable
2023-03-25 12:42:30 -05:00
Kelly Kinkade df286ab71e reenable getplants 2023-03-25 10:18:06 -05:00
Myk Taylor a8822bdefa
take carved stairs into account when auto building stairs 2023-03-24 15:43:02 -07:00
Myk Taylor 58eaf33b08
normalize stairs so they all use the same filter 2023-03-24 15:26:17 -07:00
Myk Taylor c8f590cbac
allow player to choose any item when choosing items manually
that is, ignore the global and building-specific filters
2023-03-24 14:36:06 -07:00
Myk Taylor 99d050d0a8
respect building size limits 2023-03-24 14:06:39 -07:00
Myk Taylor 013c6fe02a
don't render footprint if we're minmized 2023-03-23 17:30:18 -07:00
Myk da2ef0365d
Merge branch 'develop' into myk_the_case_of_the_missing_mask 2023-03-23 15:48:53 -07:00
Kelly Kinkade 95f6e6e5be tailor: fix material overrun issue
properly track materials required for already-queued jobs

fixes #3056
2023-03-23 16:23:06 -05:00
Myk Taylor 873e94ea5d
actually record the deserialized material mask val 2023-03-23 10:48:33 -07:00
Myk 4d540ba8ab
Merge pull request #3078 from myk002/myk_orders
add minimize button to orders overlay panel
2023-03-23 03:24:30 -07:00
Myk Taylor 9154a52d0a
remove spaces and dashes from allowed filename chars
since this will likely make it more difficult to represent stockpile
filenames in quickfort's stockpile configuration language
2023-03-23 02:26:37 -07:00
Myk Taylor b95d923b32
finalize docs, clear flags 2023-03-23 02:26:37 -07:00
Myk Taylor b5d4f04d2f
differentiate fish 2023-03-23 02:26:37 -07:00
Myk Taylor 876425fbc8
allow multiple filters 2023-03-23 02:26:37 -07:00
Myk Taylor 581c7370ca
prepend searchable prefix 2023-03-23 02:26:37 -07:00
Myk Taylor 0f5d3fd4a6
spacing 2023-03-23 02:26:37 -07:00
Myk Taylor fde51e5948
fix some debug strings 2023-03-23 02:26:37 -07:00
Myk Taylor f13df882b6
properly filter when setting gems 2023-03-23 02:26:37 -07:00
Myk Taylor a545bc8120
it compiles! 2023-03-23 02:26:37 -07:00
Myk Taylor 0a9e81418e
port two helper functions 2023-03-23 02:26:37 -07:00
Myk Taylor 06fa43932c
animals works 2023-03-23 02:26:37 -07:00
Myk Taylor 1c527ab3d8
rejiggered 2023-03-23 02:26:37 -07:00
Myk Taylor 5a317820f9
new logic for deserialization 2023-03-23 02:26:37 -07:00
Myk Taylor e21c55d6ff
update stockpiles command and use new data paths 2023-03-23 02:26:37 -07:00
Myk Taylor 90aed848bb
add minimize button to orders overlay panel 2023-03-23 02:26:00 -07:00
Myk Taylor 0b72b42b7e
allow metal chests to be melted 2023-03-23 00:59:05 -07:00
Kelly Kinkade 959b4b3171 update tailor
`tailor` now properly discriminates between dyed and undyed cloth and no longer defaults to using adamantine
2023-03-22 18:29:47 -05:00
Kelly Kinkade 42e21bf946 reenable prospector in fort mode
fort mode prospect works. embark mode prospect doesn't crash but generates nonsense data, so that code has been disabled for now
2023-03-20 11:00:25 -05:00
Myk b03a35ba8d
Merge pull request #3040 from myk002/myk_revflood
[reveal] anchor revflood at a unit's position
2023-03-19 14:37:29 -07:00
Myk Taylor 1984cf4469
remove unnecessary reload 2023-03-17 21:07:38 -07:00
Myk Taylor b55a19f859
make the planner panel un-minimizable again 2023-03-17 21:07:25 -07:00
Myk Taylor 4a3363da9c
anchor revflood at a unit's position
makes it more user friendly and reduces chance of mishap by placing the
cursor in an unforgiving location (like in a closed cavity)
2023-03-17 17:43:58 -07:00
Myk Taylor 181b930070
allow inputs to pass through when minimized 2023-03-17 14:59:39 -07:00
Myk Taylor 79dd5a313f
rename Build button to Confirm and update docs 2023-03-17 09:58:20 -07:00
Myk Taylor a9e853188c
better minimize widget for the planner panel 2023-03-17 08:33:55 -07:00
Myk Taylor 52dec0114f
properly count required bars/cloth and don't output confusing total quantities 2023-03-16 23:45:22 -07:00
Myk Taylor e95b6805d0
comment out heat safety feature 2023-03-16 19:55:12 -07:00
Myk Taylor b0f9ad6449
add buildingplan reset for resetting all filters 2023-03-15 14:02:59 -07:00
Myk Taylor 73e65f2d94
use proper widgets for the minimize button 2023-03-15 13:40:34 -07:00
Myk Taylor a4365f47f5
don't pick up empty specials 2023-03-15 13:40:08 -07:00
Myk Taylor 208a3e4ae8
add minimize/restore button 2023-03-15 01:19:34 -07:00
Myk Taylor 4be5ca4e81
filter by whether a slab is engraved
this actually adds an entirely new "specials" filter system that can be
extended later for other types
2023-03-15 00:29:27 -07:00
Myk 7edc686753
Merge pull request #3020 from myk002/myk_save_choice
[buildingplan] remember "choose items" choice per building type
2023-03-15 00:27:20 -07:00
Myk Taylor 306d300edf
persist choose items choice per building type 2023-03-14 22:26:56 -07:00
Myk Taylor 4d8580d9e7
remember "choose items" choice per building type 2023-03-14 21:55:43 -07:00
Myk Taylor 039171e01d
support multiple upright spikes in a spike trap 2023-03-14 21:36:41 -07:00
Myk Taylor 543f9ade0d
account for reverse ordering in job_items vector 2023-03-13 13:35:12 -07:00
Myk 63a7811ba5
Merge branch 'develop' into myk_buildingplan_clay 2023-03-12 15:59:48 -07:00
Myk Taylor c48c9c77c0
use new data directories for blueprints 2023-03-12 15:43:32 -07:00
Myk Taylor 3798a7cb5e
allow clay to be chosen as a filter material 2023-03-12 15:13:57 -07:00
Myk Taylor 468b3b54d4
fix buildingplan typo 2023-03-11 15:36:47 -08:00
Myk Taylor c56e248034
cleanup stockpiles plugin and don't bork on empty type vectors 2023-03-10 14:28:24 -08:00
Myk Taylor 6ad2922aca
filter displayed materials if building heat safety is set 2023-03-10 02:34:05 -08:00
Myk Taylor 43b423cd31
make number of weapons in trap configurable 2023-03-10 01:44:33 -08:00
Myk Taylor b884fab7b6
fix freeze when printing status and there are defunct planned buildings 2023-03-10 01:04:23 -08:00
Myk a37d2c09bf
Merge pull request #3001 from myk002/myk_buildingplan_pressure_plates
[buildingplan] fix handling of pressure plates
2023-03-10 00:17:57 -08:00
Myk Taylor a3f8be3c01
fix pens reference 2023-03-10 00:12:56 -08:00
Myk Taylor 2f0dc4bd25
require correct number of mechanisms when building pressure plates 2023-03-10 00:09:12 -08:00
Myk Taylor 44fb91056b
ensure pressure plate config gets copied to the planned building 2023-03-09 23:41:13 -08:00
Myk Taylor 6373832490
refactor buildingplan into smaller files 2023-03-09 23:05:48 -08:00
Myk 4632e04150
Merge pull request #2987 from myk002/myk_no_soft_lock
don't softlock the game on modal popups
2023-03-07 10:26:01 -08:00
Myk Taylor fc4d2605f2
don't softlock the game on modal popups
overlays can prevent clicks from being handled by DF. likewise, vanilla
modal popups can prevent clicks from getting handled by DFHack. to
prevent a softlock, overlay will skip sending input to the overlay
widgets when a modal dialog is visible
2023-03-07 08:00:13 -08:00
Myk Taylor bc77a91d46
build zero-item buildings with buildingplan
so they can be multi-built like all other buildings (the vanilla ui was
handling the build and then exiting out of the build menu)
2023-03-06 20:51:41 -08:00
Myk 3ba9459883
Merge pull request #2976 from myk002/myk_automaterial
turn down automaterial (superseded by buildingplan)
2023-03-06 15:48:45 -08:00
Myk 2095843a71
Merge branch 'develop' into dig-now 2023-03-06 12:37:08 -08:00
Myk 0459831c6a
Revert "revert recent changes to dig-now due to lockups" 2023-03-06 12:33:02 -08:00
Josh Cooper 1eaee61044 Fixes dig-now job list iteration/scanning 2023-03-06 11:46:43 -08:00
Myk Taylor 161f84e7b7
turn down automaterial (superseded by buildingplan) 2023-03-06 01:27:27 -08:00
Myk e4596e6d2e
Merge pull request #2975 from myk002/myk_stockpiles
[stockpiles] get savestock and loadstock minimally functional
2023-03-06 00:24:30 -08:00
Myk Taylor e9060624af
use same hotkey for sorting, hide unused elements 2023-03-05 23:04:35 -08:00
Myk Taylor 80addc92d1
remember default max quality for each item 2023-03-05 23:04:03 -08:00
Myk Taylor efb307ed25
remove mock warning 2023-03-05 22:09:45 -08:00
Myk Taylor d009668339
implement materials search 2023-03-05 22:09:21 -08:00
Myk Taylor ea549f6572
generate text summary as the filter changes 2023-03-05 19:15:04 -08:00
Myk Taylor c752223fbc
implement invert and reset 2023-03-05 18:31:03 -08:00
Myk Taylor 2a2141931f
allow material filter to be read and set 2023-03-05 18:17:10 -08:00
Myk Taylor d07864e5bb
allow material categories to be set from the ui 2023-03-05 16:32:05 -08:00
Myk Taylor f9924d9090
implement material filter setting and retrieving 2023-03-05 16:32:05 -08:00
Myk Taylor 3b116c8061
give global settings page an interior frame 2023-03-05 16:32:05 -08:00
Myk Taylor 090f298a47
init building materials to ordinary max quality 2023-03-05 16:32:05 -08:00
Myk Taylor 8f07a03772
get savestock and loadstock minimally functional 2023-03-05 16:16:32 -08:00
Josh Cooper 9fb7e0d232 Merge branch 'develop' into dig-now 2023-03-03 12:38:22 -08:00
Josh Cooper dca19e9dad Adds more logging for dig-now 2023-03-03 11:13:25 -08:00
Myk Taylor c8c1572bc4
fix typo 2023-03-02 06:08:51 -08:00
Myk Taylor 80da035186
always allow constructions to be placed
even if some tiles are invalid. the first selected tile must still be
valid
2023-03-02 06:00:21 -08:00
Myk Taylor 982d6a995a
fix signed/unsigned error 2023-03-02 05:29:33 -08:00
Myk Taylor 28599eb2bb
ensure item is on walkable tile 2023-03-02 05:28:12 -08:00
Myk Taylor 4f3cdeaf05
stub out reachability check for now
it's more complicated than we thought
2023-03-02 05:00:12 -08:00
Myk Taylor 926bc8b7d4
cache valid materials on world load 2023-03-02 05:00:07 -08:00
Myk Taylor 97e5fdb78e
implement saving and retrieving item quality filters 2023-02-27 12:27:21 -08:00
Myk Taylor 1d855014c2
implement global settings page 2023-02-27 10:32:54 -08:00
Myk Taylor 9f794a0710
filter dialog mock, draft 2; implement Slider 2023-02-27 04:13:29 -08:00
Myk Taylor 0f2c88265e
scan IN_PLAY last so more specific vectors are scanned first 2023-02-26 23:45:15 -08:00
Myk Taylor c1ea43244b
order buckets by pickiness 2023-02-26 23:45:15 -08:00
Myk Taylor 4f933e0a36
ensure reachability for selected items 2023-02-26 23:45:15 -08:00
Myk Taylor 9b8400ab40
prevent planned buildings from being resumed
note this only prevents unsuspending from the building sheet panel, not
the tasks screen
2023-02-26 23:45:15 -08:00
Myk 663b014eae
Merge pull request #2682 from 20k/squadwork
makeSquad, updateRoomAssignments
2023-02-26 21:40:33 -08:00
Myk Taylor 8f99b03a53
update stonesense ref 2023-02-26 21:25:05 -08:00
Myk Taylor 851bb50dc8
add SDL_PushEvent shim for RemoteFortressReader 2023-02-26 21:18:08 -08:00
Myk Taylor 97ee1022c7
note that filter page is a mock 2023-02-26 10:55:50 -08:00
20k d84b118767 docs, rework, rename 2023-02-26 18:05:35 +00:00
Myk Taylor fbd3cd44d6
initial mock of filter dialog 2023-02-26 09:49:08 -08:00
Myk Taylor d8e440806c
fix signed/unsigned compare 2023-02-26 09:49:08 -08:00
Myk Taylor f0ca7ad425
fix all buildings being identified as constructions 2023-02-26 09:49:08 -08:00
Myk Taylor 4b26454696
start of filters dialog 2023-02-26 09:49:08 -08:00
Myk Taylor dadecdcf45
fix inspector screen not resetting the description 2023-02-26 09:49:07 -08:00
Myk Taylor 20a0390c50
no building shadow when other windows are up 2023-02-26 09:49:07 -08:00
Myk Taylor 4cc262c796
overhaul serialization; persist item filters 2023-02-26 09:49:07 -08:00
Myk Taylor 60de4619a2
fix signed unsigned compare 2023-02-26 09:49:07 -08:00
Myk Taylor 097e955796
infrastructure for item filtering 2023-02-26 09:49:07 -08:00
Myk Taylor a0798178a6
ensure item quantity is correct when hollow 2023-02-26 09:49:07 -08:00
Myk Taylor c52b2c27c8
implement automaterial in buildingplan 2023-02-26 09:49:07 -08:00
Myk Taylor 4f2d86f50a
implement hollow area placement for constructions 2023-02-26 09:49:07 -08:00
Myk Taylor 1957ad4cdf
move the filter window a bit to the side, can pause 2023-02-26 09:49:07 -08:00
Myk Taylor f09eeee864
only enable clear filter hotkey when a filter is set 2023-02-26 09:49:07 -08:00
Myk Taylor 69e9da2e79
keep target area higlighted while choosing items 2023-02-26 09:49:07 -08:00
Myk Taylor 348ac55f4c
allow singleton selection for items 2023-02-26 09:49:07 -08:00
Myk Taylor e9555c29be
initialize heat safety option to 'Any' 2023-02-26 09:49:07 -08:00
Myk Taylor 273183e864
allow cancel when choosing items 2023-02-26 09:49:07 -08:00
Myk Taylor a0785bded4
implement heat safety 2023-02-26 09:49:07 -08:00
Myk Taylor daa812b21e
pluralize plural plurals 2023-02-26 09:49:07 -08:00
Myk Taylor 2477a23972
pass correct job_item index for item selection 2023-02-26 09:49:07 -08:00
Myk Taylor ee827f5ca1
remember mouse pos from before item choosing 2023-02-26 09:49:07 -08:00
Myk Taylor 4001ef3815
implement selecting specific items 2023-02-26 09:49:07 -08:00
Myk Taylor 66a14ecc74
get UI semi-finalized, prep for item choosing 2023-02-26 09:49:07 -08:00
Myk Taylor daf691839f
item selection, callback skeleton 2023-02-26 09:49:07 -08:00
Myk Taylor c59ad78f40
more tokens, textures, and colors 2023-02-26 09:49:07 -08:00
Myk Taylor c0cdd58b50
fix signed-unsigned compare 2023-02-26 09:49:07 -08:00
Myk Taylor aa4ebe6398
remove some cruft 2023-02-26 09:49:07 -08:00
Myk Taylor e92a54deaa
beginning of textures 2023-02-26 09:49:07 -08:00
Myk Taylor b3198c88a0
only block mouse clicks over exactly the panel area 2023-02-26 09:49:07 -08:00
Myk Taylor 96fa7fa1e2
fix position of errors panel 2023-02-26 09:49:07 -08:00
Myk Taylor 3f8be2cd9e
implement make_top_priority, cache inspector data 2023-02-26 09:49:07 -08:00
Myk Taylor 0d3285678c
separate errors panel, fix pb vectors on load 2023-02-26 09:49:07 -08:00
Myk Taylor 56c8927316
better description string for inspection overlay 2023-02-26 09:49:07 -08:00
Myk Taylor 18ad29dde4
show queue position 2023-02-26 09:49:07 -08:00
Myk Taylor e5c3a2b519
dynamically count available materials when placing 2023-02-26 09:49:07 -08:00
Myk Taylor 0faa160eaa
split buildingplan into a project 2023-02-26 09:49:07 -08:00
Myk Taylor 4b7bc937a4
remove old buildingplan files 2023-02-26 09:49:07 -08:00
Myk Taylor a9d9e0e50c
skeleton for quantity scanning 2023-02-26 09:49:07 -08:00
Myk Taylor 584e891154
more skeleton for inspector 2023-02-26 09:49:07 -08:00
Myk Taylor dd6f71c665
handle stairs and 3 dimensions 2023-02-26 09:49:07 -08:00
Myk Taylor 1c3a5fa170
initial building placement code 2023-02-26 09:49:07 -08:00
Myk Taylor 0cb1c09549
implement skeletons for buildingplan overlays 2023-02-26 09:49:07 -08:00
Myk Taylor b443f81ecd
print out more status info for buildingplan 2023-02-26 09:49:07 -08:00
Josh Cooper 00eb02c1bc Implements plugin: channel-safely v1.2.4
- 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()`
2023-02-24 15:51:11 -08:00
Myk Taylor f922be8769
fix more autolabor chattiness 2023-02-24 13:25:04 -08:00
Myk Taylor 69b89e9a6b
revert code changes to dig-now (causing lockups) 2023-02-24 12:44:06 -08:00
Myk Taylor 6dbc22350f
log to console instead of announcements 2023-02-23 22:24:32 -08:00
Myk b516c8753e
Merge branch 'develop' into dig-now 2023-02-21 18:59:30 -08:00
Robob27 5244fce469 Fix confirm performance 2023-02-17 18:41:20 -05:00
Kelly Kinkade f73634d009 add missing parameter 2023-02-17 14:03:42 -06:00
Kelly Kinkade 4eb3ae566d unshadow unit size variable 2023-02-17 12:58:48 -06:00
Kelly Kinkade 7e584df040 misc tailor updates related to adamantine cloth 2023-02-17 12:10:23 -06:00
Josh Cooper 1fe0bab9d4 Incorporates code review into dig-now PR 2023-02-17 08:17:35 -08:00
Josh Cooper 249c659006 Adds coord validity check for job scanning in dig-now 2023-02-17 08:17:35 -08:00
Josh Cooper 8beb947c82 Revises job scanning for dig-now 2023-02-17 08:17:35 -08:00
Josh Cooper 1e21f1ece9 Adds validity checks before adding to the dig-now buffer
also adds job cancellation for designation jobs, for testing a solution to issue 2471
2023-02-17 08:17:35 -08:00
Josh Cooper c990def894 Adds a designation buffer in dig-now's processing algorithm
This may fix the issue seen when channeling consecutive layers, needs to be tested
2023-02-17 08:17:35 -08:00
Josh Cooper 838acfdf22 Adds a few log lines to dig-now 2023-02-17 08:17:35 -08:00
Josh Cooper 456020fb38 Adds todo comments to dig-now.cpp for issue #2720 2023-02-17 08:17:35 -08:00
Kelly Kinkade f6df3ff335 remove thing i thought i already removed 2023-02-16 15:39:10 -06:00
Kelly Kinkade 54013b4400 add support for adamantine cloth
off by default because really now

also downgraded "weird cloth item" message from WARN to DEBUG
2023-02-16 15:33:55 -06:00
Kelly Kinkade 4d9deb8eca tailor: try to squash toad clothing bug
this adds a test for an unmapped clothing size which will at least stop the making of toad-sized clothing. a diagnostic is issued when this happens as it is a bug
2023-02-16 14:37:10 -06:00
lethosor 85dfe2a547
Merge remote-tracking branch 'cjhammel/fix-for-Issue-#2864' into develop 2023-02-16 11:49:36 -05:00
Robob27 b4bd806134 Don't enable confirms on plugin enable 2023-02-15 16:10:22 -05:00
Kelly Kinkade 82cc486442 correct autolabor for structure update
df-structures#561 changed def'n of `activity_info` which autolabor used
2023-02-15 06:49:00 -06:00
Christopher J Hammel c4aa936c0d
Update autolabor.cpp 2023-02-14 11:37:22 -05:00
Myk Taylor bc76fd02e2
prevent mouse clicks from bleeding through when a window is dismissed 2023-02-13 17:35:02 -08:00
Myk Taylor 6202b29c56
adapt autolabor to new split game structure 2023-02-13 13:39:28 -08:00
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
Eamon Bode e5cbc7fd3c
Merge branch 'develop' into automelt 2023-01-22 04:40:10 -05:00
eamondo2 969f8162a8 Further updates from comments/review. 2023-01-22 04:39:41 -05:00
eamondo2 6585055ed2 fixes, global item counts 2023-01-22 04:13:23 -05:00
Myk Taylor b84bce719d
remove unused always_enabled attribute for overlays
it was made for gui/pathable, but that became a ZScreen
this option made me uncomfortable for overlays. it didn't seem like the
right user experience
2023-01-22 01:07:30 -08:00
Myk Taylor 76822ac7b7
remove orphan fortplan.lua file 2023-01-22 00:59:27 -08:00
Myk Taylor 5a4d61e7fc
don't close the hotspot menu if the logo is clicked
some people click the logo by mistake. this shouldn't close the menu
2023-01-22 00:43:10 -08:00
eamondo2 4c9da4046f Merge branch 'automelt' of github.com:eamondo2/dfhack into automelt 2023-01-21 18:23:03 -05:00
eamondo2 0fbf17f1c8 refactor/fix as per GH suggest 2023-01-21 18:22:15 -05:00
20k 598354d9d4 getbiometype naming, docs 2023-01-21 20:33:40 +00:00
pre-commit-ci[bot] 50c3bea84b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-01-21 07:20:19 +00:00
eamondo2 0a66f41152 fix newline pre-commit.ci complaint 2023-01-21 02:15:35 -05:00
eamondo2 e4e4cae5e6 fix check failures 2023-01-21 02:08:58 -05:00
eamondo2 3fc4d056c3 initial automelt 2023-01-20 17:58:48 -05:00
Myk Taylor acf2b8b319
use newly narrowd relations vector 2023-01-20 14:30:48 -08:00
Myk 15ba54eea9
Merge pull request #2643 from RosaryMala/Autoclothing
Autoclothing
2023-01-20 14:08:01 -08:00
Myk 064f2834a9
Merge pull request #2669 from ab9rf/5005-alpha2-tailor
tailor: add support for using undyed cloth
2023-01-20 14:06:53 -08:00
Myk 310940e1a2
Merge branch 'develop' into Autoclothing 2023-01-20 14:05:26 -08:00
Kelly Kinkade e8f67c7b62 add support for using undyed cloth
also improved debugging messages
2023-01-20 15:21:45 -06:00
Myk Taylor e138ac1da5
update stonesense 2023-01-20 12:23:02 -08:00
Myk Taylor eae2cec22f
use keyboard cursor
and adapt to a "bad" cursor not being equal to -30000 anymore
2023-01-20 09:31:44 -08:00
Myk Taylor 4183bace4d
update autodump, only commands, add hotkeys 2023-01-20 09:31:44 -08:00