Commit Graph

4559 Commits (cd7fe8a213b20ac8a05ce631fadd078a16f90a1d)

Author SHA1 Message Date
myk002 df9c37a8b7
Merge branch 'develop' into docs 2022-08-15 17:09:36 -07:00
myk002 b2a4f10c22 output onupdate log messages by default
but include info on how to make it stop
2022-08-15 16:15:41 -07:00
myk002 f400ee50f8 refine docs, logging, help text 2022-08-15 16:15:41 -07:00
myk002 a28cf6d444 remove all lua integration from the examples 2022-08-15 16:15:41 -07:00
myk002 a4c8535977 add argparse int checking methods, more docs 2022-08-15 16:15:41 -07:00
myk002 43dfd27bb4 create several use-case-focused plugin examples 2022-08-15 16:15:41 -07:00
myk002 0bbbacf161 extend the docs and examples in skeleton.cpp 2022-08-15 16:15:41 -07:00
myk002 2f9021a3a0 move examples to the examples folder 2022-08-15 16:15:41 -07:00
myk002 9f648d532e modify seedwatch all to actually watch all seeds 2022-08-15 16:11:13 -07:00
Myk 3e9a916f4e
Merge branch 'develop' into docs 2022-08-07 23:38:00 -07:00
myk002 c0eb568d0d
Merge branch 'develop' into docs 2022-08-07 23:36:56 -07:00
myk002 8930f30b72
remove unuseful command from automelt 2022-08-07 22:36:47 -07:00
lethosor 69a84c23c2
renderer-msg: draw less often
suggested by Quietust
2022-08-06 12:33:25 -04:00
lethosor ac175affbc
Make renderer-msg draw somewhat more reliably
From g_src (enabler.cpp: renderer::display()), either update_all() or
update_tile() is called at least once per frame
2022-08-06 12:22:27 -04:00
myk002 46c3862a08
update docs for zone 2022-08-05 08:08:34 -07:00
myk002 5c9be942a5
update docs for workflow 2022-08-03 23:40:35 -07:00
myk002 b2ab93b3cd
update docs for autonestbox 2022-08-03 23:35:13 -07:00
myk002 3b17448597
update docs for autobutcher 2022-08-03 23:34:56 -07:00
myk002 03027b513a
Merge branch 'develop' into docs 2022-08-03 22:55:38 -07:00
myk002 1695919411
apply canonical class 3 plugin structure 2022-08-03 22:40:55 -07:00
myk002 1dec977476
clean up and add logging to state persistence 2022-08-03 21:44:25 -07:00
myk002 f98015ae55
ensure we run every N ticks, not frames
add more debug messages
fix watching/unwatching/forgetting races that aren't in the watchlist
2022-08-03 21:44:25 -07:00
pre-commit-ci[bot] 4acb59cb64
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-08-03 21:44:25 -07:00
myk002 3983b4d75b
update docs 2022-08-03 21:44:25 -07:00
myk002 fe2212db96
output status when run without params 2022-08-03 21:44:25 -07:00
myk002 3f61e2302c
split autobutcher out from zone 2022-08-03 21:44:24 -07:00
myk002 0096f7c882
split autonestbox out from zone 2022-08-03 21:44:24 -07:00
myk002 612cd154df move tiletypes.history to dfhack-config/tiletypes.history 2022-08-02 22:46:04 -07:00
myk002 98f8fcd068 move liquids.history to dfhack-config/liquids.history 2022-08-02 22:46:04 -07:00
myk002 6686f703ae
update docs for workNow 2022-07-31 13:41:30 -07:00
myk002 e4c5b14670
update docs for tweak 2022-07-31 13:41:30 -07:00
myk002 a5a57a8631
update docs for tubefill 2022-07-31 13:41:30 -07:00
myk002 51f79f9464
update docs for tiletypes 2022-07-31 13:41:30 -07:00
myk002 b240748684
update docs for tailor 2022-07-31 13:41:29 -07:00
myk002 3d0eab1a9b
update docs for strangemood 2022-07-31 13:41:29 -07:00
myk002 e1e245b4b4
update docs for stocks 2022-07-31 13:41:29 -07:00
myk002 5621a19278
update docs for stockpiles 2022-07-31 13:41:29 -07:00
myk002 08d434d16e
update docs for stockflow 2022-07-31 13:41:29 -07:00
myk002 479494e5a6
update docs for steam-engine 2022-07-31 13:41:29 -07:00
myk002 af0631cbd9
update docs for spectate 2022-07-31 13:41:29 -07:00
myk002 7261914826
update docs for sort 2022-07-31 13:41:29 -07:00
myk002 8f7a23ee4d
update docs for showmood 2022-07-31 13:41:28 -07:00
myk002 edb7bd3168
update docs for seedwatch 2022-07-31 13:41:28 -07:00
myk002 438293c0a0
update docs for reveal 2022-07-29 17:12:15 -07:00
myk002 c6d5fcb378
update docs for resume 2022-07-29 17:12:01 -07:00
myk002 a7011421b4
update docs for rendermax 2022-07-29 16:31:37 -07:00
myk002 eef7812bf6
update docs for rename 2022-07-29 16:08:00 -07:00
myk002 e513253d8d
update docs for regrass 2022-07-28 23:20:24 -07:00
myk002 1270cf3f0a
update docs for prospector 2022-07-28 23:12:11 -07:00
myk002 cf69a1a2cf
update docs for probe 2022-07-28 23:04:07 -07:00
myk002 2d400fb571
update docs for plants
n.b. original docs were a lie.
2022-07-28 22:51:17 -07:00
myk002 2e2abbe87a
update docs for petcapRemover
and make it actually start running when it is enabled
2022-07-28 16:46:10 -07:00
myk002 4dea700ac9
Merge branch 'develop' into docs 2022-07-28 05:52:50 -07:00
myk002 507b1632a2
support backtick as a keybinding 2022-07-28 05:45:50 -07:00
myk002 5b8d8d7fe8
update docs for orders 2022-07-28 03:48:27 -07:00
myk002 88648284b0
update docs for nestboxes 2022-07-28 03:25:00 -07:00
myk002 f68b58c460
update docs for mousequery 2022-07-28 03:22:32 -07:00
myk002 bcab483b57
update docs for mode 2022-07-28 02:50:37 -07:00
myk002 756900393f
update docs for misery 2022-07-28 02:47:32 -07:00
myk002 ddae1aa900
update docs for liquids 2022-07-27 17:14:40 -07:00
myk002 52a0b0f2ca
update docs for lair 2022-07-27 17:14:30 -07:00
myk002 e94f1891c2
update docs for labormanager 2022-07-27 17:14:18 -07:00
myk002 2008fd3955
update docs for jobutils.
I was unable to find an example usage for `job item-type`. I couldn't
find any combination of jobs or parameters that worked.
2022-07-27 16:03:49 -07:00
myk002 117efaa814
update short description for command-prompt 2022-07-27 15:48:44 -07:00
myk002 06fc84fb39
update docs for infiniteSky 2022-07-25 22:00:56 -07:00
myk002 69d88a62dd
update docs for hotkeys 2022-07-25 21:54:34 -07:00
myk002 b93e3365f6
update docs for get plants 2022-07-25 21:50:52 -07:00
myk002 094f8d7257
fix typos in forceequip cpp/docs 2022-07-25 16:57:08 -07:00
myk002 367ac0064e
update docs for generated-creature-renamer 2022-07-25 16:54:28 -07:00
myk002 eb0f016804
update docs for forceequip 2022-07-25 16:40:19 -07:00
myk002 20ccd3a99c
update docs for follow 2022-07-25 10:55:31 -07:00
myk002 e13aae2ce1
update docs for flows 2022-07-25 10:55:04 -07:00
myk002 ea3dfe399e
update docs for fixveins 2022-07-25 10:54:11 -07:00
myk002 9c0bd6bd70
update docs for fix-unit-occupancy 2022-07-25 10:23:26 -07:00
myk002 2654de583f
update docs for filltraffic 2022-07-25 10:23:05 -07:00
myk002 989befa582
update docs for fastdwarf 2022-07-25 10:22:23 -07:00
myk002 a6cb79c237
remove defunct tool fix-armory 2022-07-25 10:21:59 -07:00
myk002 886289d805
update docs for fix-armory 2022-07-25 10:21:33 -07:00
myk002 38c17b5215
update docs for RemoteFortressReader 2022-07-25 06:56:21 -07:00
myk002 02cc085a43
update docs for embark-tools 2022-07-24 23:59:04 -07:00
myk002 d94fef36ff
update docs for embark-assistant 2022-07-24 23:39:13 -07:00
myk002 32e2ac2103
update docs for dwarfvet 2022-07-24 23:24:52 -07:00
myk002 91e3f6767c
update dwarfmonitor short description 2022-07-24 23:22:52 -07:00
myk002 ac11cde213
update docs for dwarfmonitor 2022-07-24 23:22:51 -07:00
myk002 b2ca3cb194
update docs for diggingInvaders 2022-07-24 20:12:04 -07:00
myk002 60b599865c
update docs for digFlood 2022-07-24 17:01:50 -07:00
myk002 ca06d1d9c5
update docs for dig (again) 2022-07-24 16:08:35 -07:00
myk002 932f1c2189
move tiletypes.history to dfhack-config/tiletypes.history 2022-07-23 22:13:19 -07:00
myk002 d1f690baa5
move liquids.history to dfhack-config/liquids.history 2022-07-23 22:12:58 -07:00
myk002 3141ecbec2
remove cromulate. it has outlived its purpose 2022-07-22 21:04:22 -07:00
myk002 4cb57d25f1
update dig-now docs 2022-07-22 17:46:33 -07:00
myk002 675f2edee2
update deramp docs 2022-07-22 17:46:22 -07:00
myk002 0f3811b933
update debugfilter docs 2022-07-22 17:46:11 -07:00
myk002 65b3ce6e96
remove unattached docs and plugins 2022-07-22 17:45:23 -07:00
myk002 19a4905933
update docs for "c" plugins 2022-07-22 16:42:36 -07:00
myk002 0b88922ffc
Merge remote-tracking branch 'upstream/develop' into docs 2022-07-20 16:33:50 -07:00
myk002 d9a1104473
update docs for cleanowned 2022-07-20 14:51:06 -07:00
myk002 e9e477c680
update docs for clean and spotclean 2022-07-20 13:51:03 -07:00
myk002 1f3c4cdd18
update docs for cleanconst 2022-07-20 13:26:30 -07:00
myk002 d3dd12c38f
update docs for changevein 2022-07-20 13:24:27 -07:00
myk002 fae5f0635a
update docs for changelayer 2022-07-20 13:21:05 -07:00
myk002 ddd2e5003a
update docs for changeitem 2022-07-20 13:00:27 -07:00
Quietust a20612b0a8 Update structures 2022-07-18 17:50:41 -07:00
myk002 66b7bcaf1a
update docs for burrows 2022-07-18 17:09:48 -07:00
myk002 19a4accca4
update docs for bulidingplan 2022-07-18 16:58:01 -07:00
myk002 154dc7c96c
update docs for blueprint 2022-07-18 16:32:43 -07:00
myk002 fd84fdce73
update docs for automelt 2022-07-18 16:13:20 -07:00
myk002 87e67ea8b3
update docs for autolabor 2022-07-18 14:53:06 -07:00
myk002 6c760d1a3d
update docs for autohauler 2022-07-18 14:33:24 -07:00
myk002 b1916f16b1
update docs for autogems 2022-07-18 13:59:11 -07:00
myk002 3ca7997d3e
update docs for autofarm 2022-07-18 13:49:51 -07:00
myk002 25bc59297b
update docs for autodump (and related hotkeys) 2022-07-18 13:28:16 -07:00
myk002 3969a366ec
update docs for autoclothing 2022-07-18 13:02:03 -07:00
myk002 51c817191c
update docs for autochop 2022-07-18 12:52:38 -07:00
myk002 5ff31e0cc1
remove defunct advtools plugin 2022-07-18 12:36:11 -07:00
myk002 2207f26992
update docs for 3dveins 2022-07-18 11:34:58 -07:00
myk002 8173f6dd02
Merge remote-tracking branch 'upstream/develop' into docs 2022-07-18 10:59:00 -07:00
myk002 f3539f06c8
integrate hotkeys with helpdb 2022-07-15 09:44:24 -07:00
lethosor 4cdb0ff138
Merge branch 'rm-old-modules' into develop 2022-07-12 11:23:10 -04:00
Myk b0e7325d4f
add sample plugin to go with the sample help (#2239) 2022-07-10 20:14:20 -07:00
Myk 9f44fd3f72
[manipulator] add the professions library (#2234)
* move professions out of the examples folder

* install professions into professions/library

* guard unguarded header from multiple inclusion

* load and display library professions

* update changelog

* move example professions docs from examples guide

* update dreamfort documentation

* note that professions folder has changed

* Fix bad merge
2022-07-06 07:21:26 -07:00
Myk e0d37a31ae
Make the manager orders library available by default (#2233)
* move orders out of examples directory

* install orders into library dir

* read orders from new library dir

* update documentation

* update dreamfort references to orders import

* update changelog

* ignore json files in pre-commit
2022-07-06 07:03:29 -07:00
Myk 091068c710
[prospect] give player control over which information is output (#2231)
* give player control over prospect output

* suspend the core *before* we call to Lua
2022-07-06 06:57:13 -07:00
lethosor 8bb047fcc6
Remove Notes module
Only used in a devel plugin that prints notes, and can be easily replaced
with `ui.waypoints.points`
2022-06-29 23:35:13 -04:00
Quietust 8a605e1903 The great de-anon-ification 2022-06-29 07:54:04 -07:00
DFHack-Urist via GitHub Actions 12958e15c6 Auto-update submodules
plugins/stonesense: master
2022-06-29 07:17:24 +00:00
Simon Lees b0bff47f03 Fix use after free's
This was detected by gcc and causing the build to fail on my
Linux machine
2022-06-23 08:24:26 -07:00
Josh Cooper d38ab1d152
Fix UNIT_NEW_ACTIVE events (#2197)
* Updates eventful.lua to use UNIT_NEW_ACTIVE

* Fixes bug #2189

* Revises activeUnits declaration/initialization

* Fixes build error

* Update changelog.txt

* reword changelog entry

* add changelog entry for event name change

Co-authored-by: Myk <myk002@yahoo.com>
2022-06-17 09:34:41 -07:00
Warmist fc384fd1a2
Update eventful.lua (#2203)
* Update eventful.lua

Had wrong function. Fixes https://github.com/DFHack/dfhack/issues/2202

* Update Lua API.rst

Update docs to add onReactionCompleting and remove outdated info

* Update Lua API.rst

Some more minor doc fixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add changelog entry

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-12 07:12:49 -07:00
myk002 1f38936723 don't create the unused manipulator/ directory 2022-06-10 15:36:16 -07:00
lethosor 3f6b30af15
Update stonesense 2022-06-09 01:24:30 -04:00
Josh Cooper 04058c7529 Update matcher.cpp 2022-06-08 12:42:33 -07:00
Josh Cooper cec8a358b5 Replaces deprecated code with lambdas 2022-06-08 12:42:33 -07:00
Josh Cooper f8d46a10c1 Removes unhelpful inheritance 2022-06-08 12:42:33 -07:00
Josh Cooper 0eb9eee773 Fixes presumed typo in if statement 2022-06-08 12:42:33 -07:00
Josh Cooper f146cced95 Adds definition for "undeclared reference" 2022-06-08 12:42:33 -07:00
myk002 a8916a269e
fix syntax error
ref: #2164
2022-06-03 13:36:09 -07:00
myk002 514e5ee5bb
convert status message to debug message
ref: #2164
2022-06-03 13:18:16 -07:00
Myk 27bf4c758b
Allow player to pause the confirmation dialog without disabling (#2164)
* basic pause functionality for confirm

* update changelog

* wrap the pause message and output in white

* unpause on viewscreen transition when we can

but still use esc detection when we won't get a viewscreen transition
(like when we're intercepting input on viewscreen_dwarfmodest

* add more code docs about unpause detection
2022-06-02 06:24:13 -07:00
Myk 77d045488b
Confirmation dialog for removing manager orders (#2163) 2022-05-23 21:17:52 -07:00
DFHack-Urist via GitHub Actions 0da881d5eb Auto-update submodules
plugins/isoworld: dfhack
2022-05-15 07:17:46 +00:00
Myk 8f6522899b
Upgrade jsoncpp to 1.9.5 (#2144)
* test jsoncpp upgrade

* use new json library target name

* don't remap the output dirs

* undo warnings at the source

* set new defaults for jsoncpp

* fix typo in new options

* fix signed comparison mismatch warning

* address random(?) compile failures

saying our std::atomic is not initialized in Debug.cpp
2022-05-13 13:52:43 -07:00
DFHack-Urist via GitHub Actions 4d08a49afb Auto-update submodules
plugins/isoworld: dfhack
2022-05-12 05:41:20 +00:00
DFHack-Urist via GitHub Actions bf8eaef6bc Auto-update submodules
library/xml: master
plugins/isoworld: master
depends/libexpat: dfhack
depends/jsoncpp-sub: dfhack
2022-05-12 05:21:01 +00:00
Tim Siegel 5d2739eee0
[command-prompt] word-wrap response text
Fixes #2079
2022-05-09 13:42:16 -04:00
Tim Siegel c3347d465f
[command-prompt] cosmetics: whitespace, sort headers 2022-05-09 13:42:16 -04:00
Josh Cooper fe29bff845
Adds cxxrandom unit test and fixes interface problems (#2099)
* Adds cxxrandom unit test and fixes interface problems

* Tightens braces

* Adds detection code for Shuffle's seqID/engID

* Adds usage examples for cxxrandom

* Gives cxxrandom objects id ranges, sort of

* Updates changelog

* Updates changelog.txt

* Increases id space for cxxrandom

* Fixes bool distribution error message and improves check

* Adds comment explaining the seeded RNG tests for cxxrandom

* Fixes type problem for 32bit builds

* Reduces loop count a few magnitudes

* Fixes a mistake in test.cxxrandom_seed
2022-04-30 21:46:47 -07:00
Josh Cooper 8eb2831b7e
Adds plugins/external/ and auto-populates the cmake within upon creation (#2095)
* Adds a plugins sub-directory

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Auto-adds plugins/external sub-directories

* Moves plugins/external globbing as to generate plugins/external/cmake

* Removes plugins/external/.gitignore since the directory is generated

* Fixes cmake error

* Moves gitignore for plugins/external to ensure existence for fresh clone

* Adds missing EOF newline

* Adds requested changes
2022-04-27 19:53:05 -07:00
Quietust dc2a14c0c2 Add "partial-items" tweak.
When active, the displayed names of partially-consumed items (e.g.
hospital cloth) will display a percentage indicator at the end.

Also re-sort a few Tweaks so they're in alphabetical order again.
2022-04-27 11:27:11 -07:00
Guilherme Abraham 2aa28d34b6
Adding ids output to cursecheck (#2093)
Co-authored-by: Guilherme Abraham <guilherme.abraham@zpesystems.com>
Co-authored-by: Myk <myk002@yahoo.com>
2022-04-21 20:22:05 -07:00
Josh Cooper 9bf9a79a11
EventManager/Eventful - Generate event arrays (#2097)
* Replaces EventManager.cpp's event array with an auto-gen one

* Replaces eventful.cpp's event array with auto-gen one
2022-04-14 21:47:25 -07:00
lethosor 5f3d5bbcd5 Add new `plugins/external` subdirectory for external/untracked plugins
This is more convenient for some devs than the old CMakeLists.custom.txt
solution because it allows the plugins themselves (files or folders) to be
ignored, rather than needing to remember to leave them unstaged.
2022-04-14 10:38:23 -07:00
Tim Siegel bf60879c81 [tweak/stable-cursor] Keep stable cursor when viewport is near enough
Allow the viewport to move a bit and still keep the cursor location.
2022-04-12 19:53:16 -07:00
lethosor d1f0edd33b
Apply initial pre-commit config 2022-04-12 14:48:19 -04:00
myk002 54e8761aa0 capture fortifications and engravings in blueprint 2022-04-01 12:20:37 -07:00
Su 8a120837c6
only designate enough trees to reach max_logs (#2064)
* only designate enough trees to reach max_logs
* Chop largest trees first
2022-03-31 20:41:44 -07:00
Tim Siegel b5af004194
[manipulator] Tweak colors to make cursor easier to locate (#2051) 2022-03-30 23:39:20 -07:00
Myk 257e7a3dfd
[core] Debug logging facelift (#2060)
* route 'Loading script...' messages through the debug logging framework
  * they are now controllable via debugfilter. to turn off, add this to your dfhack.init file: debugfilter set Warning core script
* clarify debug logging docs
* prevent DEBUG messages from being compiled out of the binary
* recolor INFO messages so they blend into existing console output
* add configuration interface for log message header elements so they are individually configurable. all default to off
2022-03-30 14:46:09 -07:00
Myk 2df6980237
fix crash in eventful due to misaligned fn map (#2059)
also add warnings in eventful and EventManager to prompt devs to keep them in sync
2022-03-29 12:51:21 -07:00
Josh Cooper 69ca0d8a28
Improves support for dfhack as a sub-project (#2058)
Replaces CMAKE_SOURCE_DIR with dfhack_SOURCE_DIR so it can be included in other cmake projects that have a different top-level CMAKE_SOURCE_DIR
2022-03-29 10:28:52 -07:00
DwarvenM acbfe500ab
Typo Fix in dig.cpp (#2053)
vdig -> digv
2022-03-27 16:54:01 -07:00
Tim Siegel ab54cbff7a
[confirm] Fix typo in help message (#2046) 2022-03-23 19:45:13 -07:00
Kelly Kinkade e0ecf21896
autofarm code cleanup (#2033)
* code cleanup on autofarm.cpp

* more code cleanup on aufofarm.cpp

* yet more cleanup of autofarm.cpp

mostly whitespace, some `*` and `&` adjustments

* downgrade autofarm to c++11

apparently the gcc we use doesn't support c++14 generic lambdas

* death to whitespace

apparently visual studio's default whitespace murderer doesn't touch `#define`s. who knew?

* Update autofarm.cpp

const is good
2022-03-16 19:43:24 -07:00
Kelly Kinkade d25cd0874a remove check for discovered plants in autofarm
Remove limitation on planting only "discovered" plants in autofarm because there was never any reason for doing so.

Resolves #1988.
2022-03-15 08:23:18 -07:00
Josh Cooper dda487a535
Adds new plugin: Spectate (#1918)
* Adds spectate plugin

* Updates spectate.cpp

* Changes spectate toggle message

* Updates changelog.txt

* Adds spectate to Plugins.rst

* Adds requested changes

- foreach syntax replaces active units loops
- removes CR_FAILURE return on double enable/disable usage
- removes disabled code
- implements a few clion clang tidy suggestions (auto declare when casting)
- Updates zcount to have accurate count for performing RNG
- adds eof newline
- adds todo comment about a redundant if condition

* Declares spectate section in Plugins.rst
2022-03-14 19:33:41 -07:00
myk002 e60ef479c6 handle carving fortifications in dig-now 2022-03-12 13:33:36 -08:00
myk002 7c665dcb7a allow search terms to match full item labels
even when the item label is truncated for length
this change also fixes items that were being incorrecty grouped due to
having differences only in the truncated part of their labels
2022-03-12 12:41:19 -08:00
Quietust aa1bc3fe52 Cleanup Kitchen module (and the seedwatch plugin which uses it) 2022-03-12 12:04:34 -08:00
Josh Cooper ba5710f263 Adds new event type NEW_UNIT_ACTIVE 2022-03-12 11:33:27 -08:00
Josh Cooper 20b42145c1 On second thought, not redundant 2022-03-12 11:33:27 -08:00
Josh Cooper a2e690d5d9 Re-adds removed lines to diggingInvaders.cpp 2022-03-12 11:33:27 -08:00
Josh Cooper 2b8024e62f Updates eventful plugin with new EventManager event JOB_STARTED 2022-03-12 11:33:27 -08:00
Josh Cooper 4aac87a7f0 Updates the plugin skeletons again 2022-03-12 11:33:27 -08:00
Josh Cooper 79e2188a5f Corrects a regression in skeleton.cpp documentation 2022-03-12 11:33:27 -08:00
Josh Cooper 051e891680 Improves plugin dev documentation through updating skeleton.cpp 2022-03-12 11:33:27 -08:00
Josh Cooper ddbeead2b2 Updates diggingInvaders according to EventManager refactor 2022-03-12 11:33:27 -08:00
Josh Cooper 12df6d14e9 Improves documentation for plugin writing 2022-03-12 11:33:27 -08:00
myk002 33f06668d5 ensure we don't crash when tiletypes-here is run
from the commandline
2022-03-03 21:37:38 -08:00
myk002 dbe87d4156 implement orders list 2022-02-25 12:58:56 -08:00
myk002 2ebfca42dd merge buildingplan-lib.cpp into buildingplan.cpp 2022-02-25 12:57:17 -08:00
myk002 0d1668a7a5 merge buildingplan-lib into buildingplan
so no one else is tempted to use it as a library. starting buildingplan
from two separate plugins just runs two completely separate engines with
separate state, one of which is completely inaccessible from the UI.
2022-02-25 12:57:17 -08:00
myk002 eae90c9448 remove fortplan code; leave doc stub 2022-02-25 12:57:17 -08: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 d7d4f364ac channel over dig equals no ramp
fixes special case where a channel tile is specified over a regular dig
tile. this allows dig-now to produce a flat floor in that case, which is
likely what is intended.
2021-10-02 09:25:19 -07:00
myk002 42f4cbdc9c remove designations from all modified tiles
found this bug with blueprint-generated blueprints. if both a channel
and the resulting ramp are explicitly marked in the blueprint (like the
blueprint plugin does), the channel is processed first, pre-creating the
ramp in the tile designated for a ramp. Then, when the ramp designation
is processed, the ramp is already there, which is an invalid tile to
make a ramp on, so the designation is skipped (and therefore not
cleared). this change clears the designation for both the ramp tile and
the channel tile when either is processed. this opens another edge case
where the designation under a channel is a regular 'd' mine, which will
now get ignored and leave a ramp insead of a flat floor. but I'll
address that in the next commit.
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 c23970f36b add unit tests 2021-09-20 16:10:15 -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