mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Recast: improve Detour rendering enumerant naming
This commit is contained in:
parent
fd587978b5
commit
07f495e153
@ -54,8 +54,8 @@ Editor::Editor() :
|
|||||||
m_navQuery(0),
|
m_navQuery(0),
|
||||||
m_crowd(0),
|
m_crowd(0),
|
||||||
m_navMeshDrawFlags(
|
m_navMeshDrawFlags(
|
||||||
DU_DRAWNAVMESH_OFFMESHCONS|DU_DRAWNAVMESH_CLOSEDLIST|
|
DU_DRAWNAVMESH_OFFMESHCONS|DU_DRAWNAVMESH_WITH_CLOSED_LIST|
|
||||||
DU_DRAWNAVMESH_OUTERBOUND|DU_DRAWNAVMESH_ALPHA),
|
DU_DRAWNAVMESH_POLY_BOUNDS_OUTER|DU_DRAWNAVMESH_ALPHA),
|
||||||
m_filterLowHangingObstacles(true),
|
m_filterLowHangingObstacles(true),
|
||||||
m_filterLedgeSpans(true),
|
m_filterLedgeSpans(true),
|
||||||
m_filterWalkableLowHeightSpans(true),
|
m_filterWalkableLowHeightSpans(true),
|
||||||
@ -782,10 +782,10 @@ void Editor::renderDetourDebugMenu()
|
|||||||
if (ImGui::Checkbox("Off-Mesh Connections", &isEnabled))
|
if (ImGui::Checkbox("Off-Mesh Connections", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_OFFMESHCONS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_OFFMESHCONS);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_NODES);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_QUERY_NODES);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Query Nodes", &isEnabled))
|
if (ImGui::Checkbox("Query Nodes", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_NODES);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_QUERY_NODES);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_BVTREE);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_BVTREE);
|
||||||
|
|
||||||
@ -797,15 +797,15 @@ void Editor::renderDetourDebugMenu()
|
|||||||
if (ImGui::Checkbox("Portals", &isEnabled))
|
if (ImGui::Checkbox("Portals", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_PORTALS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_PORTALS);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_CLOSEDLIST);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_WITH_CLOSED_LIST);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Closed List", &isEnabled))
|
if (ImGui::Checkbox("Closed List", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_CLOSEDLIST);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_WITH_CLOSED_LIST);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_COLOR_TILES);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_TILE_COLORS);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Tile ID Colors", &isEnabled))
|
if (ImGui::Checkbox("Tile ID Colors", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_COLOR_TILES);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_TILE_COLORS);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_TILE_BOUNDS);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_TILE_BOUNDS);
|
||||||
|
|
||||||
@ -813,36 +813,36 @@ void Editor::renderDetourDebugMenu()
|
|||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_TILE_BOUNDS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_TILE_BOUNDS);
|
||||||
|
|
||||||
#if DT_NAVMESH_SET_VERSION >= 8
|
#if DT_NAVMESH_SET_VERSION >= 8
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_CELLS);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_TILE_CELLS);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Tile Cells", &isEnabled))
|
if (ImGui::Checkbox("Tile Cells", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_CELLS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_TILE_CELLS);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_VERTS);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLY_VERTS);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Vertex Points", &isEnabled))
|
if (ImGui::Checkbox("Vertex Points", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_VERTS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLY_VERTS);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_INNERBOUND);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLY_BOUNDS_INNER);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Inner Poly Boundaries", &isEnabled))
|
if (ImGui::Checkbox("Inner Poly Boundaries", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_INNERBOUND);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLY_BOUNDS_INNER);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_OUTERBOUND);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLY_BOUNDS_OUTER);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Outer Poly Boundaries", &isEnabled))
|
if (ImGui::Checkbox("Outer Poly Boundaries", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_OUTERBOUND);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLY_BOUNDS_OUTER);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLYCENTERS);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLY_CENTERS);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Poly Centers", &isEnabled))
|
if (ImGui::Checkbox("Poly Centers", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLYCENTERS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLY_CENTERS);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLYGROUPS);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_POLY_GROUPS);
|
||||||
|
|
||||||
if (ImGui::Checkbox("Poly Group Colors", &isEnabled))
|
if (ImGui::Checkbox("Poly Group Colors", &isEnabled))
|
||||||
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLYGROUPS);
|
toggleNavMeshDrawFlag(DU_DRAWNAVMESH_POLY_GROUPS);
|
||||||
|
|
||||||
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_DEPTH_MASK);
|
isEnabled = (getNavMeshDrawFlags() & DU_DRAWNAVMESH_DEPTH_MASK);
|
||||||
|
|
||||||
|
@ -25,22 +25,22 @@
|
|||||||
|
|
||||||
enum DrawNavMeshFlags
|
enum DrawNavMeshFlags
|
||||||
{
|
{
|
||||||
DU_DRAWNAVMESH_OFFMESHCONS = 1 << 0, // Render off-mesh connections.
|
DU_DRAWNAVMESH_OFFMESHCONS = 1 << 0, // Render off-mesh connections.
|
||||||
DU_DRAWNAVMESH_NODES = 1 << 1, // Render navmesh query nodes.
|
DU_DRAWNAVMESH_QUERY_NODES = 1 << 1, // Render navmesh query nodes.
|
||||||
DU_DRAWNAVMESH_BVTREE = 1 << 2, // Render BVTree.
|
DU_DRAWNAVMESH_BVTREE = 1 << 2, // Render BVTree.
|
||||||
DU_DRAWNAVMESH_PORTALS = 1 << 3, // Render portals.
|
DU_DRAWNAVMESH_PORTALS = 1 << 3, // Render portals.
|
||||||
DU_DRAWNAVMESH_CLOSEDLIST = 1 << 4, // Render navmesh with closed list.
|
DU_DRAWNAVMESH_WITH_CLOSED_LIST = 1 << 4, // Render navmesh with closed list.
|
||||||
DU_DRAWNAVMESH_COLOR_TILES = 1 << 5, // Render tiles colored by their ID's.
|
DU_DRAWNAVMESH_TILE_COLORS = 1 << 5, // Render tiles colored by their ID's.
|
||||||
DU_DRAWNAVMESH_TILE_BOUNDS = 1 << 6, // Render tile boundaries.
|
DU_DRAWNAVMESH_TILE_BOUNDS = 1 << 6, // Render tile boundaries.
|
||||||
DU_DRAWNAVMESH_CELLS = 1 << 7, // Render tile cells.
|
DU_DRAWNAVMESH_TILE_CELLS = 1 << 7, // Render tile cells.
|
||||||
DU_DRAWNAVMESH_VERTS = 1 << 8, // Render vertex points.
|
DU_DRAWNAVMESH_POLY_VERTS = 1 << 8, // Render vertex points.
|
||||||
DU_DRAWNAVMESH_INNERBOUND = 1 << 9, // Render inner poly boundaries.
|
DU_DRAWNAVMESH_POLY_BOUNDS_INNER = 1 << 9, // Render inner poly boundaries.
|
||||||
DU_DRAWNAVMESH_OUTERBOUND = 1 << 10, // Render outer poly boundaries.
|
DU_DRAWNAVMESH_POLY_BOUNDS_OUTER = 1 << 10, // Render outer poly boundaries.
|
||||||
DU_DRAWNAVMESH_POLYCENTERS = 1 << 11, // Render poly centers.
|
DU_DRAWNAVMESH_POLY_CENTERS = 1 << 11, // Render poly centers.
|
||||||
DU_DRAWNAVMESH_POLYGROUPS = 1 << 12, // Render poly group by color.
|
DU_DRAWNAVMESH_POLY_GROUPS = 1 << 12, // Render poly group by color.
|
||||||
DU_DRAWNAVMESH_DEPTH_MASK = 1 << 13, // Use depth mask.
|
DU_DRAWNAVMESH_DEPTH_MASK = 1 << 13, // Use depth mask.
|
||||||
DU_DRAWNAVMESH_ALPHA = 1 << 14, // Use transparency.
|
DU_DRAWNAVMESH_ALPHA = 1 << 14, // Use transparency.
|
||||||
DU_DRAWNAVMESH_TRAVERSE_LINKS = 1 << 15, // Render traverse links.
|
DU_DRAWNAVMESH_TRAVERSE_LINKS = 1 << 15, // Render traverse links.
|
||||||
};
|
};
|
||||||
|
|
||||||
void duDebugDrawNavMesh(struct duDebugDraw* dd, const dtNavMesh& mesh, const float* offset, unsigned int flags, const int linkTypes = -1, const int linkDistance = -1);
|
void duDebugDrawNavMesh(struct duDebugDraw* dd, const dtNavMesh& mesh, const float* offset, unsigned int flags, const int linkTypes = -1, const int linkDistance = -1);
|
||||||
|
@ -241,9 +241,9 @@ static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMesh
|
|||||||
col = duRGBA(255,196,0,64);
|
col = duRGBA(255,196,0,64);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (flags & DU_DRAWNAVMESH_COLOR_TILES)
|
if (flags & DU_DRAWNAVMESH_TILE_COLORS)
|
||||||
col = duIntToCol(mesh.decodePolyIdTile(base), tileAlpha);
|
col = duIntToCol(mesh.decodePolyIdTile(base), tileAlpha);
|
||||||
else if (flags & DU_DRAWNAVMESH_POLYGROUPS)
|
else if (flags & DU_DRAWNAVMESH_POLY_GROUPS)
|
||||||
col = duIntToCol(p->groupId, tileAlpha);
|
col = duIntToCol(p->groupId, tileAlpha);
|
||||||
else
|
else
|
||||||
col = getPolySurfaceColor(p, dd, tileAlpha);
|
col = getPolySurfaceColor(p, dd, tileAlpha);
|
||||||
@ -264,21 +264,21 @@ static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMesh
|
|||||||
dd->end();
|
dd->end();
|
||||||
|
|
||||||
// Draw inner poly boundaries
|
// Draw inner poly boundaries
|
||||||
if (flags & DU_DRAWNAVMESH_INNERBOUND)
|
if (flags & DU_DRAWNAVMESH_POLY_BOUNDS_INNER)
|
||||||
drawPolyBoundaries(dd, tile, 1.5f, offset, true);
|
drawPolyBoundaries(dd, tile, 1.5f, offset, true);
|
||||||
|
|
||||||
// Draw outer poly boundaries
|
// Draw outer poly boundaries
|
||||||
if (flags & DU_DRAWNAVMESH_OUTERBOUND)
|
if (flags & DU_DRAWNAVMESH_POLY_BOUNDS_OUTER)
|
||||||
drawPolyBoundaries(dd, tile, 3.5f, offset, false);
|
drawPolyBoundaries(dd, tile, 3.5f, offset, false);
|
||||||
|
|
||||||
// Draw poly centers
|
// Draw poly centers
|
||||||
if (flags & DU_DRAWNAVMESH_POLYCENTERS)
|
if (flags & DU_DRAWNAVMESH_POLY_CENTERS)
|
||||||
drawPolyCenters(dd, tile, duRGBA(255, 255, 255, 100), 1.0f, offset);
|
drawPolyCenters(dd, tile, duRGBA(255, 255, 255, 100), 1.0f, offset);
|
||||||
|
|
||||||
if (flags & DU_DRAWNAVMESH_TRAVERSE_LINKS)
|
if (flags & DU_DRAWNAVMESH_TRAVERSE_LINKS)
|
||||||
drawTraverseLinks(dd, mesh, query, tile, offset, linkTypes, linkDistance);
|
drawTraverseLinks(dd, mesh, query, tile, offset, linkTypes, linkDistance);
|
||||||
|
|
||||||
if (flags & DU_DRAWNAVMESH_CELLS)
|
if (flags & DU_DRAWNAVMESH_TILE_CELLS)
|
||||||
drawTileCells(dd, tile, offset);
|
drawTileCells(dd, tile, offset);
|
||||||
|
|
||||||
if (flags & DU_DRAWNAVMESH_TILE_BOUNDS)
|
if (flags & DU_DRAWNAVMESH_TILE_BOUNDS)
|
||||||
@ -349,7 +349,7 @@ static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMesh
|
|||||||
dd->end();
|
dd->end();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & DU_DRAWNAVMESH_VERTS)
|
if (flags & DU_DRAWNAVMESH_POLY_VERTS)
|
||||||
{
|
{
|
||||||
const unsigned int vcol = duRGBA(0,0,0,220);
|
const unsigned int vcol = duRGBA(0,0,0,220);
|
||||||
dd->begin(DU_DRAW_POINTS, 4.0f, offset);
|
dd->begin(DU_DRAW_POINTS, 4.0f, offset);
|
||||||
@ -381,7 +381,7 @@ void duDebugDrawNavMeshWithClosedList(struct duDebugDraw* dd, const dtNavMesh& m
|
|||||||
{
|
{
|
||||||
if (!dd) return;
|
if (!dd) return;
|
||||||
|
|
||||||
const dtNavMeshQuery* q = (flags & DU_DRAWNAVMESH_CLOSEDLIST) ? &query : 0;
|
const dtNavMeshQuery* q = (flags & DU_DRAWNAVMESH_WITH_CLOSED_LIST) ? &query : 0;
|
||||||
|
|
||||||
for (int i = 0; i < mesh.getMaxTiles(); ++i)
|
for (int i = 0; i < mesh.getMaxTiles(); ++i)
|
||||||
{
|
{
|
||||||
@ -394,7 +394,7 @@ void duDebugDrawNavMeshWithClosedList(struct duDebugDraw* dd, const dtNavMesh& m
|
|||||||
duDebugDrawNavMeshBVTree(dd, mesh, offset);
|
duDebugDrawNavMeshBVTree(dd, mesh, offset);
|
||||||
if (flags & DU_DRAWNAVMESH_PORTALS)
|
if (flags & DU_DRAWNAVMESH_PORTALS)
|
||||||
duDebugDrawNavMeshPortals(dd, mesh, offset);
|
duDebugDrawNavMeshPortals(dd, mesh, offset);
|
||||||
if (flags & DU_DRAWNAVMESH_NODES)
|
if (flags & DU_DRAWNAVMESH_QUERY_NODES)
|
||||||
duDebugDrawNavMeshNodes(dd, query, offset);
|
duDebugDrawNavMeshNodes(dd, query, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user