From 4481bdc726f453eb965332e5f9d75f284f863574 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Tue, 13 Jan 2026 20:02:37 -0600 Subject: [PATCH 1/2] don't use MarkerObjectTypes for navmesh generation do use a minium radius for clicking on a link to select it in the tooling --- Engine/source/navigation/navMesh.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Engine/source/navigation/navMesh.cpp b/Engine/source/navigation/navMesh.cpp index 2c3d1b8c1..420c7dbdd 100644 --- a/Engine/source/navigation/navMesh.cpp +++ b/Engine/source/navigation/navMesh.cpp @@ -454,8 +454,8 @@ S32 NavMesh::getLink(const Point3F &pos) { if(mDeleteLinks[i]) continue; - SphereF start(getLinkStart(i), mLinkRads[i]); - SphereF end(getLinkEnd(i), mLinkRads[i]); + SphereF start(getLinkStart(i), mMax(mLinkRads[i],0.25f)); + SphereF end(getLinkEnd(i), mMax(mLinkRads[i], 0.25f)); if(start.isContained(pos) || end.isContained(pos)) return i; } @@ -653,7 +653,7 @@ DefineEngineMethod(NavMesh, deleteLinks, void, (),, static void buildCallback(SceneObject* object, void* key) { SceneContainer::CallbackInfo* info = reinterpret_cast(key); - if (!object->mPathfindingIgnore) + if (!object->mPathfindingIgnore && (object->getTypeMask() & MarkerObjectType) == 0) object->buildPolyList(info->context, info->polyList, info->boundingBox, info->boundingSphere); } From b8f7d186d30daabb39b1edafa11dee24d200b5e1 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Wed, 14 Jan 2026 09:21:57 -0600 Subject: [PATCH 2/2] default controlables and items to mPathfindingIgnore = true; --- Engine/source/T3D/item.cpp | 1 + Engine/source/T3D/player.cpp | 2 +- Engine/source/T3D/vehicles/vehicle.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Engine/source/T3D/item.cpp b/Engine/source/T3D/item.cpp index 18f52ff5c..e8ca24611 100644 --- a/Engine/source/T3D/item.cpp +++ b/Engine/source/T3D/item.cpp @@ -312,6 +312,7 @@ IMPLEMENT_CALLBACK( Item, onLeaveLiquid, void, ( const char* objID, const char* Item::Item() { mTypeMask |= ItemObjectType | DynamicShapeObjectType; + mPathfindingIgnore = true; mDataBlock = 0; mStatic = false; mRotate = false; diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index d9f334820..c72dd94fa 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -1552,7 +1552,7 @@ ConsoleDocClass( Player, Player::Player() { mTypeMask |= PlayerObjectType | DynamicShapeObjectType; - + mPathfindingIgnore = true; mDelta.pos = mAnchorPoint = Point3F(0,0,100); mDelta.rot = mDelta.head = Point3F(0,0,0); mDelta.rotOffset.set(0.0f,0.0f,0.0f); diff --git a/Engine/source/T3D/vehicles/vehicle.cpp b/Engine/source/T3D/vehicles/vehicle.cpp index c1750b61d..fa7b5b160 100644 --- a/Engine/source/T3D/vehicles/vehicle.cpp +++ b/Engine/source/T3D/vehicles/vehicle.cpp @@ -376,7 +376,7 @@ Vehicle::Vehicle() { mDataBlock = 0; mTypeMask |= VehicleObjectType | DynamicShapeObjectType; - + mPathfindingIgnore = true; mDelta.pos = Point3F(0,0,0); mDelta.posVec = Point3F(0,0,0); mDelta.warpTicks = mDelta.warpCount = 0;