58 Commits

Author SHA1 Message Date
Graham Pentheny
ace5d51d99 Modernize CMake configs 2026-02-07 22:44:12 -05:00
Graham Pentheny
4a95dcd591 CMake: Set the C++ standard version per-target rather than globally
Also clean up the CMakeLists.txt files a bit
2025-03-30 15:30:14 -04:00
Graham Pentheny
3527a8270d Replace xorb with xor operator (#770)
The xorb function just gets compiled to an xor instruction in -O3, so this is just unnecessary pessimistic code.

https://godbolt.org/z/o5TGjsx6T
2025-03-18 09:42:55 -07:00
Graham Pentheny
93bd042349 Disable calls to isfinite when compiling with -ffast-math (#747)
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.
2024-12-29 12:36:08 -05:00
RoboSchmied
c2a0d94d02 Fix: 6 typos (#698)
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-04-12 11:54:01 -04:00
alonfaraj
1adf911a09 Typo fixes (#660)
* multiple comments typo fixes

* typo

* typos

* typos

* typos

---------

Co-authored-by: Alon Faraj <alon.faraj@mapcore.com>
2023-08-16 15:37:41 -04:00
Graham Pentheny
a87a328b8b Replaced another dead link with an archived copy 2023-05-21 01:38:42 -04:00
andriyDev
b921dd16b1 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
2023-03-19 22:31:18 -04:00
Alexander
3c4a34968a 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.
2023-03-15 23:04:41 -04:00
SpaceIm
53f779fa8d install CMake config file with exported targets (#575) 2022-11-20 15:42:04 -05:00
Graham Pentheny
5111139558 Fixes for many low-severity compiler warnings (#576)
* Fixes for many low-severity compiler warnings

Mostly a lot of pedantic things like end-of-file newlines and commas on the last enum value.  However some fixes like the weak v-tables warnings fixes might help with code gen.  It's unclear if the linker is able to elide multiple copies of the same type's v-table in different translation units, (sometimes it can) but these fixes ensure we don't have to rely on it.
2022-11-11 21:03:03 -05:00
Brian Swenson
c02d6fa81e -Wunused-but-set-variable flagged variables removed 2022-06-03 02:24:29 -04:00
Bret Curtis
63a4ee4c1e Add version and pkgconfig (#474)
* Add version and pkgconfig

* simply versioning

Co-authored-by: Bret Curtis <bret.curtis@pegus.digital>
2021-03-05 17:24:04 +01:00
elsid
1f25f9cc29 Install .pdb files only with MSVC 2021-03-05 17:21:50 +01:00
Yoann Potinet
65b314a44e Fix shared library build 2020-10-31 10:38:31 +01:00
Jan Haller
e679507845 Improve debug builds for MSVC (#443)
* Add -d suffix for debug libraries

* Export PDB files for each Debug library
2020-10-30 10:41:54 +01:00
Alexey Sokolov
9337e12418 Several fixes for make install (#437)
* Don't install test

* Install to the correct directory (e.g. lib64)

* Install includes to /usr/include/recastnavigation
2020-09-24 10:08:03 +02:00
elsid
7bfd9a1d4c Add aliases with namespace for library build targets 2018-10-31 23:13:42 +01:00
elsid
2b31aa9d79 Bind include directories to library build target 2018-10-31 23:13:42 +01:00
elsid
658b32784f Add dependencies between libraries to allow linker to resolve symbols
when build dynamic libraries
2018-10-31 21:24:45 +01:00
Nikolay Zapolnov
689cf00bd9 Call proper memory deallocation function. 2018-05-14 14:50:48 +02:00
Roman Siromakha
4566d01c8f Support build by CMake (#310) 2018-04-21 00:16:52 +02:00
Matthew Endsley
c70fc8a89a Return OOM error when navmeshtile allocations fail
This was previsously return a DT_SUCCESS mask, as the prior
call to dtAllocTileCache* had succeeded.
2017-08-24 10:35:04 +02:00
aymarfisherman
7cca61dc41 Renamed all instances of 'extents' to 'halfExtents' (#279) 2017-08-20 17:05:51 +02:00
aymarfisherman
840c100639 Added option to add rotated Box obstacle to TileCache. (#278)
Very useful when you have a obstacle with a big difference in x to z ratio and that could be rotated (not aligned), like a wall.
2017-07-25 13:35:23 +02:00
cmf028
9052db45d8 Add support for AABB shaped obstacles to dtTileCache (#215) 2016-07-13 09:20:28 -04:00
Jakob Botsch Nielsen
b86c1e12b3 Fix a memory leak in dtBuildTileCacheLayer (#212) 2016-06-15 10:10:54 +02:00
Jakob Botsch Nielsen
36183edb55 Add upToDate param for dtTileCache::update (#203)
This changes dtTileCache::update to add an optional parameter that
indicates whether the tile cache is up to date. This is useful to
determine whether calling the function again would do anything.
2016-04-25 20:27:14 +02:00
Ben Hymers
3a0140c2ac Initialise dtTileCache::m_reqs on construction 2016-03-15 07:56:56 +00:00
Ben Hymers
d7d58b98d9 Fix ReSharper warnings: remove unused methods 2016-02-26 08:41:17 +00:00
Graham Pentheny
b7a83e0afb Fixed rule of 3 violations in many places.
* Added virtual qualifier to a few destructors in subclasses.
* Removed a few empty destructors that didn't need to be explicitly defined.
* Fixed a few typos
* Removed unnecessary empty virtual destructors in some classes with parent's who derrived from a class with a virtual destructor
2016-01-20 11:57:32 -05:00
Graham Pentheny
f8d6d3976d Merge pull request #158 from recastnavigation/allocators-use-size-t
Use size_t for rcAlloc and dtAlloc
2016-01-15 01:03:41 -05:00
Ben Hymers
551d1b250e Use size_t for rcAlloc and dtAlloc
This was already partly done by @cexikitin in #65, I'm just finishing it
off in their absence!

Closes #65
2016-01-15 00:36:18 +00:00
Ben Hymers
f117bf4a91 Fix possible compile/link error with multiple BuildContext definitions
There is a class and a struct called BuildContext in two different files,
one .h and one .cpp. Depending on how the user structures their program,
it's possible that this would cause a compile or link error, as seems to
have happened in #44. I've just renamed the struct to get around this.

Fixes #44
2016-01-14 23:57:48 +00:00
Jakob Botsch Nielsen
d742e04cc4 Merge pull request #95 from Sandern/fix-oldtile-not-removed
Make sure to remove the old tile if the new tile is empty (due to temp obstacles)
2015-12-17 14:06:30 +01:00
huanzai
3a1256ecb8 Update DetourTileCache.cpp
wrong type of return value
2015-10-10 12:28:07 +08:00
Sandern
838fc67ab0 Fix old mesh tile not removed when new tile is empty 2015-05-05 16:42:14 +02:00
Kromster80
1381ab113e Update DetourTileCacheBuilder.cpp 2014-11-10 15:08:53 +03:00
Janiels
5548fc36e3 Add missing virtual destructors to dtTileCacheCompressor and dtTileCacheMeshProcess 2014-06-18 15:08:34 +02:00
Janiels
aecd378ae0 Add virtual destructor to dtTileCacheAlloc 2014-06-18 14:42:03 +02:00
grahamboree
dc7e248de6 Removed header dependency between Detour and Recast due to addition of rcIgnoreUnused. Added dtIgnoreUnused. 2013-10-15 17:29:14 -04:00
grahamboree
35db2af872 Silenced additional unused parameter warning. 2013-10-14 16:36:49 -04:00
Mikko Mononen
be4d6fc180 Updated build system to premake4 2013-10-01 19:53:18 +02:00
Mikko Mononen
9f632d99fd Merge pull request #1 from mendsley/issue_64bit_arithmetic
Fix 64bit pointer arithmetic warnings
2013-09-16 11:42:58 -07:00
Matthew Endsley
b0e4e6a834 Add wrappers for the standard math library
Simplifies transition to software based math libraries
for projects requiring determinism.
2013-09-15 20:09:01 -07:00
Matthew Endsley
604aae43bd Fix 64bit pointer arithmetic warnings 2013-09-15 19:35:52 -07:00
Mikko Mononen
cb93a7062b Remove navmesh tile even if a empty mesh is returned. 2012-05-19 09:20:24 +00:00
Mikko Mononen
e6b1d141d2 Fixed warnings when compiling with -Wshadow. 2012-02-22 17:25:46 +00:00
Mikko Mononen
98eee7e23a Fix for tile cache merge polys, fix for temp obstacle handleUpdate() (call base class). 2012-02-07 16:04:08 +00:00
Mikko Mononen
336409d037 Added tool states, Crowd can be let run in the BG while changing mesh, Added off-mesh connection support for tile cache, Fixed tile cache area generation, Added debugdraw for tile cache build steps, Migrated to Xcode4. 2012-02-04 21:27:07 +00:00