Browse Source

Updated Npp intellisense data for raylib 5.0

Ray 1 year ago
parent
commit
ae50bfa2cc

+ 309 - 88
projects/Notepad++/raylib_npp_parser/raylib_npp.xml

@@ -10,12 +10,12 @@
                 <Param name="const char *title" />
                 <Param name="const char *title" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="WindowShouldClose" func="yes">
-            <Overload retVal="bool" descr="Check if KEY_ESCAPE pressed or Close icon pressed"></Overload>
-        </KeyWord>
         <KeyWord name="CloseWindow" func="yes">
         <KeyWord name="CloseWindow" func="yes">
             <Overload retVal="void" descr="Close window and unload OpenGL context"></Overload>
             <Overload retVal="void" descr="Close window and unload OpenGL context"></Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="WindowShouldClose" func="yes">
+            <Overload retVal="bool" descr="Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)"></Overload>
+        </KeyWord>
         <KeyWord name="IsWindowReady" func="yes">
         <KeyWord name="IsWindowReady" func="yes">
             <Overload retVal="bool" descr="Check if window has been initialized successfully"></Overload>
             <Overload retVal="bool" descr="Check if window has been initialized successfully"></Overload>
         </KeyWord>
         </KeyWord>
@@ -55,6 +55,9 @@
         <KeyWord name="ToggleFullscreen" func="yes">
         <KeyWord name="ToggleFullscreen" func="yes">
             <Overload retVal="void" descr="Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)"></Overload>
             <Overload retVal="void" descr="Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)"></Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="ToggleBorderlessWindowed" func="yes">
+            <Overload retVal="void" descr="Toggle window state: borderless windowed (only PLATFORM_DESKTOP)"></Overload>
+        </KeyWord>
         <KeyWord name="MaximizeWindow" func="yes">
         <KeyWord name="MaximizeWindow" func="yes">
             <Overload retVal="void" descr="Set window state: maximized, if resizable (only PLATFORM_DESKTOP)"></Overload>
             <Overload retVal="void" descr="Set window state: maximized, if resizable (only PLATFORM_DESKTOP)"></Overload>
         </KeyWord>
         </KeyWord>
@@ -76,7 +79,7 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="SetWindowTitle" func="yes">
         <KeyWord name="SetWindowTitle" func="yes">
-            <Overload retVal="void" descr="Set title for window (only PLATFORM_DESKTOP)">
+            <Overload retVal="void" descr="Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)">
                 <Param name="const char *title" />
                 <Param name="const char *title" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -87,7 +90,7 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="SetWindowMonitor" func="yes">
         <KeyWord name="SetWindowMonitor" func="yes">
-            <Overload retVal="void" descr="Set monitor for the current window (fullscreen mode)">
+            <Overload retVal="void" descr="Set monitor for the current window">
                 <Param name="int monitor" />
                 <Param name="int monitor" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -97,6 +100,12 @@
                 <Param name="int height" />
                 <Param name="int height" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="SetWindowMaxSize" func="yes">
+            <Overload retVal="void" descr="Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)">
+                <Param name="int width" />
+                <Param name="int height" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="SetWindowSize" func="yes">
         <KeyWord name="SetWindowSize" func="yes">
             <Overload retVal="void" descr="Set window dimensions">
             <Overload retVal="void" descr="Set window dimensions">
                 <Param name="int width" />
                 <Param name="int width" />
@@ -108,6 +117,9 @@
                 <Param name="float opacity" />
                 <Param name="float opacity" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="SetWindowFocused" func="yes">
+            <Overload retVal="void" descr="Set window focused (only PLATFORM_DESKTOP)"></Overload>
+        </KeyWord>
         <KeyWord name="GetWindowHandle" func="yes">
         <KeyWord name="GetWindowHandle" func="yes">
             <Overload retVal="void" descr="Get native window handle"></Overload>
             <Overload retVal="void" descr="Get native window handle"></Overload>
         </KeyWord>
         </KeyWord>
@@ -166,7 +178,7 @@
             <Overload retVal="Vector2" descr="Get window scale DPI factor"></Overload>
             <Overload retVal="Vector2" descr="Get window scale DPI factor"></Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GetMonitorName" func="yes">
         <KeyWord name="GetMonitorName" func="yes">
-            <Overload retVal="const char" descr="Get the human-readable, UTF-8 encoded name of the primary monitor">
+            <Overload retVal="const char" descr="Get the human-readable, UTF-8 encoded name of the specified monitor">
                 <Param name="int monitor" />
                 <Param name="int monitor" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -185,22 +197,6 @@
             <Overload retVal="void" descr="Disable waiting for events on EndDrawing(), automatic events polling"></Overload>
             <Overload retVal="void" descr="Disable waiting for events on EndDrawing(), automatic events polling"></Overload>
         </KeyWord>
         </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 timing + 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 time (halt program execution)">
-                <Param name="double seconds" />
-            </Overload>
-        </KeyWord>
-
         <!-- Cursor-related functions -->
         <!-- Cursor-related functions -->
         <KeyWord name="ShowCursor" func="yes">
         <KeyWord name="ShowCursor" func="yes">
             <Overload retVal="void" descr="Shows cursor"></Overload>
             <Overload retVal="void" descr="Shows cursor"></Overload>
@@ -423,28 +419,55 @@
                 <Param name="int fps" />
                 <Param name="int fps" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="GetFPS" func="yes">
-            <Overload retVal="int" descr="Get current FPS"></Overload>
-        </KeyWord>
         <KeyWord name="GetFrameTime" func="yes">
         <KeyWord name="GetFrameTime" func="yes">
             <Overload retVal="float" descr="Get 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>
         <KeyWord name="GetTime" func="yes">
         <KeyWord name="GetTime" func="yes">
             <Overload retVal="double" descr="Get elapsed time in seconds since InitWindow()"></Overload>
             <Overload retVal="double" descr="Get elapsed time in seconds since InitWindow()"></Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="GetFPS" func="yes">
+            <Overload retVal="int" descr="Get current FPS"></Overload>
+        </KeyWord>
 
 
-        <!-- Misc. functions -->
+        <!-- Custom frame control functions -->
+        <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 time (halt program execution)">
+                <Param name="double seconds" />
+            </Overload>
+        </KeyWord>
+
+        <!-- Random values generation functions -->
+        <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="GetRandomValue" func="yes">
         <KeyWord name="GetRandomValue" func="yes">
             <Overload retVal="int" descr="Get 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 min" />
                 <Param name="int max" />
                 <Param name="int max" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="SetRandomSeed" func="yes">
-            <Overload retVal="void" descr="Set the seed for the random number generator">
-                <Param name="unsigned int seed" />
+        <KeyWord name="LoadRandomSequence" func="yes">
+            <Overload retVal="int" descr="Load random values sequence, no values repeated">
+                <Param name="unsigned int count" />
+                <Param name="int min" />
+                <Param name="int max" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="UnloadRandomSequence" func="yes">
+            <Overload retVal="void" descr="Unload random values sequence">
+                <Param name="int *sequence" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+
+        <!-- Misc. functions -->
         <KeyWord name="TakeScreenshot" func="yes">
         <KeyWord name="TakeScreenshot" func="yes">
             <Overload retVal="void" descr="Takes a screenshot of current screen (filename extension defines format)">
             <Overload retVal="void" descr="Takes a screenshot of current screen (filename extension defines format)">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
@@ -455,6 +478,11 @@
                 <Param name="unsigned int flags" />
                 <Param name="unsigned int flags" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="OpenURL" func="yes">
+            <Overload retVal="void" descr="Open URL with default system browser (if available)">
+                <Param name="const char *url" />
+            </Overload>
+        </KeyWord>
 
 
         <KeyWord name="TraceLog" func="yes">
         <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...)">
@@ -480,12 +508,6 @@
             <Overload retVal="void" descr="Internal memory free"></Overload>
             <Overload retVal="void" descr="Internal memory free"></Overload>
         </KeyWord>
         </KeyWord>
 
 
