[Bf-blender-cvs] [d05a85c] fracture_modifier: compile fixes due to merge
Martin Felke
noreply at git.blender.org
Thu Aug 6 18:01:59 CEST 2015
Commit: d05a85cd7f2c4072e1605df1ab74493a2ea55496
Author: Martin Felke
Date: Thu Aug 6 14:23:10 2015 +0200
Branches: fracture_modifier
https://developer.blender.org/rBd05a85cd7f2c4072e1605df1ab74493a2ea55496
compile fixes due to merge
===================================================================
M build_files/cmake/macros.cmake
M source/blender/blenkernel/CMakeLists.txt
M source/blender/blenkernel/intern/fracture.c
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/rigidbody.c
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/versioning_270.c
M source/blender/blenloader/intern/writefile.c
M source/blender/editors/object/object_modifier.c
M source/blender/makesrna/intern/rna_modifier.c
M source/blender/modifiers/intern/MOD_fracture.c
M source/blenderplayer/bad_level_call_stubs/stubs.c
M source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 77c6d81..a155723 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -689,10 +689,10 @@ function(SETUP_BLENDER_SORTED_LIBS)
if(WITH_VORO)
list(APPEND BLENDER_SORTED_LIBS extern_voro)
+ endif()
if(WITH_OPENSUBDIV)
list(APPEND BLENDER_SORTED_LIBS bf_intern_opensubdiv)
-
endif()
foreach(SORTLIB ${BLENDER_SORTED_LIBS})
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 3de59f5..1355b70 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -508,6 +508,8 @@ if(WITH_VORO)
../../../extern/voro++
../../../extern/carve
)
+endif()
+
if(WITH_OPENSUBDIV)
add_definitions(-DWITH_OPENSUBDIV)
list(APPEND INC_SYS
diff --git a/source/blender/blenkernel/intern/fracture.c b/source/blender/blenkernel/intern/fracture.c
index 70f8b4c..9cbf336 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -636,18 +636,18 @@ static void do_prepare_cells(FracMesh *fm, cell *cells, int expected_shards, int
algorithm == MOD_FRACTURE_BISECT_FAST_FILL ||
algorithm == MOD_FRACTURE_BOOLEAN_FRACTAL)
{
- fill_vn_i(deletemap, fm->shard_count, 1);
+ copy_vn_i(deletemap, fm->shard_count, 1);
}
if (fm->last_shard_tree)
{
if (expected_shards <= fm->last_expected_shards)
{
- fill_vn_i(deletemap, fm->shard_count, 1);
+ copy_vn_i(deletemap, fm->shard_count, 1);
}
else
{
- fill_vn_i(skipmap, expected_shards, 1);
+ copy_vn_i(skipmap, expected_shards, 1);
}
for (i = 0; i < expected_shards; i++)
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 4ef0731..19aa5c3 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1054,43 +1054,11 @@ Object *BKE_object_add_only_object(Main *bmain, int type, const char *name)
/* general add: to scene, with layer from area and default name */
/* creates minimum required data, but without vertices etc. */
-Object *BKE_object_add_named(Main *bmain, Scene *scene, int type, char *custname)
+Object *BKE_object_add(Main *bmain, Scene *scene, int type, const char *name)
{
Object *ob;
Base *base;
- char name[MAX_ID_NAME];
- if (custname) {
- BLI_strncpy(name, custname, sizeof(name));
- MEM_freeN(custname);
- }
- else {
- BLI_strncpy(name, get_obdata_defname(type), sizeof(name));
- }
-
- ob = BKE_object_add_only_object(bmain, type, name);
-
- ob->data = BKE_object_obdata_add_from_type(bmain, type);
-
- ob->lay = scene->lay;
-
- base = BKE_scene_base_add(scene, ob);
- BKE_scene_base_deselect_all(scene);
- BKE_scene_base_select(scene, base);
- DAG_id_tag_update_ex(bmain, &ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);
-
- return ob;
-}
-
-/* general add: to scene, with layer from area and default name */
-/* creates minimum required data, but without vertices etc. */
-Object *BKE_object_add(Main *bmain, Scene *scene, int type)
-{
- Object *ob;
- Base *base;
- char name[MAX_ID_NAME];
-
- BLI_strncpy(name, get_obdata_defname(type), sizeof(name));
ob = BKE_object_add_only_object(bmain, type, name);
ob->data = BKE_object_obdata_add_from_type(bmain, type, name);
diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 152c310..1115355 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -1040,7 +1040,7 @@ void BKE_rigidbody_validate_sim_shard_shape(MeshIsland *mi, Object *ob, short re
float hull_margin = 0.0f;
bool can_embed = true;
bool has_volume;
- float min[3], max[3];
+ float min[3], max[3], volume;
/* sanity check */
if (rbo == NULL)
@@ -1149,6 +1149,7 @@ void BKE_rigidbody_validate_sim_shard_shape(MeshIsland *mi, Object *ob, short re
volume = size[0] * size[1] * size[2];
}
break;
+ }
}
/* assign new collision shape if creation was successful */
if (new_shape) {
@@ -1168,7 +1169,6 @@ void BKE_rigidbody_validate_sim_shard_shape(MeshIsland *mi, Object *ob, short re
volume = 0.0f;
break;
#endif
-
/* --------------------- */
/* Create physics sim representation of shard given RigidBody settings
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index b9c6c51..75a735a 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5378,6 +5378,7 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb, Object *ob)
else if (md->type == eModifierType_Fracture) {
FractureModifierData *fmd = (FractureModifierData *)md;
load_fracture_modifier(fd, fmd, ob);
+ }
else if (md->type == eModifierType_CorrectiveSmooth) {
CorrectiveSmoothModifierData *csmd = (CorrectiveSmoothModifierData*)md;
diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c
index bf9bfc9..817c884 100644
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@ -658,6 +658,9 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main)
fmd->cluster_constraint_type = RBC_TYPE_FIXED;
fmd->constraint_target = MOD_FRACTURE_CENTROID;
fmd->use_breaking = true;
+ }
+ }
+ }
if (!MAIN_VERSION_ATLEAST(main, 274, 1)) {
/* particle systems need to be forced to redistribute for jitter mode fix */
@@ -686,7 +689,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main)
Scene *scene;
for (scene = main->scene.first; scene; scene = scene->id.next) {
scene->gm.scehysteresis = 10;
->>>>>>> refs/remotes/origin/master
}
}
}
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 91efa91..9b7dcca 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1502,21 +1502,41 @@ static void write_defgroups(WriteData *wd, ListBase *defbase)
}
/* need a prototype of that here...*/
-static void write_customdata(WriteData *wd, ID *id, int count, CustomData *data, int partial_type, int partial_count);
+static void write_customdata(WriteData *wd, ID *id, int count, CustomData *data, CustomDataLayer* layers, int partial_type, int partial_count);
static void write_shard(WriteData* wd, Shard* s)
{
+ CustomDataLayer *vlayers = NULL, vlayers_buff[CD_TEMP_CHUNK_SIZE];
+ CustomDataLayer *llayers = NULL, llayers_buff[CD_TEMP_CHUNK_SIZE];
+ CustomDataLayer *players = NULL, players_buff[CD_TEMP_CHUNK_SIZE];
+
writestruct(wd, DATA, "Shard", 1, s);
writestruct(wd, DATA, "MVert", s->totvert, s->mvert);
writestruct(wd, DATA, "MPoly", s->totpoly, s->mpoly);
writestruct(wd, DATA, "MLoop", s->totloop, s->mloop);
- write_customdata(wd, NULL, s->totvert, &s->vertData, -1, s->totvert);
- write_customdata(wd, NULL, s->totloop, &s->loopData, -1, s->totloop);
- write_customdata(wd, NULL, s->totpoly, &s->polyData, -1, s->totpoly);
+ CustomData_file_write_prepare(&s->vertData, &vlayers, vlayers_buff, ARRAY_SIZE(vlayers_buff));
+ CustomData_file_write_prepare(&s->loopData, &llayers, llayers_buff, ARRAY_SIZE(llayers_buff));
+ CustomData_file_write_prepare(&s->polyData, &players, players_buff, ARRAY_SIZE(players_buff));
+
+ write_customdata(wd, NULL, s->totvert, &s->vertData, vlayers, -1, s->totvert);
+ write_customdata(wd, NULL, s->totloop, &s->loopData, llayers, -1, s->totloop);
+ write_customdata(wd, NULL, s->totpoly, &s->polyData, players, -1, s->totpoly);
writedata(wd, DATA, sizeof(int)*s->neighbor_count, s->neighbor_ids);
writedata(wd, DATA, sizeof(int), s->cluster_colors);
+
+ if (vlayers && vlayers != vlayers_buff) {
+ MEM_freeN(vlayers);
+ }
+
+ if (llayers && llayers != llayers_buff) {
+ MEM_freeN(llayers);
+ }
+
+ if (players && players != players_buff) {
+ MEM_freeN(players);
+ }
}
static void write_meshIsland(WriteData* wd, MeshIsland* mi)
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 4994967..01278ca 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2667,7 +2667,7 @@ static Object* do_convert_meshisland_to_object(MeshIsland *mi, Scene* scene, Gro
else {
#endif
- ob_new = BKE_object_add_named(G.main, scene, OB_MESH, name);
+ ob_new = BKE_object_add(G.main, scene, OB_MESH, name);
/*set by BKE_object_add ! */
*base = scene->basact;
@@ -2721,7 +2721,7 @@ static Object* do_convert_meshisland_to_object(MeshIsland *mi, Scene* scene, Gro
me = (Mesh*)ob_new->data;
me->edit_btmesh = NULL;
- DM_to_mesh(mi->physics_mesh, me, ob_new, CD_MASK_MESH);
+ DM_to_mesh(mi->physics_mesh, me, ob_new, CD_MASK_MESH, false);
/*set origin to centroid*/
copy_v3_v3(cent, mi->centroid);
@@ -2800,7 +2800,7 @@ static Object* do_convert_constraints(FractureModifierData *fmd, RigidBodyShardC
Object* ob1 = objs[index1];
Object* ob2 = objs[index2];
char *name = BLI_strdupcat(ob->id.name + 2, "_con");
- Object* rbcon = BKE_object_add_named(G.main, scene, OB_EMPTY, name);
+ Object* rbcon = BKE_object_add(G.main, scene, OB_EMPTY, name);
int iterations;
*base = scene->basact;
@@ -3037,7 +3037,7 @@ static Object* do_convert_meshIsland(FractureModifierData* fmd, MeshIsland *mi,
return NULL;
}
- ob_new = BKE_object_add_named(G.main, scene, OB_MESH, name);
+ ob_new = BKE_object_add(G.main, scene, OB_MESH, name);
*base = scene->basact;
//MEM_freeN((void*)name);
@@ -3057,7 +3057,7 @@ static Object* do_convert_meshIsland(FractureModifierData* fmd, MeshIsland *mi,
me = (Mesh*)ob_new->data;
me->edit_btmesh = NULL;
- DM_to_mesh(mi->physics_mesh, me, ob_new, CD_MASK_MESH);
+ DM_to_mesh(mi->physics_mesh, me, ob_new, CD_MASK_MESH, false);
ED_rigidbody_object_add(scene, ob_new, RBO_TYPE_ACTIVE, NULL);
ob_new->rigidbody_object->flag |= RBO_FLAG_KINEMATIC;
@@ -3184,7 +3184,7 @@ static bool convert_modifier_to_keyframes(
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list