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