-        <KeyWord name="OpenURL" func="yes">
-            <Overload retVal="void" descr="Open URL with default system browser (if available)">
-                <Param name="const char *url" />
-            </Overload>
-        </KeyWord>
-
         <!-- Set custom callbacks -->
         <!-- Set custom callbacks -->
         <!-- WARNING: Callbacks setup is intended for advance users -->
         <!-- WARNING: Callbacks setup is intended for advance users -->
         <KeyWord name="SetTraceLogCallback" func="yes">
         <KeyWord name="SetTraceLogCallback" func="yes">
@@ -518,7 +540,7 @@
         <KeyWord name="char *LoadFileData" func="yes">
         <KeyWord name="char *LoadFileData" func="yes">
             <Overload retVal="unsigned" descr="Load file data as byte array (read)">
             <Overload retVal="unsigned" descr="Load file data as byte array (read)">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
-                <Param name="unsigned int *bytesRead" />
+                <Param name="int *dataSize" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="UnloadFileData" func="yes">
         <KeyWord name="UnloadFileData" func="yes">
@@ -533,7 +555,7 @@
         <KeyWord name="ExportDataAsCode" func="yes">
         <KeyWord name="ExportDataAsCode" func="yes">
             <Overload retVal="bool" descr="Export data to code (.h), returns true on success">
             <Overload retVal="bool" descr="Export data to code (.h), returns true on success">
                 <Param name="const unsigned char" />
                 <Param name="const unsigned char" />
-                <Param name="unsigned int size" />
+                <Param name="int dataSize" />
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -553,6 +575,8 @@
                 <Param name="char *text" />
                 <Param name="char *text" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+
+        <!-- File system functions -->
         <KeyWord name="FileExists" func="yes">
         <KeyWord name="FileExists" func="yes">
             <Overload retVal="bool" descr="Check if file exists">
             <Overload retVal="bool" descr="Check if file exists">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
@@ -603,7 +627,7 @@
             <Overload retVal="const char" descr="Get current working directory (uses static string)"></Overload>
             <Overload retVal="const char" descr="Get current working directory (uses static string)"></Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GetApplicationDirectory" func="yes">
         <KeyWord name="GetApplicationDirectory" func="yes">
-            <Overload retVal="const char" descr="Get the directory if the running application (uses static string)"></Overload>
+            <Overload retVal="const char" descr="Get the directory of the running application (uses static string)"></Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="ChangeDirectory" func="yes">
         <KeyWord name="ChangeDirectory" func="yes">
             <Overload retVal="bool" descr="Change working directory, return true on success">
             <Overload retVal="bool" descr="Change working directory, return true on success">
@@ -678,6 +702,45 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
+        <!-- Automation events functionality -->
+        <KeyWord name="LoadAutomationEventList" func="yes">
+            <Overload retVal="AutomationEventList" descr="Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS">
+                <Param name="const char *fileName" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="UnloadAutomationEventList" func="yes">
+            <Overload retVal="void" descr="Unload automation events list from file">
+                <Param name="AutomationEventList *list" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="ExportAutomationEventList" func="yes">
+            <Overload retVal="bool" descr="Export automation events list as text file">
+                <Param name="AutomationEventList list" />
+                <Param name="const char *fileName" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetAutomationEventList" func="yes">
+            <Overload retVal="void" descr="Set automation event list to record to">
+                <Param name="AutomationEventList *list" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetAutomationEventBaseFrame" func="yes">
+            <Overload retVal="void" descr="Set automation event internal base frame to start recording">
+                <Param name="int frame" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="StartAutomationEventRecording" func="yes">
+            <Overload retVal="void" descr="Start recording automation events (AutomationEventList must be set)"></Overload>
+        </KeyWord>
+        <KeyWord name="StopAutomationEventRecording" func="yes">
+            <Overload retVal="void" descr="Stop recording automation events"></Overload>
+        </KeyWord>
+        <KeyWord name="PlayAutomationEvent" func="yes">
+            <Overload retVal="void" descr="Play a recorded automation event">
+                <Param name="AutomationEvent event" />
+            </Overload>
+        </KeyWord>
+
         <!-------------------------------------------------------------------------------------- -->
         <!-------------------------------------------------------------------------------------- -->
         <!-- Input Handling Functions (Module: core) -->
         <!-- Input Handling Functions (Module: core) -->
         <!-------------------------------------------------------------------------------------- -->
         <!-------------------------------------------------------------------------------------- -->
@@ -688,6 +751,11 @@
                 <Param name="int key" />
                 <Param name="int key" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="IsKeyPressedRepeat" func="yes">
+            <Overload retVal="bool" descr="Check if a key has been pressed again (Only PLATFORM_DESKTOP)">
+                <Param name="int key" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="IsKeyDown" func="yes">
         <KeyWord name="IsKeyDown" func="yes">
             <Overload retVal="bool" descr="Check if a key is being pressed">
             <Overload retVal="bool" descr="Check if a key is being pressed">
                 <Param name="int key" />
                 <Param name="int key" />
@@ -703,17 +771,17 @@
                 <Param name="int key" />
                 <Param name="int key" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="SetExitKey" func="yes">
-            <Overload retVal="void" descr="Set a custom key to exit program (default is ESC)">
-                <Param name="int key" />
-            </Overload>
-        </KeyWord>
         <KeyWord name="GetKeyPressed" func="yes">
         <KeyWord name="GetKeyPressed" func="yes">
             <Overload retVal="int" descr="Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty"></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>
         <KeyWord name="GetCharPressed" func="yes">
         <KeyWord name="GetCharPressed" func="yes">
             <Overload retVal="int" descr="Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty"></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>
         </KeyWord>
+        <KeyWord name="SetExitKey" func="yes">
+            <Overload retVal="void" descr="Set a custom key to exit program (default is ESC)">
+                <Param name="int key" />
+            </Overload>
+        </KeyWord>
 
 
         <!-- Input-related functions: gamepads -->
         <!-- Input-related functions: gamepads -->
         <KeyWord name="IsGamepadAvailable" func="yes">
         <KeyWord name="IsGamepadAvailable" func="yes">
@@ -864,7 +932,7 @@
         </KeyWord>
         </KeyWord>
         <KeyWord name="IsGestureDetected" func="yes">
         <KeyWord name="IsGestureDetected" func="yes">
             <Overload retVal="bool" descr="Check if a gesture have been detected">
             <Overload retVal="bool" descr="Check if a gesture have been detected">
-                <Param name="int gesture" />
+                <Param name="unsigned int gesture" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GetGestureDetected" func="yes">
         <KeyWord name="GetGestureDetected" func="yes">
@@ -941,54 +1009,35 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="DrawLineV" func="yes">
         <KeyWord name="DrawLineV" func="yes">
-            <Overload retVal="void" descr="Draw a line (Vector version)">
+            <Overload retVal="void" descr="Draw a line (using gl lines)">
                 <Param name="Vector2 startPos" />
                 <Param name="Vector2 startPos" />
                 <Param name="Vector2 endPos" />
                 <Param name="Vector2 endPos" />
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="DrawLineEx" func="yes">
         <KeyWord name="DrawLineEx" func="yes">
