[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36772] trunk/blender/source/blender/ blenkernel: Add localize_lamp and localize_world functions as already existed for materials

Brecht Van Lommel brechtvanlommel at pandora.be
Thu May 19 13:21:37 CEST 2011


Revision: 36772
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36772
Author:   blendix
Date:     2011-05-19 11:21:37 +0000 (Thu, 19 May 2011)
Log Message:
-----------
Add localize_lamp and localize_world functions as already existed for materials
and textures, unused still.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_object.h
    trunk/blender/source/blender/blenkernel/BKE_world.h
    trunk/blender/source/blender/blenkernel/intern/material.c
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/blenkernel/intern/world.c

Modified: trunk/blender/source/blender/blenkernel/BKE_object.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_object.h	2011-05-19 11:18:09 UTC (rev 36771)
+++ trunk/blender/source/blender/blenkernel/BKE_object.h	2011-05-19 11:21:37 UTC (rev 36772)
@@ -83,6 +83,7 @@
 	
 void *add_lamp(const char *name);
 struct Lamp *copy_lamp(struct Lamp *la);
+struct Lamp *localize_lamp(struct Lamp *la);
 void make_local_lamp(struct Lamp *la);
 void free_camera(struct Camera *ca);
 void free_lamp(struct Lamp *la);

Modified: trunk/blender/source/blender/blenkernel/BKE_world.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_world.h	2011-05-19 11:18:09 UTC (rev 36771)
+++ trunk/blender/source/blender/blenkernel/BKE_world.h	2011-05-19 11:21:37 UTC (rev 36772)
@@ -40,6 +40,7 @@
 void free_world(struct World *sc); 
 struct World *add_world(const char *name);
 struct World *copy_world(struct World *wrld);
+struct World *localize_world(struct World *wrld);
 void make_local_world(struct World *wrld);
 
 #endif

Modified: trunk/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/material.c	2011-05-19 11:18:09 UTC (rev 36771)
+++ trunk/blender/source/blender/blenkernel/intern/material.c	2011-05-19 11:21:37 UTC (rev 36772)
@@ -258,9 +258,8 @@
 	
 	man->preview = NULL;
 	
-	if(ma->nodetree) {
+	if(ma->nodetree)
 		man->nodetree= ntreeLocalize(ma->nodetree);
-	}
 	
 	man->gpumaterial.first= man->gpumaterial.last= NULL;
 	

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2011-05-19 11:18:09 UTC (rev 36771)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2011-05-19 11:21:37 UTC (rev 36772)
@@ -867,12 +867,33 @@
 	
 	lan->curfalloff = curvemapping_copy(la->curfalloff);
 	
-#if 0 // XXX old animation system
-	id_us_plus((ID *)lan->ipo);
-#endif // XXX old animation system
+	if(la->preview)
+		lan->preview = BKE_previewimg_copy(la->preview);
+	
+	return lan;
+}
 
-	if (la->preview) lan->preview = BKE_previewimg_copy(la->preview);
+Lamp *localize_lamp(Lamp *la)
+{
+	Lamp *lan;
+	int a;
 	
+	lan= copy_libblock(la);
+	BLI_remlink(&G.main->lamp, lan);
+
+	for(a=0; a<MAX_MTEX; a++) {
+		if(lan->mtex[a]) {
+			lan->mtex[a]= MEM_mallocN(sizeof(MTex), "localize_lamp");
+			memcpy(lan->mtex[a], la->mtex[a], sizeof(MTex));
+			/* free lamp decrements */
+			id_us_plus((ID *)lan->mtex[a]->tex);
+		}
+	}
+	
+	lan->curfalloff = curvemapping_copy(la->curfalloff);
+
+	lan->preview= NULL;
+	
 	return lan;
 }
 

Modified: trunk/blender/source/blender/blenkernel/intern/world.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/world.c	2011-05-19 11:18:09 UTC (rev 36771)
+++ trunk/blender/source/blender/blenkernel/intern/world.c	2011-05-19 11:21:37 UTC (rev 36772)
@@ -117,18 +117,37 @@
 	
 	for(a=0; a<MAX_MTEX; a++) {
 		if(wrld->mtex[a]) {
-			wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "copymaterial");
+			wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "copy_world");
 			memcpy(wrldn->mtex[a], wrld->mtex[a], sizeof(MTex));
 			id_us_plus((ID *)wrldn->mtex[a]->tex);
 		}
 	}
 	
-	if (wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview);
+	if(wrld->preview)
+		wrldn->preview = BKE_previewimg_copy(wrld->preview);
 
-#if 0 // XXX old animation system
-	id_us_plus((ID *)wrldn->ipo);
-#endif // XXX old animation system
+	return wrldn;
+}
+
+World *localize_world(World *wrld)
+{
+	World *wrldn;
+	int a;
 	
+	wrldn= copy_libblock(wrld);
+	BLI_remlink(&G.main->world, wrldn);
+	
+	for(a=0; a<MAX_MTEX; a++) {
+		if(wrld->mtex[a]) {
+			wrldn->mtex[a]= MEM_mallocN(sizeof(MTex), "localize_world");
+			memcpy(wrldn->mtex[a], wrld->mtex[a], sizeof(MTex));
+			/* free world decrements */
+			id_us_plus((ID *)wrldn->mtex[a]->tex);
+		}
+	}
+
+	wrldn->preview= NULL;
+	
 	return wrldn;
 }
 




More information about the Bf-blender-cvs mailing list