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:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user