34 Commits

Author SHA1 Message Date
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
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
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
12e8950bac Add toggles for heightfield filtering 2017-01-12 16:58:26 +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
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
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
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
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
Mikko Mononen
ccf401d3da - added finalizeSlicedFindPathPartial()
- added handleStep()/handleToggle() to samples
- changed how crowds are rendered
- added path topology optimization step
2010-11-07 10:56:48 +00:00
Mikko Mononen
cfc66a0fc9 Added missing perftimer. Better log for tile sample. Some crowd test stuff. 2010-08-26 18:47:36 +00:00
Mikko Mononen
5abddbf0cd Refactored rcBuildContext to be more customization friendly, changed name to rcContext. 2010-08-24 17:53:38 +00:00
Mikko Mononen
55360f6ee5 Missing files for R197 2010-08-19 09:55:12 +00:00
Mikko Mononen
cbc47f4ddf Fix for Issue 99:Separate Detour mesh queries in to a different class from mesh data 2010-08-17 15:10:32 +00:00
Mikko Mononen
7d8fe75de1 The ugly and humble beginnings of path following and multi-agent navigation code. 2010-08-12 12:54:00 +00:00
Mikko Mononen
49f2b03cd8 Presentation mode tweaks. Fix for Issue 74: added FileIO interface, Fix for Issue 76: added pure virtual destructor for duDebugDraw. 2010-05-07 07:14:42 +00:00
Mikko Mononen
5119b5cb16 API CHANGE! Better serialization support. 2010-03-25 12:24:40 +00:00
Mikko Mononen
af0d41f5ff Compact heighfield dump and debug project to load it. 2010-03-01 08:22:50 +00:00
Mikko Mononen
5ade5a3052 More robust path iteration code. 2010-02-12 13:04:55 +00:00
Mikko Mononen
a715e9a5f7 Area progress: Pass area type and ability flags to recast. Convex Area tool. Mark chf with convex volumes. Better visualization of volumes. 2010-02-05 16:15:49 +00:00
Mikko Mononen
f839fb080a NOTE: Changed the generation procedure, see samples! Erode walkable area before area is generated. Allow to mark areas on chf. Generate regions following areas (+ many fixes here and there to make it alwasy work). Part 2 2010-02-01 14:58:30 +00:00
Mikko Mononen
1753297fd5 Humble beginnings of box volume too. Allow to save and restore GeomInput state. 2010-01-29 13:58:36 +00:00
Mikko Mononen
a56bf3ec2d Off-Mesh connections across tile boundaries. Fixed getPolysAround(). Detour links per poly use linked list. Adjusted off-mesh connection tool. 2010-01-26 12:48:58 +00:00
Mikko Mononen
3abbfe006d Changed Detour header var names more to verbose. Pass params as a struct to dtCreateNavMeshData. Named Off-mesh links to Off-mesh connections. Cleaned up Off-mesh connection code and samples. Added connection radius and direction to Off-mesh connections. Agent dimensions passed store in navmesh header. 2010-01-19 14:22:48 +00:00
Mikko Mononen
4ad8dafa40 Off-Mesh link progress (not fully working). 2010-01-10 17:21:01 +00:00
Mikko Mononen
eb6b215d23 Changed the sample stuff to support extra link tool. Added simple tool to create eextra links (no detour support yet). 2010-01-05 14:26:40 +00:00
Mikko Mononen
4934dc2065 Refactored sample code. Separated navmesh test code to a tool class. 2009-12-30 08:49:46 +00:00
Mikko Mononen
a73da5e966 Moved all debug draw utilities to DebugUtils folder. Added recast data to .obj dump functions. 2009-12-09 15:45:10 +00:00
Mikko Mononen
480063229d Removed rcMarkReachableSpans(), added RC_LEDGE flag, made rcFilterLedgeSpans() to add RC_LEDGE flags instead of removing RC_WALKABLE flag. Voxel debugdraw colors voxels based on flags. Added debug draw interface. 2009-11-15 15:30:54 +00:00
Mikko Mononen
6de4d30705 Monster update which adds detail height meshes.
- Added detail height mesh generation (RecastDetailMesh.cpp) for single,tiled statmeshes as well as tilemesh.
- Added feature to contour tracing which detects extra vertices along tile edges which should be removed later.
- Changed the tiled stat mesh preprocess, so that it first generated polymeshes per tile and finally combines them.
- Fixed bug in the GUI code where invisible buttons could be pressed.
2009-08-24 12:44:44 +00:00
Mikko Mononen
a7cb1f86e2 Detour: Commented DetourTileNavMesh API.
Demo: Fixed and improved few tile navmesh demo issues.
2009-07-13 12:06:04 +00:00