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
bseiller
aa520dfcce
refactoring embark-assistant survey, 6.iteration
...
- survey.cpp: add function to copy all incursion values from one mid_level_tile_incursion_base instance to another; replace repeated assignments with calls to new function in survey_mid_level_tile
2021-02-01 16:00:01 +01:00
bseiller
3181532bf2
refactoring embark-assistant survey, 5.iteration
...
- survey.cpp: replacing repeated nested vector access with a const mid_level_tile reference in survey_mid_level_tile
2021-02-01 00:24:56 +01:00
bseiller
16438c59c8
Remove trailing whitespace as per lint rules
2021-01-31 14:03:49 +01:00
bseiller
115b8a439f
fixing use of wrong indices, discovered during refactoring in survey::survey_mid_level_tile
...
- survey.cpp: replacing faulty repeated nested vector access (due to wrong indices) with the existing region_map_entry reference
2021-01-31 13:58:17 +01:00
lethosor
fd7c3fc4aa
Prevent stockpiles hotkey label from overlapping with autodump
...
stockflow moved to last slot because it isn't enabled in dfhack.init-example
Ref #1764
2021-01-30 21:14:45 -05:00
lethosor
9c65c1f7c7
Merge remote-tracking branch 'myk002/myk_stockpiles_stockflow_conflict' into develop
...
Conflicts:
docs/changelog.txt
2021-01-30 21:11:58 -05:00
lethosor
c78866aba7
Merge remote-tracking branch 'abstern/autofarm-fallow-if-no-eligible-plants' into develop
2021-01-30 18:09:12 -05:00
lethosor
62870e9aee
Remove extra log statement, reorder changelog
...
ref #1753
2021-01-30 18:08:17 -05:00
lethosor
9d0eacadbf
Merge remote-tracking branch 'Moth-Tolias/seedwatch' into develop
2021-01-30 17:56:16 -05:00
bseiller
741e430a06
removing dead store from survey::survey_mid_level_tile
...
- survey.cpp: deleting declaration of and assigments to variable base_z which is never used apart from a self-assigment
2021-01-30 23:37:09 +01:00
bseiller
028a68ae6f
refactoring embark-assistant survey, 4.iteration
...
- survey.cpp: replacing repeated nested vector access with a region_map_entry reference in survey_mid_level_tile; made a reference mid_level_tile const to prevent acidental change of values
2021-01-30 23:33:09 +01:00
bseiller
b1cf65860c
Merge branch 'develop' into ea_refactoring
2021-01-30 17:39:41 +01:00
Susan
8540fd84a4
move world loaded check and message printing to plugin_enable()
2021-01-30 15:14:46 +00:00
lethosor
c6da99e5ce
Merge remote-tracking branch 'myk002/myk_stockflow_steals_input' into develop
...
Conflicts:
docs/changelog.txt
2021-01-30 01:59:44 -05:00
lethosor
845993ba59
Merge remote-tracking branch 'lethosor/fix-k-search-crash' into develop
2021-01-29 20:08:08 -05:00
Su
545fcf6745
Merge branch 'develop' into seedwatch
2021-01-29 11:34:57 +00:00
Susan
33342404bc
Merge branch 'seedwatch' of github.com:Moth-Tolias/dfhack into seedwatch
2021-01-29 11:27:34 +00:00
Susan
a3b0cda069
don't enable if no world is loaded
2021-01-29 11:26:46 +00:00
lethosor
5c14f619c8
Merge remote-tracking branch 'myk002/myk_buildingplan_enable_all' into develop
2021-01-29 00:59:33 -05:00
lethosor
4fbd763c1a
Also cancel 'k' search when hotkeys (F1 - Shift-F8) are pressed
2021-01-29 00:28:32 -05:00
lethosor
865484f678
Merge branch 'develop' into fix-k-search-crash
...
Conflicts:
docs/changelog.txt
2021-01-29 00:16:13 -05:00
bseiller
b33f06efee
refactoring embark-assistant survey, 3.iteration
...
- survey.cpp: replacing repeated nested vector access with a mid_level_tile reference in survey_mid_level_tile
2021-01-28 23:48:09 +01:00
bseiller
e90e84ab87
refactoring embark-assistant survey, 2.iteration
...
- survey.cpp: replacing pointer and repeated nested vector access with a region_tile_datum reference in survey_mid_level_tile
2021-01-28 23:40:58 +01:00
bseiller
6e012bb032
refactoring embark-assistant survey, 1.iteration
...
- survey.cpp: replacing repeated double vector access with a reference in survey_mid_level_tile
2021-01-28 23:38:40 +01:00
Su
98f3142c92
change deactivation message to be more accurate
...
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2021-01-28 18:00:34 +00:00
myk002
42ae0727fe
resolve hotkey help text conflict
...
between stockflow and stockpiles
I removed stockpiles's dynamic placement code as well. it attempted to
move the hotkey help text down if it covered any stockpile links, but
this will no longer work since other hotkey text already takes up all
the lines below stockpiles' hotkey text.
2021-01-27 08:37:12 -08:00
myk002
ff69665815
keep stockflow from stealing input during rename
2021-01-27 08:25:21 -08:00
bseiller
1f7cae17ef
Merge branch 'develop' into ea_incursion_struct
2021-01-26 23:22:59 +01:00
myk002
10634b8ae5
fix merge error
2021-01-24 09:19:01 -08: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
bseiller
3c4cb749a3
Merge branch 'develop' of https://github.com/DFHack/dfhack into prevent_repeated_survey_mlt_calls
2021-01-24 13:57:27 +01:00
bseiller
c525b80dda
Merge branch 'develop' of https://github.com/DFHack/dfhack into ea_incursion_struct
2021-01-24 13:54:25 +01:00
lethosor
d01e61c658
Fix some error message formatting and add some cross-links to docs
...
Followup to #1747
2021-01-22 21:05:20 -05:00
lethosor
5ef7a81fd1
Merge remote-tracking branch 'myk002/myk_buildingplan_set_settings' into develop
2021-01-22 20:57:30 -05:00
myk002
ad39bb3c33
address review comments
2021-01-22 12:48:36 -08:00
bseiller
6a1b70ae76
making lint happy by removing trailing whitespace
2021-01-19 17:43:32 +01:00
bseiller
438811e108
handling special case of the cursor having been positioned in the lower right corner before the search
...
- matcher.cpp: manually moving the cursor to the neighbouring world tile so it can be moved back and embark_update is being called when all (incursion) data has been collected
Co-Authored-By: PatrikLundell <22739822+PatrikLundell@users.noreply.github.com>
2021-01-19 16:37:59 +01:00
bseiller
9b9373be4f
removing commented out assigments
2021-01-19 12:06:36 +01:00
bseiller
cb496c3f59
fixing indention/whitespaces
...
- defs.h: replacing tab with space/blank for indents
2021-01-19 00:07:28 +01:00
bseiller
e99c8faa24
switching to mid_level_tile_incursion_base to store incursion data of world tile edges
...
- defs.h: using mid_level_tile_incursion_base in region_tile_datum to store incursion data of world tile edges
- survey.cpp: commented out "not used" blocks of assignment in survey_mid_level_tile that no longer make sense now
2021-01-19 00:01:54 +01:00
bseiller
bdfd50cc65
using mid_level_tile_incursion_base instead of mid_level_tile for incursion processing
...
- matcher.cpp, survey.cpp: adapting signatures to use new struct that only contains incursion specific attributes
2021-01-18 23:50:14 +01:00
bseiller
cc68767336
created struct mid_level_tile_incursion_base that only contains attributes that are relevant for incursion processing
...
- def.h: make attributes/fields of mid_level_tile_incursion_base available in mid_level_tile by inheriting from mid_level_tile_incursion_base which also allows treating mid_level_tile as a mid_level_tile_incursion_base
2021-01-18 23:23:50 +01:00
bseiller
85fe05b723
early return from embark_update during an active search to improve performance
...
- embark-assistant.cpp: checking if a search is active, if so return early
2021-01-18 22:08:46 +01:00
bseiller
c300cae2f9
removing 2 dead stores to speed up survey::survey_mid_level_tile
...
- survey.cpp: removing layer_bottom and layer_top, which are never read, but slow down survey_mid_level_tile significantly because entries are added quite often into the tree map structure
- survey.h: removing now obsolete include for map
2021-01-18 19:38:57 +01:00
Susan
84b07005d8
tabs to spaces [whoops]
2021-01-16 23:47:41 +00:00
Susan
7a14bf475f
don't turn off seedwatch on map load
...
fixes #682
2021-01-16 23:23:05 +00:00
Susan
b506f0a240
remove misleading comment
...
per https://github.com/DFHack/dfhack/issues/682#issuecomment-138705257 , seedwatch supports linux and has done for over a decade.
2021-01-16 23:01:25 +00:00
abstern
78df890217
factor out functions to get plant names and set individual farms
2021-01-13 08:55:48 +01:00
abstern
80674f7697
[feature] autofarm: fallow farms when no further plants requested
2021-01-12 21:37:51 +01:00
Myk Taylor
339d5ce26b
set buildingplan global settings from prompt
...
allow buildingplan settings to be set from the DFHack# prompt. For
example, if a player knows they'll always want to build with blocks,
they could add the following two lines to onMapLoad.init:
buildingplan set boulders false
buildingplan set logs false
2021-01-10 17:29:53 -08:00
Timur Kelman
f115767713
add missing `\n` in digFlood's example
2020-12-31 13:47:02 +01:00
lethosor
b585bca90b
look_menu_search: fix crash due to certain cursor keys not restoring list
...
Fixes #1737
2020-12-30 15:04:43 -05:00
lethosor
a7232499ac
Silence some warnings from GCC 10
...
Specifically `gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0`
2020-12-30 00:04:49 -05:00
PatrikLundell
4a2704665d
Merge branch 'develop' of https://github.com/DFHack/dfhack into embark-assistant
2020-12-27 11:20:18 +01:00
PatrikLundell
dbfd838786
corrected temperature calculation factor order
2020-12-27 11:07:33 +01:00
lethosor
8cace1eb06
probe: print more designation and occupancy-related flags
...
This was useful for testing #1729
2020-12-23 15:36:39 -05:00
lethosor
eff360b49d
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-12-20 01:15:40 -05:00
PatrikLundell
0b7ab90d3d
corrected mismatched indices
2020-12-17 11:49:15 +01:00
lethosor
de21e0cdb8
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-12-16 13:25:25 -05:00
PatrikLundell
3e3a34af99
corrected index usage
2020-12-16 10:59:27 +01: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
lethosor
4e08357aaf
search: reset when screen is dismissed, even if it's still present under gview
...
Fixes #1725
2020-12-08 23:09:07 -05:00
lethosor
a3d8c5a2ec
revflood docs: clarify that constructed walls are ignored
...
Closes #1719
2020-12-05 19:41:32 -05:00
lethosor
db03f943c9
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-12-04 23:54:50 -05:00
PatrikLundell
c36fbe4c8b
Corrected river size handling
2020-12-03 15:40:22 +01:00
Tachytaenius
2a4e16d6da
Cover artifacts at greasing station
...
The inconsistent [DOES_NOT_DETERMINE_PRODUCT_AMOUNT] distribution is right, I assume?
2020-11-28 18:08:04 +00:00
lethosor
8548295fe5
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-11-18 11:12:17 -05:00
PatrikLundell
afe99b83c2
corrected orientation bug
2020-11-18 10:43:15 +01:00
lethosor
90cf6e8587
Merge remote-tracking branch 'quietust/dwarfvet' into develop
2020-11-17 23:38:06 -05:00
lethosor
53916dbe6b
Use charToKey and clean up logic a bit
...
Ref #1714
2020-11-17 23:33:18 -05:00
Nilsolm
4ac3e62e60
ignore input if selection is zero
2020-11-18 02:41:20 +01:00
PatrikLundell
1cd9babfb7
2 spaces killed
2020-11-17 21:10:40 +01:00
PatrikLundell
7944026742
fixed help screen misalignment
2020-11-17 20:55:14 +01:00
PatrikLundell
8f5d9fe1e9
Merge branch 'develop' of https://github.com/DFHack/dfhack into embark-assistant
2020-11-17 19:53:09 +01:00
PatrikLundell
ab617f67cc
corrected world tile level incursion calculations
2020-11-17 19:52:46 +01:00
Quietust
877fd42214
dwarfvet - initialize spot_index ( #1711 ), fix types in Patient
2020-11-17 09:13:03 -06:00
lethosor
0b886399fe
zone: stop enumnick from taking priority over assign/unassign/slaughter
...
Fixes #1709
Ref #1652
2020-11-15 22:21:46 -05:00
lethosor
4921cb4ac7
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-11-14 15:08:22 -05:00
PatrikLundell
0ef56ba859
another space character met its demise
2020-11-14 14:53:54 +01:00
PatrikLundell
46835c9edd
reworked aquifer bit fiddling
2020-11-14 14:43:43 +01:00
myk002
59e76ae407
detect buildingplan buildings in the resume plugin
2020-11-13 12:43:46 -08:00
PatrikLundell
d51b56c780
removed a blank
2020-11-13 20:28:22 +01:00
PatrikLundell
6014a45235
Fixed bug missing world tiles lacking incurson supplied resources
2020-11-13 20:11:03 +01:00
lethosor
2e4f23d49f
Merge remote-tracking branch 'myk002/myk_isplannedbuilding' into develop
2020-11-13 14:09:36 -05:00
myk002
efdba8b596
add buildingplan.isPlannedBuilding
2020-11-13 10:18:54 -08:00
myk002
10616a387f
cleaner mask-based implementation
2020-11-12 22:44:38 -08:00
myk002
6b14a92385
allow buildingplan to match metal bars
2020-11-12 19:54:00 -08:00
myk002
02a86d761a
identify bars as non_economic items
...
allows Job::isSuitableMaterial() to match metal bars as a building
material
2020-11-12 19:10:06 -08:00
myk002
36110902fa
don't use cached iterators across map reloads
2020-11-12 00:11:13 -08:00
lethosor
923b1b14f3
Merge remote-tracking branch 'myk002/buildingplan_persist_global_settings' into develop
2020-11-11 23:59:09 -05:00
lethosor
9c13b497bf
Merge remote-tracking branch 'myk002/myk_automaterial_buildingplan_fix' into develop
2020-11-11 23:36:42 -05:00
myk002
54702085d5
don't eat keys while building is being renamed
...
allows buildingplan to prevent unsuspension of planned buildings without
also eating the 's' key when the user is trying to use it to give the
building a custom name.
2020-11-11 17:12:56 -08:00
lethosor
c87d5260d3
buildingplan: make hotkeys added to existing menus red
...
For clarity (per Lua API.rst guidelines)
2020-11-11 16:04:40 -05:00
lethosor
58079217d9
Merge remote-tracking branches 'myk002/myk_buildingplan_no_quality' and 'myk002/myk_buildingplan_pause' into develop
2020-11-03 00:09:03 -05:00
Myk Taylor
2c65113bdb
detect all conditions that make the game pause
2020-10-31 03:03:05 -07: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
65114d904c
fix typo in comment
2020-10-29 11:53:31 -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
lethosor
d508ad3c4b
Merge remote-tracking branch 'myk002/buildingplan_building_material_filters' into develop
...
Conflicts:
docs/changelog.txt
2020-10-28 23:57:55 -04:00
Myk Taylor
c1af3e2817
document what happens if no types are allowed
2020-10-26 21:13:11 -07:00
lethosor
3ab9157a2d
Merge remote-tracking branch 'myk002/buildingplan_refactor5_allbuildings_squashed2' into develop
2020-10-26 21:37:41 -04:00
lethosor
b723636fe2
Merge remote-tracking branch 'myk002/buildingplan_refactor4_algorithm_squashed2' into develop
2020-10-26 21:24:05 -04:00
Myk Taylor
1a69a9b483
add more important checks for matching items
...
stolen (with love) from advfort.lua
2020-10-26 16:54:50 -07:00
Myk Taylor
292d40a6ba
change hotkeys for adjusting min and max quality
...
to avoid 'q' and 'w' conflicts with the standard DF UI hotkeys for
roller speed.
min quality: 'qw' -> 'QW'
max quality: 'QW' - 'AS'
2020-10-26 16:11:34 -07:00
Myk Taylor
72b6ac781b
on second thought, let UI-related settings reset
...
no need to have quickfort_mode stay on forever
2020-10-25 02:45:03 -07:00
Myk Taylor
486bf2719b
persist global buildingplan settings
...
this ensures that a player's preferences are saved across map reloads.
this is particularly important for the building material filters, since
item fulfillment tasks are regenerated on map load, and any changes in
settings when buildingplan is reset will change the item vectors that will
be searched for planned buildings. if the settings were allowed to reset,
then a player who thought all walls would be made out of blocks would be
surprised to find boulders and logs being used after the map is reloaded.
2020-10-25 02:37:22 -07:00
lethosor
58917b03d1
Switch away from CheckDFObject in unprotected calls
...
See https://github.com/DFHack/dfhack/pull/1674#issuecomment-716028460
2020-10-24 14:27:33 -04:00
Myk Taylor
a2f943e7e5
don't shift UI down for track constructions
...
automat doesn't have UI there to avoid
2020-10-24 09:19:15 -07:00
Myk Taylor
e614d16e0e
use Lua::CheckDFObject instead of static cast
2020-10-23 15:30:40 -07:00
Myk
55a52554ee
use CheckDFObject instead of static cast
...
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2020-10-23 13:55:14 -07:00
Myk Taylor
0f517f38f8
don't conflict with automaterial plugin
...
shift buildingplan text down so we don't overwrite each other
2020-10-22 22:01:45 -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
895fa59c79
Merge branch 'buildingplan_refactor' into develop
2020-10-16 00:05:01 -04:00
lethosor
93520b4b00
dwarfmonitor prefs: fix segfault if item_subtype is null for some item types
2020-10-11 20:45:56 -04:00
lethosor
9c8098b4f0
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
lethosor
1b53c0e748
Merge remote-tracking branch 'GitOnUp/normalize_search' into develop
2020-10-09 22:18:39 -04:00
lethosor
e2de358f00
Merge remote-tracking branch 'PassionateAngler/zone-qol-improvements' into develop
2020-10-09 21:43:04 -04:00
lethosor
2382247398
Update some docs links to use HTTPS
2020-10-09 19:17:59 -04:00
lethosor
c9609ad590
Make `createitem inspect` consistent for PLANT_GROWTH items
2020-10-09 12:45:49 -04:00
lethosor
691b35bf04
Merge remote-tracking branch 'quietust/createitem' into develop
2020-10-09 12:35:40 -04:00
George Murray
a3c565b243
Add to_search_normalized to search for characters with accents
2020-09-24 07:31:10 -07:00