Myk Taylor
2686c8f084
move DFHack version next to logo
...
and only display on the base title screen
2023-04-24 08:04:08 -07:00
Myk Taylor
65da8ef3c9
only display dfhack logo on base title screen
...
to avoid overlapping important widgets on subscreens
2023-04-24 08:03:31 -07:00
Myk Taylor
31401b2e19
fixed size limit calculations for rollers
2023-04-23 23:48:10 -07:00
Myk
f009ca907e
Merge pull request #3271 from TaxiService/bplan_slidertowidgets
...
move Slider class from filterselection.lua into widgets.lua
2023-04-23 18:44:58 -07:00
Myk Taylor
b5459faffe
format version string in help the same way
2023-04-23 18:20:50 -07:00
Myk Taylor
33142a5dfc
add DFHack title version overlay
2023-04-23 17:26:45 -07:00
Myk
7e9936f856
Merge branch 'develop' into myk_troll_Fur
2023-04-21 13:49:27 -07:00
Myk Taylor
6d9a07355b
allow filtering by yarn
2023-04-21 11:54:38 -07:00
Myk Taylor
6b86f7c691
planner panel is minimized by default
...
and minimized state is now persisted across reloads
2023-04-21 11:20:28 -07:00
Taxi Service
8371aa0b8b
renamed Slider to RangeSlider, and added draft of Lua API.rst entry
2023-04-20 13:24:47 +02:00
Taxi Service
ae2bdfad5f
moved Slider class from filterselection.lua to widgets.lua
2023-04-19 11:28:57 +02:00
Myk Taylor
250f05667b
add a warning when DT appears to be running
2023-04-18 15:50:59 -07:00
Myk Taylor
f6031e6a79
refactor existing logic to use new function
2023-04-17 13:04:42 -07:00
Myk Taylor
e9f6695ace
infrastructure for hiding armok tools
2023-04-17 09:39:15 -07:00
Myk Taylor
77c2458900
filter by gems (for windows)
2023-04-17 01:05:25 -07:00
Myk Taylor
ef380e9e1c
don't reset planner panel minimized state
2023-04-15 15:49:36 -07:00
Myk Taylor
20bea5fa21
add ability to filter by cloth and silk
2023-04-11 03:49:28 -07:00
Myk Taylor
51047367f4
fix index out of bounds error when reading gems
2023-04-10 23:28:00 -07:00
Myk Taylor
04c16186de
hide planner overlay during the tutorial
2023-04-10 04:24:00 -07:00
Myk Taylor
36db68deed
user longer text for weapon label
2023-04-07 02:17:22 -07:00
Myk Taylor
54c62a7307
tidy up
2023-04-07 02:08:47 -07:00
Myk
ec114bea7c
Merge branch 'develop' into bplan_planneroverlay
2023-04-07 01:14:06 -07:00
Taxi Service
6347e11751
moved prev/next on top, made set/edit filter button, more tweaks
2023-04-07 00:46:32 +02:00
Taxi Service
f66c60ee65
removed some trailing whitespace...
2023-04-06 16:22:07 +02:00
Taxi Service
70b8c83178
highlight selected item, + various tweaks
2023-04-06 16:08:09 +02:00
TaxiService
c490a9ebc2
updated comments in the footer area
2023-04-05 15:55:47 +02:00
Taxi Service
0c91644c5e
various tweaks and fixes
2023-04-04 22:34:47 +02:00
TaxiService
59b7947230
removed trailing whitespace...
2023-04-04 18:31:04 +02:00
Taxi Service
eda88a87ef
Merge branch 'bplan_itemselection' of https://github.com/TaxiService/dfhack into bplan_itemselection
2023-04-04 18:27:15 +02:00
TaxiService
e8e77e9ec2
Merge branch 'DFHack:develop' into bplan_itemselection
2023-04-04 18:25:54 +02:00
Taxi Service
aa8870fcad
custom EditField & reorganized panels
2023-04-04 17:38:38 +02:00
Taxi Service
8860ddf982
planneroverlay: initial rework commit
2023-04-03 22:46:31 +02:00
Taxi Service
ea9f3ef9d1
restored pens.lua (has nothing to do with itemselection)
2023-04-03 22:27:50 +02:00
Taxi Service
07a4da6573
reworked itemselection ui & added vertical divider pens
2023-04-03 22:23:32 +02:00
Taxi Service
d04780ee86
tweaked some item names shown on buildingplan uis
2023-04-03 20:38:57 +02:00
Taxi Service
935bc235b6
fixed vertical divider characters in ascii mode
2023-04-03 20:37:45 +02:00
Myk Taylor
55f7643381
use the defined constant instead of a magic number
2023-04-01 23:52:20 -07:00
Myk Taylor
9461e609a0
adjust text margin in hotkey menu for wide scrollbar
2023-04-01 22:53:35 -07:00
John Cosker
7ff9d73a4c
Technically drawing works
2023-03-30 15:17:08 -04:00
Myk Taylor
f2958a5529
implement automaterial selection for buildingplan
2023-03-28 23:51:52 -07:00
Myk
921e08e97a
Merge branch 'develop' into myk_buildingplan_suspendmanager
2023-03-28 06:52:42 -07:00
Myk Taylor
02b52fcb3d
confirm for removing burrows via the repaint menu
2023-03-27 16:11:21 -07:00
Myk Taylor
0ed311c108
allow exported orders files to be deleted from the import dialog
2023-03-27 03:52:12 -07:00
Myk Taylor
8da7e216a4
buildingplan - suspendmanager integration
2023-03-27 02:24:56 -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
Myk Taylor
a8822bdefa
take carved stairs into account when auto building stairs
2023-03-24 15:43:02 -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
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
876425fbc8
allow multiple filters
2023-03-23 02:26:37 -07:00
Myk Taylor
06fa43932c
animals works
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
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
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
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
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
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
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
43b423cd31
make number of weapons in trap configurable
2023-03-10 01:44:33 -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 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 Taylor
161f84e7b7
turn down automaterial (superseded by buildingplan)
2023-03-06 01:27:27 -08:00
Myk Taylor
e9060624af
use same hotkey for sorting, hide unused elements
2023-03-05 23:04:35 -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
3b116c8061
give global settings page an interior frame
2023-03-05 16:32:05 -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
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
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 Taylor
97ee1022c7
note that filter page is a mock
2023-02-26 10:55:50 -08:00
Myk Taylor
fbd3cd44d6
initial mock of filter dialog
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
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
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
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
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
Kelly Kinkade
7e584df040
misc tailor updates related to adamantine cloth
2023-02-17 12:10:23 -06: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
766738e102
generate names for nameless burrows; check for nil
2023-02-12 15:21:10 -08:00
Myk
90767b83d2
Merge pull request #2852 from myk002/myk_misery
...
update misery
2023-02-08 14:22:33 -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
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
Myk
190b5003c8
Merge branch 'develop' into myk_logo_hide
2023-02-06 09:17:48 -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 Taylor
c0cd37ff6f
protect against NULLs and invalid stockpiles
2023-02-06 09:04:50 -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
09e7c14210
hide DFHack logo when it's in the way
2023-02-05 18:27:31 -08:00
Robob27
89761bca0c
Remove unnecessary screen params
2023-02-05 19:04:21 -05:00
Robob27
8a08878fd6
Less messy pause display
2023-02-05 19:04:21 -05:00
Robob27
a5de0fb0de
Add stockpile removal confirm
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
43d1a1563b
fix param parsing for setting targets
2023-02-03 15:27:01 -08:00
Myk
987597e0af
add autolabor warning overlay widget
2023-02-02 15:37:36 -06:00
Myk Taylor
be40d55e64
update seedwatch
2023-02-01 04:03:28 -08: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 Taylor
8b98ba5042
allow windows to be defocused instead of pinned
2023-01-23 17:40:16 -08: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
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
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
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
0fbf17f1c8
refactor/fix as per GH suggest
2023-01-21 18:22:15 -05:00
eamondo2
3fc4d056c3
initial automelt
2023-01-20 17:58:48 -05:00
Myk
116f9bf8e6
Merge pull request #2641 from myk002/myk_buildingplan
...
minimal implementation of buildingplan
2023-01-20 09:28:26 -08:00
Myk Taylor
2cf0d0769c
fix reference to renamed var
2023-01-18 15:44:47 -08:00
Myk Taylor
bc42f7c73c
get buildingplan minimally functional for quickfort
2023-01-17 04:05:17 -08:00
Myk Taylor
86ddf43230
add hotkey for launching the quickstart guide from the hover menu
2023-01-15 20:17:23 -08:00
Myk Taylor
1eb5dd9a4f
fix incorrect function name for setting targets
2023-01-14 18:30:44 -08:00
Myk Taylor
807f3f6327
update behavior of hotspot menu
...
- disappears on click outside its borders
- disappears on r-click
- mouse over the help panel counts as "over the menu" (so the menu
doesn't close if the player moves the mouse to the help text)
- menu panels appear next to the logo hotspot instead of over it,
allowing players to avoid clicking on the wrong item if they
intend to click on the logo
2023-01-13 12:18:18 -08:00
Myk Taylor
cc0ff6a93d
raise trigger lock screens (if possible)
...
so they don't get stuck under new viewscreens and become lost (and
therefore overlay will be forever locked)
2023-01-13 12:16:49 -08:00
Myk Taylor
2877f87d78
implement new autochop
2023-01-08 23:28:06 -08:00
Myk Taylor
c4a2bdd08e
update lua too
2023-01-05 17:35:33 -08:00
Myk
78be3a6463
Merge pull request #2548 from myk002/myk_logo
...
Display DFHack logo for the hotkeys overlay widget
2023-01-04 19:06:05 -08:00
Myk Taylor
8e62a46009
display new logo for the hotkeys overlay widget
2023-01-04 13:30:33 -08:00
Myk Taylor
1b1bfc40e7
move default hotspot pos one tile to the right
...
so it doesn't overlap with screen borders
2023-01-03 12:07:40 -08:00
Myk
bb1a165d5b
Merge pull request #2544 from myk002/myk_hotkeys_revamp
...
comment out most keybindings and revamp hotkeys widget
2023-01-02 20:43:06 -08:00
Myk
3b572b9a9d
Merge pull request #2541 from myk002/myk_pathable
...
Update pathable plugin to support v50 maps
2023-01-02 20:42:12 -08:00
Myk Taylor
2119d4fb2a
attach hotkeys widget to all viewscreens
...
and introduce new snazzy logo
2023-01-01 17:21:35 -08:00
Myk Taylor
09e240b412
allow overlay widgets to 'all' viewscreens
2023-01-01 17:20:06 -08:00
Myk Taylor
11333e3872
update pathable plugin to support v50 maps
2022-12-31 21:05:03 -08:00
Myk Taylor
c401154393
widgets inherit from Panel and can be perma-enabled
2022-12-31 21:02:00 -08:00
Myk Taylor
ec0b4a9b68
don't let anchor graphics poke through the hotkeys widget
2022-12-27 17:01:39 -08:00
myk002
e88b1fdfe5
move script-manager into core
2022-12-10 21:59:51 -08:00
myk002
0d4d10de08
rename init to reload
2022-12-10 21:59:51 -08:00
myk002
a872cdbcd4
no onChangeState fn, let scripts attach themselves
2022-12-10 21:59:51 -08:00
myk002
426a538e30
refactor overlay to use script-manager code
2022-12-10 21:59:51 -08:00
myk002
b3c8d85637
new plugin: script-manager
...
scans all scripts and discovers onStateChange and isEnabled functions
2022-12-10 21:59:51 -08:00
myk002
1547d527b7
fix off-by-one error in dwarfmonitor.misery widget
2022-12-04 15:34:00 -08:00
lethosor
40f3a3333e
Make Cursor widget prefix and coordinate types configurable
...
e.g. the old behavior can be restored with "coords_type": "mouse_ui" and
"coords_short": true
2022-12-01 00:08:56 -05:00
myk002
ce1ef15bb2
reduce hotspot visuals to a single exclamation mark
2022-11-30 18:13:19 -08:00
myk002
1851a82fe1
close the hotkey menu if the mouse "flicks" onto it
...
also initialize the selected item properly if the widget is anchored to
the bottom of the screen
2022-11-30 18:11:02 -08:00
myk002
f5d20c99a3
prep for usage by gui/overlay
2022-11-29 15:12:02 -08:00
myk002
9d17be84a8
set width to something representative on init
...
so if the widget is enabled in gui/overlay without ever being resized with real data,
it won't be truncated
2022-11-29 15:12:02 -08:00
myk002
24dc879888
adapt library code to newly correct mouse events
2022-11-21 17:36:46 -08:00
Myk
ff447d46bd
don't overcount units for misery widget
...
addendum to #2366
2022-11-20 09:45:23 -08:00
Myk
35cea1b5e1
Merge pull request #2371 from myk002/myk_overlay_hotkeys
...
[hotkeys] implement hotspot menu widget
2022-11-14 16:50:30 -08:00
myk002
6635b6489b
handle commands like ':lua <something>'
2022-11-14 16:46:03 -08:00
myk002
1fc30493c0
right align hotkeys for list items
...
and combine hotkeys for identical commands
and don't hide the menu until the mouse has left the frame
and start the widget one tile closer to the edge so the mouse is already
on the list instead of on the frame
2022-11-14 16:46:02 -08:00
myk002
2b73d6e8e9
allow hotkeys to be invoked as a hotkey
...
also ensure keybindings are always cleaned up
2022-11-14 16:46:02 -08:00
myk002
c630a71c73
click on arrow to launch gui/launcher with command
2022-11-14 16:46:01 -08:00
myk002
d8c86fd0b1
allow commands with hotkey guards to work
2022-11-14 16:46:01 -08:00
myk002
fb7b55fb11
open gui/launcher with the command on right arrow
2022-11-14 16:46:01 -08:00
myk002
ae2d9008ef
add frames around menu panels
2022-11-14 16:46:00 -08:00
myk002
6e005d4a8d
implement basic logic for hotspot menu
2022-11-14 16:46:00 -08:00
myk002
e3498f275f
fix dwarfmonitor weather widget
2022-11-14 16:45:08 -08:00
myk002
9ce9d2001c
adapt dwarfmonitor widgets to new API
2022-11-14 16:45:07 -08:00
myk002
2cf6767589
migrate dwarfmonitor widgets to overlay v2
2022-11-14 16:45:07 -08:00
myk002
19289bf3c8
clean up docs and code
2022-11-14 16:40:36 -08:00
myk002
208e96c1b7
bounds check overlay_onupdate_max_freq_seconds
2022-11-14 16:40:35 -08:00
myk002
9bdc995f20
write docs and make implementation match the docs
...
added ability to enable/disable all
added showing current widget configuration
added moving widget back to default coordinates
2022-11-14 16:40:35 -08:00
myk002
ffc09ff25d
record explicitly triggered widget screens
2022-11-14 16:40:35 -08:00
myk002
1ebf58ff83
rewrite conf management according to discord convo
...
move non-user-editable state into the widget config
remove registry json files
all user-editable state is now in a single overlay.json file
2022-11-14 16:40:35 -08:00
myk002
6e6e174c31
implement CLI interface
2022-11-14 16:40:34 -08:00
myk002
a76c04c9ec
load overlay widget configuration
2022-11-14 16:40:34 -08:00
myk002
bd318b7a21
implement basic overlay event logic
2022-11-14 16:40:34 -08:00
myk002
d7fba5c720
add stub lua layer for overlay
2022-11-14 16:40:34 -08:00
myk002
b1bf80e585
support "group" file split strategy for blueprint
2022-10-14 12:27:24 -07:00
myk002
c52138b168
generate meta blueprints
2022-10-12 17:42:36 -07:00
myk002
80d993e734
split rooms phase from query and record names
2022-10-12 16:01:54 -07:00
myk002
b78af72403
record built constructions in blueprint
2022-10-12 13:31:46 -07:00
myk002
598f2c4b12
support --smooth option for blueprints
2022-10-12 10:10:53 -07:00
myk002
cc61d4a82a
use rendered help instead of hard-coded
2022-10-10 17:03:57 -07:00
myk002
03027b513a
Merge branch 'develop' into docs
2022-08-03 22:55:38 -07:00
myk002
3983b4d75b
update docs
2022-08-03 21:44:25 -07:00
myk002
3f61e2302c
split autobutcher out from zone
2022-08-03 21:44:24 -07:00
myk002
0096f7c882
split autonestbox out from zone
2022-08-03 21:44:24 -07:00
myk002
4cb57d25f1
update dig-now docs
2022-07-22 17:46:33 -07:00
Myk
091068c710
[prospect] give player control over which information is output ( #2231 )
...
* give player control over prospect output
* suspend the core *before* we call to Lua
2022-07-06 06:57:13 -07:00
Josh Cooper
d38ab1d152
Fix UNIT_NEW_ACTIVE events ( #2197 )
...
* Updates eventful.lua to use UNIT_NEW_ACTIVE
* Fixes bug #2189
* Revises activeUnits declaration/initialization
* Fixes build error
* Update changelog.txt
* reword changelog entry
* add changelog entry for event name change
Co-authored-by: Myk <myk002@yahoo.com>
2022-06-17 09:34:41 -07:00
Warmist
fc384fd1a2
Update eventful.lua ( #2203 )
...
* 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>
2022-06-12 07:12:49 -07:00
Myk
77d045488b
Confirmation dialog for removing manager orders ( #2163 )
2022-05-23 21:17:52 -07:00
Josh Cooper
fe29bff845
Adds cxxrandom unit test and fixes interface problems ( #2099 )
...
* 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
2022-04-30 21:46:47 -07:00
lethosor
d1f0edd33b
Apply initial pre-commit config
2022-04-12 14:48:19 -04:00
myk002
54e8761aa0
capture fortifications and engravings in blueprint
2022-04-01 12:20:37 -07:00
Josh Cooper
ba5710f263
Adds new event type NEW_UNIT_ACTIVE
2022-03-12 11:33:27 -08:00
Josh Cooper
2b8024e62f
Updates eventful plugin with new EventManager event JOB_STARTED
2022-03-12 11:33:27 -08:00
myk002
434d072919
implement zone phase for blueprint
2021-10-04 15:32:26 -07:00
myk002
ffe5bad66b
implement "track" phase in blueprint
...
required decoupling phases from modes since now we have two "dig" phases
2021-10-04 12:53:31 -07:00
myk002
c23970f36b
add unit tests
2021-09-20 16:10:15 -07:00
myk002
596f72f06b
implement --playback-start param and logic
2021-09-20 16:10:15 -07:00
myk002
772e386427
implement --format option for minimal and pretty
...
pretty is currently equivalent to the previous format, though there will
be changes in the future
2021-09-17 10:57:26 -07:00
myk002
0747f872b0
add --splitby param to blueprint
...
--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.
2021-09-09 09:58:53 -07:00
myk002
8fb456313f
allow only one positional param to be specified
2021-07-30 13:09:20 -07:00
myk002
95fa9f3d7a
use new library functions in dig-now
2021-07-30 13:09:20 -07:00
myk002
71c605afd4
make options configurable and document
2021-07-30 13:09:13 -07:00
myk002
20dbd746a8
fix typo
2021-07-09 21:58:32 -07:00
myk002
aba1750bac
use new argparse functions
2021-07-09 21:58:32 -07:00
myk002
a09f4d9b63
add --cursor and --quiet options to tiletypes-here
2021-07-09 21:58:32 -07:00
myk002
f62ff3ecc0
migrate existing lua code to use new library fns
2021-07-05 15:48:51 -07:00
myk002
367fdbd31c
normalize pathnames and handle dirs as basenames
2021-06-29 14:25:30 -07:00
lethosor
2fc5fbacb5
Merge remote-tracking branch 'myk002/myk_reveal_unhideFlood' into develop
2021-06-19 01:08:05 -04:00
myk002
fb8d6614c7
expose core flood unhide logic to Lua
...
refactor is a straight copy-paste. this code could really stand some
cleanup (unused vars, unnecessary use of the MapCache layer, forced
allocation of all blocks even if they are not being unhidden, etc.), but
that can come in a later PR.
2021-06-02 14:49:19 -07:00
myk002
1b1b4245c9
report output filenames when creating blueprints
...
also refactor so we can get this data from gui/blueprint
2021-05-31 15:34:19 -07:00
myk002
1aaed3a6ed
error on invalid phase names
2021-05-21 06:34:28 -07:00
myk002
256ca13668
make short help text more generic
2021-05-14 23:07:44 -07:00
myk002
5a149f44e0
use setHotkeyCmd instead of dfhack.run_script
2021-05-14 23:02:04 -07:00
myk002
816cd5cf27
add unit tests
2021-05-10 21:11:13 -07:00
myk002
cc489db084
add comment to parse_gui_commandline function
2021-05-10 21:11:13 -07:00
myk002
7c7d96b5c1
output args being passed to gui/blueprint
2021-05-10 21:11:13 -07:00
myk002
a7a5a48c7a
first stage of blueprint overhaul
...
- make depth and name parameters optional
- allow depth to be negative to indicate top-down instead of the
previous hard-coded bottom-up
- add --cursor for specifying start position (game cursor is not needed
if this param is specified)
2021-05-10 21:11:10 -07:00
lethosor
257f8dbe00
buildingplan: fix size calculation for constructions
...
Planning a 4x2 construction with DF's `umkh` keys (i.e. not automaterial's box-select) would previously produce a 5x3 construction instead, for example.
2021-04-01 00:16:54 -04:00
myk002
aac958aa50
add open() wrapper fn and document class methods
2021-03-22 09:38:20 -07:00
myk002
69a2f44020
Lua class wrappers for the xlsxreader plugin API
2021-03-08 15:04:50 -08:00
lethosor
1b2eed7c5e
confirm convict: use visible name to avoid exposing alternate identities
...
Ref #1593
See also:
https://www.reddit.com/r/dwarffortress/comments/ltzu82/if_i_wasnt_sure_i_found_the_vampire_before/
http://www.bay12forums.com/smf/index.php?topic=164123.msg8253738#msg8253738
2021-02-28 01:01:47 -05:00
Myk Taylor
d0fc448a39
add 'enable all' option for buildingplan
...
This kind of functionality is much more important now than it used to
be since there are so many supported building types.
Also modified the 'Planning Mode' status on the building placement
screen to reflect whether we're in quickfort mode, enable all mode, or
whether just the building type is enabled.
this setting is not persisted (just like quickfort_mode is not
persisted), but it can be set from onMapLoad.init
2021-01-24 09:08:36 -08:00
lethosor
d437cfe649
Add test for invalid job types in workflow's job_outputs
2020-12-15 21:36:57 -05:00
lethosor
5d3924a8c0
Remove old jobs from plant_products
...
Identified by Quietust in #1722
2020-12-14 00:04:53 -05:00
lethosor
123c207d9c
Fix error in material_defs lookups
...
Changed in dfhack/df-structures@7dfea1f1d4
Fixes #1722
2020-12-14 00:03:29 -05:00
myk002
efdba8b596
add buildingplan.isPlannedBuilding
2020-11-13 10:18:54 -08:00
lethosor
9c13b497bf
Merge remote-tracking branch 'myk002/myk_automaterial_buildingplan_fix' into develop
2020-11-11 23:36:42 -05:00
Myk Taylor
fbc26336cf
don't show quality properties for no-quality items
...
for items that cannot have a quality or be decorated:
in place mode, don't show quality adjustment hotkeys (or isDecorated
flag hotkey) and don't interpret the associated keycodes if they are
pressed.
in query mode, don't show quality or decorated fields.
2020-10-31 02:25:26 -07:00
Myk Taylor
22ac163d55
improve UX between automaterial and buildingplan
...
solves the confusing behavior when both automaterial and buildingplan
are enabled for constructions. the two plugins now communicate with each
other over the Lua layer to negotiate consistent behavior.
if neither plugin is enabled, the standard DF UI acts as normal
if automaterial is enabled but buildingplan is not, then automaterial
behavior is unchanged.
if buildingplan is enabled and automaterial is not then behavior is
the same as other buildings with buildingplan (no material selection
screen, screen stays on building placement screen after placement).
this commit fixes a bug, though, where buildingplan would only lay
down a single tile of contruction instead of a solid block when a
block is requested.
if both plugins are enabled but buildingplan is not enabled for the
building type then automaterial is unchanged from previous behavior,
execpt for an additional header showing the separation between
automaterial hotkeys and buildingplan hotkeys.
finally, if both plugins are enabled and buildingplan is enabled for the
building type then buildingplan behavior prevails, but the box select and
hollow designations features of automaterial are still usable and
useful. the 'Auto Mat-select', 'Reselect Type', and "Open Placement"
automaterial hotkeys are hidden in the UI and ignored in the feed. This
is because buildingplan takes over material selection, so 'Auto
Mat-select' doesn't make sense. Buildingplan also already stays on the
placement screen after placement, so 'Reselect Type' is not necessary.
And all buildingplan-placed buildings have relaxed placement
restrictions (e.g. they can be built in mid-air) so 'Open Placement' is
also not necessary. The missing options are replaced with blank lines so
the vertical alignment of all other options stays constant.
we also remove a few extra lua_pop() calls that are made superfluous by
the StackUnwinder.
2020-10-29 11:00:49 -07:00
lethosor
08bb6ca35e
Tweak colors
...
Ref #1684
2020-10-29 00:03:07 -04:00
Myk Taylor
c1af3e2817
document what happens if no types are allowed
2020-10-26 21:13:11 -07:00
Myk Taylor
7e78d8802e
migrate qf's buildings_use_blocks to buildingplan
...
- remove buildings_use_blocks setting from quickfort config file
- add a new Buildingplan Global Settings dialog to house global settings
- move Quickfort Mode (for legacy Python Quickfort) into that dialog
- add four settings to control how generic building materials are matched:
- blocks
- boulders
- logs
- bars
- ajust the buildingplan algorithm to register duplicate tasks for
building material item filters, one for each type. since we track how
many items we've matched for a filter, the first matched item will
"win" and the extras will get detected as invalid and popped off the
queue.
- ensure boulders, logs, and bars are scanned last, and in that order
- more global settings planned for the future! see
http://www.bay12forums.com/smf/index.php?topic=176889.msg8202679#msg8202679
2020-10-22 21:37:49 -07:00
Myk Taylor
09fbaba726
buildingplan: support all building types
...
Allow buildingplan to handle all building types, update the docs, and add in little extra fixes to ensure all the new types work correctly.
2020-10-16 14:23:35 -07:00
Myk Taylor
100b374af7
generalize buildingplan for all building types
...
but restrict to only the currently supported set so we can still assume only one filter is required for each building.
changes:
- update buildingplan plugin version to 2.0
- new serialization format for planned buildings
- old persistent data is automatically migrated to new format on load
- algorithm now respects job_item filters; items must match job_item filter and buildingplan ItemFilter
- more invalid items are now filtered out, like items encased in ice. are there any others we should be checking (see BadFlags struct)
- items are sorted before job is unsuspended so final item ordering is correct regardless of what order the items were matched and attached
- item counts in filters are kept up to date so if buildingplan is disabled before all filters are matched and the building is completed by DF itself, the item counts will come out correct (though the item ordering and building "roughness" may be incorrect)
- fixes two memory leaks in building finalization code
- allows artifacts to be matched (ItemFilter defaults now top out at Masterful -- Artifact is selectable but must be manually specified)
- add gui to switch between items for buildings that require multiple item types
2020-10-16 14:08:52 -07:00
Myk Taylor
1368fb4003
buildingplan: construct buildings from lua
...
Replace C++ building construction code with lua constructBuilding so we can get the proper job_item filters set. these filters will be used when we replace the core buildingplan algorithm in the next PR.
2020-10-16 14:03:05 -07:00
Myk Taylor
82013c0c5e
prep buildingplan for core algorithm changes
...
Lots of refactoring and reorganizing, with only cosmetic player-visible changes.
- show quickfort mode hotlkey label regardless of whether the current building type has buildingplan enabled. before, it was only shown after the user enabled buildingplan for the current building. this eliminates the extra step when enabling quickfort mode, which force-enables all building types.
- changed signature of lua-exported isPlannableBuilding to take subtype
and custom type in addition to building type. this is only used by
quickfort, and it already sends all three params in preparation for
this change
- added lua-exported scheduleCycle(), which is like doCycle(), but only
takes effect on the next non-paused frame. this lets quickfort
run only one buildingplan cycle regardless of how many #build
blueprints were run
- declared a few dfhack library methods and params const so buildingplan
could call them from const methods
- converted buildingplan internal debug logging fn to have a printf api
- reshaped buildingplan-planner API and refactored implementation in
preparation for upcoming core algorithm changes for supporing all
building types (no externally-visible functionality changes)
- changed df::building_type params to type, subtype, custom tuple keys
- introduced capability to return multiple filters per building type
(though the current buildings all only have one filter per)
- split monolith hook functions in buildingplan.cpp into one per scope.
this significantly cleans up the code and preps the hooks to handle
iterating through multiple item filters.
- got rid of send_key function and replaced with better reporting of
whether keys have been handled
2020-10-16 13:52:23 -07:00
lethosor
19a4d1df5a
Merge remote-tracking branch 'myk002/quickfort_buildingplan' into develop
2020-08-17 23:43:05 -04:00
Myk Taylor
e4a35514ab
document buildingplan Lua API
2020-08-15 23:03:49 -07:00
Myk Taylor
42108a64b9
expose basic buildingplan functionality to Lua
2020-08-12 15:24:32 -07:00