[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18808] branches/blender2.5/blender/source /blender: Assorted fixes:

Joshua Leung aligorith at gmail.com
Wed Feb 4 12:47:37 CET 2009


Revision: 18808
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18808
Author:   aligorith
Date:     2009-02-04 12:47:05 +0100 (Wed, 04 Feb 2009)

Log Message:
-----------
Assorted fixes:

* Added examples of how to patch up MTex adrcodes for Animato. It appears many of the settings there in RNA are still undefined though!

* Added undo push for the Outliner tweaks I made

* Removed some outdated comment

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c	2009-02-04 09:09:31 UTC (rev 18807)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c	2009-02-04 11:47:05 UTC (rev 18808)
@@ -351,6 +351,76 @@
 	return buf;
 }
 
+/* MTex (Texture Slot) types */
+static char *mtex_adrcodes_to_paths (int adrcode, int *array_index)
+{
+	char *base=NULL, *prop=NULL;
+	static char buf[128];
+	
+	/* base part of path */
+	if (adrcode & MA_MAP1) base= "textures[0]";
+	else if (adrcode & MA_MAP2) base= "textures[1]";
+	else if (adrcode & MA_MAP3) base= "textures[2]";
+	else if (adrcode & MA_MAP4) base= "textures[3]";
+	else if (adrcode & MA_MAP5) base= "textures[4]";
+	else if (adrcode & MA_MAP6) base= "textures[5]";
+	else if (adrcode & MA_MAP7) base= "textures[6]";
+	else if (adrcode & MA_MAP8) base= "textures[7]";
+	else if (adrcode & MA_MAP9) base= "textures[8]";
+	else if (adrcode & MA_MAP10) base= "textures[9]";
+	else if (adrcode & MA_MAP11) base= "textures[10]";
+	else if (adrcode & MA_MAP12) base= "textures[11]";
+	else if (adrcode & MA_MAP13) base= "textures[12]";
+	else if (adrcode & MA_MAP14) base= "textures[13]";
+	else if (adrcode & MA_MAP15) base= "textures[14]";
+	else if (adrcode & MA_MAP16) base= "textures[15]";
+	else if (adrcode & MA_MAP17) base= "textures[16]";
+	else if (adrcode & MA_MAP18) base= "textures[17]";
+		
+	/* property identifier for path */
+	adrcode= (adrcode & (MA_MAP1-1));
+	switch (adrcode) {
+#if 0 // XXX these are not wrapped in RNA yet!
+		case MAP_OFS_X:
+			poin= &(mtex->ofs[0]); break;
+		case MAP_OFS_Y:
+			poin= &(mtex->ofs[1]); break;
+		case MAP_OFS_Z:
+			poin= &(mtex->ofs[2]); break;
+		case MAP_SIZE_X:
+			poin= &(mtex->size[0]); break;
+		case MAP_SIZE_Y:
+			poin= &(mtex->size[1]); break;
+		case MAP_SIZE_Z:
+			poin= &(mtex->size[2]); break;
+		case MAP_R:
+			poin= &(mtex->r); break;
+		case MAP_G:
+			poin= &(mtex->g); break;
+		case MAP_B:
+			poin= &(mtex->b); break;
+		case MAP_DVAR:
+			poin= &(mtex->def_var); break;
+		case MAP_COLF:
+			poin= &(mtex->colfac); break;
+		case MAP_NORF:
+			poin= &(mtex->norfac); break;
+		case MAP_VARF:
+			poin= &(mtex->varfac); break;
+#endif
+		case MAP_DISP:
+			prop= "warp_factor"; break;
+	}
+	
+	/* only build and return path if there's a property */
+	if (prop) {
+		BLI_snprintf(buf, 128, "%s.%s", base, prop);
+		return buf;
+	}
+	else
+		return NULL;
+}
+
 /* Texture types */
 static char *texture_adrcodes_to_paths (int adrcode, int *array_index)
 {
@@ -465,8 +535,10 @@
 			
 		case MA_REF:
 			return "diffuse_reflection";
-			
-		// XXX add other types...
+		
+		
+		default: /* for now, we assume that the others were MTex channels */
+			return mtex_adrcodes_to_paths(adrcode, array_index);
 	}
 	
 	return NULL;
@@ -500,30 +572,6 @@
 		poin= &(ma->fresnel_tra_i); break;
 	case MA_ADD:
 		poin= &(ma->add); break;
-	
-	if (poin == NULL) {
-		if (icu->adrcode & MA_MAP1) mtex= ma->mtex[0];
-		else if (icu->adrcode & MA_MAP2) mtex= ma->mtex[1];
-		else if (icu->adrcode & MA_MAP3) mtex= ma->mtex[2];
-		else if (icu->adrcode & MA_MAP4) mtex= ma->mtex[3];
-		else if (icu->adrcode & MA_MAP5) mtex= ma->mtex[4];
-		else if (icu->adrcode & MA_MAP6) mtex= ma->mtex[5];
-		else if (icu->adrcode & MA_MAP7) mtex= ma->mtex[6];
-		else if (icu->adrcode & MA_MAP8) mtex= ma->mtex[7];
-		else if (icu->adrcode & MA_MAP9) mtex= ma->mtex[8];
-		else if (icu->adrcode & MA_MAP10) mtex= ma->mtex[9];
-		else if (icu->adrcode & MA_MAP12) mtex= ma->mtex[11];
-		else if (icu->adrcode & MA_MAP11) mtex= ma->mtex[10];
-		else if (icu->adrcode & MA_MAP13) mtex= ma->mtex[12];
-		else if (icu->adrcode & MA_MAP14) mtex= ma->mtex[13];
-		else if (icu->adrcode & MA_MAP15) mtex= ma->mtex[14];
-		else if (icu->adrcode & MA_MAP16) mtex= ma->mtex[15];
-		else if (icu->adrcode & MA_MAP17) mtex= ma->mtex[16];
-		else if (icu->adrcode & MA_MAP18) mtex= ma->mtex[17];
-		
-		if (mtex)
-			poin= give_mtex_poin(mtex, (icu->adrcode & (MA_MAP1-1)));
-	}
 #endif
 	
 }
