- Remove buildsables as a concept from polygons (
aedd4de
)
- Add building of linux extension back in workflow (
13368b8
) - Update scripts to compile the extension for ladder (
161bd44
) - Remove capital letters from package name to make poetry happy (
eff6f1c
)
- Trigger release test (
23ba55d
)
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.0.87 (2021-05-04)
- Include function add_cost_to_multiple_grids to avoid calculating the same circle for every different grid the user wants to add the same cost to (6baedc0, thanks to rasper!)
0.0.86 (2021-04-03)
- Fixing bug when going in and out of the same nydus entrance when pathfinding (abf444f1)
0.0.85 (2021-03-27)
- Removed pyastar dependency and the deprecated pathfind_pyastar function completely (c310ac4c)
- Added support for using nyduses with pathfinding (636af5ea)
0.0.84 (2021-02-03)
- test: renamed test pathing function to be more descriptive of what it does (778333d)
- assert that illegal weights are tolerated in Pather (4c846aa)
- fix add_cost crashing when a very specific input is present (bc5052ec)
0.0.83 (2021-02-02)
0.0.82 (2021-01-11)
- Fixed climber grid issue on SubmarineLE (#140)
0.0.81 (2021-01-06)
- Adjust finding eligible pathing points (090eed9)
- Break a choke check loop if choke is removed (9413288)
- Turn path smoothing around, so it works front to back (9413288)
- Fix path smoothing calculations (0a69a87)
- Fix variable having wrong type (3a663d4)
- Fix Crash on cleaning overlapping chokes (6aebbc4)
0.0.80 (2021-01-03)
- Added support for array output in lowest_cost_points_array (06d96e4)
- Pathfinding engine now takes into account unit size (footprint) (ec3abaf5)
- New draw_circle function to replace skdraw.disk (072ee6c)
- Add function to find eligible points nearby in pather (5a2e5c7)
- Add destructable type to grid calculations (7495b9b)
- Pathfinding now allows to query with unit sizes x <= 1 and 1 < x <= 2
- Pathfinding starting and end points are adjusted if they are inside some nonpathable thing such as a building or rocks. The new start or end point will be the closest pathable point, prioritizing points on the same terrain height level first before looking at other points
- Pathing grids update during the game and mostly without much work
- Pathing grid is also now much more accurate. The attempt is to represent each unit with precisely the right size instead of circles that are roughly correct
- Creating new pathing grids when requested is much faster because we don't need to loop over the destructables
- air grid generation (8acbed77)
- air vs ground grid (39ca942d)
- deprecated time.clock() on python version > 3.7 (e83832d4)
- All documentation example now work (e6073df5)
- Test destructable types (cafbead)
- fix air vs ground test (a2f4e27)
- added --doctest-modules flag to pytest.ini. all doc tests use a Goldenwall MapData mock (5364a6c3)
- #116 Update Readme and Docs branch
- #109 Ramp objects should be updated during the game if they have destructables on them
- #91 pathfind can return pathing outside of playable area.
- #82 add instructions for cpp build tools for windows users -- not needed
0.0.79 (2020-12-30)
- add a ladder compatible version of the c extension in the repo (500a900)
- CLI version parse error (c133b7d)
0.0.78 (2020-12-27)
A* pathfinding is now implemented within the library, in C(default) #111
-
Implementing pathfinding and map analysis in C, allowing to remove pyastar and sc2pathlib as dependencies
-
Implementing smoothed pathfinding
-
Fixing choke objects in the mapanalyzer, so they have sides etc that better reflect reality
-
Fixing ramp objects that come from burnysc2 if the info is broken due to destructables (a8ad54a)
-
overlord spots + drawing (bfac2bb)
- moving raw chokes into their own class( RawChoke) (bf9aebb)
- test that for each choke a main line actually exists (dcef428)
- testing the choke sides are included in choke points (308cf29)
- remove sc2pathlib (787c6b8)
- pyastar is now deprecated, yet still supported (and can be accessed via
pathfind_pyastar
) - RawChoke objects from C ext instead of PathlibChokes from former sc2pathlib
- Improve find_lowest_cost_efficiency (#114)
- int cast bug (b055bf4)
- scout now walks the path (2f04b03)
- temp fix for climber grid test (1f8f611)
- Fix crash on python3.9 (#112)
- #104 float based position & radius should be better for functions like add_cost
- #97 Bug: Geysers too small on pathing grid (EternalEmpire 3oclock base)
- #94 Bug: choke.left and choke.right don't take account the orientation of the choke
0.0.77 (2020-12-13)
- Debugger now plots choke side a and side b with text indicators (sA, sB) (9dd8c07)
- Polygon now has top,bottom,right,left properties (8f5b0c9)
- Round position in add_cost to reduce inaccuracy (#100)
- left right of choke are now side_a and side_b, sides are computed accuratly now (125f881)
- testing the choke sides are included in choke points (e3b0b26)
0.0.76 (2020-11-24)
- add
include_destructables
toget_climber_grid
in mapdata (0e8aaf9)
0.0.75 (2020-11-07)
- ChokeArea now has left/right properties (be13d59)
- MDRamp offset attribute for walloff, corner_walloff, middle_walloff_depot properties (5fb232c)
- plot_map now also draws the Left/Right bounds of each choke (da66c0e)
- WIP wall off points for each and every choke (e99bb63)
- fix install order in setup (cdbf0f7)
- overlapping chokes from sc2pathlib are merged (still WIP) (38cdaa5)
- typo, import logger from loguru (64d0960)
- add_cost is now a static method (8217749)
- overall static methods to be static (66b4b0e)
- remove log method from MapData (0d98393)
0.0.74 (2020-10-17)
- added example bot ref to README.MD (7ceedf2)
- dummybot.py is an example bot with a few handy use cases showing (35f1cc9)
0.0.73 (2020-10-01)
- fix clean_air_grid being wrongly constructed of integers instead of np.float32 (278241c)
- Added instruction on how to query cost in a specific point on the grid (e0c8e19)
- now testing clean_air_grid for dtype bugfix by checking path lengths (b47bae4)
0.0.72 (2020-09-29)
- fix double transpose bug that happens when requesting low cost points more than once per frame (ffd6b84)
- find low cost points now also tests that the distance between the point and the origin makes sense( the array is not transposed) (76a0e19)
0.0.71 (2020-09-28)
- fixed transposed grid bug when searching for low cost points , added support for grids constructed from outside sources (c127901)
- log compatability with bots (8960716)
- find low cost points is now tested on all grid types (6ec010d)
0.0.70 (2020-09-22)
- MapData now accepts a
corner_distance
variable that will determine the corner distance calculation (294df181)
- add wheel to requirements and setup.py (eb663a9)
0.0.69 (2020-09-19)
- fix pathing grid set up incorrectly when there are no vision blockers (d49a084)
0.0.68 (2020-09-19)
- Buildable points now respect flying buildings (b90123f)
- pathfind method will now return the path without the start point in it (06481d8)
- Excluded lowered supply depots from non pathables #85 (#85)
0.0.67 (2020-09-17)
- add cost now accepts
initial_default_weights
argument ( known use case is for air_vs_ground grid ) (7fe542f)
0.0.66 (2020-09-10)
- map_data.find_lowest_cost_points within a radius (ab5073c)
- map_data.draw_influence_in_game (23d0004)
0.0.64 (2020-09-06)
- (81, 29) on EverDreamLE is considered in map bounds even though it is not (63b91f5)
- air_vs_ground grid now accounts ramp points as pathable (99ad04d)
- removed duplicate calculations from polygon _set_points (948edeb)
- air_vs_ground grid now tests that ramps are computed correctly (6a37be1)
- #77 ramp points which are pathable, are not computed correctly in the air vs ground grid
- #76 Bug (81, 29) is not in map bounds even though it passes the in_bounds check on EverDreamLE
0.0.63 (2020-09-02)
- debugger will now not try to inherit sc2 logger when in arcade mode (03fefd7)
- mapdata will now compile the map in arcade mode, with limited information available (92d9a5f)
0.0.62 (2020-09-02)
- Buildable points are now mapped to Point2, logger now inherits sc2.main.logger (7d8dc88)
- MapData now accepts arcade boolean argument on init (d380f2e)
- Pather changed the unpacking method of vision blockers into the grid (7f4b9c3)
0.0.61 (2020-08-30)
- no need to convert path(numpy) to list anymore [https://github.com/BurnySc2/python-sc2/commit/cac70d738a24fcac749d371e8e0bed5e83b26b9e]
-
added check that returns only points that are in bounds (86891c9)
-
pather now includes geysers as non pathable (94d592c)
- #70 pather ignores geysers
- #73 clean_air_grid size is bigger than playable area size, so pather with try to path to areas where units can't go
0.0.60 (2020-08-30)
- visionblockers are now counted as pathable in the path grid (8120fe9)
0.0.59 (2020-08-27)
- removed in_region_i (f8c7103)
- region tests now deault to using
where_all
instead ofwhere
(1ec9fc1) - removed
is_inside_indices
(429dd52)
0.0.58 (2020-08-26)
- geysers are now accounted for iin the path grid, lowered mineral radius, changed the radius constants to more descriptive name (radius_factor) (94d592c)
0.0.57 (2020-08-26)
- Polygon.buildable_points -> Polygon.buildables
- debugger now has .scatter method, moved readme examples to docs (91be892)
- slight style changes (dbc321c)
0.0.56 (2020-08-22)
- fixed the calling order in polygon._set_points() (2e60287)
- pretty up with autoapi (4835350)
- version attribute is now in MapAnalyzer.init.py , updated versionbump methods in vb, and adjusted setup (4409c7d)
0.0.55 (2020-08-20)
- all point properties are now converted to int instead of np.int + tests for tuple vs Point2 (120b27f)
- Polygon now calls ._set_points() instead of doing it in init (02229e2)
- build changlog for new version (b5b357b)
- clean up + fix vb makedocs (3e68375)
- clean up readme a bit (d7250fa)
- documented polygon, region, constructs (131bbd3)
0.0.54 (2020-08-19)
- add_influence to add_cost, r to radius, p to position, arr to grid (4bfbfee)
- compile_map is now a private method (_compile_map) (8b27883)
- all points returned from mapdata object will now be of type Point2, and populated with standard integers
- documentation is in draft stage and can be found at https://eladyaniv01.github.io/SC2MapAnalysis
0.0.53 (2020-08-16)
-
MapData.region_connectivity_all_paths will now return all options for pathing from Region to Region, while respecting a not_through list of regions to be excluded. (9758950)
-
Base (#65) -> dev -> master (#66) (60e2d2d), closes #65 #66 #64
0.0.52 (2020-08-15)
- Region is now a Child of Polygon (Refactor)
-
regions and ramps now set each other correctly
-
mapdata test for plotting (b987fb6)
0.0.51 (2020-08-14)
- bool compatibility with burnysc2 (9618799)
0.0.50 (2020-08-13)
- Polygon/ Region now has the property 'buildable_points' (25952f7)
- [#61] pathfind will not crash the bot when start or goal are not passed properly, also a logging error will print out (08466b5)
- fix point_to_numpy_array method (4d56755)
- points_to_numpy_array now filters out outofbounds (aedf9d2)
0.0.49 (2020-08-12)
- #58 climber_grid is now aware of nonpathables (such as minerals, destructibles etc) (98dcbec)
- #59 clean air grid will now accept 'default_weight' argument (MapData, Pather) (355ab7d)
- climber_grid tests (5216d0c)
- import error on region-polygon (b8ea912)
- mapdata test for plotting (26a7c15)
- versionbump cli now commits setup.py before calling standard-version (50eb667)
- added cli reminder to commit setup.py on versionbump (28a65a3)
0.0.48 (2020-08-11)
- path through destructables. destructables rocks radius factor from 0.8 to 1 (2fd1a32)
0.0.47 (2020-08-11)
- feat: get_air_vs_ground_grid, get_clean_air_grid
- fix: max_region_size up to 8500 to fix goldenwall
- added air_pathing deprecation warning for requesting through pyastar
0.0.46 (2020-08-10)
- moved changelog from readme.md to changelog.md (0927cba)
0.0.45 (2020-08-10)
Climber grid (#52)
- feat: get_climber_grid a pathing grid for climbing units such as colossus and reapers
0.0.43 (2020-08-10)
- Pather will no longer try to path through mineral walls ( like in goldenwall)
- Fix circular import bug on Debugger
- Fixed malformed point orientation in rare cases
- Now testing both installation types (setup.py and requirements.txt)
- Every test will now use the MapAnalyzer.util functions when it can
- Removed redundant test_map_data from TestSanity, and put it in its right place, test_mapdata
- #46 Feature Request: possibility to enable pathing through rocks when calculating a path
- #45 Feature Request: Add air grid
- #44 Feature Request: add a setting for a custom default weight for the pathing grid
- #39 Feature : add path_sensitivity for returning a sliced path (every nth point )
- #38 pathfiner should return a list of Point2 and not numpy array
- Now inspects stack and will not save on tests
- Will no longer circular call map_data for plotting
- Radius for resource blockers is now 2, this passes all tests
- Grouped methods in map_data for better readablitiy
- Moved
get_sets_with_mutual_elements
to utils - Resource_blockers are now calculated with original coords
- Removed usage of neighbores , instead adding influence with radius
0.0.42 (2020-08-07)
- cli interface for version bump: Bump Version + changelog generation (20b1e70)