Revision: 30297
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30297
Author:   campbellbarton
Date:     2010-07-14 09:47:03 +0200 (Wed, 14 Jul 2010)

Log Message:
-----------
pointcache support for relative external paths with the useual // prefix as 
well as library path option.

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/properties_physics_common.py
    trunk/blender/source/blender/blenkernel/intern/pointcache.c

Modified: trunk/blender/release/scripts/ui/properties_physics_common.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_physics_common.py       
2010-07-14 07:35:39 UTC (rev 30296)
+++ trunk/blender/release/scripts/ui/properties_physics_common.py       
2010-07-14 07:47:03 UTC (rev 30297)
@@ -46,7 +46,10 @@
         split.prop(cache, "name", text="File Name")
         split.prop(cache, "index", text="")
 
-        layout.label(text="File Path:")
+        row = layout.row()
+        row.label(text="File Path:")
+        row.prop(cache, "use_library_path", "Use Lib Path")
+        
         layout.prop(cache, "filepath", text="")
 
         layout.label(text=cache.info)

Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c 2010-07-14 
07:35:39 UTC (rev 30296)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c 2010-07-14 
07:47:03 UTC (rev 30297)
@@ -1067,21 +1067,21 @@
 
 static int ptcache_path(PTCacheID *pid, char *filename)
 {
-       Library *lib;
+       Library *lib= (pid)? pid->ob->id.lib: NULL;
+       const char *blendfilename= (lib && (pid->cache->flag & 
PTCACHE_IGNORE_LIBPATH)==0) ? lib->filepath: G.sce;
        size_t i;
 
-       lib= (pid)? pid->ob->id.lib: NULL;
-
        if(pid->cache->flag & PTCACHE_EXTERNAL) {
                strcpy(filename, pid->cache->path);
+
+               if(strncmp(filename, "//", 2)==0)
+                       BLI_path_abs(filename, blendfilename);
+
                return BLI_add_slash(filename); /* new strlen() */
        }
        else if (G.relbase_valid || lib) {
                char file[MAX_PTCACHE_PATH]; /* we dont want the dir, only the 
file */
-               char *blendfilename;
 
-               blendfilename= (lib && (pid->cache->flag & 
PTCACHE_IGNORE_LIBPATH)==0) ? lib->filepath: G.sce;
-
                BLI_split_dirfile(blendfilename, NULL, file);
                i = strlen(file);
                


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to