Commit Graph

1019 Commits

Author SHA1 Message Date
ikpil bc7818a1c5 [Upstream] fix: Fix raycast shortcuts (@Sarofc)
Raycast is performed in 2d and it might report reaching the given position even if the Y coordinate is different than the target. Therefore, it is necessary to check what poly is actually hit by raycast before taking a shortcut.

- https://github.com/recast4j/recast4j/issues/196
- https://github.com/recast4j/recast4j/pull/197
- https://github.com/ikpil/DotRecast/issues/72
2024-07-18 20:06:36 +09:00
ikpil a87f34e738 update comment 2024-07-17 23:48:11 +09:00
ikpil cf7aec90ee Changed DtNavMeshQuery.GetPolyWallSegments() to use Span<T> for enhanced performance, memory efficiency. 2024-07-16 22:19:41 +09:00
ikpil 84419b1d52 Changed memory handling to use stackalloc in DtNavMeshQuery.GetPolyWallSegments for reducing SOH
Refactored to use stack-allocated Span<DtSegInterval> instead of dynamically allocating List<DtSegInterval>. This reduces potential heap allocations and improves performance by efficiently managing memory within a fixed size context.
2024-07-14 23:51:04 +09:00
ikpil c562f8f6a1 Changed new RcVec3f[3] to stackalloc RcVec3f[3] in DtNavMesh.GetPolyHeight() to reduce heap allocation. 2024-07-14 00:09:08 +09:00
ikpil eccce01cff reorder variable declarations 2024-07-13 23:21:56 +09:00
ikpil 990dbcf97f Changed data structure of 'neis' from List<byte> to byte[] for optimized memory usage and improved access speed in `DtLayerMonotoneRegion` 2024-07-12 23:55:35 +09:00
ikpil 00950b1210 update Serilog.Settings.Configuration 8.0.2 2024-07-12 23:18:19 +09:00
ikpil c5820af20b update comment 2024-07-12 01:54:38 +09:00
ikpil afe93d084e update comment 2024-07-12 01:46:53 +09:00
ikpil c1e7b84efa update readme 2024-07-09 00:11:02 +09:00
ikpil fbce7f40f4 2024.3.1 2024-07-09 00:10:38 +09:00
ikpil b34b17e89c update comment in DtCrowdAgentParams 2024-07-08 14:01:28 +09:00
ikpil 31b7eaf9a3 update comment 2024-07-08 13:55:56 +09:00
ikpil 9ebaa3fc65 Changed to limit neighbor search to a maximum count and use array for memory efficiency in `DtCrowd.AddNeighbour()` 2024-07-07 14:58:38 +09:00
ikpil 76e5ade4d1 update comment in DtCrowdNeighbour 2024-07-07 14:04:37 +09:00
ikpil 1894a56889 Changed to efficiently stack nearby DtCrowdAgents in `DtCrowd.GetNeighbours()` 2024-07-07 12:55:51 +09:00
ikpil 828b9644cc Changed agents management from list to dictionary in `Crowd` 2024-07-07 12:38:09 +09:00
ikpil ab2c520076 Changed `new float[]` to `stackalloc float[]` in `DtConvexConvexIntersections.Intersect()` 2024-07-05 00:15:03 +09:00
ikpil 4743ba68f9 Changed static readonly to const 2024-07-04 23:34:25 +09:00
ikpil fa2ff6f133 comment 2024-07-04 01:14:31 +09:00
ikpil 355a08e7ef int to byte 2024-07-03 23:08:31 +09:00
ikpil a282a80356 Changed vertCount and triCount to byte in DtPolyDetail 2024-07-02 13:47:31 +09:00
ikpil ba6815769a Changed to use Span<byte> and stackalloc for improved performance and memory management in `RcLayers.BuildHeightfieldLayers()` 2024-06-27 14:04:30 +09:00
ikpil 27751522f9 comment 2024-06-26 23:48:24 +09:00
ikpil ee48892223 Optimize stack handling by replacing List with a fixed-size array and manual index management in RcLayers 2024-06-26 23:46:40 +09:00
ikpil d472d71795 Added RcSpans.Fill<T>() 2024-06-25 00:45:08 +09:00
ikpil bdb9463d88 Changed RcLayerRegion.layerId to byte 2024-06-25 00:30:51 +09:00
ikpil 35f5c63d77 DtStraightPathFlags int to byte 2024-06-25 00:17:07 +09:00
ikpil e5d5867c56 rename RcVecUtils to RcVec 2024-06-25 00:02:59 +09:00
ikpil 72b7cfd6db update Serilog.Sinks.File 6.0.0 2024-06-24 22:36:05 +09:00
ikpil 267e15fd4c refactor DtTileCacheObstacle class 2024-06-21 00:07:58 +09:00
ikpil 35ef64d9b4 reorder the member variables of DtTileCacheObstacle 2024-06-20 23:52:37 +09:00
ikpil 0092761742 Changed to consolidate vector-related functions into one place. 2024-06-19 13:46:04 +09:00
ikpil 5911510544 fix compile error 2024-06-17 23:15:43 +09:00
ikpil f54b586d75 Serilog.Enrichers.Thread 4.0.0 2024-06-17 14:09:46 +09:00
ikpil 5827a43dd8 Changed `RcChunkyTriMesh` to separate the function and variable. 2024-06-12 00:41:39 +09:00
ikpil 650849b11b Changed 'reg', 'area' arrays to byte arrays for uniformity and efficiency in DtTileCacheContour 2024-06-12 00:03:59 +09:00
ikpil b88b6096f6 Fixed where the dynamic voxel save file browser doesn't appear In Demo 2024-06-11 22:23:22 +09:00
ikpil 65c572a4c2 Changed 'heights', 'areas', 'cons', and 'regs' arrays to byte arrays for uniformity and efficiency in DtTileCacheLayer 2024-06-11 00:44:20 +09:00
ikpil 3417ecae36 Serilog.Sinks.Console 6.0.0 2024-06-10 14:09:06 +09:00
ikpil 320c7b4c65 Removed RcVecUtils.Dot2D(this RcVec3f @this, Span<float> v, int vi) 2024-06-08 20:56:55 +09:00
ikpil fd03f0f12f Removed RcVecUtils.Create(float[] values) 2024-06-08 14:24:47 +09:00
ikpil ed7173dd51 Removed RcVecUtils.Min(), RcVecUtils.Max() 2024-06-08 14:21:38 +09:00
ikpil face8eb48e Changed to reuse samples and edges list in BuildPolyDetail() 2024-06-08 12:08:31 +09:00
ikpil 759e335961 Removed RcVecUtils.Subtract(float[] verts, int i, int j) 2024-06-07 22:46:08 +09:00
ikpil 8ad34dc0d8 Removed RcMeshDetails.VdistSq2(float[], float[]) 2024-06-07 22:36:46 +09:00
ikpil ebab0a11f3 Removed RcVecUtils.Subtract(RcVec3f i, float[] verts, int j) 2024-06-07 21:44:59 +09:00
ikpil b18845a749 Removed RcVecUtils.Scale() 2024-06-07 21:31:11 +09:00
ikpil 0f20db44bb Serilog.Sinks.Async 1.5.0 -> 2.0.0 2024-06-07 21:24:11 +09:00