[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52612] trunk/blender/source/blender: add osl shader scripts to bpath walker ( so making paths absolute or relative applies to shader paths too).

Campbell Barton ideasman42 at gmail.com
Tue Nov 27 17:19:53 CET 2012


Revision: 52612
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52612
Author:   campbellbarton
Date:     2012-11-27 16:19:52 +0000 (Tue, 27 Nov 2012)
Log Message:
-----------
add osl shader scripts to bpath walker (so making paths absolute or relative applies to shader paths too).
also remove "RNA_types.h" include from BKE_nodes.h.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_node.h
    trunk/blender/source/blender/blenlib/intern/bpath.c

Modified: trunk/blender/source/blender/blenkernel/BKE_node.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_node.h	2012-11-27 16:02:15 UTC (rev 52611)
+++ trunk/blender/source/blender/blenkernel/BKE_node.h	2012-11-27 16:19:52 UTC (rev 52612)
@@ -34,8 +34,6 @@
 
 #include "DNA_listBase.h"
 
-#include "RNA_types.h"
-
 /* not very important, but the stack solver likes to know a maximum */
 #define MAX_SOCKET	64
 
@@ -82,7 +80,7 @@
 	char name[64];	/* MAX_NAME */
 	float val1, val2, val3, val4;   /* default alloc value for inputs */
 	float min, max;
-	PropertySubType subtype;
+	int subtype;  /* would use PropertySubType but this is a bad level include to use RNA */
 	int flag;
 	
 	/* after this line is used internal only */

Modified: trunk/blender/source/blender/blenlib/intern/bpath.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/bpath.c	2012-11-27 16:02:15 UTC (rev 52611)
+++ trunk/blender/source/blender/blenlib/intern/bpath.c	2012-11-27 16:19:52 UTC (rev 52612)
@@ -64,6 +64,8 @@
 #include "DNA_sequence_types.h"
 #include "DNA_sound_types.h"
 #include "DNA_text_types.h"
+#include "DNA_material_types.h"
+#include "DNA_node_types.h"
 #include "DNA_texture_types.h"
 #include "DNA_vfont_types.h"
 #include "DNA_scene_types.h"
@@ -76,6 +78,7 @@
 #include "BKE_font.h"
 #include "BKE_library.h"
 #include "BKE_main.h"
+#include "BKE_node.h"
 #include "BKE_report.h"
 #include "BKE_sequencer.h"
 #include "BKE_image.h" /* so we can check the image's type */
@@ -492,6 +495,35 @@
 			}
 		}
 		break;
+		case ID_MA:
+		{
+			Material *ma = (Material *)id;
+			bNodeTree *ntree = ma->nodetree;
+			bNode *node;
+
+			for (node = ntree->nodes.first; node; node = node->next) {
+				if (node->type == SH_NODE_SCRIPT) {
+					NodeShaderScript *nss = (NodeShaderScript *)node->storage;
+					rewrite_path_fixed(nss->filepath, visit_cb, absbase, bpath_user_data);
+				}
+			}
+		}
+		break;
+		case ID_NT:
+		{
+			bNodeTree *ntree = (bNodeTree *)id;
+			bNode *node;
+
+			if (ntree->type == NTREE_SHADER) {
+				/* same as lines above */
+				for (node = ntree->nodes.first; node; node = node->next) {
+					if (node->type == SH_NODE_SCRIPT) {
+						NodeShaderScript *nss = (NodeShaderScript *)node->storage;
+						rewrite_path_fixed(nss->filepath, visit_cb, absbase, bpath_user_data);
+					}
+				}
+			}
+		}
 		case ID_TE:
 		{
 			Tex *tex = (Tex *)id;




More information about the Bf-blender-cvs mailing list