Commit Graph

45 Commits (74499ad64ad02bc5d7ef5cc584445eadf260a5c6)

Author SHA1 Message Date
myk002 54e8761aa0 capture fortifications and engravings in blueprint 2022-04-01 12:20:37 -07: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 1a11c43546 record carved tracks in dig blueprints 2021-10-02 09:25:19 -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 367fdbd31c
normalize pathnames and handle dirs as basenames 2021-06-29 14:25:30 -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 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 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 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 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
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
Myk Taylor c19fc1f349 gcc-4.8 compatibility 2020-07-15 21:35:21 -07:00
Myk Taylor e2334387a9 blueprint: write blueprints to blueprints/ subdir
to enable writing to a subdir that may not exist, blueprint now automatically
creates folder trees. E.g. ``blueprint 30 30 1 rooms/dining dig`` will create
the file ``blueprints/rooms/dining-dig.csv``). Previously it would fail if the
``blueprints/rooms/`` directory didn't already exist.
2020-07-15 16:57:14 -07:00
Daniel Brooks 554814920b this allows the blueprint plugin to be called from lua 2018-05-08 11:42:41 -07:00
Ben Lubar a7dfacd1c5
Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
Nikolay Amiantov da3c6404fa blueprint: fix compilation (i.e. undefined find) 2016-01-06 03:03:19 +03:00
lethosor 10cfef0553 Fix whitespace issues 2015-02-14 22:53:06 -05:00
expwnent 53a8032f8a Fix compile of blueprint plugin on Linux. 2015-01-16 03:27:14 -05:00
Chris Dombroski da2224b0ba Changed how parameters are parsed. 2015-01-14 14:58:15 -05:00
Chris Dombroski 106612f386 Use alternate qf syntax for output. 2015-01-14 14:08:54 -05:00
Chris Dombroski d0273b8eff Now puts room designations in the query blueprint 2015-01-13 16:15:54 -05:00
Chris Dombroski f315ee43a4 Added stockpiles 2015-01-13 14:28:28 -05:00
Chris Dombroski 3489c2f39a Buildings complete 2015-01-13 09:40:24 -05:00
Chris Dombroski ea313b6bf5 plugins/blueprint.cpp: Buildings hopefully 2015-01-09 16:00:47 -05:00
Chris Dombroski b627240943 Dig mode complete 2015-01-08 12:17:18 -05:00
Chris Dombroski 819327348b Blueprint plugin basic structure
It should be able to load and make empty blueprint files.
2015-01-08 08:28:54 -05:00