summaryrefslogtreecommitdiffhomepage
path: root/projects/Notepad++/raylib_npp_parser
diff options
context:
space:
mode:
Diffstat (limited to 'projects/Notepad++/raylib_npp_parser')
-rw-r--r--projects/Notepad++/raylib_npp_parser/raylib_npp.xml768
-rw-r--r--projects/Notepad++/raylib_npp_parser/raylib_to_parse.h313
2 files changed, 613 insertions, 468 deletions
diff --git a/projects/Notepad++/raylib_npp_parser/raylib_npp.xml b/projects/Notepad++/raylib_npp_parser/raylib_npp.xml
index b59fed57..adf702b2 100644
--- a/projects/Notepad++/raylib_npp_parser/raylib_npp.xml
+++ b/projects/Notepad++/raylib_npp_parser/raylib_npp.xml
@@ -162,6 +162,22 @@
<Overload retVal="const char" descr="Get clipboard text content"></Overload>
</KeyWord>
+ <!-- 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 timming + PollInputEvents() -->
+ <!-- To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL -->
+ <KeyWord name="SwapScreenBuffer" func="yes">
+ <Overload retVal="void" descr="Swap back buffer with front buffer (screen drawing)"></Overload>
+ </KeyWord>
+ <KeyWord name="PollInputEvents" func="yes">
+ <Overload retVal="void" descr="Register all input events"></Overload>
+ </KeyWord>
+ <KeyWord name="WaitTime" func="yes">
+ <Overload retVal="void" descr="Wait for some milliseconds (halt program execution)">
+ <Param name="float ms" />
+ </Overload>
+ </KeyWord>
+
<!-- Cursor-related functions -->
<KeyWord name="ShowCursor" func="yes">
<Overload retVal="void" descr="Shows cursor"></Overload>
@@ -179,7 +195,7 @@
<Overload retVal="void" descr="Disables cursor (lock cursor)"></Overload>
</KeyWord>
<KeyWord name="IsCursorOnScreen" func="yes">
- <Overload retVal="bool" descr="Check if cursor is on the current screen."></Overload>
+ <Overload retVal="bool" descr="Check if cursor is on the screen"></Overload>
</KeyWord>
<!-- Drawing-related functions -->
@@ -195,7 +211,7 @@
<Overload retVal="void" descr="End canvas drawing and swap buffers (double buffering)"></Overload>
</KeyWord>
<KeyWord name="BeginMode2D" func="yes">
- <Overload retVal="void" descr="Initialize 2D mode with custom camera (2D)">
+ <Overload retVal="void" descr="Begin 2D mode with custom camera (2D)">
<Param name="Camera2D camera" />
</Overload>
</KeyWord>
@@ -203,7 +219,7 @@
<Overload retVal="void" descr="Ends 2D mode with custom camera"></Overload>
</KeyWord>
<KeyWord name="BeginMode3D" func="yes">
- <Overload retVal="void" descr="Initializes 3D mode with custom camera (3D)">
+ <Overload retVal="void" descr="Begin 3D mode with custom camera (3D)">
<Param name="Camera3D camera" />
</Overload>
</KeyWord>
@@ -211,7 +227,7 @@
<Overload retVal="void" descr="Ends 3D mode and returns to default 2D orthographic mode"></Overload>
</KeyWord>
<KeyWord name="BeginTextureMode" func="yes">
- <Overload retVal="void" descr="Initializes render texture for drawing">
+ <Overload retVal="void" descr="Begin drawing to render texture">
<Param name="RenderTexture2D target" />
</Overload>
</KeyWord>
@@ -227,7 +243,7 @@
<Overload retVal="void" descr="End custom shader drawing (use default shader)"></Overload>
</KeyWord>
<KeyWord name="BeginBlendMode" func="yes">
- <Overload retVal="void" descr="Begin blending mode (alpha, additive, multiplied)">
+ <Overload retVal="void" descr="Begin blending mode (alpha, additive, multiplied, subtract, custom)">
<Param name="int mode" />
</Overload>
</KeyWord>
@@ -331,29 +347,29 @@
<!-- Screen-space-related functions -->
<KeyWord name="GetMouseRay" func="yes">
- <Overload retVal="Ray" descr="Returns a ray trace from mouse position">
+ <Overload retVal="Ray" descr="Get a ray trace from mouse position">
<Param name="Vector2 mousePosition" />
<Param name="Camera camera" />
</Overload>
</KeyWord>
<KeyWord name="GetCameraMatrix" func="yes">
- <Overload retVal="Matrix" descr="Returns camera transform matrix (view matrix)">
+ <Overload retVal="Matrix" descr="Get camera transform matrix (view matrix)">
<Param name="Camera camera" />
</Overload>
</KeyWord>
<KeyWord name="GetCameraMatrix2D" func="yes">
- <Overload retVal="Matrix" descr="Returns camera 2d transform matrix">
+ <Overload retVal="Matrix" descr="Get camera 2d transform matrix">
<Param name="Camera2D camera" />
</Overload>
</KeyWord>
<KeyWord name="GetWorldToScreen" func="yes">
- <Overload retVal="Vector2" descr="Returns the screen space position for a 3d world space position">
+ <Overload retVal="Vector2" descr="Get the screen space position for a 3d world space position">
<Param name="Vector3 position" />
<Param name="Camera camera" />
</Overload>
</KeyWord>
<KeyWord name="GetWorldToScreenEx" func="yes">
- <Overload retVal="Vector2" descr="Returns size position for a 3d world space position">
+ <Overload retVal="Vector2" descr="Get size position for a 3d world space position">
<Param name="Vector3 position" />
<Param name="Camera camera" />
<Param name="int width" />
@@ -361,13 +377,13 @@
</Overload>
</KeyWord>
<KeyWord name="GetWorldToScreen2D" func="yes">
- <Overload retVal="Vector2" descr="Returns the screen space position for a 2d camera world space position">
+ <Overload retVal="Vector2" descr="Get the screen space position for a 2d camera world space position">
<Param name="Vector2 position" />
<Param name="Camera2D camera" />
</Overload>
</KeyWord>
<KeyWord name="GetScreenToWorld2D" func="yes">
- <Overload retVal="Vector2" descr="Returns the world space position for a 2d camera screen space position">
+ <Overload retVal="Vector2" descr="Get the world space position for a 2d camera screen space position">
<Param name="Vector2 position" />
<Param name="Camera2D camera" />
</Overload>
@@ -380,22 +396,27 @@
</Overload>
</KeyWord>
<KeyWord name="GetFPS" func="yes">
- <Overload retVal="int" descr="Returns current FPS"></Overload>
+ <Overload retVal="int" descr="Get current FPS"></Overload>
</KeyWord>
<KeyWord name="GetFrameTime" func="yes">
- <Overload retVal="float" descr="Returns time in seconds for last frame drawn (delta time)"></Overload>
+ <Overload retVal="float" descr="Get time in seconds for last frame drawn (delta time)"></Overload>
</KeyWord>
<KeyWord name="GetTime" func="yes">
- <Overload retVal="double" descr="Returns elapsed time in seconds since InitWindow()"></Overload>
+ <Overload retVal="double" descr="Get elapsed time in seconds since InitWindow()"></Overload>
</KeyWord>
<!-- Misc. functions -->
<KeyWord name="GetRandomValue" func="yes">
- <Overload retVal="int" descr="Returns a random value between min and max (both included)">
+ <Overload retVal="int" descr="Get a random value between min and max (both included)">
<Param name="int min" />
<Param name="int max" />
</Overload>
</KeyWord>
+ <KeyWord name="SetRandomSeed" func="yes">
+ <Overload retVal="void" descr="Set the seed for the random number generator">
+ <Param name="unsigned int seed" />
+ </Overload>
+ </KeyWord>
<KeyWord name="TakeScreenshot" func="yes">
<Overload retVal="void" descr="Takes a screenshot of current screen (filename extension defines format)">
<Param name="const char *fileName" />
@@ -408,7 +429,7 @@
</KeyWord>
<KeyWord name="TraceLog" func="yes">
- <Overload retVal="void" descr="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)">
+ <Overload retVal="void" descr="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)">
<Param name="int logLevel" />
<Param name="const char *text" />
<Param name="..." />
@@ -482,7 +503,7 @@
</KeyWord>
<KeyWord name="UnloadFileText" func="yes">
<Overload retVal="void" descr="Unload file text data allocated by LoadFileText()">
- <Param name="unsigned char *text" />
+ <Param name="char *text" />
</Overload>
</KeyWord>
<KeyWord name="SaveFileText" func="yes">
@@ -508,7 +529,7 @@
</Overload>
</KeyWord>
<KeyWord name="GetFileExtension" func="yes">
- <Overload retVal="const char" descr="Get pointer to extension for a filename string (includes dot: ".png")">
+ <Overload retVal="const char" descr="Get pointer to extension for a filename string (includes dot: '.png')">
<Param name="const char *fileName" />
</Overload>
</KeyWord>
@@ -566,6 +587,7 @@
</Overload>
</KeyWord>
+ <!-- Compression/Encoding functionality -->
<KeyWord name="char *CompressData" func="yes">
<Overload retVal="unsigned" descr="Compress data (DEFLATE algorithm)">
<Param name="unsigned char *data" />
@@ -580,6 +602,19 @@
<Param name="int *dataLength" />
</Overload>
</KeyWord>
+ <KeyWord name="EncodeDataBase64" func="yes">
+ <Overload retVal="char" descr="Encode data to Base64 string">
+ <Param name="const unsigned char" />
+ <Param name="int dataLength" />
+ <Param name="int *outputLength" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="char *DecodeDataBase64" func="yes">
+ <Overload retVal="unsigned" descr="Decode Base64 string data">
+ <Param name="unsigned char *data" />
+ <Param name="int *outputLength" />
+ </Overload>
+ </KeyWord>
<!-- Persistent storage management -->
<KeyWord name="SaveStorageValue" func="yes">
@@ -606,22 +641,22 @@
<!-- Input-related functions: keyboard -->
<KeyWord name="IsKeyPressed" func="yes">
- <Overload retVal="bool" descr="Detect if a key has been pressed once">
+ <Overload retVal="bool" descr="Check if a key has been pressed once">
<Param name="int key" />
</Overload>
</KeyWord>
<KeyWord name="IsKeyDown" func="yes">
- <Overload retVal="bool" descr="Detect if a key is being pressed">
+ <Overload retVal="bool" descr="Check if a key is being pressed">
<Param name="int key" />
</Overload>
</KeyWord>
<KeyWord name="IsKeyReleased" func="yes">
- <Overload retVal="bool" descr="Detect if a key has been released once">
+ <Overload retVal="bool" descr="Check if a key has been released once">
<Param name="int key" />
</Overload>
</KeyWord>
<KeyWord name="IsKeyUp" func="yes">
- <Overload retVal="bool" descr="Detect if a key is NOT being pressed">
+ <Overload retVal="bool" descr="Check if a key is NOT being pressed">
<Param name="int key" />
</Overload>
</KeyWord>
@@ -631,49 +666,43 @@
</Overload>
</KeyWord>
<KeyWord name="GetKeyPressed" func="yes">
- <Overload retVal="int" descr="Get key pressed (keycode), call it multiple times for keys queued"></Overload>
+ <Overload retVal="int" descr="Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty"></Overload>
</KeyWord>
<KeyWord name="GetCharPressed" func="yes">
- <Overload retVal="int" descr="Get char pressed (unicode), call it multiple times for chars queued"></Overload>
+ <Overload retVal="int" descr="Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty"></Overload>
</KeyWord>
<!-- Input-related functions: gamepads -->
<KeyWord name="IsGamepadAvailable" func="yes">
- <Overload retVal="bool" descr="Detect if a gamepad is available">
- <Param name="int gamepad" />
- </Overload>
- </KeyWord>
- <KeyWord name="IsGamepadName" func="yes">
- <Overload retVal="bool" descr="Check gamepad name (if available)">
+ <Overload retVal="bool" descr="Check if a gamepad is available">
<Param name="int gamepad" />
- <Param name="const char *name" />
</Overload>
</KeyWord>
<KeyWord name="GetGamepadName" func="yes">
- <Overload retVal="const char" descr="Return gamepad internal name id">
+ <Overload retVal="const char" descr="Get gamepad internal name id">
<Param name="int gamepad" />
</Overload>
</KeyWord>
<KeyWord name="IsGamepadButtonPressed" func="yes">
- <Overload retVal="bool" descr="Detect if a gamepad button has been pressed once">
+ <Overload retVal="bool" descr="Check if a gamepad button has been pressed once">
<Param name="int gamepad" />
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="IsGamepadButtonDown" func="yes">
- <Overload retVal="bool" descr="Detect if a gamepad button is being pressed">
+ <Overload retVal="bool" descr="Check if a gamepad button is being pressed">
<Param name="int gamepad" />
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="IsGamepadButtonReleased" func="yes">
- <Overload retVal="bool" descr="Detect if a gamepad button has been released once">
+ <Overload retVal="bool" descr="Check if a gamepad button has been released once">
<Param name="int gamepad" />
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="IsGamepadButtonUp" func="yes">
- <Overload retVal="bool" descr="Detect if a gamepad button is NOT being pressed">
+ <Overload retVal="bool" descr="Check if a gamepad button is NOT being pressed">
<Param name="int gamepad" />
<Param name="int button" />
</Overload>
@@ -682,12 +711,12 @@
<Overload retVal="int" descr="Get the last gamepad button pressed"></Overload>
</KeyWord>
<KeyWord name="GetGamepadAxisCount" func="yes">
- <Overload retVal="int" descr="Return gamepad axis count for a gamepad">
+ <Overload retVal="int" descr="Get gamepad axis count for a gamepad">
<Param name="int gamepad" />
</Overload>
</KeyWord>
<KeyWord name="GetGamepadAxisMovement" func="yes">
- <Overload retVal="float" descr="Return axis movement value for a gamepad axis">
+ <Overload retVal="float" descr="Get axis movement value for a gamepad axis">
<Param name="int gamepad" />
<Param name="int axis" />
</Overload>
@@ -700,33 +729,36 @@
<!-- Input-related functions: mouse -->
<KeyWord name="IsMouseButtonPressed" func="yes">
- <Overload retVal="bool" descr="Detect if a mouse button has been pressed once">
+ <Overload retVal="bool" descr="Check if a mouse button has been pressed once">
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="IsMouseButtonDown" func="yes">
- <Overload retVal="bool" descr="Detect if a mouse button is being pressed">
+ <Overload retVal="bool" descr="Check if a mouse button is being pressed">
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="IsMouseButtonReleased" func="yes">
- <Overload retVal="bool" descr="Detect if a mouse button has been released once">
+ <Overload retVal="bool" descr="Check if a mouse button has been released once">
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="IsMouseButtonUp" func="yes">
- <Overload retVal="bool" descr="Detect if a mouse button is NOT being pressed">
+ <Overload retVal="bool" descr="Check if a mouse button is NOT being pressed">
<Param name="int button" />
</Overload>
</KeyWord>
<KeyWord name="GetMouseX" func="yes">
- <Overload retVal="int" descr="Returns mouse position X"></Overload>
+ <Overload retVal="int" descr="Get mouse position X"></Overload>
</KeyWord>
<KeyWord name="GetMouseY" func="yes">
- <Overload retVal="int" descr="Returns mouse position Y"></Overload>
+ <Overload retVal="int" descr="Get mouse position Y"></Overload>
</KeyWord>
<KeyWord name="GetMousePosition" func="yes">
- <Overload retVal="Vector2" descr="Returns mouse position XY"></Overload>
+ <Overload retVal="Vector2" descr="Get mouse position XY"></Overload>
+ </KeyWord>
+ <KeyWord name="GetMouseDelta" func="yes">
+ <Overload retVal="Vector2" descr="Get mouse delta between frames"></Overload>
</KeyWord>
<KeyWord name="SetMousePosition" func="yes">
<Overload retVal="void" descr="Set mouse position XY">
@@ -747,7 +779,7 @@
</Overload>
</KeyWord>
<KeyWord name="GetMouseWheelMove" func="yes">
- <Overload retVal="float" descr="Returns mouse wheel movement Y"></Overload>
+ <Overload retVal="float" descr="Get mouse wheel movement Y"></Overload>
</KeyWord>
<KeyWord name="SetMouseCursor" func="yes">
<Overload retVal="void" descr="Set mouse cursor">
@@ -757,19 +789,27 @@
<!-- Input-related functions: touch -->
<KeyWord name="GetTouchX" func="yes">
- <Overload retVal="int" descr="Returns touch position X for touch point 0 (relative to screen size)"></Overload>
+ <Overload retVal="int" descr="Get touch position X for touch point 0 (relative to screen size)"></Overload>
</KeyWord>
<KeyWord name="GetTouchY" func="yes">
- <Overload retVal="int" descr="Returns touch position Y for touch point 0 (relative to screen size)"></Overload>
+ <Overload retVal="int" descr="Get touch position Y for touch point 0 (relative to screen size)"></Overload>
</KeyWord>
<KeyWord name="GetTouchPosition" func="yes">
- <Overload retVal="Vector2" descr="Returns touch position XY for a touch point index (relative to screen size)">
+ <Overload retVal="Vector2" descr="Get touch position XY for a touch point index (relative to screen size)">
<Param name="int index" />
</Overload>
</KeyWord>
+ <KeyWord name="GetTouchPointId" func="yes">
+ <Overload retVal="int" descr="Get touch point identifier for given index">
+ <Param name="int index" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="GetTouchPointCount" func="yes">
+ <Overload retVal="int" descr="Get number of touch points"></Overload>
+ </KeyWord>
<!-------------------------------------------------------------------------------------- -->
- <!-- Gestures and Touch Handling Functions (Module: gestures) -->
+ <!-- Gestures and Touch Handling Functions (Module: rgestures) -->
<!-------------------------------------------------------------------------------------- -->
<KeyWord name="SetGesturesEnabled" func="yes">
<Overload retVal="void" descr="Enable a set of gestures using flags">
@@ -784,9 +824,6 @@
<KeyWord name="GetGestureDetected" func="yes">
<Overload retVal="int" descr="Get latest detected gesture"></Overload>
</KeyWord>
- <KeyWord name="GetTouchPointsCount" func="yes">
- <Overload retVal="int" descr="Get touch points count"></Overload>
- </KeyWord>
<KeyWord name="GetGestureHoldDuration" func="yes">
<Overload retVal="float" descr="Get gesture hold time in milliseconds"></Overload>
</KeyWord>
@@ -804,7 +841,7 @@
</KeyWord>
<!-------------------------------------------------------------------------------------- -->
- <!-- Camera System Functions (Module: camera) -->
+ <!-- Camera System Functions (Module: rcamera) -->
<!-------------------------------------------------------------------------------------- -->
<KeyWord name="SetCameraMode" func="yes">
<Overload retVal="void" descr="Set camera mode (multiple camera modes available)">
@@ -904,7 +941,7 @@
</Overload>
</KeyWord>
<KeyWord name="DrawLineBezierQuad" func="yes">
- <Overload retVal="void" descr="raw line using quadratic bezier curves with a control point">
+ <Overload retVal="void" descr="Draw line using quadratic bezier curves with a control point">
<Param name="Vector2 startPos" />
<Param name="Vector2 endPos" />
<Param name="Vector2 controlPos" />
@@ -912,10 +949,20 @@
<Param name="Color color" />
</Overload>
</KeyWord>
+ <KeyWord name="DrawLineBezierCubic" func="yes">
+ <Overload retVal="void" descr="Draw line using cubic bezier curves with 2 control points">
+ <Param name="Vector2 startPos" />
+ <Param name="Vector2 endPos" />
+ <Param name="Vector2 startControlPos" />
+ <Param name="Vector2 endControlPos" />
+ <Param name="float thick" />
+ <Param name="Color color" />
+ </Overload>
+ </KeyWord>
<KeyWord name="DrawLineStrip" func="yes">
<Overload retVal="void" descr="Draw lines sequence">
<Param name="Vector2 *points" />
- <Param name="int pointsCount" />
+ <Param name="int pointCount" />
<Param name="Color color" />
</Overload>
</KeyWord>
@@ -1082,7 +1129,7 @@
<KeyWord name="DrawRectangleLinesEx" func="yes">
<Overload retVal="void" descr="Draw rectangle outline with extended parameters">
<Param name="Rectangle rec" />
- <Param name="int lineThick" />
+ <Param name="float lineThick" />
<Param name="Color color" />
</Overload>
</KeyWord>
@@ -1099,7 +1146,7 @@
<Param name="Rectangle rec" />
<Param name="float roundness" />
<Param name="int segments" />
- <Param name="int lineThick" />
+ <Param name="float lineThick" />
<Param name="Color color" />
</Overload>
</KeyWord>
@@ -1122,14 +1169,14 @@
<KeyWord name="DrawTriangleFan" func="yes">
<Overload retVal="void" descr="Draw a triangle fan defined by points (first vertex is the center)">
<Param name="Vector2 *points" />
- <Param name="int pointsCount" />
+ <Param name="int pointCount" />
<Param name="Color color" />
</Overload>
</KeyWord>
<KeyWord name="DrawTriangleStrip" func="yes">
<Overload retVal="void" descr="Draw a triangle strip defined by points">
<Param name="Vector2 *points" />
- <Param name="int pointsCount" />
+ <Param name="int pointCount" />
<Param name="Color color" />
</Overload>
</KeyWord>
@@ -1151,6 +1198,16 @@
<Param name="Color color" />
</Overload>
</KeyWord>
+ <KeyWord name="DrawPolyLinesEx" func="yes">
+ <Overload retVal="void" descr="Draw a polygon outline of n sides with extended parameters">
+ <Param name="Vector2 center" />
+ <Param name="int sides" />
+ <Param name="float radius" />
+ <Param name="float rotation" />
+ <Param name="float lineThick" />
+ <Param name="Color color" />
+ </Overload>
+ </KeyWord>
<!-- Basic shapes collision detection functions -->
<KeyWord name="CheckCollisionRecs" func="yes">
@@ -1204,6 +1261,14 @@
<Param name="Vector2 *collisionPoint" />
</Overload>
</KeyWord>
+ <KeyWord name="CheckCollisionPointLine" func="yes">
+ <Overload retVal="bool" descr="Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]">
+ <Param name="Vector2 point" />
+ <Param name="Vector2 p1" />
+ <Param name="Vector2 p2" />
+ <Param name="int threshold" />
+ </Overload>
+ </KeyWord>
<KeyWord name="GetCollisionRec" func="yes">
<Overload retVal="Rectangle" descr="Get collision rectangle for two rectangles collision">
<Param name="Rectangle rec1" />
@@ -1238,12 +1303,20 @@
</Overload>
</KeyWord>
<KeyWord name="LoadImageFromMemory" func="yes">
- <Overload retVal="Image" descr="Load image from memory buffer, fileType refers to extension: i.e. ".png"">
+ <Overload retVal="Image" descr="Load image from memory buffer, fileType refers to extension: i.e. '.png'">
<Param name="const char *fileType" />
<Param name="const unsigned char" />
<Param name="int dataSize" />
</Overload>
</KeyWord>
+ <KeyWord name="LoadImageFromTexture" func="yes">
+ <Overload retVal="Image" descr="Load image from GPU texture data">
+ <Param name="Texture2D texture" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="LoadImageFromScreen" func="yes">
+ <Overload retVal="Image" descr="Load image from screen buffer and (screenshot)"></Overload>
+ </KeyWord>
<KeyWord name="UnloadImage" func="yes">
<Overload retVal="void" descr="Unload image from CPU memory (RAM)">
<Param name="Image image" />
@@ -1312,17 +1385,8 @@
<Param name="float factor" />
</Overload>
</KeyWord>
- <KeyWord name="GenImagePerlinNoise" func="yes">
- <Overload retVal="Image" descr="Generate image: perlin noise">
- <Param name="int width" />
- <Param name="int height" />
- <Param name="int offsetX" />
- <Param name="int offsetY" />
- <Param name="float scale" />
- </Overload>
- </KeyWord>
<KeyWord name="GenImageCellular" func="yes">
- <Overload retVal="Image" descr="Generate image: cellular algorithm. Bigger tileSize means bigger cells">
+ <Overload retVal="Image" descr="Generate image: cellular algorithm, bigger tileSize means bigger cells">
<Param name="int width" />
<Param name="int height" />
<Param name="int tileSize" />
@@ -1424,7 +1488,7 @@
</Overload>
</KeyWord>
<KeyWord name="ImageMipmaps" func="yes">
- <Overload retVal="void" descr="Generate all mipmap levels for a provided image">
+ <Overload retVal="void" descr="Compute all mipmap levels for a provided image">
<Param name="Image *image" />
</Overload>
</KeyWord>
@@ -1501,7 +1565,7 @@
<Overload retVal="Color" descr="Load colors palette from image as a Color array (RGBA - 32bit)">
<Param name="Image image" />
<Param name="int maxPaletteSize" />
- <Param name="int *colorsCount" />
+ <Param name="int *colorCount" />
</Overload>
</KeyWord>
<KeyWord name="UnloadImageColors" func="yes">
@@ -1520,6 +1584,13 @@
<Param name="float threshold" />
</Overload>
</KeyWord>
+ <KeyWord name="GetImageColor" func="yes">
+ <Overload retVal="Color" descr="Get image pixel color at (x, y) position">
+ <Param name="Image image" />
+ <Param name="int x" />
+ <Param name="int y" />
+ </Overload>
+ </KeyWord>
<!-- Image drawing functions -->
<!-- NOTE: Image software-rendering functions (CPU) -->
@@ -1690,14 +1761,6 @@
<Param name="const void *pixels" />
</Overload>
</KeyWord>
- <KeyWord name="GetTextureData" func="yes">
- <Overload retVal="Image" descr="Get pixel data from GPU texture and return an Image">
- <Param name="Texture2D texture" />
- </Overload>
- </KeyWord>
- <KeyWord name="GetScreenData" func="yes">
- <Overload retVal="Image" descr="Get pixel data from screen buffer and return an Image (screenshot)"></Overload>
- </KeyWord>
<!-- Texture configuration functions -->
<KeyWord name="GenTextureMipmaps" func="yes">
@@ -1797,53 +1860,53 @@
<Param name="Vector2 center" />
<Param name="Vector2 *points" />
<Param name="Vector2 *texcoords" />
- <Param name="int pointsCount" />
+ <Param name="int pointCount" />
<Param name="Color tint" />
</Overload>
</KeyWord>
<!-- Color/pixel related functions -->
<KeyWord name="Fade" func="yes">
- <Overload retVal="Color" descr="Returns color with alpha applied, alpha goes from 0.0f to 1.0f">
+ <Overload retVal="Color" descr="Get color with alpha applied, alpha goes from 0.0f to 1.0f">
<Param name="Color color" />
<Param name="float alpha" />
</Overload>
</KeyWord>
<KeyWord name="ColorToInt" func="yes">
- <Overload retVal="int" descr="Returns hexadecimal value for a Color">
+ <Overload retVal="int" descr="Get hexadecimal value for a Color">
<Param name="Color color" />
</Overload>
</KeyWord>
<KeyWord name="ColorNormalize" func="yes">
- <Overload retVal="Vector4" descr="Returns Color normalized as float [0..1]">
+ <Overload retVal="Vector4" descr="Get Color normalized as float [0..1]">
<Param name="Color color" />
</Overload>
</KeyWord>
<KeyWord name="ColorFromNormalized" func="yes">
- <Overload retVal="Color" descr="Returns Color from normalized values [0..1]">
+ <Overload retVal="Color" descr="Get Color from normalized values [0..1]">
<Param name="Vector4 normalized" />
</Overload>
</KeyWord>
<KeyWord name="ColorToHSV" func="yes">
- <Overload retVal="Vector3" descr="Returns HSV values for a Color">
+ <Overload retVal="Vector3" descr="Get HSV values for a Color, hue [0..360], saturation/value [0..1]">
<Param name="Color color" />
</Overload>
</KeyWord>
<KeyWord name="ColorFromHSV" func="yes">
- <Overload retVal="Color" descr="Returns a Color from HSV values">
+ <Overload retVal="Color" descr="Get a Color from HSV values, hue [0..360], saturation/value [0..1]">
<Param name="float hue" />
<Param name="float saturation" />
<Param name="float value" />
</Overload>
</KeyWord>
<KeyWord name="ColorAlpha" func="yes">
- <Overload retVal="Color" descr="Returns color with alpha applied, alpha goes from 0.0f to 1.0f">
+ <Overload retVal="Color" descr="Get color with alpha applied, alpha goes from 0.0f to 1.0f">
<Param name="Color color" />
<Param name="float alpha" />
</Overload>
</KeyWord>
<KeyWord name="ColorAlphaBlend" func="yes">
- <Overload retVal="Color" descr="Returns src alpha-blended into dst color with tint">
+ <Overload retVal="Color" descr="Get src alpha-blended into dst color with tint">
<Param name="Color dst" />
<Param name="Color src" />
<Param name="Color tint" />
@@ -1851,7 +1914,7 @@
</KeyWord>
<KeyWord name="GetColor" func="yes">
<Overload retVal="Color" descr="Get Color structure from hexadecimal value">
- <Param name="int hexValue" />
+ <Param name="unsigned int hexValue" />
</Overload>
</KeyWord>
<KeyWord name="GetPixelColor" func="yes">
@@ -1886,7 +1949,7 @@
<Param name="const char *fileName" />
<Param name="int fontSize" />
<Param name="int *fontChars" />
- <Param name="int charsCount" />
+ <Param name="int glyphCount" />
</Overload>
</KeyWord>
<KeyWord name="LoadFontFromImage" func="yes">
@@ -1897,30 +1960,30 @@
</Overload>
</KeyWord>
<KeyWord name="LoadFontFromMemory" func="yes">
- <Overload retVal="Font" descr="Load font from memory buffer, fileType refers to extension: i.e. ".ttf"">
+ <Overload retVal="Font" descr="Load font from memory buffer, fileType refers to extension: i.e. '.ttf'">
<Param name="const char *fileType" />
<Param name="const unsigned char" />
<Param name="int dataSize" />
<Param name="int fontSize" />
<Param name="int *fontChars" />
- <Param name="int charsCount" />
+ <Param name="int glyphCount" />
</Overload>
</KeyWord>
<KeyWord name="LoadFontData" func="yes">
- <Overload retVal="CharInfo" descr="Load font data for further use">
+ <Overload retVal="GlyphInfo" descr="Load font data for further use">
<Param name="const unsigned char" />
<Param name="int dataSize" />
<Param name="int fontSize" />
<Param name="int *fontChars" />
- <Param name="int charsCount" />
+ <Param name="int glyphCount" />
<Param name="int type" />
</Overload>
</KeyWord>
<KeyWord name="GenImageFontAtlas" func="yes">
<Overload retVal="Image" descr="Generate image font atlas using chars info">
- <Param name="const CharInfo *chars" />
+ <Param name="const GlyphInfo *chars" />
<Param name="Rectangle **recs" />
- <Param name="int charsCount" />
+ <Param name="int glyphCount" />
<Param name="int fontSize" />
<Param name="int padding" />
<Param name="int packMethod" />
@@ -1928,8 +1991,8 @@
</KeyWord>
<KeyWord name="UnloadFontData" func="yes">
<Overload retVal="void" descr="Unload font chars info data (RAM)">
- <Param name="CharInfo *chars" />
- <Param name="int charsCount" />
+ <Param name="GlyphInfo *chars" />
+ <Param name="int glyphCount" />
</Overload>
</KeyWord>
<KeyWord name="UnloadFont" func="yes">
@@ -1964,29 +2027,16 @@
<Param name="Color tint" />
</Overload>
</KeyWord>
- <KeyWord name="DrawTextRec" func="yes">
- <Overload retVal="void" descr="Draw text using font inside rectangle limits">
- <Param name="Font font" />
- <Param name="const char *text" />
- <Param name="Rectangle rec" />
- <Param name="float fontSize" />
- <Param name="float spacing" />
- <Param name="bool wordWrap" />
- <Param name="Color tint" />
- </Overload>
- </KeyWord>
- <KeyWord name="DrawTextRecEx" func="yes">
- <Overload retVal="void" descr="Draw text using font inside rectangle limits with support for text selection">
+ <KeyWord name="DrawTextPro" func="yes">
+ <Overload retVal="void" descr="Draw text using Font and pro parameters (rotation)">
<Param name="Font font" />
<Param name="const char *text" />
- <Param name="Rectangle rec" />
+ <Param name="Vector2 position" />
+ <Param name="Vector2 origin" />
+ <Param name="float rotation" />
<Param name="float fontSize" />
<Param name="float spacing" />
- <Param name="bool wordWrap" />
<Param name="Color tint" />
- <Param name="int selectStart" />
- <Param name="int selectLength" />
- <Param name="Color sconst" />
</Overload>
</KeyWord>
<KeyWord name="DrawTextCodepoint" func="yes">
@@ -1999,7 +2049,7 @@
</Overload>
</KeyWord>
- <!-- Text misc. functions -->
+ <!-- Text font info functions -->
<KeyWord name="MeasureText" func="yes">
<Overload retVal="int" descr="Measure string width for default font">
<Param name="const char *text" />
@@ -2015,13 +2065,61 @@
</Overload>
</KeyWord>
<KeyWord name="GetGlyphIndex" func="yes">
- <Overload retVal="int" descr="Get index position for a unicode character on font">
+ <Overload retVal="int" descr="Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found">
+ <Param name="Font font" />
+ <Param name="int codepoint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="GetGlyphInfo" func="yes">
+ <Overload retVal="GlyphInfo" descr="Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found">
+ <Param name="Font font" />
+ <Param name="int codepoint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="GetGlyphAtlasRec" func="yes">
+ <Overload retVal="Rectangle" descr="Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found">
<Param name="Font font" />
<Param name="int codepoint" />
</Overload>
</KeyWord>
- <!-- Text strings management functions (no utf8 strings, only byte chars) -->
+ <!-- Text codepoints management functions (unicode characters) -->
+ <KeyWord name="LoadCodepoints" func="yes">
+ <Overload retVal="int" descr="Load all codepoints from a UTF-8 text string, codepoints count returned by parameter">
+ <Param name="const char *text" />
+ <Param name="int *count" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="UnloadCodepoints" func="yes">
+ <Overload retVal="void" descr="Unload codepoints data from memory">
+ <Param name="int *codepoints" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="GetCodepointCount" func="yes">
+ <Overload retVal="int" descr="Get total number of codepoints in a UTF-8 encoded string">
+ <Param name="const char *text" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="GetCodepoint" func="yes">
+ <Overload retVal="int" descr="Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure">
+ <Param name="const char *text" />
+ <Param name="int *bytesProcessed" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="CodepointToUTF8" func="yes">
+ <Overload retVal="const char" descr="Encode one codepoint into UTF-8 byte array (array length returned as parameter)">
+ <Param name="int codepoint" />
+ <Param name="int *byteSize" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="TextCodepointsToUTF8" func="yes">
+ <Overload retVal="char" descr="Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)">
+ <Param name="int *codepoints" />
+ <Param name="int length" />
+ </Overload>
+ </KeyWord>
+
+ <!-- Text strings management functions (no UTF-8 strings, only byte chars) -->
<!-- NOTE: Some strings allocate memory internally for returned strings, just be careful! -->
<KeyWord name="TextCopy" func="yes">
<Overload retVal="int" descr="Copy one string to another, returns bytes copied">
@@ -2041,7 +2139,7 @@
</Overload>
</KeyWord>
<KeyWord name="TextFormat" func="yes">
- <Overload retVal="const char" descr="Text formatting with variables (sprintf style)">
+ <Overload retVal="const char" descr="Text formatting with variables (sprintf() style)">
<Param name="const char *text" />
<Param name="..." />
</Overload>
@@ -2054,14 +2152,14 @@
</Overload>
</KeyWord>
<KeyWord name="TextReplace" func="yes">
- <Overload retVal="char" descr="Replace text string (memory must be freed!)">
+ <Overload retVal="char" descr="Replace text string (WARNING: memory must be freed!)">
<Param name="char *text" />
<Param name="const char *replace" />
<Param name="const char *by" />
</Overload>
</KeyWord>
<KeyWord name="TextInsert" func="yes">
- <Overload retVal="char" descr="Insert text in a position (memory must be freed!)">
+ <Overload retVal="char" descr="Insert text in a position (WARNING: memory must be freed!)">
<Param name="const char *text" />
<Param name="const char *insert" />
<Param name="int position" />
@@ -2114,37 +2212,6 @@
<Param name="const char *text" />
</Overload>
</KeyWord>
- <KeyWord name="TextToUtf8" func="yes">
- <Overload retVal="char" descr="Encode text codepoint into utf8 text (memory must be freed!)">
- <Param name="int *codepoints" />
- <Param name="int length" />
- </Overload>
- </KeyWord>
-
- <!-- UTF8 text strings management functions -->
- <KeyWord name="GetCodepoints" func="yes">
- <Overload retVal="int" descr="Get all codepoints in a string, codepoints count returned by parameters">
- <Param name="const char *text" />
- <Param name="int *count" />
- </Overload>
- </KeyWord>
- <KeyWord name="GetCodepointsCount" func="yes">
- <Overload retVal="int" descr="Get total number of characters (codepoints) in a UTF8 encoded string">
- <Param name="const char *text" />
- </Overload>
- </KeyWord>
- <KeyWord name="GetNextCodepoint" func="yes">
- <Overload retVal="int" descr="Returns next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure">
- <Param name="const char *text" />
- <Param name="int *bytesProcessed" />
- </Overload>
- </KeyWord>
- <KeyWord name="CodepointToUtf8" func="yes">
- <Overload retVal="const char" descr="Encode codepoint into utf8 text (char array length returned as parameter)">
- <Param name="int codepoint" />
- <Param name="int *byteLength" />
- </Overload>
- </KeyWord>
<!-------------------------------------------------------------------------------------- -->
<!-- Basic 3d Shapes Drawing Functions (Module: models) -->
@@ -2184,7 +2251,7 @@
<KeyWord name="DrawTriangleStrip3D" func="yes">
<Overload retVal="void" descr="Draw a triangle strip defined by points">
<Param name="Vector3 *points" />
- <Param name="int pointsCount" />
+ <Param name="int pointCount" />
<Param name="Color color" />
</Overload>
</KeyWord>
@@ -2230,6 +2297,17 @@
<Param name="Color color" />
</Overload>
</KeyWord>
+ <KeyWord name="DrawCubeTextureRec" func="yes">
+ <Overload retVal="void" descr="Draw cube with a region of a texture">
+ <Param name="Texture2D texture" />
+ <Param name="Rectangle source" />
+ <Param name="Vector3 position" />
+ <Param name="float width" />
+ <Param name="float height" />
+ <Param name="float length" />
+ <Param name="Color color" />
+ </Overload>
+ </KeyWord>
<KeyWord name="DrawSphere" func="yes">
<Overload retVal="void" descr="Draw sphere">
<Param name="Vector3 centerPos" />
@@ -2265,6 +2343,16 @@
<Param name="Color color" />
</Overload>
</KeyWord>
+ <KeyWord name="DrawCylinderEx" func="yes">
+ <Overload retVal="void" descr="Draw a cylinder with base at startPos and top at endPos">
+ <Param name="Vector3 startPos" />
+ <Param name="Vector3 endPos" />
+ <Param name="float startRadius" />
+ <Param name="float endRadius" />
+ <Param name="int sides" />
+ <Param name="Color color" />
+ </Overload>
+ </KeyWord>
<KeyWord name="DrawCylinderWires" func="yes">
<Overload retVal="void" descr="Draw a cylinder/cone wires">
<Param name="Vector3 position" />
@@ -2275,6 +2363,16 @@
<Param name="Color color" />
</Overload>
</KeyWord>
+ <KeyWord name="DrawCylinderWiresEx" func="yes">
+ <Overload retVal="void" descr="Draw a cylinder wires with base at startPos and top at endPos">
+ <Param name="Vector3 startPos" />
+ <Param name="Vector3 endPos" />
+ <Param name="float startRadius" />
+ <Param name="float endRadius" />
+ <Param name="int sides" />
+ <Param name="Color color" />
+ </Overload>
+ </KeyWord>
<KeyWord name="DrawPlane" func="yes">
<Overload retVal="void" descr="Draw a plane XZ">
<Param name="Vector3 centerPos" />
@@ -2299,7 +2397,7 @@
<!-- Model 3d Loading and Drawing Functions (Module: models) -->
<!-------------------------------------------------------------------------------------- -->
- <!-- Model loading/unloading functions -->
+ <!-- Model management functions -->
<KeyWord name="LoadModel" func="yes">
<Overload retVal="Model" descr="Load model from files (meshes and materials)">
<Param name="const char *fileName" />
@@ -2320,14 +2418,105 @@
<Param name="Model model" />
</Overload>
</KeyWord>
+ <KeyWord name="GetModelBoundingBox" func="yes">
+ <Overload retVal="BoundingBox" descr="Compute model bounding box limits (considers all meshes)">
+ <Param name="Model model" />
+ </Overload>
+ </KeyWord>
- <!-- Mesh loading/unloading functions -->
+ <!-- Model drawing functions -->
+ <KeyWord name="DrawModel" func="yes">
+ <Overload retVal="void" descr="Draw a model (with texture if set)">
+ <Param name="Model model" />
+ <Param name="Vector3 position" />
+ <Param name="float scale" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawModelEx" func="yes">
+ <Overload retVal="void" descr="Draw a model with extended parameters">
+ <Param name="Model model" />
+ <Param name="Vector3 position" />
+ <Param name="Vector3 rotationAxis" />
+ <Param name="float rotationAngle" />
+ <Param name="Vector3 scale" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawModelWires" func="yes">
+ <Overload retVal="void" descr="Draw a model wires (with texture if set)">
+ <Param name="Model model" />
+ <Param name="Vector3 position" />
+ <Param name="float scale" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawModelWiresEx" func="yes">
+ <Overload retVal="void" descr="Draw a model wires (with texture if set) with extended parameters">
+ <Param name="Model model" />
+ <Param name="Vector3 position" />
+ <Param name="Vector3 rotationAxis" />
+ <Param name="float rotationAngle" />
+ <Param name="Vector3 scale" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawBoundingBox" func="yes">
+ <Overload retVal="void" descr="Draw bounding box (wires)">
+ <Param name="BoundingBox box" />
+ <Param name="Color color" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawBillboard" func="yes">
+ <Overload retVal="void" descr="Draw a billboard texture">
+ <Param name="Camera camera" />
+ <Param name="Texture2D texture" />
+ <Param name="Vector3 position" />
+ <Param name="float size" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawBillboardRec" func="yes">
+ <Overload retVal="void" descr="Draw a billboard texture defined by source">
+ <Param name="Camera camera" />
+ <Param name="Texture2D texture" />
+ <Param name="Rectangle source" />
+ <Param name="Vector3 position" />
+ <Param name="Vector2 size" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+ <KeyWord name="DrawBillboardPro" func="yes">
+ <Overload retVal="void" descr="Draw a billboard texture defined by source and rotation">
+ <Param name="Camera camera" />
+ <Param name="Texture2D texture" />
+ <Param name="Rectangle source" />
+ <Param name="Vector3 position" />
+ <Param name="Vector3 up" />
+ <Param name="Vector2 size" />
+ <Param name="Vector2 origin" />
+ <Param name="float rotation" />
+ <Param name="Color tint" />
+ </Overload>
+ </KeyWord>
+
+ <!-- Mesh management functions -->
<KeyWord name="UploadMesh" func="yes">
- <Overload retVal="void" descr="Upload vertex data into GPU and provided VAO/VBO ids">
+ <Overload retVal="void" descr="Upload mesh vertex data in GPU and provide VAO/VBO ids">
<Param name="Mesh *mesh" />
<Param name="bool dynamic" />
</Overload>
</KeyWord>
+ <KeyWord name="UpdateMeshBuffer" func="yes">
+ <Overload retVal="void" descr="Update mesh vertex data in GPU for a specific buffer index">
+ <Param name="Mesh mesh" />
+ <Param name="int index" /></Overload>
+ </KeyWord>
+ <KeyWord name="UnloadMesh" func="yes">
+ <Overload retVal="void" descr="Unload mesh data from CPU and GPU">
+ <Param name="Mesh mesh" />
+ </Overload>
+ </KeyWord>
<KeyWord name="DrawMesh" func="yes">
<Overload retVal="void" descr="Draw a 3d mesh with material and transform">
<Param name="Mesh mesh" />
@@ -2343,86 +2532,29 @@
<Param name="int instances" />
</Overload>
</KeyWord>
- <KeyWord name="UnloadMesh" func="yes">
- <Overload retVal="void" descr="Unload mesh data from CPU and GPU">
- <Param name="Mesh mesh" />
- </Overload>
- </KeyWord>
<KeyWord name="ExportMesh" func="yes">
<Overload retVal="bool" descr="Export mesh data to file, returns true on success">
<Param name="Mesh mesh" />
<Param name="const char *fileName" />
</Overload>
</KeyWord>
-
- <!-- Material loading/unloading functions -->
- <KeyWord name="LoadMaterials" func="yes">
- <Overload retVal="Material" descr="Load materials from model file">
- <Param name="const char *fileName" />
- <Param name="int *materialCount" />
- </Overload>
- </KeyWord>
- <KeyWord name="LoadMaterialDefault" func="yes">
- <Overload retVal="Material" descr="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"></Overload>
- </KeyWord>
- <KeyWord name="UnloadMaterial" func="yes">
- <Overload retVal="void" descr="Unload material from GPU memory (VRAM)">
- <Param name="Material material" />
- </Overload>
- </KeyWord>
- <KeyWord name="SetMaterialTexture" func="yes">
- <Overload retVal="void" descr="Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)">
- <Param name="Material *material" />
- <Param name="int mapType" />
- <Param name="Texture2D texture" />
- </Overload>
- </KeyWord>
- <KeyWord name="SetModelMeshMaterial" func="yes">
- <Overload retVal="void" descr="Set material for a mesh">
- <Param name="Model *model" />
- <Param name="int meshId" />
- <Param name="int materialId" />
- </Overload>
- </KeyWord>
-
- <!-- Model animations loading/unloading functions -->
- <KeyWord name="LoadModelAnimations" func="yes">
- <Overload retVal="ModelAnimation" descr="Load model animations from file">
- <Param name="const char *fileName" />
- <Param name="int *animsCount" />
- </Overload>
- </KeyWord>
- <KeyWord name="UpdateModelAnimation" func="yes">
- <Overload retVal="void" descr="Update model animation pose">
- <Param name="Model model" />
- <Param name="ModelAnimation anim" />
- <Param name="int frame" />
- </Overload>
- </KeyWord>
- <KeyWord name="UnloadModelAnimation" func="yes">
- <Overload retVal="void" descr="Unload animation data">
- <Param name="ModelAnimation anim" />
+ <KeyWord name="GetMeshBoundingBox" func="yes">
+ <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits">
+ <Param name="Mesh mesh" />
</Overload>
</KeyWord>
- <KeyWord name="UnloadModelAnimations" func="yes">
- <Overload retVal="void" descr="Unload animation array data">
- <Param name="ModelAnimation* animations" />
- <Param name="unsigned int count" />
+ <KeyWord name="GenMeshTangents" func="yes">
+ <Overload retVal="void" descr="Compute mesh tangents">
+ <Param name="Mesh *mesh" />
</Overload>
</KeyWord>
- <KeyWord name="IsModelAnimationValid" func="yes">
- <Overload retVal="bool" descr="Check model animation skeleton match">
- <Param name="Model model" />
- <Param name="ModelAnimation anim" />
+ <KeyWord name="GenMeshBinormals" func="yes">
+ <Overload retVal="void" descr="Compute mesh binormals">
+ <Param name="Mesh *mesh" />
</Overload>
</KeyWord>
<!-- Mesh generation functions -->
- <KeyWord name="GenMeshDefault" func="yes">
- <Overload retVal="Mesh" descr="Generate an empty mesh with vertex: position, texcoords, normals, colors">
- <Param name="int vertexCount" />
- </Overload>
- </KeyWord>
<KeyWord name="GenMeshPoly" func="yes">
<Overload retVal="Mesh" descr="Generate polygonal mesh">
<Param name="int sides" />
@@ -2465,6 +2597,13 @@
<Param name="int slices" />
</Overload>
</KeyWord>
+ <KeyWord name="GenMeshCone" func="yes">
+ <Overload retVal="Mesh" descr="Generate cone/pyramid mesh">
+ <Param name="float radius" />
+ <Param name="float height" />
+ <Param name="int slices" />
+ </Overload>
+ </KeyWord>
<KeyWord name="GenMeshTorus" func="yes">
<Overload retVal="Mesh" descr="Generate torus mesh">
<Param name="float radius" />
@@ -2494,89 +2633,71 @@
</Overload>
</KeyWord>
- <!-- Mesh manipulation functions -->
- <KeyWord name="GetMeshBoundingBox" func="yes">
- <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits">
- <Param name="Mesh mesh" />
+ <!-- Material loading/unloading functions -->
+ <KeyWord name="LoadMaterials" func="yes">
+ <Overload retVal="Material" descr="Load materials from model file">
+ <Param name="const char *fileName" />
+ <Param name="int *materialCount" />
</Overload>
</KeyWord>
- <KeyWord name="MeshTangents" func="yes">
- <Overload retVal="void" descr="Compute mesh tangents">
- <Param name="Mesh *mesh" />
- </Overload>
+ <KeyWord name="LoadMaterialDefault" func="yes">
+ <Overload retVal="Material" descr="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"></Overload>
</KeyWord>
- <KeyWord name="MeshBinormals" func="yes">
- <Overload retVal="void" descr="Compute mesh binormals">
- <Param name="Mesh *mesh" />
+ <KeyWord name="UnloadMaterial" func="yes">
+ <Overload retVal="void" descr="Unload material from GPU memory (VRAM)">
+ <Param name="Material material" />
</Overload>
</KeyWord>
-
- <!-- Model drawing functions -->
- <KeyWord name="DrawModel" func="yes">
- <Overload retVal="void" descr="Draw a model (with texture if set)">
- <Param name="Model model" />
- <Param name="Vector3 position" />
- <Param name="float scale" />
- <Param name="Color tint" />
+ <KeyWord name="SetMaterialTexture" func="yes">
+ <Overload retVal="void" descr="Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)">
+ <Param name="Material *material" />
+ <Param name="int mapType" />
+ <Param name="Texture2D texture" />
</Overload>
</KeyWord>
- <KeyWord name="DrawModelEx" func="yes">
- <Overload retVal="void" descr="Draw a model with extended parameters">
- <Param name="Model model" />
- <Param name="Vector3 position" />
- <Param name="Vector3 rotationAxis" />
- <Param name="float rotationAngle" />
- <Param name="Vector3 scale" />
- <Param name="Color tint" />
+ <KeyWord name="SetModelMeshMaterial" func="yes">
+ <Overload retVal="void" descr="Set material for a mesh">
+ <Param name="Model *model" />
+ <Param name="int meshId" />
+ <Param name="int materialId" />
</Overload>
</KeyWord>
- <KeyWord name="DrawModelWires" func="yes">
- <Overload retVal="void" descr="Draw a model wires (with texture if set)">
- <Param name="Model model" />
- <Param name="Vector3 position" />
- <Param name="float scale" />
- <Param name="Color tint" />
+
+ <!-- Model animations loading/unloading functions -->
+ <KeyWord name="LoadModelAnimations" func="yes">
+ <Overload retVal="ModelAnimation" descr="Load model animations from file">
+ <Param name="const char *fileName" />
+ <Param name="unsigned int *animCount" />
</Overload>
</KeyWord>
- <KeyWord name="DrawModelWiresEx" func="yes">
- <Overload retVal="void" descr="Draw a model wires (with texture if set) with extended parameters">
+ <KeyWord name="UpdateModelAnimation" func="yes">
+ <Overload retVal="void" descr="Update model animation pose">
<Param name="Model model" />
- <Param name="Vector3 position" />
- <Param name="Vector3 rotationAxis" />
- <Param name="float rotationAngle" />
- <Param name="Vector3 scale" />
- <Param name="Color tint" />
+ <Param name="ModelAnimation anim" />
+ <Param name="int frame" />
</Overload>
</KeyWord>
- <KeyWord name="DrawBoundingBox" func="yes">
- <Overload retVal="void" descr="Draw bounding box (wires)">
- <Param name="BoundingBox box" />
- <Param name="Color color" />
+ <KeyWord name="UnloadModelAnimation" func="yes">
+ <Overload retVal="void" descr="Unload animation data">
+ <Param name="ModelAnimation anim" />
</Overload>
</KeyWord>
- <KeyWord name="DrawBillboard" func="yes">
- <Overload retVal="void" descr="Draw a billboard texture">
- <Param name="Camera camera" />
- <Param name="Texture2D texture" />
- <Param name="Vector3 center" />
- <Param name="float size" />
- <Param name="Color tint" />
+ <KeyWord name="UnloadModelAnimations" func="yes">
+ <Overload retVal="void" descr="Unload animation array data">
+ <Param name="ModelAnimation* animations" />
+ <Param name="unsigned int count" />
</Overload>
</KeyWord>
- <KeyWord name="DrawBillboardRec" func="yes">
- <Overload retVal="void" descr="Draw a billboard texture defined by source">
- <Param name="Camera camera" />
- <Param name="Texture2D texture" />
- <Param name="Rectangle source" />
- <Param name="Vector3 center" />
- <Param name="float size" />
- <Param name="Color tint" />
+ <KeyWord name="IsModelAnimationValid" func="yes">
+ <Overload retVal="bool" descr="Check model animation skeleton match">
+ <Param name="Model model" />
+ <Param name="ModelAnimation anim" />
</Overload>
</KeyWord>
<!-- Collision detection functions -->
<KeyWord name="CheckCollisionSpheres" func="yes">
- <Overload retVal="bool" descr="Detect collision between two spheres">
+ <Overload retVal="bool" descr="Check collision between two spheres">
<Param name="Vector3 center1" />
<Param name="float radius1" />
<Param name="Vector3 center2" />
@@ -2584,64 +2705,59 @@
</Overload>
</KeyWord>
<KeyWord name="CheckCollisionBoxes" func="yes">
- <Overload retVal="bool" descr="Detect collision between two bounding boxes">
+ <Overload retVal="bool" descr="Check collision between two bounding boxes">
<Param name="BoundingBox box1" />
<Param name="BoundingBox box2" />
</Overload>
</KeyWord>
<KeyWord name="CheckCollisionBoxSphere" func="yes">
- <Overload retVal="bool" descr="Detect collision between box and sphere">
+ <Overload retVal="bool" descr="Check collision between box and sphere">
<Param name="BoundingBox box" />
<Param name="Vector3 center" />
<Param name="float radius" />
</Overload>
</KeyWord>
- <KeyWord name="CheckCollisionRaySphere" func="yes">
- <Overload retVal="bool" descr="Detect collision between ray and sphere">
+ <KeyWord name="GetRayCollisionSphere" func="yes">
+ <Overload retVal="RayCollision" descr="Get collision info between ray and sphere">
<Param name="Ray ray" />
<Param name="Vector3 center" />
<Param name="float radius" />
</Overload>
</KeyWord>
- <KeyWord name="CheckCollisionRaySphereEx" func="yes">
- <Overload retVal="bool" descr="Detect collision between ray and sphere, returns collision point">
+ <KeyWord name="GetRayCollisionBox" func="yes">
+ <Overload retVal="RayCollision" descr="Get collision info between ray and box">
<Param name="Ray ray" />
- <Param name="Vector3 center" />
- <Param name="float radius" />
- <Param name="Vector3 *collisionPoint" />
+ <Param name="BoundingBox box" />
</Overload>
</KeyWord>
- <KeyWord name="CheckCollisionRayBox" func="yes">
- <Overload retVal="bool" descr="Detect collision between ray and box">
+ <KeyWord name="GetRayCollisionModel" func="yes">
+ <Overload retVal="RayCollision" descr="Get collision info between ray and model">
<Param name="Ray ray" />
- <Param name="BoundingBox box" />
+ <Param name="Model model" />
</Overload>
</KeyWord>
- <KeyWord name="GetCollisionRayMesh" func="yes">
- <Overload retVal="RayHitInfo" descr="Get collision info between ray and mesh">
+ <KeyWord name="GetRayCollisionMesh" func="yes">
+ <Overload retVal="RayCollision" descr="Get collision info between ray and mesh">
<Param name="Ray ray" />
<Param name="Mesh mesh" />
<Param name="Matrix transform" />
</Overload>
</KeyWord>
- <KeyWord name="GetCollisionRayModel" func="yes">
- <Overload retVal="RayHitInfo" descr="Get collision info between ray and model">
- <Param name="Ray ray" />
- <Param name="Model model" />
- </Overload>
- </KeyWord>
- <KeyWord name="GetCollisionRayTriangle" func="yes">
- <Overload retVal="RayHitInfo" descr="Get collision info between ray and triangle">
+ <KeyWord name="GetRayCollisionTriangle" func="yes">
+ <Overload retVal="RayCollision" descr="Get collision info between ray and triangle">
<Param name="Ray ray" />
<Param name="Vector3 p1" />
<Param name="Vector3 p2" />
<Param name="Vector3 p3" />
</Overload>
</KeyWord>
- <KeyWord name="GetCollisionRayGround" func="yes">
- <Overload retVal="RayHitInfo" descr="Get collision info between ray and ground plane (Y-normal plane)">
+ <KeyWord name="GetRayCollisionQuad" func="yes">
+ <Overload retVal="RayCollision" descr="Get collision info between ray and quad">
<Param name="Ray ray" />
- <Param name="float groundHeight" />
+ <Param name="Vector3 p1" />
+ <Param name="Vector3 p2" />
+ <Param name="Vector3 p3" />
+ <Param name="Vector3 p4" />
</Overload>
</KeyWord>
@@ -2672,7 +2788,7 @@
</Overload>
</KeyWord>
<KeyWord name="LoadWaveFromMemory" func="yes">
- <Overload retVal="Wave" descr="Load wave from memory buffer, fileType refers to extension: i.e. ".wav"">
+ <Overload retVal="Wave" descr="Load wave from memory buffer, fileType refers to extension: i.e. '.wav'">
<Param name="const char *fileType" />
<Param name="const unsigned char" />
<Param name="int dataSize" />
@@ -2692,7 +2808,7 @@
<Overload retVal="void" descr="Update sound buffer with new data">
<Param name="Sound sound" />
<Param name="const void *data" />
- <Param name="int samplesCount" />
+ <Param name="int sampleCount" />
</Overload>
</KeyWord>
<KeyWord name="UnloadWave" func="yes">
@@ -2807,7 +2923,7 @@
<KeyWord name="LoadMusicStreamFromMemory" func="yes">
<Overload retVal="Music" descr="Load music stream from data">
<Param name="const char *fileType" />
- <Param name="unsigned char* data" />
+ <Param name="unsigned char *data" />
<Param name="int dataSize" />
</Overload>
</KeyWord>
@@ -2821,7 +2937,7 @@
<Param name="Music music" />
</Overload>
</KeyWord>
- <KeyWord name="IsMusicPlaying" func="yes">
+ <KeyWord name="IsMusicStreamPlaying" func="yes">
<Overload retVal="bool" descr="Check if music is playing">
<Param name="Music music" />
</Overload>
@@ -2846,6 +2962,12 @@
<Param name="Music music" />
</Overload>
</KeyWord>
+ <KeyWord name="SeekMusicStream" func="yes">
+ <Overload retVal="void" descr="Seek music to a position (in seconds)">
+ <Param name="Music music" />
+ <Param name="float position" />
+ </Overload>
+ </KeyWord>
<KeyWord name="SetMusicVolume" func="yes">
<Overload retVal="void" descr="Set volume for music (1.0 is max level)">
<Param name="Music music" />
@@ -2870,23 +2992,23 @@
</KeyWord>
<!-- AudioStream management functions -->
- <KeyWord name="InitAudioStream" func="yes">
- <Overload retVal="AudioStream" descr="Init audio stream (to stream raw audio pcm data)">
+ <KeyWord name="LoadAudioStream" func="yes">
+ <Overload retVal="AudioStream" descr="Load audio stream (to stream raw audio pcm data)">
<Param name="unsigned int sampleRate" />
<Param name="unsigned int sampleSize" />
<Param name="unsigned int channels" />
</Overload>
</KeyWord>
- <KeyWord name="UpdateAudioStream" func="yes">
- <Overload retVal="void" descr="Update audio stream buffers with data">
+ <KeyWord name="UnloadAudioStream" func="yes">
+ <Overload retVal="void" descr="Unload audio stream and free memory">
<Param name="AudioStream stream" />
- <Param name="const void *data" />
- <Param name="int samplesCount" />
</Overload>
</KeyWord>
- <KeyWord name="CloseAudioStream" func="yes">
- <Overload retVal="void" descr="Close audio stream and free memory">
+ <KeyWord name="UpdateAudioStream" func="yes">
+ <Overload retVal="void" descr="Update audio stream buffers with data">
<Param name="AudioStream stream" />
+ <Param name="const void *data" />
+ <Param name="int frameCount" />
</Overload>
</KeyWord>
<KeyWord name="IsAudioStreamProcessed" func="yes">
diff --git a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h
index 1281fa69..85b35a40 100644
--- a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h
+++ b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h
@@ -43,27 +43,35 @@ RLAPI const char *GetMonitorName(int monitor); // Get the hum
RLAPI void SetClipboardText(const char *text); // Set clipboard text content
RLAPI const char *GetClipboardText(void); // Get clipboard text content
+// 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 timming + PollInputEvents()
+// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
+RLAPI void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing)
+RLAPI void PollInputEvents(void); // Register all input events
+RLAPI void WaitTime(float ms); // Wait for some milliseconds (halt program execution)
+
// Cursor-related functions
RLAPI void ShowCursor(void); // Shows cursor
RLAPI void HideCursor(void); // Hides cursor
RLAPI bool IsCursorHidden(void); // Check if cursor is not visible
RLAPI void EnableCursor(void); // Enables cursor (unlock cursor)
RLAPI void DisableCursor(void); // Disables cursor (lock cursor)
-RLAPI bool IsCursorOnScreen(void); // Check if cursor is on the current screen.
+RLAPI bool IsCursorOnScreen(void); // Check if cursor is on the screen
// Drawing-related functions
RLAPI void ClearBackground(Color color); // Set background color (framebuffer clear color)
RLAPI void BeginDrawing(void); // Setup canvas (framebuffer) to start drawing
RLAPI void EndDrawing(void); // End canvas drawing and swap buffers (double buffering)
-RLAPI void BeginMode2D(Camera2D camera); // Initialize 2D mode with custom camera (2D)
+RLAPI void BeginMode2D(Camera2D camera); // Begin 2D mode with custom camera (2D)
RLAPI void EndMode2D(void); // Ends 2D mode with custom camera
-RLAPI void BeginMode3D(Camera3D camera); // Initializes 3D mode with custom camera (3D)
+RLAPI void BeginMode3D(Camera3D camera); // Begin 3D mode with custom camera (3D)
RLAPI void EndMode3D(void); // Ends 3D mode and returns to default 2D orthographic mode
-RLAPI void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing
+RLAPI void BeginTextureMode(RenderTexture2D target); // Begin drawing to render texture
RLAPI void EndTextureMode(void); // Ends drawing to render texture
RLAPI void BeginShaderMode(Shader shader); // Begin custom shader drawing
RLAPI void EndShaderMode(void); // End custom shader drawing (use default shader)
-RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied)
+RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied, subtract, custom)
RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending)
RLAPI void BeginScissorMode(int x, int y, int width, int height); // Begin scissor mode (define screen area for following drawing)
RLAPI void EndScissorMode(void); // End scissor mode
@@ -87,26 +95,27 @@ RLAPI void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture)
RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM)
// Screen-space-related functions
-RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position
-RLAPI Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix)
-RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Returns camera 2d transform matrix
-RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position for a 3d world space position
-RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Returns size position for a 3d world space position
-RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Returns the screen space position for a 2d camera world space position
-RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Returns the world space position for a 2d camera screen space position
+RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position
+RLAPI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix)
+RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix
+RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position
+RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position
+RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position
+RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position
// Timing-related functions
RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum)
-RLAPI int GetFPS(void); // Returns current FPS
-RLAPI float GetFrameTime(void); // Returns time in seconds for last frame drawn (delta time)
-RLAPI double GetTime(void); // Returns elapsed time in seconds since InitWindow()
+RLAPI int GetFPS(void); // Get current FPS
+RLAPI float GetFrameTime(void); // Get time in seconds for last frame drawn (delta time)
+RLAPI double GetTime(void); // Get elapsed time in seconds since InitWindow()
// Misc. functions
-RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included)
+RLAPI int GetRandomValue(int min, int max); // Get a random value between min and max (both included)
+RLAPI void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator
RLAPI void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format)
RLAPI void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS)
-RLAPI void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)
+RLAPI void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
RLAPI void SetTraceLogLevel(int logLevel); // Set the current threshold (minimum) log level
RLAPI void *MemAlloc(int size); // Internal memory allocator
RLAPI void *MemRealloc(void *ptr, int size); // Internal memory reallocator
@@ -125,12 +134,12 @@ RLAPI unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead)
RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
RLAPI bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success
RLAPI char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
-RLAPI void UnloadFileText(unsigned char *text); // Unload file text data allocated by LoadFileText()
+RLAPI void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
RLAPI bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
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 (including point: .png, .wav)
-RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: ".png")
+RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension (including point: .png, .wav)
+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)
@@ -144,8 +153,11 @@ RLAPI char **GetDroppedFiles(int *count); // Get dropped
RLAPI void ClearDroppedFiles(void); // Clear dropped files paths buffer (free memory)
RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time)
+// Compression/Encoding functionality
RLAPI unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); // Compress data (DEFLATE algorithm)
RLAPI unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); // Decompress data (DEFLATE algorithm)
+RLAPI char *EncodeDataBase64(const unsigned char *data, int dataLength, int *outputLength); // Encode data to Base64 string
+RLAPI unsigned char *DecodeDataBase64(unsigned char *data, int *outputLength); // Decode Base64 string data
// Persistent storage management
RLAPI bool SaveStorageValue(unsigned int position, int value); // Save integer value to storage file (to defined position), returns true on success
@@ -158,53 +170,54 @@ RLAPI void OpenURL(const char *url); // Open URL wi
//------------------------------------------------------------------------------------
// Input-related functions: keyboard
-RLAPI bool IsKeyPressed(int key); // Detect if a key has been pressed once
-RLAPI bool IsKeyDown(int key); // Detect if a key is being pressed
-RLAPI bool IsKeyReleased(int key); // Detect if a key has been released once
-RLAPI bool IsKeyUp(int key); // Detect if a key is NOT being pressed
+RLAPI bool IsKeyPressed(int key); // Check if a key has been pressed once
+RLAPI bool IsKeyDown(int key); // Check if a key is being pressed
+RLAPI bool IsKeyReleased(int key); // Check if a key has been released once
+RLAPI bool IsKeyUp(int key); // Check if a key is NOT being pressed
RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC)
-RLAPI int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued
-RLAPI int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued
+RLAPI int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
+RLAPI int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
// Input-related functions: gamepads
-RLAPI bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available
-RLAPI bool IsGamepadName(int gamepad, const char *name); // Check gamepad name (if available)
-RLAPI const char *GetGamepadName(int gamepad); // Return gamepad internal name id
-RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once
-RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed
-RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once
-RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed
+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); // Return gamepad axis count for a gamepad
-RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis
+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)
// Input-related functions: mouse
-RLAPI bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once
-RLAPI bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed
-RLAPI bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once
-RLAPI bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed
-RLAPI int GetMouseX(void); // Returns mouse position X
-RLAPI int GetMouseY(void); // Returns mouse position Y
-RLAPI Vector2 GetMousePosition(void); // Returns mouse position XY
+RLAPI bool IsMouseButtonPressed(int button); // Check if a mouse button has been pressed once
+RLAPI bool IsMouseButtonDown(int button); // Check if a mouse button is being pressed
+RLAPI bool IsMouseButtonReleased(int button); // Check if a mouse button has been released once
+RLAPI bool IsMouseButtonUp(int button); // Check if a mouse button is NOT being pressed
+RLAPI int GetMouseX(void); // Get mouse position X
+RLAPI int GetMouseY(void); // Get mouse position Y
+RLAPI Vector2 GetMousePosition(void); // Get mouse position XY
+RLAPI Vector2 GetMouseDelta(void); // Get mouse delta between frames
RLAPI void SetMousePosition(int x, int y); // Set mouse position XY
RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset
RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling
-RLAPI float GetMouseWheelMove(void); // Returns mouse wheel movement Y
+RLAPI float GetMouseWheelMove(void); // Get mouse wheel movement Y
RLAPI void SetMouseCursor(int cursor); // Set mouse cursor
// Input-related functions: touch
-RLAPI int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size)
-RLAPI int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size)
-RLAPI Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size)
+RLAPI int GetTouchX(void); // Get touch position X for touch point 0 (relative to screen size)
+RLAPI int GetTouchY(void); // Get touch position Y for touch point 0 (relative to screen size)
+RLAPI Vector2 GetTouchPosition(int index); // Get touch position XY for a touch point index (relative to screen size)
+RLAPI int GetTouchPointId(int index); // Get touch point identifier for given index
+RLAPI int GetTouchPointCount(void); // Get number of touch points
//------------------------------------------------------------------------------------
-// Gestures and Touch Handling Functions (Module: gestures)
+// Gestures and Touch Handling Functions (Module: rgestures)
//------------------------------------------------------------------------------------
RLAPI void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags
RLAPI bool IsGestureDetected(int gesture); // Check if a gesture have been detected
RLAPI int GetGestureDetected(void); // Get latest detected gesture
-RLAPI int GetTouchPointsCount(void); // Get touch points count
RLAPI float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds
RLAPI Vector2 GetGestureDragVector(void); // Get gesture drag vector
RLAPI float GetGestureDragAngle(void); // Get gesture drag angle
@@ -212,7 +225,7 @@ RLAPI Vector2 GetGesturePinchVector(void); // Get gesture pinch del
RLAPI float GetGesturePinchAngle(void); // Get gesture pinch angle
//------------------------------------------------------------------------------------
-// Camera System Functions (Module: camera)
+// Camera System Functions (Module: rcamera)
//------------------------------------------------------------------------------------
RLAPI void SetCameraMode(Camera camera, int mode); // Set camera mode (multiple camera modes available)
RLAPI void UpdateCamera(Camera *camera); // Update camera position for selected mode
@@ -228,7 +241,7 @@ RLAPI void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int ke
// 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 void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing
// Basic shapes drawing functions
RLAPI void DrawPixel(int posX, int posY, Color color); // Draw a pixel
@@ -237,8 +250,9 @@ RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Colo
RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version)
RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness
RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out
-RLAPI void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); //Draw line using quadratic bezier curves with a control point
-RLAPI void DrawLineStrip(Vector2 *points, int pointsCount, Color color); // Draw lines sequence
+RLAPI void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); // Draw line using quadratic bezier curves with a control point
+RLAPI void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); // Draw line using cubic bezier curves with 2 control points
+RLAPI void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence
RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
RLAPI void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle
RLAPI void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline
@@ -253,19 +267,20 @@ RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color)
RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version)
RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle
RLAPI void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters
-RLAPI void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a vertical-gradient-filled rectangle
-RLAPI void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a horizontal-gradient-filled rectangle
+RLAPI void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a vertical-gradient-filled rectangle
+RLAPI void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a horizontal-gradient-filled rectangle
RLAPI void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); // Draw a gradient-filled rectangle with custom vertex colors
RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline
-RLAPI void DrawRectangleLinesEx(Rectangle rec, int lineThick, Color color); // Draw rectangle outline with extended parameters
+RLAPI void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); // Draw rectangle outline with extended parameters
RLAPI void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); // Draw rectangle with rounded edges
-RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, int lineThick, Color color); // Draw rectangle with rounded edges outline
+RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline
RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!)
RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!)
-RLAPI void DrawTriangleFan(Vector2 *points, int pointsCount, Color color); // Draw a triangle fan defined by points (first vertex is the center)
-RLAPI void DrawTriangleStrip(Vector2 *points, int pointsCount, Color color); // Draw a triangle strip defined by points
+RLAPI void DrawTriangleFan(Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center)
+RLAPI void DrawTriangleStrip(Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points
RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version)
RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides
+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
// Basic shapes collision detection functions
RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles
@@ -275,6 +290,7 @@ RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec);
RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle
RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle
RLAPI bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); // Check the collision between two lines defined by two points each, returns collision point by reference
+RLAPI bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); // Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision
//------------------------------------------------------------------------------------
@@ -286,7 +302,9 @@ RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2);
RLAPI Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
RLAPI Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data)
-RLAPI Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. ".png"
+RLAPI Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png'
+RLAPI Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data
+RLAPI Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot)
RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM)
RLAPI bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success
RLAPI bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success
@@ -298,8 +316,7 @@ RLAPI Image GenImageGradientH(int width, int height, Color left, Color right);
RLAPI Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient
RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked
RLAPI Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise
-RLAPI Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise
-RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm. Bigger tileSize means bigger cells
+RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm, bigger tileSize means bigger cells
// Image manipulation functions
RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations)
@@ -316,7 +333,7 @@ RLAPI void ImageAlphaPremultiply(Image *image);
RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm)
RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm)
RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color
-RLAPI void ImageMipmaps(Image *image); // Generate all mipmap levels for a provided image
+RLAPI void ImageMipmaps(Image *image); // Compute all mipmap levels for a provided image
RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
RLAPI void ImageFlipVertical(Image *image); // Flip image vertically
RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally
@@ -329,10 +346,11 @@ RLAPI void ImageColorContrast(Image *image, float contrast);
RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255)
RLAPI void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color
RLAPI Color *LoadImageColors(Image image); // Load color data from image as a Color array (RGBA - 32bit)
-RLAPI Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorsCount); // Load colors palette from image as a Color array (RGBA - 32bit)
+RLAPI Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount); // Load colors palette from image as a Color array (RGBA - 32bit)
RLAPI void UnloadImageColors(Color *colors); // Unload color data loaded with LoadImageColors()
RLAPI void UnloadImagePalette(Color *colors); // Unload colors palette loaded with LoadImagePalette()
RLAPI Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle
+RLAPI Color GetImageColor(Image image, int x, int y); // Get image pixel color at (x, y) position
// Image drawing functions
// NOTE: Image software-rendering functions (CPU)
@@ -361,8 +379,6 @@ RLAPI void UnloadTexture(Texture2D texture);
RLAPI void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM)
RLAPI void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data
RLAPI void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); // Update GPU texture rectangle with new data
-RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image
-RLAPI Image GetScreenData(void); // Get pixel data from screen buffer and return an Image (screenshot)
// Texture configuration functions
RLAPI void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture
@@ -378,18 +394,18 @@ RLAPI void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Re
RLAPI void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.
RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters
RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely
-RLAPI void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointsCount, Color tint); // Draw a textured polygon
+RLAPI void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint); // Draw a textured polygon
// Color/pixel related functions
-RLAPI Color Fade(Color color, float alpha); // Returns color with alpha applied, alpha goes from 0.0f to 1.0f
-RLAPI int ColorToInt(Color color); // Returns hexadecimal value for a Color
-RLAPI Vector4 ColorNormalize(Color color); // Returns Color normalized as float [0..1]
-RLAPI Color ColorFromNormalized(Vector4 normalized); // Returns Color from normalized values [0..1]
-RLAPI Vector3 ColorToHSV(Color color); // Returns HSV values for a Color
-RLAPI Color ColorFromHSV(float hue, float saturation, float value); // Returns a Color from HSV values
-RLAPI Color ColorAlpha(Color color, float alpha); // Returns color with alpha applied, alpha goes from 0.0f to 1.0f
-RLAPI Color ColorAlphaBlend(Color dst, Color src, Color tint); // Returns src alpha-blended into dst color with tint
-RLAPI Color GetColor(unsigned int hexValue); // Get Color structure from hexadecimal value
+RLAPI Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f
+RLAPI int ColorToInt(Color color); // Get hexadecimal value for a Color
+RLAPI Vector4 ColorNormalize(Color color); // Get Color normalized as float [0..1]
+RLAPI Color ColorFromNormalized(Vector4 normalized); // Get Color from normalized values [0..1]
+RLAPI Vector3 ColorToHSV(Color color); // Get HSV values for a Color, hue [0..360], saturation/value [0..1]
+RLAPI Color ColorFromHSV(float hue, float saturation, float value); // Get a Color from HSV values, hue [0..360], saturation/value [0..1]
+RLAPI Color ColorAlpha(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f
+RLAPI Color ColorAlphaBlend(Color dst, Color src, Color tint); // Get src alpha-blended into dst color with tint
+RLAPI Color GetColor(unsigned int hexValue); // Get Color structure from hexadecimal value
RLAPI Color GetPixelColor(void *srcPtr, int format); // Get Color from a source pixel pointer of certain format
RLAPI void SetPixelColor(void *dstPtr, Color color, int format); // Set color formatted into destination pixel pointer
RLAPI int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes for certain format
@@ -401,35 +417,45 @@ RLAPI int GetPixelDataSize(int width, int height, int format); // G
// Font loading/unloading functions
RLAPI Font GetFontDefault(void); // Get the default Font
RLAPI Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM)
-RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount); // Load font from file with extended parameters
+RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); // Load font from file with extended parameters
RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style)
-RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount); // Load font from memory buffer, fileType refers to extension: i.e. ".ttf"
-RLAPI CharInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount, int type); // Load font data for further use
-RLAPI Image GenImageFontAtlas(const CharInfo *chars, Rectangle **recs, int charsCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
-RLAPI void UnloadFontData(CharInfo *chars, int charsCount); // Unload font chars info data (RAM)
+RLAPI 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'
+RLAPI GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); // Load font data for further use
+RLAPI Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
+RLAPI void UnloadFontData(GlyphInfo *chars, int glyphCount); // Unload font chars info data (RAM)
RLAPI void UnloadFont(Font font); // Unload Font from GPU memory (VRAM)
// Text drawing functions
RLAPI void DrawFPS(int posX, int posY); // Draw current FPS
RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font)
-RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
-RLAPI void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint); // Draw text using font inside rectangle limits
+RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
+RLAPI 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)
RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
-// Text misc. functions
+// Text font info functions
RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font
RLAPI Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); // Measure string size for Font
-RLAPI int GetGlyphIndex(Font font, int codepoint); // Get index position for a unicode character on font
-
-// Text strings management functions (no utf8 strings, only byte chars)
+RLAPI int GetGlyphIndex(Font font, int codepoint); // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
+RLAPI GlyphInfo GetGlyphInfo(Font font, int codepoint); // Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
+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 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 *bytesProcessed); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
+RLAPI const char *CodepointToUTF8(int codepoint, int *byteSize); // Encode one codepoint into UTF-8 byte array (array length returned as parameter)
+RLAPI char *TextCodepointsToUTF8(int *codepoints, int length); // Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)
+
+// Text strings management functions (no UTF-8 strings, only byte chars)
// NOTE: Some strings allocate memory internally for returned strings, just be careful!
RLAPI int TextCopy(char *dst, const char *src); // Copy one string to another, returns bytes copied
RLAPI bool TextIsEqual(const char *text1, const char *text2); // Check if two text string are equal
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 *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(char *text, const char *replace, const char *by); // Replace text string (memory must be freed!)
-RLAPI char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (memory must be freed!)
+RLAPI char *TextReplace(char *text, const char *replace, const char *by); // Replace text string (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 const char *TextJoin(const char **textList, int count, const char *delimiter); // Join text strings with delimiter
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!
@@ -438,13 +464,6 @@ RLAPI const char *TextToUpper(const char *text); // Get upp
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 int TextToInteger(const char *text); // Get integer value from text (negative values not supported)
-RLAPI char *TextToUtf8(int *codepoints, int length); // Encode text codepoint into utf8 text (memory must be freed!)
-
-// UTF8 text strings management functions
-RLAPI int *GetCodepoints(const char *text, int *count); // Get all codepoints in a string, codepoints count returned by parameters
-RLAPI int GetCodepointsCount(const char *text); // Get total number of characters (codepoints) in a UTF8 encoded string
-RLAPI int GetNextCodepoint(const char *text, int *bytesProcessed); // Returns next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure
-RLAPI const char *CodepointToUtf8(int codepoint, int *byteLength); // Encode codepoint into utf8 text (char array length returned as parameter)
//------------------------------------------------------------------------------------
// Basic 3d Shapes Drawing Functions (Module: models)
@@ -455,17 +474,20 @@ RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color);
RLAPI void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line
RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space
RLAPI void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!)
-RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointsCount, Color color); // Draw a triangle strip defined by points
+RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points
RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube
RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version)
RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires
RLAPI void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); // Draw cube wires (Vector version)
RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured
+RLAPI void DrawCubeTextureRec(Texture2D texture, Rectangle source, Vector3 position, float width, float height, float length, Color color); // Draw cube with a region of a texture
RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere
RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters
RLAPI void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires
RLAPI void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone
+RLAPI void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder with base at startPos and top at endPos
RLAPI void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires
+RLAPI void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder wires with base at startPos and top at endPos
RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ
RLAPI void DrawRay(Ray ray, Color color); // Draw a ray line
RLAPI void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0))
@@ -474,71 +496,71 @@ RLAPI void DrawGrid(int slices, float spacing);
// Model 3d Loading and Drawing Functions (Module: models)
//------------------------------------------------------------------------------------
-// Model loading/unloading functions
+// Model management functions
RLAPI Model LoadModel(const char *fileName); // Load model from files (meshes and materials)
RLAPI Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material)
RLAPI void UnloadModel(Model model); // Unload model (including meshes) from memory (RAM and/or VRAM)
RLAPI void UnloadModelKeepMeshes(Model model); // Unload model (but not meshes) from memory (RAM and/or VRAM)
+RLAPI BoundingBox GetModelBoundingBox(Model model); // Compute model bounding box limits (considers all meshes)
-// Mesh loading/unloading functions
-RLAPI void UploadMesh(Mesh *mesh, bool dynamic); // Upload vertex data into GPU and provided VAO/VBO ids
+// Model drawing functions
+RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set)
+RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters
+RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set)
+RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters
+RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires)
+RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); // Draw a billboard texture
+RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); // Draw a billboard texture defined by source
+RLAPI void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); // Draw a billboard texture defined by source and rotation
+
+// Mesh management functions
+RLAPI void UploadMesh(Mesh *mesh, bool dynamic); // Upload mesh vertex data in GPU and provide VAO/VBO ids
+RLAPI void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset); // Update mesh vertex data in GPU for a specific buffer index
+RLAPI void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU
RLAPI void DrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform
RLAPI void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances); // Draw multiple mesh instances with material and different transforms
-RLAPI void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU
RLAPI bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success
-
-// Material loading/unloading functions
-RLAPI Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file
-RLAPI Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
-RLAPI void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM)
-RLAPI void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
-RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh
-
-// Model animations loading/unloading functions
-RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, int *animsCount); // Load model animations from file
-RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose
-RLAPI void UnloadModelAnimation(ModelAnimation anim); // Unload animation data
-RLAPI void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); // Unload animation array data
-RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match
+RLAPI BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits
+RLAPI void GenMeshTangents(Mesh *mesh); // Compute mesh tangents
+RLAPI void GenMeshBinormals(Mesh *mesh); // Compute mesh binormals
// Mesh generation functions
-RLAPI Mesh GenMeshDefault(int vertexCount); // Generate an empty mesh with vertex: position, texcoords, normals, colors
RLAPI Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh
RLAPI Mesh GenMeshPlane(float width, float length, int resX, int resZ); // Generate plane mesh (with subdivisions)
RLAPI Mesh GenMeshCube(float width, float height, float length); // Generate cuboid mesh
RLAPI Mesh GenMeshSphere(float radius, int rings, int slices); // Generate sphere mesh (standard sphere)
RLAPI Mesh GenMeshHemiSphere(float radius, int rings, int slices); // Generate half-sphere mesh (no bottom cap)
RLAPI Mesh GenMeshCylinder(float radius, float height, int slices); // Generate cylinder mesh
+RLAPI Mesh GenMeshCone(float radius, float height, int slices); // Generate cone/pyramid mesh
RLAPI Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); // Generate torus mesh
RLAPI Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); // Generate trefoil knot mesh
RLAPI Mesh GenMeshHeightmap(Image heightmap, Vector3 size); // Generate heightmap mesh from image data
RLAPI Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); // Generate cubes-based map mesh from image data
-// Mesh manipulation functions
-RLAPI BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits
-RLAPI void MeshTangents(Mesh *mesh); // Compute mesh tangents
-RLAPI void MeshBinormals(Mesh *mesh); // Compute mesh binormals
+// Material loading/unloading functions
+RLAPI Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file
+RLAPI Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
+RLAPI void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM)
+RLAPI void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
+RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh
-// Model drawing functions
-RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set)
-RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters
-RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set)
-RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters
-RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires)
-RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture
-RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 center, float size, Color tint); // Draw a billboard texture defined by source
+// Model animations loading/unloading functions
+RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); // Load model animations from file
+RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose
+RLAPI void UnloadModelAnimation(ModelAnimation anim); // Unload animation data
+RLAPI void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); // Unload animation array data
+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); // Detect collision between two spheres
-RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes
-RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Detect collision between box and sphere
-RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 center, float radius); // Detect collision between ray and sphere
-RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 center, float radius, Vector3 *collisionPoint); // Detect collision between ray and sphere, returns collision point
-RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box
-RLAPI RayHitInfo GetCollisionRayMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh
-RLAPI RayHitInfo GetCollisionRayModel(Ray ray, Model model); // Get collision info between ray and model
-RLAPI RayHitInfo GetCollisionRayTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle
-RLAPI RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight); // Get collision info between ray and ground plane (Y-normal plane)
+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 GetRayCollisionModel(Ray ray, Model model); // Get collision info between ray and model
+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)
@@ -552,10 +574,10 @@ RLAPI void SetMasterVolume(float volume); // Set mas
// Wave/Sound loading/unloading functions
RLAPI Wave LoadWave(const char *fileName); // Load wave data from file
-RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. ".wav"
+RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
RLAPI Sound LoadSound(const char *fileName); // Load sound from file
RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
-RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount); // Update sound buffer with new data
+RLAPI void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
RLAPI void UnloadWave(Wave wave); // Unload wave data
RLAPI void UnloadSound(Sound sound); // Unload sound
RLAPI bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success
@@ -580,23 +602,24 @@ RLAPI void UnloadWaveSamples(float *samples); // Unload
// Music management functions
RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file
-RLAPI Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize); // Load music stream from data
+RLAPI Music LoadMusicStreamFromMemory(const char *fileType, unsigned char *data, int dataSize); // Load music stream from data
RLAPI void UnloadMusicStream(Music music); // Unload music stream
RLAPI void PlayMusicStream(Music music); // Start music playing
-RLAPI bool IsMusicPlaying(Music music); // Check if music is playing
+RLAPI bool IsMusicStreamPlaying(Music music); // Check if music is playing
RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming
RLAPI void StopMusicStream(Music music); // Stop music playing
RLAPI void PauseMusicStream(Music music); // Pause music playing
RLAPI void ResumeMusicStream(Music music); // Resume playing paused music
+RLAPI void SeekMusicStream(Music music, float position); // Seek music to a position (in seconds)
RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level)
RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level)
RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds)
RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds)
// AudioStream management functions
-RLAPI AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Init audio stream (to stream raw audio pcm data)
-RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount); // Update audio stream buffers with data
-RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory
+RLAPI AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data)
+RLAPI void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory
+RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data
RLAPI bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill
RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream
RLAPI void PauseAudioStream(AudioStream stream); // Pause audio stream