Recast: use dtLink's traverse type getters

Small cleanup.
This commit is contained in:
Kawe Mazidjatari 2024-11-14 02:53:19 +01:00
parent 93588edca5
commit 35f5c34190
4 changed files with 10 additions and 8 deletions

View File

@ -3,6 +3,6 @@
#include "FileIO.h"
bool duDumpTraverseLinkDetail(const dtNavMesh& mesh, const dtNavMeshQuery* query, const int traverseType, duFileIO* const io);
bool duDumpTraverseLinkDetail(const dtNavMesh& mesh, const dtNavMeshQuery* query, const int dumpTraverseType, duFileIO* const io);
#endif // DETOUR_DUMP_H

View File

@ -265,12 +265,12 @@ static void drawTraverseLinks(duDebugDraw* dd, const dtNavMesh& mesh, const dtNa
const dtLink* link = &tile->links[j];
// Skip "normal" links (non-jumping ones).
if (link->traverseType == DT_NULL_TRAVERSE_TYPE)
if (!link->hasTraverseType())
continue;
// Filter, drawLinkType -1 means draw all types
const int drawTraverseType = traverseLinkParams.traverseLinkType;
const unsigned char linkTraverseType = link->traverseType & (DT_MAX_TRAVERSE_TYPES-1);
const unsigned char linkTraverseType = link->getTraverseType();
if (drawTraverseType != -1 && linkTraverseType != drawTraverseType)
continue;

View File

@ -4,7 +4,7 @@
#include "Detour/Include/DetourNavMeshQuery.h"
#include "DebugUtils/Include/DetourDump.h"
bool duDumpTraverseLinkDetail(const dtNavMesh& mesh, const dtNavMeshQuery* query, const int traverseType, duFileIO* const io)
bool duDumpTraverseLinkDetail(const dtNavMesh& mesh, const dtNavMeshQuery* query, const int dumpTraverseType, duFileIO* const io)
{
if (!io)
{
@ -53,11 +53,13 @@ bool duDumpTraverseLinkDetail(const dtNavMesh& mesh, const dtNavMeshQuery* query
const dtLink* link = &tile->links[k];
// Skip "normal" links (non-jumping ones).
if (link->traverseType == DT_NULL_TRAVERSE_TYPE)
if (!link->hasTraverseType())
continue;
const unsigned char traverseType = link->getTraverseType();
// Filter out anything not matching input.
if (traverseType != -1 && link->traverseType != traverseType)
if (dumpTraverseType != -1 && traverseType != dumpTraverseType)
continue;
const dtPoly* endPoly;
@ -104,7 +106,7 @@ bool duDumpTraverseLinkDetail(const dtNavMesh& mesh, const dtNavMeshQuery* query
io->write(buf, bufCount);
bufCount = snprintf(buf, sizeof(buf), "\t\televation: %g\n", elevation);
io->write(buf, bufCount);
bufCount = snprintf(buf, sizeof(buf), "\t\ttraverseType: %hhu\n", link->traverseType);
bufCount = snprintf(buf, sizeof(buf), "\t\ttraverseType: %hhu\n", traverseType);
io->write(buf, bufCount);
bufCount = snprintf(buf, sizeof(buf), "\t\ttraverseDist: %hhu\n", link->traverseDist);
io->write(buf, bufCount);

View File

@ -397,7 +397,7 @@ static bool floodPolygonIsland(dtNavMesh* nav, dtDisjointSet& set, const dtPolyR
const dtLink& link = currentTile->links[i];
// Skip traverse links as these can join separate islands together.
if (link.traverseType != DT_NULL_TRAVERSE_TYPE)
if (link.hasTraverseType())
continue;
const dtPolyRef neiRef = link.ref;