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:
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r--source/blender/blenloader/intern/readfile.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index bdd9ba65ac5..8a14e9416df 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3731,6 +3731,36 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh)
direct_link_customdata(fd, &mesh->edata, mesh->totedge);
direct_link_customdata(fd, &mesh->fdata, mesh->totface);
+
+#ifdef USE_BMESH_FORWARD_COMPAT
+ /* NEVER ENABLE THIS CODE INTO BMESH!
+ * THIS IS FOR LOADING BMESH INTO OLDER FILES ONLY */
+ mesh->mpoly= newdataadr(fd, mesh->mpoly);
+ mesh->mloop= newdataadr(fd, mesh->mloop);
+
+ direct_link_customdata(fd, &mesh->pdata, mesh->totpoly);
+ direct_link_customdata(fd, &mesh->ldata, mesh->totloop);
+
+ if (mesh->mpoly) {
+ /* be clever and load polygons as mfaces */
+
+ mesh->totface= mesh_mpoly_to_mface(&mesh->fdata, &mesh->ldata, &mesh->pdata,
+ mesh->totface, mesh->totloop, mesh->totpoly);
+
+ CustomData_free(&mesh->pdata, mesh->totpoly);
+ memset(&mesh->pdata, 0, sizeof(CustomData));
+ mesh->totpoly = 0;
+
+ CustomData_free(&mesh->ldata, mesh->totloop);
+ memset(&mesh->ldata, 0, sizeof(CustomData));
+ mesh->totloop = 0;
+
+ mesh_update_customdata_pointers(mesh);
+ }
+
+#endif
+
+
mesh->bb= NULL;
mesh->mselect = NULL;
mesh->edit_mesh= NULL;