19 #ifndef DETOURTILECACHEBUILDER_H 20 #define DETOURTILECACHEBUILDER_H 85 virtual void*
alloc(
const int size)
90 virtual void free(
void* ptr)
98 virtual int maxCompressedSize(
const int bufferSize) = 0;
99 virtual dtStatus compress(
const unsigned char* buffer,
const int bufferSize,
100 unsigned char* compressed,
const int maxCompressedSize,
int* compressedSize) = 0;
101 virtual dtStatus decompress(
const unsigned char* compressed,
const int compressedSize,
102 unsigned char* buffer,
const int maxBufferSize,
int* bufferSize) = 0;
108 const unsigned char* heights,
109 const unsigned char* areas,
110 const unsigned char* cons,
111 unsigned char** outData,
int* outDataSize);
116 unsigned char* compressed,
const int compressedSize,
126 const float* pos,
const float radius,
const float height,
const unsigned char areaId);
130 const int walkableClimb);
134 const int walkableClimb,
const float maxError,
148 #endif // DETOURTILECACHEBUILDER_H dtStatus dtBuildTileCacheRegions(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb)
void * dtAlloc(int size, dtAllocHint hint)
Allocates a memory block.
static const unsigned char DT_TILECACHE_NULL_AREA
virtual void * alloc(const int size)
static const unsigned char DT_TILECACHE_WALKABLE_AREA
unsigned char regCount
Region count.
dtTileCacheContourSet * dtAllocTileCacheContourSet(dtTileCacheAlloc *alloc)
static const int DT_TILECACHE_VERSION
bool dtTileCacheHeaderSwapEndian(unsigned char *data, const int dataSize)
Swaps the endianess of the compressed tile data's header (dtTileCacheLayerHeader). Tile layer data does not need endian swapping as it consits only of bytes.
dtStatus dtDecompressTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut)
dtTileCachePolyMesh * dtAllocTileCachePolyMesh(dtTileCacheAlloc *alloc)
void dtFreeTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheLayer *layer)
dtStatus dtBuildTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh)
unsigned short * polys
Polygons of the mesh, nvp*2 elements per polygon.
unsigned short * verts
Vertices of the mesh, 3 elements per vertex.
void dtFreeTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh)
dtTileCacheLayerHeader * header
virtual void free(void *ptr)
int nverts
Number of vertices.
unsigned char * areas
Area ID of polygons.
int npolys
Number of polygons.
Memory used temporarily within a function.
dtStatus dtBuildTileCacheLayer(dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize)
dtStatus dtMarkCylinderArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId)
static const unsigned short DT_TILECACHE_NULL_IDX
unsigned short * flags
Per polygon flags.
void dtFreeTileCacheContourSet(dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset)
dtStatus dtBuildTileCacheContours(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset)
dtTileCacheContour * conts
static const int DT_TILECACHE_MAGIC
'DTLR';
void dtFree(void *ptr)
Deallocates a memory block.