Fixed for navmesh on FreeBSD. Oatch by sambler, thanks!
authorSergey Sharybin <sergey.vfx@gmail.com>
Sat, 10 Sep 2011 14:55:14 +0000 (14:55 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Sat, 10 Sep 2011 14:55:14 +0000 (14:55 +0000)
extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp
source/blender/editors/util/navmesh_conversion.cpp

index 8fc3fa833f9f12335af35259ff6253f5085907cc..dab94eaa7750242f57071f6821a6002bfab87f30 100644 (file)
@@ -97,7 +97,7 @@ static int circumCircle(const float xp, const float yp,
 
 #if defined(_MSC_VER)
 static int ptcmp(void* up, const void *v1, const void *v2)
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__FreeBSD__)
 static int ptcmp(void* up, const void *v1, const void *v2)
 #else
 static int ptcmp(const void *v1, const void *v2, void* up)
@@ -124,7 +124,7 @@ static void delaunay(const int nv, float *verts, rcIntArray& idx, rcIntArray& tr
                idx[i] = i;
 #if defined(_MSC_VER)
        qsort_s(&idx[0], idx.size(), sizeof(int), ptcmp, verts);
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__FreeBSD__)
        qsort_r(&idx[0], idx.size(), sizeof(int), verts, ptcmp);
 #else
        qsort_r(&idx[0], idx.size(), sizeof(int), ptcmp, verts);
index 4d89f78bdf5401f0e74a18badca588f5d9aae14d..8b3fee59e1a59d90607444f1b37ce962c769f522 100644 (file)
@@ -280,7 +280,7 @@ struct SortContext
 };
 #if defined(_MSC_VER)
 static int compareByData(void* data, const void * a, const void * b)
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__FreeBSD__)
 static int compareByData(void* data, const void * a, const void * b)
 #else
 static int compareByData(const void * a, const void * b, void* data)
@@ -314,7 +314,7 @@ bool buildNavMeshData(const int nverts, const float* verts,
        context.trisToFacesMap = trisToFacesMap;
 #if defined(_MSC_VER)
        qsort_s(trisMapping, ntris, sizeof(int), compareByData, &context);
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__FreeBSD__)
        qsort_r(trisMapping, ntris, sizeof(int), &context, compareByData);
 #else
        qsort_r(trisMapping, ntris, sizeof(int), compareByData, &context);