Commit graph

38 commits

Author SHA1 Message Date
marauder2k7 d4d552e8e0 recast update
Added chunkytrimesh - this class splits up the geometry the navmesh is interested in into kdtree for fast traversal, makes the actual navmesh generation work with smaller chunks.

Now only 1 RecastPolylist per navmesh this can be saved out in a future commit.

This is a history commit, all functionality works same as it did before but it matches recasts recommended setup more closely. Future additions may break backwards compatibility.
2025-07-22 14:39:36 +01:00
marauder2k7 26ebdd093b test commit to fix debug draw
pass all draws through duDebugDraw instead of calling our class directly.
2025-07-20 16:10:27 +01:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
AzaezelX aa02e48c8d add safeties for enum math across define boundaries 2023-04-26 22:27:35 -05:00
AzaezelX f5a34308f9 add a docsURL; macro to link a given set of script config vars to git or similar storage urls via clicking on the inspector 2023-01-27 01:13:15 -06:00
OTHGMars 46b0aee637 NavMesh loading from zip file. 2021-01-11 04:51:21 -05:00
AzaezelX a46bf3d7e5 uninitialized variables-navigation 2020-05-11 15:08:57 -05:00
Azaezel f00323c5b9 the buildtiles method does not in fact build tiles right then and there, but instead queues tiles to update themselves over time. as such, simply disabling then enabling collision no longer functions (and how it did before so before is frankly likely due to exploiting a bug someplace upstream). as such, we set the same flag for NavMeshUpdateAll as we do for NavMeshIgnore to filter something as hidden from navmesh generation or not on a permanent, instead of a temporary basis via removing from the physics sim since it's likely to still be generating by the time it's put back. 2019-03-06 18:14:36 -06:00
Areloch 6cf0c9e360 Merge branch 'development' into EngineAPI-Refactor 2018-12-09 14:48:50 -06:00
Lukas Joergensen e718841467 Eliminate DefineConsoleFunction 2018-04-17 20:54:08 +02:00
Azaezel d0e47ee1ee davmesh debug draw membervar cleanup 2018-03-14 15:13:44 -05:00
Azaezel 83aa47da1a profiling blocks for navmesh subsystem analysis 2017-04-05 13:04:25 -05:00
Thomas "elfprince13" Dickerson 27e2871b01 Replaced StringTable->insert("") with StringTable->EmptyString() 2017-01-11 23:36:04 -05:00
Thomas "elfprince13" Dickerson bcc5459818 whitespace 2017-01-11 23:34:46 -05:00
Azaezel dd071484da Merge branch 'development' of https://github.com/GarageGames/Torque3D into andOrMaybe
Conflicts:
	Engine/source/T3D/staticShape.cpp
2016-12-20 22:50:28 -06:00
Francisco Montañés García 87fb2d827b I's not working because onNavMeshUpdate string comparation will never succeed.
DefineEngineMethod(NavPath, onNavMeshUpdate, void, (const char *data),,
   "@brief Callback when this path's NavMesh is loaded or rebuilt.")
{
   if(object->mMesh && !dStrcmp(data, object->mMesh->getIdString()))
      object->plan();
}
2016-11-24 19:09:00 +01:00
Azaezel c57b1a8b70 clang reports: unclear || + && and &+| mixes. 2016-10-14 17:26:13 -05:00
Francisco Montañés García 800b7d1fd4 Write Links only when mLinkIDs.size() > 0 2016-09-14 13:08:20 +02:00
Azaezel 6a5820d3a2 navmesh file load error-fix
don't try to read 0 length buffers
2016-08-01 17:22:19 -05:00
Azaezel bac14875f4 allows navmeshes to generate for most scene objects, and adds a NavMeshIgnore method for object-instances to filter them out. 2016-04-04 09:38:24 -05:00
Azaezel 554a871df9 Merge branch 'development' into navMess2
Conflicts:
	Engine/source/navigation/navMesh.cpp
2016-02-21 15:27:12 -06:00
Azaezel 612d932372 Revert "Update navMesh.cpp"
This reverts commit f3ff199554.
2016-02-19 17:34:27 -06:00
Anis f3ff199554 Update navMesh.cpp 2016-02-13 18:50:11 +01:00
Azaezel f06db00255 dynamic_cast check for regeneration for paranoias sake + an alias method. 2015-12-03 18:34:53 -06:00
Azaezel 45055f8f3e formatting 2015-11-27 18:18:21 -06:00
Azaezel e63c0a78a3 NavMeshUpdateAll leak suppression (not 100% preventative)
1) Reset the build when adding potential dirties to the list to ensure it isn't trying to kill off a dirty entry that it's passed by.
2) mSaveIntermediates = true; causes leakage even with all this. still tracking that end.
3) Need to remove a dead tile whether there's new data to replace it with or not. Empty tiles are an entirely possible case. Even a probable one if you have high verticality in a level.
4) Likewise you don't want to re-feed the same geometry list for a given tile in case the conditions have changed.
5) If no vertcount then clear all geometry entries. (that one might be paranoia)
2015-11-27 17:43:08 -06:00
Azaezel b0b39b5f83 mDirtyTiles changed from std::queue to a vector
allows us to leverage  .push_back_unique(&foo); and .clear();
2015-11-27 16:17:30 -06:00
Areloch 527c3790d6 Issue found with PVS-Studio:
Many instances where we would create a object via a new call, and then check that it was non-null.

This is redundant, as if we ever were in a situation where new failed, we'd be crashing left and right already, so the additional check is wasted processing.
2015-07-21 23:22:21 -05:00
Areloch 11398bb04e Issue found with PVS-Studio:
A lot of instances where some function args are not actually modified in any way, meaning that it is better for performance to convert them into const references. This prevents an additional copy, which can help performance.
2015-07-16 22:02:18 -05:00
Ben Payne b721288d6b Use the wonderful empty() member instead of abusing size() 2015-02-20 18:42:31 -05:00
Daniel Buckmaster 0d1f1aeeb9 Base navmesh size 1x1x1. 2015-01-29 22:23:26 +11:00
Daniel Buckmaster cb047bd7f0 Rename all instances of Walkabout. 2015-01-29 21:09:32 +11:00
Daniel Buckmaster 199d98d096 Made navmesh links render over the top of the mesh. 2014-11-29 11:59:00 +11:00
Daniel Buckmaster 86a9417cfd Removed another demo block. 2014-11-28 20:47:11 +11:00
Daniel Buckmaster f42e12940c Navmesh load/save now uses builtin file abstraction. 2014-11-28 20:24:11 +11:00
Daniel Buckmaster f4c940f4fe Added basic Walkabout with #define renamed and no editor. 2014-11-28 19:42:10 +11:00
Andy Maloney 396a7064dc Minor cleanups
- remove redundant conditional
 - remove unused vars
 - remove extra ags to printf
 - reduce scope of decl
2013-12-04 16:45:09 -05:00
Daniel Buckmaster df2abed2c4 Added navmesh wrapper code and module. 2013-07-04 17:27:48 +10:00