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