19#ifndef DETOURTILECACHEBUILDER_H
20#define DETOURTILECACHEBUILDER_H
22#include "DetourAlloc.h"
23#include "DetourStatus.h"
25static const int DT_TILECACHE_MAGIC =
'D'<<24 |
'T'<<16 |
'L'<<8 |
'R';
26static const int DT_TILECACHE_VERSION = 1;
28static const unsigned char DT_TILECACHE_NULL_AREA = 0;
29static const unsigned char DT_TILECACHE_WALKABLE_AREA = 63;
30static const unsigned short DT_TILECACHE_NULL_IDX = 0xffff;
37 float bmin[3], bmax[3];
40 unsigned char minx, maxx, miny,
maxy;
47 unsigned char* heights;
83 virtual void reset() {}
85 virtual void* alloc(
const size_t size)
87 return dtAlloc(size, DT_ALLOC_TEMP);
90 virtual void free(
void* ptr)
100 virtual int maxCompressedSize(
const int bufferSize) = 0;
101 virtual dtStatus compress(
const unsigned char* buffer,
const int bufferSize,
102 unsigned char* compressed,
const int maxCompressedSize,
int* compressedSize) = 0;
103 virtual dtStatus decompress(
const unsigned char* compressed,
const int compressedSize,
104 unsigned char* buffer,
const int maxBufferSize,
int* bufferSize) = 0;
110 const unsigned char* heights,
111 const unsigned char* areas,
112 const unsigned char* cons,
113 unsigned char** outData,
int* outDataSize);
118 unsigned char* compressed,
const int compressedSize,
127dtStatus dtMarkCylinderArea(
dtTileCacheLayer& layer,
const float* orig,
const float cs,
const float ch,
128 const float* pos,
const float radius,
const float height,
const unsigned char areaId);
130dtStatus dtMarkBoxArea(
dtTileCacheLayer& layer,
const float* orig,
const float cs,
const float ch,
131 const float* bmin,
const float* bmax,
const unsigned char areaId);
133dtStatus dtMarkBoxArea(
dtTileCacheLayer& layer,
const float* orig,
const float cs,
const float ch,
134 const float* center,
const float* halfExtents,
const float* rotAux,
const unsigned char areaId);
138 const int walkableClimb);
142 const int walkableClimb,
const float maxError,
153bool dtTileCacheHeaderSwapEndian(
unsigned char* data,
const int dataSize);
Definition DetourTileCacheBuilder.h:80
Definition DetourTileCacheBuilder.h:97
Definition DetourTileCacheBuilder.h:62
Definition DetourTileCacheBuilder.h:54
Definition DetourTileCacheBuilder.h:44
unsigned char regCount
Region count.
Definition DetourTileCacheBuilder.h:46
Definition DetourTileCacheBuilder.h:68
int npolys
Number of polygons.
Definition DetourTileCacheBuilder.h:71
unsigned short * polys
Polygons of the mesh, nvp*2 elements per polygon.
Definition DetourTileCacheBuilder.h:73
int nverts
Number of vertices.
Definition DetourTileCacheBuilder.h:70
unsigned char * areas
Area ID of polygons.
Definition DetourTileCacheBuilder.h:75
unsigned short * flags
Per polygon flags.
Definition DetourTileCacheBuilder.h:74
unsigned short * verts
Vertices of the mesh, 3 elements per vertex.
Definition DetourTileCacheBuilder.h:72