[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57838] branches/soc-2013-bge/source/ blender/blenkernel/intern/object.c: Duplicate objects no longer share level of detail settings.

Daniel Stokes kupomail at gmail.com
Fri Jun 28 00:01:25 CEST 2013


Revision: 57838
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57838
Author:   kupoman
Date:     2013-06-27 22:01:25 +0000 (Thu, 27 Jun 2013)
Log Message:
-----------
Duplicate objects no longer share level of detail settings.

Modified Paths:
--------------
    branches/soc-2013-bge/source/blender/blenkernel/intern/object.c

Modified: branches/soc-2013-bge/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/soc-2013-bge/source/blender/blenkernel/intern/object.c	2013-06-27 20:47:59 UTC (rev 57837)
+++ branches/soc-2013-bge/source/blender/blenkernel/intern/object.c	2013-06-27 22:01:25 UTC (rev 57838)
@@ -1252,6 +1252,32 @@
 	}
 }
 
+static void copy_object_lod(Object *obn, Object *ob)
+{
+	LodLevel *nlod, *lod;
+
+	obn->lodlevels.first = obn->lodlevels.last = NULL;
+
+	BKE_object_lod_add(obn);
+	nlod = obn->lodlevels.first;
+	nlod->distance = 0.0;
+	nlod->use_logic = nlod->use_mat =nlod->use_mesh = 1;
+	nlod->source = obn;
+	obn->currentlod = nlod;
+
+	lod = ((LodLevel*)ob->lodlevels.first)->next;
+	for (; lod; lod = lod->next) {
+		BKE_object_lod_add(obn);
+		nlod = nlod->next;
+
+		nlod->distance = lod->distance;
+		nlod->source = lod->source;
+		nlod->use_logic = lod->use_logic;
+		nlod->use_mat = lod->use_mat;
+		nlod->use_mesh = lod->use_mesh;
+	}
+}
+
 bool BKE_object_pose_context_check(Object *ob)
 {
 	if ((ob) &&
@@ -1368,6 +1394,8 @@
 	obn->pc_ids.first = obn->pc_ids.last = NULL;
 
 	obn->mpath = NULL;
+
+	copy_object_lod(obn, ob);
 	
 	return obn;
 }




More information about the Bf-blender-cvs mailing list