Revision: 43072
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43072
Author:   campbellbarton
Date:     2012-01-02 12:37:58 +0000 (Mon, 02 Jan 2012)
Log Message:
-----------
dont save MFace's from BMesh, this means they stay used but only for tessface 
cache.
also saves on undo memory and disk space.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenloader/intern/writefile.c
    branches/bmesh/blender/source/blender/makesdna/DNA_mesh_types.h

Modified: branches/bmesh/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/bmesh/blender/source/blender/blenloader/intern/writefile.c 
2012-01-02 12:35:06 UTC (rev 43071)
+++ branches/bmesh/blender/source/blender/blenloader/intern/writefile.c 
2012-01-02 12:37:58 UTC (rev 43072)
@@ -1694,6 +1694,18 @@
                if(mesh->id.us>0 || wd->current) {
                        /* write LibData */
                        if (!save_for_old_blender) {
+
+#ifdef USE_BMESH_SAVE_WITHOUT_MFACE
+                               Mesh backup_mesh = {{0}};
+                               /* cache only - dont write */
+                               backup_mesh.mface = mesh->mface;
+                               mesh->mface = NULL;
+                               /* -- */
+                               backup_mesh.totface = mesh->totface;
+                               mesh->totface = 0;
+                               /* -- */
+#endif /* USE_BMESH_SAVE_WITHOUT_MFACE */
+
                                writestruct(wd, ID_ME, "Mesh", 1, mesh);
 
                                /* direct data */
@@ -1704,9 +1716,18 @@
 
                                write_customdata(wd, &mesh->id, mesh->totvert, 
&mesh->vdata, -1, 0);
                                write_customdata(wd, &mesh->id, mesh->totedge, 
&mesh->edata, -1, 0);
+                               /* fdata is really a dummy - written so slots 
align */
                                write_customdata(wd, &mesh->id, mesh->totface, 
&mesh->fdata, -1, 0);
                                write_customdata(wd, &mesh->id, mesh->totloop, 
&mesh->ldata, -1, 0);
                                write_customdata(wd, &mesh->id, mesh->totpoly, 
&mesh->pdata, -1, 0);
+
+#ifdef USE_BMESH_SAVE_WITHOUT_MFACE
+                               /* cache only - dont write */
+                               mesh->mface = backup_mesh.mface;
+                               /* -- */
+                               mesh->totface = backup_mesh.totface;
+#endif /* USE_BMESH_SAVE_WITHOUT_MFACE */
+
                        }
                        else {
 

Modified: branches/bmesh/blender/source/blender/makesdna/DNA_mesh_types.h
===================================================================
--- branches/bmesh/blender/source/blender/makesdna/DNA_mesh_types.h     
2012-01-02 12:35:06 UTC (rev 43071)
+++ branches/bmesh/blender/source/blender/makesdna/DNA_mesh_types.h     
2012-01-02 12:37:58 UTC (rev 43072)
@@ -226,6 +226,7 @@
  * will eventually be removed */
 
 #define USE_BMESH_SAVE_AS_COMPAT
+#define USE_BMESH_SAVE_WITHOUT_MFACE
 
 
 #endif

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to