mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Recast: fix static pathing build order
Traverse links should be build after the disjoint poly groups are created, but before the traverse tables are created. Previously, we created traverse links before disjoint poly groups causing isolated poly islands to be grouped under the same id.
This commit is contained in:
parent
d5ddaf3313
commit
7cacc8ee03
@ -354,12 +354,6 @@ void Editor::handleUpdate(const float dt)
|
|||||||
updateToolStates(dt);
|
updateToolStates(dt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Editor::buildTraverseLinks()
|
|
||||||
{
|
|
||||||
if (!m_navMesh) return;
|
|
||||||
dtCreateTraverseLinks(m_navMesh);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Editor::buildStaticPathingData()
|
void Editor::buildStaticPathingData()
|
||||||
{
|
{
|
||||||
if (!m_navMesh) return;
|
if (!m_navMesh) return;
|
||||||
@ -371,6 +365,11 @@ void Editor::buildStaticPathingData()
|
|||||||
m_ctx->log(RC_LOG_ERROR, "buildStaticPathingData: Failed to build disjoint poly groups.");
|
m_ctx->log(RC_LOG_ERROR, "buildStaticPathingData: Failed to build disjoint poly groups.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!dtCreateTraverseLinks(m_navMesh))
|
||||||
|
{
|
||||||
|
m_ctx->log(RC_LOG_ERROR, "buildStaticPathingData: Failed to build traverse links.");
|
||||||
|
}
|
||||||
|
|
||||||
if (!dtCreateTraversalTableData(m_navMesh, data, NavMesh_GetTraversalTableCountForNavMeshType(m_selectedNavMeshType)))
|
if (!dtCreateTraversalTableData(m_navMesh, data, NavMesh_GetTraversalTableCountForNavMeshType(m_selectedNavMeshType)))
|
||||||
{
|
{
|
||||||
m_ctx->log(RC_LOG_ERROR, "buildStaticPathingData: Failed to build traversal table data.");
|
m_ctx->log(RC_LOG_ERROR, "buildStaticPathingData: Failed to build traversal table data.");
|
||||||
@ -519,7 +518,7 @@ void Editor::renderDetourDebugMenu()
|
|||||||
{
|
{
|
||||||
ImGui::PushItemWidth(190);
|
ImGui::PushItemWidth(190);
|
||||||
ImGui::SliderInt("Traverse Type", &m_traverseLinkDrawTypes, -1, 31);
|
ImGui::SliderInt("Traverse Type", &m_traverseLinkDrawTypes, -1, 31);
|
||||||
ImGui::SliderInt("Traverse Distance", &m_traverseLinkDrawDistances, -1, 255);
|
ImGui::SliderInt("Traverse Dist", &m_traverseLinkDrawDistances, -1, 255);
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -172,7 +172,6 @@ public:
|
|||||||
else
|
else
|
||||||
m_editor->buildTile(m_hitPos);
|
m_editor->buildTile(m_hitPos);
|
||||||
|
|
||||||
m_editor->buildTraverseLinks();
|
|
||||||
m_editor->buildStaticPathingData();
|
m_editor->buildStaticPathingData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -625,7 +624,6 @@ void Editor_TileMesh::buildAllTiles()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTraverseLinks();
|
|
||||||
buildStaticPathingData();
|
buildStaticPathingData();
|
||||||
|
|
||||||
// Start the build process.
|
// Start the build process.
|
||||||
|
@ -242,7 +242,6 @@ public:
|
|||||||
void resetCommonSettings();
|
void resetCommonSettings();
|
||||||
void handleCommonSettings();
|
void handleCommonSettings();
|
||||||
|
|
||||||
void buildTraverseLinks();
|
|
||||||
void buildStaticPathingData();
|
void buildStaticPathingData();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user