[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46285] trunk/blender/source/blender/ blenloader: Split do_versions into separate files for pre-2. 50 versions and 2.5x versions

Sergey Sharybin sergey.vfx at gmail.com
Fri May 4 17:42:49 CEST 2012


Revision: 46285
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46285
Author:   nazgul
Date:     2012-05-04 15:42:49 +0000 (Fri, 04 May 2012)
Log Message:
-----------
Split do_versions into separate files for pre-2.50 versions and 2.5x versions

This should make it easier to navigate through readfile.c and also hopefully
will prevent corereview to fail parsing this file.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/CMakeLists.txt
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/blenloader/intern/readfile.h

Added Paths:
-----------
    trunk/blender/source/blender/blenloader/intern/versioning_250.c
    trunk/blender/source/blender/blenloader/intern/versioning_legacy.c

Modified: trunk/blender/source/blender/blenloader/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenloader/CMakeLists.txt	2012-05-04 15:39:53 UTC (rev 46284)
+++ trunk/blender/source/blender/blenloader/CMakeLists.txt	2012-05-04 15:42:49 UTC (rev 46285)
@@ -44,6 +44,8 @@
 	intern/readfile.c
 	intern/runtime.c
 	intern/undofile.c
+	intern/versioning_250.c
+	intern/versioning_legacy.c
 	intern/writefile.c
 
 	BLO_readfile.h

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2012-05-04 15:39:53 UTC (rev 46284)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2012-05-04 15:42:49 UTC (rev 46285)
@@ -328,6 +328,11 @@
 	entry->nr= nr;
 }
 
+void blo_do_versions_oldnewmap_insert(OldNewMap *onm, void *oldaddr, void *newaddr, int nr)
+{
+	oldnewmap_insert(onm, oldaddr, newaddr, nr);
+}
+
 static void *oldnewmap_lookup_and_inc(OldNewMap *onm, void *addr) 
 {
 	int i;
@@ -1177,6 +1182,11 @@
 	return oldnewmap_liblookup(fd->libmap, adr, lib);
 }
 
+void *blo_do_versions_newlibadr(FileData *fd, void *lib, void *adr)		/* only lib data */
+{
+	return newlibadr(fd, lib, adr);
+}
+
 static void *newlibadr_us(FileData *fd, void *lib, void *adr)	/* increases user number */
 {
 	ID *id= newlibadr(fd, lib, adr);
@@ -1187,6 +1197,11 @@
 	return id;
 }
 
+void *blo_do_versions_newlibadr_us(FileData *fd, void *lib, void *adr)	/* increases user number */
+{
+	return newlibadr_us(fd, lib, adr);
+}
+
 static void change_idid_adr_fd(FileData *fd, void *old, void *new)
 {
 	int i;
@@ -2202,7 +2217,7 @@
 	}
 }
 
-static void do_versions_nodetree_default_value(bNodeTree *ntree)
+void blo_do_versions_nodetree_default_value(bNodeTree *ntree)
 {
 	bNode *node;
 	bNodeSocket *sock;
@@ -2225,7 +2240,7 @@
 	ntreeInitTypes(ntree);
 
 	/* need to do this here instead of in do_versions, otherwise next function can crash */
-	do_versions_nodetree_default_value(ntree);
+	blo_do_versions_nodetree_default_value(ntree);
 	
 	/* XXX could be replaced by do_versions for new nodes */
 	for (node=ntree->nodes.first; node; node=node->next)
@@ -5713,7 +5728,7 @@
 
 /* for the saved 2.50 files without regiondata */
 /* and as patch for 2.48 and older */
-static void view3d_split_250(View3D *v3d, ListBase *regions)
+void blo_do_versions_view3d_split_250(View3D *v3d, ListBase *regions)
 {
 	ARegion *ar;
 	
@@ -5799,7 +5814,7 @@
 		}
 		/* add local view3d too */
 		else if (sa->spacetype==SPACE_VIEW3D)
-			view3d_split_250(sa->spacedata.first, &sa->regionbase);
+			blo_do_versions_view3d_split_250(sa->spacedata.first, &sa->regionbase);
 		
 		for (sl= sa->spacedata.first; sl; sl= sl->next) {
 			link_list(fd, &(sl->regionbase));
@@ -5839,7 +5854,7 @@
 				if (v3d->drawtype == OB_RENDER)
 					v3d->drawtype = OB_WIRE;
 				
-				view3d_split_250(v3d, &sl->regionbase);
+				blo_do_versions_view3d_split_250(v3d, &sl->regionbase);
 			}
 			else if (sl->spacetype==SPACE_IPO) {
 				SpaceIpo *sipo= (SpaceIpo*)sl;
@@ -6494,1012 +6509,7 @@
 	}
 }
 