-            <Overload retVal="void" descr="Draw a line defining thickness">
+            <Overload retVal="void" descr="Draw a line (using triangles/quads)">
                 <Param name="Vector2 startPos" />
                 <Param name="Vector2 startPos" />
                 <Param name="Vector2 endPos" />
                 <Param name="Vector2 endPos" />
                 <Param name="float thick" />
                 <Param name="float thick" />
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="DrawLineBezier" func="yes">
-            <Overload retVal="void" descr="Draw a line using cubic-bezier curves in-out">
-                <Param name="Vector2 startPos" />
-                <Param name="Vector2 endPos" />
-                <Param name="float thick" />
-                <Param name="Color color" />
-            </Overload>
-        </KeyWord>
-        <KeyWord name="DrawLineBezierQuad" func="yes">
-            <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" />
-                <Param name="float thick" />
+        <KeyWord name="DrawLineStrip" func="yes">
+            <Overload retVal="void" descr="Draw lines sequence (using gl lines)">
+                <Param name="Vector2 *points" />
+                <Param name="int pointCount" />
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="DrawLineBezierCubic" func="yes">
-            <Overload retVal="void" descr="Draw line using cubic bezier curves with 2 control points">
+        <KeyWord name="DrawLineBezier" func="yes">
+            <Overload retVal="void" descr="Draw line segment cubic-bezier in-out interpolation">
                 <Param name="Vector2 startPos" />
                 <Param name="Vector2 startPos" />
                 <Param name="Vector2 endPos" />
                 <Param name="Vector2 endPos" />
-                <Param name="Vector2 startControlPos" />
-                <Param name="Vector2 endControlPos" />
                 <Param name="float thick" />
                 <Param name="float thick" />
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="DrawLineStrip" func="yes">
-            <Overload retVal="void" descr="Draw lines sequence">
-                <Param name="Vector2 *points" />
-                <Param name="int pointCount" />
-                <Param name="Color color" />
-            </Overload>
-        </KeyWord>
         <KeyWord name="DrawCircle" func="yes">
         <KeyWord name="DrawCircle" func="yes">
             <Overload retVal="void" descr="Draw a color-filled circle">
             <Overload retVal="void" descr="Draw a color-filled circle">
                 <Param name="int centerX" />
                 <Param name="int centerX" />
@@ -1041,6 +1090,13 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawCircleLinesV" func="yes">
+            <Overload retVal="void" descr="Draw circle outline (Vector version)">
+                <Param name="Vector2 center" />
+                <Param name="float radius" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawEllipse" func="yes">
         <KeyWord name="DrawEllipse" func="yes">
             <Overload retVal="void" descr="Draw ellipse">
             <Overload retVal="void" descr="Draw ellipse">
                 <Param name="int centerX" />
                 <Param name="int centerX" />
@@ -1232,6 +1288,139 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
+        <!-- Splines drawing functions -->
+        <KeyWord name="DrawSplineLinear" func="yes">
+            <Overload retVal="void" descr="Draw spline: Linear, minimum 2 points">
+                <Param name="Vector2 *points" />
+                <Param name="int pointCount" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineBasis" func="yes">
+            <Overload retVal="void" descr="Draw spline: B-Spline, minimum 4 points">
+                <Param name="Vector2 *points" />
+                <Param name="int pointCount" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineCatmullRom" func="yes">
+            <Overload retVal="void" descr="Draw spline: Catmull-Rom, minimum 4 points">
+                <Param name="Vector2 *points" />
+                <Param name="int pointCount" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineBezierQuadratic" func="yes">
+            <Overload retVal="void" descr="Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]">
+                <Param name="Vector2 *points" />
+                <Param name="int pointCount" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineBezierCubic" func="yes">
+            <Overload retVal="void" descr="Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]">
+                <Param name="Vector2 *points" />
+                <Param name="int pointCount" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineSegmentLinear" func="yes">
+            <Overload retVal="void" descr="Draw spline segment: Linear, 2 points">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 p2" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineSegmentBasis" func="yes">
+            <Overload retVal="void" descr="Draw spline segment: B-Spline, 4 points">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 p2" />
+                <Param name="Vector2 p3" />
+                <Param name="Vector2 p4" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineSegmentCatmullRom" func="yes">
+            <Overload retVal="void" descr="Draw spline segment: Catmull-Rom, 4 points">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 p2" />
+                <Param name="Vector2 p3" />
+                <Param name="Vector2 p4" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineSegmentBezierQuadratic" func="yes">
+            <Overload retVal="void" descr="Draw spline segment: Quadratic Bezier, 2 points, 1 control point">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 c2" />
+                <Param name="Vector2 p3" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawSplineSegmentBezierCubic" func="yes">
+            <Overload retVal="void" descr="Draw spline segment: Cubic Bezier, 2 points, 2 control points">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 c2" />
+                <Param name="Vector2 c3" />
+                <Param name="Vector2 p4" />
+                <Param name="float thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+
+        <!-- Spline segment point evaluation functions, for a given t [0.0f .. 1.0f] -->
+        <KeyWord name="GetSplinePointLinear" func="yes">
+            <Overload retVal="Vector2" descr="Get (evaluate) spline point: Linear">
+                <Param name="Vector2 startPos" />
+                <Param name="Vector2 endPos" />
+                <Param name="float t" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetSplinePointBasis" func="yes">
+            <Overload retVal="Vector2" descr="Get (evaluate) spline point: B-Spline">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 p2" />
+                <Param name="Vector2 p3" />
+                <Param name="Vector2 p4" />
+                <Param name="float t" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetSplinePointCatmullRom" func="yes">
+            <Overload retVal="Vector2" descr="Get (evaluate) spline point: Catmull-Rom">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 p2" />
+                <Param name="Vector2 p3" />
+                <Param name="Vector2 p4" />
+                <Param name="float t" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetSplinePointBezierQuad" func="yes">
+            <Overload retVal="Vector2" descr="Get (evaluate) spline point: Quadratic Bezier">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 c2" />
+                <Param name="Vector2 p3" />
+                <Param name="float t" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetSplinePointBezierCubic" func="yes">
+            <Overload retVal="Vector2" descr="Get (evaluate) spline point: Cubic Bezier">
+                <Param name="Vector2 p1" />
+                <Param name="Vector2 c2" />
+                <Param name="Vector2 c3" />
+                <Param name="Vector2 p4" />
+                <Param name="float t" />
+            </Overload>
+        </KeyWord>
+
         <!-- Basic shapes collision detection functions -->
         <!-- Basic shapes collision detection functions -->
         <KeyWord name="CheckCollisionRecs" func="yes">
         <KeyWord name="CheckCollisionRecs" func="yes">
             <Overload retVal="bool" descr="Check collision between two rectangles">
             <Overload retVal="bool" descr="Check collision between two rectangles">
@@ -1326,6 +1515,13 @@
                 <Param name="int headerSize" />
                 <Param name="int headerSize" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="LoadImageSvg" func="yes">
+            <Overload retVal="Image" descr="Load image from SVG file data or string with specified size">
+                <Param name="const char *fileNameOrString" />
+                <Param name="int width" />
+                <Param name="int height" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="LoadImageAnim" func="yes">
         <KeyWord name="LoadImageAnim" func="yes">
             <Overload retVal="Image" descr="Load image sequence from file (frames appended to image.data)">
             <Overload retVal="Image" descr="Load image sequence from file (frames appended to image.data)">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
@@ -1363,6 +1559,13 @@
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="char *ExportImageToMemory" func="yes">
+            <Overload retVal="unsigned" descr="Export image to memory buffer">
+                <Param name="Image image" />
+                <Param name="const char *fileType" />
+                <Param name="int *fileSize" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="ExportImageAsCode" func="yes">
         <KeyWord name="ExportImageAsCode" func="yes">
             <Overload retVal="bool" descr="Export image as code file defining an array of bytes, returns true on success">
             <Overload retVal="bool" descr="Export image as code file defining an array of bytes, returns true on success">
                 <Param name="Image image" />
                 <Param name="Image image" />
@@ -1379,7 +1582,7 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GenImageGradientLinear" func="yes">
         <KeyWord name="GenImageGradientLinear" func="yes">
-            <Overload retVal="Image" descr="Generate image: linear gradient">
+            <Overload retVal="Image" descr="Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient">
                 <Param name="int width" />
                 <Param name="int width" />
                 <Param name="int height" />
                 <Param name="int height" />
                 <Param name="int direction" />
                 <Param name="int direction" />
