|
|
@ -1155,20 +1155,19 @@ RLAPI unsigned char *CompressData(const unsigned char *data, int dataSize, int * |
|
|
|
RLAPI unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree() |
|
|
|
RLAPI char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree() |
|
|
|
RLAPI unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree() |
|
|
|
RLAPI unsigned int ComputeCRC32(unsigned char *data, int dataSize); // Compute CRC32 hash code |
|
|
|
RLAPI unsigned int *ComputeMD5(unsigned char *data, int dataSize); // Compute MD5 hash code, returns static int[4] (16 bytes) |
|
|
|
RLAPI unsigned int *ComputeSHA1(unsigned char *data, int dataSize); // Compute SHA1 hash code, returns static int[5] (20 bytes) |
|
|
|
|
|
|
|
RLAPI unsigned int ComputeCRC32(unsigned char *data, int dataSize); // Compute CRC32 hash code |
|
|
|
RLAPI unsigned int *ComputeMD5(unsigned char *data, int dataSize); // Compute MD5 hash code, returns static int[4] (16 bytes) |
|
|
|
RLAPI unsigned int *ComputeSHA1(unsigned char *data, int dataSize); // Compute SHA1 hash code, returns static int[5] (20 bytes) |
|
|
|
|
|
|
|
// Automation events functionality |
|
|
|
RLAPI AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS |
|
|
|
RLAPI void UnloadAutomationEventList(AutomationEventList list); // Unload automation events list from file |
|
|
|
RLAPI bool ExportAutomationEventList(AutomationEventList list, const char *fileName); // Export automation events list as text file |
|
|
|
RLAPI void SetAutomationEventList(AutomationEventList *list); // Set automation event list to record to |
|
|
|
RLAPI void SetAutomationEventBaseFrame(int frame); // Set automation event internal base frame to start recording |
|
|
|
RLAPI void StartAutomationEventRecording(void); // Start recording automation events (AutomationEventList must be set) |
|
|
|
RLAPI void StopAutomationEventRecording(void); // Stop recording automation events |
|
|
|
RLAPI void PlayAutomationEvent(AutomationEvent event); // Play a recorded automation event |
|
|
|
RLAPI AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS |
|
|
|
RLAPI void UnloadAutomationEventList(AutomationEventList list); // Unload automation events list from file |
|
|
|
RLAPI bool ExportAutomationEventList(AutomationEventList list, const char *fileName); // Export automation events list as text file |
|
|
|
RLAPI void SetAutomationEventList(AutomationEventList *list); // Set automation event list to record to |
|
|
|
RLAPI void SetAutomationEventBaseFrame(int frame); // Set automation event internal base frame to start recording |
|
|
|
RLAPI void StartAutomationEventRecording(void); // Start recording automation events (AutomationEventList must be set) |
|
|
|
RLAPI void StopAutomationEventRecording(void); // Stop recording automation events |
|
|
|
RLAPI void PlayAutomationEvent(AutomationEvent event); // Play a recorded automation event |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Input Handling Functions (Module: core) |
|
|
@ -1186,16 +1185,16 @@ RLAPI const char *GetKeyName(int key); // Get name of a Q |
|
|
|
RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) |
|
|
|
|
|
|
|
// Input-related functions: gamepads |
|
|
|
RLAPI bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available |
|
|
|
RLAPI const char *GetGamepadName(int gamepad); // Get gamepad internal name id |
|
|
|
RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once |
|
|
|
RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed |
|
|
|
RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once |
|
|
|
RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed |
|
|
|
RLAPI int GetGamepadButtonPressed(void); // Get the last gamepad button pressed |
|
|
|
RLAPI int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad |
|
|
|
RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis |
|
|
|
RLAPI int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB) |
|
|
|
RLAPI bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available |
|
|
|
RLAPI const char *GetGamepadName(int gamepad); // Get gamepad internal name id |
|
|
|
RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once |
|
|
|
RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed |
|
|
|
RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once |
|
|
|
RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed |
|
|
|
RLAPI int GetGamepadButtonPressed(void); // Get the last gamepad button pressed |
|
|
|
RLAPI int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad |
|
|
|
RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis |
|
|
|
RLAPI int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB) |
|
|
|
RLAPI void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float duration); // Set gamepad vibration for both motors (duration in seconds) |
|
|
|
|
|
|
|
// Input-related functions: mouse |
|
|
@ -1224,19 +1223,19 @@ RLAPI int GetTouchPointCount(void); // Get number of t |
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Gestures and Touch Handling Functions (Module: rgestures) |
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
RLAPI void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags |
|
|
|
RLAPI bool IsGestureDetected(unsigned int gesture); // Check if a gesture have been detected |
|
|
|
RLAPI int GetGestureDetected(void); // Get latest detected gesture |
|
|
|
RLAPI float GetGestureHoldDuration(void); // Get gesture hold time in seconds |
|
|
|
RLAPI Vector2 GetGestureDragVector(void); // Get gesture drag vector |
|
|
|
RLAPI float GetGestureDragAngle(void); // Get gesture drag angle |
|
|
|
RLAPI Vector2 GetGesturePinchVector(void); // Get gesture pinch delta |
|
|
|
RLAPI float GetGesturePinchAngle(void); // Get gesture pinch angle |
|
|
|
RLAPI void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags |
|
|
|
RLAPI bool IsGestureDetected(unsigned int gesture); // Check if a gesture have been detected |
|
|
|
RLAPI int GetGestureDetected(void); // Get latest detected gesture |
|
|
|
RLAPI float GetGestureHoldDuration(void); // Get gesture hold time in seconds |
|
|
|
RLAPI Vector2 GetGestureDragVector(void); // Get gesture drag vector |
|
|
|
RLAPI float GetGestureDragAngle(void); // Get gesture drag angle |
|
|
|
RLAPI Vector2 GetGesturePinchVector(void); // Get gesture pinch delta |
|
|
|
RLAPI float GetGesturePinchAngle(void); // Get gesture pinch angle |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Camera System Functions (Module: rcamera) |
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
RLAPI void UpdateCamera(Camera *camera, int mode); // Update camera position for selected mode |
|
|
|
RLAPI void UpdateCamera(Camera *camera, int mode); // Update camera position for selected mode |
|
|
|
RLAPI void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, float zoom); // Update camera movement/rotation |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
@ -1245,9 +1244,9 @@ RLAPI void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, f |
|
|
|
// Set texture and rectangle to be used on shapes drawing |
|
|
|
// NOTE: It can be useful when using basic shapes and one single font, |
|
|
|
// defining a font char white rectangle would allow drawing everything in a single draw call |
|
|
|
RLAPI void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing |
|
|
|
RLAPI Texture2D GetShapesTexture(void); // Get texture that is used for shapes drawing |
|
|
|
RLAPI Rectangle GetShapesTextureRectangle(void); // Get texture source rectangle that is used for shapes drawing |
|
|
|
RLAPI void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing |
|
|
|
RLAPI Texture2D GetShapesTexture(void); // Get texture that is used for shapes drawing |
|
|
|
RLAPI Rectangle GetShapesTextureRectangle(void); // Get texture source rectangle that is used for shapes drawing |
|
|
|
|
|
|
|
// Basic shapes drawing functions |
|
|
|
RLAPI void DrawPixel(int posX, int posY, Color color); // Draw a pixel using geometry [Can be slow, use with care] |
|
|
@ -1289,11 +1288,11 @@ RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation |
|
|
|
RLAPI 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 |
|
|
|
RLAPI void DrawSplineLinear(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Linear, minimum 2 points |
|
|
|
RLAPI void DrawSplineBasis(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: B-Spline, minimum 4 points |
|
|
|
RLAPI void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Catmull-Rom, minimum 4 points |
|
|
|
RLAPI void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] |
|
|
|
RLAPI void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] |
|
|
|
RLAPI void DrawSplineLinear(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Linear, minimum 2 points |
|
|
|
RLAPI void DrawSplineBasis(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: B-Spline, minimum 4 points |
|
|
|
RLAPI void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Catmull-Rom, minimum 4 points |
|
|
|
RLAPI void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] |
|
|
|
RLAPI void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] |
|
|
|
RLAPI void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color); // Draw spline segment: Linear, 2 points |
|
|
|
RLAPI void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: B-Spline, 4 points |
|
|
|
RLAPI void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: Catmull-Rom, 4 points |
|
|
@ -1492,15 +1491,15 @@ RLAPI GlyphInfo GetGlyphInfo(Font font, int codepoint); |
|
|
|
RLAPI Rectangle GetGlyphAtlasRec(Font font, int codepoint); // Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found |
|
|
|
|
|
|
|
// Text codepoints management functions (unicode characters) |
|
|
|
RLAPI char *LoadUTF8(const int *codepoints, int length); // Load UTF-8 text encoded from codepoints array |
|
|
|
RLAPI void UnloadUTF8(char *text); // Unload UTF-8 text encoded from codepoints array |
|
|
|
RLAPI int *LoadCodepoints(const char *text, int *count); // Load all codepoints from a UTF-8 text string, codepoints count returned by parameter |
|
|
|
RLAPI void UnloadCodepoints(int *codepoints); // Unload codepoints data from memory |
|
|
|
RLAPI int GetCodepointCount(const char *text); // Get total number of codepoints in a UTF-8 encoded string |
|
|
|
RLAPI int GetCodepoint(const char *text, int *codepointSize); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure |
|
|
|
RLAPI int GetCodepointNext(const char *text, int *codepointSize); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure |
|
|
|
RLAPI int GetCodepointPrevious(const char *text, int *codepointSize); // Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure |
|
|
|
RLAPI const char *CodepointToUTF8(int codepoint, int *utf8Size); // Encode one codepoint into UTF-8 byte array (array length returned as parameter) |
|
|
|
RLAPI char *LoadUTF8(const int *codepoints, int length); // Load UTF-8 text encoded from codepoints array |
|
|
|
RLAPI void UnloadUTF8(char *text); // Unload UTF-8 text encoded from codepoints array |
|
|
|
RLAPI int *LoadCodepoints(const char *text, int *count); // Load all codepoints from a UTF-8 text string, codepoints count returned by parameter |
|
|
|
RLAPI void UnloadCodepoints(int *codepoints); // Unload codepoints data from memory |
|
|
|
RLAPI int GetCodepointCount(const char *text); // Get total number of codepoints in a UTF-8 encoded string |
|
|
|
RLAPI int GetCodepoint(const char *text, int *codepointSize); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure |
|
|
|
RLAPI int GetCodepointNext(const char *text, int *codepointSize); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure |
|
|
|
RLAPI int GetCodepointPrevious(const char *text, int *codepointSize); // Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure |
|
|
|
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) |
|
|
|
// NOTE: Some strings allocate memory internally for returned strings, just be careful! |
|
|
@ -1515,14 +1514,14 @@ RLAPI const char *TextJoin(const char **textList, int count, const char *delimit |
|
|
|
RLAPI const char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple 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 |
|
|
|
RLAPI const char *TextToUpper(const char *text); // Get upper case version of provided string |
|
|
|
RLAPI const char *TextToLower(const char *text); // Get lower case version of provided string |
|
|
|
RLAPI const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string |
|
|
|
RLAPI const char *TextToSnake(const char *text); // Get Snake case notation version of provided string |
|
|
|
RLAPI const char *TextToCamel(const char *text); // Get Camel case notation version of provided string |
|
|
|
RLAPI const char *TextToUpper(const char *text); // Get upper case version of provided string |
|
|
|
RLAPI const char *TextToLower(const char *text); // Get lower case version of provided string |
|
|
|
RLAPI const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string |
|
|
|
RLAPI const char *TextToSnake(const char *text); // Get Snake case notation version of provided string |
|
|
|
RLAPI const char *TextToCamel(const char *text); // Get Camel case notation version of provided string |
|
|
|
|
|
|
|
RLAPI int TextToInteger(const char *text); // Get integer value from text (negative values not supported) |
|
|
|
RLAPI float TextToFloat(const char *text); // Get float value from text (negative values not supported) |
|
|
|
RLAPI int TextToInteger(const char *text); // Get integer value from text (negative values not supported) |
|
|
|
RLAPI float TextToFloat(const char *text); // Get float value from text (negative values not supported) |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Basic 3d Shapes Drawing Functions (Module: models) |
|
|
@ -1615,14 +1614,14 @@ RLAPI void UnloadModelAnimations(ModelAnimation *animations, int animCount); |
|
|
|
RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match |
|
|
|
|
|
|
|
// Collision detection functions |
|
|
|
RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres |
|
|
|
RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes |
|
|
|
RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere |
|
|
|
RLAPI RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere |
|
|
|
RLAPI RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box |
|
|
|
RLAPI RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh |
|
|
|
RLAPI RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle |
|
|
|
RLAPI RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad |
|
|
|
RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres |
|
|
|
RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes |
|
|
|
RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere |
|
|
|
RLAPI RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere |
|
|
|
RLAPI RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box |
|
|
|
RLAPI RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh |
|
|
|
RLAPI RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle |
|
|
|
RLAPI RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Audio Loading and Playing Functions (Module: audio) |
|
|
|