|
@@ -1110,45 +1110,51 @@ RLAPI void MemFree(void *ptr); // Internal me
|
|
|
|
|
|
// Set custom callbacks
|
|
|
// WARNING: Callbacks setup is intended for advanced users
|
|
|
-RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
|
|
|
-RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
|
|
|
-RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver
|
|
|
-RLAPI void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader
|
|
|
-RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
|
|
|
+RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
|
|
|
+RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
|
|
|
+RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver
|
|
|
+RLAPI void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader
|
|
|
+RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
|
|
|
|
|
|
// Files management functions
|
|
|
RLAPI unsigned char *LoadFileData(const char *fileName, int *dataSize); // Load file data as byte array (read)
|
|
|
-RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
|
|
|
+RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
|
|
|
RLAPI bool SaveFileData(const char *fileName, void *data, int dataSize); // Save data to file from byte array (write), returns true on success
|
|
|
RLAPI bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName); // Export data to code (.h), returns true on success
|
|
|
-RLAPI char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
|
|
|
-RLAPI void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
|
|
|
-RLAPI bool SaveFileText(const char *fileName, const char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
|
|
|
+RLAPI char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
|
|
|
+RLAPI void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
|
|
|
+RLAPI bool SaveFileText(const char *fileName, const char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
|
|
|
//------------------------------------------------------------------
|
|
|
|
|
|
// File system functions
|
|
|
-RLAPI bool FileExists(const char *fileName); // Check if file exists
|
|
|
-RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists
|
|
|
-RLAPI bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (recommended include point: .png, .wav)
|
|
|
-RLAPI int GetFileLength(const char *fileName); // Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
|
|
|
-RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png')
|
|
|
-RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string
|
|
|
-RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string)
|
|
|
-RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string)
|
|
|
-RLAPI const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string)
|
|
|
-RLAPI const char *GetWorkingDirectory(void); // Get current working directory (uses static string)
|
|
|
-RLAPI const char *GetApplicationDirectory(void); // Get the directory of the running application (uses static string)
|
|
|
-RLAPI int MakeDirectory(const char *dirPath); // Create directories (including full path requested), returns 0 on success
|
|
|
-RLAPI bool ChangeDirectory(const char *dir); // Change working directory, return true on success
|
|
|
-RLAPI bool IsPathFile(const char *path); // Check if a given path is a file or a directory
|
|
|
-RLAPI bool IsFileNameValid(const char *fileName); // Check if fileName is valid for the platform/OS
|
|
|
-RLAPI FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths
|
|
|
+RLAPI int FileRename(const char *fileName, const char *fileRename); // Rename file (if exists)
|
|
|
+RLAPI int FileRemove(const char *fileName); // Remove file (if exists)
|
|
|
+RLAPI int FileCopy(const char *srcPath, const char *dstPath); // Copy file from one path to another, dstPath created if it doesn't exist
|
|
|
+RLAPI int FileMove(const char *srcPath, const char *dstPath); // Move file from one directory to another, dstPath created if it doesn't exist
|
|
|
+RLAPI int FileTextReplace(const char *fileName, const char *search, const char *replacement); // Replace text in an existing file
|
|
|
+RLAPI int FileTextFindIndex(const char *fileName, const char *search); // Find text in existing file
|
|
|
+RLAPI bool FileExists(const char *fileName); // Check if file exists
|
|
|
+RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists
|
|
|
+RLAPI bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (recommended include point: .png, .wav)
|
|
|
+RLAPI int GetFileLength(const char *fileName); // Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
|
|
|
+RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time)
|
|
|
+RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png')
|
|
|
+RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string
|
|
|
+RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string)
|
|
|
+RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string)
|
|
|
+RLAPI const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string)
|
|
|
+RLAPI const char *GetWorkingDirectory(void); // Get current working directory (uses static string)
|
|
|
+RLAPI const char *GetApplicationDirectory(void); // Get the directory of the running application (uses static string)
|
|
|
+RLAPI int MakeDirectory(const char *dirPath); // Create directories (including full path requested), returns 0 on success
|
|
|
+RLAPI bool ChangeDirectory(const char *dir); // Change working directory, return true on success
|
|
|
+RLAPI bool IsPathFile(const char *path); // Check if a given path is a file or a directory
|
|
|
+RLAPI bool IsFileNameValid(const char *fileName); // Check if fileName is valid for the platform/OS
|
|
|
+RLAPI FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths
|
|
|
RLAPI FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs); // Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result
|
|
|
-RLAPI void UnloadDirectoryFiles(FilePathList files); // Unload filepaths
|
|
|
-RLAPI bool IsFileDropped(void); // Check if a file has been dropped into window
|
|
|
-RLAPI FilePathList LoadDroppedFiles(void); // Load dropped filepaths
|
|
|
-RLAPI void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths
|
|
|
-RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time)
|
|
|
+RLAPI void UnloadDirectoryFiles(FilePathList files); // Unload filepaths
|
|
|
+RLAPI bool IsFileDropped(void); // Check if a file has been dropped into window
|
|
|
+RLAPI FilePathList LoadDroppedFiles(void); // Load dropped filepaths
|
|
|
+RLAPI void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths
|
|
|
|
|
|
// Compression/Encoding functionality
|
|
|
RLAPI unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize); // Compress data (DEFLATE algorithm), memory must be MemFree()
|
|
@@ -1504,7 +1510,7 @@ RLAPI int GetCodepointPrevious(const char *text, int *codepointSize);
|
|
|
RLAPI const char *CodepointToUTF8(int codepoint, int *utf8Size); // Encode one codepoint into UTF-8 byte array (array length returned as parameter)
|
|
|
|
|
|
// Text strings management functions (no UTF-8 strings, only byte chars)
|
|
|
-// WARNING 1: Most of these functions use internal static buffers, it's recommended to store returned data on user-side for re-use
|
|
|
+// WARNING 1: Most of these functions use internal static buffers[], it's recommended to store returned data on user-side for re-use
|
|
|
// WARNING 2: Some strings allocate memory internally for the returned strings, those strings must be free by user using MemFree()
|
|
|
RLAPI char **LoadTextLines(const char *text, int *count); // Load text as separate lines ('\n')
|
|
|
RLAPI void UnloadTextLines(char **text, int lineCount); // Unload text lines
|
|
@@ -1513,12 +1519,15 @@ RLAPI bool TextIsEqual(const char *text1, const char *text2);
|
|
|
RLAPI unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending
|
|
|
RLAPI const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf() style)
|
|
|
RLAPI const char *TextSubtext(const char *text, int position, int length); // Get a piece of a text string
|
|
|
-RLAPI char *TextReplace(const char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!)
|
|
|
+RLAPI const char *TextRemoveSpaces(const char *text); // Remove text spaces, concat words
|
|
|
+RLAPI char *GetTextBetween(const char *text, const char *begin, const char *end); // Get text between two strings
|
|
|
+RLAPI char *TextReplace(const char *text, const char *search, const char *replacement); // Replace text string (WARNING: memory must be freed!)
|
|
|
+RLAPI char *TextReplaceBetween(const char *text, const char *begin, const char *end, const char *replacement); // Replace text between two specific strings (WARNING: memory must be freed!)
|
|
|
RLAPI char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (WARNING: memory must be freed!)
|
|
|
RLAPI char *TextJoin(char **textList, int count, const char *delimiter); // Join text strings with delimiter
|
|
|
RLAPI char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple strings, using MAX_TEXTSPLIT_COUNT static strings
|
|
|
-RLAPI void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor!
|
|
|
-RLAPI int TextFindIndex(const char *text, const char *find); // Find first text occurrence within a string, -1 if not found
|
|
|
+RLAPI void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor
|
|
|
+RLAPI int TextFindIndex(const char *text, const char *search); // Find first text occurrence within a string, -1 if not found
|
|
|
RLAPI char *TextToUpper(const char *text); // Get upper case version of provided string
|
|
|
RLAPI char *TextToLower(const char *text); // Get lower case version of provided string
|
|
|
RLAPI char *TextToPascal(const char *text); // Get Pascal case notation version of provided string
|