@@ -2025,11 +2228,11 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="LoadFontEx" func="yes">
         <KeyWord name="LoadFontEx" func="yes">
-            <Overload retVal="Font" descr="Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set">
+            <Overload retVal="Font" descr="Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
                 <Param name="int fontSize" />
                 <Param name="int fontSize" />
-                <Param name="int *fontChars" />
-                <Param name="int glyphCount" />
+                <Param name="int *codepoints" />
+                <Param name="int codepointCount" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="LoadFontFromImage" func="yes">
         <KeyWord name="LoadFontFromImage" func="yes">
@@ -2045,8 +2248,8 @@
                 <Param name="const unsigned char" />
                 <Param name="const unsigned char" />
                 <Param name="int dataSize" />
                 <Param name="int dataSize" />
                 <Param name="int fontSize" />
                 <Param name="int fontSize" />
-                <Param name="int *fontChars" />
-                <Param name="int glyphCount" />
+                <Param name="int *codepoints" />
+                <Param name="int codepointCount" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="IsFontReady" func="yes">
         <KeyWord name="IsFontReady" func="yes">
@@ -2059,15 +2262,15 @@
                 <Param name="const unsigned char" />
                 <Param name="const unsigned char" />
                 <Param name="int dataSize" />
                 <Param name="int dataSize" />
                 <Param name="int fontSize" />
                 <Param name="int fontSize" />
-                <Param name="int *fontChars" />
-                <Param name="int glyphCount" />
+                <Param name="int *codepoints" />
+                <Param name="int codepointCount" />
                 <Param name="int type" />
                 <Param name="int type" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GenImageFontAtlas" func="yes">
         <KeyWord name="GenImageFontAtlas" func="yes">
             <Overload retVal="Image" descr="Generate image font atlas using chars info">
             <Overload retVal="Image" descr="Generate image font atlas using chars info">
-                <Param name="const GlyphInfo *chars" />
-                <Param name="Rectangle **recs" />
+                <Param name="const GlyphInfo *glyphs" />
+                <Param name="Rectangle **glyphRecs" />
                 <Param name="int glyphCount" />
                 <Param name="int glyphCount" />
                 <Param name="int fontSize" />
                 <Param name="int fontSize" />
                 <Param name="int padding" />
                 <Param name="int padding" />
@@ -2076,7 +2279,7 @@
         </KeyWord>
         </KeyWord>
         <KeyWord name="UnloadFontData" func="yes">
         <KeyWord name="UnloadFontData" func="yes">
             <Overload retVal="void" descr="Unload font chars info data (RAM)">
             <Overload retVal="void" descr="Unload font chars info data (RAM)">
-                <Param name="GlyphInfo *chars" />
+                <Param name="GlyphInfo *glyphs" />
                 <Param name="int glyphCount" />
                 <Param name="int glyphCount" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -2143,7 +2346,7 @@
             <Overload retVal="void" descr="Draw multiple character (codepoint)">
             <Overload retVal="void" descr="Draw multiple character (codepoint)">
                 <Param name="Font font" />
                 <Param name="Font font" />
                 <Param name="const int *codepoints" />
                 <Param name="const int *codepoints" />
-                <Param name="int count" />
+                <Param name="int codepointCount" />
                 <Param name="Vector2 position" />
                 <Param name="Vector2 position" />
                 <Param name="float fontSize" />
                 <Param name="float fontSize" />
                 <Param name="float spacing" />
                 <Param name="float spacing" />
@@ -2152,6 +2355,11 @@
         </KeyWord>
         </KeyWord>
 
 
         <!-- Text font info functions -->
         <!-- Text font info functions -->
+        <KeyWord name="SetTextLineSpacing" func="yes">
+            <Overload retVal="void" descr="Set vertical line spacing when drawing with line-breaks">
+                <Param name="int spacing" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="MeasureText" func="yes">
         <KeyWord name="MeasureText" func="yes">
             <Overload retVal="int" descr="Measure string width for default font">
             <Overload retVal="int" descr="Measure string width for default font">
                 <Param name="const char *text" />
                 <Param name="const char *text" />
@@ -2614,7 +2822,7 @@
                 <Param name="Vector2 size" />
                 <Param name="Vector2 size" />
                 <Param name="Vector2 origin" />
                 <Param name="Vector2 origin" />
                 <Param name="float rotation" />
                 <Param name="float rotation" />
-                <Param name="Color tint" />
+                <Param name="0ó¿8± " />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
@@ -2789,7 +2997,7 @@
         <KeyWord name="LoadModelAnimations" func="yes">
         <KeyWord name="LoadModelAnimations" func="yes">
             <Overload retVal="ModelAnimation" descr="Load model animations from file">
             <Overload retVal="ModelAnimation" descr="Load model animations from file">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
-                <Param name="unsigned int *animCount" />
+                <Param name="int *animCount" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="UpdateModelAnimation" func="yes">
         <KeyWord name="UpdateModelAnimation" func="yes">
@@ -2807,7 +3015,7 @@
         <KeyWord name="UnloadModelAnimations" func="yes">
         <KeyWord name="UnloadModelAnimations" func="yes">
             <Overload retVal="void" descr="Unload animation array data">
             <Overload retVal="void" descr="Unload animation array data">
                 <Param name="ModelAnimation *animations" />
                 <Param name="ModelAnimation *animations" />
-                <Param name="unsigned int count" />
+                <Param name="int animCount" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="IsModelAnimationValid" func="yes">
         <KeyWord name="IsModelAnimationValid" func="yes">
@@ -2896,6 +3104,9 @@
                 <Param name="float volume" />
                 <Param name="float volume" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="GetMasterVolume" func="yes">
+            <Overload retVal="float" descr="Get master volume (listener)"></Overload>
+        </KeyWord>
 
 
         <!-- Wave/Sound loading/unloading functions -->
         <!-- Wave/Sound loading/unloading functions -->
         <KeyWord name="LoadWave" func="yes">
         <KeyWord name="LoadWave" func="yes">
@@ -2925,6 +3136,11 @@
                 <Param name="Wave wave" />
                 <Param name="Wave wave" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="LoadSoundAlias" func="yes">
+            <Overload retVal="Sound" descr="Create a new sound that shares the same sample data as the source sound, does not own the sound data">
+                <Param name="Sound source" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="IsSoundReady" func="yes">
         <KeyWord name="IsSoundReady" func="yes">
             <Overload retVal="bool" descr="Checks if a sound is ready">
             <Overload retVal="bool" descr="Checks if a sound is ready">
                 <Param name="Sound sound" />
                 <Param name="Sound sound" />
@@ -2947,6 +3163,11 @@
                 <Param name="Sound sound" />
                 <Param name="Sound sound" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="UnloadSoundAlias" func="yes">
+            <Overload retVal="void" descr="Unload a sound alias (does not deallocate sample data)">
+                <Param name="Sound alias" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="ExportWave" func="yes">
         <KeyWord name="ExportWave" func="yes">
             <Overload retVal="bool" descr="Export wave data to file, returns true on success">
             <Overload retVal="bool" descr="Export wave data to file, returns true on success">
                 <Param name="Wave wave" />
                 <Param name="Wave wave" />
@@ -3209,7 +3430,7 @@
         </KeyWord>
         </KeyWord>
 
 
         <KeyWord name="AttachAudioStreamProcessor" func="yes">
         <KeyWord name="AttachAudioStreamProcessor" func="yes">
-            <Overload retVal="void" descr="Attach audio stream processor to stream">
+            <Overload retVal="void" descr="Attach audio stream processor to stream, receives the samples as <float>s">
                 <Param name="AudioStream stream" />
                 <Param name="AudioStream stream" />
                 <Param name="AudioCallback processor" />
                 <Param name="AudioCallback processor" />
             </Overload>
             </Overload>
@@ -3222,7 +3443,7 @@
         </KeyWord>
         </KeyWord>
 
 
         <KeyWord name="AttachAudioMixedProcessor" func="yes">
         <KeyWord name="AttachAudioMixedProcessor" func="yes">