@@ -600,34 +648,11 @@
 			
 		case LA_HALOINT:
 			return "halo_intensity";
+			
+		default: /* for now, we assume that the others were MTex channels */
+			return mtex_adrcodes_to_paths(adrcode, array_index);
 	}
 	
-#if 0 // XXX to be converted
-		if (poin == NULL) {
-			if (icu->adrcode & MA_MAP1) mtex= la->mtex[0];
-			else if (icu->adrcode & MA_MAP2) mtex= la->mtex[1];
-			else if (icu->adrcode & MA_MAP3) mtex= la->mtex[2];
-			else if (icu->adrcode & MA_MAP4) mtex= la->mtex[3];
-			else if (icu->adrcode & MA_MAP5) mtex= la->mtex[4];
-			else if (icu->adrcode & MA_MAP6) mtex= la->mtex[5];
-			else if (icu->adrcode & MA_MAP7) mtex= la->mtex[6];
-			else if (icu->adrcode & MA_MAP8) mtex= la->mtex[7];
-			else if (icu->adrcode & MA_MAP9) mtex= la->mtex[8];
-			else if (icu->adrcode & MA_MAP10) mtex= la->mtex[9];
-			else if (icu->adrcode & MA_MAP11) mtex= la->mtex[10];
-			else if (icu->adrcode & MA_MAP12) mtex= la->mtex[11];
-			else if (icu->adrcode & MA_MAP13) mtex= la->mtex[12];
-			else if (icu->adrcode & MA_MAP14) mtex= la->mtex[13];
-			else if (icu->adrcode & MA_MAP15) mtex= la->mtex[14];
-			else if (icu->adrcode & MA_MAP16) mtex= la->mtex[15];
-			else if (icu->adrcode & MA_MAP17) mtex= la->mtex[16];
-			else if (icu->adrcode & MA_MAP18) mtex= la->mtex[17];
-			
-			if (mtex)
-				poin= give_mtex_poin(mtex, (icu->adrcode & (MA_MAP1-1)));
-		}
-#endif // XXX to be converted
-	
 	/* unrecognised adrcode, or not-yet-handled ones! */
 	return NULL;
 }
@@ -1490,45 +1515,6 @@
 
 /* --------------------- Get Pointer API ----------------------------- */ 
 
-/* get texture-slot/mapping channel */
-void *give_mtex_poin (MTex *mtex, int adrcode)
-{
-	void *poin= NULL;
-	
-	switch (adrcode) {
-	case MAP_OFS_X:
-		poin= &(mtex->ofs[0]); break;
-	case MAP_OFS_Y:
-		poin= &(mtex->ofs[1]); break;
-	case MAP_OFS_Z:
-		poin= &(mtex->ofs[2]); break;
-	case MAP_SIZE_X:
-		poin= &(mtex->size[0]); break;
-	case MAP_SIZE_Y:
-		poin= &(mtex->size[1]); break;
-	case MAP_SIZE_Z:
-		poin= &(mtex->size[2]); break;
-	case MAP_R:
-		poin= &(mtex->r); break;
-	case MAP_G:
-		poin= &(mtex->g); break;
-	case MAP_B:
-		poin= &(mtex->b); break;
-	case MAP_DVAR:
-		poin= &(mtex->def_var); break;
-	case MAP_COLF:
-		poin= &(mtex->colfac); break;
-	case MAP_NORF:
-		poin= &(mtex->norfac); break;
-	case MAP_VARF:
-		poin= &(mtex->varfac); break;
-	case MAP_DISP:
-		poin= &(mtex->dispfac); break;
-	}
-	
-	/* return pointer */
-	return poin;
-}
 
 /* GS reads the memory pointed at in a specific ordering. There are,
  * however two definitions for it. I have jotted them down here, both,

Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-02-04 09:09:31 UTC (rev 18807)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-02-04 11:47:05 UTC (rev 18808)
@@ -2259,6 +2259,11 @@
 		
 		/* select relevant row */
 		outliner_select(soops, &soops->tree, &row, &selecting);
+		
+		// XXX old flag found in old code, do we still use this?
+		//soops->storeflag |= SO_TREESTORE_REDRAW;
+		
+		BIF_undo_push("Outliner selection event");
 	}
 	
 	ED_region_tag_redraw(ar);

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h	2009-02-04 09:09:31 UTC (rev 18807)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h	2009-02-04 11:47:05 UTC (rev 18808)
@@ -244,7 +244,6 @@
  * It serves as a 'unit' of reusable animation information (i.e. keyframes/motion data), that 
  * affects a group of related settings (as defined by the user). 
  */
-// XXX use this as drop-in replacement at some point...
 typedef struct bAction {
 	ID 	id;				/* ID-serialisation for relinking */
 	





More information about the Bf-blender-cvs mailing list