[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