-            <Overload retVal="void" descr="Attach audio stream processor to the entire audio pipeline">
+            <Overload retVal="void" descr="Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s">
                 <Param name="AudioCallback processor" />
                 <Param name="AudioCallback processor" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>

+ 82 - 42
projects/Notepad++/raylib_npp_parser/raylib_to_parse.h

@@ -4,8 +4,8 @@
 
 
 // Window-related functions
 // Window-related functions
 RLAPI void InitWindow(int width, int height, const char *title);  // Initialize window and OpenGL context
 RLAPI void InitWindow(int width, int height, const char *title);  // Initialize window and OpenGL context
-RLAPI bool WindowShouldClose(void);                               // Check if KEY_ESCAPE pressed or Close icon pressed
 RLAPI void CloseWindow(void);                                     // Close window and unload OpenGL context
 RLAPI void CloseWindow(void);                                     // Close window and unload OpenGL context
+RLAPI bool WindowShouldClose(void);                               // Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)
 RLAPI bool IsWindowReady(void);                                   // Check if window has been initialized successfully
 RLAPI bool IsWindowReady(void);                                   // Check if window has been initialized successfully
 RLAPI bool IsWindowFullscreen(void);                              // Check if window is currently fullscreen
 RLAPI bool IsWindowFullscreen(void);                              // Check if window is currently fullscreen
 RLAPI bool IsWindowHidden(void);                                  // Check if window is currently hidden (only PLATFORM_DESKTOP)
 RLAPI bool IsWindowHidden(void);                                  // Check if window is currently hidden (only PLATFORM_DESKTOP)
@@ -17,17 +17,20 @@ RLAPI bool IsWindowState(unsigned int flag);                      // Check if on
 RLAPI void SetWindowState(unsigned int flags);                    // Set window configuration state using flags (only PLATFORM_DESKTOP)
 RLAPI void SetWindowState(unsigned int flags);                    // Set window configuration state using flags (only PLATFORM_DESKTOP)
 RLAPI void ClearWindowState(unsigned int flags);                  // Clear window configuration state flags
 RLAPI void ClearWindowState(unsigned int flags);                  // Clear window configuration state flags
 RLAPI void ToggleFullscreen(void);                                // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
 RLAPI void ToggleFullscreen(void);                                // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
+RLAPI void ToggleBorderlessWindowed(void);                        // Toggle window state: borderless windowed (only PLATFORM_DESKTOP)
 RLAPI void MaximizeWindow(void);                                  // Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
 RLAPI void MaximizeWindow(void);                                  // Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
 RLAPI void MinimizeWindow(void);                                  // Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
 RLAPI void MinimizeWindow(void);                                  // Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
 RLAPI void RestoreWindow(void);                                   // Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
 RLAPI void RestoreWindow(void);                                   // Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
 RLAPI void SetWindowIcon(Image image);                            // Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
 RLAPI void SetWindowIcon(Image image);                            // Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
 RLAPI void SetWindowIcons(Image *images, int count);              // Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
 RLAPI void SetWindowIcons(Image *images, int count);              // Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
-RLAPI void SetWindowTitle(const char *title);                     // Set title for window (only PLATFORM_DESKTOP)
+RLAPI void SetWindowTitle(const char *title);                     // Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)
 RLAPI void SetWindowPosition(int x, int y);                       // Set window position on screen (only PLATFORM_DESKTOP)
 RLAPI void SetWindowPosition(int x, int y);                       // Set window position on screen (only PLATFORM_DESKTOP)
-RLAPI void SetWindowMonitor(int monitor);                         // Set monitor for the current window (fullscreen mode)
+RLAPI void SetWindowMonitor(int monitor);                         // Set monitor for the current window
 RLAPI void SetWindowMinSize(int width, int height);               // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
 RLAPI void SetWindowMinSize(int width, int height);               // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
+RLAPI void SetWindowMaxSize(int width, int height);               // Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)
 RLAPI void SetWindowSize(int width, int height);                  // Set window dimensions
 RLAPI void SetWindowSize(int width, int height);                  // Set window dimensions
 RLAPI void SetWindowOpacity(float opacity);                       // Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
 RLAPI void SetWindowOpacity(float opacity);                       // Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
+RLAPI void SetWindowFocused(void);                                // Set window focused (only PLATFORM_DESKTOP)
 RLAPI void *GetWindowHandle(void);                                // Get native window handle
 RLAPI void *GetWindowHandle(void);                                // Get native window handle
 RLAPI int GetScreenWidth(void);                                   // Get current screen width
 RLAPI int GetScreenWidth(void);                                   // Get current screen width
 RLAPI int GetScreenHeight(void);                                  // Get current screen height
 RLAPI int GetScreenHeight(void);                                  // Get current screen height
@@ -43,20 +46,12 @@ RLAPI int GetMonitorPhysicalHeight(int monitor);                  // Get specifi
 RLAPI int GetMonitorRefreshRate(int monitor);                     // Get specified monitor refresh rate
 RLAPI int GetMonitorRefreshRate(int monitor);                     // Get specified monitor refresh rate
 RLAPI Vector2 GetWindowPosition(void);                            // Get window position XY on monitor
 RLAPI Vector2 GetWindowPosition(void);                            // Get window position XY on monitor
 RLAPI Vector2 GetWindowScaleDPI(void);                            // Get window scale DPI factor
 RLAPI Vector2 GetWindowScaleDPI(void);                            // Get window scale DPI factor
-RLAPI const char *GetMonitorName(int monitor);                    // Get the human-readable, UTF-8 encoded name of the primary monitor
+RLAPI const char *GetMonitorName(int monitor);                    // Get the human-readable, UTF-8 encoded name of the specified monitor
 RLAPI void SetClipboardText(const char *text);                    // Set clipboard text content
 RLAPI void SetClipboardText(const char *text);                    // Set clipboard text content
 RLAPI const char *GetClipboardText(void);                         // Get clipboard text content
 RLAPI const char *GetClipboardText(void);                         // Get clipboard text content
 RLAPI void EnableEventWaiting(void);                              // Enable waiting for events on EndDrawing(), no automatic event polling
 RLAPI void EnableEventWaiting(void);                              // Enable waiting for events on EndDrawing(), no automatic event polling
 RLAPI void DisableEventWaiting(void);                             // Disable waiting for events on EndDrawing(), automatic events polling
 RLAPI void DisableEventWaiting(void);                             // Disable waiting for events on EndDrawing(), automatic events polling
 
 
-// Custom frame control functions
-// NOTE: Those functions are intended for advance users that want full control over the frame processing
-// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents()
-// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
-RLAPI void SwapScreenBuffer(void);                                // Swap back buffer with front buffer (screen drawing)
-RLAPI void PollInputEvents(void);                                 // Register all input events
-RLAPI void WaitTime(double seconds);                              // Wait for some time (halt program execution)
-
 // Cursor-related functions
 // Cursor-related functions
 RLAPI void ShowCursor(void);                                      // Shows cursor
 RLAPI void ShowCursor(void);                                      // Shows cursor
 RLAPI void HideCursor(void);                                      // Hides cursor
 RLAPI void HideCursor(void);                                      // Hides cursor
@@ -112,15 +107,25 @@ RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the
 
 
 // Timing-related functions
 // Timing-related functions
 RLAPI void SetTargetFPS(int fps);                                 // Set target FPS (maximum)
 RLAPI void SetTargetFPS(int fps);                                 // Set target FPS (maximum)
-RLAPI int GetFPS(void);                                           // Get current FPS
 RLAPI float GetFrameTime(void);                                   // Get time in seconds for last frame drawn (delta time)
 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()
 RLAPI double GetTime(void);                                       // Get elapsed time in seconds since InitWindow()
