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; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs