8 Months Ago
Removed rcPolyMeshDetail destructor to maintain backwards-compatibility recastnavigation/recastnavigation/pull/598#discussion_r1059522812 Add missing null check in rcFreePolyMeshDetail Fix for out of bounds read in tile cache builder. (#601) Fix for reading data out of bounds in tile cache builder in removeVertex. While removing a vertex data is read from i+1 index from mesh.verts, which becomes out of bound for the last vertex, which we shouldn't copy over in this case. Gh pages deploy workflow (#608) Build and deploys doxygen docs to a gh-pages branch so they can be hosted in GitHub pages. Updated Code of Conduct Fixed dead link, changed to contributor covenant. Added link to Q&A section of Github Discussions to the contributing doc as the proper place to post questions Added code of conduct to doxygen input Make installing PDBs optional. (#611) PDBs are not necessarily generated, even in Debug configuration. For example, if the CXX_FLAGS are set to /Z7, debug symbols are embedded, and so the PDBs are not generated. This prevents installing from failing by marking these PDBs as optional. Fix #610 Increase epsilon in detour common segment polygon intersection test (#612) It's only used to detect if the segment is parallel to the polygon edge in question, and if so, skip actually doing the intersection test. This sets the epsilon to 1e-6, which is about 10x the machine epsilon for 32bit floats, so it's low enough to not give false positives but it's large enough to correctly detect segments and polygon edges that are very nearly parallel. fixed a typo (countour -> contour) (#617) Use external Catch2 if available in cmake build (#600) Removed STL function added in C++11 from Detour (#616) to maintain C++03 standard compatibility RecastLayers: set RC_MAX_LAYERS and RC_MAX_NEIS as optional defines (#624) It makes possible for a project integrating Recast to set custom values via CXXFLAGS while remaining build system agnostic. Type checking is kept. Enable UBSan and ASan when building tests with clang Mark input data structures as const. (#625) Add a CMake option to enable 64bit dtPolyRefs for Detour. (#627) Previously, setting this option required either enabling this option by modifying the source, or doing some CMake hacking to inject the variables. Now this is a convenient option. Add a CMake option to use dynamic dispatch for dtQueryFilter in Detour. (#628) Fix spans being filtered if they have just enough clearance. (#626) Updated dead links in comments with archived versions Fixes #623 Replaced another dead link with an archived copy Added CHANGELOG.md To track changelogs for releases Bumped CMake version to 1.6.0 Removed fixupCorridor and replaced with dtMergeCorridorStartMoved (#637) * removed fixupCorridor and replaced function calls with dtMergeCorridorStartMoved * removed fixupCorridor and replaced function calls with dtMergeCorridorStartMoved in NavMeshTesterTool.cpp Fix #634 Bounds checks were unnecessary inclusive. (#418) Co-authored-by: Graham Pentheny <grahamboree@users.noreply.github.com> Update catch to v3.4.0 (#648) Improved variable naming in RecastArea.cpp (#636) * Cleanup compact heightfield functions in RecastArea.cpp * More improved variable names for RecastArea.cpp * Improved variable names and documentation in rcOffsetPoly * Don't normalize the miter bisector in rcOffsetPoly since this needs to be proportional to both segment normals. * Moved vector normalization out of rcOffsetPoly into a helper function rcVsafeNormalize * Rename local variables in rcOffsetPoly * Rename BMiterX/Z to cornerMIterX/Z * Also fixed some comment descriptions * Added docstring for rcVsafeNormalize * Improved clarity of a few comments fix invalid assert dtAssert(npath < m_maxPath) (#619) Enable verbose catch2 output when running tests in CI Fix typo in dtPoly member documentation (#649) Fix typo in DetourNavMesh.h (#651) Changed asserts to be explicitly disabled with RC_DISABLE_ASSERTS rather than using NDEBUG (#653) * Changed asserts to be explicitly disabled with RC_DISABLE_ASSERTS rather than using NDEBUG This gives explicit control to users over when recast asserts are enabled or disabled. This is useful when users wish to disable asserts in debug mode or enable them in release mode. e.g. it's common to compile game code in debug alongside third party code in release. * Added Integration.md with documentation on the integration process for Recast Some quick cleanup in RecastRasterization.cpp (#655) * Rename hf -> heightfield to be consistent * Removed unused include Typo fixes (#660) * multiple comments typo fixes * typo * typos * typos * typos --------- Co-authored-by: Alon Faraj <alon.faraj@mapcore.com> Minor refactor in RecastMesh.cpp (#661) fix:rcBuildLayerRegions missing areaType (#470) Co-authored-by: sunming <359944951@qq.com> Co-authored-by: Graham Pentheny <grahamboree@users.noreply.github.com> Added links in readme to docs site and github repo to make it easy to find one from the other. (#677) Make detail mesh edge detection more robust (#657) Instead of using a distance check which can fail at large magnitudes due to low precision we can check whether the edges are actually on the hull. Docs Overhaul (#680) A lot of the auxiliary project documentation was pretty old, redundant, or could use some polishing. This change fixes up some wording, grammar, layout and generally cleans up the docs a bit. It's not perfection, but it's an improvement I also tried to streamline and beautify the top-level `README.md` to be more appealing, clear, and to direct people to the official docs. To this end, I moved the building instructions to This is based on what I've seen in some other popular github projects. Fixed logo href in README.md Improved doxygen output (#681) Added logo, updated doxyfile, fixed alignment of top-level readme, and changed the logo url to an s3-hosted file since github has restrictions that prevent it from loading on recastnav.com Fix centering in README.md Since github has some weird rules about how they handle html in markdown. Fixed README.md Specify C++ compiler verision requirement in README.md Code cleanup and small optimizations in RecastFilter.cpp rcFilterLedgeSpans (#672) * Code cleanup and minor refactor in RecastFilter.cpp rcFilterLedgeSpans Because span.smax is always > 0, bot > 0 as well, and (-walkableClimb - bot) is always < -walkableClimb. Furthermore, as long as minNeighborHeight < -walkableClimb' at least once, there is no need to continue the traversal. * Code cleanup and minor refactor in RecastFilter.cpp rcFilterLedgeSpans Because span.smax is always > 0, bot > 0 as well, and (-walkableClimb - bot) is always < -walkableClimb. Furthermore, as long as minNeighborHeight < -walkableClimb' at least once, there is no need to continue the traversal. * Update RecastFilter.cpp Revise Comment Some unit tests for heightfield filtering functions (#682) This adds some unit tests for the functions in RecastFilter.cpp, and updates docs around these functions. This also splits up the Tests_Recast.cpp file into a few smaller, more focused files. Cleanup filter code and improved documentation (#683) This mostly just changes variable names and adds some comments to make the code more clear. It also has a few small fixup changes to the unit tests. Backported old release notes to Changelog.md for posterity Ported FAQ to a markdown file in the docs folder So that it's shipped with the code and also part of the doxygen docs at recastnav.com Removed link brakets from old versions in changelog Added introduction documentation Fixed ordering of custom pages in doxygen's sidebar Apparently it's alphabetical and based on the order in which the files are specified in INPUT Fixed broken doc file links after re-name Fixed old parameter names in out-of-line Recast function documentation Fix out of bounds access in dtMergeCorridorStartMoved and add tests (#635) size can become negative if req > maxPath. This may happen when visited buffer is larger than path buffer. Add tests to cover different use cases of the function including Should add visited points not present in path up to the path capacity to cover the fix. List tests files explicitly. When new file is added CMake does not add it to the already generated list if GLOB is used. CMake: .pc: let GNUInstallDirs generate the paths (#692) The concatenation was resulting in paths like libdir=${exec_prefix}//nix/store/...-recastnavigation-1.6.0/lib Fixed typo in README.md Fix: 6 typos (#698) Signed-off-by: RoboSchmied <github@roboschmie.de> Added coordinate system and winding order to FAQ