Revision: 28208
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28208
Author:   blendix
Date:     2010-04-15 17:36:51 +0200 (Thu, 15 Apr 2010)

Log Message:
-----------
Render Branch: three utility functions:

* mul_v4_fl
* BLI_replace_extension: replace extension in a filename
* BLI_file_newer: test if one file is newer than the other

Modified Paths:
--------------
    branches/render25/source/blender/blenlib/BLI_math_vector.h
    branches/render25/source/blender/blenlib/BLI_path_util.h
    branches/render25/source/blender/blenlib/BLI_storage.h
    branches/render25/source/blender/blenlib/intern/math_vector_inline.c
    branches/render25/source/blender/blenlib/intern/path_util.c
    branches/render25/source/blender/blenlib/intern/storage.c

Modified: branches/render25/source/blender/blenlib/BLI_math_vector.h
===================================================================
--- branches/render25/source/blender/blenlib/BLI_math_vector.h  2010-04-15 
13:51:02 UTC (rev 28207)
+++ branches/render25/source/blender/blenlib/BLI_math_vector.h  2010-04-15 
15:36:51 UTC (rev 28208)
@@ -71,6 +71,7 @@
 MINLINE void mul_v2_v2(float r[2], const float a[2]);
 MINLINE void mul_v3_v3(float r[3], const float a[3]);
 MINLINE void mul_v3_v3v3(float r[3], const float a[3], const float b[3]);
+MINLINE void mul_v4_fl(float r[4], float f);
 
 MINLINE void madd_v3_v3fl(float r[3], const float a[3], float f);
 MINLINE void madd_v3_v3v3(float r[3], const float a[3], const float b[3]);

Modified: branches/render25/source/blender/blenlib/BLI_path_util.h
===================================================================
--- branches/render25/source/blender/blenlib/BLI_path_util.h    2010-04-15 
13:51:02 UTC (rev 28207)
+++ branches/render25/source/blender/blenlib/BLI_path_util.h    2010-04-15 
15:36:51 UTC (rev 28208)
@@ -33,11 +33,6 @@
 #ifndef BLI_UTIL_H
 #define BLI_UTIL_H
 
-/* XXX doesn't seem to be used, marded for removal
-#define mallocstructN(x,y,name) (x*)MEM_mallocN((y)* sizeof(x),name)
-#define callocstructN(x,y,name) (x*)MEM_callocN((y)* sizeof(x),name)
-*/
-
 struct ListBase;
 struct direntry;
 
@@ -61,6 +56,7 @@
 int BKE_rebase_path(char *abs, int abs_size, char *rel, int rel_size, const 
char *base_dir, const char *src_dir, const char *dest_dir);
 void BLI_getlastdir(const char* dir, char *last, int maxlen);
 int BLI_testextensie(const char *str, const char *ext);
+int BLI_replace_extension(char *path, int maxlen, const char *ext);
 void BLI_uniquename(struct ListBase *list, void *vlink, const char defname[], 
char delim, short name_offs, short len);
 void BLI_newname(char * name, int add);
 int BLI_stringdec(char *string, char *head, char *start, unsigned short 
*numlen);

Modified: branches/render25/source/blender/blenlib/BLI_storage.h
===================================================================
--- branches/render25/source/blender/blenlib/BLI_storage.h      2010-04-15 
13:51:02 UTC (rev 28207)
+++ branches/render25/source/blender/blenlib/BLI_storage.h      2010-04-15 
15:36:51 UTC (rev 28208)
@@ -76,5 +76,8 @@
         */
 void BLI_free_file_lines(struct LinkNode *lines);
 
+       /* Compare which of two files was last modified */
+int            BLI_file_newer(const char *file1, const char *file2);
+
 #endif /* BLI_STORAGE_H */
 

Modified: branches/render25/source/blender/blenlib/intern/math_vector_inline.c
===================================================================
--- branches/render25/source/blender/blenlib/intern/math_vector_inline.c        
2010-04-15 13:51:02 UTC (rev 28207)
+++ branches/render25/source/blender/blenlib/intern/math_vector_inline.c        
2010-04-15 15:36:51 UTC (rev 28208)
@@ -188,6 +188,14 @@
        r[2] *= a[2];
 }
 
+MINLINE void mul_v4_fl(float r[4], float f)
+{
+       r[0]*= f;
+       r[1]*= f;
+       r[2]*= f;
+       r[3]*= f;
+}
+
 MINLINE void madd_v2_v2fl(float r[2], const float a[2], float f)
 {
        r[0] += a[0]*f;

Modified: branches/render25/source/blender/blenlib/intern/path_util.c
===================================================================
--- branches/render25/source/blender/blenlib/intern/path_util.c 2010-04-15 
13:51:02 UTC (rev 28207)
+++ branches/render25/source/blender/blenlib/intern/path_util.c 2010-04-15 
15:36:51 UTC (rev 28208)
@@ -1113,6 +1113,24 @@
        return (retval);
 }
 
+int BLI_replace_extension(char *path, int maxlen, const char *ext)
+{
+       int a;
+
+       for(a=strlen(path)-1; a>=0; a--)
+               if(path[a] == '.' || path[a] == '/' || path[a] == '\\')
+                       break;
+       
+       if(path[a] != '.')
+               a= strlen(path);
+
+       if(a + strlen(ext) >= maxlen)
+               return 0;
+
+       strcpy(path+a, ext);
+       return 1;
+}
+
 /*
  * This is a simple version of BLI_split_dirfile that has the following 
advantages...
  * 

Modified: branches/render25/source/blender/blenlib/intern/storage.c
===================================================================
--- branches/render25/source/blender/blenlib/intern/storage.c   2010-04-15 
13:51:02 UTC (rev 28207)
+++ branches/render25/source/blender/blenlib/intern/storage.c   2010-04-15 
15:36:51 UTC (rev 28208)
@@ -500,3 +500,14 @@
 {
        BLI_linklist_free(lines, (void(*)(void*)) MEM_freeN);
 }
+
+int BLI_file_newer(const char *file1, const char *file2)
+{
+       struct stat st1, st2;
+
+       if(stat(file1, &st1)) return 0;
+       if(stat(file2, &st2)) return 0;
+
+       return (st1.st_mtime > st2.st_mtime);
+}
+


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to