diff --git a/r5dev/thirdparty/recast/Detour/Include/DetourNavMesh.h b/r5dev/thirdparty/recast/Detour/Include/DetourNavMesh.h index ee4bae81..118f241a 100644 --- a/r5dev/thirdparty/recast/Detour/Include/DetourNavMesh.h +++ b/r5dev/thirdparty/recast/Detour/Include/DetourNavMesh.h @@ -103,6 +103,9 @@ enum dtTileFlags { /// The navigation mesh owns the tile memory and is responsible for freeing it. DT_TILE_FREE_DATA = 0x01, + + /// The navigation mesh owns the offmesh connection memory and is responsible for freeing it. + DT_OFFMESH_FREE_DATA = 0x02, }; /// Vertex flags returned by dtNavMeshQuery::findStraightPath. @@ -326,7 +329,7 @@ struct dtMeshTile int dataSize; ///< Size of the tile data. int flags; ///< Tile flags. (See: #dtTileFlags) dtMeshTile* next; ///< The next free tile, or the next tile in the spatial grid. - void* unused; + void* unknownVTableInstance; // See [r5apex_ds + F437D9] for usage private: dtMeshTile(const dtMeshTile&); dtMeshTile& operator=(const dtMeshTile&); diff --git a/r5dev/thirdparty/recast/Detour/Source/DetourNavMesh.cpp b/r5dev/thirdparty/recast/Detour/Source/DetourNavMesh.cpp index dad47b1b..8e359b54 100644 --- a/r5dev/thirdparty/recast/Detour/Source/DetourNavMesh.cpp +++ b/r5dev/thirdparty/recast/Detour/Source/DetourNavMesh.cpp @@ -206,7 +206,7 @@ dtNavMesh::dtNavMesh() : m_orig[2] = 0; } -dtNavMesh::~dtNavMesh() +dtNavMesh::~dtNavMesh() // TODO: see [r5apex_ds + F43720] to re-implement this correctly { for (int i = 0; i < m_maxTiles; ++i) { @@ -1021,7 +1021,7 @@ dtStatus dtNavMesh::addTile(unsigned char* data, int dataSize, int flags, tile->data = data; tile->dataSize = dataSize; tile->flags = flags; - tile->unused = nullptr; + tile->unknownVTableInstance = nullptr; connectIntLinks(tile);