24#include "DetourNavMesh.h"
61 rcFreeCompactHeightfield(
chf);
62 rcFreeContourSet(
cset);
63 rcFreeHeightField(
solid);
64 rcFreePolyMesh(
pmesh);
65 rcFreePolyMeshDetail(
dmesh);
67 rcCompactHeightfield*
chf;
154 bool skipBattlegrounds,
158 char const* offMeshFilePath,
159 unsigned int threads);
181 float* verts,
int vertCount,
182 float* bmin,
float* bmax)
const;
std::optional< T > Optional
Optional helper class to wrap optional values within.
void buildMaps(Optional< uint32 > mapID)
char const * m_offMeshFilePath
ProducerConsumerQueue< TileInfo > _queue
std::vector< TileBuilder * > m_tileBuilders
void buildMeshFromFile(char *name)
std::set< uint32 > * getTileList(uint32 mapID)
uint32 percentageDone(uint32 totalTiles, uint32 totalTilesDone) const
Optional< float > m_maxWalkableAngleNotSteep
uint32 currentPercentageDone() const
void buildNavMesh(uint32 mapID, dtNavMesh *&navMesh)
bool shouldSkipMap(uint32 mapID) const
std::atomic< uint32 > m_totalTiles
rcConfig GetMapSpecificConfig(uint32 mapID, float bmin[3], float bmax[3], const TileConfig &tileConfig) const
bool isTransportMap(uint32 mapID) const
Optional< float > m_maxWalkableAngle
std::atomic< bool > _cancelationToken
bool isContinentMap(uint32 mapID) const
void getGridBounds(uint32 mapID, uint32 &minX, uint32 &minY, uint32 &maxX, uint32 &maxY) const
void buildMap(uint32 mapID)
void getTileBounds(uint32 tileX, uint32 tileY, float *verts, int vertCount, float *bmin, float *bmax) const
std::atomic< uint32 > m_totalTilesProcessed
void buildSingleTile(uint32 mapID, uint32 tileX, uint32 tileY)
TerrainBuilder * m_terrainBuilder
std::thread m_workerThread
bool shouldSkipTile(uint32 mapID, uint32 tileX, uint32 tileY) const
MapBuilder * m_mapBuilder
void buildTile(uint32 mapID, uint32 tileX, uint32 tileY, dtNavMesh *navMesh)
TileBuilder(TileBuilder &&)=default
void buildMoveMapTile(uint32 mapID, uint32 tileX, uint32 tileY, MeshData &meshData, float bmin[3], float bmax[3], dtNavMesh *navMesh)
TerrainBuilder * m_terrainBuilder
static const float GRID_SIZE
std::list< MapTiles > TileList
bool operator==(uint32 id) const
MapTiles(uint32 id, std::set< uint32 > *tiles)
std::set< uint32 > * m_tiles
TileConfig(bool bigBaseUnit)
dtNavMeshParams m_navMeshParams
rcCompactHeightfield * chf