[Bf-blender-cvs] [259d7a23e65] greasepencil-object: Reorganize versioning code

Antonio Vazquez noreply at git.blender.org
Tue Dec 19 17:06:48 CET 2017


Commit: 259d7a23e65452dfc80fcdba6f068c86e2a7c20d
Author: Antonio Vazquez
Date:   Tue Dec 19 17:06:38 2017 +0100
Branches: greasepencil-object
https://developer.blender.org/rB259d7a23e65452dfc80fcdba6f068c86e2a7c20d

Reorganize versioning code

After last 2.80.3 version bump, the code can be reorganized and it can be removed any custom hack for Hero files.

===================================================================

M	source/blender/blenloader/intern/versioning_280.c

===================================================================

diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 12a5af74fe9..5f6aefad7a7 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -643,10 +643,6 @@ void do_versions_after_linking_280(Main *main)
 			}
 		}
 
-	}
-
-	/* XXX: Merge back into previous case... leaving like this so the Hero animatic/production files so far don't break */
-	if (!MAIN_VERSION_ATLEAST(main, 280, 3)) {
 		/* Handle object-linked grease pencil datablocks */
 		for (Object *ob = main->object.first; ob; ob = ob->id.next) {
 			if (ob->gpd) {
@@ -913,158 +909,153 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
 				}
 			}
 		}
-	}
-
-	if (!MAIN_VERSION_ATLEAST(main, 280, 3)) {
-		for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
-			ViewLayer *view_layer;
-			for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
-				do_version_view_layer_visibility(view_layer);
-			}
-		}
 
-		for (Group *group = main->group.first; group; group = group->id.next) {
-			if (group->view_layer != NULL){
-				do_version_view_layer_visibility(group->view_layer);
-			}
-		}
-	}
-
-	if (!MAIN_VERSION_ATLEAST(main, 280, 2)) {
-		/* NOTE: See also do_versions_after_linking_280()
-		 * Some GP datablock link changes happen there instead, otherwise we get weird
-		 * crashes and corrupt data when trying to move linked datablocks around.
-		 */
-
-		 /* Convert grease pencil palettes to blender palettes */
-		if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "Palette", "*palette")) {
-			for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
-				/* first create all palettes and colors */
-				Palette *first = NULL;
-				for (bGPDpalette *oldpalette = gpd->palettes.first; oldpalette; oldpalette = oldpalette->next) {
-					/* create palette */
-					bGPDpaletteref *palslot = BKE_gpencil_paletteslot_addnew(main, gpd, oldpalette->info);
-					Palette *newpalette = palslot->palette;
-
-					/* save first to use later */
-					if (first == NULL) {
-						first = newpalette;
-					}
+		{
+			/* NOTE: See also do_versions_after_linking_280()
+			* Some GP datablock link changes happen there instead, otherwise we get weird
+			* crashes and corrupt data when trying to move linked datablocks around.
+			*/
+
+			/* Convert grease pencil palettes to blender palettes */
+			if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "Palette", "*palette")) {
+				for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
+					/* first create all palettes and colors */
+					Palette *first = NULL;
+					for (bGPDpalette *oldpalette = gpd->palettes.first; oldpalette; oldpalette = oldpalette->next) {
+						/* create palette */
+						bGPDpaletteref *palslot = BKE_gpencil_paletteslot_addnew(main, gpd, oldpalette->info);
+						Palette *newpalette = palslot->palette;
+
+						/* save first to use later */
+						if (first == NULL) {
+							first = newpalette;
+						}
 
-					for (bGPDpalettecolor *oldcolor = oldpalette->colors.first; oldcolor; oldcolor = oldcolor->next) {
-						PaletteColor *newcolor = BKE_palette_color_add_name(newpalette, oldcolor->info);
-						/* set color attributes */
-						copy_v4_v4(newcolor->rgb, oldcolor->color);
-						copy_v4_v4(newcolor->fill, oldcolor->fill);
-						newcolor->flag = oldcolor->flag;
-					}
-					/* set first color active by default */
-					if (!BLI_listbase_is_empty(&newpalette->colors)) {
-						newpalette->active_color = 0;
+						for (bGPDpalettecolor *oldcolor = oldpalette->colors.first; oldcolor; oldcolor = oldcolor->next) {
+							PaletteColor *newcolor = BKE_palette_color_add_name(newpalette, oldcolor->info);
+							/* set color attributes */
+							copy_v4_v4(newcolor->rgb, oldcolor->color);
+							copy_v4_v4(newcolor->fill, oldcolor->fill);
+							newcolor->flag = oldcolor->flag;
+						}
+						/* set first color active by default */
+						if (!BLI_listbase_is_empty(&newpalette->colors)) {
+							newpalette->active_color = 0;
+						}
 					}
-				}
-				/* second, assign the palette and the color (always to first palette) */
-				for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
-					for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
-						for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
-							Palette *palette = first;
-							PaletteColor *palcolor = BKE_palette_color_getbyname(first, gps->colorname);
-
-							gps->palette = palette;
-							gps->palcolor = palcolor;
+					/* second, assign the palette and the color (always to first palette) */
+					for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
+						for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
+							for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
+								Palette *palette = first;
+								PaletteColor *palcolor = BKE_palette_color_getbyname(first, gps->colorname);
+
+								gps->palette = palette;
+								gps->palcolor = palcolor;
+							}
 						}
 					}
+					gpd->id.tag &= ~LIB_TAG_NEED_LINK; // XXX: WHY?!
 				}
-				gpd->id.tag &= ~LIB_TAG_NEED_LINK; // XXX: WHY?!
 			}
-		}
 