+RLAPI int GetFPS(void);                                           // Get current FPS
 
 
-// Misc. functions
-RLAPI int GetRandomValue(int min, int max);                       // Get a random value between min and max (both included)
+// Custom frame control functions
+RLAPI void SwapScreenBuffer(void);                                // Swap back buffer with front buffer (screen drawing)
+RLAPI void PollInputEvents(void);                                 // Register all input events
+RLAPI void WaitTime(double seconds);                              // Wait for some time (halt program execution)
+
+// Random values generation functions
 RLAPI void SetRandomSeed(unsigned int seed);                      // Set the seed for the random number generator
 RLAPI void SetRandomSeed(unsigned int seed);                      // Set the seed for the random number generator
+RLAPI int GetRandomValue(int min, int max);                       // Get a random value between min and max (both included)
+RLAPI int *LoadRandomSequence(unsigned int count, int min, int max); // Load random values sequence, no values repeated
+RLAPI void UnloadRandomSequence(int *sequence);                   // Unload random values sequence
+
+// Misc. functions
 RLAPI void TakeScreenshot(const char *fileName);                  // Takes a screenshot of current screen (filename extension defines format)
 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 SetConfigFlags(unsigned int flags);                    // Setup init configuration flags (view FLAGS)
+RLAPI void OpenURL(const char *url);                              // Open URL with default system browser (if available)
 
 
 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 SetTraceLogLevel(int logLevel);                        // Set the current threshold (minimum) log level
@@ -128,8 +133,6 @@ RLAPI void *MemAlloc(unsigned int size);                          // Internal me
 RLAPI void *MemRealloc(void *ptr, unsigned int size);             // Internal memory reallocator
 RLAPI void *MemRealloc(void *ptr, unsigned int size);             // Internal memory reallocator
 RLAPI void MemFree(void *ptr);                                    // Internal memory free
 RLAPI void MemFree(void *ptr);                                    // Internal memory free
 
 
-RLAPI void OpenURL(const char *url);                              // Open URL with default system browser (if available)
-
 // Set custom callbacks
 // Set custom callbacks
 // WARNING: Callbacks setup is intended for advance users
 // WARNING: Callbacks setup is intended for advance users
 RLAPI void SetTraceLogCallback(TraceLogCallback callback);         // Set custom trace log
 RLAPI void SetTraceLogCallback(TraceLogCallback callback);         // Set custom trace log
@@ -139,13 +142,15 @@ RLAPI void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom
 RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
 RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
 
 
 // Files management functions
 // Files management functions
-RLAPI unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead);       // Load file data as byte array (read)
+RLAPI unsigned char *LoadFileData(const char *fileName, int *dataSize); // Load file data as byte array (read)
 RLAPI void UnloadFileData(unsigned char *data);                   // Unload file data allocated by LoadFileData()
 RLAPI void UnloadFileData(unsigned char *data);                   // Unload file data allocated by LoadFileData()
-RLAPI bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite);   // Save data to file from byte array (write), returns true on success
-RLAPI bool ExportDataAsCode(const unsigned char *data, unsigned int size, const char *fileName); // Export data to code (.h), returns true on success
+RLAPI bool SaveFileData(const char *fileName, void *data, int dataSize); // Save data to file from byte array (write), returns true on success
+RLAPI bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName); // Export data to code (.h), returns true on success
 RLAPI char *LoadFileText(const char *fileName);                   // Load text data from file (read), returns a '\0' terminated string
 RLAPI char *LoadFileText(const char *fileName);                   // Load text data from file (read), returns a '\0' terminated string
 RLAPI void UnloadFileText(char *text);                            // Unload file text data allocated by LoadFileText()
 RLAPI 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 SaveFileText(const char *fileName, char *text);        // Save text data to file (write), string must be '\0' terminated, returns true on success
+
+// File system functions
 RLAPI bool FileExists(const char *fileName);                      // Check if file exists
 RLAPI bool FileExists(const char *fileName);                      // Check if file exists
 RLAPI bool DirectoryExists(const char *dirPath);                  // Check if a directory path 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 bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (including point: .png, .wav)
@@ -156,7 +161,7 @@ RLAPI const char *GetFileNameWithoutExt(const char *filePath);    // Get filenam
 RLAPI const char *GetDirectoryPath(const char *filePath);         // Get full path for a given fileName with path (uses static string)
 RLAPI const char *GetDirectoryPath(const char *filePath);         // Get full path for a given fileName with path (uses static string)
 RLAPI const char *GetPrevDirectoryPath(const char *dirPath);      // Get previous directory path for a given path (uses static string)
 RLAPI const char *GetPrevDirectoryPath(const char *dirPath);      // Get previous directory path for a given path (uses static string)
 RLAPI const char *GetWorkingDirectory(void);                      // Get current working directory (uses static string)
 RLAPI const char *GetWorkingDirectory(void);                      // Get current working directory (uses static string)
-RLAPI const char *GetApplicationDirectory(void);                  // Get the directory if the running application (uses static string)
+RLAPI const char *GetApplicationDirectory(void);                  // Get the directory of the running application (uses static string)
 RLAPI bool ChangeDirectory(const char *dir);                      // Change working directory, return true on success
 RLAPI bool ChangeDirectory(const char *dir);                      // Change working directory, return true on success
 RLAPI bool IsPathFile(const char *path);                          // Check if a given path is a file or a directory
 RLAPI bool IsPathFile(const char *path);                          // Check if a given path is a file or a directory
 RLAPI FilePathList LoadDirectoryFiles(const char *dirPath);       // Load directory filepaths
 RLAPI FilePathList LoadDirectoryFiles(const char *dirPath);       // Load directory filepaths
@@ -173,18 +178,29 @@ RLAPI unsigned char *DecompressData(const unsigned char *compData, int compDataS
 RLAPI char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize);               // Encode data to Base64 string, memory must be MemFree()
 RLAPI char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize);               // Encode data to Base64 string, memory must be MemFree()
 RLAPI unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize);                    // Decode Base64 string data, memory must be MemFree()
 RLAPI unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize);                    // Decode Base64 string data, memory must be MemFree()
 
 
+// Automation events functionality
+RLAPI AutomationEventList LoadAutomationEventList(const char *fileName);                // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
+RLAPI void UnloadAutomationEventList(AutomationEventList *list);                        // Unload automation events list from file
+RLAPI bool ExportAutomationEventList(AutomationEventList list, const char *fileName);   // Export automation events list as text file
+RLAPI void SetAutomationEventList(AutomationEventList *list);                           // Set automation event list to record to
+RLAPI void SetAutomationEventBaseFrame(int frame);                                      // Set automation event internal base frame to start recording
+RLAPI void StartAutomationEventRecording(void);                                         // Start recording automation events (AutomationEventList must be set)
+RLAPI void StopAutomationEventRecording(void);                                          // Stop recording automation events
+RLAPI void PlayAutomationEvent(AutomationEvent event);                                  // Play a recorded automation event
+
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 // Input Handling Functions (Module: core)
 // Input Handling Functions (Module: core)
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 
 
 // Input-related functions: keyboard
 // Input-related functions: keyboard
 RLAPI bool IsKeyPressed(int key);                             // Check if a key has been pressed once
 RLAPI bool IsKeyPressed(int key);                             // Check if a key has been pressed once
+RLAPI bool IsKeyPressedRepeat(int key);                       // Check if a key has been pressed again (Only PLATFORM_DESKTOP)
 RLAPI bool IsKeyDown(int key);                                // Check if a key is being pressed
 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 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 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, returns 0 when the queue is empty
 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
 RLAPI int GetCharPressed(void);                               // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
+RLAPI void SetExitKey(int key);                               // Set a custom key to exit program (default is ESC)
 
 
 // Input-related functions: gamepads
 // Input-related functions: gamepads
 RLAPI bool IsGamepadAvailable(int gamepad);                   // Check if a gamepad is available
 RLAPI bool IsGamepadAvailable(int gamepad);                   // Check if a gamepad is available
