Since comaptibility varies between catch2 versions, this helps prevent issues if folks have a newer or older version installed in their system library search paths.
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.
* Replaced references to rcIntArray with rcTempVector<int>
rcIntArray is deprecated and has been replaced with rcTempVector. The current implementation is just a wrapper for rcTempVector.
* remove rcIntArray implementation
Since it's no longer referenced
There's a bug in doxygen's markdown html generator when specifying header text that's just link text. This is fixed in newer versions of doxygen, but the ubuntu images in github actions runners don't have a new enough version to work around this. Instead, just write out the html explicitly for now.
- Add SDL_WINDOW_RESIZABLE flag to enable window resizing
- Handle SDL_WINDOWEVENT_RESIZED event to update window dimensions
- Update OpenGL viewport and projection matrix when window is resized
This change allows users to resize the application window while maintaining
proper aspect ratio and rendering.
Fast math is not required, but it speeds up some calculations at the expense of accuracy. There are some functions like dtMathIsfinite that use floating point functions that become undefined behavior when compiled with fast-math, so we need to conditionally short-circuit these functions when compiled with that flag.
-Wnan-infinity-disabled is complaining about the isfinite call in dtMathIsfinite.
This also sets the linux runner explicitly to Ubuntu 24.04, since ubuntu-latest defaults to 22.04 for some reason. This also updates gcc and clang to the latest versions in apt and logs their version to the run output. We need at least clang18 to disable the -Wnan-infinity-disabled warning for Catch.
Finally, this also removes some unused code that was throwing a warning (and thus an error) on newer compiler versions.
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.