Commit Graph
126 Commits
Author SHA1 Message Date
Graham Pentheny dc6754fdc3 Merge branch 'main' into release-2.0
# Conflicts:
#	Recast/Include/Recast.h
#	Recast/Source/Recast.cpp
#	RecastDemo/Include/Sample.h
#	RecastDemo/Source/Sample.cpp
2023-01-02 14:25:28 -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
Jakob Botsch Nielsen 8db2f62d7a Fix compiler error due to memset on type with non-trivial constructors
Fix #446
2020-10-30 11:31:53 +01:00
Jarrett 56dbf4c482 Allow 64 bit windows builds (#301) 2018-10-16 00:02:51 +02:00
Aurelien Rainone 4988ecbaf0 RecastDemo: add Load & Save buttons for SoloMesh Sample, and fix warnings (#258)
* Implement saveAll loadAll for Sample_SoloMesh

 - Solo mesh sample is loaded and saved as a tiled mesh containing
   an unique tile, so as to remain compatible with tiled mesh
 - navmesh is saved to/loaded from `solo_navmesh.bin` binary file
 - add and connect the corresponding 'Save/Load' GUI elements

* Fix `implit-fallthrough` gcc warnings

On linux with gcc 7.2.0+ and all warnings treated as errors,
implicit fallthroughs in case statements are considered as errors.
If the comment just below the next `case` or `default` matches
various strings, one of which is `falls through` the fallthrough
is then considered explicit.
2018-01-05 12:38:53 +01:00
aymarfisherman 7cca61dc41 Renamed all instances of 'extents' to 'halfExtents' (#279) 2017-08-20 17:05:51 +02:00
Domenico Albani 433986a5a4 Implement more complex area modifications (#260)
This implements rcAreaModification which allows combining of area types when they overlap
and otherwise usage of the area type as a bit mask.
2017-03-12 12:18:29 +01:00
Domenico Albani 03eb2f92f3 Make RecastDemo colors more meaningful (#254)
Implement a SampleDebugDraw which will color area types meaningfully, for example
color water as blue, grass as green and so on.
2017-02-02 20:27:43 +01:00
Jonathan Adamczewski 34ab687e21 Add support for heightfield filter toggles in Sample_TempObstacles 2017-01-12 16:58:26 +00:00
Jonathan Adamczewski 12e8950bac Add toggles for heightfield filtering 2017-01-12 16:58:26 +00:00
Ben Hymers d7d58b98d9 Fix ReSharper warnings: remove unused methods 2016-02-26 08:41:17 +00:00
Ben Hymers a2730f9fdd Fix warnings; initialise all uninitialised class members 2016-02-26 08:40:53 +00:00
Ben Hymers aac9ae6e11 Remove SlideShow, and stb_image 2016-02-17 13:14:34 +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
Jakob Botsch Nielsen a31da928ba Add settings storage to geometry sets
This adds the ability for geometry sets to store build settings that can
be automatically applied when they are loaded. This should allow sharing
of .gset files to demonstrate problems with certain settings on certain
files. It also allows people to diagnose problems more easily by being
able to dump their own triangle meshes and settings and load them in the
demo, with all of its visualization options. .gset files can be created
from the current mesh and settings by pressing the 9 key, which will
generate it in the same folder as the input mesh.

Also converts more of the demo to use STL.
2016-01-17 20:31:09 +01:00
Ben Hymers a25b018be9 Merge pull request #76 from grahamboree/warnings
Removed a smattering of compiler warnings
2016-01-14 15:28:02 +00:00
Graham Pentheny 66c6060e95 Fix a bunch of compiler warnings
* Removed some unused vars
* Fixed some signed/unsigned comparison mismatch warnings
* Cast some int's to size_t when appropriate
* Removed some redundant casts
* silenced warnings about implicit conversions that lose precision
* changed origMousePos to an array of ints to match mousePos
2016-01-10 22:41:38 -05:00
Jakob Botsch Nielsen 09080b5272 Fix time measuring on Windows
The demo relied on the build context returning accumulated times in
microseconds. On Windows this was using QueryPerformanceCounter directly
which has a higher resolution, thus returning wrong measured times. We
now report the accumulated times in microseconds on all platforms.
2016-01-10 18:43:34 +01:00
Graham Pentheny e5f9f21b30 Removed FileList class and replaced it with std::vector<std::string> in RecastDemo 2016-01-07 18:34:18 -05:00
Graham Pentheny 2eb3abfb60 Updated RecastDemo to SDL2
* Renamed a bunch of variables in main.cpp to be more descriptive.
* Removed unnecessary SDLMain.h and SDLMain.m OSX objective-c class as well as the plist, strings, xib and icns files, which are not needed.
* included cstdio in imguiRenderGL since SDL2 doesn't do it for us.
* Updated premake5 script to support SDL2 and to set the debug directory, as well as copy the SDL2.dll to the target directory on Windows.
* Updated readme with more descriptive, platform-specific demo project setup instructions
* Updated appveyor build script to build vs2015 as well.
* Updated Travis build script to build SDL2 from source, because they use Ubuntu 12.04 which doesn't have the libsdl2-dev package in its repositories.
2016-01-04 18:56:51 -05:00
Mikko Mononen 0d48004dfb Merge pull request #29 from hgaiser/master
Add save/load functionality for TileCache
2014-12-13 13:50:38 +02:00
Mikko Mononen 3cb87f2432 Merge branch 'master' of https://github.com/memononen/recastnavigation 2014-06-13 13:25:07 +03:00
Mikko Mononen a89bb843d7 Added new method to partition heighfield
- added layer based heighfield partitioning
- the method is a bit slower than monotone partitioning, but does not
suffer from the long thin ploys
- the method partitions the heighfield into non-overlapping areas, but
does not try to resolve holes
- improved contour hole merging so that it can properly handle all
kinds of holes
- improved polygon triangulation to handle overlapping segments
- improved small and long polygon detail mesh generation
- updated samples to include all 3 partition methods and little
documentation to help to choose between them
2014-06-13 13:25:01 +03:00
Mikko Mononen ad74197c8f Getting rid of the phantom 2014-05-24 18:44:05 +03:00
Hans Gaiser 247c1f9b41 Add save/load functionality for TileCache 2014-04-29 13:07:54 +02:00
Mikko Mononen 6702143bc1 Fix for broken raycasts, changes how findNearestPoly works, slight API change
- test case supports raycasts
- changes how findNearestPoly works directly over polygons
- API change: findNearestPoly has additional parameter
2014-02-11 20:32:00 +02:00
Mikko Mononen 30aed0538e Added small area selection to prune tool. 2012-10-21 15:44:57 +00:00
Mikko Mononen de6fd8c3ef - use "cylinder distance" for nearest point in polygon
- added option for findStraightPath() to append vertices at get edge crossings
- added scale parameter for .obj loader
2012-09-05 05:57:31 +00:00
Mikko Mononen d2b4b09e16 - Added rcOffsetPoly() helper function to expand polygon areas 2012-06-02 10:13:59 +00:00
Mikko Mononen 00edec6ffb - dtCrowd API Changed!
- finalizeSlicedFindPathPartial() returns best if no existing match found
- refactored crowd move requests
- removed adjustMoveTarget()
- added requestMoveVelocity() and resetMoveTarget()
- improved path replanning robustness
- added move visualization to crowd tool
2012-05-31 09:07:54 +00:00
Mikko Mononen 76e2dcfc6d Fix for issue 197. 2012-04-01 10:07:21 +00:00
Mikko Mononen cd3a68dd9b Random polygon selection for Detour. 2012-02-27 07:17:51 +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
Cameron hart 588d674c72 Made NavMeshPruneTool case consistent with other classes. 2011-10-03 19:38:24 +00:00
Mikko Mononen 54e0e86ff2 Added simple Detour navmesh flood fill and prune tool. 2011-09-11 11:08:55 +00:00
Mikko Mononen 1b6ca5a94a Fixed findStraightPath() to return partial results. Fixed main.cpp FPS throttling. Added initial support for path replanning in DetourCrowd. 2011-08-01 10:48:56 +00:00
Cameron hart d5729c678b Changed header comments to use Doxygen format and added configuration Doxyfile. 2011-05-06 23:22:08 +00:00
Mikko Mononen 4ca8b91653 Updated win32 project. 2011-04-19 05:47:55 +00:00
Mikko Mononen 9902efc845 TileCache progress: Moved tile cache to Detour and made proper class for it. Better obstacles and tile layer management. 2011-04-16 07:57:50 +00:00
Mikko Mononen 1de5e2f119 DETOUR API CHANGE!
- Detour Navmesh supports layers
- Allow to disable Navmesh BV-tree
- Added DetourTileCache
- Cleaned up Recast layer code
- Moved portal edge detection to Recast
- Removed polymesh border offset
- Removed lean heighfield
2011-03-25 09:16:38 +00:00
Mikko Mononen b6a93f063a Removed layer portals, added cons, which stores connectivity and portals. Layer heights is stored as bytes. 2011-03-11 15:12:15 +00:00
Mikko Mononen 9f2390e196 Added mipmaps to the grid texture. Removed obsolete SoloMeshTiled sample. 2011-03-06 16:00:04 +00:00
Mikko Mononen e84d563bfe Added boxmapped texturing to input mesh, helps visualize it better. Added polymesh generation for layered heighfields. 2011-03-06 15:40:33 +00:00
Mikko Mononen 6cb0413cc7 Layer progress: Fixed reg building with multiple areas. Added contour generation. 2011-03-06 08:26:55 +00:00
Mikko Mononen f140c3962d Heighfield Layer progress. 2011-02-26 15:05:21 +00:00
Mikko Mononen 5b4f8b6047 Allow different obstacle avoidance parameters. Changed update flags to be per agent, not per crowd. Added optional separation to steering. Added UI to change obstacle avoidance quality. 2011-02-06 12:52:08 +00:00
Mikko Mononen 4a81213b3b Refactored and cleaned up CrowdManager and moved it to DetourCrowd. Update tool UI layout, context sensitive help is now rendered as overlay. 2011-01-29 15:28:28 +00:00
Mikko Mononen da00ac2b91 Timesliced temp obstacle processing. 2011-01-22 09:37:04 +00:00
Mikko Mononen 19b8a5f987 Missing Sample_TempObstacles.h/cpp 2011-01-14 15:54:16 +00:00
Mikko Mononen 2f47c29336 Added lean heighfield to store minimal, easy to compress representation of the heightfield. Added temporary obstacle demo. 2011-01-14 10:55:37 +00:00