-		/* Grease pencil sculpt and paint cursors */
-		if (!DNA_struct_elem_find(fd->filesdna, "GP_BrushEdit_Settings", "int", "weighttype")) {
-			for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
-				/* sculpt brushes */
-				GP_BrushEdit_Settings *gset = &scene->toolsettings->gp_sculpt;
-				if (gset) {
-					gset->alpha = 1.0f;
-					gset->weighttype = GP_EDITBRUSH_TYPE_WEIGHT;
+			/* Grease pencil sculpt and paint cursors */
+			if (!DNA_struct_elem_find(fd->filesdna, "GP_BrushEdit_Settings", "int", "weighttype")) {
+				for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+					/* sculpt brushes */
+					GP_BrushEdit_Settings *gset = &scene->toolsettings->gp_sculpt;
+					if (gset) {
+						gset->alpha = 1.0f;
+						gset->weighttype = GP_EDITBRUSH_TYPE_WEIGHT;
+					}
 				}
 			}
-		}
 
-		if (!DNA_struct_elem_find(fd->filesdna, "bGPDbrush", "float", "curcolor[3]")) {
-			float curcolor[3], curcolor_add[3], curcolor_sub[3];
-			ARRAY_SET_ITEMS(curcolor, 1.0f, 1.0f, 1.0f);
-			ARRAY_SET_ITEMS(curcolor_add, 1.0f, 0.6f, 0.6f);
-			ARRAY_SET_ITEMS(curcolor_sub, 0.6f, 0.6f, 1.0f);
-			GP_EditBrush_Data *gp_brush;
+			if (!DNA_struct_elem_find(fd->filesdna, "bGPDbrush", "float", "curcolor[3]")) {
+				float curcolor[3], curcolor_add[3], curcolor_sub[3];
+				ARRAY_SET_ITEMS(curcolor, 1.0f, 1.0f, 1.0f);
+				ARRAY_SET_ITEMS(curcolor_add, 1.0f, 0.6f, 0.6f);
+				ARRAY_SET_ITEMS(curcolor_sub, 0.6f, 0.6f, 1.0f);
+				GP_EditBrush_Data *gp_brush;
 
-			for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
-				/* drawing brushes */
-				ToolSettings *ts = scene->toolsettings;
-				for (bGPDbrush *brush = ts->gp_brushes.first; brush; brush = brush->next) {
-					brush->flag |= GP_BRUSH_ENABLE_CURSOR;
-					copy_v3_v3(brush->curcolor, curcolor);
-				}
-				/* sculpt brushes */
-				GP_BrushEdit_Settings *gset = &ts->gp_sculpt;
-				for (int i = 0; i < TOT_GP_EDITBRUSH_TYPES; ++i) {
-					gp_brush = &gset->brush[i];
-					gp_brush->flag |= GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
-					copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
-					copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+				for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
+					/* drawing brushes */
+					ToolSettings *ts = scene->toolsettings;
+					for (bGPDbrush *brush = ts->gp_brushes.first; brush; brush = brush->next) {
+						brush->flag |= GP_BRUSH_ENABLE_CURSOR;
+						copy_v3_v3(brush->curcolor, curcolor);
+					}
+					/* sculpt brushes */
+					GP_BrushEdit_Settings *gset = &ts->gp_sculpt;
+					for (int i = 0; i < TOT_GP_EDITBRUSH_TYPES; ++i) {
+						gp_brush = &gset->brush[i];
+						gp_brush->flag |= GP_EDITBRUSH_FLAG_ENABLE_CURSOR;
+						copy_v3_v3(gp_brush->curcolor_add, curcolor_add);
+						copy_v3_v3(gp_brush->curcolor_sub, curcolor_sub);
+					}
 				}
 			}
-		}
 
-		/* Init grease pencil vertex groups */
-		if (!DNA_struct_elem_find(fd->filesdna, "bGPDweight", "int", "index")) {
-			for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
-				for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
-					for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
-						for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
-							for (int i = 0; i < gps->totpoints; ++i) {
-								bGPDspoint *pt = &gps->points[i];
-								pt->totweight = 0;
-								pt->weights = NULL;
+			/* Init grease pencil vertex groups */
+			if (!DNA_struct_elem_find(fd->filesdna, "bGPDweight", "int", "index")) {
+				for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
+					for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
+						for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
+							for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
+								for (int i = 0; i < gps->totpoints; ++i) {
+									bGPDspoint *pt = &gps->points[i];
+									pt->totweight = 0;
+									pt->weights = NULL;
+								}
 							}
 						}
 					}
 				}
 			}
-		}
 
-		/* Init grease pencil edit line color */
-		if (!DNA_struct_elem_find(fd->filesdna, "bGPdata", "float", "line_color[4]")) {
-			for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
-				ARRAY_SET_ITEMS(gpd->line_color, 0.6f, 0.6f, 0.6f, 0.5f);
+			/* Init grease pencil edit line color */
+			if (!DNA_struct_elem_find(fd->filesdna, "bGPdata", "float", "line_color[4]")) {
+				for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
+					ARRAY_SET_ITEMS(gpd->line_color, 0.6f, 0.6f, 0.6f, 0.5f);
+				}
+			}
+
+			/* Init grease pencil pixel size factor */
+			if (!DNA_struct_elem_find(fd->filesdna, "bGPDdata", "int", "pixfactor")) {
+				for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
+					gpd->pixfactor = GP_DEFAULT_PIX_FACTOR;
+				}
 			}
-		}
 
-		/* Init grease pencil pixel size factor */
-		if (!DNA_struct_elem_find(fd->filesdna, "b

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list