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:
@@ -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
|
||||
|
||||
@@ -746,6 +746,11 @@ static void rna_def_pointcache(BlenderRNA *brna)
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", PTCACHE_EXTERNAL);
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user