@@ -225,7 +241,7 @@ RLAPI int GetTouchPointCount(void);                           // Get number of t
 // Gestures and Touch Handling Functions (Module: rgestures)
 // Gestures and Touch Handling Functions (Module: rgestures)
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 RLAPI void SetGesturesEnabled(unsigned int flags);      // Enable a set of gestures using flags
 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 bool IsGestureDetected(unsigned int gesture);     // Check if a gesture have been detected
 RLAPI int GetGestureDetected(void);                     // Get latest detected gesture
 RLAPI int GetGestureDetected(void);                     // Get latest detected gesture
 RLAPI float GetGestureHoldDuration(void);               // Get gesture hold time in milliseconds
 RLAPI float GetGestureHoldDuration(void);               // Get gesture hold time in milliseconds
 RLAPI Vector2 GetGestureDragVector(void);               // Get gesture drag vector
 RLAPI Vector2 GetGestureDragVector(void);               // Get gesture drag vector
@@ -251,18 +267,17 @@ RLAPI void SetShapesTexture(Texture2D texture, Rectangle source);       // Set t
 RLAPI void DrawPixel(int posX, int posY, Color color);                                                   // Draw a pixel
 RLAPI void DrawPixel(int posX, int posY, Color color);                                                   // Draw a pixel
 RLAPI void DrawPixelV(Vector2 position, Color color);                                                    // Draw a pixel (Vector version)
 RLAPI void DrawPixelV(Vector2 position, Color color);                                                    // Draw a pixel (Vector version)
 RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color);                // Draw a line
 RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color);                // Draw a line
-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 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 DrawLineV(Vector2 startPos, Vector2 endPos, Color color);                                     // Draw a line (using gl lines)
+RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color);                       // Draw a line (using triangles/quads)
+RLAPI void DrawLineStrip(Vector2 *points, int pointCount, Color color);                                  // Draw lines sequence (using gl lines)
+RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color);                   // Draw line segment cubic-bezier in-out interpolation
 RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color);                              // Draw a color-filled circle
 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 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
 RLAPI void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline
 RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2);       // Draw a gradient-filled circle
 RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2);       // Draw a gradient-filled circle
 RLAPI void DrawCircleV(Vector2 center, float radius, Color color);                                       // Draw a color-filled circle (Vector version)
 RLAPI void DrawCircleV(Vector2 center, float radius, Color color);                                       // Draw a color-filled circle (Vector version)
 RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color);                         // Draw circle outline
 RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color);                         // Draw circle outline
+RLAPI void DrawCircleLinesV(Vector2 center, float radius, Color color);                                  // Draw circle outline (Vector version)
 RLAPI void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color);             // Draw ellipse
 RLAPI void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color);             // Draw ellipse
 RLAPI void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color);        // Draw ellipse outline
 RLAPI void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color);        // Draw ellipse outline
 RLAPI void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring
 RLAPI void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring
@@ -286,6 +301,25 @@ RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Col
 RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color);          // Draw a polygon outline of n sides
 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
 RLAPI void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters
 
 
+// Splines drawing functions
+RLAPI void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color);                  // Draw spline: Linear, minimum 2 points
+RLAPI void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color);                   // Draw spline: B-Spline, minimum 4 points
+RLAPI void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color color);              // Draw spline: Catmull-Rom, minimum 4 points
+RLAPI void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Color color);         // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]
+RLAPI void DrawSplineBezierCubic(Vector2 *points, int pointCount, float thick, Color color);             // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]
+RLAPI void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color);                    // Draw spline segment: Linear, 2 points
+RLAPI void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: B-Spline, 4 points
+RLAPI void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: Catmull-Rom, 4 points
+RLAPI void DrawSplineSegmentBezierQuadratic(Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color); // Draw spline segment: Quadratic Bezier, 2 points, 1 control point
+RLAPI void DrawSplineSegmentBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color); // Draw spline segment: Cubic Bezier, 2 points, 2 control points
+
+// Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]
+RLAPI Vector2 GetSplinePointLinear(Vector2 startPos, Vector2 endPos, float t);                           // Get (evaluate) spline point: Linear
+RLAPI Vector2 GetSplinePointBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t);              // Get (evaluate) spline point: B-Spline
+RLAPI Vector2 GetSplinePointCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t);         // Get (evaluate) spline point: Catmull-Rom
+RLAPI Vector2 GetSplinePointBezierQuad(Vector2 p1, Vector2 c2, Vector2 p3, float t);                     // Get (evaluate) spline point: Quadratic Bezier
+RLAPI Vector2 GetSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t);        // Get (evaluate) spline point: Cubic Bezier
+
 // Basic shapes collision detection functions
 // Basic shapes collision detection functions
 RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2);                                           // Check collision between two rectangles
 RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2);                                           // Check collision between two rectangles
 RLAPI bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2);        // Check collision between two circles
 RLAPI bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2);        // Check collision between two circles
@@ -306,6 +340,7 @@ RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2);
 // NOTE: These functions do not require GPU access
 // NOTE: These functions do not require GPU access
 RLAPI Image LoadImage(const char *fileName);                                                             // Load image from file into CPU memory (RAM)
 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 LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize);       // Load image from RAW file data
+RLAPI Image LoadImageSvg(const char *fileNameOrString, int width, int height);                           // Load image from SVG file data or string with specified size
 RLAPI Image LoadImageAnim(const char *fileName, int *frames);                                            // Load image sequence from file (frames appended to image.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 LoadImageFromTexture(Texture2D texture);                                                     // Load image from GPU texture data
@@ -313,11 +348,12 @@ RLAPI Image LoadImageFromScreen(void);
 RLAPI bool IsImageReady(Image image);                                                                    // Check if an image is ready
 RLAPI bool IsImageReady(Image image);                                                                    // Check if an image is ready
 RLAPI void UnloadImage(Image image);                                                                     // Unload image from CPU memory (RAM)
 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 ExportImage(Image image, const char *fileName);                                               // Export image data to file, returns true on success
+RLAPI unsigned char *ExportImageToMemory(Image image, const char *fileType, int *fileSize);              // Export image to memory buffer
 RLAPI bool ExportImageAsCode(Image image, const char *fileName);                                         // Export image as code file defining an array of bytes, 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
 
 
 // Image generation functions
 // Image generation functions
 RLAPI Image GenImageColor(int width, int height, Color color);                                           // Generate image: plain color
 RLAPI Image GenImageColor(int width, int height, Color color);                                           // Generate image: plain color
-RLAPI Image GenImageGradientLinear(int width, int height, int direction, Color start, Color end);        // Generate image: linear gradient
+RLAPI Image GenImageGradientLinear(int width, int height, int direction, Color start, Color end);        // Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
 RLAPI Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer);      // Generate image: radial gradient
 RLAPI Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer);      // Generate image: radial gradient
 RLAPI Image GenImageGradientSquare(int width, int height, float density, Color inner, Color outer);      // Generate image: square gradient
 RLAPI Image GenImageGradientSquare(int width, int height, float density, Color inner, Color outer);      // Generate image: square gradient
 RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2);    // Generate image: checked
 RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2);    // Generate image: checked
@@ -389,7 +425,7 @@ RLAPI TextureCubemap LoadTextureCubemap(Image image, int layout);
 RLAPI RenderTexture2D LoadRenderTexture(int width, int height);                                          // Load texture for rendering (framebuffer)
 RLAPI RenderTexture2D LoadRenderTexture(int width, int height);                                          // Load texture for rendering (framebuffer)
 RLAPI bool IsTextureReady(Texture2D texture);                                                            // Check if a texture is ready
 RLAPI bool IsTextureReady(Texture2D texture);                                                            // Check if a texture is ready
 RLAPI void UnloadTexture(Texture2D texture);                                                             // Unload texture from GPU memory (VRAM)
 RLAPI void UnloadTexture(Texture2D texture);                                                             // Unload texture from GPU memory (VRAM)
