ソースを参照

Merge pull request #661 from ChrisDill/master

Added GetLastWriteTime to allow for file reloading
Ray 7 年 前
コミット
fc4e9e7a37
2 ファイル変更14 行追加0 行削除
  1. 13 0
      src/core.c
  2. 1 0
      src/raylib.h

+ 13 - 0
src/core.c

@@ -123,6 +123,7 @@
 #include <string.h>         // Required for: strrchr(), strcmp()
 //#include <errno.h>          // Macros for reporting and retrieving error conditions through error codes
 #include <ctype.h>          // Required for: tolower() [Used in IsFileExtension()]
+#include <sys/stat.h>       // Required for stat() [Used in GetLastWriteTime()]
 
 #if defined(_MSC_VER)
     #include "external/dirent.h"    // Required for: DIR, opendir(), closedir() [Used in GetDirectoryFiles()]
@@ -1681,6 +1682,18 @@ void ClearDroppedFiles(void)
 #endif
 }
 
+// Get the last write time of a file
+long GetLastWriteTime(const char *fileName)
+{
+    struct stat result = {0}; 
+    if (stat(fileName, &result) == 0)
+    {
+        time_t mod = result.st_mtime;
+        return mod;
+    }
+    return 0;
+}
+
 // Save integer value to storage file (to defined position)
 // NOTE: Storage positions is directly related to file memory layout (4 bytes each integer)
 void StorageSaveValue(int position, int value)

+ 1 - 0
src/raylib.h

@@ -880,6 +880,7 @@ RLAPI bool ChangeDirectory(const char *dir);                      // Change work
 RLAPI bool IsFileDropped(void);                                   // Check if a file has been dropped into window
 RLAPI char **GetDroppedFiles(int *count);                         // Get dropped files names (memory should be freed)
 RLAPI void ClearDroppedFiles(void);                               // Clear dropped files paths buffer (free memory)
+RLAPI long GetLastWriteTime(const char *fileName);                // Get last write time of a file
 
 // Persistent storage management
 RLAPI void StorageSaveValue(int position, int value);             // Save integer value to storage file (to defined position)