-static void vcol_to_fcol(Mesh *me)
-{
-	MFace *mface;
-	unsigned int *mcol, *mcoln, *mcolmain;
-	int a;
-
-	if (me->totface==0 || me->mcol==NULL) return;
-
-	mcoln= mcolmain= MEM_mallocN(4*sizeof(int)*me->totface, "mcoln");
-	mcol = (unsigned int *)me->mcol;
-	mface= me->mface;
-	for (a=me->totface; a>0; a--, mface++) {
-		mcoln[0]= mcol[mface->v1];
-		mcoln[1]= mcol[mface->v2];
-		mcoln[2]= mcol[mface->v3];
-		mcoln[3]= mcol[mface->v4];
-		mcoln+= 4;
-	}
-
-	MEM_freeN(me->mcol);
-	me->mcol= (MCol *)mcolmain;
-}
-
-static int map_223_keybd_code_to_224_keybd_code(int code)
-{
-	switch (code) {
-		case 312:	return 311; /* F12KEY */
-		case 159:	return 161; /* PADSLASHKEY */
-		case 161:	return 150; /* PAD0 */
-		case 154:	return 151; /* PAD1 */
-		case 150:	return 152; /* PAD2 */
-		case 155:	return 153; /* PAD3 */
-		case 151:	return 154; /* PAD4 */
-		case 156:	return 155; /* PAD5 */
-		case 152:	return 156; /* PAD6 */
-		case 157:	return 157; /* PAD7 */
-		case 153:	return 158; /* PAD8 */
-		case 158:	return 159; /* PAD9 */
-		default: return code;
-	}
-}
-
-static void do_version_bone_head_tail_237(Bone *bone)
-{
-	Bone *child;
-	float vec[3];
-
-	/* head */
-	copy_v3_v3(bone->arm_head, bone->arm_mat[3]);
-
-	/* tail is in current local coord system */
-	copy_v3_v3(vec, bone->arm_mat[1]);
-	mul_v3_fl(vec, bone->length);
-	add_v3_v3v3(bone->arm_tail, bone->arm_head, vec);
-
-	for (child= bone->childbase.first; child; child= child->next)
-		do_version_bone_head_tail_237(child);
-}
-
-static void bone_version_238(ListBase *lb)
-{
-	Bone *bone;
-	
-	for (bone= lb->first; bone; bone= bone->next) {
-		if (bone->rad_tail==0.0f && bone->rad_head==0.0f) {
-			bone->rad_head= 0.25f*bone->length;
-			bone->rad_tail= 0.1f*bone->length;
-			
-			bone->dist-= bone->rad_head;
-			if (bone->dist<=0.0f) bone->dist= 0.0f;
-		}
-		bone_version_238(&bone->childbase);
-	}
-}
-
-static void bone_version_239(ListBase *lb)
-{
-	Bone *bone;
-	
-	for (bone= lb->first; bone; bone= bone->next) {
-		if (bone->layer==0)
-			bone->layer= 1;
-		bone_version_239(&bone->childbase);
-	}
-}
-
-static void ntree_version_241(bNodeTree *ntree)
-{
-	bNode *node;
-	
-	if (ntree->type==NTREE_COMPOSIT) {
-		for (node= ntree->nodes.first; node; node= node->next) {
-			if (node->type==CMP_NODE_BLUR) {
-				if (node->storage==NULL) {
-					NodeBlurData *nbd= MEM_callocN(sizeof(NodeBlurData), "node blur patch");
-					nbd->sizex= node->custom1;
-					nbd->sizey= node->custom2;
-					nbd->filtertype= R_FILTER_QUAD;
-					node->storage= nbd;
-				}
-			}
-			else if (node->type==CMP_NODE_VECBLUR) {
-				if (node->storage==NULL) {
-					NodeBlurData *nbd= MEM_callocN(sizeof(NodeBlurData), "node blur patch");
-					nbd->samples= node->custom1;
-					nbd->maxspeed= node->custom2;
-					nbd->fac= 1.0f;
-					node->storage= nbd;
-				}
-			}
-		}
-	}
-}
-
-static void ntree_version_242(bNodeTree *ntree)
-{
-	bNode *node;
-	
-	if (ntree->type==NTREE_COMPOSIT) {
-		for (node= ntree->nodes.first; node; node= node->next) {
-			if (node->type==CMP_NODE_HUE_SAT) {
-				if (node->storage) {
-					NodeHueSat *nhs= node->storage;
-					if (nhs->val==0.0f) nhs->val= 1.0f;
-				}
-			}
-		}
-	}
-	else if (ntree->type==NTREE_SHADER) {
-		for (node= ntree->nodes.first; node; node= node->next)
-			if (node->type == SH_NODE_GEOMETRY && node->storage == NULL)
-				node->storage= MEM_callocN(sizeof(NodeGeometry), "NodeGeometry");
-	}
-	
-}
-
-static void customdata_version_242(Mesh *me)
-{
-	CustomDataLayer *layer;
-	MTFace *mtf;
-	MCol *mcol;
-	TFace *tf;
-	int a, mtfacen, mcoln;
-
-	if (!me->vdata.totlayer) {
-		CustomData_add_layer(&me->vdata, CD_MVERT, CD_ASSIGN, me->mvert, me->totvert);
-
-		if (me->msticky)
-			CustomData_add_layer(&me->vdata, CD_MSTICKY, CD_ASSIGN, me->msticky, me->totvert);
-		if (me->dvert)
-			CustomData_add_layer(&me->vdata, CD_MDEFORMVERT, CD_ASSIGN, me->dvert, me->totvert);
-	}
-
-	if (!me->edata.totlayer)
-		CustomData_add_layer(&me->edata, CD_MEDGE, CD_ASSIGN, me->medge, me->totedge);
-	
-	if (!me->fdata.totlayer) {
-		CustomData_add_layer(&me->fdata, CD_MFACE, CD_ASSIGN, me->mface, me->totface);
-
-		if (me->tface) {
-			if (me->mcol)
-				MEM_freeN(me->mcol);
-
-			me->mcol= CustomData_add_layer(&me->fdata, CD_MCOL, CD_CALLOC, NULL, me->totface);
-			me->mtface= CustomData_add_layer(&me->fdata, CD_MTFACE, CD_CALLOC, NULL, me->totface);
-
-			mtf= me->mtface;
-			mcol= me->mcol;
-			tf= me->tface;
-
-			for (a=0; a < me->totface; a++, mtf++, tf++, mcol+=4) {
-				memcpy(mcol, tf->col, sizeof(tf->col));
-				memcpy(mtf->uv, tf->uv, sizeof(tf->uv));
-
-				mtf->flag= tf->flag;
-				mtf->unwrap= tf->unwrap;
-				mtf->mode= tf->mode;
-				mtf->tile= tf->tile;
-				mtf->tpage= tf->tpage;
-				mtf->transp= tf->transp;
-			}
-
-			MEM_freeN(me->tface);
-			me->tface= NULL;
-		}
-		else if (me->mcol) {
-			me->mcol= CustomData_add_layer(&me->fdata, CD_MCOL, CD_ASSIGN, me->mcol, me->totface);
-		}
-	}
-
-	if (me->tface) {
-		MEM_freeN(me->tface);
-		me->tface= NULL;
-	}
-
-	for (a=0, mtfacen=0, mcoln=0; a < me->fdata.totlayer; a++) {
-		layer= &me->fdata.layers[a];
-
-		if (layer->type == CD_MTFACE) {
-			if (layer->name[0] == 0) {
-				if (mtfacen == 0) strcpy(layer->name, "UVMap");
-				else BLI_snprintf(layer->name, sizeof(layer->name), "UVMap.%.3d", mtfacen);
-			}
-			mtfacen++;
-		}
-		else if (layer->type == CD_MCOL) {
-			if (layer->name[0] == 0) {
-				if (mcoln == 0) strcpy(layer->name, "Col");
-				else BLI_snprintf(layer->name, sizeof(layer->name), "Col.%.3d", mcoln);
-			}
-			mcoln++;
-		}
-	}
-
-	mesh_update_customdata_pointers(me, TRUE);
-}
-
-/*only copy render texface layer from active*/
-static void customdata_version_243(Mesh *me)
-{
-	CustomDataLayer *layer;
-	int a;
-
-	for (a=0; a < me->fdata.totlayer; a++) {
-		layer= &me->fdata.layers[a];
-		layer->active_rnd = layer->active;
-	}
-}
-
-/* struct NodeImageAnim moved to ImageUser, and we make it default available */
-static void do_version_ntree_242_2(bNodeTree *ntree)
-{
-	bNode *node;
-	
-	if (ntree->type==NTREE_COMPOSIT) {
-		for (node= ntree->nodes.first; node; node= node->next) {
-			if (ELEM3(node->type, CMP_NODE_IMAGE, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
-				/* only image had storage */
-				if (node->storage) {
-					NodeImageAnim *nia= node->storage;
-					ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "ima user node");
-
-					iuser->frames= nia->frames;
-					iuser->sfra= nia->sfra;
-					iuser->offset= nia->nr-1;
-					iuser->cycl= nia->cyclic;
-					iuser->fie_ima= 2;
-					iuser->ok= 1;
-					
-					node->storage= iuser;
-					MEM_freeN(nia);
-				}
-				else {
-					ImageUser *iuser= node->storage= MEM_callocN(sizeof(ImageUser), "node image user");
-					iuser->sfra= 1;
-					iuser->fie_ima= 2;
-					iuser->ok= 1;
-				}
-			}
-		}
-	}
-}
-
-static void ntree_version_245(FileData *fd, Library *lib, bNodeTree *ntree)
-{
-	bNode *node;
-	NodeTwoFloats *ntf;
-	ID *nodeid;
-	Image *image;
-	ImageUser *iuser;
-
-	if (ntree->type==NTREE_COMPOSIT) {
-		for (node= ntree->nodes.first; node; node= node->next) {
-			if (node->type == CMP_NODE_ALPHAOVER) {
-				if (!node->storage) {
-					ntf= MEM_callocN(sizeof(NodeTwoFloats), "NodeTwoFloats");
-					node->storage= ntf;
-					if (node->custom1)
-						ntf->x= 1.0f;
-				}
-			}
-			
-			/* fix for temporary flag changes during 245 cycle */
-			nodeid= newlibadr(fd, lib, node->id);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list