Commit Graph

5187 Commits (4e48ce64f111778929900caeb777be7ed5cac633)

Author SHA1 Message Date
Kelly Kinkade 5e9ddd9a36 reveal: vertical whitespaec 2023-01-06 14:34:59 -06:00
Kelly Kinkade 779e159512 enable reveal
`reveal demon` is disabled due to double popup bug
`reveal` also has guidance text that appears if the player is in graphics mode explaining the limitations of the new renderer
2023-01-06 13:56:19 -06:00
Myk Taylor 3969262e44
update submodule refs 2023-01-05 17:50:49 -08:00
Myk Taylor 845391f4e6
fix overzealous "ui" -> "plotinfo" replacement
some comments were just talking about the UI..
2023-01-05 17:46:30 -08:00
Myk Taylor c4a2bdd08e
update lua too 2023-01-05 17:35:33 -08:00
Myk Taylor 5e5775f5e3
rename globals according to structures update 2023-01-05 17:11:01 -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
Rose 0d18dd508a Merge remote-tracking branch 'DFHack/develop' into develop
# Conflicts:
#	library/xml
2023-01-04 15:02:33 -08:00
Rose 67b95bf35f Compile Remote Fortress Reader 2023-01-04 15:01:46 -08:00
Myk Taylor 8e62a46009
display new logo for the hotkeys overlay widget 2023-01-04 13:30:33 -08:00
Myk Taylor 898e23d6a5
use lookup instead of hardcoding texpos 2023-01-03 12:08:09 -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 f72b3524ae
Merge pull request #2545 from myk002/myk_autobutcher
update autobutcher to work with v50
2023-01-02 20:43:21 -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 bebecec1e5
update autobutcher to work with new zoo structures 2023-01-01 16:32:56 -08:00
Myk Taylor a123452eba
use dims from DwarfmodeDims now that they're fixed 2022-12-31 23:20:46 -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
Rose b8f4da65bb Merge remote-tracking branch 'DFHack/develop' into develop 2022-12-28 16:06:21 -08:00
Myk Taylor ec0b4a9b68
don't let anchor graphics poke through the hotkeys widget 2022-12-27 17:01:39 -08:00
Rose 6783075ff2 Get RFR to actually compile. Many structure changes so it doesn't work yet. 2022-12-27 00:46:04 -08:00
Rose 5f70a26803 Comment out the dwarf mode UI for now. (Forever?) 2022-12-26 17:15:12 -08:00
Rose b1ea3e8f02 Remove a few things from building_reader that haven't been updated yet. 2022-12-26 17:05:06 -08:00
Rose 947863750e Comment out all adventure mode stuff. The game doesn't support it anymore anyway, and it will sureley change when it does. 2022-12-26 16:57:19 -08:00
Myk Taylor e781cc5141
add new viewscreens to overlay 2022-12-20 20:18:00 -08:00
Myk Taylor e8a1e10272
build wave 1 and 2 plugins
but don't enable anything by default yet
2022-12-19 13:43:33 -08:00
Myk Taylor a1110ec894
also don't build stonesense, isoworld, dev plugins 2022-12-18 17:31:54 -08:00
Myk Taylor 990f9f6061
comment out all plugins and default tool init
until we can prove things work in v50
2022-12-18 17:25:18 -08:00
Myk Taylor 37aa3dfced
fix build of kittens dev plugin on msvc 2022-12-10 23:52:36 -08:00
Myk Taylor 1c5bc23120
update HEAD for stonesense 2022-12-10 23:51:43 -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
Myk Taylor facdb61e42
explicitly declare namespaces and proto versions 2022-12-10 18:06:53 -08:00
myk002 dec6d3d379
Revert "update google protobuf to 3.21.10"
This reverts commit 9dabf51ac7.
2022-12-07 11:59:48 -08:00
myk002 9dabf51ac7
update google protobuf to 3.21.10 2022-12-07 11:59:15 -08:00
myk002 6fc62946e4
remove obsolete fix_job_postings command 2022-12-06 16:22:39 -08:00
myk002 7e6b8618ea
remove command-prompt 2022-12-04 15:56:11 -08:00
myk002 1547d527b7
fix off-by-one error in dwarfmonitor.misery widget 2022-12-04 15:34:00 -08:00
Myk fb42951afe
Merge pull request #2464 from myk002/myk_cleanup
remove unused "plugin" file
2022-12-03 18:47:04 -08:00
Myk 017d473903
Merge pull request #2460 from myk002/myk_buildingplan
move buildingplan into subdir
2022-12-03 18:46:42 -08:00
myk002 8d9fba665e
remove unused "plugin" file 2022-12-02 17:04:18 -08:00
myk002 fa9a3fcbbf
add missing CMakeLists file 2022-12-02 16:32:21 -08:00
Kelly Kinkade d62514b201 fix stupid typo in cmakefile 2022-12-02 17:08:17 -06:00
Kelly Kinkade 231b521c02 INFO -> TRACE in autolabor
sorry about that
2022-12-02 17:05:26 -06:00
myk002 e0aff474f3
move buildingplan into subdir 2022-12-02 14:22:48 -08:00
Myk ed52c4cd6e
Merge pull request #2374 from wolfboyft/movement-timer-api
Action timer API
2022-12-02 09:31:13 -08:00
Myk 08f267955c
Merge pull request #2454 from cppcooper/channel-safely
Implements plugin: channel-safely v1.1.1b
2022-12-01 16:49:32 -08:00
Josh Cooper e316b7aa75 Implements plugin: channel-safely v1.1.1b 2022-12-01 16:36:32 -08:00
Tachytaenius 0836962007 Rename [xyz]CategoryActionTimers to [xyz]GroupActionTimers in action timer API 2022-12-01 23:24:04 +00:00
Myk e7ca1cb0c1
Merge pull request #2452 from lethosor/dwarfmonitor-cursor-widget-config
Dwarfmonitor cursor widget config
2022-12-01 11:49:17 -08:00
Kelly Kinkade 437335454d make autohauler not be a chatty cathy
INFO -> TRACE
2022-12-01 09:00:50 -06:00
Tachytaenius f863b9807a Add action timer API input validation 2022-12-01 13:34:54 +00:00
Tachytaenius 7f54a77ed9 Continue work on unit action timer API 2022-12-01 13:34:54 +00:00
Tachytaenius 16ef4f8313 Rename action_type_group to unit_timer_action_type_group 2022-12-01 13:34:54 +00:00
Tachytaenius fa589b5764 Make progress with action timer API 2022-12-01 13:34:54 +00:00
Tachytaenius 0f8ce360ac Make first pass of action timer API 2022-12-01 13:34:54 +00: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
Kelly Kinkade 9b5a693637 death to whitespace 2022-11-30 21:46:35 -06:00
Kelly Kinkade cea9e144c6 switch autolabor & autohauler to debugging api
might need to change some of the message levels, time will tell
2022-11-30 21:46:35 -06:00
Kelly Kinkade 8d95d20852 remove stray whitespace 2022-11-30 21:43:56 -06:00
Kelly Kinkade 9fcb20888f realign autohauler and autolabor with each other
also clean up C++ code smells in both
2022-11-30 21:43:56 -06: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
lethosor 3b7206777e
spectate: avoid printing or taking action on load when disabled 2022-11-30 20:31:59 -05:00
Myk 760fbf7b8f
Merge pull request #2434 from cppcooper/channel-safely
Implements plugin: channel-safely v1.1b
2022-11-30 08:28:08 -08:00
Myk Taylor 8900bc84d8
fix crash in buildingplan
when a player cancels out of placing a building type with plan mode
enabled and then immediately switches to placing a different building
type where plan mode is not enabled, the placement errors array would be
erroneously cleared and allow placement of the building. this would
cause DF to crash if there were no materials available to build the
building with.
2022-11-30 04:51:11 -08:00
Kelly Kinkade bc502f8132 correct QUERN construct labor 2022-11-29 18:32:57 -06: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
Josh Cooper 3999ed5c72 Implements plugin: channel-safely v1.1b 2022-11-28 17:10:55 -08:00
myk002 23e467deaf
use consistent bounds checking style in hotkeys 2022-11-28 15:50:05 -08:00
myk002 4e7b4dc554
show hotkeys bound to number keys, F11, and F12 2022-11-28 15:37:01 -08:00
Myk 344ed4312b
Merge pull request #2111 from cppcooper/channel-safely
Channel safely
2022-11-23 12:41:50 -08:00
Myk e943b4ed31
Merge pull request #2413 from myk002/myk_resume
Turn down resume plugin
2022-11-23 11:29:56 -08:00
Myk a900b1789a
Merge pull request #2414 from myk002/myk_mouse_buttons
Make mouse button event behavior conform to docs
2022-11-23 11:29:20 -08:00
Josh Cooper c6b15b1ccb Implements plugin: channel-safely v1.2a 2022-11-22 11:03:28 -08:00
myk002 24dc879888
adapt library code to newly correct mouse events 2022-11-21 17:36:46 -08:00
myk002 cb338e4257
remove resume plugin
all functionality has been migrated to unsuspend
2022-11-21 15:27:40 -08:00
Josh Cooper 8a0999ffdc Implements plugin: channel-safely v1.1a 2022-11-21 12:39:26 -08:00
Josh Cooper 5352649b88 Implements plugin: spectate v1.0.3b
test
2022-11-21 12:26:40 -08:00
Josh Cooper 4a0abd1915 Implements plugin: spectate v1.0.2b 2022-11-21 12:26:40 -08:00
Josh Cooper b99e948b8a Implements plugin: spectate v1.0.1a 2022-11-21 12:26:40 -08:00
Josh Cooper 40cbe4fe88 Implements plugin: spectate v1.0a 2022-11-21 12:26:40 -08:00
Josh Cooper ec6cd8d53a Implements plugin: spectate v0.5
Fixes spectate not starting with the first job

