option to use the linked path or the local path for pointcache.

needed for sintels hair to be baked locally.
This commit is contained in:
2010-05-06 17:12:44 +00:00
parent 0550512388
commit c8a0592288
5 changed files with 11 additions and 2 deletions

View File

@@ -156,7 +156,7 @@ class OBJECT_PT_groups(ObjectButtonsPanel):
wide_ui = context.region.width > narrowui
split = layout.split(percentage=0.8, align=True)
split.operator("object.group_link", text="Link to Group")
split.operator("object.group_link", text="Add to Group")
split.operator("object.group_add", text="", icon='ZOOMIN')
# XXX, this is bad practice, yes, I wrote it :( - campbell

View File

@@ -73,6 +73,8 @@ def point_cache_ui(self, context, cache, enabled, particles, smoke):
sub.prop(cache, "disk_cache")
col.label(text=cache.info)
sub = col.column()
sub.prop(cache, "use_library_path", "Use Lib Path")
layout.separator()

View File

@@ -1076,7 +1076,7 @@ static int ptcache_path(PTCacheID *pid, char *filename)
char file[MAX_PTCACHE_PATH]; /* we dont want the dir, only the file */
char *blendfilename;
blendfilename= (lib)? lib->filename: G.sce;
blendfilename= (lib && (pid->cache->flag & PTCACHE_IGNORE_LIBPATH)==0) ? lib->filename: G.sce;
BLI_split_dirfile(blendfilename, NULL, file);
i = strlen(file);

View File

@@ -365,6 +365,8 @@ typedef struct SoftBody {
#define PTCACHE_FRAMES_SKIPPED 256
#define PTCACHE_EXTERNAL 512
#define PTCACHE_READ_INFO 1024
/* dont use the filename of the blendfile the data is linked from (write a local cache) */
#define PTCACHE_IGNORE_LIBPATH 2048
/* PTCACHE_OUTDATED + PTCACHE_FRAMES_SKIPPED */
#define PTCACHE_REDO_NEEDED 258

View File

@@ -747,6 +747,11 @@ static void rna_def_pointcache(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "External", "Read cache from an external location");
RNA_def_property_update(prop, NC_OBJECT, "rna_Cache_idname_change");
prop= RNA_def_property(srna, "use_library_path", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", PTCACHE_IGNORE_LIBPATH);
RNA_def_property_ui_text(prop, "Library Path", "Use this files path when library linked indo another file.");
RNA_def_property_update(prop, NC_OBJECT, "rna_Cache_idname_change");
prop= RNA_def_property(srna, "point_cache_list", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_funcs(prop, "rna_Cache_list_begin", "rna_iterator_listbase_next", "rna_iterator_listbase_end", "rna_iterator_listbase_get", 0, 0, 0);
RNA_def_property_struct_type(prop, "PointCache");