-RLAPI bool IsRenderTextureReady(RenderTexture2D target);                                                       // Check if a render texture is ready
+RLAPI bool IsRenderTextureReady(RenderTexture2D target);                                                 // Check if a render texture is ready
 RLAPI void UnloadRenderTexture(RenderTexture2D target);                                                  // Unload render texture from GPU memory (VRAM)
 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 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 void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels);                       // Update GPU texture rectangle with new data
@@ -431,13 +467,13 @@ RLAPI int GetPixelDataSize(int width, int height, int format);              // G
 // Font loading/unloading functions
 // Font loading/unloading functions
 RLAPI Font GetFontDefault(void);                                                            // Get the default Font
 RLAPI Font GetFontDefault(void);                                                            // Get the default Font
 RLAPI Font LoadFont(const char *fileName);                                                  // Load font from file into GPU memory (VRAM)
 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 glyphCount);  // Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set
+RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount);  // Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set
 RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar);                        // Load font from Image (XNA style)
 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 glyphCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
+RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
 RLAPI bool IsFontReady(Font font);                                                          // Check if a font is ready
 RLAPI bool IsFontReady(Font font);                                                          // Check if a font is ready
-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 GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type); // Load font data for further use
+RLAPI Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
+RLAPI void UnloadFontData(GlyphInfo *glyphs, int glyphCount);                               // Unload font chars info data (RAM)
 RLAPI void UnloadFont(Font font);                                                           // Unload font from GPU memory (VRAM)
 RLAPI void UnloadFont(Font font);                                                           // Unload font from GPU memory (VRAM)
 RLAPI bool ExportFontAsCode(Font font, const char *fileName);                               // Export font as code file, returns true on success
 RLAPI bool ExportFontAsCode(Font font, const char *fileName);                               // Export font as code file, returns true on success
 
 
@@ -447,9 +483,10 @@ RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color co
 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 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 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)
 RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
-RLAPI void DrawTextCodepoints(Font font, const int *codepoints, int count, Vector2 position, float fontSize, float spacing, Color tint); // Draw multiple character (codepoint)
+RLAPI void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint); // Draw multiple character (codepoint)
 
 
 // Text font info functions
 // Text font info functions
+RLAPI void SetTextLineSpacing(int spacing);                                                 // Set vertical line spacing when drawing with line-breaks
 RLAPI int MeasureText(const char *text, int fontSize);                                      // Measure string width for default font
 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 Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing);    // Measure string size for Font
 RLAPI int GetGlyphIndex(Font font, int codepoint);                                          // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
 RLAPI int GetGlyphIndex(Font font, int codepoint);                                          // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
@@ -565,10 +602,10 @@ RLAPI void SetMaterialTexture(Material *material, int mapType, Texture2D texture
 RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId);                  // Set material for a mesh
 RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId);                  // Set material for a mesh
 
 
 // Model animations loading/unloading functions
 // Model animations loading/unloading functions
-RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount);   // Load model animations from file
+RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, int *animCount);            // Load model animations from file
 RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame);               // Update model animation pose
 RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame);               // Update model animation pose
 RLAPI void UnloadModelAnimation(ModelAnimation anim);                                       // Unload animation data
 RLAPI void UnloadModelAnimation(ModelAnimation anim);                                       // Unload animation data
-RLAPI void UnloadModelAnimations(ModelAnimation *animations, unsigned int count);           // Unload animation array data
+RLAPI void UnloadModelAnimations(ModelAnimation *animations, int animCount);                // Unload animation array data
 RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim);                         // Check model animation skeleton match
 RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim);                         // Check model animation skeleton match
 
 
 // Collision detection functions
 // Collision detection functions
@@ -591,6 +628,7 @@ RLAPI void InitAudioDevice(void);                                     // Initial
 RLAPI void CloseAudioDevice(void);                                    // Close the audio device and context
 RLAPI void CloseAudioDevice(void);                                    // Close the audio device and context
 RLAPI bool IsAudioDeviceReady(void);                                  // Check if audio device has been initialized successfully
 RLAPI bool IsAudioDeviceReady(void);                                  // Check if audio device has been initialized successfully
 RLAPI void SetMasterVolume(float volume);                             // Set master volume (listener)
 RLAPI void SetMasterVolume(float volume);                             // Set master volume (listener)
+RLAPI float GetMasterVolume(void);                                    // Get master volume (listener)
 
 
 // Wave/Sound loading/unloading functions
 // Wave/Sound loading/unloading functions
 RLAPI Wave LoadWave(const char *fileName);                            // Load wave data from file
 RLAPI Wave LoadWave(const char *fileName);                            // Load wave data from file
@@ -598,10 +636,12 @@ RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileDat
 RLAPI bool IsWaveReady(Wave wave);                                    // Checks if wave data is ready
 RLAPI bool IsWaveReady(Wave wave);                                    // Checks if wave data is ready
 RLAPI Sound LoadSound(const char *fileName);                          // Load sound from file
 RLAPI Sound LoadSound(const char *fileName);                          // Load sound from file
 RLAPI Sound LoadSoundFromWave(Wave wave);                             // Load sound from wave data
 RLAPI Sound LoadSoundFromWave(Wave wave);                             // Load sound from wave data
+RLAPI Sound LoadSoundAlias(Sound source);                             // Create a new sound that shares the same sample data as the source sound, does not own the sound data
 RLAPI bool IsSoundReady(Sound sound);                                 // Checks if a sound is ready
 RLAPI bool IsSoundReady(Sound sound);                                 // Checks if a sound is ready
 RLAPI void UpdateSound(Sound sound, const void *data, int sampleCount); // 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 UnloadWave(Wave wave);                                     // Unload wave data
 RLAPI void UnloadSound(Sound sound);                                  // Unload sound
 RLAPI void UnloadSound(Sound sound);                                  // Unload sound
+RLAPI void UnloadSoundAlias(Sound alias);                             // Unload a sound alias (does not deallocate sample data)
 RLAPI bool ExportWave(Wave wave, const char *fileName);               // Export wave data to file, returns true on success
 RLAPI bool ExportWave(Wave wave, const char *fileName);               // Export wave data to file, returns true on success
 RLAPI bool ExportWaveAsCode(Wave wave, const char *fileName);         // Export wave sample data to code (.h), returns true on success
 RLAPI bool ExportWaveAsCode(Wave wave, const char *fileName);         // Export wave sample data to code (.h), returns true on success
 
 
@@ -653,11 +693,11 @@ RLAPI void SetAudioStreamVolume(AudioStream stream, float volume);    // Set vol
 RLAPI void SetAudioStreamPitch(AudioStream stream, float pitch);      // Set pitch for audio stream (1.0 is base level)
 RLAPI void SetAudioStreamPitch(AudioStream stream, float pitch);      // Set pitch for audio stream (1.0 is base level)
 RLAPI void SetAudioStreamPan(AudioStream stream, float pan);          // Set pan for audio stream (0.5 is centered)
 RLAPI void SetAudioStreamPan(AudioStream stream, float pan);          // Set pan for audio stream (0.5 is centered)
 RLAPI void SetAudioStreamBufferSizeDefault(int size);                 // Default size for new audio streams
 RLAPI void SetAudioStreamBufferSizeDefault(int size);                 // Default size for new audio streams
-RLAPI void SetAudioStreamCallback(AudioStream stream, AudioCallback callback);  // Audio thread callback to request new data
+RLAPI void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
 
 
-RLAPI void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream
+RLAPI void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream, receives the samples as <float>s
 RLAPI void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
 RLAPI void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
 
 
-RLAPI void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline
+RLAPI void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s
 RLAPI void DetachAudioMixedProcessor(AudioCallback processor); // Detach audio stream processor from the entire audio pipeline
 RLAPI void DetachAudioMixedProcessor(AudioCallback processor); // Detach audio stream processor from the entire audio pipeline