Updates spectate.cpp

- refactors features/settings to under a `Configuration` struct with a global variable `config`
- refactors existing `config` => `pconfig`
- moves plugin logic, mostly, to namespace SP (spectate plugin)
- utilizes debugging log macros
- updates status format
- refactors status print code into a separate function
2022-11-21 12:26:27 -08:00
Josh Cooper 9959ef1b36 Implements plugin: channel-safely v1.0.1a 2022-11-21 09:26:55 -08:00
Josh Cooper 6c68e72295 Implements plugin: channel-safely v1.0a 2022-11-21 09:26:55 -08:00
Josh Cooper c4e55f1cc9 Implements plugin: channel-safely v0.6.1.3 2022-11-21 09:26:55 -08:00
Josh Cooper 3cb186a62f Implements plugin: channel-safely v0.6.1.2 2022-11-21 09:26:55 -08:00
Josh Cooper 8847ed23b4 Implements plugin: channel-safely v0.6.1.1 2022-11-21 09:26:55 -08:00
Josh Cooper a9f0021927 Implements plugin: channel-safely v0.6.1 2022-11-21 09:26:55 -08:00
Josh Cooper 92537bc459 Implements plugin: channel-safely v0.6 2022-11-21 09:26:55 -08:00
Josh Cooper fcd6696768 Implements plugin: channel-safely v0.5.3 2022-11-21 09:26:55 -08:00
Josh Cooper 84ffeef092 Implements plugin: channel-safely v0.5.2 2022-11-21 09:26:55 -08:00
Josh Cooper 9db0d809fa Implements plugin: channel-safely v0.5.1 2022-11-21 09:26:55 -08:00
Josh Cooper e5dbaac85d Implements plugin: channel-safely v0.5 2022-11-21 09:26:55 -08:00
Josh Cooper c2d346fc84 Implements plugin: channel-safely v0.4 2022-11-21 09:26:55 -08:00
Josh Cooper a8dcfeead9 Implements plugin: channel-safely v0.3.1 2022-11-21 09:26:55 -08:00
Josh Cooper b7ee01108e Implements plugin: channel-safely v0.3 2022-11-21 09:26:55 -08:00
Josh Cooper 3a6205d19e Removes extra EOF lines 2022-11-21 09:26:55 -08:00
Josh Cooper bd6c748d00 Implements plugin: channel-safely v0.2 2022-11-21 09:26:55 -08:00
Josh Cooper 22414f26fa Implements plugin: channel-safely v0.1 2022-11-21 09:26:55 -08:00
myk002 5967e5c9e0
fix up cleanowned status message
print unit id instead of raw pointer and display "wear level" instead of
just "wear"
2022-11-20 16:03:08 -08:00
Myk ff447d46bd
don't overcount units for misery widget
addendum to #2366
2022-11-20 09:45:23 -08:00
Kelly Kinkade 2bc2dd8f5b remove unnecessary 'const'
wouldn't it be nice if there was a single C++ standard that all compilers adhered to?
2022-11-20 10:21:32 -06:00
Kelly Kinkade 2453b34194 refactor common labor state map table
eliminates code duplication
2022-11-20 10:09:52 -06:00
Kelly Kinkade aa78c626f9 collect autolabor plugins into one directory
these plugins all share code, moving them into a common directory will make refactoring the code shared between them more straightforward
2022-11-20 01:58:08 -06:00
Kelly Kinkade 99f919c3dc autofarm: insert missing output flushes
insert calls to std::flush as appropriate

fixes #2365
2022-11-15 20:00:27 -06:00
Kelly Kinkade d191993376 autolabor/autohauler: add labor entries for 241-243
add missing entries for jobs 241, 242, and 243

this was fixed in labormanager in PR #1566 (see #1561) but was never addressed in autolabor or autohauler

