Commit Graph

4227 Commits (bc042bc7dfb062d7761a0c55c0ce47a57af04c91)

Author SHA1 Message Date
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