Commit Graph

9821 Commits (b723636fe2e5571eaef2585bd541eee35dc3ccfb)
 

Author SHA1 Message Date
lethosor b723636fe2
Merge remote-tracking branch 'myk002/buildingplan_refactor4_algorithm_squashed2' into develop 2020-10-26 21:24:05 -04:00
Myk Taylor 1a69a9b483 add more important checks for matching items
stolen (with love) from advfort.lua
2020-10-26 16:54:50 -07:00
lethosor 031f2a2feb
Reduce build matrix entries 2020-10-26 01:23:24 -04:00
lethosor 58917b03d1
Switch away from CheckDFObject in unprotected calls
See https://github.com/DFHack/dfhack/pull/1674#issuecomment-716028460
2020-10-24 14:27:33 -04:00
lethosor 488c5509fc
Merge remote-tracking branch 'myk002/buildingplan_refactor3_lua_squashed2' into develop 2020-10-23 23:07:40 -04:00
Myk Taylor e614d16e0e use Lua::CheckDFObject instead of static cast 2020-10-23 15:30:40 -07:00
Myk 55a52554ee
use CheckDFObject instead of static cast
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2020-10-23 13:55:14 -07:00
lethosor c73a8a05d0
Merge remote-tracking branch 'myk002/buildingplan_refactor2_squashed2' into develop 2020-10-23 13:57:17 -04:00
lethosor 4301252ddf
Merge remote-tracking branch 'myk002/buildingplan_refactor2_squashed' into develop 2020-10-23 13:51:54 -04:00
lethosor fa70c829ad
Merge remote-tracking branch 'lethosor/github-actions-plugins' into develop 2020-10-21 20:23:41 -04:00
lethosor a0ff7c393b
Give artifacts a unique name 2020-10-21 20:14:16 -04:00
lethosor 9357c9f888
Only upload test artifacts if tests ran 2020-10-21 20:13:50 -04:00
lethosor 00f012d334
GitHub Actions: add alternative plugin builds 2020-10-21 17:58:17 -04:00
lethosor 26505acb70
Add some cross-references and clean up 2020-10-20 01:18:25 -04:00
lethosor 2bd0e938ad
Move pathable to Lua API docs 2020-10-20 01:11:01 -04:00
lethosor 84973d1fb8
Sort plugins in Lua API.rst 2020-10-20 01:06:47 -04:00
lethosor 3a200fcd92
Expand `probe` documentation 2020-10-20 01:01:02 -04:00
Myk Taylor 100b374af7 generalize buildingplan for all building types
but restrict to only the currently supported set so we can still assume only one filter is required for each building.

changes:
- update buildingplan plugin version to 2.0
- new serialization format for planned buildings
- old persistent data is automatically migrated to new format on load
- algorithm now respects job_item filters; items must match job_item filter and buildingplan ItemFilter
- more invalid items are now filtered out, like items encased in ice. are there any others we should be checking (see BadFlags struct)
- items are sorted before job is unsuspended so final item ordering is correct regardless of what order the items were matched and attached
- item counts in filters are kept up to date so if buildingplan is disabled before all filters are matched and the building is completed by DF itself, the item counts will come out correct (though the item ordering and building "roughness" may be incorrect)
- fixes two memory leaks in building finalization code
- allows artifacts to be matched (ItemFilter defaults now top out at Masterful -- Artifact is selectable but must be manually specified)
- add gui to switch between items for buildings that require multiple item types
2020-10-16 14:08:52 -07:00
Myk Taylor 1368fb4003 buildingplan: construct buildings from lua
Replace C++ building construction code with lua constructBuilding so we can get the proper job_item filters set. these filters will be used when we replace the core buildingplan algorithm in the next PR.
2020-10-16 14:03:05 -07:00
Myk Taylor 82013c0c5e prep buildingplan for core algorithm changes
Lots of refactoring and reorganizing, with only cosmetic player-visible changes.

- show quickfort mode hotlkey label regardless of whether the current building type has buildingplan enabled. before, it was only shown after the user enabled buildingplan for the current building. this eliminates the extra step when enabling quickfort mode, which force-enables all building types.
- changed signature of lua-exported isPlannableBuilding to take subtype
  and custom type in addition to building type. this is only used by
  quickfort, and it already sends all three params in preparation for
  this change
- added lua-exported scheduleCycle(), which is like doCycle(), but only
  takes effect on the next non-paused frame. this lets quickfort
  run only one buildingplan cycle regardless of how many #build
  blueprints were run
- declared a few dfhack library methods and params const so buildingplan
  could call them from const methods
