diff --git a/build_files/buildbot/config/user-config-i686.py b/build_files/buildbot/config/user-config-i686.py index 07dc4a9d831..5fe3d6891fd 100644 --- a/build_files/buildbot/config/user-config-i686.py +++ b/build_files/buildbot/config/user-config-i686.py @@ -87,6 +87,10 @@ WITH_BF_STATIC3DMOUSE = True BF_3DMOUSE = '/home/sources/staticlibs/spnav' BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib32' +# FFT +WITH_BF_FFTW3 = True +WITH_BF_STATICFFTW3 = True + # Compilation and optimization BF_DEBUG = False REL_CFLAGS = ['-O2'] diff --git a/build_files/buildbot/config/user-config-x86_64.py b/build_files/buildbot/config/user-config-x86_64.py index 9c569ff4458..b8b2d7f7a5f 100644 --- a/build_files/buildbot/config/user-config-x86_64.py +++ b/build_files/buildbot/config/user-config-x86_64.py @@ -87,6 +87,10 @@ WITH_BF_STATIC3DMOUSE = True BF_3DMOUSE = '/home/sources/staticlibs/spnav' BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib64' +# FFT +WITH_BF_FFTW3 = True +WITH_BF_STATICFFTW3 = True + # Compilation and optimization BF_DEBUG = False REL_CFLAGS = ['-O2'] diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake index a9a1d544507..0c8d8c8d841 100644 --- a/build_files/cmake/Modules/FindOpenCOLLADA.cmake +++ b/build_files/cmake/Modules/FindOpenCOLLADA.cmake @@ -119,8 +119,8 @@ FOREACH(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS}) # Ubuntu ppa needs this. lib64/opencollada lib/opencollada ) + MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY) IF(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY) - MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY) LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}") ENDIF() ENDFOREACH() diff --git a/build_files/cmake/Modules/FindPCRE.cmake b/build_files/cmake/Modules/FindPCRE.cmake index a09375287a6..9d73e9200d9 100644 --- a/build_files/cmake/Modules/FindPCRE.cmake +++ b/build_files/cmake/Modules/FindPCRE.cmake @@ -1,43 +1,69 @@ -# - Try to find the PCRE regular expression library -# Once done this will define +# - Find PCRE library +# Find the native PCRE includes and library +# This module defines +# PCRE_INCLUDE_DIRS, where to find pcre.h, Set when +# PCRE_INCLUDE_DIR is found. +# PCRE_LIBRARIES, libraries to link against to use PCRE. +# PCRE_ROOT_DIR, The base directory to search for PCRE. +# This can also be an environment variable. +# PCRE_FOUND, If false, do not try to use PCRE. # -# PCRE_FOUND - system has the PCRE library -# PCRE_INCLUDE_DIR - the PCRE include directory -# PCRE_LIBRARIES - The libraries needed to use PCRE +# also defined, but not for general use are +# PCRE_LIBRARY, where to find the PCRE library. -# Copyright (c) 2006, Alexander Neundorf, +#============================================================================= +# Copyright 2011 Blender Foundation. # -# Redistribution and use is allowed according to the terms of the BSD license. +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= -if (PCRE_INCLUDE_DIR AND PCRE_PCREPOSIX_LIBRARY AND PCRE_PCRE_LIBRARY) - # Already in cache, be silent - set(PCRE_FIND_QUIETLY TRUE) -endif (PCRE_INCLUDE_DIR AND PCRE_PCREPOSIX_LIBRARY AND PCRE_PCRE_LIBRARY) - -if (NOT WIN32) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - find_package(PkgConfig) - pkg_check_modules(PC_PCRE QUIET libpcre) - set(PCRE_DEFINITIONS ${PC_PCRE_CFLAGS_OTHER}) -endif (NOT WIN32) - -find_path(PCRE_INCLUDE_DIR pcre.h - HINTS ${PC_PCRE_INCLUDEDIR} ${PC_PCRE_INCLUDE_DIRS} - PATH_SUFFIXES pcre) - -find_library(PCRE_PCRE_LIBRARY NAMES pcre HINTS ${PC_PCRE_LIBDIR} ${PC_PCRE_LIBRARY_DIRS}) - -find_library(PCRE_PCREPOSIX_LIBRARY NAMES pcreposix HINTS ${PC_PCRE_LIBDIR} ${PC_PCRE_LIBRARY_DIRS}) - -include(FindPackageHandleStandardArgs) - -IF(NOT WIN32) - find_package_handle_standard_args(PCRE DEFAULT_MSG PCRE_INCLUDE_DIR PCRE_PCRE_LIBRARY PCRE_PCREPOSIX_LIBRARY ) - mark_as_advanced(PCRE_INCLUDE_DIR PCRE_LIBRARIES PCRE_PCREPOSIX_LIBRARY PCRE_PCRE_LIBRARY) - set(PCRE_LIBRARIES ${PCRE_PCRE_LIBRARY} ${PCRE_PCREPOSIX_LIBRARY}) -ELSE() - find_package_handle_standard_args(PCRE DEFAULT_MSG PCRE_INCLUDE_DIR PCRE_PCRE_LIBRARY ) - set(PCRE_LIBRARIES ${PCRE_PCRE_LIBRARY} ) - mark_as_advanced(PCRE_INCLUDE_DIR PCRE_LIBRARIES PCRE_PCRE_LIBRARY) +# If PCRE_ROOT_DIR was defined in the environment, use it. +IF(NOT PCRE_ROOT_DIR AND NOT $ENV{PCRE_ROOT_DIR} STREQUAL "") + SET(PCRE_ROOT_DIR $ENV{PCRE_ROOT_DIR}) ENDIF() + +SET(_pcre_SEARCH_DIRS + ${PCRE_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(PCRE_INCLUDE_DIR pcre.h + HINTS + ${_pcre_SEARCH_DIRS} + PATH_SUFFIXES + include + include +) + +FIND_LIBRARY(PCRE_LIBRARY + NAMES + pcre + HINTS + ${_pcre_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG + PCRE_LIBRARY PCRE_INCLUDE_DIR) + +IF(PCRE_FOUND) + SET(PCRE_LIBRARIES ${PCRE_LIBRARY}) + SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR}) +ENDIF(PCRE_FOUND) + +MARK_AS_ADVANCED( + PCRE_INCLUDE_DIR + PCRE_LIBRARY +) diff --git a/build_files/cmake/Modules/FindXML2.cmake b/build_files/cmake/Modules/FindXML2.cmake index e9f9fb3ca74..40cc332fb88 100644 --- a/build_files/cmake/Modules/FindXML2.cmake +++ b/build_files/cmake/Modules/FindXML2.cmake @@ -1,88 +1,68 @@ -# - Try to find XML2 -# Once done this will define -# -# XML2_FOUND - system has XML2 -# XML2_INCLUDE_DIRS - the XML2 include directory -# XML2_LIBRARIES - Link these to use XML2 -# XML2_DEFINITIONS - Compiler switches required for using XML2 -# -# Copyright (c) 2008 Andreas Schneider -# -# Redistribution and use is allowed according to the terms of the New -# BSD license. +# - Find XML2 library +# Find the native XML2 includes and library +# This module defines +# XML2_INCLUDE_DIRS, where to find xml2.h, Set when +# XML2_INCLUDE_DIR is found. +# XML2_LIBRARIES, libraries to link against to use XML2. +# XML2_ROOT_DIR, The base directory to search for XML2. +# This can also be an environment variable. +# XML2_FOUND, If false, do not try to use XML2. # +# also defined, but not for general use are +# XML2_LIBRARY, where to find the XML2 library. +#============================================================================= +# Copyright 2011 Blender Foundation. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= -if (XML2_LIBRARIES AND XML2_INCLUDE_DIRS) - # in cache already - set(XML2_FOUND TRUE) -else (XML2_LIBRARIES AND XML2_INCLUDE_DIRS) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - include(UsePkgConfig) - pkgconfig(libxml-2.0 _XML2_INCLUDEDIR _XML2_LIBDIR _XML2_LDFLAGS _XML2_CFLAGS) - else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_package(PkgConfig) - if (PKG_CONFIG_FOUND) - pkg_check_modules(_XML2 libxml-2.0) - endif (PKG_CONFIG_FOUND) - endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_path(XML2_INCLUDE_DIR - NAMES - libxml/xpath.h - PATHS - ${_XML2_INCLUDEDIR} - /usr/include - /usr/local/include - /opt/local/include - /sw/include - PATH_SUFFIXES - libxml2 +# If XML2_ROOT_DIR was defined in the environment, use it. +IF(NOT XML2_ROOT_DIR AND NOT $ENV{XML2_ROOT_DIR} STREQUAL "") + SET(XML2_ROOT_DIR $ENV{XML2_ROOT_DIR}) +ENDIF() + +SET(_xml2_SEARCH_DIRS + ${XML2_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(XML2_INCLUDE_DIR libxml2/libxml/xpath.h + HINTS + ${_xml2_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(XML2_LIBRARY + NAMES + xml2 + HINTS + ${_xml2_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib ) - find_library(XML2_LIBRARY - NAMES - xml2 - PATHS - ${_XML2_LIBDIR} - /usr/lib - /usr/local/lib - /opt/local/lib - /sw/lib - ) +# handle the QUIETLY and REQUIRED arguments and set XML2_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(XML2 DEFAULT_MSG + XML2_LIBRARY XML2_INCLUDE_DIR) - if (XML2_LIBRARY) - set(XML2_FOUND TRUE) - endif (XML2_LIBRARY) - - set(XML2_INCLUDE_DIRS - ${XML2_INCLUDE_DIR} - ) - - if (XML2_FOUND) - set(XML2_LIBRARIES - ${XML2_LIBRARIES} - ${XML2_LIBRARY} - ) - endif (XML2_FOUND) - - if (XML2_INCLUDE_DIRS AND XML2_LIBRARIES) - set(XML2_FOUND TRUE) - endif (XML2_INCLUDE_DIRS AND XML2_LIBRARIES) - - if (XML2_FOUND) - if (NOT XML2_FIND_QUIETLY) - message(STATUS "Found XML2: ${XML2_LIBRARIES}") - endif (NOT XML2_FIND_QUIETLY) - else (XML2_FOUND) - if (XML2_FIND_REQUIRED) - message(FATAL_ERROR "Could not find XML2") - endif (XML2_FIND_REQUIRED) - endif (XML2_FOUND) - - # show the XML2_INCLUDE_DIRS and XML2_LIBRARIES variables only in the advanced view - mark_as_advanced(XML2_INCLUDE_DIRS XML2_LIBRARIES) - -endif (XML2_LIBRARIES AND XML2_INCLUDE_DIRS) +IF(XML2_FOUND) + SET(XML2_LIBRARIES ${XML2_LIBRARY}) + SET(XML2_INCLUDE_DIRS ${XML2_INCLUDE_DIR}) +ENDIF(XML2_FOUND) +MARK_AS_ADVANCED( + XML2_INCLUDE_DIR + XML2_LIBRARY +) diff --git a/extern/recastnavigation/Detour/Include/DetourTileNavMesh.h b/extern/recastnavigation/Detour/Include/DetourTileNavMesh.h index 305c61e5eb5..50ccdd118e8 100644 --- a/extern/recastnavigation/Detour/Include/DetourTileNavMesh.h +++ b/extern/recastnavigation/Detour/Include/DetourTileNavMesh.h @@ -36,7 +36,7 @@ static const int DT_TILE_VERTS_PER_POLYGON = 6; static const int DT_MAX_TILES = 1 << DT_TILE_REF_TILE_BITS; static const int DT_MAX_POLYGONS = 1 << DT_TILE_REF_POLY_BITS; -static const int DT_TILE_NAVMESH_MAGIC = (('N'<<24) | ('A'<<16) | ('V'<<8) | 'M'); +static const int DT_TILE_NAVMESH_MAGIC = (('N'<<24) | ('A'<<16) | ('V'<<8) | 'T'); static const int DT_TILE_NAVMESH_VERSION = 2; // Structure holding the navigation polygon data. diff --git a/extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp b/extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp index dab94eaa775..f1d2113a8c7 100644 --- a/extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp +++ b/extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp @@ -94,7 +94,20 @@ static int circumCircle(const float xp, const float yp, return (drsqr <= rsqr) ? 1 : 0; } - +#ifdef FREE_WINDOWS +static float *_mingw_verts; +static int ptcmp(const void *v1, const void *v2) +{ + const float* p1 = &_mingw_verts[(*(const int*)v1)*3]; + const float* p2 = &_mingw_verts[(*(const int*)v2)*3]; + if (p1[0] < p2[0]) + return -1; + else if (p1[0] > p2[0]) + return 1; + else + return 0; +} +#else #if defined(_MSC_VER) static int ptcmp(void* up, const void *v1, const void *v2) #elif defined(__APPLE__) || defined(__FreeBSD__) @@ -113,6 +126,7 @@ static int ptcmp(const void *v1, const void *v2, void* up) else return 0; } +#endif // Based on Paul Bourke's triangulate.c // http://astronomy.swin.edu.au/~pbourke/terrain/triangulate/triangulate.c @@ -126,6 +140,9 @@ static void delaunay(const int nv, float *verts, rcIntArray& idx, rcIntArray& tr qsort_s(&idx[0], idx.size(), sizeof(int), ptcmp, verts); #elif defined(__APPLE__) || defined(__FreeBSD__) qsort_r(&idx[0], idx.size(), sizeof(int), verts, ptcmp); +#elif defined(FREE_WINDOWS) + _mingw_verts = verts; + qsort(&idx[0], idx.size(), sizeof(int), ptcmp); #else qsort_r(&idx[0], idx.size(), sizeof(int), ptcmp, verts); #endif diff --git a/source/blender/blenkernel/BKE_curve.h b/source/blender/blenkernel/BKE_curve.h index 557ce417b14..02fc70e41e8 100644 --- a/source/blender/blenkernel/BKE_curve.h +++ b/source/blender/blenkernel/BKE_curve.h @@ -34,14 +34,16 @@ * \since March 2001 * \author nzc */ + +struct BevList; +struct BezTriple; struct Curve; +struct EditNurb; struct ListBase; +struct ListBase; +struct Nurb; struct Object; struct Scene; -struct Nurb; -struct ListBase; -struct BezTriple; -struct BevList; #define KNOTSU(nu) ( (nu)->orderu+ (nu)->pntsu+ (((nu)->flagu & CU_NURB_CYCLIC) ? ((nu)->orderu-1) : 0) ) #define KNOTSV(nu) ( (nu)->orderv+ (nu)->pntsv+ (((nu)->flagv & CU_NURB_CYCLIC) ? ((nu)->orderv-1) : 0) ) @@ -55,11 +57,14 @@ struct BevList; void unlink_curve( struct Curve *cu); +void free_curve_editNurb_keyIndex(struct EditNurb *editnurb); +void free_curve_editNurb(struct Curve *cu); void free_curve( struct Curve *cu); void BKE_free_editfont(struct Curve *cu); struct Curve *add_curve(const char *name, int type); struct Curve *copy_curve( struct Curve *cu); void make_local_curve( struct Curve *cu); +struct ListBase *curve_editnurbs(struct Curve *cu); short curve_type( struct Curve *cu); void test_curve_type( struct Object *ob); void tex_space_curve( struct Curve *cu); diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index a6b5c04b5c3..7f2a133d27a 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -128,6 +128,7 @@ void *object_tfm_backup(struct Object *ob); void object_tfm_restore(struct Object *ob, void *obtfm_pt); void object_handle_update(struct Scene *scene, struct Object *ob); +void object_sculpt_modifiers_changed(struct Object *ob); float give_timeoffset(struct Object *ob); int give_obdata_texspace(struct Object *ob, short **texflag, float **loc, float **size, float **rot); diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h index cee97e7631f..99f9944bc08 100644 --- a/source/blender/blenkernel/BKE_paint.h +++ b/source/blender/blenkernel/BKE_paint.h @@ -98,5 +98,6 @@ typedef struct SculptSession { } SculptSession; void free_sculptsession(struct Object *ob); +void free_sculptsession_deformMats(struct SculptSession *ss); #endif diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 52709b75ca0..9cf0a92742f 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -35,7 +35,6 @@ set(INC ../blenfont ../blenlib ../blenloader - ../editors/include ../gpu ../ikplugin ../imbuf diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript index 632188b2d86..56de8afc0da 100644 --- a/source/blender/blenkernel/SConscript +++ b/source/blender/blenkernel/SConscript @@ -4,7 +4,7 @@ import os sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp') -incs = '. #/intern/guardedalloc #/intern/memutil ../editors/include' +incs = '. #/intern/guardedalloc #/intern/memutil' incs += ' ../blenlib ../blenfont ../makesdna ../windowmanager' incs += ' ../render/extern/include #/intern/decimation/extern ../makesrna' incs += ' ../imbuf ../ikplugin ../avi #/intern/elbeem/extern ../nodes ../modifiers' diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index bf77f8bc9c0..63ce62503ad 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -63,18 +63,16 @@ #include "BKE_texture.h" #include "BKE_multires.h" - #include "BLO_sys_types.h" // for intptr_t support -#include "BIF_gl.h" -#include "BIF_glutil.h" +#include "GL/glew.h" #include "GPU_buffers.h" #include "GPU_draw.h" #include "GPU_extensions.h" #include "GPU_material.h" -#include "ED_sculpt.h" /* for ED_sculpt_modifiers_changed */ +extern GLubyte stipple_quarttone[128]; /* glutil.c, bad level data */ // Jason was here, this is for multi-paint #include "ED_armature.h" @@ -2401,7 +2399,7 @@ static void clear_mesh_caches(Object *ob) } if(ob->sculpt) { - ED_sculpt_modifiers_changed(ob); + object_sculpt_modifiers_changed(ob); } } diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 0cff6d75b6a..d810de9d182 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -36,10 +36,7 @@ * \ingroup bke */ - -/* TODO maybe BIF_gl.h should include string.h? */ -#include -#include "BIF_gl.h" +#include "GL/glew.h" #include "BLI_blenlib.h" #include "BLI_edgehash.h" diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 254629befd5..bd70e365f51 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -41,9 +41,10 @@ #include "MEM_guardedalloc.h" -#include "BLI_blenlib.h" -#include "BLI_math.h" +#include "BLI_blenlib.h" +#include "BLI_math.h" #include "BLI_utildefines.h" +#include "BLI_ghash.h" #include "DNA_curve_types.h" #include "DNA_material_types.h" @@ -66,9 +67,6 @@ #include "BKE_object.h" #include "BKE_material.h" - -#include "ED_curve.h" - /* globals */ /* local */ @@ -118,6 +116,25 @@ void BKE_free_editfont(Curve *cu) } } +void free_curve_editNurb_keyIndex(EditNurb *editnurb) +{ + if (!editnurb->keyindex) { + return; + } + BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)MEM_freeN); + editnurb->keyindex= NULL; +} + +void free_curve_editNurb (Curve *cu) +{ + if(cu->editnurb) { + freeNurblist(&cu->editnurb->nurbs); + free_curve_editNurb_keyIndex(cu->editnurb); + MEM_freeN(cu->editnurb); + cu->editnurb= NULL; + } +} + /* don't free curve itself */ void free_curve(Curve *cu) { @@ -281,6 +298,16 @@ void make_local_curve(Curve *cu) } } +/* Get list of nurbs from editnurbs structure */ +ListBase *curve_editnurbs(Curve *cu) +{ + if (cu->editnurb) { + return &cu->editnurb->nurbs; + } + + return NULL; +} + short curve_type(Curve *cu) { Nurb *nu; @@ -358,7 +385,6 @@ void tex_space_curve(Curve *cu) } } - int count_curveverts(ListBase *nurb) { Nurb *nu; @@ -2049,7 +2075,7 @@ void makeBevelList(Object *ob) BLI_freelistN(&(cu->bev)); if(cu->editnurb && ob->type!=OB_FONT) { - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); nu= nurbs->first; } else nu= cu->nurb.first; @@ -3157,7 +3183,7 @@ int clamp_nurb_order_v( struct Nurb *nu) ListBase *BKE_curve_nurbs(Curve *cu) { if (cu->editnurb) { - return ED_curve_editnurbs(cu); + return curve_editnurbs(cu); } return &cu->nurb; diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index c2ed6468643..b19ea93a1b8 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -67,8 +67,6 @@ #include "BLO_sys_types.h" // for intptr_t support -#include "ED_curve.h" /* for BKE_curve_nurbs */ - extern Material defmaterial; /* material.c */ static void boundbox_displist(Object *ob); @@ -1102,7 +1100,7 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase, float (*deformedVerts)[3]; if(!forRender && cu->editnurb) - nubase= ED_curve_editnurbs(cu); + nubase= curve_editnurbs(cu); else nubase= &cu->nurb; diff --git a/source/blender/blenkernel/intern/mesh_validate.c b/source/blender/blenkernel/intern/mesh_validate.c index 70398594872..4d735f1d54b 100644 --- a/source/blender/blenkernel/intern/mesh_validate.c +++ b/source/blender/blenkernel/intern/mesh_validate.c @@ -143,7 +143,7 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve BLI_assert(!(do_fixes && me == NULL)); - PRINT("ED_mesh_validate: verts(%u), edges(%u), faces(%u)\n", totvert, totedge, totface); + PRINT("%s: verts(%u), edges(%u), faces(%u)\n", __func__, totvert, totedge, totface); if(totedge == 0 && totface != 0) { PRINT(" locical error, %u faces and 0 edges\n", totface); diff --git a/source/blender/blenkernel/intern/navmesh_conversion.cpp b/source/blender/blenkernel/intern/navmesh_conversion.cpp index cc3b926db75..9b373db59ff 100644 --- a/source/blender/blenkernel/intern/navmesh_conversion.cpp +++ b/source/blender/blenkernel/intern/navmesh_conversion.cpp @@ -289,6 +289,15 @@ struct SortContext const int* recastData; const int* trisToFacesMap; }; + +#ifdef FREE_WINDOWS +static SortContext *_mingw_context; +static int compareByData(const void * a, const void * b) +{ + return ( _mingw_context->recastData[_mingw_context->trisToFacesMap[*(int*)a]] - + _mingw_context->recastData[_mingw_context->trisToFacesMap[*(int*)b]] ); +} +#else #if defined(_MSC_VER) static int compareByData(void* data, const void * a, const void * b) #elif defined(__APPLE__) || defined(__FreeBSD__) @@ -301,6 +310,7 @@ static int compareByData(const void * a, const void * b, void* data) return ( context->recastData[context->trisToFacesMap[*(int*)a]] - context->recastData[context->trisToFacesMap[*(int*)b]] ); } +#endif bool buildNavMeshData(const int nverts, const float* verts, const int ntris, const unsigned short *tris, @@ -327,6 +337,9 @@ bool buildNavMeshData(const int nverts, const float* verts, qsort_s(trisMapping, ntris, sizeof(int), compareByData, &context); #elif defined(__APPLE__) || defined(__FreeBSD__) qsort_r(trisMapping, ntris, sizeof(int), &context, compareByData); +#elif defined(FREE_WINDOWS) + _mingw_context = &context; + qsort(trisMapping, ntris, sizeof(int), compareByData); #else qsort_r(trisMapping, ntris, sizeof(int), compareByData, &context); #endif diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 898cec7fa55..1c326efe3ec 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -235,6 +235,17 @@ void object_free_display(Object *ob) freedisplist(&ob->disp); } +void free_sculptsession_deformMats(SculptSession *ss) +{ + if(ss->orig_cos) MEM_freeN(ss->orig_cos); + if(ss->deform_cos) MEM_freeN(ss->deform_cos); + if(ss->deform_imats) MEM_freeN(ss->deform_imats); + + ss->orig_cos = NULL; + ss->deform_cos = NULL; + ss->deform_imats = NULL; +} + void free_sculptsession(Object *ob) { if(ob && ob->sculpt) { @@ -265,6 +276,7 @@ void free_sculptsession(Object *ob) } } + /* do not free object itself */ void free_object(Object *ob) { @@ -2759,6 +2771,33 @@ void object_handle_update(Scene *scene, Object *ob) } } +void object_sculpt_modifiers_changed(Object *ob) +{ + SculptSession *ss= ob->sculpt; + + if(!ss->cache) { + /* we free pbvh on changes, except during sculpt since it can't deal with + changing PVBH node organization, we hope topology does not change in + the meantime .. weak */ + if(ss->pbvh) { + BLI_pbvh_free(ss->pbvh); + ss->pbvh= NULL; + } + + free_sculptsession_deformMats(ob->sculpt); + } else { + PBVHNode **nodes; + int n, totnode; + + BLI_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode); + + for(n = 0; n < totnode; n++) + BLI_pbvh_node_mark_update(nodes[n]); + + MEM_freeN(nodes); + } +} + float give_timeoffset(Object *ob) { if ((ob->ipoflag & OB_OFFS_PARENTADD) && ob->parent) { return ob->sf + give_timeoffset(ob->parent); diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 186a5ea1852..2ff555b5b22 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -61,9 +61,7 @@ #include "BKE_scene.h" #include "BKE_subsurf.h" - -#include "BIF_gl.h" -#include "BIF_glutil.h" +#include "GL/glew.h" #include "GPU_draw.h" #include "GPU_extensions.h" @@ -71,6 +69,8 @@ #include "CCGSubSurf.h" +extern GLubyte stipple_quarttone[128]; /* glutil.c, bad level data */ + static int ccgDM_getVertMapIndex(CCGSubSurf *ss, CCGVert *v); static int ccgDM_getEdgeMapIndex(CCGSubSurf *ss, CCGEdge *e); static int ccgDM_getFaceMapIndex(CCGSubSurf *ss, CCGFace *f); diff --git a/source/blender/editors/curve/curve_ops.c b/source/blender/editors/curve/curve_ops.c index 1c9ad8fe247..adf4f0fac2e 100644 --- a/source/blender/editors/curve/curve_ops.c +++ b/source/blender/editors/curve/curve_ops.c @@ -46,14 +46,12 @@ #include "WM_api.h" #include "WM_types.h" -#include "ED_curve.h" #include "ED_object.h" #include "ED_screen.h" #include "ED_transform.h" #include "curve_intern.h" - /************************* registration ****************************/ void ED_operatortypes_curve(void) diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 210f36ca074..b35085ff64d 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -117,7 +117,7 @@ static float nurbcircle[8][2]= { {0.0, 1.0}, { 1.0, 1.0}, { 1.0, 0.0}, { 1.0, -1.0} }; -ListBase *curve_get_editcurve(Object *ob) +ListBase *object_editcurve_get(Object *ob) { if(ob && ELEM(ob->type, OB_CURVE, OB_SURF)) { Curve *cu= ob->data; @@ -134,7 +134,7 @@ static void set_actNurb(Object *obedit, Nurb *nu) if(nu==NULL) cu->actnu = -1; else { - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); cu->actnu = BLI_findindex(nurbs, nu); } } @@ -142,7 +142,7 @@ static void set_actNurb(Object *obedit, Nurb *nu) static Nurb *get_actNurb(Object *obedit) { Curve *cu= obedit->data; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); return BLI_findlink(nurbs, cu->actnu); } @@ -268,7 +268,7 @@ static int isNurbsel_count(Curve *cu, Nurb *nu) void printknots(Object *obedit) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; int a, num; @@ -302,11 +302,6 @@ static CVKeyIndex *init_cvKeyIndex(void *cv, int key_index, int nu_index, int pt return cvIndex; } -static void free_cvKeyIndex(CVKeyIndex *pointIndex) -{ - MEM_freeN(pointIndex); -} - static void init_editNurb_keyIndex(EditNurb *editnurb, ListBase *origBase) { Nurb *nu= editnurb->nurbs.first; @@ -358,15 +353,6 @@ static void init_editNurb_keyIndex(EditNurb *editnurb, ListBase *origBase) editnurb->keyindex= gh; } -static void free_editNurb_keyIndex(EditNurb *editnurb) -{ - if (!editnurb->keyindex) { - return; - } - BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)free_cvKeyIndex); - editnurb->keyindex= NULL; -} - static CVKeyIndex *getCVKeyIndex(EditNurb *editnurb, void *cv) { return BLI_ghash_lookup(editnurb->keyindex, cv); @@ -411,7 +397,7 @@ static void keyIndex_delCV(EditNurb *editnurb, void *cv) return; } - BLI_ghash_remove(editnurb->keyindex, cv, NULL, (GHashValFreeFP)free_cvKeyIndex); + BLI_ghash_remove(editnurb->keyindex, cv, NULL, (GHashValFreeFP)MEM_freeN); } static void keyIndex_delBezt(EditNurb *editnurb, BezTriple *bezt) @@ -437,7 +423,7 @@ static void keyIndex_delNurb(EditNurb *editnurb, Nurb *nu) a= nu->pntsu; while (a--) { - BLI_ghash_remove(editnurb->keyindex, bezt, NULL, (GHashValFreeFP)free_cvKeyIndex); + BLI_ghash_remove(editnurb->keyindex, bezt, NULL, (GHashValFreeFP)MEM_freeN); ++bezt; } } else { @@ -445,7 +431,7 @@ static void keyIndex_delNurb(EditNurb *editnurb, Nurb *nu) a= nu->pntsu * nu->pntsv; while (a--) { - BLI_ghash_remove(editnurb->keyindex, bp, NULL, (GHashValFreeFP)free_cvKeyIndex); + BLI_ghash_remove(editnurb->keyindex, bp, NULL, (GHashValFreeFP)MEM_freeN); ++bp; } } @@ -1198,7 +1184,7 @@ int ED_curve_updateAnimPaths(Object *obedit) /* load editNurb in object */ void load_editNurb(Object *obedit) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); if(obedit==NULL) return; @@ -1251,7 +1237,7 @@ void make_editNurb(Object *obedit) if(editnurb) { freeNurblist(&editnurb->nurbs); - free_editNurb_keyIndex(editnurb); + free_curve_editNurb_keyIndex(editnurb); editnurb->keyindex= NULL; } else { editnurb= MEM_callocN(sizeof(EditNurb), "editnurb"); @@ -1283,16 +1269,6 @@ void make_editNurb(Object *obedit) } } -void free_curve_editNurb (Curve *cu) -{ - if(cu->editnurb) { - freeNurblist(&cu->editnurb->nurbs); - free_editNurb_keyIndex(cu->editnurb); - MEM_freeN(cu->editnurb); - cu->editnurb= NULL; - } -} - void free_editNurb(Object *obedit) { Curve *cu= obedit->data; @@ -1302,7 +1278,7 @@ void free_editNurb(Object *obedit) void CU_deselect_all(Object *obedit) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); if (editnurb) { selectend_nurb(obedit, FIRST, 0, DESELECT); /* set first control points as unselected */ @@ -1312,7 +1288,7 @@ void CU_deselect_all(Object *obedit) void CU_select_all(Object *obedit) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); if (editnurb) { selectend_nurb(obedit, FIRST, 0, SELECT); /* set first control points as unselected */ @@ -1322,7 +1298,7 @@ void CU_select_all(Object *obedit) void CU_select_swap(Object *obedit) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); if (editnurb) { Curve *cu= obedit->data; @@ -1397,7 +1373,7 @@ static int separate_exec(bContext *C, wmOperator *op) make_editNurb(newob); newedit= newcu->editnurb; freeNurblist(&newedit->nurbs); - free_editNurb_keyIndex(newedit); + free_curve_editNurb_keyIndex(newedit); /* 3. move over parts from old object */ for(nu= oldedit->nurbs.first; nu; nu=nu1) { @@ -1588,7 +1564,7 @@ static int deleteflagNurb(bContext *C, wmOperator *UNUSED(op), int flag) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu, *next; BPoint *bp, *bpn, *newbp; int a, b, newu, newv, sel; @@ -1835,7 +1811,7 @@ static short extrudeflagNurb(EditNurb *editnurb, int flag) static void adduplicateflagNurb(Object *obedit, short flag) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu, *newnu; BezTriple *bezt, *bezt1; BPoint *bp, *bp1; @@ -2051,7 +2027,7 @@ void CURVE_OT_switch_direction(wmOperatorType *ot) static int set_goal_weight_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BezTriple *bezt; BPoint *bp; @@ -2103,7 +2079,7 @@ void CURVE_OT_spline_weight_set(wmOperatorType *ot) static int set_radius_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BezTriple *bezt; BPoint *bp; @@ -2155,7 +2131,7 @@ void CURVE_OT_radius_set(wmOperatorType *ot) static int smooth_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BezTriple *bezt, *beztOrig; BPoint *bp, *bpOrig; @@ -2228,7 +2204,7 @@ void CURVE_OT_smooth(wmOperatorType *ot) static int smooth_radius_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BezTriple *bezt; BPoint *bp; @@ -2461,7 +2437,7 @@ static void select_adjacent_cp(ListBase *editnurb, short next, short cont, short /* selstatus: selection status in case doswap is false */ void selectend_nurb(Object *obedit, short selfirst, short doswap, short selstatus) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; @@ -2603,7 +2579,7 @@ static short nurb_has_selected_cps(ListBase *editnurb) static int de_select_all_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); int action = RNA_enum_get(op->ptr, "action"); if (action == SEL_TOGGLE) { @@ -2652,7 +2628,7 @@ static int hide_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; @@ -2725,7 +2701,7 @@ void CURVE_OT_hide(wmOperatorType *ot) static int reveal_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; @@ -2783,7 +2759,7 @@ static int select_inverse_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; @@ -3542,7 +3518,7 @@ void ED_nurb_set_spline_type(Nurb *nu, int type) static int set_spline_type_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; int changed=0, type= RNA_enum_get(op->ptr, "type"); @@ -3606,7 +3582,7 @@ void CURVE_OT_spline_type_set(wmOperatorType *ot) static int set_handle_type_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); sethandlesNurb(editnurb, RNA_enum_get(op->ptr, "type")); @@ -3928,7 +3904,7 @@ static void merge_2_nurb(wmOperator *op, ListBase *editnurb, Nurb *nu1, Nurb *nu static int merge_nurb(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); NurbSort *nus1, *nus2; int ok= 1; @@ -3984,7 +3960,7 @@ static int make_segment_exec(bContext *C, wmOperator *op) /* joins 2 curves */ Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *nubase= curve_get_editcurve(obedit); + ListBase *nubase= object_editcurve_get(obedit); Nurb *nu, *nu1=NULL, *nu2=NULL; BPoint *bp; float *fp, offset; @@ -4180,7 +4156,7 @@ int mouse_nurb(bContext *C, const int mval[2], int extend) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); ViewContext vc; Nurb *nu; BezTriple *bezt=NULL; @@ -4264,7 +4240,7 @@ int mouse_nurb(bContext *C, const int mval[2], int extend) static int spin_nurb(float viewmat[][4], Object *obedit, float *axis, float *cent) { Curve *cu= (Curve*)obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; float si,phi,n[3],q[4],cmat[3][3],tmat[3][3],imat[3][3]; float bmat[3][3], rotmat[3][3], scalemat1[3][3], scalemat2[3][3]; @@ -4786,7 +4762,7 @@ static int toggle_cyclic_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BezTriple *bezt; BPoint *bp; @@ -4863,7 +4839,7 @@ static int toggle_cyclic_exec(bContext *C, wmOperator *op) static int toggle_cyclic_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); uiPopupMenu *pup; uiLayout *layout; Nurb *nu; @@ -5050,7 +5026,7 @@ static int select_row_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); static BPoint *last= NULL; static int direction=0; Nurb *nu; @@ -5124,7 +5100,7 @@ void CURVE_OT_select_row(wmOperatorType *ot) static int select_next_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); select_adjacent_cp(editnurb, 1, 0, SELECT); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); @@ -5151,7 +5127,7 @@ void CURVE_OT_select_next(wmOperatorType *ot) static int select_previous_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); select_adjacent_cp(editnurb, -1, 0, SELECT); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); @@ -5178,7 +5154,7 @@ void CURVE_OT_select_previous(wmOperatorType *ot) static int select_more_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp, *tempbp; int a; @@ -5266,7 +5242,7 @@ void CURVE_OT_select_more(wmOperatorType *ot) static int select_less_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; @@ -5458,7 +5434,7 @@ static void selectrandom_curve(ListBase *editnurb, float randfac) static int select_random_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); if(!RNA_boolean_get(op->ptr, "extend")) CU_deselect_all(obedit); @@ -5550,7 +5526,7 @@ static void select_nth_bp(Nurb *nu, BPoint *bp, int nth) int CU_select_nth(Object *obedit, int nth) { Curve *cu= (Curve*)obedit->data; - ListBase *nubase= ED_curve_editnurbs(cu); + ListBase *nubase= curve_editnurbs(cu); Nurb *nu; int ok=0; @@ -6024,7 +6000,7 @@ void CURVE_OT_delete(wmOperatorType *ot) static int shade_smooth_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; int clear= (strcmp(op->idname, "CURVE_OT_shade_flat") == 0); @@ -6196,7 +6172,7 @@ Nurb *add_nurbs_primitive(bContext *C, float mat[4][4], int type, int newob) { static int xzproj= 0; /* this function calls itself... */ Object *obedit= CTX_data_edit_object(C); - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); View3D *v3d= CTX_wm_view3d(C); RegionView3D *rv3d= ED_view3d_context_rv3d(C); Nurb *nu = NULL; @@ -6612,7 +6588,7 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) ED_object_new_primitive_matrix(C, obedit, loc, rot, mat); nu= add_nurbs_primitive(C, mat, type, newob); - editnurb= curve_get_editcurve(obedit); + editnurb= object_editcurve_get(obedit); BLI_addtail(editnurb, nu); /* userdef */ @@ -6895,7 +6871,7 @@ static int clear_tilt_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit= CTX_data_edit_object(C); Curve *cu= obedit->data; - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BezTriple *bezt; BPoint *bp; @@ -6965,7 +6941,7 @@ static void undoCurve_to_editCurve(void *ucu, void *obe) Curve *cu= (Curve*)obedit->data; UndoCurve *undoCurve= ucu; ListBase *undobase= &undoCurve->nubase; - ListBase *editbase= ED_curve_editnurbs(cu); + ListBase *editbase= curve_editnurbs(cu); Nurb *nu, *newnu; EditNurb *editnurb= cu->editnurb; void *lastsel= NULL; @@ -6974,7 +6950,7 @@ static void undoCurve_to_editCurve(void *ucu, void *obe) freeNurblist(editbase); if (undoCurve->undoIndex) { - BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)free_cvKeyIndex); + BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)MEM_freeN); editnurb->keyindex= dupli_keyIndexHash(undoCurve->undoIndex); } @@ -7013,7 +6989,7 @@ static void *editCurve_to_undoCurve(void *obe) { Object *obedit= obe; Curve *cu= (Curve*)obedit->data; - ListBase *nubase= ED_curve_editnurbs(cu); + ListBase *nubase= curve_editnurbs(cu); UndoCurve *undoCurve; EditNurb *editnurb= cu->editnurb, tmpEditnurb; Nurb *nu, *newnu; @@ -7062,7 +7038,7 @@ static void free_undoCurve(void *ucv) freeNurblist(&undoCurve->nubase); if(undoCurve->undoIndex) - BLI_ghash_free(undoCurve->undoIndex, NULL, (GHashValFreeFP)free_cvKeyIndex); + BLI_ghash_free(undoCurve->undoIndex, NULL, (GHashValFreeFP)MEM_freeN); free_fcurves(&undoCurve->fcurves); free_fcurves(&undoCurve->drivers); @@ -7082,15 +7058,6 @@ void undo_push_curve(bContext *C, const char *name) undo_editmode_push(C, name, get_data, free_undoCurve, undoCurve_to_editCurve, editCurve_to_undoCurve, NULL); } -/* Get list of nurbs from editnurbs structure */ -ListBase *ED_curve_editnurbs(Curve *cu) -{ - if (cu->editnurb) { - return &cu->editnurb->nurbs; - } - - return NULL; -} void ED_curve_beztcpy(EditNurb *editnurb, BezTriple *dst, BezTriple *src, int count) { memcpy(dst, src, count*sizeof(BezTriple)); diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h index d78d2846572..b4782a5919b 100644 --- a/source/blender/editors/include/ED_curve.h +++ b/source/blender/editors/include/ED_curve.h @@ -58,7 +58,7 @@ void CU_select_swap(struct Object *obedit); void undo_push_curve (struct bContext *C, const char *name); -ListBase *curve_get_editcurve(struct Object *ob); +ListBase *object_editcurve_get(struct Object *ob); void load_editNurb (struct Object *obedit); void make_editNurb (struct Object *obedit); diff --git a/source/blender/editors/include/ED_sculpt.h b/source/blender/editors/include/ED_sculpt.h index 33d2dfcf4c5..85a8d8945bb 100644 --- a/source/blender/editors/include/ED_sculpt.h +++ b/source/blender/editors/include/ED_sculpt.h @@ -44,7 +44,6 @@ void ED_operatortypes_sculpt(void); void sculpt_get_redraw_planes(float planes[4][4], struct ARegion *ar, struct RegionView3D *rv3d, struct Object *ob); void ED_sculpt_force_update(struct bContext *C); -void ED_sculpt_modifiers_changed(struct Object *ob); /* paint_ops.c */ void ED_operatortypes_paint(void); diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index fa529374bf7..0292977f816 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -400,7 +400,7 @@ static Object *effector_add_type(bContext *C, wmOperator *op, int type) ((Curve*)ob->data)->flag |= CU_PATH|CU_3D; ED_object_enter_editmode(C, 0); ED_object_new_primitive_matrix(C, ob, loc, rot, mat); - BLI_addtail(curve_get_editcurve(ob), add_nurbs_primitive(C, mat, CU_NURBS|CU_PRIM_PATH, 1)); + BLI_addtail(object_editcurve_get(ob), add_nurbs_primitive(C, mat, CU_NURBS|CU_PRIM_PATH, 1)); if(!enter_editmode) ED_object_exit_editmode(C, EM_FREEDATA); diff --git a/source/blender/editors/object/object_hook.c b/source/blender/editors/object/object_hook.c index bb32869469a..fd4581af194 100644 --- a/source/blender/editors/object/object_hook.c +++ b/source/blender/editors/object/object_hook.c @@ -217,7 +217,7 @@ static void select_editlattice_hook(Object *obedit, HookModifierData *hmd) static int return_editcurve_indexar(Object *obedit, int *tot, int **indexar, float *cent) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; @@ -329,7 +329,7 @@ static int object_hook_index_array(Object *obedit, int *tot, int **indexar, char static void select_editcurve_hook(Object *obedit, HookModifierData *hmd) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); Nurb *nu; BPoint *bp; BezTriple *bezt; diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index e9418ca9f9f..4d7f6fa9e7a 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -140,7 +140,7 @@ static int vertex_parent_set_exec(bContext *C, wmOperator *op) BKE_mesh_end_editmesh(me, em); } else if(ELEM(obedit->type, OB_SURF, OB_CURVE)) { - ListBase *editnurb= curve_get_editcurve(obedit); + ListBase *editnurb= object_editcurve_get(obedit); cu= obedit->data; diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 75c2054091c..6a1eea92563 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -52,6 +52,7 @@ #include "BKE_animsys.h" #include "BKE_context.h" +#include "BKE_curve.h" #include "BKE_depsgraph.h" #include "BKE_font.h" #include "BKE_global.h" @@ -176,7 +177,7 @@ static int material_slot_assign_exec(bContext *C, wmOperator *UNUSED(op)) } else if(ELEM(ob->type, OB_CURVE, OB_SURF)) { Nurb *nu; - ListBase *nurbs= ED_curve_editnurbs((Curve*)ob->data); + ListBase *nurbs= curve_editnurbs((Curve*)ob->data); if(nurbs) { for(nu= nurbs->first; nu; nu= nu->next) @@ -234,7 +235,7 @@ static int material_slot_de_select(bContext *C, int select) } } else if ELEM(ob->type, OB_CURVE, OB_SURF) { - ListBase *nurbs= ED_curve_editnurbs((Curve*)ob->data); + ListBase *nurbs= curve_editnurbs((Curve*)ob->data); Nurb *nu; BPoint *bp; BezTriple *bezt; diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 669a9c6fdcb..92bc60e8b77 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -102,33 +102,6 @@ void ED_sculpt_force_update(bContext *C) multires_force_update(ob); } -void ED_sculpt_modifiers_changed(Object *ob) -{ - SculptSession *ss= ob->sculpt; - - if(!ss->cache) { - /* we free pbvh on changes, except during sculpt since it can't deal with - changing PVBH node organization, we hope topology does not change in - the meantime .. weak */ - if(ss->pbvh) { - BLI_pbvh_free(ss->pbvh); - ss->pbvh= NULL; - } - - sculpt_free_deformMats(ob->sculpt); - } else { - PBVHNode **nodes; - int n, totnode; - - BLI_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode); - - for(n = 0; n < totnode; n++) - BLI_pbvh_node_mark_update(nodes[n]); - - MEM_freeN(nodes); - } -} - /* Sculpt mode handles multires differently from regular meshes, but only if it's the last modifier on the stack and it is not on the first level */ struct MultiresModifierData *sculpt_multires_active(Scene *scene, Object *ob) @@ -2694,17 +2667,6 @@ static void sculpt_update_tex(Sculpt *sd, SculptSession *ss) } } -void sculpt_free_deformMats(SculptSession *ss) -{ - if(ss->orig_cos) MEM_freeN(ss->orig_cos); - if(ss->deform_cos) MEM_freeN(ss->deform_cos); - if(ss->deform_imats) MEM_freeN(ss->deform_imats); - - ss->orig_cos = NULL; - ss->deform_cos = NULL; - ss->deform_imats = NULL; -} - void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_fmap) { DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH); @@ -2741,7 +2703,7 @@ void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_ if(!ss->orig_cos) { int a; - sculpt_free_deformMats(ss); + free_sculptsession_deformMats(ss); if(ss->kb) ss->orig_cos = key_to_vertcos(ob, ss->kb); else ss->orig_cos = mesh_getVertexCos(ob->data, NULL); @@ -2752,7 +2714,7 @@ void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_ for(a = 0; a < ((Mesh*)ob->data)->totvert; ++a) invert_m3(ss->deform_imats[a]); } - } else sculpt_free_deformMats(ss); + } else free_sculptsession_deformMats(ss); /* if pbvh is deformed, key block is already applied to it */ if (ss->kb && !BLI_pbvh_isDeformed(ss->pbvh)) { diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h index 33970ea0179..c1da29aeb27 100644 --- a/source/blender/editors/sculpt_paint/sculpt_intern.h +++ b/source/blender/editors/sculpt_paint/sculpt_intern.h @@ -67,7 +67,7 @@ int sculpt_poll(struct bContext *C); void sculpt_update_mesh_elements(struct Scene *scene, struct Sculpt *sd, struct Object *ob, int need_fmap); /* Deformed mesh sculpt */ -void sculpt_free_deformMats(struct SculptSession *ss); +void free_sculptsession_deformMats(struct SculptSession *ss); /* Stroke */ struct SculptStroke *sculpt_stroke_new(const int max); diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.c b/source/blender/editors/sculpt_paint/sculpt_undo.c index a13b874e504..13b6fef3004 100644 --- a/source/blender/editors/sculpt_paint/sculpt_undo.c +++ b/source/blender/editors/sculpt_paint/sculpt_undo.c @@ -199,7 +199,7 @@ static void sculpt_undo_restore(bContext *C, ListBase *lb) Mesh *me= ob->data; mesh_calc_normals(me->mvert, me->totvert, me->mface, me->totface, NULL); - sculpt_free_deformMats(ss); + free_sculptsession_deformMats(ss); tag_update|= 1; } diff --git a/source/blender/editors/space_info/info_stats.c b/source/blender/editors/space_info/info_stats.c index 0abfd4b71a1..182e5242a1d 100644 --- a/source/blender/editors/space_info/info_stats.c +++ b/source/blender/editors/space_info/info_stats.c @@ -42,6 +42,7 @@ #include "BLI_utildefines.h" #include "BKE_anim.h" +#include "BKE_curve.h" #include "BKE_displist.h" #include "BKE_DerivedMesh.h" #include "BKE_key.h" @@ -51,7 +52,6 @@ #include "ED_info.h" #include "ED_armature.h" #include "ED_mesh.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ #include "BLI_editVert.h" @@ -193,7 +193,7 @@ static void stats_object_edit(Object *obedit, SceneStats *stats) BezTriple *bezt; BPoint *bp; int a; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); for(nu=nurbs->first; nu; nu=nu->next) { if(nu->type == CU_BEZIER) { diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 81848b2f0d9..9d6b3157427 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -58,6 +58,7 @@ #include "BKE_anim.h" //for the where_on_path function #include "BKE_constraint.h" // for the get_constraint_target function +#include "BKE_curve.h" #include "BKE_DerivedMesh.h" #include "BKE_deform.h" #include "BKE_displist.h" @@ -92,7 +93,7 @@ #include "ED_screen.h" #include "ED_sculpt.h" #include "ED_types.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ +#include "ED_curve.h" /* for curve_editnurbs */ #include "UI_resources.h" @@ -1834,7 +1835,7 @@ void nurbs_foreachScreenVert(ViewContext *vc, void (*func)(void *userData, Nurb short s[2] = {IS_CLIPPED, 0}; Nurb *nu; int i; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); ED_view3d_local_clipping(vc->rv3d, vc->obedit->obmat); /* for local clipping lookups */ @@ -6109,7 +6110,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) cu= ob->data; if(cu->editnurb) { - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); drawnurb(scene, v3d, rv3d, base, nurbs->first, dt); } else if(dt==OB_BOUNDBOX) { diff --git a/source/blender/editors/space_view3d/view3d_buttons.c b/source/blender/editors/space_view3d/view3d_buttons.c index 6e03866153f..50c587194b7 100644 --- a/source/blender/editors/space_view3d/view3d_buttons.c +++ b/source/blender/editors/space_view3d/view3d_buttons.c @@ -210,7 +210,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float BPoint *bp; BezTriple *bezt; int a; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); nu= nurbs->first; while(nu) { @@ -457,7 +457,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float BPoint *bp; BezTriple *bezt; int a; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); nu= nurbs->first; while(nu) { diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c index b4d2fc22143..1ed65f7875f 100644 --- a/source/blender/editors/space_view3d/view3d_snap.c +++ b/source/blender/editors/space_view3d/view3d_snap.c @@ -66,7 +66,7 @@ #include "ED_armature.h" #include "ED_mesh.h" #include "ED_screen.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ +#include "ED_curve.h" /* for curve_editnurbs */ #include "view3d_intern.h" @@ -102,7 +102,7 @@ static void special_transvert_update(Object *obedit) } else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) { Curve *cu= obedit->data; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); Nurb *nu= nurbs->first; while(nu) { @@ -312,7 +312,7 @@ static void make_trans_verts(Object *obedit, float *min, float *max, int mode) else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) { Curve *cu= obedit->data; int totmalloc= 0; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); for(nu= nurbs->first; nu; nu= nu->next) { if(nu->type == CU_BEZIER) diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index b98cd277f80..fc5c80d22c9 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -90,7 +90,6 @@ #include "ED_node.h" #include "ED_types.h" #include "ED_uvedit.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ #include "ED_util.h" /* for crazyspace correction */ #include "UI_view2d.h" @@ -1395,7 +1394,7 @@ static void createTransCurveVerts(bContext *C, TransInfo *t) if(cu->editnurb==NULL) return; /* count total of vertices, check identical as in 2nd loop for making transdata! */ - nurbs= ED_curve_editnurbs(cu); + nurbs= curve_editnurbs(cu); for(nu= nurbs->first; nu; nu= nu->next) { if(nu->type == CU_BEZIER) { for(a=0, bezt= nu->bezt; apntsu; a++, bezt++) { diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 76c81662ce8..b187ca0650c 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -84,7 +84,7 @@ #include "ED_space_api.h" #include "ED_uvedit.h" #include "ED_view3d.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ +#include "ED_curve.h" /* for curve_editnurbs */ //#include "BDR_unwrapper.h" @@ -626,7 +626,7 @@ static void recalcData_view3d(TransInfo *t) if (t->obedit) { if ELEM(t->obedit->type, OB_CURVE, OB_SURF) { Curve *cu= t->obedit->data; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); Nurb *nu= nurbs->first; if(t->state != TRANS_CANCEL) { diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index 491666c4ac9..3b895f5fbd0 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -57,6 +57,7 @@ #include "BKE_action.h" #include "BKE_context.h" +#include "BKE_curve.h" #include "BKE_global.h" #include "BKE_mesh.h" #include "BKE_particle.h" @@ -75,7 +76,6 @@ #include "ED_mesh.h" #include "ED_particle.h" #include "ED_view3d.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ #include "UI_resources.h" @@ -395,7 +395,7 @@ int calc_manipulator_stats(const bContext *C) Nurb *nu; BezTriple *bezt; BPoint *bp; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); nu= nurbs->first; while(nu) { diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c index 847fd951bcc..7556c5ae110 100644 --- a/source/blender/editors/transform/transform_orientations.c +++ b/source/blender/editors/transform/transform_orientations.c @@ -41,6 +41,7 @@ #include "BKE_armature.h" +#include "BKE_curve.h" #include "BKE_context.h" #include "BKE_report.h" @@ -56,8 +57,6 @@ #include "ED_armature.h" #include "ED_mesh.h" -#include "ED_curve.h" /* for ED_curve_editnurbs */ - #include "RNA_define.h" @@ -721,7 +720,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3], Nurb *nu; BezTriple *bezt; int a; - ListBase *nurbs= ED_curve_editnurbs(cu); + ListBase *nurbs= curve_editnurbs(cu); for (nu = nurbs->first; nu; nu = nu->next) { diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index 56ebb71a7ac..5609f05fb93 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -81,6 +81,7 @@ struct SculptSession; struct ShadeInput; struct ShadeResult; struct SpaceImage; +struct SpaceNode; struct Tex; struct TexResult; struct Text; @@ -105,7 +106,6 @@ struct bConstraintOb; struct Context; struct ChannelDriver; - /*new render funcs */ float *RE_RenderLayerGetPass(struct RenderLayer *rl, int passtype) {return (float *) NULL;} float RE_filter_value(int type, float x) {return 0.0f;} @@ -298,8 +298,6 @@ void ED_sequencer_update_view(struct bContext *C, int view){} float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]){return 0.0f;} void ED_space_image_size(struct SpaceImage *sima, int *width, int *height){} -struct ListBase *ED_curve_editnurbs(struct Curve *cu){return NULL;} -void free_curve_editNurb (struct Curve *cu){} void ED_nurb_set_spline_type(struct Nurb *nu, int type){} void EM_selectmode_set(struct EditMesh *em){} diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 93236f93ceb..b48915ce708 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -712,7 +712,11 @@ add_dependencies(blender makesdna) get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS) -set(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} bf_windowmanager bf_render) +set(BLENDER_LINK_LIBS + ${BLENDER_LINK_LIBS} + bf_windowmanager + bf_render +) if(WITH_MOD_FLUID) list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem) @@ -797,8 +801,8 @@ endif() bf_intern_smoke extern_minilzo extern_lzma - extern_recastnavigation ge_logic_ketsji + extern_recastnavigation ge_phys_common ge_logic ge_rasterizer @@ -806,7 +810,6 @@ endif() ge_logic_expressions ge_scenegraph ge_logic_network - bf_python # duplicate for BPY_driver_exec ge_logic_ngnetwork extern_bullet ge_logic_loopbacknetwork @@ -819,8 +822,6 @@ endif() bf_blenfont bf_intern_audaspace bf_intern_mikktspace - extern_recastnavigation - bf_editor_util # --- BAD LEVEL CALL HERE --- XXX, this should be removed before release! ) if(WITH_MOD_CLOTH_ELTOPO)