Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Genrich <daniel.genrich@gmx.net>2007-11-05 01:20:02 +0300
committerDaniel Genrich <daniel.genrich@gmx.net>2007-11-05 01:20:02 +0300
commit7a6b3a63fa0b558ddcc3a6dac526fe5cff616a94 (patch)
treeb49362b6f8ed8fdec0ae13d6ad8f74f4b868e3ba /source/blender/blenloader/intern
parent8c0968a01361af5f68a3ac83f552777eeb28aa49 (diff)
parent1b9d661ecaed5c51bc702e209b0a1dae7365754f (diff)
svn merge -r 12419:12478 https://svn.blender.org/svnroot/bf-blender/trunk/blender -- old cloth files with activated modifier won't work, please deactivate modifier before
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r--source/blender/blenloader/intern/readfile.c19
-rw-r--r--source/blender/blenloader/intern/writefile.c8
2 files changed, 26 insertions, 1 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index fe84ae57096..8ee70d4efd2 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2915,6 +2915,21 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
}
}
}
+ else if (md->type==eModifierType_MeshDeform) {
+ MeshDeformModifierData *mmd = (MeshDeformModifierData*) md;
+
+ mmd->bindweights= newdataadr(fd, mmd->bindweights);
+ mmd->bindcos= newdataadr(fd, mmd->bindcos);
+
+ if(fd->flags & FD_FLAGS_SWITCH_ENDIAN) {
+ int a;
+
+ for(a=0; a<mmd->totcagevert*mmd->totvert; a++)
+ SWITCH_INT(mmd->bindweights[a])
+ for(a=0; a<mmd->totcagevert*3; a++)
+ SWITCH_INT(mmd->bindcos[a])
+ }
+ }
}
}
@@ -6616,7 +6631,9 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
Material *ma;
/* unless the file was created 2.44.3 but not 2.45, update the constraints */
- if (!(main->versionfile==244 && main->subversionfile==3)) {
+ if ( !(main->versionfile==244 && main->subversionfile==3) &&
+ ((main->versionfile<245) || (main->versionfile==245 && main->subversionfile==0)) )
+ {
for (ob = main->object.first; ob; ob= ob->id.next) {
ListBase *list;
list = &ob->constraints;
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index ba4cbd1b950..1887f95e1da 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -822,6 +822,14 @@ static void write_modifiers(WriteData *wd, ListBase *modbase)
*/
}
}
+ else if (md->type==eModifierType_MeshDeform) {
+ MeshDeformModifierData *mmd = (MeshDeformModifierData*) md;
+
+ writedata(wd, DATA, sizeof(float)*mmd->totvert*mmd->totcagevert,
+ mmd->bindweights);
+ writedata(wd, DATA, sizeof(float)*3*mmd->totcagevert,
+ mmd->bindcos);
+ }
}
}