should close #1994
2022-11-15 13:13:33 -06: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 bdf201c670
ensure keybinding shows up in hotkeys command
not overlay
2022-11-14 16:46:03 -08:00
myk002 47d7c477b3
show menu hotkey for list but not on the menu 2022-11-14 16:46:02 -08:00
myk002 a2efc41fef
use new anywhere hotkey and filter out own hotkey 2022-11-14 16:46:02 -08:00
myk002 de20603080
implement CLI commands 2022-11-14 16:46:02 -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 8bf987e7db
use a more natural ordering for modifier keys 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 66d3409a65
solve concurrency issues 2022-11-14 16:46:01 -08:00
myk002 5d29da31b0
rework hotkeys plugin to support the widget 2022-11-14 16:46:01 -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 56cf7e945c
use anywhere hotkey so the overlay can be invoked 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 6e0a583e8d
enable overlay from init scripts; self-enable bad
loading other plugin modules during plugin_init results in those other
plugin modules not getting initialized properly. specifically, their
DFHACK_PLUGIN_LUA_FUNCTIONS and commands don't get added to their lua
module namespaces.
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 94c6bc8063
refactor generic lua function caller to Lua ns 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
lethosor 2d40626912
Change other instances of "0x%p" to "%p"
Followup to c0f9488b61
2022-11-10 16:02:28 -05:00
myk002 c0f9488b61
fix double "0x" when printing address in probe 2022-11-10 10:48:04 -08:00
Myk eac7fac8e9
Merge pull request #2389 from myk002/myk_gui_anywhere
[Gui] add "anywhere" keybinding guard
2022-11-09 15:48:04 -08:00
myk002 8cd9c88981
use new standard "anywhere" hotkey in Gui 2022-11-09 14:34:39 -08:00
myk002 d95a5ac238
add string_to_int to MiscUtils.h 2022-11-09 11:55:29 -08:00
Myk 8a47c103fc
Merge pull request #2379 from myk002/myk_overlay_reset_and_simplify
[overlay] reset implementation and simplify with lovely preprocessor macros
2022-11-09 10:32:15 -08:00
myk002 dce312b83b
Revert "use preprocessor foreach to reduce boilerplate"
This reverts commit 5e845ec7983555a3577e583038da824902dbf477.
not compatible with our MSVC toolchain. we can revert this revert once
we update MSVC for the steam release
2022-11-09 09:37:51 -08:00
myk002 69673c2472
remove unused (and unusable) instance fields 2022-11-09 09:37:43 -08:00
myk002 2f81c3a696
use preprocessor foreach to reduce boilerplate 2022-11-09 09:37:43 -08:00
myk002 78e5c072e5
reset overlay code to skeleton 2022-11-09 09:37:43 -08:00
myk002 3a713c6368
update devel plugins 2022-11-07 17:52:39 -08:00
myk002 5b9c18fc3c
migrate string fns from uicommon to MiscUtils
and clean up some leaky usings
2022-11-07 15:36:16 -08:00
Myk 1e31cc197d
Merge branch 'develop' into spectate 2022-10-26 12:30:58 -07:00
Myk c7f4f57367
Merge pull request #2360 from myk002/myk_automaterial_render
[automaterial] fix render errors with box boundaries
2022-10-26 12:25:48 -07:00
Myk e60cbfc743
Merge pull request #2361 from myk002/myk_zjump_twbt
[mousequery] fix z-level jumps when clicking quickly
2022-10-26 12:25:40 -07:00
Josh Cooper 9dc199dac3
Apply suggestions from code review 2022-10-25 15:01:57 -07:00
Josh Cooper 48e0b53adc
Fixes logical error in new failsafe 2022-10-24 17:59:29 -07:00
Josh Cooper 606f204b82
Apply suggestions from code review 2022-10-24 17:57:14 -07:00
myk002 7b2119c4d1
remove debug statement that doesn't help 2022-10-24 17:03:28 -07:00
myk002 8b61a17009
prevent z-level from changing after box select
if the player clicks the mouse too fast after finishing a selection
2022-10-24 12:46:31 -07:00
myk002 01c46f7a7e
fix z-level jumps when clicking quickly
this happens when TWBT is enabled and multilevel is > 0
getDepthAt() returns inconsistent values for the same position, leading
to a mismatch when we "unshift" the coordinates to account for render
depth
2022-10-24 12:44:25 -07:00
myk002 6a57cc4450
fix render errors with automaterial box boundaries 2022-10-24 12:41:17 -07:00
Josh Cooper a39d3f20a7 Replaces unsigned integer for freq map's value to ensure reasonable p's 2022-10-21 00:02:42 -07:00
Josh Cooper f0baaff9db Merge remote-tracking branch 'origin/spectate' into spectate 2022-10-20 23:53:20 -07:00
Josh Cooper f66dd6f404 Implements change requests
- removes redundant `if (df::global::ui)` checks; and tested to ensure no segfaults cropped up like in the past times I've removed these
- removes useless `if (pause_lock)` pause lock is set when plugin initializes, even if pause lock was left null (since we technically don't need it, and that was the point of the null check) it still would be a useless check (actually an impediment preventing functionality)
- removes disabled interpose code
- removes lua linkage
- updates doc

extra:
- surrounds user input for tick frequency with `std::abs()` not that we would have ended up with a negative value, but it was probably a typo and this is easier than printing an error or letting it underflow past max int (on most systems)
2022-10-20 23:52:30 -07:00
Josh Cooper fd747525d0
Removes atomic_bool from pause.h
this is 99% for triggering CI
2022-10-15 22:58:21 -07:00
Josh Cooper 851ff10959 Fixes uninitialized warning 2022-10-14 18:23:48 -07:00
Josh Cooper 9b1541add5 Merge branch 'develop' into spectate 2022-10-14 17:41:34 -07:00
Josh Cooper 45ac340f37 Finalizes spectate update
- Fixes for state transitions that were found broken. eg. plugin disabled -> enable auto-unpause feature -> enable plugin (auto-unpause will not truly be enabled; similar transitions were broken)
- Adds a commented out lock for if the pause code is ever adopted into the core API, as to enable many mods to use the `World::SetPauseState()` without walking over each other, and in the case of `reveal hell` also be able to avoid needing to set the state every tick in onupdate
- Revises the usage docs with `enable|disable|set` syntax
2022-10-14 17:02:43 -07:00
Josh Cooper 736313d16b Extends pause api 2022-10-14 15:55:44 -07:00
Josh Cooper aa64dea61d Revert "Includes pause.h in spectate's cmake"
This reverts commit 2c9ce5f316.
2022-10-14 15:44:52 -07:00
Josh Cooper d53746ed48 Fixes various state transition edge cases 2022-10-14 15:43:39 -07:00
myk002 20c0b75f8b
reduce size of overlay button 2022-10-14 13:20:50 -07:00
myk002 fea0ce0718
fix cvs quoting 2022-10-14 13:11:26 -07:00
Josh Cooper 7c769ebb9c Disables pause locking and announcement manipulation code in spectate 2022-10-14 12:42:20 -07:00
Josh Cooper ff072bf0c2 Updates spectate's pause locking 2022-10-14 12:41:36 -07:00
myk002 b1bf80e585
support "group" file split strategy for blueprint 2022-10-14 12:27:24 -07:00
Josh Cooper ffed499057 Swaps static variable instantiation order in pause.cpp 2022-10-13 23:22:51 -07:00
Josh Cooper c9165f8999 Adds the pause.h World::Update() to onupdate, to keep settings locked 2022-10-13 11:57:05 -07:00
Josh Cooper 2c9ce5f316 Includes pause.h in spectate's cmake
as to.. "changes to the header file will trigger recompliation"
2022-10-13 11:52:39 -07:00
myk002 b4986aad97
create meta bp only if it will reduce the bp count 2022-10-12 17:49:37 -07:00
myk002 c52138b168
generate meta blueprints 2022-10-12 17:42:36 -07:00
myk002 f411ba76ba
record accurate room sizes in blueprints 2022-10-12 16:33:06 -07:00
myk002 80d993e734
split rooms phase from query and record names 2022-10-12 16:01:54 -07:00
Josh Cooper e5b8de55ef Adds missing newlines 2022-10-12 14:44:51 -07:00
Josh Cooper 8d8ef023fd Merge branch 'develop' into spectate 2022-10-12 14:40:56 -07:00
Josh Cooper cd4c6489dc Changed spectate auto-disengage to only trigger when unpaused 2022-10-12 14:39:49 -07:00
Josh Cooper 303599222c Revert "Revises nopause in reveal with pause API in World module"
This reverts commit 318dd4c7db.
2022-10-12 14:15:11 -07:00
Josh Cooper 63e9192367 Moves specate and pause-api to plugins/spectate/ 2022-10-12 14:13:09 -07:00
myk002 b78af72403
record built constructions in blueprint 2022-10-12 13:31:46 -07:00
Josh Cooper ddf7850d90 Merge branch 'develop' into spectate 2022-10-12 11:33:55 -07:00
Josh Cooper a49538695d Ensures consistent formatting and improves some comments 2022-10-12 11:21:59 -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 33816b8bc2
optionally process only the cur z-level and below 2022-10-05 14:01:09 -07:00
myk002 39acd3e992
don't display overlay on trade goods screen
so it doesn't overlap the trade value label
2022-09-21 08:59:36 -07:00
myk002 2481676370
fix mouse pos offset and output 'X' at screen edge 2022-09-19 11:13:47 -07:00
Myk Taylor 8fd86f6e56
fix typo in kittens.cpp 2022-09-18 08:40:22 -07:00
Myk Taylor 215a5b0a24
add Gui::getMousePos() that always gets map coords 2022-09-18 08:19:02 -07:00
Myk Taylor 3b89f482d1
use the new Screen::getMousePos() implementation 2022-09-18 08:18:08 -07:00
myk002 dc5010c2e2
don't block text on the new region screen 2022-09-16 22:05:08 -07:00
myk002 d0a5db2a0d
set sentinel value used by TWBT 2022-09-16 21:56:05 -07:00
myk002 3feca2ae58
make the overlay work with TWBT 2022-09-16 21:56:04 -07:00
myk002 4800037ad3
in dwarf mode, we must use lbut_down 2022-09-16 21:56:04 -07:00
myk002 8ab2f063df
hook remaining df screens 2022-09-16 21:56:04 -07:00
myk002 ad7de34d3f
add clickable overlay to title screen 2022-09-16 21:56:04 -07:00
myk002 170d7b9b51
typo fix in infiniteSky docs 2022-09-16 15:24:18 -07:00
myk002 040d018b8e
fix order of tree designation in autochop 2022-09-07 10:34:56 -07:00
myk002 86e1a8d59c
When smoothing walls, connect to doors and fgates 2022-09-07 10:11:51 -07:00
Josh Cooper 15c3e2eae8 Fixes multi-platform/build support of print line format specifier 2022-09-04 19:32:42 -07:00
Josh Cooper d28e4e31d8 Fixes print line format specifier 2022-09-04 16:29:05 -07:00
Josh Cooper 37c4de1ad6 Removes stderr prints from spectate 2022-09-03 18:35:04 -07:00
Josh Cooper 1d5ae827df Fixes segmentation fault 2022-09-03 17:58:40 -07:00
Josh Cooper a260e6992e Reorders spectate code blocks, and adds persisting configuration 2022-09-03 17:02:57 -07:00
Josh Cooper 1edcaf4ca8 Fixes type warning build errors 2022-09-03 11:41:29 -07:00
Josh Cooper b6c97214ca Adds more features to spectate 2022-09-03 11:18:46 -07:00
Josh Cooper d90d0f86af Removes spectate usage from cpp file 2022-09-02 21:38:48 -07:00
Josh Cooper ed73d370fc Adds placeholder for feature to disengage the plugin on player input 2022-09-02 21:12:27 -07:00
Josh Cooper a4515daed4 Removes useless and redundant code from spectate 2022-09-02 20:52:14 -07:00
Josh Cooper 318dd4c7db Revises nopause in reveal with pause API in World module 2022-09-01 16:55:43 -07:00
Josh Cooper 24fe4da6ba Replaces spectate:auto-unpause with pausing API in World module 2022-09-01 16:53:26 -07:00
Josh Cooper 33b92e6f69 Implements auto-unpause feature for spectate plugin 2022-09-01 16:53:26 -07:00
Josh Cooper 3ef4654966 Adds unpause code to spectate 2022-09-01 16:45:05 -07:00
myk002 df9c37a8b7
Merge branch 'develop' into docs 2022-08-15 17:09:36 -07:00
myk002 b2a4f10c22 output onupdate log messages by default
but include info on how to make it stop
2022-08-15 16:15:41 -07:00
myk002 f400ee50f8 refine docs, logging, help text 2022-08-15 16:15:41 -07:00
myk002 a28cf6d444 remove all lua integration from the examples 2022-08-15 16:15:41 -07:00
myk002 a4c8535977 add argparse int checking methods, more docs 2022-08-15 16:15:41 -07:00
myk002 43dfd27bb4 create several use-case-focused plugin examples 2022-08-15 16:15:41 -07:00
myk002 0bbbacf161 extend the docs and examples in skeleton.cpp 2022-08-15 16:15:41 -07:00
myk002 2f9021a3a0 move examples to the examples folder 2022-08-15 16:15:41 -07:00
myk002 9f648d532e modify seedwatch all to actually watch all seeds 2022-08-15 16:11:13 -07:00
Myk 3e9a916f4e
Merge branch 'develop' into docs 2022-08-07 23:38:00 -07:00
myk002 c0eb568d0d
Merge branch 'develop' into docs 2022-08-07 23:36:56 -07:00
myk002 8930f30b72
remove unuseful command from automelt 2022-08-07 22:36:47 -07:00
lethosor 69a84c23c2
renderer-msg: draw less often
suggested by Quietust
2022-08-06 12:33:25 -04:00
lethosor ac175affbc
Make renderer-msg draw somewhat more reliably
From g_src (enabler.cpp: renderer::display()), either update_all() or
update_tile() is called at least once per frame
2022-08-06 12:22:27 -04:00
myk002 46c3862a08
update docs for zone 2022-08-05 08:08:34 -07:00
myk002 5c9be942a5
update docs for workflow 2022-08-03 23:40:35 -07:00
myk002 b2ab93b3cd
update docs for autonestbox 2022-08-03 23:35:13 -07:00
myk002 3b17448597
update docs for autobutcher 2022-08-03 23:34:56 -07:00
myk002 03027b513a
Merge branch 'develop' into docs 2022-08-03 22:55:38 -07:00
myk002 1695919411
apply canonical class 3 plugin structure 2022-08-03 22:40:55 -07:00
myk002 1dec977476
clean up and add logging to state persistence 2022-08-03 21:44:25 -07:00
myk002 f98015ae55
ensure we run every N ticks, not frames
add more debug messages
fix watching/unwatching/forgetting races that aren't in the watchlist
2022-08-03 21:44:25 -07:00
pre-commit-ci[bot] 4acb59cb64
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-08-03 21:44:25 -07:00
myk002 3983b4d75b
update docs 2022-08-03 21:44:25 -07:00
myk002 fe2212db96
output status when run without params 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 612cd154df move tiletypes.history to dfhack-config/tiletypes.history 2022-08-02 22:46:04 -07:00
myk002 98f8fcd068 move liquids.history to dfhack-config/liquids.history 2022-08-02 22:46:04 -07:00
myk002 6686f703ae
update docs for workNow 2022-07-31 13:41:30 -07:00
myk002 e4c5b14670
update docs for tweak 2022-07-31 13:41:30 -07:00
myk002 a5a57a8631
update docs for tubefill 2022-07-31 13:41:30 -07:00
myk002 51f79f9464
update docs for tiletypes 2022-07-31 13:41:30 -07:00
myk002 b240748684
update docs for tailor 2022-07-31 13:41:29 -07:00
myk002 3d0eab1a9b
update docs for strangemood 2022-07-31 13:41:29 -07:00
myk002 e1e245b4b4
update docs for stocks 2022-07-31 13:41:29 -07:00
myk002 5621a19278
update docs for stockpiles 2022-07-31 13:41:29 -07:00
myk002 08d434d16e
update docs for stockflow 2022-07-31 13:41:29 -07:00
myk002 479494e5a6
update docs for steam-engine 2022-07-31 13:41:29 -07:00
myk002 af0631cbd9
update docs for spectate 2022-07-31 13:41:29 -07:00
myk002 7261914826
update docs for sort 2022-07-31 13:41:29 -07:00
myk002 8f7a23ee4d
update docs for showmood 2022-07-31 13:41:28 -07:00
myk002 edb7bd3168
update docs for seedwatch 2022-07-31 13:41:28 -07:00
myk002 438293c0a0
update docs for reveal 2022-07-29 17:12:15 -07:00
myk002 c6d5fcb378
update docs for resume 2022-07-29 17:12:01 -07:00
myk002 a7011421b4
update docs for rendermax 2022-07-29 16:31:37 -07:00
myk002 eef7812bf6
update docs for rename 2022-07-29 16:08:00 -07:00
myk002 e513253d8d
update docs for regrass 2022-07-28 23:20:24 -07:00
myk002 1270cf3f0a
update docs for prospector 2022-07-28 23:12:11 -07:00
myk002 cf69a1a2cf
update docs for probe 2022-07-28 23:04:07 -07:00
myk002 2d400fb571
update docs for plants
n.b. original docs were a lie.
2022-07-28 22:51:17 -07:00
myk002 2e2abbe87a
update docs for petcapRemover
and make it actually start running when it is enabled
2022-07-28 16:46:10 -07:00
myk002 4dea700ac9
Merge branch 'develop' into docs 2022-07-28 05:52:50 -07:00
myk002 507b1632a2
support backtick as a keybinding 2022-07-28 05:45:50 -07:00
myk002 5b8d8d7fe8
update docs for orders 2022-07-28 03:48:27 -07:00
myk002 88648284b0
update docs for nestboxes 2022-07-28 03:25:00 -07:00
myk002 f68b58c460
update docs for mousequery 2022-07-28 03:22:32 -07:00
myk002 bcab483b57
update docs for mode 2022-07-28 02:50:37 -07:00
myk002 756900393f
update docs for misery 2022-07-28 02:47:32 -07:00
myk002 ddae1aa900
update docs for liquids 2022-07-27 17:14:40 -07:00
myk002 52a0b0f2ca
update docs for lair 2022-07-27 17:14:30 -07:00
myk002 e94f1891c2
update docs for labormanager 2022-07-27 17:14:18 -07:00
myk002 2008fd3955
update docs for jobutils.
I was unable to find an example usage for `job item-type`. I couldn't
find any combination of jobs or parameters that worked.
2022-07-27 16:03:49 -07:00
myk002 117efaa814
update short description for command-prompt 2022-07-27 15:48:44 -07:00
myk002 06fc84fb39
update docs for infiniteSky 2022-07-25 22:00:56 -07:00
myk002 69d88a62dd
update docs for hotkeys 2022-07-25 21:54:34 -07:00
myk002 b93e3365f6
update docs for get plants 2022-07-25 21:50:52 -07:00
myk002 094f8d7257
fix typos in forceequip cpp/docs 2022-07-25 16:57:08 -07:00
myk002 367ac0064e
update docs for generated-creature-renamer 2022-07-25 16:54:28 -07:00
myk002 eb0f016804
update docs for forceequip 2022-07-25 16:40:19 -07:00
myk002 20ccd3a99c
update docs for follow 2022-07-25 10:55:31 -07:00
myk002 e13aae2ce1
update docs for flows 2022-07-25 10:55:04 -07:00
myk002 ea3dfe399e
update docs for fixveins 2022-07-25 10:54:11 -07:00
myk002 9c0bd6bd70
update docs for fix-unit-occupancy 2022-07-25 10:23:26 -07:00
myk002 2654de583f
update docs for filltraffic 2022-07-25 10:23:05 -07:00
myk002 989befa582
update docs for fastdwarf 2022-07-25 10:22:23 -07:00
myk002 a6cb79c237
remove defunct tool fix-armory 2022-07-25 10:21:59 -07:00
myk002 886289d805
update docs for fix-armory 2022-07-25 10:21:33 -07:00
myk002 38c17b5215
update docs for RemoteFortressReader 2022-07-25 06:56:21 -07:00
myk002 02cc085a43
update docs for embark-tools 2022-07-24 23:59:04 -07:00
myk002 d94fef36ff
update docs for embark-assistant 2022-07-24 23:39:13 -07:00
myk002 32e2ac2103
update docs for dwarfvet 2022-07-24 23:24:52 -07:00
myk002 91e3f6767c
update dwarfmonitor short description 2022-07-24 23:22:52 -07:00
myk002 ac11cde213
update docs for dwarfmonitor 2022-07-24 23:22:51 -07:00
myk002 b2ca3cb194
update docs for diggingInvaders 2022-07-24 20:12:04 -07:00
myk002 60b599865c
update docs for digFlood 2022-07-24 17:01:50 -07:00
myk002 ca06d1d9c5
update docs for dig (again) 2022-07-24 16:08:35 -07:00
myk002 932f1c2189
move tiletypes.history to dfhack-config/tiletypes.history 2022-07-23 22:13:19 -07:00
myk002 d1f690baa5
move liquids.history to dfhack-config/liquids.history 2022-07-23 22:12:58 -07:00
myk002 3141ecbec2
remove cromulate. it has outlived its purpose 2022-07-22 21:04:22 -07:00
myk002 4cb57d25f1
update dig-now docs 2022-07-22 17:46:33 -07:00
myk002 675f2edee2
update deramp docs 2022-07-22 17:46:22 -07:00
myk002 0f3811b933
update debugfilter docs 2022-07-22 17:46:11 -07:00
myk002 65b3ce6e96
remove unattached docs and plugins 2022-07-22 17:45:23 -07:00
myk002 19a4905933
update docs for "c" plugins 2022-07-22 16:42:36 -07:00
myk002 0b88922ffc
Merge remote-tracking branch 'upstream/develop' into docs 2022-07-20 16:33:50 -07:00
myk002 d9a1104473
update docs for cleanowned 2022-07-20 14:51:06 -07:00
myk002 e9e477c680
update docs for clean and spotclean 2022-07-20 13:51:03 -07:00
myk002 1f3c4cdd18
update docs for cleanconst 2022-07-20 13:26:30 -07:00
myk002 d3dd12c38f
update docs for changevein 2022-07-20 13:24:27 -07:00
myk002 fae5f0635a
update docs for changelayer 2022-07-20 13:21:05 -07:00
myk002 ddd2e5003a
update docs for changeitem 2022-07-20 13:00:27 -07:00
Quietust a20612b0a8 Update structures 2022-07-18 17:50:41 -07:00
myk002 66b7bcaf1a
update docs for burrows 2022-07-18 17:09:48 -07:00
myk002 19a4accca4
update docs for bulidingplan 2022-07-18 16:58:01 -07:00
myk002 154dc7c96c
update docs for blueprint 2022-07-18 16:32:43 -07:00
myk002 fd84fdce73
update docs for automelt 2022-07-18 16:13:20 -07:00
myk002 87e67ea8b3
update docs for autolabor 2022-07-18 14:53:06 -07:00
myk002 6c760d1a3d
update docs for autohauler 2022-07-18 14:33:24 -07:00
myk002 b1916f16b1
update docs for autogems 2022-07-18 13:59:11 -07:00
myk002 3ca7997d3e
update docs for autofarm 2022-07-18 13:49:51 -07:00
myk002 25bc59297b
update docs for autodump (and related hotkeys) 2022-07-18 13:28:16 -07:00
myk002 3969a366ec
update docs for autoclothing 2022-07-18 13:02:03 -07:00
myk002 51c817191c
update docs for autochop 2022-07-18 12:52:38 -07:00
myk002 5ff31e0cc1
remove defunct advtools plugin 2022-07-18 12:36:11 -07:00
myk002 2207f26992
update docs for 3dveins 2022-07-18 11:34:58 -07:00
myk002 8173f6dd02
Merge remote-tracking branch 'upstream/develop' into docs 2022-07-18 10:59:00 -07:00
myk002 f3539f06c8
integrate hotkeys with helpdb 2022-07-15 09:44:24 -07:00
lethosor 4cdb0ff138
Merge branch 'rm-old-modules' into develop 2022-07-12 11:23:10 -04:00
Myk b0e7325d4f
add sample plugin to go with the sample help (#2239) 2022-07-10 20:14:20 -07:00
Myk 9f44fd3f72
[manipulator] add the professions library (#2234)
* move professions out of the examples folder

* install professions into professions/library

* guard unguarded header from multiple inclusion

* load and display library professions

* update changelog

* move example professions docs from examples guide

* update dreamfort documentation

* note that professions folder has changed

* Fix bad merge
2022-07-06 07:21:26 -07:00
Myk e0d37a31ae
Make the manager orders library available by default (#2233)
* move orders out of examples directory

* install orders into library dir

* read orders from new library dir

* update documentation

* update dreamfort references to orders import

* update changelog

* ignore json files in pre-commit
2022-07-06 07:03:29 -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
lethosor 8bb047fcc6
Remove Notes module
Only used in a devel plugin that prints notes, and can be easily replaced
with `ui.waypoints.points`
2022-06-29 23:35:13 -04:00
Quietust 8a605e1903 The great de-anon-ification 2022-06-29 07:54:04 -07:00
DFHack-Urist via GitHub Actions 12958e15c6 Auto-update submodules
plugins/stonesense: master
2022-06-29 07:17:24 +00:00
Simon Lees b0bff47f03 Fix use after free's
This was detected by gcc and causing the build to fail on my
Linux machine
2022-06-23 08:24:26 -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
myk002 1f38936723 don't create the unused manipulator/ directory 2022-06-10 15:36:16 -07:00
lethosor 3f6b30af15
Update stonesense 2022-06-09 01:24:30 -04:00
Josh Cooper 04058c7529 Update matcher.cpp 2022-06-08 12:42:33 -07:00
Josh Cooper cec8a358b5 Replaces deprecated code with lambdas 2022-06-08 12:42:33 -07:00
Josh Cooper f8d46a10c1 Removes unhelpful inheritance 2022-06-08 12:42:33 -07:00
Josh Cooper 0eb9eee773 Fixes presumed typo in if statement 2022-06-08 12:42:33 -07:00
Josh Cooper f146cced95 Adds definition for "undeclared reference" 2022-06-08 12:42:33 -07:00
myk002 a8916a269e
fix syntax error
ref: #2164
2022-06-03 13:36:09 -07:00
myk002 514e5ee5bb
convert status message to debug message
ref: #2164
2022-06-03 13:18:16 -07:00
Myk 27bf4c758b
Allow player to pause the confirmation dialog without disabling (#2164)
* basic pause functionality for confirm

* update changelog

* wrap the pause message and output in white

* unpause on viewscreen transition when we can

but still use esc detection when we won't get a viewscreen transition
(like when we're intercepting input on viewscreen_dwarfmodest

* add more code docs about unpause detection
2022-06-02 06:24:13 -07:00
Myk 77d045488b
Confirmation dialog for removing manager orders (#2163) 2022-05-23 21:17:52 -07:00
DFHack-Urist via GitHub Actions 0da881d5eb Auto-update submodules
plugins/isoworld: dfhack
2022-05-15 07:17:46 +00:00
Myk 8f6522899b
Upgrade jsoncpp to 1.9.5 (#2144)
* test jsoncpp upgrade

* use new json library target name

* don't remap the output dirs

* undo warnings at the source

* set new defaults for jsoncpp

* fix typo in new options

* fix signed comparison mismatch warning

* address random(?) compile failures

saying our std::atomic is not initialized in Debug.cpp
2022-05-13 13:52:43 -07:00
DFHack-Urist via GitHub Actions 4d08a49afb Auto-update submodules
plugins/isoworld: dfhack
2022-05-12 05:41:20 +00:00
DFHack-Urist via GitHub Actions bf8eaef6bc Auto-update submodules
library/xml: master
plugins/isoworld: master
depends/libexpat: dfhack
depends/jsoncpp-sub: dfhack
2022-05-12 05:21:01 +00:00
Tim Siegel 5d2739eee0
[command-prompt] word-wrap response text
Fixes #2079
2022-05-09 13:42:16 -04:00
Tim Siegel c3347d465f
[command-prompt] cosmetics: whitespace, sort headers 2022-05-09 13:42:16 -04: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
Josh Cooper 8eb2831b7e
Adds plugins/external/ and auto-populates the cmake within upon creation (#2095)
* Adds a plugins sub-directory

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Auto-adds plugins/external sub-directories

* Moves plugins/external globbing as to generate plugins/external/cmake

* Removes plugins/external/.gitignore since the directory is generated

* Fixes cmake error

* Moves gitignore for plugins/external to ensure existence for fresh clone

* Adds missing EOF newline

* Adds requested changes
2022-04-27 19:53:05 -07:00
Quietust dc2a14c0c2 Add "partial-items" tweak.
When active, the displayed names of partially-consumed items (e.g.
hospital cloth) will display a percentage indicator at the end.

Also re-sort a few Tweaks so they're in alphabetical order again.
2022-04-27 11:27:11 -07:00
Guilherme Abraham 2aa28d34b6
Adding ids output to cursecheck (#2093)
Co-authored-by: Guilherme Abraham <guilherme.abraham@zpesystems.com>
Co-authored-by: Myk <myk002@yahoo.com>
2022-04-21 20:22:05 -07:00
Josh Cooper 9bf9a79a11
EventManager/Eventful - Generate event arrays (#2097)
* Replaces EventManager.cpp's event array with an auto-gen one

* Replaces eventful.cpp's event array with auto-gen one
2022-04-14 21:47:25 -07:00
lethosor 5f3d5bbcd5 Add new `plugins/external` subdirectory for external/untracked plugins
This is more convenient for some devs than the old CMakeLists.custom.txt
solution because it allows the plugins themselves (files or folders) to be
ignored, rather than needing to remember to leave them unstaged.
2022-04-14 10:38:23 -07:00
Tim Siegel bf60879c81 [tweak/stable-cursor] Keep stable cursor when viewport is near enough
Allow the viewport to move a bit and still keep the cursor location.
2022-04-12 19:53:16 -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
Su 8a120837c6
only designate enough trees to reach max_logs (#2064)
* only designate enough trees to reach max_logs
* Chop largest trees first
2022-03-31 20:41:44 -07:00
Tim Siegel b5af004194
[manipulator] Tweak colors to make cursor easier to locate (#2051) 2022-03-30 23:39:20 -07:00
Myk 257e7a3dfd
[core] Debug logging facelift (#2060)
* route 'Loading script...' messages through the debug logging framework
  * they are now controllable via debugfilter. to turn off, add this to your dfhack.init file: debugfilter set Warning core script
* clarify debug logging docs
* prevent DEBUG messages from being compiled out of the binary
* recolor INFO messages so they blend into existing console output
* add configuration interface for log message header elements so they are individually configurable. all default to off
2022-03-30 14:46:09 -07:00
Myk 2df6980237
fix crash in eventful due to misaligned fn map (#2059)
also add warnings in eventful and EventManager to prompt devs to keep them in sync
2022-03-29 12:51:21 -07:00
Josh Cooper 69ca0d8a28
Improves support for dfhack as a sub-project (#2058)
Replaces CMAKE_SOURCE_DIR with dfhack_SOURCE_DIR so it can be included in other cmake projects that have a different top-level CMAKE_SOURCE_DIR
2022-03-29 10:28:52 -07:00
DwarvenM acbfe500ab
Typo Fix in dig.cpp (#2053)
vdig -> digv
2022-03-27 16:54:01 -07:00
Tim Siegel ab54cbff7a
[confirm] Fix typo in help message (#2046) 2022-03-23 19:45:13 -07:00
Kelly Kinkade e0ecf21896
autofarm code cleanup (#2033)
* code cleanup on autofarm.cpp

* more code cleanup on aufofarm.cpp

* yet more cleanup of autofarm.cpp

mostly whitespace, some `*` and `&` adjustments

* downgrade autofarm to c++11

apparently the gcc we use doesn't support c++14 generic lambdas

* death to whitespace

apparently visual studio's default whitespace murderer doesn't touch `#define`s. who knew?

* Update autofarm.cpp

const is good
2022-03-16 19:43:24 -07:00
Kelly Kinkade d25cd0874a remove check for discovered plants in autofarm
Remove limitation on planting only "discovered" plants in autofarm because there was never any reason for doing so.

Resolves #1988.
2022-03-15 08:23:18 -07:00
Josh Cooper dda487a535
Adds new plugin: Spectate (#1918)
* Adds spectate plugin

* Updates spectate.cpp

* Changes spectate toggle message

* Updates changelog.txt

* Adds spectate to Plugins.rst

* Adds requested changes

- foreach syntax replaces active units loops
- removes CR_FAILURE return on double enable/disable usage
- removes disabled code
- implements a few clion clang tidy suggestions (auto declare when casting)
- Updates zcount to have accurate count for performing RNG
- adds eof newline
- adds todo comment about a redundant if condition

* Declares spectate section in Plugins.rst
2022-03-14 19:33:41 -07:00
myk002 e60ef479c6 handle carving fortifications in dig-now 2022-03-12 13:33:36 -08:00
myk002 7c665dcb7a allow search terms to match full item labels
even when the item label is truncated for length
this change also fixes items that were being incorrecty grouped due to
having differences only in the truncated part of their labels
2022-03-12 12:41:19 -08:00
Quietust aa1bc3fe52 Cleanup Kitchen module (and the seedwatch plugin which uses it) 2022-03-12 12:04:34 -08:00
Josh Cooper ba5710f263 Adds new event type NEW_UNIT_ACTIVE 2022-03-12 11:33:27 -08:00
Josh Cooper 20b42145c1 On second thought, not redundant 2022-03-12 11:33:27 -08:00
Josh Cooper a2e690d5d9 Re-adds removed lines to diggingInvaders.cpp 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
Josh Cooper 4aac87a7f0 Updates the plugin skeletons again 2022-03-12 11:33:27 -08:00
Josh Cooper 79e2188a5f Corrects a regression in skeleton.cpp documentation 2022-03-12 11:33:27 -08:00
Josh Cooper 051e891680 Improves plugin dev documentation through updating skeleton.cpp 2022-03-12 11:33:27 -08:00
Josh Cooper ddbeead2b2 Updates diggingInvaders according to EventManager refactor 2022-03-12 11:33:27 -08:00
Josh Cooper 12df6d14e9 Improves documentation for plugin writing 2022-03-12 11:33:27 -08:00
myk002 33f06668d5 ensure we don't crash when tiletypes-here is run
from the commandline
2022-03-03 21:37:38 -08:00
myk002 dbe87d4156 implement orders list 2022-02-25 12:58:56 -08:00
myk002 2ebfca42dd merge buildingplan-lib.cpp into buildingplan.cpp 2022-02-25 12:57:17 -08:00
myk002 0d1668a7a5 merge buildingplan-lib into buildingplan
so no one else is tempted to use it as a library. starting buildingplan
from two separate plugins just runs two completely separate engines with
separate state, one of which is completely inaccessible from the UI.
2022-02-25 12:57:17 -08:00
myk002 eae90c9448 remove fortplan code; leave doc stub 2022-02-25 12:57:17 -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 089de5f422 support non-rectangular extent-based buildings 2021-10-03 08:54:27 -07:00
myk002 27c0c41536 only create empty blueprints on explicit request
and use the new functionality in the ecosystem tests, which simplifies
the blueprint commandline creation
2021-10-02 23:36:26 -07:00
myk002 12eb9e48c7 support multi-type and non-rectangular stockpiles
and add integration tests
2021-10-02 12:50:47 -07:00
myk002 09d7cd83df add/fix missing/incorrect building specs
added:
- wS
- wp
- roller speed designations
- n
- TS
- ~s
- ~h
- ~c
- F
- ~a

fixed:
- Wall (CW -> Cw)
- DownStair (Cj -> Cd)

also remove track designations. we'll add that back once we create a
"track" phase.
2021-10-02 09:25:19 -07:00
myk002 d7d4f364ac channel over dig equals no ramp
fixes special case where a channel tile is specified over a regular dig
tile. this allows dig-now to produce a flat floor in that case, which is
likely what is intended.
2021-10-02 09:25:19 -07:00
myk002 42f4cbdc9c remove designations from all modified tiles
found this bug with blueprint-generated blueprints. if both a channel
and the resulting ramp are explicitly marked in the blueprint (like the
blueprint plugin does), the channel is processed first, pre-creating the
ramp in the tile designated for a ramp. Then, when the ramp designation
is processed, the ramp is already there, which is an invalid tile to
make a ramp on, so the designation is skipped (and therefore not
cleared). this change clears the designation for both the ramp tile and
the channel tile when either is processed. this opens another edge case
where the designation under a channel is a regular 'd' mine, which will
now get ignored and leave a ramp insead of a flat floor. but I'll
address that in the next commit.
2021-10-02 09:25:19 -07:00
myk002 1a11c43546 record carved tracks in dig blueprints 2021-10-02 09:25:19 -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 2bbd4ab79e clean up, document 2021-09-17 10:57:26 -07:00
myk002 afc7096329 use vector instead of map for great memory savings 2021-09-17 10:57:26 -07:00
myk002 44a93fcb28 update unit tests 2021-09-17 10:57:26 -07:00
myk002 42e04fc6ec use const char *, not std::string for efficiency
so we can actually process large maps without OOMing
2021-09-17 10:57:26 -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 1fd2eba2db give generated blueprints proper labels 2021-09-10 11:11:44 -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 6073cfeb5d pass params from blueprint gui to gui/blueprint
without passing the initial "gui" literal string
2021-09-09 09:58:23 -07:00
myk002 97fab76bba lay down tiles in order when using buildingplan
improves on implementation in 22ac163d5. we don't need to set the anchor
at all when using buildingplan.
2021-09-09 00:35:15 -07:00
lethosor c74d881e44
Update stonesense 2021-09-07 15:01:21 -04:00
lethosor badf19b424
tweak military-assign: fix likely missing bounds check 2021-09-07 01:18:13 -04:00
lethosor 91e7e12464
RemoteFortressReader: fix likely copy-paste error between width/height 2021-09-07 01:17:38 -04:00
lethosor e7754ea890
Enable -Wunused-variable and fix most errors 2021-09-07 01:16:21 -04:00
lethosor fbe0319515
Merge remote-tracking branch 'lethosor/ci-scripts-cleanup' into develop 2021-09-06 22:41:02 -04:00
lethosor a083a7f670
tailor: fix operator precedence in command parsing
&& has a higher precendence than ||, so this could have resulted in a crash in
some cases. It also produced unintentional behavior where e.g. `tailor 1 foo`
would enable the plugin, unlike `tailor enable foo`.

From #1920
2021-09-06 22:35:38 -04:00
lethosor e5487c812a
Update stonesense lint filter 2021-09-06 19:08:22 -04:00
lethosor 11222f21d3
Update lint.py filters and fix a couple identified issues 2021-09-06 18:42:45 -04:00
DFHack-Urist via GitHub Actions 0cbcabee59 Auto-update submodules
scripts: master
plugins/stonesense: master
2021-09-04 07:15:42 +00:00
Quietust 9d8eccd152 Fix remotefortressreader to use new ocean_wave field names 2021-09-02 06:58:55 -06:00
lethosor 0d14a2ccef
Merge remote-tracking branch 'ab9rf/tailor-v2' into develop
Conflicts: docs/changelog.txt
2021-09-01 23:34:30 -04:00
myk002 bd0a2e3877
only output when changes are made
avoids spamming the console when `orders sort` is run on repeat
2021-09-01 16:52:11 -07:00
myk002 f21ba5c8aa
implement orders sort, document, and add to init 2021-09-01 13:04:23 -07:00
lethosor 687b84378d
Merge remote-tracking branch 'ab9rf/autofarm-berry-fix' into develop 2021-08-31 00:52:18 -04:00
lethosor 27ce7cf1ee
check-structures-sanity: print error for untagged unions instead of aborting
These come up in structures such as world.poetic_forms.all[i].subject_target
without a clear fix.
2021-08-31 00:28:42 -04:00
lethosor 1d9f12fe3f
Fix signed/unsigned comparison warning
From #1903
2021-08-28 15:15:13 -04:00
lethosor 39c650de13
Fix compilation error on macOS with GCC 11
This should make `-fpermissive` (from #1924) unnecessary, so I also removed
those instructions.
2021-08-21 12:58:17 -04:00
Kelly Kinkade 22bcbf9877
Merge branch 'develop' into autofarm-berry-fix 2021-08-16 07:22:11 -05:00
Kelly Kinkade 92f258bdbf
Merge branch 'develop' into tailor-v2 2021-08-16 07:17:53 -05:00
myk002 37a8260c3b
import and export reaction-specific item conditions 2021-08-14 16:35:40 -07:00
Kelly Kinkade 2981deb521 update autogems to respect workshop profiles
Add a test so that autogems will not assign cut gem jobs to workshops that are not allowed to do them.

Fixes #1263
2021-08-10 06:29:10 -05:00
lethosor 0140ace317
Merge remote-tracking branch 'myk002/myk_buildingplan_attached' into develop 2021-08-10 01:07:35 -04:00
Kelly Kinkade 73107fb21b tailor: add support for user-specified material list
Add support for user-specified material list. Also refactor, fix some mostly-innocuous bugs

Resolves #1911.
2021-08-08 09:53:32 -05:00
Kelly Kinkade 685e5111ae Update autofarm.cpp
`dts::make_unique`, not `std::make_unique`, sorry my bad
2021-08-07 15:51:21 -05:00
Kelly Kinkade ce50bbdfde fix autofarm berry problem
Update autofarm to count PLANT_GROWTHS as well as PLANTS for threshold purposes. This addresses #1902.

Also addresses some pointer hygiene issues in autofarm.
2021-08-07 15:32:43 -05:00
myk002 d8b5ac41d9
ensure soil tiles get randomized variants 2021-08-01 23:30:04 -07:00
myk002 98fd6effdc
generate random time variants where applicable 2021-08-01 07:07:20 -07:00
myk002 92701d6da7
connect smooth walls to doors 2021-07-30 13:09:20 -07:00
myk002 3c8a174a68
use pillars for wall ends instead of NS or EW 2021-07-30 13:09:20 -07:00
myk002 79bdf36ed4
expose link_adjacent_smooth_walls to lua
so build-now can use it
2021-07-30 13:09:20 -07:00
myk002 8fb456313f
allow only one positional param to be specified 2021-07-30 13:09:20 -07:00
myk002 c1665f35b4
fix off by one error 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 a6c62a025f
unhide properly when digging at visible edges 2021-07-30 13:09:20 -07:00
myk002 0b703d9818
fix adjacent smooth walls when we dig one out 2021-07-30 13:09:19 -07:00
myk002 48f90da72e
remove extra return 2021-07-30 13:09:19 -07:00
myk002 c807398eff
remove old reference to dig-now.h 2021-07-30 13:09:18 -07:00
myk002 93d67dd51e
export dig_now_tile over Lua 2021-07-30 13:09:18 -07:00
myk002 fc19fb6785
add external api: dig_now_tile(out, pos) 2021-07-30 13:09:18 -07:00
myk002 1a19c3a944
ramp/channel: don't dig into undiggable tiles 2021-07-30 13:09:18 -07:00
myk002 d6c9f99c61
don't overflow prod->count. it's a measly int16_t 2021-07-30 13:09:18 -07:00
myk002 aa1cbc95db
skip marker mode dig designations 2021-07-30 13:09:18 -07:00
myk002 1670cfab05
also "and" -> "&&" 2021-07-30 13:09:18 -07:00
myk002 dfc938a99d
omg lua is ruining me
on the other hand, why doesn't MSVC just support "or" to mean "||"?
2021-07-30 13:09:17 -07:00
myk002 59a34c6d17
remove ramp tops when channeling
we normally take care of any ramp tops above the channeled tile when we dig the ramp below the channeled
tile, but that logic might not run if we channel down into empty space
(or undiggable tiles)
2021-07-30 13:09:17 -07:00
myk002 662f2cc616
don't dig the undiggable 2021-07-30 13:09:17 -07:00
myk002 5c853644f0
let newly uncontained water flow 2021-07-30 13:09:17 -07:00
myk002 7ea8c843b1
allow digging of surface tiles
now that we handle colonies
2021-07-30 13:09:17 -07:00
myk002 8349afa39b
destroy colonies when digging a ramp underneath 2021-07-30 13:09:14 -07:00
myk002 c645cd5454
move units and items to ground when it disappears 2021-07-30 13:09:14 -07:00
myk002 61a18b14be
fix adjacent smooth walls when smoothing 2021-07-30 13:09:14 -07:00
myk002 c1dcaa4378
generate gems as ROUGH, not BOULDER
also fix missing dug_tile indices when channels are dug
also fix second boulder/gem being generated with a potentially incorrect
probability when digging channels and ramps
2021-07-30 13:09:13 -07:00
myk002 71c605afd4
make options configurable and document 2021-07-30 13:09:13 -07:00
myk002 f1b38fb6f6
fix up comments 2021-07-30 13:09:13 -07:00
myk002 6bc2a2bdad
implement tile smoothing 2021-07-30 13:09:13 -07:00
myk002 d7f417051d
implement track carving 2021-07-30 13:09:13 -07:00
myk002 5f7dc86c5c
optionally dump generated boulders at pos 2021-07-30 13:09:13 -07:00
myk002 52e666a45a
produce boulders from digging as per game rules
also add options struct for later configurability
2021-07-30 13:09:13 -07:00
myk002 02d7d4c5b6
clean up top-level logic 2021-07-30 13:09:12 -07:00
myk002 fc932d2850
use reveal.unhideFlood instead of our dup impl 2021-07-30 13:09:12 -07:00
myk002 a5b70ba163
rename dig-dug to dig-now 2021-07-30 13:09:12 -07:00
myk002 6cf40857e4
convert material to layer mat when digging
also ensure dug tiles aren't generated already smoothed
2021-07-30 13:09:12 -07:00
myk002 a4c86770a4
follow digging rules when converting tiles 2021-07-30 13:09:12 -07:00
myk002 d3d5a6edd7
initial implementation of the dig-dug plugin
for discussion
2021-07-30 13:09:12 -07:00
myk002 c6866ca339
display status of items (attached/pending) 2021-07-21 21:58:07 -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 1220f6692c
simplify as per code review 2021-07-09 21:58:32 -07:00
myk002 da6fe42202
missed one output line 2021-07-09 21:58:32 -07:00
myk002 da034704e7
add includes for bool identities 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
lethosor 8689a019f5
Merge remote-tracking branch 'arzyu/patch-1' into develop 2021-07-05 15:56:37 -04:00
lethosor ed03df7dfb
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2021-07-04 21:20:09 -04:00
DFHack-Urist via GitHub Actions 0077b51646 Auto-update submodules
plugins/stonesense: master
2021-07-02 07:16:17 +00:00
myk002 36c481cd10
catch exceptions thrown while importing orders 2021-06-30 14:58:01 -07:00
myk002 367fdbd31c
normalize pathnames and handle dirs as basenames 2021-06-29 14:25:30 -07:00
arzyu c30ac42c51
use "move selector" instead of "move cursor" 2021-06-23 14:25:45 +08:00
lethosor 2fc5fbacb5
Merge remote-tracking branch 'myk002/myk_reveal_unhideFlood' into develop 2021-06-19 01:08:05 -04:00
lethosor a300c5592d
Merge remote-tracking branch 'myk002/myk_teleport' into develop 2021-06-18 18:21:49 -04:00
lethosor 293b6e880f
Merge remote-tracking branch 'myk002/myk_plugin_doc' into develop 2021-06-17 22:09:41 -04:00
PatrikLundell ba5915b866 embark-assistant early waterfall quit removed 2021-06-13 17:47:15 +02:00
lethosor fc8e1dd388
Merge remote-tracking branch 'myk002/myk_blueprint2' into develop 2021-06-13 00:53:22 -04:00
myk002 1c9c370fcd
remove dead code from plants 2021-06-07 21:51:25 -07:00
lethosor de8ce58052
Update stonesense
Ref dfhack/stonesense#77, dfhack/stonesense#78
2021-06-06 23:26:31 -04:00
myk002 ed0e4ef841
whoops that was important 2021-06-06 09:00:33 -07:00
myk002 fc860478e4
move fastdwarf's teleport code to Units module
and expose in Lua API
2021-06-06 08:48:32 -07:00
myk002 94157633a8
don't suspsend core for Lua entrypoint 2021-06-05 14:45:09 -07:00
lethosor 7d7d1feb4b
Update stonesense
Ref dfhack/stonesense#73, dfhack/stonesense#76
2021-06-05 15:16:18 -04:00
lethosor bce6432ea6
Merge remote-tracking branch 'bseiller/ea_improve_survey_performance_by_changing_inorgancs_to_vector_int' into develop 2021-06-04 00:21:34 -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 ce6a2d2974
used passed-in out param instead of the console 2021-06-01 02:16:48 -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 5e127ed1e8
invalidate resume cache when buildings are added 2021-05-26 22:29:55 -07:00
bseiller 5cd86743f1 trying to make gcc happy
- survey.cpp: adding include to allow gcc to find std::memset
2021-05-25 18:56:58 +02:00
bseiller 2516f9927a removing trailing whitespace 2021-05-23 14:12:16 +02:00
bseiller 838285e925 Improve performance of surveying => faster search
- def.h: changed vectors for inorganics to contain uint8_t instead of bool which improves the performance when using std::fill and std::memset to batch-set the whole array
- survey.cpp: using std::memset instead of direct assignment to reset the inorganic vectors, also using the actual size of each vector for the call
- changelog.txt: add note concerning the changes
2021-05-23 11:28:48 +02:00
myk002 1aaed3a6ed
error on invalid phase names 2021-05-21 06:34:28 -07:00
myk002 0409b7bca5
modify start, not options.start when getting coord 2021-05-21 06:34:28 -07:00
myk002 07e29bdc3a
use new getCursorCoord call and move suspender up 2021-05-15 12:05:32 -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 bee0c15ba0
yeah, this isn't lua
(though "and" instead of "&&" seems to work in gcc!)
2021-05-10 21:11:14 -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 a949065a7e
fix typo in comment 2021-05-10 21:11:13 -07:00
myk002 09829551ee
fix formatting 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 eb0d264855
Merge remote-tracking branch 'myk002/myk_tiletypes_typo' into develop 2021-05-10 00:37:44 -04:00
lethosor faef412c78
Merge remote-tracking branch 'lethosor/dwarfvet-cleanup' into develop 2021-05-10 00:27:06 -04:00
lethosor e7f0f1fb70
Merge remote-tracking branch 'myk002/myk_blueprint_cacheless' into develop 2021-05-10 00:21:14 -04:00
myk002 26b1489235
make isPlanModeEnabled() consider enable_all 2021-05-08 07:41:08 -07:00
myk002 7848771b1a
fix label misspelling in tiletypes 2021-05-05 12:54:14 -07:00
myk002 e28bbd3a20
don't crash for invalid coordinates 2021-04-27 09:19:33 -07:00
myk002 e516cf1a80
remove MapCache header include 2021-04-27 09:19:33 -07:00
myk002 9b416a8662
speed up dig blueprint creation by 70%
remove the unneeded cache layer. the cache is for writing. we're just
reading. all the cache is doing is adding latency as it makes its copies
of map data structures.

generating a 190x190x100 dig blueprint:
before change: 1.7s
after change:  1.0s

the performance gains aren't as important here as the reduced complexity
of the algorithm, though. for reasonably-sized blueprints, the time
savings are unnoticeable.
2021-04-27 09:19:30 -07:00
lethosor e4de302048
Simplify building overlap calculations significantly
Fixes #1824
2021-04-14 00:59:43 -04:00
lethosor 7b1d7a7ff9
Fix off-by-one error in report-usage 2021-04-05 23:35:11 -04:00
lethosor 14172b7c0f
Improve readability of report-usage output 2021-04-05 23:33:53 -04:00
lethosor 40c2b19083
Switch from vector to unordered_set 2021-04-05 23:28:42 -04:00
lethosor 1c3e60337c
Switch to range-based for 2021-04-05 23:23:31 -04:00
lethosor 761cf19e99
tweak hide-priority: make toggle state persist across designation menu uses
To reproduce:
1. Enter the `d`esignation menu
2. Press `-+` to change priorities
3. Create a designation
4. Press `Alt-p` to hide priorities
5. Exit and re-enter the designation menu (`Esc`, `d`)

Previously, priorities would be visible again after step 5. With this change, they are not visible until you press `Alt-p` again.

Fixes #1068. Note that this is a relatively unobtrusive fix: selecting a priority with `+-` will still result in priorities being shown again. This is native DF behavior that I am reluctant to override because users of designation priorities likely want to see them.
2021-04-05 21:58:51 -04:00
lethosor a5128fd7e6
dwarfvet: minor logic cleanup
- Use at() to crash immediately on out-of-range errors instead of introducing
  memory corruption (see #1824)
- Replace custom implementation of df::unit::find()
- Use range-based for with get_vector() where appropriate
2021-04-05 00:38:23 -04:00
lethosor dfb52a2aba
Merge remote-tracking branch 'lethosor/command-prompt-fix-gui-scripts' into develop
Conflicts:
	docs/changelog.txt
2021-04-02 21:53:14 -04: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
Ben Lubar c06d1f8e52
tagged union support for lua (#1818) 2021-03-30 15:55:06 -05:00
lethosor 572b6ebab5
Fix warning (#1796) 2021-03-27 00:11:50 -04:00
lethosor d61c4aa234
Merge remote-tracking branch 'myk002/myk_xlsxreader_classes' into develop 2021-03-27 00:10:03 -04:00
myk002 4d2af8438f
always read all cells to work around xlsxio bug
otherwise xlsxio will return a spurious empty row on next row read
2021-03-26 19:43:15 -07:00
lethosor 26e41005e3
Fix fastdwarf warning 2021-03-25 17:20:33 -04:00
myk002 aac958aa50
add open() wrapper fn and document class methods 2021-03-22 09:38:20 -07:00
lethosor 59b023c71d
Ensure that command-prompt is dismissed after a command creates a new screen
Fixes #1803

Running a command that created a new screen would previously result in a screen
order that looked like this, due to how `Screen::Hide` works:

- DF screen
  - `command-prompt` screen (dismissed)
    - New screen

The `command-prompt` screen remained on the stack until the new screen was
dismissed, so it would intercept viewscreen vmethod calls intended for the
DF screen.

This change adds a new behavior to `Screen::Hide` that results in this screen
order after running a command:

- DF screen
  - New screen
    - `command-prompt` screen (dismissed) - DF removes this screen immediately
2021-03-21 20:42:50 -04:00
lethosor 1f9e875bcd
Update stonesense, scripts 2021-03-11 00:00:49 -05:00
Ben Lubar 67ed9e135f
update stonesense ref 2021-03-10 15:45:36 -06:00
Ben Lubar f566284b80
update stonesense ref 2021-03-10 15:31:50 -06:00
Ben Lubar 1554d06831
update stonesense submodule 2021-03-10 15:14:12 -06:00
DFHack-Urist via GitHub Actions 45823c2745 Auto-update submodules
scripts: master
plugins/stonesense: master
2021-03-10 07:15:44 +00:00
myk002 69a2f44020
Lua class wrappers for the xlsxreader plugin API 2021-03-08 15:04:50 -08:00
Ben Lubar 4aaa54c056
dwarfvet: remove console spam when plugin is enabled but no hospitals exist 2021-03-07 14:59:41 -06:00
PatrikLundell ef53c2d672 adapted to changed df-structures enum value names 2021-03-05 12:45:51 +01:00
lethosor 9df06564a0
Merge remote-tracking branch 'PatrikLundell/Prospector' into develop
Conflicts:
	docs/changelog.txt
2021-03-03 23:56:06 -05: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
lethosor 4a7fcc6118
Fix plugin name in error, add link in docs
Ref #1769
2021-02-25 00:41:13 -05:00
lethosor cb9ed4ff0c
Merge remote-tracking branch 'myk002/myk_manipulator' into develop
Conflicts:
	docs/changelog.txt
2021-02-25 00:39:01 -05:00
lethosor af34b5d614
Merge remote-tracking branch 'bseiller/ea_improve_survey_performance_keep_mlts_on_heap' into develop 2021-02-23 00:22:22 -05:00
bseiller 60e83046f8 Prevent accidental double-frees
- matcher.cpp, survey.cpp: setting the state pointer to null/nullptr in ::shutdown() to prevent errors caused by accidental double-frees - an additional check if the pointer is null already is not necessary as the standard guarantees that nothing happens if delete is called on a nullpointer

Co-Authored-By: Alan <3719547+lethosor@users.noreply.github.com>
2021-02-20 22:43:12 +01:00
myk002 de9375574a
fix syntax error 2021-02-18 23:25:21 -08:00
myk002 3e6294198b
update wording of fortplan deprecation notice 2021-02-18 23:23:50 -08:00
myk002 09f0607db2
add deprecation warnings to fortplan 2021-02-13 11:07:14 -08:00
myk002 55743fc43f
Merge remote-tracking branch 'upstream/develop' into myk_manipulator 2021-02-13 07:16:58 -08:00
Ben Lubar a051077820
update structures 2021-02-10 18:54:12 -06:00
lethosor ebbbfc0f8e
Merge remote-tracking branch 'myk002/myk_orders_crash' into develop
Conflicts:
	docs/changelog.txt
2021-02-10 00:10:53 -05:00
bseiller 6ffbf401c4 Merge branch 'develop' into ea_improve_survey_performance_keep_mlts_on_heap 2021-02-09 08:42:42 +01:00
PatrikLundell 4660f52b36 improved pre embark mineral estimates 2021-02-08 14:45:49 +01:00
myk002 09d91dcae1
move alchemist-enabling logic to autohauler 2021-02-06 14:14:08 -08:00
myk002 6819ee9928
make alchemist flag valid for controllable civs 2021-02-05 16:45:39 -08:00
myk002 4d57d27d4d
Revert "allow alchemist skill to be toggled in manipulator"
This reverts commit fa662cafbc.
2021-02-05 16:10:36 -08:00
bseiller efc92750fa Fix crash
embark-assistant.cpp: Move call to survey::initiate() after call to survey::setup(), otherwise state won't exist
2021-02-04 01:10:10 +01:00
bseiller 52bf998224 Adapt to review comments by @PatrikLundell
- survey.cpp: rename loop variable for more clarity; replace use of parmeter with use of vector.size(), replace nested vector.at calls with direct index access/subscript as it is faster and easier to read
2021-02-03 14:32:03 +01:00
bseiller 0c304cf85f Improve performance of surveying => faster search
replace the local/automatic mid_level_tiles variable in matcher::match_world_tile with one that is created once during the setup phase (heap).
The dynamic part of the contained (16*16*3 = 768) vectors is being allocated on the heap in both cases - which made the repeated instatiations of the automatic variable so slow/expensive.

Also replace calls to vector<bool>.resize in nested loops with direct assignments to those vectors, which curiously even after a lot of profiling is the fastest way to reset the inorganic vectors - at least on Windows.

- embark-assistant.cpp: Replace 2 local/automatic mid_level_tiles variables with a single dynamic variable created during setup as well; add calls to matcher::setup() and matcher::shutdown()
- matcher.cpp/.h: add state with mid_level_tiles member; add setup and shutdown functions
- survey.cpp: add function reset_mlt_inorganics as replacement for the looped calls to vector::resize as all inorganic vectors are now expected to have the proper size when entering survey::survey_mid_level_tile
2021-02-03 00:08:59 +01:00
myk002 1063497828
don't crash on malformed orders json 2021-02-02 10:50:21 -08:00
myk002 fa662cafbc
allow alchemist skill to be toggled in manipulator
since autohauler uses it as a flag
2021-02-02 08:28:48 -08:00
bseiller 56335977ab Merge branch 'develop' into ea_refactoring 2021-02-01 23:36:04 +01:00
bseiller fede136008 refactoring embark-assistant survey, 12.iteration
- survey.cpp: replace repeated (nested) vector access with an const int / auto pointer in survey_mid_level_tile
2021-02-01 22:57:30 +01:00
bseiller aff64956fb refactoring embark-assistant survey, 11.iteration
- survey.cpp: replace repeated (nested) vector access with a auto pointers in survey_mid_level_tile
2021-02-01 22:53:45 +01:00
bseiller 4fdcec5893 refactoring embark-assistant survey, 10.iteration
- survey.cpp: replacing repeated vector access with auto value in survey_mid_level_tile
2021-02-01 22:36:16 +01:00
bseiller 1ed783284e refactoring embark-assistant survey, 9.iteration
- survey.cpp: replacing repeated vector access with a const world_geo_biome pointer in survey_mid_level_tile
2021-02-01 22:31:58 +01:00
bseiller 9d64c9a549 refactoring embark-assistant survey, 8.iteration
survey.cpp: remove unused includes
2021-02-01 22:25:57 +01:00
bseiller db423cc11e refactoring embark-assistant survey, 7.iteration
- survey.cpp: replacing repeated nested vector access with a const df::inorganic_raw pointer in survey_mid_level_tile
2021-02-01 22:22:10 +01:00