Changed many 0xffff:s to named consts.
This commit is contained in:
parent
4cb96e9dc0
commit
5651b7c5dd
@ -523,7 +523,7 @@ void duDebugDrawPolyMesh(duDebugDraw* dd, const struct rcPolyMesh& mesh)
|
||||
unsigned short vi[3];
|
||||
for (int j = 2; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[j] == RC_MESH_NULL_IDX) break;
|
||||
vi[0] = p[0];
|
||||
vi[1] = p[j-1];
|
||||
vi[2] = p[j];
|
||||
@ -547,11 +547,11 @@ void duDebugDrawPolyMesh(duDebugDraw* dd, const struct rcPolyMesh& mesh)
|
||||
const unsigned short* p = &mesh.polys[i*nvp*2];
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[nvp+j] == 0xffff) continue;
|
||||
if (p[j] == RC_MESH_NULL_IDX) break;
|
||||
if (p[nvp+j] == RC_MESH_NULL_IDX) continue;
|
||||
int vi[2];
|
||||
vi[0] = p[j];
|
||||
if (j+1 >= nvp || p[j+1] == 0xffff)
|
||||
if (j+1 >= nvp || p[j+1] == RC_MESH_NULL_IDX)
|
||||
vi[1] = p[0];
|
||||
else
|
||||
vi[1] = p[j+1];
|
||||
@ -575,11 +575,11 @@ void duDebugDrawPolyMesh(duDebugDraw* dd, const struct rcPolyMesh& mesh)
|
||||
const unsigned short* p = &mesh.polys[i*nvp*2];
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[nvp+j] != 0xffff) continue;
|
||||
if (p[j] == RC_MESH_NULL_IDX) break;
|
||||
if (p[nvp+j] != RC_MESH_NULL_IDX) continue;
|
||||
int vi[2];
|
||||
vi[0] = p[j];
|
||||
if (j+1 >= nvp || p[j+1] == 0xffff)
|
||||
if (j+1 >= nvp || p[j+1] == RC_MESH_NULL_IDX)
|
||||
vi[1] = p[0];
|
||||
else
|
||||
vi[1] = p[j+1];
|
||||
|
@ -55,7 +55,7 @@ bool duDumpPolyMeshToObj(rcPolyMesh& pmesh, const char* filepath)
|
||||
const unsigned short* p = &pmesh.polys[i*nvp*2];
|
||||
for (int j = 2; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[j] == RC_MESH_NULL_IDX) break;
|
||||
fprintf(fp, "f %d %d %d\n", p[0]+1, p[j-1]+1, p[j]+1);
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "DetourCommon.h"
|
||||
#include "DetourNavMeshBuilder.h"
|
||||
|
||||
|
||||
static unsigned short MESH_NULL_IDX = 0xffff;
|
||||
|
||||
struct BVItem
|
||||
{
|
||||
@ -184,7 +184,7 @@ static int createBVTree(const unsigned short* verts, const int nverts,
|
||||
|
||||
for (int j = 1; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[j] == MESH_NULL_IDX) break;
|
||||
unsigned short x = verts[p[j]*3+0];
|
||||
unsigned short y = verts[p[j]*3+1];
|
||||
unsigned short z = verts[p[j]*3+2];
|
||||
@ -293,9 +293,9 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
|
||||
const unsigned short* p = ¶ms->polys[i*2*nvp];
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[j] == MESH_NULL_IDX) break;
|
||||
int nj = j+1;
|
||||
if (nj >= nvp || p[nj] == 0xffff) nj = 0;
|
||||
if (nj >= nvp || p[nj] == MESH_NULL_IDX) nj = 0;
|
||||
const unsigned short* va = ¶ms->verts[p[j]*3];
|
||||
const unsigned short* vb = ¶ms->verts[p[nj]*3];
|
||||
|
||||
@ -326,7 +326,7 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
|
||||
int nv = 0;
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if (p[j] == 0xffff) break;
|
||||
if (p[j] == MESH_NULL_IDX) break;
|
||||
nv++;
|
||||
}
|
||||
ndv -= nv;
|
||||
@ -422,7 +422,7 @@ bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData,
|
||||
p->flags = DT_POLY_GROUND;
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if (src[j] == 0xffff) break;
|
||||
if (src[j] == MESH_NULL_IDX) break;
|
||||
p->verts[j] = src[j];
|
||||
p->neis[j] = (src[nvp+j]+1) & 0xffff;
|
||||
p->vertCount++;
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "DetourNode.h"
|
||||
#include <string.h>
|
||||
|
||||
static const unsigned short DT_NULL_IDX = 0xffff;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
dtNodePool::dtNodePool(int maxNodes, int hashSize) :
|
||||
|
||||
@ -53,7 +55,7 @@ const dtNode* dtNodePool::findNode(unsigned int id) const
|
||||
{
|
||||
unsigned int bucket = hashint(id) & (m_hashSize-1);
|
||||
unsigned short i = m_first[bucket];
|
||||
while (i != 0xffff)
|
||||
while (i != DT_NULL_IDX)
|
||||
{
|
||||
if (m_nodes[i].id == id)
|
||||
return &m_nodes[i];
|
||||
@ -67,7 +69,7 @@ dtNode* dtNodePool::getNode(unsigned int id)
|
||||
unsigned int bucket = hashint(id) & (m_hashSize-1);
|
||||
unsigned short i = m_first[bucket];
|
||||
dtNode* node = 0;
|
||||
while (i != 0xffff)
|
||||
while (i != DT_NULL_IDX)
|
||||
{
|
||||
if (m_nodes[i].id == id)
|
||||
return &m_nodes[i];
|
||||
|
@ -150,8 +150,8 @@ struct rcContourSet
|
||||
// 'nvp*2' elements. The first 'nvp' elements are indices to vertices
|
||||
// and the second 'nvp' elements are indices to neighbour polygons.
|
||||
// If a polygona has less than 'bvp' vertices, the remaining indices
|
||||
// are set os 0xffff. If an polygon edge does not have a neighbour
|
||||
// the neighbour index is set to 0xffff.
|
||||
// are set to RC_MESH_NULL_IDX. If an polygon edge does not have a neighbour
|
||||
// the neighbour index is set to RC_MESH_NULL_IDX.
|
||||
// Vertices can be transformed into world space as follows:
|
||||
// x = bmin[0] + verts[i*3+0]*cs;
|
||||
// y = bmin[1] + verts[i*3+1]*ch;
|
||||
@ -242,6 +242,11 @@ static const unsigned short RC_BORDER_REG = 0x8000;
|
||||
// removed in order to match the segments and vertices at tile boundaries.
|
||||
static const int RC_BORDER_VERTEX = 0x10000;
|
||||
|
||||
// Mask used with contours to extract region id.
|
||||
static const int RC_CONTOUR_REG_MASK = 0xffff;
|
||||
|
||||
// Null index which is used with meshes to mark unset or invalid indices.
|
||||
static const unsigned short RC_MESH_NULL_IDX = 0xffff;
|
||||
|
||||
// Value returned by rcGetCon() if the direction is not connected.
|
||||
static const int RC_NOT_CONNECTED = 0xf;
|
||||
|
@ -223,7 +223,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
|
||||
bool noConnections = true;
|
||||
for (int i = 0; i < points.size(); i += 4)
|
||||
{
|
||||
if ((points[i+3] & 0xffff) != 0)
|
||||
if ((points[i+3] & RC_CONTOUR_REG_MASK) != 0)
|
||||
{
|
||||
noConnections = false;
|
||||
break;
|
||||
@ -280,7 +280,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
|
||||
for (int i = 0, ni = points.size()/4; i < ni; ++i)
|
||||
{
|
||||
int ii = (i+1) % ni;
|
||||
if ((points[i*4+3] & 0xffff) != (points[ii*4+3] & 0xffff))
|
||||
if ((points[i*4+3] & RC_CONTOUR_REG_MASK) != (points[ii*4+3] & RC_CONTOUR_REG_MASK))
|
||||
{
|
||||
simplified.push(points[i*4+0]);
|
||||
simplified.push(points[i*4+1]);
|
||||
@ -313,7 +313,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
|
||||
int ci = (ai+1) % pn;
|
||||
|
||||
// Tesselate only outer edges.
|
||||
if ((points[ci*4+3] & 0xffff) == 0)
|
||||
if ((points[ci*4+3] & RC_CONTOUR_REG_MASK) == 0)
|
||||
{
|
||||
while (ci != bi)
|
||||
{
|
||||
@ -375,7 +375,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
|
||||
int ci = (ai+1) % pn;
|
||||
|
||||
// Tesselate only outer edges.
|
||||
if ((points[ci*4+3] & 0xffff) == 0)
|
||||
if ((points[ci*4+3] & RC_CONTOUR_REG_MASK) == 0)
|
||||
{
|
||||
int dx = bx - ax;
|
||||
int dz = bz - az;
|
||||
@ -419,7 +419,7 @@ static void simplifyContour(rcIntArray& points, rcIntArray& simplified, float ma
|
||||
// and the neighbour region is take from the next raw point.
|
||||
const int ai = (simplified[i*4+3]+1) % pn;
|
||||
const int bi = simplified[i*4+3];
|
||||
simplified[i*4+3] = (points[ai*4+3] & 0xffff) | (points[bi*4+3] & RC_BORDER_VERTEX);
|
||||
simplified[i*4+3] = (points[ai*4+3] & RC_CONTOUR_REG_MASK) | (points[bi*4+3] & RC_BORDER_VERTEX);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -50,10 +50,7 @@ static bool buildMeshAdjacency(unsigned short* polys, const int npolys,
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < nverts; i++)
|
||||
firstEdge[i] = 0xffff;
|
||||
|
||||
// Invalida indices are marked as 0xffff, the following code
|
||||
// handles them just fine.
|
||||
firstEdge[i] = RC_MESH_NULL_IDX;
|
||||
|
||||
for (int i = 0; i < npolys; ++i)
|
||||
{
|
||||
@ -61,7 +58,7 @@ static bool buildMeshAdjacency(unsigned short* polys, const int npolys,
|
||||
for (int j = 0; j < vertsPerPoly; ++j)
|
||||
{
|
||||
unsigned short v0 = t[j];
|
||||
unsigned short v1 = (j+1 >= vertsPerPoly || t[j+1] == 0xffff) ? t[0] : t[j+1];
|
||||
unsigned short v1 = (j+1 >= vertsPerPoly || t[j+1] == RC_MESH_NULL_IDX) ? t[0] : t[j+1];
|
||||
if (v0 < v1)
|
||||
{
|
||||
rcEdge& edge = edges[edgeCount];
|
||||
@ -85,10 +82,10 @@ static bool buildMeshAdjacency(unsigned short* polys, const int npolys,
|
||||
for (int j = 0; j < vertsPerPoly; ++j)
|
||||
{
|
||||
unsigned short v0 = t[j];
|
||||
unsigned short v1 = (j+1 >= vertsPerPoly || t[j+1] == 0xffff) ? t[0] : t[j+1];
|
||||
unsigned short v1 = (j+1 >= vertsPerPoly || t[j+1] == RC_MESH_NULL_IDX) ? t[0] : t[j+1];
|
||||
if (v0 > v1)
|
||||
{
|
||||
for (unsigned short e = firstEdge[v1]; e != 0xffff; e = nextEdge[e])
|
||||
for (unsigned short e = firstEdge[v1]; e != RC_MESH_NULL_IDX; e = nextEdge[e])
|
||||
{
|
||||
rcEdge& edge = edges[e];
|
||||
if (edge.vert[1] == v0 && edge.poly[0] == edge.poly[1])
|
||||
@ -379,7 +376,7 @@ int triangulate(int n, const int* verts, int* indices, int* tris)
|
||||
static int countPolyVerts(const unsigned short* p, const int nvp)
|
||||
{
|
||||
for (int i = 0; i < nvp; ++i)
|
||||
if (p[i] == 0xffff)
|
||||
if (p[i] == RC_MESH_NULL_IDX)
|
||||
return i;
|
||||
return nvp;
|
||||
}
|
||||
@ -1145,7 +1142,7 @@ bool rcMergePolyMeshes(rcPolyMesh** meshes, const int nmeshes, rcPolyMesh& mesh)
|
||||
mesh.npolys++;
|
||||
for (int k = 0; k < mesh.nvp; ++k)
|
||||
{
|
||||
if (src[k] == 0xffff) break;
|
||||
if (src[k] == RC_MESH_NULL_IDX) break;
|
||||
tgt[k] = vremap[src[k]];
|
||||
}
|
||||
}
|
||||
|
@ -27,6 +27,8 @@
|
||||
#include "RecastTimer.h"
|
||||
|
||||
|
||||
static const unsigned RC_UNSET_HEIGHT = 0xffff;
|
||||
|
||||
struct rcHeightPatch
|
||||
{
|
||||
inline rcHeightPatch() : data(0) {}
|
||||
@ -199,7 +201,7 @@ static unsigned short getHeight(const float fx, const float fz, const float cs,
|
||||
ix = rcClamp(ix-hp.xmin, 0, hp.width);
|
||||
iz = rcClamp(iz-hp.ymin, 0, hp.height);
|
||||
unsigned short h = hp.data[ix+iz*hp.width];
|
||||
if (h == 0xffff)
|
||||
if (h == RC_UNSET_HEIGHT)
|
||||
{
|
||||
// Special case when data might be bad.
|
||||
// Find nearest neighbour pixel which has valid height.
|
||||
@ -211,7 +213,7 @@ static unsigned short getHeight(const float fx, const float fz, const float cs,
|
||||
const int nz = iz+off[i*2+1];
|
||||
if (nx < 0 || nz < 0 || nx >= hp.width || nz >= hp.height) continue;
|
||||
const unsigned short nh = hp.data[nx+nz*hp.width];
|
||||
if (nh == 0xffff) continue;
|
||||
if (nh == RC_UNSET_HEIGHT) continue;
|
||||
const float dx = (nx+0.5f)*cs - fx;
|
||||
const float dz = (nz+0.5f)*cs - fz;
|
||||
const float d = dx*dx+dz*dz;
|
||||
@ -726,7 +728,7 @@ static void getHeightData(const rcCompactHeightfield& chf,
|
||||
continue;
|
||||
|
||||
const rcCompactCell& c = chf.cells[ax+az*chf.width];
|
||||
int dmin = 0xffff;
|
||||
int dmin = RC_UNSET_HEIGHT;
|
||||
int ai = -1;
|
||||
for (int i = (int)c.index, ni = (int)(c.index+c.count); i < ni; ++i)
|
||||
{
|
||||
@ -764,7 +766,7 @@ static void getHeightData(const rcCompactHeightfield& chf,
|
||||
cz >= hp.ymin && cz < hp.ymin+hp.height)
|
||||
{
|
||||
const rcCompactCell& c = chf.cells[cx+cz*chf.width];
|
||||
int dmin = 0xffff;
|
||||
int dmin = RC_UNSET_HEIGHT;
|
||||
int ci = -1;
|
||||
for (int i = (int)c.index, ni = (int)(c.index+c.count); i < ni; ++i)
|
||||
{
|
||||
@ -793,7 +795,7 @@ static void getHeightData(const rcCompactHeightfield& chf,
|
||||
|
||||
// Skip already visited locations.
|
||||
int idx = cx-hp.xmin+(cy-hp.ymin)*hp.width;
|
||||
if (hp.data[idx] != 0xffff)
|
||||
if (hp.data[idx] != RC_UNSET_HEIGHT)
|
||||
continue;
|
||||
|
||||
const rcCompactSpan& cs = chf.spans[ci];
|
||||
@ -810,7 +812,7 @@ static void getHeightData(const rcCompactHeightfield& chf,
|
||||
ay < hp.ymin || ay >= (hp.ymin+hp.height))
|
||||
continue;
|
||||
|
||||
if (hp.data[ax-hp.xmin+(ay-hp.ymin)*hp.width] != 0xffff)
|
||||
if (hp.data[ax-hp.xmin+(ay-hp.ymin)*hp.width] != RC_UNSET_HEIGHT)
|
||||
continue;
|
||||
|
||||
const int ai = (int)chf.cells[ax+ay*chf.width].index + rcGetCon(cs, dir);
|
||||
@ -900,7 +902,7 @@ bool rcBuildPolyMeshDetail(const rcPolyMesh& mesh, const rcCompactHeightfield& c
|
||||
ymax = 0;
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if(p[j] == 0xffff) break;
|
||||
if(p[j] == RC_MESH_NULL_IDX) break;
|
||||
const unsigned short* v = &mesh.verts[p[j]*3];
|
||||
xmin = rcMin(xmin, (int)v[0]);
|
||||
xmax = rcMax(xmax, (int)v[0]);
|
||||
@ -964,7 +966,7 @@ bool rcBuildPolyMeshDetail(const rcPolyMesh& mesh, const rcCompactHeightfield& c
|
||||
int npoly = 0;
|
||||
for (int j = 0; j < nvp; ++j)
|
||||
{
|
||||
if(p[j] == 0xffff) break;
|
||||
if(p[j] == RC_MESH_NULL_IDX) break;
|
||||
const unsigned short* v = &mesh.verts[p[j]*3];
|
||||
poly[j*3+0] = v[0]*cs;
|
||||
poly[j*3+1] = v[1]*ch;
|
||||
|
@ -954,6 +954,9 @@ static void paintRectRegion(int minx, int maxx, int miny, int maxy,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static const unsigned short RC_NULL_NEI = 0xffff;
|
||||
|
||||
struct rcSweepSpan
|
||||
{
|
||||
unsigned short rid; // row id
|
||||
@ -1061,7 +1064,7 @@ bool rcBuildRegionsMonotone(rcCompactHeightfield& chf,
|
||||
}
|
||||
else
|
||||
{
|
||||
sweeps[previd].nei = 0xffff;
|
||||
sweeps[previd].nei = RC_NULL_NEI;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1073,7 +1076,7 @@ bool rcBuildRegionsMonotone(rcCompactHeightfield& chf,
|
||||
// Create unique ID.
|
||||
for (int i = 1; i < rid; ++i)
|
||||
{
|
||||
if (sweeps[i].nei != 0xffff && sweeps[i].nei != 0 &&
|
||||
if (sweeps[i].nei != RC_NULL_NEI && sweeps[i].nei != 0 &&
|
||||
prev[sweeps[i].nei] == (int)sweeps[i].ns)
|
||||
{
|
||||
sweeps[i].id = sweeps[i].nei;
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -323,7 +323,7 @@
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>6B8632A30F78115100E2684A</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>DetourNavMesh.cpp</string>
|
||||
<string>DetourNavMesh.h</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
@ -331,11 +331,11 @@
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>6B8632A40F78115100E2684A</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>DetourNavMesh.cpp</string>
|
||||
<string>DetourNavMesh.h</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>6BF7BE92110F1BDA002B3F46</string>
|
||||
<string>6BF7C0D41110857A002B3F46</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>6B57D358108C66B200DDD053</string>
|
||||
@ -385,8 +385,8 @@
|
||||
<string>6BF7BE82110F196C002B3F46</string>
|
||||
<string>6BF7BE83110F196C002B3F46</string>
|
||||
<string>6BF7BE8C110F1AFC002B3F46</string>
|
||||
<string>6BF7BE8D110F1AFC002B3F46</string>
|
||||
<string>6BF7BE1E110F0792002B3F46</string>
|
||||
<string>6BF7C0CB1110857A002B3F46</string>
|
||||
<string>6BF7C0CC1110857A002B3F46</string>
|
||||
</array>
|
||||
<key>prevStack</key>
|
||||
<array>
|
||||
@ -427,99 +427,13 @@
|
||||
<string>6B4260411109E27F00C48C36</string>
|
||||
<string>6B4260471109E83800C48C36</string>
|
||||
<string>6B4260481109E83800C48C36</string>
|
||||
<string>6BF7BDC7110EF674002B3F46</string>
|
||||
<string>6BF7BDC8110EF674002B3F46</string>
|
||||
<string>6BF7BDC9110EF674002B3F46</string>
|
||||
<string>6BF7BDCA110EF674002B3F46</string>
|
||||
<string>6BF7BDCB110EF674002B3F46</string>
|
||||
<string>6BF7BDCC110EF674002B3F46</string>
|
||||
<string>6BF7BDCD110EF674002B3F46</string>
|
||||
<string>6BF7BDCE110EF674002B3F46</string>
|
||||
<string>6BF7BDCF110EF674002B3F46</string>
|
||||
<string>6BF7BDD0110EF674002B3F46</string>
|
||||
<string>6BF7BDD1110EF674002B3F46</string>
|
||||
<string>6BF7BDD2110EF674002B3F46</string>
|
||||
<string>6BF7BDD3110EF674002B3F46</string>
|
||||
<string>6BF7BDD4110EF674002B3F46</string>
|
||||
<string>6BF7BDD5110EF674002B3F46</string>
|
||||
<string>6BF7BDD6110EF674002B3F46</string>
|
||||
<string>6BF7BDD7110EF674002B3F46</string>
|
||||
<string>6BF7BDD8110EF674002B3F46</string>
|
||||
<string>6BF7BDD9110EF674002B3F46</string>
|
||||
<string>6BF7BDDA110EF674002B3F46</string>
|
||||
<string>6BF7BDDB110EF674002B3F46</string>
|
||||
<string>6BF7BDDC110EF674002B3F46</string>
|
||||
<string>6BF7BDDD110EF674002B3F46</string>
|
||||
<string>6BF7BDDE110EF674002B3F46</string>
|
||||
<string>6BF7BDDF110EF674002B3F46</string>
|
||||
<string>6BF7BDE0110EF674002B3F46</string>
|
||||
<string>6BF7BDE1110EF674002B3F46</string>
|
||||
<string>6BF7BDE2110EF674002B3F46</string>
|
||||
<string>6BF7BDE3110EF674002B3F46</string>
|
||||
<string>6BF7BDE4110EF674002B3F46</string>
|
||||
<string>6BF7BDE5110EF674002B3F46</string>
|
||||
<string>6BF7BDE6110EF674002B3F46</string>
|
||||
<string>6BF7BDE7110EF674002B3F46</string>
|
||||
<string>6BF7BDE8110EF674002B3F46</string>
|
||||
<string>6BF7BDE9110EF674002B3F46</string>
|
||||
<string>6BF7BDEA110EF674002B3F46</string>
|
||||
<string>6BF7BDF7110EF76D002B3F46</string>
|
||||
<string>6BF7BDF8110EF76D002B3F46</string>
|
||||
<string>6BF7BDF9110EF76D002B3F46</string>
|
||||
<string>6BF7BDFA110EF76D002B3F46</string>
|
||||
<string>6BF7BE07110EF794002B3F46</string>
|
||||
<string>6BF7BE11110EF7F7002B3F46</string>
|
||||
<string>6BF7BE1A110F023C002B3F46</string>
|
||||
<string>6BF7BE1B110F023C002B3F46</string>
|
||||
<string>6BF7BE1C110F023C002B3F46</string>
|
||||
<string>6BF7BE22110F0792002B3F46</string>
|
||||
<string>6BF7BE23110F0792002B3F46</string>
|
||||
<string>6BF7BE24110F0792002B3F46</string>
|
||||
<string>6BF7BE25110F0792002B3F46</string>
|
||||
<string>6BF7BE26110F0792002B3F46</string>
|
||||
<string>6BF7BE2C110F13F9002B3F46</string>
|
||||
<string>6BF7BE2D110F13F9002B3F46</string>
|
||||
<string>6BF7BE40110F1576002B3F46</string>
|
||||
<string>6BF7BE41110F1576002B3F46</string>
|
||||
<string>6BF7BE42110F1576002B3F46</string>
|
||||
<string>6BF7BE43110F1576002B3F46</string>
|
||||
<string>6BF7BE44110F1576002B3F46</string>
|
||||
<string>6BF7BE45110F1576002B3F46</string>
|
||||
<string>6BF7BE46110F1576002B3F46</string>
|
||||
<string>6BF7BE47110F1576002B3F46</string>
|
||||
<string>6BF7BE48110F1576002B3F46</string>
|
||||
<string>6BF7BE49110F1576002B3F46</string>
|
||||
<string>6BF7BE4A110F1576002B3F46</string>
|
||||
<string>6BF7BE4B110F1576002B3F46</string>
|
||||
<string>6BF7BE4C110F1576002B3F46</string>
|
||||
<string>6BF7BE4D110F1576002B3F46</string>
|
||||
<string>6BF7BE4E110F1576002B3F46</string>
|
||||
<string>6BF7BE56110F160F002B3F46</string>
|
||||
<string>6BF7BE57110F160F002B3F46</string>
|
||||
<string>6BF7BE64110F170A002B3F46</string>
|
||||
<string>6BF7BE65110F170A002B3F46</string>
|
||||
<string>6BF7BE66110F170A002B3F46</string>
|
||||
<string>6BF7BE67110F170A002B3F46</string>
|
||||
<string>6BF7BE68110F170A002B3F46</string>
|
||||
<string>6BF7BE69110F170A002B3F46</string>
|
||||
<string>6BF7BE6A110F170A002B3F46</string>
|
||||
<string>6BF7BE6B110F170A002B3F46</string>
|
||||
<string>6BF7BE6C110F170A002B3F46</string>
|
||||
<string>6BF7BE6D110F170A002B3F46</string>
|
||||
<string>6BF7BE78110F1832002B3F46</string>
|
||||
<string>6BF7BE79110F1832002B3F46</string>
|
||||
<string>6BF7BE7A110F1832002B3F46</string>
|
||||
<string>6BF7BE7B110F1832002B3F46</string>
|
||||
<string>6BF7BE7C110F1832002B3F46</string>
|
||||
<string>6BF7BE7D110F1832002B3F46</string>
|
||||
<string>6BF7BE85110F196C002B3F46</string>
|
||||
<string>6BF7BE86110F196C002B3F46</string>
|
||||
<string>6BF7BE87110F196C002B3F46</string>
|
||||
<string>6BF7BE88110F196C002B3F46</string>
|
||||
<string>6BF7BE89110F196C002B3F46</string>
|
||||
<string>6BF7BE8A110F196C002B3F46</string>
|
||||
<string>6BF7BE8E110F1AFC002B3F46</string>
|
||||
<string>6BF7BE8F110F1AFC002B3F46</string>
|
||||
<string>6BF7C0CD1110857A002B3F46</string>
|
||||
<string>6BF7C0CE1110857A002B3F46</string>
|
||||
<string>6BF7C0CF1110857A002B3F46</string>
|
||||
<string>6BF7C0D01110857A002B3F46</string>
|
||||
<string>6BF7C0D11110857A002B3F46</string>
|
||||
<string>6BF7C0D21110857A002B3F46</string>
|
||||
<string>6BF7C0D31110857A002B3F46</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
@ -558,7 +472,9 @@
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {876, 88}}</string>
|
||||
<string>{{10, 27}, {876, 73}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>11 76 1256 702 0 0 1280 778 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
@ -575,8 +491,6 @@
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {876, 73}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>11 76 1256 702 0 0 1280 778 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXProjectFindModule</string>
|
||||
@ -642,11 +556,11 @@
|
||||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>6BF7BDEC110EF674002B3F46</string>
|
||||
<string>6BF7C0C811108202002B3F46</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>6BF7BDED110EF674002B3F46</string>
|
||||
<string>6BF7C0C911108202002B3F46</string>
|
||||
<string>6B8632A30F78115100E2684A</string>
|
||||
<string>6BF7BDEE110EF674002B3F46</string>
|
||||
<string>6BF7C0CA11108202002B3F46</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
@ -834,8 +748,6 @@
|
||||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>6BF7BE0B110EF794002B3F46</string>
|
||||
<string>6BF7BE0C110EF794002B3F46</string>
|
||||
<string>/Users/memon/Code/recastnavigation/RecastDemo/Build/Xcode/Recast.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
|
Loading…
x
Reference in New Issue
Block a user