dfhack/plugins
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
..
devel check-structures-sanity: report known void* types with a better message 2020-04-19 22:03:03 -05:00
diggingInvaders Update structures, fix reaction_productst::produce() parms 2020-06-23 13:31:27 -06:00
embark-assistant Set min_waterfall special cases outside loop 2020-08-23 17:35:45 +00:00
isoworld@e3c49ab017 Update stonesense, isoworld 2020-02-21 08:27:57 -05:00
labormanager Fix road building (#1596) 2020-08-08 14:46:42 -04:00
lua improve UX between automaterial and buildingplan 2020-10-29 11:00:49 -07:00
proto Reorder .proto comments 2020-07-18 12:48:20 -04:00
raw Fix reaction errors, make quantities more consistent 2014-02-13 11:37:04 -06:00
remotefortressreader Merge remote-tracking branch 'RosaryMala/remote_reader' into develop 2020-07-13 19:58:33 -04:00
rendermax rendermax: move to std::mutex 2020-05-04 18:38:54 -04:00
ruby Ruby: add _indexenum wrapper to OtherVectors for compat with devel/scanitemsother 2020-07-26 23:11:04 -04:00
skeleton Merge branch 'develop' into cmake-cleanup 2019-08-23 23:58:00 -04:00
stockpiles stockpiles: remove sand_bags field 2020-08-29 20:04:09 -04:00
stonesense@87e6cf02b9 Fix some spelling errors 2020-07-22 02:23:29 -04:00
tweak Update some docs links to use HTTPS 2020-10-09 19:17:59 -04:00
.keep Making ready for adding plugins. Fixes all over the place, more removal of obsolete parts. 2011-06-20 01:12:07 +02:00
3dveins.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
Brushes.h Allow canceling lineedit with ctrl+c 2018-07-04 15:21:25 +03:00
CMakeLists.txt improve UX between automaterial and buildingplan 2020-10-29 11:00:49 -07:00
Plugins.cmake Merge branch 'develop' into cmake-cleanup 2019-07-20 19:22:33 -04:00
add-spatter.cpp Update structures, fix reaction_productst::produce() parms 2020-06-23 13:31:27 -06:00
advtools.cpp dead flag -> !isActive 2018-06-14 12:29:48 +02:00
autochop.cpp update for DFHack/df-structures#7dfea1f1d4e453b97d5529785701db46360596ce 2020-06-29 16:16:44 -05:00
autoclothing.cpp autoclothing: add docs 2019-11-02 22:00:43 -04:00
autodump.cpp Fix periodic events in several plugins 2018-05-29 23:24:02 -04:00
autofarm.cpp autofarm: fix GCC warnings 2020-01-18 20:53:13 -05:00
autogems.cpp autogems: check bin content in linked stockpiles 2020-04-12 11:02:26 +02:00
autohauler.cpp Remove and replace checks for OnBreak 2018-11-24 14:52:26 -05:00
autolabor.cpp Remove and replace checks for OnBreak 2018-11-24 14:52:26 -05:00
automaterial.cpp improve UX between automaterial and buildingplan 2020-10-29 11:00:49 -07:00
automelt.cpp Fix periodic events in several plugins 2018-05-29 23:24:02 -04:00
autotrade.cpp Fix periodic events in several plugins 2018-05-29 23:24:02 -04:00
blueprint.cpp gcc-4.8 compatibility 2020-07-15 21:35:21 -07:00
building-hacks.cpp Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
buildingplan-lib.cpp prep buildingplan for core algorithm changes 2020-10-16 13:52:23 -07:00
buildingplan-lib.h prep buildingplan for core algorithm changes 2020-10-16 13:52:23 -07:00
buildingplan-planner.cpp Merge remote-tracking branch 'myk002/buildingplan_building_material_filters' into develop 2020-10-28 23:57:55 -04:00
buildingplan-planner.h migrate qf's buildings_use_blocks to buildingplan 2020-10-22 21:37:49 -07:00
buildingplan-rooms.cpp reorganize buildingplan code - no logic changes 2020-09-08 00:17:56 -07:00
buildingplan-rooms.h reorganize buildingplan code - no logic changes 2020-09-08 00:17:56 -07:00
buildingplan.cpp improve UX between automaterial and buildingplan 2020-10-29 11:00:49 -07:00
burrows.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
changeitem.cpp Fix whitespace issues 2015-02-14 22:53:06 -05:00
changelayer.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
changevein.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
cleanconst.cpp Update some plugins to use REQUIRE_GLOBAL 2014-12-03 23:26:54 -05:00
cleaners.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
cleanowned.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
command-prompt.cpp Merge remote-tracking branch 'suokko/spotclean_ui_state_fix_1194' into develop 2018-07-07 18:08:53 -04:00
confirm.cpp Add confirmation for convicting dwarves of crimes 2020-06-20 12:06:50 -04:00
createitem.cpp Make `createitem inspect` consistent for PLANT_GROWTH items 2020-10-09 12:45:49 -04:00
cursecheck.cpp cursecheck: Fix werecreature detection 2020-02-15 17:09:18 -05:00
cxxrandom.cpp update structures; fix some minor compile warnings 2020-02-05 12:35:43 -06:00
debug.cpp fix some warnings 2020-02-10 19:35:17 -06:00
deramp.cpp Add designation job check to deramp 2018-06-20 15:54:31 +03:00
dfstream.cpp Replace translate_socket_error() implementations with DescribeError() 2015-10-03 10:37:48 -04:00
dig.cpp Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
digFlood.cpp Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
dwarfmonitor.cpp dwarfmonitor prefs: fix segfault if item_subtype is null for some item types 2020-10-11 20:45:56 -04:00
dwarfvet.cpp dwarfvet log only if enabled (fix #1504) 2020-02-24 13:54:47 -05:00
embark-tools.cpp Fix unlikely memory leaks if Screen::show fails 2018-06-19 16:41:31 +03:00
eventful.cpp Update structures, fix reaction_productst::produce() parms 2020-06-23 13:31:27 -06:00
fastdwarf.cpp Update xml, scripts, change unit_action.data field names back 2020-03-30 03:00:41 -04:00
filltraffic.cpp Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
fix-armory.cpp Merge ui_area_map_width into ui_menu_width, now a 2-byte array 2017-12-03 20:34:59 -06:00
fix-unit-occupancy.cpp fix-unit-occupancy, autogems: stop running while embarking 2018-06-21 16:16:54 -04:00
fixveins.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
flows.cpp Update remaining plugins to use REQUIRE_GLOBAL 2014-12-06 19:30:05 -05:00
follow.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
forceequip.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
fortplan.cpp Merge remote-tracking branch 'myk002/buildingplan_refactor4_algorithm_squashed2' into develop 2020-10-26 21:24:05 -04:00
generated-creature-renamer.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
getplants.cpp getplants: fix crash when world_object_data is not present for certain blocks 2020-09-20 01:24:46 -04:00
hotkeys.cpp Fix unlikely memory leaks if Screen::show fails 2018-06-19 16:41:31 +03:00
infiniteSky.cpp Shorten "ls" help for plugins 2016-04-15 16:28:41 +10:00
isoworldremote.cpp Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
jobutils.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
lair.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
liquids.cpp Allow canceling lineedit with ctrl+c 2018-07-04 15:21:25 +03:00
listcolumn.h Expose to_search_normalized to Lua, add test, and use in ListColumn (most useful for the `stocks` plugin) 2020-10-10 01:40:00 -04:00
luasocket.cpp Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
manipulator.cpp Recalculate size after toggling columns (goals can be longer than professions) 2020-08-08 00:45:57 -04:00
map-render.cpp Update map-render.cpp 2018-12-06 15:21:19 +02:00
misery.cpp Adapted to changed Units functions 2018-06-14 10:30:35 -04:00
mode.cpp Allow canceling lineedit with ctrl+c 2018-07-04 15:21:25 +03:00
mousequery.cpp mousequery: Fix some more instances of map boundary checks 2019-05-16 23:30:03 -04:00
nestboxes.cpp nestboxes: Use buildings.others[NEST_BOX] 2018-08-16 11:33:59 -05:00
orders.cpp match capitalization changes I made to df-structures in specific_ref 2020-04-15 20:05:15 -05:00
pathable.cpp Add new "pathable" plugin 2017-07-05 23:54:55 -04:00
petcapRemover.cpp dead flag -> !isInactive 2018-06-14 12:33:18 +02:00
plants.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
power-meter.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
probe.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
prospector.cpp Fix prospector out-of-bounds crash and improve checking 2018-07-21 00:27:11 -04:00
regrass.cpp Fix whitespace issues 2015-02-14 22:53:06 -05:00
rename.cpp Update remaining plugins to use REQUIRE_GLOBAL 2014-12-06 19:30:05 -05:00
resume.cpp resume: use map y dimension and fix off-by-one error 2017-06-03 11:24:23 -04:00
reveal.cpp Fix revflood bug, was revealing some tiles from below inappropriately 2018-06-09 14:19:52 -06:00
search.cpp Add to_search_normalized to search for characters with accents 2020-09-24 07:31:10 -07:00
seedwatch.cpp Remove execute permission on files that are not executables. 2018-07-03 15:37:16 -05:00
showmood.cpp Make df2console only call df2utf if the output stream is a console 2018-07-09 11:00:28 -04:00
siege-engine.cpp Remove and replace checks for OnBreak 2018-11-24 14:52:26 -05:00
sort.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
steam-engine.cpp Replace many includes with forward declarations in modules/Maps.h 2016-08-13 21:44:01 -04:00
stockflow.cpp Fix periodic events in several plugins 2018-05-29 23:24:02 -04:00
stocks.cpp Merge remote-tracking branch 'PatrikLundell/stocks' into develop 2020-04-25 21:12:27 -04:00
strangemood.cpp Use language_name_type enum item names 2020-07-11 02:05:38 -04:00
tailor.cpp Fix tailor plugin switch statement warnings (no functionality change) 2019-12-06 12:24:27 -06:00
tiletypes.cpp Allow canceling lineedit with ctrl+c 2018-07-04 15:21:25 +03:00
title-folder.cpp Don't print an error about not being able to get the SDL title in text mode. 2020-01-15 16:07:41 -06:00
title-version.cpp Add support for DFHACK_BUILD_ID 2018-07-11 11:47:55 -04:00
trackstop.cpp Add "DFHack" indicator to trackstop menus 2015-02-17 14:13:53 -05:00
tubefill.cpp Fix printf format warnings 2018-06-11 19:57:06 +03:00
uicommon.h prep buildingplan for core algorithm changes 2020-10-16 13:52:23 -07:00
versionosd.cpp Tweaks! 2012-03-29 18:37:22 +02:00
workNow.cpp Shorten "ls" help for plugins 2016-04-15 16:28:41 +10:00
workflow.cpp match capitalization changes I made to df-structures in specific_ref 2020-04-15 20:05:15 -05:00
xlsxreader.cpp closing NULL pointers is ok 2020-08-15 23:37:21 -07:00
zone.cpp enumnick: command added to 'zone' plugin and other QoL improvements 2020-09-19 14:52:16 +02:00