- converted buildingplan internal debug logging fn to have a printf api
- reshaped buildingplan-planner API and refactored implementation in
  preparation for upcoming core algorithm changes for supporing all
  building types (no externally-visible functionality changes)
  - changed df::building_type params to type, subtype, custom tuple keys
  - introduced capability to return multiple filters per building type
    (though the current buildings all only have one filter per)
- split monolith hook functions in buildingplan.cpp into one per scope.
  this significantly cleans up the code and preps the hooks to handle
  iterating through multiple item filters.
- got rid of send_key function and replaced with better reporting of
  whether keys have been handled
2020-10-16 13:52:23 -07:00
lethosor 895fa59c79
Merge branch 'buildingplan_refactor' into develop 2020-10-16 00:05:01 -04:00
Myk Taylor e4b6fb0ff4 Merge branch 'buildingplan_refactor' into buildingplan_refactor2_squashed 2020-10-12 22:39:55 -07:00
Myk Taylor 435bd50327 Merge remote-tracking branch 'upstream/develop' into buildingplan_refactor 2020-10-12 22:39:34 -07:00
lethosor cc159909e2
Mention some third-party Linux packages
Closes #20
2020-10-13 00:24:29 -04:00
lethosor 88fd25e63c
Update scripts 2020-10-12 23:51:51 -04:00
lethosor 5487c00e2c
Merge remote-tracking branch 'myk002/quickfort_docs' into develop 2020-10-12 23:47:03 -04:00
Myk Taylor f754164a1d document new query_unsafe option 2020-10-11 22:16:42 -07:00
Myk Taylor bdf2bbc22e remove reference in docs to unimplemented behavior
I never implemented ignoring spaces in alias definitions, and now that
I've thought more about the consequences, I don't plan to : ) Ignoring
spaces would lead to conusing behavior when players attempt to give
names with spaces to buildings
2020-10-11 22:15:01 -07:00
lethosor 93520b4b00
dwarfmonitor prefs: fix segfault if item_subtype is null for some item types 2020-10-11 20:45:56 -04:00
Myk Taylor 9d2abafefc Merge branch 'buildingplan_refactor' into buildingplan_refactor2_squashed 2020-10-11 12:11:51 -07:00
Myk Taylor bccf8a64c0 Merge remote-tracking branch 'upstream/develop' into buildingplan_refactor 2020-10-11 12:11:20 -07:00
lethosor b343d00800
Update to 0.47.04-r3 (authors, changelog, and submodules) 2020-10-10 17:31:30 -04:00
lethosor 9c8098b4f0
Expose to_search_normalized to Lua, add test, and use in ListColumn (most useful for the `stocks` plugin) 2020-10-10 01:40:00 -04:00
lethosor 8d85261cdc
Update changelog (#1658 and more of #1652) 2020-10-09 22:20:07 -04:00
lethosor 1b53c0e748
Merge remote-tracking branch 'GitOnUp/normalize_search' into develop 2020-10-09 22:18:39 -04:00
lethosor d1eec9d338
Update xml 2020-10-09 21:44:16 -04:00
lethosor b972246d16
Update docs (#1652) 2020-10-09 21:43:58 -04:00
lethosor e2de358f00
Merge remote-tracking branch 'PassionateAngler/zone-qol-improvements' into develop 2020-10-09 21:43:04 -04:00
lethosor 5e63e6e103
Convert some links to use :wiki: 2020-10-09 19:24:52 -04:00
lethosor 2382247398
Update some docs links to use HTTPS 2020-10-09 19:17:59 -04:00
lethosor c9609ad590
Make `createitem inspect` consistent for PLANT_GROWTH items 2020-10-09 12:45:49 -04:00
lethosor 9eff62a05d
Update docs for #1659 2020-10-09 12:38:45 -04:00
lethosor 691b35bf04
Merge remote-tracking branch 'quietust/createitem' into develop 2020-10-09 12:35:40 -04:00
lethosor 28efe1d2a7
Add local TOCs to Lua API plugin sections 2020-10-09 12:20:13 -04:00
lethosor f10bc7678e
Allow breaking long inline code snippets if necessary 2020-10-09 12:16:25 -04:00
lethosor c2280356cb
Set language of some code blocks to enable syntax highlighting 2020-10-09 01:15:42 -04:00
lethosor a5f85e256d
Default to a basic DFHack-specific pygments lexer (supporting comments and prompts) 2020-10-09 00:27:22 -04:00
lethosor 09f262a0c2
Disable syntax highlighting in code blocks by default
The default is Python, which none (that I have found) of our code blocks use
2020-10-08 23:30:59 -04:00
lethosor 2fdd6f7aed
Convert to explicit ref targets (occasionally section links) and fix messages() -> message() 2020-10-08 23:19:16 -04:00
lethosor f54eb9627d
Merge remote-tracking branch 'myk002/quickfort_case_study' into develop 2020-10-08 01:01:37 -04:00