1184 Commits

Author SHA1 Message Date
xyd
9f4ce64458 Fix crash on large-scale navmesh generation (assert triggered) (#796)
Co-authored-by: yudong xiang <xiangyudong@foxmail.com>
2026-02-27 02:16:52 -05:00
Graham Pentheny
ef480bbd12 allocSpan unit test 2026-02-08 17:31:28 -05:00
Graham Pentheny
78f2d462af Added more rcRasterizeTriangle unit tests and moved them to Tests_RecastRasterization.cpp 2026-02-08 17:19:31 -05:00
Graham Pentheny
762ecb5d79 When attempting to add a span that is invalid (zero or negative size), log a warning and ignore the span. 2026-02-08 15:45:42 -05:00
Graham Pentheny
6d30a5d8ee Document span range values inclusivity/exclusivity 2026-02-08 15:45:06 -05:00
Graham Pentheny
996553fc5a Added unit tests file to match RecastRasterization.cpp. Moved rcAddSpan tests there.
Also added a bunch of new tests that should cover most cases.  The test that checks invalid spans is currently failing
2026-02-08 15:44:44 -05:00
Graham Pentheny
13f4334438 Disable warnings as errors in the test project and set the warning level to the default 2026-02-08 13:42:21 -05:00
Graham Pentheny
308324723c Specify x64 platform when building with Windows in github actions 2026-02-08 13:42:00 -05:00
Graham Pentheny
0312fbc12b Removed template from closestPointOnDetailEdges function
Change to a boolean parameter.  This is helpful to remove warnings about conditionals with constant expressions (line 640) and also makes the impending C conversion easier.  Any perf changes are probably either an improvement or a wash - one more parameter and branch vs a whole other function blowing out icache.  Not measured though.
2026-02-08 13:32:32 -05:00
Graham Pentheny
df91891677 Updated Catch2 to v3.12.0 2026-02-08 13:32:32 -05:00
Graham Pentheny
89d215d551 Modernize premake5 file.
Removed a lot of duplicated declarations.  Tests no longer links to SDL for no reason, removed a lot of surgical compiler parameters to silence warnings about some questionable code.
2026-02-08 13:32:32 -05:00
Graham Pentheny
87b2419574 Update github workflows to use premake 5.0.0 beta 8 (latest) 2026-02-08 13:31:12 -05:00
Graham Pentheny
ca21a9295c Update github workflow to de-dupe SDL installation steps for Windows and Linux as well as macOS
Also update to SDL 2.32.10, the last SDL2 version
2026-02-08 00:27:04 -05:00
Graham Pentheny
3a936ffd12 Modernize RecastDemo cmake config 2026-02-07 23:03:03 -05:00
Graham Pentheny
ace5d51d99 Modernize CMake configs 2026-02-07 22:44:12 -05:00
Chris Djali
f9addb2427 Make RECASTNAVIGATION_ENABLE_ASSERTS do what it looks like it does (#806) 2026-02-04 22:57:21 -05:00
Graham Pentheny
d44e61edcc Merge branch 'DearIMGUI'
# Conflicts:
#	RecastDemo/Source/Sample_SoloMesh.cpp
#	RecastDemo/premake5.lua
2026-02-03 17:44:06 -05:00
Graham Pentheny
440ab80bcd Fix SDL2 header includes on macOS with cmake 2026-02-03 17:23:02 -05:00
Graham Pentheny
c3080246e5 Another attempt to fix linux SDL2 include paths 2026-02-03 17:17:20 -05:00
Graham Pentheny
8722cb11d5 Fix SDL include paths on macOS with cmake 2026-02-03 17:11:57 -05:00
Graham Pentheny
981e1723ce Fixed SDL include paths on linux with cmake 2026-02-03 17:10:15 -05:00
Graham Pentheny
5d68449076 Specify SDL2 install path explicitly on macOS 2026-02-03 16:58:38 -05:00
Graham Pentheny
9bcfac0eb3 Always use clang on linux 2026-02-03 16:56:30 -05:00
Graham Pentheny
c2e0f8fb5a De-dupe SDL2 download and setup instructions for macOS 2026-02-03 16:53:27 -05:00
Graham Pentheny
77302511b0 Disable the maybe-uninitialized error on linux when using cmake since it generates false-positives 2026-02-03 16:44:28 -05:00
Graham Pentheny
142fc3475d Fixed more cmake errors on macOS 2026-02-03 16:36:49 -05:00
Graham Pentheny
333aec628c Disable some noisy warnings-as-errors when compiling with gcc on linux 2026-02-03 16:02:48 -05:00
Graham Pentheny
de208f0130 Removed explicitly disabled copy constructor and assignment operator from dtMeshTile
Was causing issues compiling on linux because of a warning with memset-ing this struct
2026-02-03 15:53:35 -05:00
Graham Pentheny
ed9d0bbd8f Fixed SDL2 linking and includes on macOS when using cmake 2026-02-03 15:49:29 -05:00
Graham Pentheny
07e66cd3d6 Fixed premake SDL2 framework linking on macOS 2026-02-03 15:45:06 -05:00
Graham Pentheny
d66cc87513 Fixed fastlz include declaration 2026-02-03 15:24:38 -05:00
Graham Pentheny
198cfb3443 CMake: compile contrib libraries separately from recast code
So we can control compiler flags like warnings as errors
2026-02-03 15:17:54 -05:00
Graham Pentheny
c0af4697a8 Update CMake build settings to match premake 2026-02-03 12:22:58 -05:00
Graham Pentheny
b0d08d51ee Separate contrib code into its own static library
So we can control compiler parameters
2026-02-03 11:53:17 -05:00
Graham Pentheny
6b7e0894fe Use older FatalCompileWarnings since the newer one seems to be broken on Linux with gcc 2026-02-02 22:48:03 -05:00
Graham Pentheny
39da322131 Set fatalwarnings setting per-project 2026-02-02 22:39:51 -05:00
Graham Pentheny
4ee4991127 Fix GH Actions runner images 2026-02-02 18:42:12 -05:00
Graham Pentheny
bcff86c17d Fixed field naming in some areas of the demo project 2026-02-02 18:37:28 -05:00
Graham Pentheny
cb205935d5 Fix macro expansion warning 2026-02-02 18:32:18 -05:00
Graham Pentheny
a9ee01e64f Rename AppData to AppState 2026-02-02 18:32:07 -05:00
Graham Pentheny
3d0aedec33 Fix some rider warnings 2026-02-02 18:30:31 -05:00
Graham Pentheny
9bee4408c7 Better layout of Save and Load buttons in both samples 2026-02-02 18:28:47 -05:00
Graham Pentheny
912b7d8ae3 Removed bad log line 2026-02-02 18:16:01 -05:00
Graham Pentheny
fe8ad273bc Explicitly set c++ version per-project. Set RecastDemo and Tests projects to C++20
We don't care as much about ultra-compatibility with RecastDemo or Tests.  C++20 seems fairly universal at this point considering Unreal 5 ships with it as the default requirement.

We want to keep the other stuff to C++98 still because eventaully we'll convert it to C99 and not having a ton of modern C++ features everywhere make it significantly easier.
2026-02-02 17:45:49 -05:00
Gabriel Garcia
1078bfe346 Tiny linting on DetourNavMesh.cpp (#786) 2026-01-07 00:31:45 -05:00
␢lank
e625531390 Fix typo in Sample_SoloMesh.cpp (#800)
build -> built
2026-01-07 00:25:29 -05:00
Graham Pentheny
447ab5d591 Allow console window to be resized 2025-10-06 12:19:23 -04:00
Graham Pentheny
313ab1f5be Better log category surfacing 2025-10-06 12:19:13 -04:00
Graham Pentheny
2869b4de9b Rename fp to file 2025-10-06 12:18:43 -04:00
Graham Pentheny
94acdde424 Rename triareas to triAreas 2025-10-04 14:07:31 -04:00