All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Nothing
- Nothing
- Nothing
- Nothing
- Fix raycast shortcuts (@Sarofc) #72
- Fix dynamic mesh bounds calculation (@ppiastucki) #77
- issuer : @OhJeongrok
- Fix Support non-tiled dynamic nav meshes (@ppiastucki)
- Changed data structure of 'neis' from List to byte[] for optimized memory usage and improved access speed in
DtLayerMonotoneRegion
- Changed new RcVec3f[3] to stackalloc RcVec3f[3] in DtNavMesh.GetPolyHeight() to reduce heap allocation
- Changed memory handling to use stackalloc in DtNavMeshQuery.GetPolyWallSegments for reducing SOH
- Changed DtNavMeshQuery.GetPolyWallSegments() to use Span for enhanced performance, memory efficiency.
- Changed bmin/bmax from int[] to RcVec3i for improved memory efficiency
- Nothing
- Nothing
- Fixed bug where the dynamic voxel save file browser doesn't appear in
Recast.Demo
- Changed to reuse samples and edges list in
BuildPolyDetail()
- Changed
heights
,areas
,cons
, andregs
arrays to byte arrays for uniformity and efficiency inDtTileCacheLayer
- Changed
reg
,area
arrays to byte arrays for uniformity and efficiency inDtTileCacheContour
- Changed
RcChunkyTriMesh
to separate the function and variable. - Changed to consolidate vector-related functions into one place.
- Changed stack handling from List to a fixed-size array with manual index management for optimization in
RcLayers.BuildHeightfieldLayers()
- Changed to use Span and stackalloc for improved performance and memory management in
RcLayers.BuildHeightfieldLayers()
- Changed vertCount and triCount to byte in
DtPolyDetail
- Changed
new float[]
tostackalloc float[]
inDtConvexConvexIntersections.Intersect()
- Changed agents management from list to dictionary in
DtCrowd
- Changed to efficiently stack nearby DtCrowdAgents in
DtCrowd.GetNeighbours()
- Changed to limit neighbor search to a maximum count and use array for memory efficiency in
DtCrowd.AddNeighbour()
- Removed RcMeshDetails.VdistSq2(float[], float[])
- Removed RcVecUtils.Dot()
- Removed RcVecUtils.Scale()
- Removed RcVecUtils.Subtract(RcVec3f i, float[] verts, int j)
- Removed RcVecUtils.Subtract(float[] verts, int i, int j)
- Removed RcVecUtils.Min(), RcVecUtils.Max()
- Removed RcVecUtils.Create(float[] values)
- Removed RcVecUtils.Dot2D(this RcVec3f @this, Span v, int vi)
- Added
DtCollectPolysQuery
andFindCollectPolyTest
- Nothing
- Changed
IDtPolyQuery
interface to makeProcess()
more versatile - Changed
PolyQueryInvoker
toDtActionPolyQuery
- Changed
DtTileCacheBuilder
to a static class - Changed
DtTileCacheLayerHeaderReader
to a static class - Changed
Dictionary<int, List<DtMeshTile>>
toDtMeshTile[]
to optimize memory usage - Changed
MAX_STEER_POINTS
from class constant to local. - Changed
List<DtStraightPath>
toSpan<DtStraightPath>
for enhanced memory efficiency - Changed
DtWriter
to a static class and renamed it toRcIO
- Changed class
Trajectory
to interfaceITrajectory
- Nothing
- Added RcSpans UnitTest
- Nothing
- Changed class name of static functions to RcRecast and DtDetour
- Changed DtLink class member variable type from int to byte
- Changed initialization in DtNavMesh constructor to Init() function.
- Nothing
- Added RcCircularBuffer @ikpil
- Added struct DtCrowdScopedTimer to avoid allocations in scoped timer calls. @wrenge
- Added struct RcScopedTimer to avoid allocations in RcContext scoped timer @ikpil
- Added RcSpans @ikpil
- Changed DtPathCorridor.Init(int maxPath) function to allow setting the maximum path @ikpil
- Changed from List to RcCyclicBuffer in DtCrowdTelemetry execution timing sampling @wrenge
- RcCyclicBuffer optimizations @wrenge
- Added DtNodeQueue UnitTest @ikpil
- Added RcSortedQueue UnitTest @ikpil
- Added IComparable interface to RcAtomicLong @ikpil
- Added Menu bar in Demo @ikpil
- Update Microsoft.NET.Test.Sdk 17.8.0 to 17.9.0
- Enhanced ToString method of DtNode to provide more detailed information.
- Reuse DtNode in DtNodePool
- Added DtNodePool tests @ikpil
- Added WangHash() for DtNodePool @ikpil
- Added avg, min, max, sampling updated times in CrowdAgentProfilingTool @ikpil
- Fixed SOH issue in DtNavMeshQuery.Raycast @ikpil
- Fixed SOH issue in DtProximityGrid.QueryItems @ikpil
- Upgrade NUnit.Analyzers 4.0.1
- Fix typo (#25) @c0nd3v
- Fix updated struct version (#23) @c0nd3v
- Allow Radius 0 in Demo (#22) @c0nd3v
- [Upstream] Cleanup filter code and improved documentation (#30) @ikpil
- [Upstream] Make detail mesh edge detection more robust (#26) @ikpil
- [Upstream] 248275e - Fix: typo error (#153) (#21) @ikpil
- Code cleanup and small optimizations in RecastFilter.cpp (#29) @ikpil
- Added UI scaling feature based on monitor resolution in Demo (#28) @ikpil