update dynamic libs to 5.0
This commit is contained in:
parent
0cd3515b74
commit
ac9a681670
5 changed files with 1517 additions and 256 deletions
File diff suppressed because it is too large
Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,6 +1,6 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib v4.5 - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
|
* raylib v5.0 - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
|
||||||
*
|
*
|
||||||
* FEATURES:
|
* FEATURES:
|
||||||
* - NO external dependencies, all required libraries included with raylib
|
* - NO external dependencies, all required libraries included with raylib
|
||||||
|
@ -84,6 +84,10 @@
|
||||||
// NOTE: Require recompiling raylib sources
|
// NOTE: Require recompiling raylib sources
|
||||||
// NOTE: MSVC C++ compiler does not support compound literals (C99 feature)
|
// NOTE: MSVC C++ compiler does not support compound literals (C99 feature)
|
||||||
// Plain structures in C++ (without constructors) can be initialized with { }
|
// Plain structures in C++ (without constructors) can be initialized with { }
|
||||||
|
// This is called aggregate initialization (C++11 feature)
|
||||||
|
// Some compilers (mostly macos clang) default to C++98,
|
||||||
|
// where aggregate initialization can't be used
|
||||||
|
// So, give a more clear error stating how to fix this
|
||||||
// NOTE: We set some defines with some data types declared by raylib
|
// NOTE: We set some defines with some data types declared by raylib
|
||||||
// Other modules (raymath, rlgl) also require some of those types, so,
|
// Other modules (raymath, rlgl) also require some of those types, so,
|
||||||
// to be able to use those other modules as standalone (not depending on raylib)
|
// to be able to use those other modules as standalone (not depending on raylib)
|
||||||
|
@ -273,6 +277,7 @@ typedef struct ModelAnimation {
|
||||||
int frameCount; // Number of animation frames
|
int frameCount; // Number of animation frames
|
||||||
BoneInfo *bones; // Bones information (skeleton)
|
BoneInfo *bones; // Bones information (skeleton)
|
||||||
Transform **framePoses; // Poses array by frame
|
Transform **framePoses; // Poses array by frame
|
||||||
|
char name[32]; // Animation name
|
||||||
} ModelAnimation;
|
} ModelAnimation;
|
||||||
// Ray, ray for raycasting
|
// Ray, ray for raycasting
|
||||||
typedef struct Ray {
|
typedef struct Ray {
|
||||||
|
@ -354,6 +359,18 @@ typedef struct FilePathList {
|
||||||
unsigned int count; // Filepaths entries count
|
unsigned int count; // Filepaths entries count
|
||||||
char **paths; // Filepaths entries
|
char **paths; // Filepaths entries
|
||||||
} FilePathList;
|
} FilePathList;
|
||||||
|
// Automation event
|
||||||
|
typedef struct AutomationEvent {
|
||||||
|
unsigned int frame; // Event frame
|
||||||
|
unsigned int type; // Event type (AutomationEventType)
|
||||||
|
int params[4]; // Event parameters (if required)
|
||||||
|
} AutomationEvent;
|
||||||
|
// Automation event list
|
||||||
|
typedef struct AutomationEventList {
|
||||||
|
unsigned int capacity; // Events max entries (MAX_AUTOMATION_EVENTS)
|
||||||
|
unsigned int count; // Events entries count
|
||||||
|
AutomationEvent *events; // Events entries
|
||||||
|
} AutomationEventList;
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Enumerators Definition
|
// Enumerators Definition
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
@ -374,6 +391,7 @@ typedef enum {
|
||||||
FLAG_WINDOW_TRANSPARENT = 0x00000010, // Set to allow transparent framebuffer
|
FLAG_WINDOW_TRANSPARENT = 0x00000010, // Set to allow transparent framebuffer
|
||||||
FLAG_WINDOW_HIGHDPI = 0x00002000, // Set to support HighDPI
|
FLAG_WINDOW_HIGHDPI = 0x00002000, // Set to support HighDPI
|
||||||
FLAG_WINDOW_MOUSE_PASSTHROUGH = 0x00004000, // Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED
|
FLAG_WINDOW_MOUSE_PASSTHROUGH = 0x00004000, // Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED
|
||||||
|
FLAG_BORDERLESS_WINDOWED_MODE = 0x00008000, // Set to run program in borderless windowed mode
|
||||||
FLAG_MSAA_4X_HINT = 0x00000020, // Set to try enabling MSAA 4X
|
FLAG_MSAA_4X_HINT = 0x00000020, // Set to try enabling MSAA 4X
|
||||||
FLAG_INTERLACED_HINT = 0x00010000 // Set to try enabling interlaced video format (for V3D)
|
FLAG_INTERLACED_HINT = 0x00010000 // Set to try enabling interlaced video format (for V3D)
|
||||||
} ConfigFlags;
|
} ConfigFlags;
|
||||||
|
@ -638,6 +656,9 @@ typedef enum {
|
||||||
PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float)
|
PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float)
|
||||||
PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float)
|
PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float)
|
||||||
PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float)
|
PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float)
|
||||||
|
PIXELFORMAT_UNCOMPRESSED_R16, // 16 bpp (1 channel - half float)
|
||||||
|
PIXELFORMAT_UNCOMPRESSED_R16G16B16, // 16*3 bpp (3 channels - half float)
|
||||||
|
PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, // 16*4 bpp (4 channels - half float)
|
||||||
PIXELFORMAT_COMPRESSED_DXT1_RGB, // 4 bpp (no alpha)
|
PIXELFORMAT_COMPRESSED_DXT1_RGB, // 4 bpp (no alpha)
|
||||||
PIXELFORMAT_COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha)
|
PIXELFORMAT_COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha)
|
||||||
PIXELFORMAT_COMPRESSED_DXT3_RGBA, // 8 bpp
|
PIXELFORMAT_COMPRESSED_DXT3_RGBA, // 8 bpp
|
||||||
|
@ -731,8 +752,8 @@ typedef enum {
|
||||||
// Callbacks to hook some internal functions
|
// Callbacks to hook some internal functions
|
||||||
// WARNING: These callbacks are intended for advance users
|
// WARNING: These callbacks are intended for advance users
|
||||||
typedef void (*TraceLogCallback)(int logLevel, const char *text, void * args); // Logging: Redirect trace log messages
|
typedef void (*TraceLogCallback)(int logLevel, const char *text, void * args); // Logging: Redirect trace log messages
|
||||||
typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, unsigned int *bytesRead); // FileIO: Load binary data
|
typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, int *dataSize); // FileIO: Load binary data
|
||||||
typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, unsigned int bytesToWrite); // FileIO: Save binary data
|
typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, int dataSize); // FileIO: Save binary data
|
||||||
typedef char *(*LoadFileTextCallback)(const char *fileName); // FileIO: Load text data
|
typedef char *(*LoadFileTextCallback)(const char *fileName); // FileIO: Load text data
|
||||||
typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileIO: Save text data
|
typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileIO: Save text data
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
|
@ -744,8 +765,8 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Window-related functions
|
// Window-related functions
|
||||||
void InitWindow(int width, int height, const char *title); // Initialize window and OpenGL context
|
void InitWindow(int width, int height, const char *title); // Initialize window and OpenGL context
|
||||||
bool WindowShouldClose(void); // Check if KEY_ESCAPE pressed or Close icon pressed
|
|
||||||
void CloseWindow(void); // Close window and unload OpenGL context
|
void CloseWindow(void); // Close window and unload OpenGL context
|
||||||
|
bool WindowShouldClose(void); // Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)
|
||||||
bool IsWindowReady(void); // Check if window has been initialized successfully
|
bool IsWindowReady(void); // Check if window has been initialized successfully
|
||||||
bool IsWindowFullscreen(void); // Check if window is currently fullscreen
|
bool IsWindowFullscreen(void); // Check if window is currently fullscreen
|
||||||
bool IsWindowHidden(void); // Check if window is currently hidden (only PLATFORM_DESKTOP)
|
bool IsWindowHidden(void); // Check if window is currently hidden (only PLATFORM_DESKTOP)
|
||||||
|
@ -757,17 +778,20 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void SetWindowState(unsigned int flags); // Set window configuration state using flags (only PLATFORM_DESKTOP)
|
void SetWindowState(unsigned int flags); // Set window configuration state using flags (only PLATFORM_DESKTOP)
|
||||||
void ClearWindowState(unsigned int flags); // Clear window configuration state flags
|
void ClearWindowState(unsigned int flags); // Clear window configuration state flags
|
||||||
void ToggleFullscreen(void); // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
|
void ToggleFullscreen(void); // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
|
||||||
|
void ToggleBorderlessWindowed(void); // Toggle window state: borderless windowed (only PLATFORM_DESKTOP)
|
||||||
void MaximizeWindow(void); // Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
|
void MaximizeWindow(void); // Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
|
||||||
void MinimizeWindow(void); // Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
|
void MinimizeWindow(void); // Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
|
||||||
void RestoreWindow(void); // Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
|
void RestoreWindow(void); // Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
|
||||||
void SetWindowIcon(Image image); // Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
|
void SetWindowIcon(Image image); // Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
|
||||||
void SetWindowIcons(Image *images, int count); // Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
|
void SetWindowIcons(Image *images, int count); // Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
|
||||||
void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP)
|
void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)
|
||||||
void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP)
|
void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP)
|
||||||
void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode)
|
void SetWindowMonitor(int monitor); // Set monitor for the current window
|
||||||
void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
|
void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
|
||||||
|
void SetWindowMaxSize(int width, int height); // Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)
|
||||||
void SetWindowSize(int width, int height); // Set window dimensions
|
void SetWindowSize(int width, int height); // Set window dimensions
|
||||||
void SetWindowOpacity(float opacity); // Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
|
void SetWindowOpacity(float opacity); // Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
|
||||||
|
void SetWindowFocused(void); // Set window focused (only PLATFORM_DESKTOP)
|
||||||
void *GetWindowHandle(void); // Get native window handle
|
void *GetWindowHandle(void); // Get native window handle
|
||||||
int GetScreenWidth(void); // Get current screen width
|
int GetScreenWidth(void); // Get current screen width
|
||||||
int GetScreenHeight(void); // Get current screen height
|
int GetScreenHeight(void); // Get current screen height
|
||||||
|
@ -783,18 +807,11 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate
|
int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate
|
||||||
Vector2 GetWindowPosition(void); // Get window position XY on monitor
|
Vector2 GetWindowPosition(void); // Get window position XY on monitor
|
||||||
Vector2 GetWindowScaleDPI(void); // Get window scale DPI factor
|
Vector2 GetWindowScaleDPI(void); // Get window scale DPI factor
|
||||||
const char *GetMonitorName(int monitor); // Get the human-readable, UTF-8 encoded name of the primary monitor
|
const char *GetMonitorName(int monitor); // Get the human-readable, UTF-8 encoded name of the specified monitor
|
||||||
void SetClipboardText(const char *text); // Set clipboard text content
|
void SetClipboardText(const char *text); // Set clipboard text content
|
||||||
const char *GetClipboardText(void); // Get clipboard text content
|
const char *GetClipboardText(void); // Get clipboard text content
|
||||||
void EnableEventWaiting(void); // Enable waiting for events on EndDrawing(), no automatic event polling
|
void EnableEventWaiting(void); // Enable waiting for events on EndDrawing(), no automatic event polling
|
||||||
void DisableEventWaiting(void); // Disable waiting for events on EndDrawing(), automatic events polling
|
void DisableEventWaiting(void); // Disable waiting for events on EndDrawing(), automatic events polling
|
||||||
// Custom frame control functions
|
|
||||||
// NOTE: Those functions are intended for advance users that want full control over the frame processing
|
|
||||||
// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents()
|
|
||||||
// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
|
|
||||||
void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing)
|
|
||||||
void PollInputEvents(void); // Register all input events
|
|
||||||
void WaitTime(double seconds); // Wait for some time (halt program execution)
|
|
||||||
// Cursor-related functions
|
// Cursor-related functions
|
||||||
void ShowCursor(void); // Shows cursor
|
void ShowCursor(void); // Shows cursor
|
||||||
void HideCursor(void); // Hides cursor
|
void HideCursor(void); // Hides cursor
|
||||||
|
@ -845,20 +862,32 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position
|
Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position
|
||||||
// Timing-related functions
|
// Timing-related functions
|
||||||
void SetTargetFPS(int fps); // Set target FPS (maximum)
|
void SetTargetFPS(int fps); // Set target FPS (maximum)
|
||||||
int GetFPS(void); // Get current FPS
|
|
||||||
float GetFrameTime(void); // Get time in seconds for last frame drawn (delta time)
|
float GetFrameTime(void); // Get time in seconds for last frame drawn (delta time)
|
||||||
double GetTime(void); // Get elapsed time in seconds since InitWindow()
|
double GetTime(void); // Get elapsed time in seconds since InitWindow()
|
||||||
// Misc. functions
|
int GetFPS(void); // Get current FPS
|
||||||
int GetRandomValue(int min, int max); // Get a random value between min and max (both included)
|
// Custom frame control functions
|
||||||
|
// NOTE: Those functions are intended for advance users that want full control over the frame processing
|
||||||
|
// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents()
|
||||||
|
// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
|
||||||
|
void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing)
|
||||||
|
void PollInputEvents(void); // Register all input events
|
||||||
|
void WaitTime(double seconds); // Wait for some time (halt program execution)
|
||||||
|
// Random values generation functions
|
||||||
void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator
|
void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator
|
||||||
|
int GetRandomValue(int min, int max); // Get a random value between min and max (both included)
|
||||||
|
int *LoadRandomSequence(unsigned int count, int min, int max); // Load random values sequence, no values repeated
|
||||||
|
void UnloadRandomSequence(int *sequence); // Unload random values sequence
|
||||||
|
// Misc. functions
|
||||||
void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format)
|
void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format)
|
||||||
void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS)
|
void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS)
|
||||||
|
void OpenURL(const char *url); // Open URL with default system browser (if available)
|
||||||
|
// NOTE: Following functions implemented in module [utils]
|
||||||
|
//------------------------------------------------------------------
|
||||||
void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
|
void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
|
||||||
void SetTraceLogLevel(int logLevel); // Set the current threshold (minimum) log level
|
void SetTraceLogLevel(int logLevel); // Set the current threshold (minimum) log level
|
||||||
void *MemAlloc(unsigned int size); // Internal memory allocator
|
void *MemAlloc(unsigned int size); // Internal memory allocator
|
||||||
void *MemRealloc(void *ptr, unsigned int size); // Internal memory reallocator
|
void *MemRealloc(void *ptr, unsigned int size); // Internal memory reallocator
|
||||||
void MemFree(void *ptr); // Internal memory free
|
void MemFree(void *ptr); // Internal memory free
|
||||||
void OpenURL(const char *url); // Open URL with default system browser (if available)
|
|
||||||
// Set custom callbacks
|
// Set custom callbacks
|
||||||
// WARNING: Callbacks setup is intended for advance users
|
// WARNING: Callbacks setup is intended for advance users
|
||||||
void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
|
void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
|
||||||
|
@ -867,13 +896,15 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader
|
void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader
|
||||||
void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
|
void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
|
||||||
// Files management functions
|
// Files management functions
|
||||||
unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead); // Load file data as byte array (read)
|
unsigned char *LoadFileData(const char *fileName, int *dataSize); // Load file data as byte array (read)
|
||||||
void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
|
void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
|
||||||
bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success
|
bool SaveFileData(const char *fileName, void *data, int dataSize); // Save data to file from byte array (write), returns true on success
|
||||||
bool ExportDataAsCode(const unsigned char *data, unsigned int size, const char *fileName); // Export data to code (.h), returns true on success
|
bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName); // Export data to code (.h), returns true on success
|
||||||
char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
|
char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
|
||||||
void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
|
void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
|
||||||
bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
|
bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
// File system functions
|
||||||
bool FileExists(const char *fileName); // Check if file exists
|
bool FileExists(const char *fileName); // Check if file exists
|
||||||
bool DirectoryExists(const char *dirPath); // Check if a directory path exists
|
bool DirectoryExists(const char *dirPath); // Check if a directory path exists
|
||||||
bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (including point: .png, .wav)
|
bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (including point: .png, .wav)
|
||||||
|
@ -884,7 +915,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string)
|
const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string)
|
||||||
const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string)
|
const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string)
|
||||||
const char *GetWorkingDirectory(void); // Get current working directory (uses static string)
|
const char *GetWorkingDirectory(void); // Get current working directory (uses static string)
|
||||||
const char *GetApplicationDirectory(void); // Get the directory if the running application (uses static string)
|
const char *GetApplicationDirectory(void); // Get the directory of the running application (uses static string)
|
||||||
bool ChangeDirectory(const char *dir); // Change working directory, return true on success
|
bool ChangeDirectory(const char *dir); // Change working directory, return true on success
|
||||||
bool IsPathFile(const char *path); // Check if a given path is a file or a directory
|
bool IsPathFile(const char *path); // Check if a given path is a file or a directory
|
||||||
FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths
|
FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths
|
||||||
|
@ -899,17 +930,27 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
|
unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
|
||||||
char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
|
char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
|
||||||
unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
|
unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
|
||||||
|
// Automation events functionality
|
||||||
|
AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
|
||||||
|
void UnloadAutomationEventList(AutomationEventList *list); // Unload automation events list from file
|
||||||
|
bool ExportAutomationEventList(AutomationEventList list, const char *fileName); // Export automation events list as text file
|
||||||
|
void SetAutomationEventList(AutomationEventList *list); // Set automation event list to record to
|
||||||
|
void SetAutomationEventBaseFrame(int frame); // Set automation event internal base frame to start recording
|
||||||
|
void StartAutomationEventRecording(void); // Start recording automation events (AutomationEventList must be set)
|
||||||
|
void StopAutomationEventRecording(void); // Stop recording automation events
|
||||||
|
void PlayAutomationEvent(AutomationEvent event); // Play a recorded automation event
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Input Handling Functions (Module: core)
|
// Input Handling Functions (Module: core)
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Input-related functions: keyboard
|
// Input-related functions: keyboard
|
||||||
bool IsKeyPressed(int key); // Check if a key has been pressed once
|
bool IsKeyPressed(int key); // Check if a key has been pressed once
|
||||||
|
bool IsKeyPressedRepeat(int key); // Check if a key has been pressed again (Only PLATFORM_DESKTOP)
|
||||||
bool IsKeyDown(int key); // Check if a key is being pressed
|
bool IsKeyDown(int key); // Check if a key is being pressed
|
||||||
bool IsKeyReleased(int key); // Check if a key has been released once
|
bool IsKeyReleased(int key); // Check if a key has been released once
|
||||||
bool IsKeyUp(int key); // Check if a key is NOT being pressed
|
bool IsKeyUp(int key); // Check if a key is NOT being pressed
|
||||||
void SetExitKey(int key); // Set a custom key to exit program (default is ESC)
|
|
||||||
int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
|
int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
|
||||||
int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
|
int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
|
||||||
|
void SetExitKey(int key); // Set a custom key to exit program (default is ESC)
|
||||||
// Input-related functions: gamepads
|
// Input-related functions: gamepads
|
||||||
bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available
|
bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available
|
||||||
const char *GetGamepadName(int gamepad); // Get gamepad internal name id
|
const char *GetGamepadName(int gamepad); // Get gamepad internal name id
|
||||||
|
@ -946,7 +987,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
// Gestures and Touch Handling Functions (Module: rgestures)
|
// Gestures and Touch Handling Functions (Module: rgestures)
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags
|
void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags
|
||||||
bool IsGestureDetected(int gesture); // Check if a gesture have been detected
|
bool IsGestureDetected(unsigned int gesture); // Check if a gesture have been detected
|
||||||
int GetGestureDetected(void); // Get latest detected gesture
|
int GetGestureDetected(void); // Get latest detected gesture
|
||||||
float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds
|
float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds
|
||||||
Vector2 GetGestureDragVector(void); // Get gesture drag vector
|
Vector2 GetGestureDragVector(void); // Get gesture drag vector
|
||||||
|
@ -969,18 +1010,17 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void DrawPixel(int posX, int posY, Color color); // Draw a pixel
|
void DrawPixel(int posX, int posY, Color color); // Draw a pixel
|
||||||
void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version)
|
void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version)
|
||||||
void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line
|
void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line
|
||||||
void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version)
|
void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (using gl lines)
|
||||||
void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness
|
void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line (using triangles/quads)
|
||||||
void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out
|
void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence (using gl lines)
|
||||||
void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); // Draw line using quadratic bezier curves with a control point
|
void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw line segment cubic-bezier in-out interpolation
|
||||||
void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); // Draw line using cubic bezier curves with 2 control points
|
|
||||||
void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence
|
|
||||||
void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
|
void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
|
||||||
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle
|
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle
|
||||||
void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline
|
void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline
|
||||||
void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle
|
void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle
|
||||||
void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version)
|
void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version)
|
||||||
void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline
|
void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline
|
||||||
|
void DrawCircleLinesV(Vector2 center, float radius, Color color); // Draw circle outline (Vector version)
|
||||||
void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse
|
void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse
|
||||||
void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse outline
|
void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse outline
|
||||||
void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring
|
void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring
|
||||||
|
@ -1003,6 +1043,23 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version)
|
void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version)
|
||||||
void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides
|
void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides
|
||||||
void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters
|
void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters
|
||||||
|
// Splines drawing functions
|
||||||
|
void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Linear, minimum 2 points
|
||||||
|
void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: B-Spline, minimum 4 points
|
||||||
|
void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Catmull-Rom, minimum 4 points
|
||||||
|
void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]
|
||||||
|
void DrawSplineBezierCubic(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]
|
||||||
|
void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color); // Draw spline segment: Linear, 2 points
|
||||||
|
void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: B-Spline, 4 points
|
||||||
|
void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: Catmull-Rom, 4 points
|
||||||
|
void DrawSplineSegmentBezierQuadratic(Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color); // Draw spline segment: Quadratic Bezier, 2 points, 1 control point
|
||||||
|
void DrawSplineSegmentBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color); // Draw spline segment: Cubic Bezier, 2 points, 2 control points
|
||||||
|
// Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]
|
||||||
|
Vector2 GetSplinePointLinear(Vector2 startPos, Vector2 endPos, float t); // Get (evaluate) spline point: Linear
|
||||||
|
Vector2 GetSplinePointBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t); // Get (evaluate) spline point: B-Spline
|
||||||
|
Vector2 GetSplinePointCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t); // Get (evaluate) spline point: Catmull-Rom
|
||||||
|
Vector2 GetSplinePointBezierQuad(Vector2 p1, Vector2 c2, Vector2 p3, float t); // Get (evaluate) spline point: Quadratic Bezier
|
||||||
|
Vector2 GetSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t); // Get (evaluate) spline point: Cubic Bezier
|
||||||
// Basic shapes collision detection functions
|
// Basic shapes collision detection functions
|
||||||
bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles
|
bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles
|
||||||
bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles
|
bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles
|
||||||
|
@ -1021,6 +1078,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
// NOTE: These functions do not require GPU access
|
// NOTE: These functions do not require GPU access
|
||||||
Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
|
Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
|
||||||
Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
|
Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
|
||||||
|
Image LoadImageSvg(const char *fileNameOrString, int width, int height); // Load image from SVG file data or string with specified size
|
||||||
Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data)
|
Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data)
|
||||||
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png'
|
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png'
|
||||||
Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data
|
Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data
|
||||||
|
@ -1028,12 +1086,13 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
bool IsImageReady(Image image); // Check if an image is ready
|
bool IsImageReady(Image image); // Check if an image is ready
|
||||||
void UnloadImage(Image image); // Unload image from CPU memory (RAM)
|
void UnloadImage(Image image); // Unload image from CPU memory (RAM)
|
||||||
bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success
|
bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success
|
||||||
|
unsigned char *ExportImageToMemory(Image image, const char *fileType, int *fileSize); // Export image to memory buffer
|
||||||
bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success
|
bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success
|
||||||
// Image generation functions
|
// Image generation functions
|
||||||
Image GenImageColor(int width, int height, Color color); // Generate image: plain color
|
Image GenImageColor(int width, int height, Color color); // Generate image: plain color
|
||||||
Image GenImageGradientV(int width, int height, Color top, Color bottom); // Generate image: vertical gradient
|
Image GenImageGradientLinear(int width, int height, int direction, Color start, Color end); // Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
|
||||||
Image GenImageGradientH(int width, int height, Color left, Color right); // Generate image: horizontal gradient
|
|
||||||
Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient
|
Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient
|
||||||
|
Image GenImageGradientSquare(int width, int height, float density, Color inner, Color outer); // Generate image: square gradient
|
||||||
Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked
|
Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked
|
||||||
Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise
|
Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise
|
||||||
Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise
|
Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise
|
||||||
|
@ -1059,6 +1118,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
|
void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
|
||||||
void ImageFlipVertical(Image *image); // Flip image vertically
|
void ImageFlipVertical(Image *image); // Flip image vertically
|
||||||
void ImageFlipHorizontal(Image *image); // Flip image horizontally
|
void ImageFlipHorizontal(Image *image); // Flip image horizontally
|
||||||
|
void ImageRotate(Image *image, int degrees); // Rotate image by input angle in degrees (-359 to 359)
|
||||||
void ImageRotateCW(Image *image); // Rotate image clockwise 90deg
|
void ImageRotateCW(Image *image); // Rotate image clockwise 90deg
|
||||||
void ImageRotateCCW(Image *image); // Rotate image counter-clockwise 90deg
|
void ImageRotateCCW(Image *image); // Rotate image counter-clockwise 90deg
|
||||||
void ImageColorTint(Image *image, Color color); // Modify image color: tint
|
void ImageColorTint(Image *image, Color color); // Modify image color: tint
|
||||||
|
@ -1136,13 +1196,13 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
// Font loading/unloading functions
|
// Font loading/unloading functions
|
||||||
Font GetFontDefault(void); // Get the default Font
|
Font GetFontDefault(void); // Get the default Font
|
||||||
Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM)
|
Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM)
|
||||||
Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); // Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set
|
Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount); // Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set
|
||||||
Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style)
|
Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style)
|
||||||
Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
|
Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
|
||||||
bool IsFontReady(Font font); // Check if a font is ready
|
bool IsFontReady(Font font); // Check if a font is ready
|
||||||
GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); // Load font data for further use
|
GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type); // Load font data for further use
|
||||||
Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
|
Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
|
||||||
void UnloadFontData(GlyphInfo *chars, int glyphCount); // Unload font chars info data (RAM)
|
void UnloadFontData(GlyphInfo *glyphs, int glyphCount); // Unload font chars info data (RAM)
|
||||||
void UnloadFont(Font font); // Unload font from GPU memory (VRAM)
|
void UnloadFont(Font font); // Unload font from GPU memory (VRAM)
|
||||||
bool ExportFontAsCode(Font font, const char *fileName); // Export font as code file, returns true on success
|
bool ExportFontAsCode(Font font, const char *fileName); // Export font as code file, returns true on success
|
||||||
// Text drawing functions
|
// Text drawing functions
|
||||||
|
@ -1151,8 +1211,9 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
|
void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
|
||||||
void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); // Draw text using Font and pro parameters (rotation)
|
void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); // Draw text using Font and pro parameters (rotation)
|
||||||
void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
|
void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
|
||||||
void DrawTextCodepoints(Font font, const int *codepoints, int count, Vector2 position, float fontSize, float spacing, Color tint); // Draw multiple character (codepoint)
|
void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint); // Draw multiple character (codepoint)
|
||||||
// Text font info functions
|
// Text font info functions
|
||||||
|
void SetTextLineSpacing(int spacing); // Set vertical line spacing when drawing with line-breaks
|
||||||
int MeasureText(const char *text, int fontSize); // Measure string width for default font
|
int MeasureText(const char *text, int fontSize); // Measure string width for default font
|
||||||
Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); // Measure string size for Font
|
Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); // Measure string size for Font
|
||||||
int GetGlyphIndex(Font font, int codepoint); // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
|
int GetGlyphIndex(Font font, int codepoint); // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
|
||||||
|
@ -1257,10 +1318,10 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
|
void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
|
||||||
void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh
|
void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh
|
||||||
// Model animations loading/unloading functions
|
// Model animations loading/unloading functions
|
||||||
ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); // Load model animations from file
|
ModelAnimation *LoadModelAnimations(const char *fileName, int *animCount); // Load model animations from file
|
||||||
void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose
|
void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose
|
||||||
void UnloadModelAnimation(ModelAnimation anim); // Unload animation data
|
void UnloadModelAnimation(ModelAnimation anim); // Unload animation data
|
||||||
void UnloadModelAnimations(ModelAnimation *animations, unsigned int count); // Unload animation array data
|
void UnloadModelAnimations(ModelAnimation *animations, int animCount); // Unload animation array data
|
||||||
bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match
|
bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match
|
||||||
// Collision detection functions
|
// Collision detection functions
|
||||||
bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres
|
bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres
|
||||||
|
@ -1280,16 +1341,19 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
|
||||||
void CloseAudioDevice(void); // Close the audio device and context
|
void CloseAudioDevice(void); // Close the audio device and context
|
||||||
bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully
|
bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully
|
||||||
void SetMasterVolume(float volume); // Set master volume (listener)
|
void SetMasterVolume(float volume); // Set master volume (listener)
|
||||||
|
float GetMasterVolume(void); // Get master volume (listener)
|
||||||
// Wave/Sound loading/unloading functions
|
// Wave/Sound loading/unloading functions
|
||||||
Wave LoadWave(const char *fileName); // Load wave data from file
|
Wave LoadWave(const char *fileName); // Load wave data from file
|
||||||
Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
|
Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
|
||||||
bool IsWaveReady(Wave wave); // Checks if wave data is ready
|
bool IsWaveReady(Wave wave); // Checks if wave data is ready
|
||||||
Sound LoadSound(const char *fileName); // Load sound from file
|
Sound LoadSound(const char *fileName); // Load sound from file
|
||||||
Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
|
Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
|
||||||
|
Sound LoadSoundAlias(Sound source); // Create a new sound that shares the same sample data as the source sound, does not own the sound data
|
||||||
bool IsSoundReady(Sound sound); // Checks if a sound is ready
|
bool IsSoundReady(Sound sound); // Checks if a sound is ready
|
||||||
void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
|
void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
|
||||||
void UnloadWave(Wave wave); // Unload wave data
|
void UnloadWave(Wave wave); // Unload wave data
|
||||||
void UnloadSound(Sound sound); // Unload sound
|
void UnloadSound(Sound sound); // Unload sound
|
||||||
|
void UnloadSoundAlias(Sound alias); // Unload a sound alias (does not deallocate sample data)
|
||||||
bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success
|
bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success
|
||||||
bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success
|
bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success
|
||||||
// Wave/Sound management functions
|
// Wave/Sound management functions
|
||||||
|
@ -1339,7 +1403,7 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
|
||||||
void SetAudioStreamPan(AudioStream stream, float pan); // Set pan for audio stream (0.5 is centered)
|
void SetAudioStreamPan(AudioStream stream, float pan); // Set pan for audio stream (0.5 is centered)
|
||||||
void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams
|
void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams
|
||||||
void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
|
void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
|
||||||
void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream
|
void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream, receives the samples as <float>s
|
||||||
void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
|
void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
|
||||||
void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline
|
void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s
|
||||||
void DetachAudioMixedProcessor(AudioCallback processor); // Detach audio stream processor from the entire audio pipeline
|
void DetachAudioMixedProcessor(AudioCallback processor); // Detach audio stream processor from the entire audio pipeline
|
Reference in a new issue