From b4b14b591c02e1035938ce7de764366ac950a3d0 Mon Sep 17 00:00:00 2001 From: SylvaniaCore deploy Date: Sat, 1 Aug 2026 17:10:07 +0000 Subject: [PATCH] Survol des cores 7.3.5 GitHub actifs : 2 fixes pathing transcrits (LegionCore-Reforged) Inspection des cores 7.3.5 actifs en 2026 hors ArgusCore : Legion-Studios (releases ecrasees, inexploitable), levrules (locales russes), Psychostout (dump sans historique), mudyx/DestinyCoreNew (meme famille que nous ; ses fixes ciblent sa propre dette, notre Nythendra est deja correcte ; NOTE : il possede des scripts Antorus/Tombe de Sargeras qu on n a pas -> gisement de contenu futur), Titans/LegionCore-Reforged (2 fixes retenus). Portes depuis LegionCore-Reforged 814091a (verifies buggues chez nous) : - PathGenerator::BuildPolyPath : dans la branche farFromPoly on ne recalait QUE le point d arrivee ; le point de DEPART restait aberrant quand l unite est au-dessus du navmesh (debout sur un GO : quai, caisse, plateforme) -> chemins aberrants des poursuivants. Recalage du startPoint sur son poly ajoute. - MMapManager : budget de noeuds Detour de la navmesh query 1024 -> 2048 : les tres longs chemins echouaient faute de budget. Ecartes apres verification (pieges evites) : displayId 39 -> 32290 aurait CREE un bug (nos 1216 GO display 39 spawnes = points d assise volontairement invisibles, 0 coffre) ; locales frFR (nos 104640 noms FR >> leurs 9880, schema different) ; criteria appearance (deja gere, 4 sites CriteriaHandler). Co-Authored-By: Claude Fable 5 --- src/common/Collision/Management/MMapManager.cpp | 2 +- src/server/game/Movement/PathGenerator.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/common/Collision/Management/MMapManager.cpp b/src/common/Collision/Management/MMapManager.cpp index f581db5..76997ae 100644 --- a/src/common/Collision/Management/MMapManager.cpp +++ b/src/common/Collision/Management/MMapManager.cpp @@ -254,7 +254,7 @@ namespace MMAP // allocate mesh query dtNavMeshQuery* query = dtAllocNavMeshQuery(); ASSERT(query); - if (dtStatusFailed(query->init(mmap->navMesh, 1024))) + if (dtStatusFailed(query->init(mmap->navMesh, 2048))) // 1024 -> 2048 : les tres longs chemins echouaient faute de budget de noeuds Detour (LegionCore-Reforged 814091a) { dtFreeNavMeshQuery(query); TC_LOG_ERROR("maps", "MMAP:GetNavMeshQuery: Failed to initialize dtNavMeshQuery for mapId %04u instanceId %u", mapId, instanceId); diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp index 12d7494..e0068ee 100644 --- a/src/server/game/Movement/PathGenerator.cpp +++ b/src/server/game/Movement/PathGenerator.cpp @@ -248,6 +248,13 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con else { float closestPoint[VERTEX_SIZE]; + // recale aussi le point de DEPART sur son poly quand l unite est au-dessus du navmesh + // (debout sur un GO : quai, caisse, plateforme) : sans ce recalage findPath part d un + // point errone et produit un chemin aberrant (LegionCore-Reforged 814091a) + if (distToStartPoly > 7.0f) + if (dtStatusSucceed(_navMeshQuery->closestPointOnPoly(startPoly, startPoint, closestPoint, NULL))) + dtVcopy(startPoint, closestPoint); + // we may want to use closestPointOnPolyBoundary instead if (dtStatusSucceed(_navMeshQuery->closestPointOnPoly(endPoly, endPoint, closestPoint, NULL))) {