Commit Graph

4192 Commits (3a8f815f9864675c2df22370c7dabfd34a428338)

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