Browse Source

Updated Notepad++ intellisense to raylib 2.5

Ray 6 years ago
parent
commit
22cd55d585

+ 504 - 93
projects/Notepad++/raylib_npp_parser/raylib_npp.xml

@@ -10,21 +10,33 @@
                 <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="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>
-        <KeyWord name="WindowShouldClose" func="yes">
-            <Overload retVal="bool" descr="Check if KEY_ESCAPE pressed or Close icon pressed"></Overload>
-        </KeyWord>
         <KeyWord name="IsWindowMinimized" func="yes">
         <KeyWord name="IsWindowMinimized" func="yes">
             <Overload retVal="bool" descr="Check if window has been minimized (or lost focus)"></Overload>
             <Overload retVal="bool" descr="Check if window has been minimized (or lost focus)"></Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="IsWindowResized" func="yes">
+            <Overload retVal="bool" descr="Check if window has been resized"></Overload>
+        </KeyWord>
+        <KeyWord name="IsWindowHidden" func="yes">
+            <Overload retVal="bool" descr="Check if window is currently hidden"></Overload>
+        </KeyWord>
         <KeyWord name="ToggleFullscreen" func="yes">
         <KeyWord name="ToggleFullscreen" func="yes">
             <Overload retVal="void" descr="Toggle fullscreen mode (only PLATFORM_DESKTOP)"></Overload>
             <Overload retVal="void" descr="Toggle fullscreen mode (only PLATFORM_DESKTOP)"></Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="UnhideWindow" func="yes">
+            <Overload retVal="void" descr="Show the window"></Overload>
+        </KeyWord>
+        <KeyWord name="HideWindow" func="yes">
+            <Overload retVal="void" descr="Hide the window"></Overload>
+        </KeyWord>
         <KeyWord name="SetWindowIcon" func="yes">
         <KeyWord name="SetWindowIcon" func="yes">
             <Overload retVal="void" descr="Set icon for window (only PLATFORM_DESKTOP)">
             <Overload retVal="void" descr="Set icon for window (only PLATFORM_DESKTOP)">
                 <Param name="Image image" />
                 <Param name="Image image" />
@@ -58,12 +70,51 @@
                 <Param name="int height" />
                 <Param name="int height" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="GetWindowHandle" func="yes">
+            <Overload retVal="void" descr="Get native window handle"></Overload>
+        </KeyWord>
         <KeyWord name="GetScreenWidth" func="yes">
         <KeyWord name="GetScreenWidth" func="yes">
             <Overload retVal="int" descr="Get current screen width"></Overload>
             <Overload retVal="int" descr="Get current screen width"></Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GetScreenHeight" func="yes">
         <KeyWord name="GetScreenHeight" func="yes">
             <Overload retVal="int" descr="Get current screen height"></Overload>
             <Overload retVal="int" descr="Get current screen height"></Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="GetMonitorCount" func="yes">
+            <Overload retVal="int" descr="Get number of connected monitors"></Overload>
+        </KeyWord>
+        <KeyWord name="GetMonitorWidth" func="yes">
+            <Overload retVal="int" descr="Get primary monitor width">
+                <Param name="int monitor" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetMonitorHeight" func="yes">
+            <Overload retVal="int" descr="Get primary monitor height">
+                <Param name="int monitor" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetMonitorPhysicalWidth" func="yes">
+            <Overload retVal="int" descr="Get primary monitor physical width in millimetres">
+                <Param name="int monitor" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetMonitorPhysicalHeight" func="yes">
+            <Overload retVal="int" descr="Get primary monitor physical height in millimetres">
+                <Param name="int monitor" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetMonitorName" func="yes">
+            <Overload retVal="const char" descr="Get the human-readable, UTF-8 encoded name of the primary monitor">
+                <Param name="int monitor" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetClipboardText" func="yes">
+            <Overload retVal="const char" descr="Get clipboard text content"></Overload>
+        </KeyWord>
+        <KeyWord name="SetClipboardText" func="yes">
+            <Overload retVal="void" descr="Set clipboard text content">
+                <Param name="const char *text" />
+            </Overload>
+        </KeyWord>
 
 
         <!-- Cursor-related functions -->
         <!-- Cursor-related functions -->
         <KeyWord name="ShowCursor" func="yes">
         <KeyWord name="ShowCursor" func="yes">
@@ -170,6 +221,11 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="ColorFromHSV" func="yes">
+            <Overload retVal="Color" descr="Returns a Color from HSV values">
+                <Param name="Vector3 hsv" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="GetColor" func="yes">
         <KeyWord name="GetColor" func="yes">
             <Overload retVal="Color" descr="Returns a Color struct from hexadecimal value">
             <Overload retVal="Color" descr="Returns a Color struct from hexadecimal value">
                 <Param name="int hexValue" />
                 <Param name="int hexValue" />
@@ -183,21 +239,28 @@
         </KeyWord>
         </KeyWord>
 
 
         <!-- Misc. functions -->
         <!-- Misc. functions -->
-        <KeyWord name="ShowLogo" func="yes">
-            <Overload retVal="void" descr="Activate raylib logo at startup (can be done with flags)"></Overload>
-        </KeyWord>
         <KeyWord name="SetConfigFlags" func="yes">
         <KeyWord name="SetConfigFlags" func="yes">
             <Overload retVal="void" descr="Setup window configuration flags (view FLAGS)">
             <Overload retVal="void" descr="Setup window configuration flags (view FLAGS)">
                 <Param name="unsigned char flags" />
                 <Param name="unsigned char flags" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="SetTraceLog" func="yes">
-            <Overload retVal="void" descr="Enable trace log message types (bit flags based)">
-                <Param name="unsigned char types" />
+        <KeyWord name="SetTraceLogLevel" func="yes">
+            <Overload retVal="void" descr="Set the current threshold (minimum) log level">
+                <Param name="int logType" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetTraceLogExit" func="yes">
+            <Overload retVal="void" descr="Set the exit threshold (minimum) log level">
+                <Param name="int logType" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetTraceLogCallback" func="yes">
+            <Overload retVal="void" descr="Set a trace log callback to enable custom logging">
+                <Param name="TraceLogCallback callback" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="TraceLog" func="yes">
         <KeyWord name="TraceLog" func="yes">
-            <Overload retVal="void" descr="Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG)">
+            <Overload retVal="void" descr="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)">
                 <Param name="int logType" />
                 <Param name="int logType" />
                 <Param name="const char *text" />
                 <Param name="const char *text" />
                 <Param name="..." />
                 <Param name="..." />
@@ -216,6 +279,11 @@
         </KeyWord>
         </KeyWord>
 
 
         <!-- Files management functions -->
         <!-- Files management functions -->
+        <KeyWord name="FileExists" func="yes">
+            <Overload retVal="bool" descr="Check if file exists">
+                <Param name="const char *fileName" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="IsFileExtension" func="yes">
         <KeyWord name="IsFileExtension" func="yes">
             <Overload retVal="bool" descr="Check file extension">
             <Overload retVal="bool" descr="Check file extension">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
@@ -232,6 +300,11 @@
                 <Param name="const char *filePath" />
                 <Param name="const char *filePath" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="GetFileNameWithoutExt" func="yes">
+            <Overload retVal="const char" descr="Get filename string without extension (memory should be freed)">
+                <Param name="const char *filePath" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="GetDirectoryPath" func="yes">
         <KeyWord name="GetDirectoryPath" func="yes">
             <Overload retVal="const char" descr="Get full path for a given fileName (uses static string)">
             <Overload retVal="const char" descr="Get full path for a given fileName (uses static string)">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
@@ -240,6 +313,15 @@
         <KeyWord name="GetWorkingDirectory" func="yes">
         <KeyWord name="GetWorkingDirectory" func="yes">
             <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="GetDirectoryFiles" func="yes">
+            <Overload retVal="char" descr="Get filenames in a directory path (memory should be freed)">
+                <Param name="const char *dirPath" />
+                <Param name="int *count" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="ClearDirectoryFiles" func="yes">
+            <Overload retVal="void" descr="Clear directory files paths buffers (free memory)"></Overload>
+        </KeyWord>
         <KeyWord name="ChangeDirectory" func="yes">
         <KeyWord name="ChangeDirectory" func="yes">
             <Overload retVal="bool" descr="Change working directory, returns true if success">
             <Overload retVal="bool" descr="Change working directory, returns true if success">
                 <Param name="const char *dir" />
                 <Param name="const char *dir" />
@@ -249,12 +331,17 @@
             <Overload retVal="bool" descr="Check if a file has been dropped into window"></Overload>
             <Overload retVal="bool" descr="Check if a file has been dropped into window"></Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GetDroppedFiles" func="yes">
         <KeyWord name="GetDroppedFiles" func="yes">
-            <Overload retVal="char" descr="Get dropped files names">
+            <Overload retVal="char" descr="Get dropped files names (memory should be freed)">
                 <Param name="int *count" />
                 <Param name="int *count" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="ClearDroppedFiles" func="yes">
         <KeyWord name="ClearDroppedFiles" func="yes">
-            <Overload retVal="void" descr="Clear dropped files paths buffer"></Overload>
+            <Overload retVal="void" descr="Clear dropped files paths buffer (free memory)"></Overload>
+        </KeyWord>
+        <KeyWord name="GetFileModTime" func="yes">
+            <Overload retVal="long" descr="Get file modification time (last write time)">
+                <Param name="const char *fileName" />
+            </Overload>
         </KeyWord>
         </KeyWord>
 
 
         <!-- Persistent storage management -->
         <!-- Persistent storage management -->
@@ -270,6 +357,12 @@
             </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>
+
         <!-------------------------------------------------------------------------------------- -->
         <!-------------------------------------------------------------------------------------- -->
         <!-- Input Handling Functions (Module: core) -->
         <!-- Input Handling Functions (Module: core) -->
         <!-------------------------------------------------------------------------------------- -->
         <!-------------------------------------------------------------------------------------- -->
@@ -392,12 +485,20 @@
         </KeyWord>
         </KeyWord>
         <KeyWord name="SetMousePosition" func="yes">
         <KeyWord name="SetMousePosition" func="yes">
             <Overload retVal="void" descr="Set mouse position XY">
             <Overload retVal="void" descr="Set mouse position XY">
-                <Param name="Vector2 position" />
+                <Param name="int x" />
+                <Param name="int y" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetMouseOffset" func="yes">
+            <Overload retVal="void" descr="Set mouse offset">
+                <Param name="int offsetX" />
+                <Param name="int offsetY" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="SetMouseScale" func="yes">
         <KeyWord name="SetMouseScale" func="yes">
             <Overload retVal="void" descr="Set mouse scaling">
             <Overload retVal="void" descr="Set mouse scaling">
-                <Param name="float scale" />
+                <Param name="float scaleX" />
+                <Param name="float scaleY" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GetMouseWheelMove" func="yes">
         <KeyWord name="GetMouseWheelMove" func="yes">
@@ -543,6 +644,13 @@
                 <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 numPoints" />
+                <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" />
@@ -551,6 +659,26 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawCircleSector" func="yes">
+            <Overload retVal="void" descr="Draw a piece of a circle">
+                <Param name="Vector2 center" />
+                <Param name="float radius" />
+                <Param name="int startAngle" />
+                <Param name="int endAngle" />
+                <Param name="int segments" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawCircleSectorLines" func="yes">
+            <Overload retVal="void" descr="Draw circle sector outline">
+                <Param name="Vector2 center" />
+                <Param name="float radius" />
+                <Param name="int startAngle" />
+                <Param name="int endAngle" />
+                <Param name="int segments" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawCircleGradient" func="yes">
         <KeyWord name="DrawCircleGradient" func="yes">
             <Overload retVal="void" descr="Draw a gradient-filled circle">
             <Overload retVal="void" descr="Draw a gradient-filled circle">
                 <Param name="int centerX" />
                 <Param name="int centerX" />
@@ -575,6 +703,28 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawRing" func="yes">
+            <Overload retVal="void" descr="Draw ring">
+                <Param name="Vector2 center" />
+                <Param name="float innerRadius" />
+                <Param name="float outerRadius" />
+                <Param name="int startAngle" />
+                <Param name="int endAngle" />
+                <Param name="int segments" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawRingLines" func="yes">
+            <Overload retVal="void" descr="Draw ring outline">
+                <Param name="Vector2 center" />
+                <Param name="float innerRadius" />
+                <Param name="float outerRadius" />
+                <Param name="int startAngle" />
+                <Param name="int endAngle" />
+                <Param name="int segments" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawRectangle" func="yes">
         <KeyWord name="DrawRectangle" func="yes">
             <Overload retVal="void" descr="Draw a color-filled rectangle">
             <Overload retVal="void" descr="Draw a color-filled rectangle">
                 <Param name="int posX" />
                 <Param name="int posX" />
@@ -650,6 +800,23 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawRectangleRounded" func="yes">
+            <Overload retVal="void" descr="Draw rectangle with rounded edges">
+                <Param name="Rectangle rec" />
+                <Param name="float roundness" />
+                <Param name="int segments" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawRectangleRoundedLines" func="yes">
+            <Overload retVal="void" descr="Draw rectangle with rounded edges outline">
+                <Param name="Rectangle rec" />
+                <Param name="float roundness" />
+                <Param name="int segments" />
+                <Param name="int lineThick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawTriangle" func="yes">
         <KeyWord name="DrawTriangle" func="yes">
             <Overload retVal="void" descr="Draw a color-filled triangle">
             <Overload retVal="void" descr="Draw a color-filled triangle">
                 <Param name="Vector2 v1" />
                 <Param name="Vector2 v1" />
@@ -666,6 +833,13 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawTriangleFan" func="yes">
+            <Overload retVal="void" descr="Draw a triangle fan defined by points">
+                <Param name="Vector2 *points" />
+                <Param name="int numPoints" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawPoly" func="yes">
         <KeyWord name="DrawPoly" func="yes">
             <Overload retVal="void" descr="Draw a regular polygon (Vector version)">
             <Overload retVal="void" descr="Draw a regular polygon (Vector version)">
                 <Param name="Vector2 center" />
                 <Param name="Vector2 center" />
@@ -675,18 +849,11 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="DrawPolyEx" func="yes">
-            <Overload retVal="void" descr="Draw a closed polygon defined by points">
-                <Param name="Vector2 *points" />
-                <Param name="int numPoints" />
-                <Param name="Color color" />
-            </Overload>
-        </KeyWord>
-        <KeyWord name="DrawPolyExLines" func="yes">
-            <Overload retVal="void" descr="Draw polygon lines">
-                <Param name="Vector2 *points" />
-                <Param name="int numPoints" />
-                <Param name="Color color" />
+
+        <KeyWord name="SetShapesTexture" func="yes">
+            <Overload retVal="void" descr="Define default texture used to draw shapes">
+                <Param name="Texture2D texture" />
+                <Param name="Rectangle source" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
@@ -770,9 +937,15 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="ExportImage" func="yes">
         <KeyWord name="ExportImage" func="yes">
-            <Overload retVal="void" descr="Export image as a PNG file">
+            <Overload retVal="void" descr="Export image data to file">
+                <Param name="Image image" />
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="ExportImageAsCode" func="yes">
+            <Overload retVal="void" descr="Export image as code file defining an array of bytes">
                 <Param name="Image image" />
                 <Param name="Image image" />
+                <Param name="const char *fileName" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="LoadTexture" func="yes">
         <KeyWord name="LoadTexture" func="yes">
@@ -785,6 +958,12 @@
                 <Param name="Image image" />
                 <Param name="Image image" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="LoadTextureCubemap" func="yes">
+            <Overload retVal="TextureCubemap" descr="Load cubemap from image, multiple image cubemap layouts supported">
+                <Param name="Image image" />
+                <Param name="int layoutType" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="LoadRenderTexture" func="yes">
         <KeyWord name="LoadRenderTexture" func="yes">
             <Overload retVal="RenderTexture2D" descr="Load texture for rendering (framebuffer)">
             <Overload retVal="RenderTexture2D" descr="Load texture for rendering (framebuffer)">
                 <Param name="int width" />
                 <Param name="int width" />
@@ -828,6 +1007,9 @@
                 <Param name="Texture2D texture" />
                 <Param name="Texture2D texture" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="GetScreenData" func="yes">
+            <Overload retVal="Image" descr="Get pixel data from screen buffer and return an Image (screenshot)"></Overload>
+        </KeyWord>
         <KeyWord name="UpdateTexture" func="yes">
         <KeyWord name="UpdateTexture" func="yes">
             <Overload retVal="void" descr="Update GPU texture with new data">
             <Overload retVal="void" descr="Update GPU texture with new data">
                 <Param name="Texture2D texture" />
                 <Param name="Texture2D texture" />
@@ -884,14 +1066,14 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="ImageResize" func="yes">
         <KeyWord name="ImageResize" func="yes">
-            <Overload retVal="void" descr="Resize and image (bilinear filtering)">
+            <Overload retVal="void" descr="Resize image (Bicubic scaling algorithm)">
                 <Param name="Image *image" />
                 <Param name="Image *image" />
                 <Param name="int newWidth" />
                 <Param name="int newWidth" />
                 <Param name="int newHeight" />
                 <Param name="int newHeight" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="ImageResizeNN" func="yes">
         <KeyWord name="ImageResizeNN" func="yes">
-            <Overload retVal="void" descr="Resize and image (Nearest-Neighbor scaling algorithm)">
+            <Overload retVal="void" descr="Resize image (Nearest-Neighbor scaling algorithm)">
                 <Param name="Image *image" />
                 <Param name="Image *image" />
                 <Param name="int newWidth" />
                 <Param name="int newWidth" />
                 <Param name="int newHeight" />
                 <Param name="int newHeight" />
@@ -921,6 +1103,13 @@
                 <Param name="int aBpp" />
                 <Param name="int aBpp" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="ImageExtractPalette" func="yes">
+            <Overload retVal="Color" descr="Extract color palette from image to maximum size (memory should be freed)">
+                <Param name="Image image" />
+                <Param name="int maxPaletteSize" />
+                <Param name="int *extractCount" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="ImageText" func="yes">
         <KeyWord name="ImageText" func="yes">
             <Overload retVal="Image" descr="Create an image from text (default font)">
             <Overload retVal="Image" descr="Create an image from text (default font)">
                 <Param name="const char *text" />
                 <Param name="const char *text" />
@@ -948,11 +1137,18 @@
         <KeyWord name="ImageDrawRectangle" func="yes">
         <KeyWord name="ImageDrawRectangle" func="yes">
             <Overload retVal="void" descr="Draw rectangle within an image">
             <Overload retVal="void" descr="Draw rectangle within an image">
                 <Param name="Image *dst" />
                 <Param name="Image *dst" />
-                <Param name="Vector2 position" />
                 <Param name="Rectangle rec" />
                 <Param name="Rectangle rec" />
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="ImageDrawRectangleLines" func="yes">
+            <Overload retVal="void" descr="Draw rectangle lines within an image">
+                <Param name="Image *dst" />
+                <Param name="Rectangle rec" />
+                <Param name="int thick" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="ImageDrawText" func="yes">
         <KeyWord name="ImageDrawText" func="yes">
             <Overload retVal="void" descr="Draw text (default font) within an image (destination)">
             <Overload retVal="void" descr="Draw text (default font) within an image (destination)">
                 <Param name="Image *dst" />
                 <Param name="Image *dst" />
@@ -1148,6 +1344,15 @@
                 <Param name="Color tint" />
                 <Param name="Color tint" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawTextureQuad" func="yes">
+            <Overload retVal="void" descr="Draw texture quad with tiling and offset parameters">
+                <Param name="Texture2D texture" />
+                <Param name="Vector2 tiling" />
+                <Param name="Vector2 offset" />
+                <Param name="Rectangle quad" />
+                <Param name="Color tint" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawTexturePro" func="yes">
         <KeyWord name="DrawTexturePro" func="yes">
             <Overload retVal="void" descr="Draw a part of a texture defined by a rectangle with 'pro' parameters">
             <Overload retVal="void" descr="Draw a part of a texture defined by a rectangle with 'pro' parameters">
                 <Param name="Texture2D texture" />
                 <Param name="Texture2D texture" />
@@ -1158,6 +1363,16 @@
                 <Param name="Color tint" />
                 <Param name="Color tint" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawTextureNPatch" func="yes">
+            <Overload retVal="void" descr="Draws a texture (or part of it) that stretches or shrinks nicely">
+                <Param name="Texture2D texture" />
+                <Param name="NPatchInfo nPatchInfo" />
+                <Param name="Rectangle destRec" />
+                <Param name="Vector2 origin" />
+                <Param name="float rotation" />
+                <Param name="Color tint" />
+            </Overload>
+        </KeyWord>
 
 
         <!-------------------------------------------------------------------------------------- -->
         <!-------------------------------------------------------------------------------------- -->
         <!-- Font Loading and Text Drawing Functions (Module: text) -->
         <!-- Font Loading and Text Drawing Functions (Module: text) -->
@@ -1176,8 +1391,15 @@
             <Overload retVal="Font" descr="Load font from file with extended parameters">
             <Overload retVal="Font" descr="Load font from file with extended parameters">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
                 <Param name="int fontSize" />
                 <Param name="int fontSize" />
-                <Param name="int charsCount" />
                 <Param name="int *fontChars" />
                 <Param name="int *fontChars" />
+                <Param name="int charsCount" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="LoadFontFromImage" func="yes">
+            <Overload retVal="Font" descr="Load font from Image (XNA style)">
+                <Param name="Image image" />
+                <Param name="Color key" />
+                <Param name="int firstChar" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="LoadFontData" func="yes">
         <KeyWord name="LoadFontData" func="yes">
@@ -1186,14 +1408,14 @@
                 <Param name="int fontSize" />
                 <Param name="int fontSize" />
                 <Param name="int *fontChars" />
                 <Param name="int *fontChars" />
                 <Param name="int charsCount" />
                 <Param name="int charsCount" />
-                <Param name="bool sdf" />
+                <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="CharInfo *chars" />
                 <Param name="CharInfo *chars" />
-                <Param name="int fontSize" />
                 <Param name="int charsCount" />
                 <Param name="int charsCount" />
+                <Param name="int fontSize" />
                 <Param name="int padding" />
                 <Param name="int padding" />
                 <Param name="int packMethod" />
                 <Param name="int packMethod" />
             </Overload>
             </Overload>
@@ -1221,15 +1443,39 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="DrawTextEx" func="yes">
         <KeyWord name="DrawTextEx" func="yes">
-            <Overload retVal="void" descr="Draw text using Font and additional parameters">
+            <Overload retVal="void" descr="Draw text using font and additional parameters">
                 <Param name="Font font" />
                 <Param name="Font font" />
-                <Param name="const char* text" />
+                <Param name="const char *text" />
                 <Param name="Vector2 position" />
                 <Param name="Vector2 position" />
                 <Param name="float fontSize" />
                 <Param name="float fontSize" />
                 <Param name="float spacing" />
                 <Param name="float spacing" />
                 <Param name="Color tint" />
                 <Param name="Color tint" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawTextRec" func="yes">
+            <Overload retVal="void" descr="Draw text using font inside rectangle limits">
+                <Param name="Font font" />
+                <Param name="const char *text" />
+                <Param name="Rectangle rec" />
+                <Param name="float fontSize" />
+                <Param name="float spacing" />
+                <Param name="bool wordWrap" />
+                <Param name="Color tint" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="DrawTextRecEx" func="yes">
+            <Overload retVal="void" descr="Draw text using font inside rectangle limits with support for text selection">
+                <Param name="Font font" />
+                <Param name="const char *text" />
+                <Param name="Rectangle rec" />
+                <Param name="float fontSize" />
+                <Param name="float spacing" />
+                <Param name="bool wordWrap" />
+                <Param name="Color tint" />
+                <Param name="int selectStart" />
+                <Param name="int selecFont" />
+            </Overload>
+        </KeyWord>
 
 
         <!-- Text misc. functions -->
         <!-- Text misc. functions -->
         <KeyWord name="MeasureText" func="yes">
         <KeyWord name="MeasureText" func="yes">
@@ -1246,23 +1492,109 @@
                 <Param name="float spacing" />
                 <Param name="float spacing" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="FormatText" func="yes">
-            <Overload retVal="const char" descr="Formatting of text with variables to 'embed'">
+        <KeyWord name="GetGlyphIndex" func="yes">
+            <Overload retVal="int" descr="Get index position for a unicode character on font">
+                <Param name="Font font" />
+                <Param name="int character" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="GetNextCodepoint" func="yes">
+            <Overload retVal="int" descr="Returns next codepoint in a UTF8 encoded string">
+                <Param name="const char *text" />
+                <Param name="int *count" />
+            </Overload>
+        </KeyWord>
+
+        <!-- Text strings management functions -->
+        <!-- NOTE: Some strings allocate memory internally for returned strings, just be careful! -->
+        <KeyWord name="TextIsEqual" func="yes">
+            <Overload retVal="bool" descr="Check if two text string are equal">
+                <Param name="const char *text1" />
+                <Param name="const char *text2" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="int TextLength" func="yes">
+            <Overload retVal="unsigned" descr="Get text length, checks for '\0' ending">
+                <Param name="const char *text" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="int TextCountCodepoints" func="yes">
+            <Overload retVal="unsigned" descr="Get total number of characters (codepoints) in a UTF8 encoded string">
+                <Param name="const char *text" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextFormat" func="yes">
+            <Overload retVal="const char" descr="Text formatting with variables (sprintf style)">
                 <Param name="const char *text" />
                 <Param name="const char *text" />
                 <Param name="..." />
                 <Param name="..." />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="SubText" func="yes">
+        <KeyWord name="TextSubtext" func="yes">
             <Overload retVal="const char" descr="Get a piece of a text string">
             <Overload retVal="const char" descr="Get a piece of a text string">
                 <Param name="const char *text" />
                 <Param name="const char *text" />
                 <Param name="int position" />
                 <Param name="int position" />
                 <Param name="int length" />
                 <Param name="int length" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="GetGlyphIndex" func="yes">
-            <Overload retVal="int" descr="Returns index position for a unicode character on sprite font">
-                <Param name="Font font" />
-                <Param name="int character" />
+        <KeyWord name="TextReplace" func="yes">
+            <Overload retVal="const char" descr="Replace text string (memory should be freed!)">
+                <Param name="char *text" />
+                <Param name="const char *replace" />
+                <Param name="const char *by" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextInsert" func="yes">
+            <Overload retVal="const char" descr="Insert text in a position (memory should be freed!)">
+                <Param name="const char *text" />
+                <Param name="const char *insert" />
+                <Param name="int position" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextJoin" func="yes">
+            <Overload retVal="const char" descr="Join text strings with delimiter">
+                <Param name="const char **textList" />
+                <Param name="int count" />
+                <Param name="const char *delimiter" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextSplit" func="yes">
+            <Overload retVal="const char" descr="Split text into multiple strings">
+                <Param name="const char *text" />
+                <Param name="char delimiter" />
+                <Param name="int *count" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextAppend" func="yes">
+            <Overload retVal="void" descr="Append text at specific position and move cursor!">
+                <Param name="char *text" />
+                <Param name="const char *append" />
+                <Param name="int *position" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextFindIndex" func="yes">
+            <Overload retVal="int" descr="Find first text occurrence within a string">
+                <Param name="const char *text" />
+                <Param name="const char *find" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextToUpper" func="yes">
+            <Overload retVal="const char" descr="Get upper case version of provided string">
+                <Param name="const char *text" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextToLower" func="yes">
+            <Overload retVal="const char" descr="Get lower case version of provided string">
+                <Param name="const char *text" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextToPascal" func="yes">
+            <Overload retVal="const char" descr="Get Pascal case notation version of provided string">
+                <Param name="const char *text" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="TextToInteger" func="yes">
+            <Overload retVal="int" descr="Get integer value from text (negative values not supported)">
+                <Param name="const char *text" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
@@ -1312,6 +1644,13 @@
                 <Param name="Color color" />
                 <Param name="Color color" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="DrawCubeWiresV" func="yes">
+            <Overload retVal="void" descr="Draw cube wires (Vector version)">
+                <Param name="Vector3 position" />
+                <Param name="Vector3 size" />
+                <Param name="Color color" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="DrawCubeTexture" func="yes">
         <KeyWord name="DrawCubeTexture" func="yes">
             <Overload retVal="void" descr="Draw cube textured">
             <Overload retVal="void" descr="Draw cube textured">
                 <Param name="Texture2D texture" />
                 <Param name="Texture2D texture" />
@@ -1399,12 +1738,12 @@
 
 
         <!-- Model loading/unloading functions -->
         <!-- Model loading/unloading functions -->
         <KeyWord name="LoadModel" func="yes">
         <KeyWord name="LoadModel" func="yes">
-            <Overload retVal="Model" descr="Load model from files (mesh and material)">
+            <Overload retVal="Model" descr="Load model from files (meshes and materials)">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="LoadModelFromMesh" func="yes">
         <KeyWord name="LoadModelFromMesh" func="yes">
-            <Overload retVal="Model" descr="Load model from generated mesh">
+            <Overload retVal="Model" descr="Load model from generated mesh (default material)">
                 <Param name="Mesh mesh" />
                 <Param name="Mesh mesh" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -1415,8 +1754,15 @@
         </KeyWord>
         </KeyWord>
 
 
         <!-- Mesh loading/unloading functions -->
         <!-- Mesh loading/unloading functions -->
-        <KeyWord name="LoadMesh" func="yes">
-            <Overload retVal="Mesh" descr="Load mesh from file">
+        <KeyWord name="LoadMeshes" func="yes">
+            <Overload retVal="Mesh" descr="Load meshes from model file">
+                <Param name="const char *fileName" />
+                <Param name="int *meshCount" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="ExportMesh" func="yes">
+            <Overload retVal="void" descr="Export mesh data to file">
+                <Param name="Mesh mesh" />
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -1425,31 +1771,70 @@
                 <Param name="Mesh *mesh" />
                 <Param name="Mesh *mesh" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="ExportMesh" func="yes">
-            <Overload retVal="void" descr="Export mesh as an OBJ file">
+
+        <!-- Material loading/unloading functions -->
+        <KeyWord name="LoadMaterials" func="yes">
+            <Overload retVal="Material" descr="Load materials from model file">
                 <Param name="const char *fileName" />
                 <Param name="const char *fileName" />
-                <Param name="Mesh mesh" />
+                <Param name="int *materialCount" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="LoadMaterialDefault" func="yes">
+            <Overload retVal="Material" descr="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"></Overload>
+        </KeyWord>
+        <KeyWord name="UnloadMaterial" func="yes">
+            <Overload retVal="void" descr="Unload material from GPU memory (VRAM)">
+                <Param name="Material material" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetMaterialTexture" func="yes">
+            <Overload retVal="void" descr="Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)">
+                <Param name="Material *material" />
+                <Param name="int mapType" />
+                <Param name="Texture2D texture" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="SetModelMeshMaterial" func="yes">
+            <Overload retVal="void" descr="Set material for a mesh">
+                <Param name="Model *model" />
+                <Param name="int meshId" />
+                <Param name="int materialId" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
-        <!-- Mesh manipulation functions -->
-        <KeyWord name="MeshBoundingBox" func="yes">
-            <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits">
-                <Param name="Mesh mesh" />
+        <!-- Model animations loading/unloading functions -->
+        <KeyWord name="LoadModelAnimations" func="yes">
+            <Overload retVal="ModelAnimation" descr="Load model animations from file">
+                <Param name="const char *fileName" />
+                <Param name="int *animsCount" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="MeshTangents" func="yes">
-            <Overload retVal="void" descr="Compute mesh tangents ">
-                <Param name="Mesh *mesh" />
+        <KeyWord name="UpdateModelAnimation" func="yes">
+            <Overload retVal="void" descr="Update model animation pose">
+                <Param name="Model model" />
+                <Param name="ModelAnimation anim" />
+                <Param name="int frame" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="MeshBinormals" func="yes">
-            <Overload retVal="void" descr="Compute mesh binormals">
-                <Param name="Mesh *mesh" />
+        <KeyWord name="UnloadModelAnimation" func="yes">
+            <Overload retVal="void" descr="Unload animation data">
+                <Param name="ModelAnimation anim" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="IsModelAnimationValid" func="yes">
+            <Overload retVal="bool" descr="Check model animation skeleton match">
+                <Param name="Model model" />
+                <Param name="ModelAnimation anim" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
         <!-- Mesh generation functions -->
         <!-- Mesh generation functions -->
+        <KeyWord name="GenMeshPoly" func="yes">
+            <Overload retVal="Mesh" descr="Generate polygonal mesh">
+                <Param name="int sides" />
+                <Param name="float radius" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="GenMeshPlane" func="yes">
         <KeyWord name="GenMeshPlane" func="yes">
             <Overload retVal="Mesh" descr="Generate plane mesh (with subdivisions)">
             <Overload retVal="Mesh" descr="Generate plane mesh (with subdivisions)">
                 <Param name="float width" />
                 <Param name="float width" />
@@ -1515,18 +1900,20 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
-        <!-- Material loading/unloading functions -->
-        <KeyWord name="LoadMaterial" func="yes">
-            <Overload retVal="Material" descr="Load material from file">
-                <Param name="const char *fileName" />
+        <!-- Mesh manipulation functions -->
+        <KeyWord name="MeshBoundingBox" func="yes">
+            <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits">
+                <Param name="Mesh mesh" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="LoadMaterialDefault" func="yes">
-            <Overload retVal="Material" descr="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"></Overload>
+        <KeyWord name="MeshTangents" func="yes">
+            <Overload retVal="void" descr="Compute mesh tangents">
+                <Param name="Mesh *mesh" />
+            </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="UnloadMaterial" func="yes">
-            <Overload retVal="void" descr="Unload material from GPU memory (VRAM)">
-                <Param name="Material material" />
+        <KeyWord name="MeshBinormals" func="yes">
+            <Overload retVal="void" descr="Compute mesh binormals">
+                <Param name="Mesh *mesh" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
 
 
@@ -1701,19 +2088,20 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="SetShaderValue" func="yes">
         <KeyWord name="SetShaderValue" func="yes">
-            <Overload retVal="void" descr="Set shader uniform value (float)">
+            <Overload retVal="void" descr="Set shader uniform value">
                 <Param name="Shader shader" />
                 <Param name="Shader shader" />
                 <Param name="int uniformLoc" />
                 <Param name="int uniformLoc" />
-                <Param name="const float *value" />
-                <Param name="int size" />
+                <Param name="const void *value" />
+                <Param name="int uniformType" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="SetShaderValuei" func="yes">
-            <Overload retVal="void" descr="Set shader uniform value (int)">
+        <KeyWord name="SetShaderValueV" func="yes">
+            <Overload retVal="void" descr="Set shader uniform value vector">
                 <Param name="Shader shader" />
                 <Param name="Shader shader" />
                 <Param name="int uniformLoc" />
                 <Param name="int uniformLoc" />
-                <Param name="const int *value" />
-                <Param name="int size" />
+                <Param name="const void *value" />
+                <Param name="int uniformType" />
+                <Param name="int count" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="SetShaderValueMatrix" func="yes">
         <KeyWord name="SetShaderValueMatrix" func="yes">
@@ -1723,6 +2111,13 @@
                 <Param name="Matrix mat" />
                 <Param name="Matrix mat" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="SetShaderValueTexture" func="yes">
+            <Overload retVal="void" descr="Set shader uniform value for texture">
+                <Param name="Shader shader" />
+                <Param name="int uniformLoc" />
+                <Param name="Texture2D texture" />
+            </Overload>
+        </KeyWord>
         <KeyWord name="SetMatrixProjection" func="yes">
         <KeyWord name="SetMatrixProjection" func="yes">
             <Overload retVal="void" descr="Set a custom projection matrix (replaces internal projection matrix)">
             <Overload retVal="void" descr="Set a custom projection matrix (replaces internal projection matrix)">
                 <Param name="Matrix proj" />
                 <Param name="Matrix proj" />
@@ -1763,9 +2158,8 @@
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="GenTextureBRDF" func="yes">
         <KeyWord name="GenTextureBRDF" func="yes">
-            <Overload retVal="Texture2D" descr="Generate BRDF texture using cubemap data">
+            <Overload retVal="Texture2D" descr="Generate BRDF texture">
                 <Param name="Shader shader" />
                 <Param name="Shader shader" />
-                <Param name="Texture2D cubemap" />
                 <Param name="int size" />
                 <Param name="int size" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
@@ -1787,34 +2181,39 @@
         <KeyWord name="EndBlendMode" func="yes">
         <KeyWord name="EndBlendMode" func="yes">
             <Overload retVal="void" descr="End blending mode (reset to default: alpha blending)"></Overload>
             <Overload retVal="void" descr="End blending mode (reset to default: alpha blending)"></Overload>
         </KeyWord>
         </KeyWord>
-
-        <!-- VR control functions -->
-        <KeyWord name="GetVrDeviceInfo" func="yes">
-            <Overload retVal="VrDeviceInfo" descr="Get VR device information for some standard devices">
-                <Param name="int vrDeviceType" />
+        <KeyWord name="BeginScissorMode" func="yes">
+            <Overload retVal="void" descr="Begin scissor mode (define screen area for following drawing)">
+                <Param name="int x" />
+                <Param name="int y" />
+                <Param name="int width" />
+                <Param name="int height" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="EndScissorMode" func="yes">
+            <Overload retVal="void" descr="End scissor mode"></Overload>
+        </KeyWord>
+
+        <!-- VR control functions -->
         <KeyWord name="InitVrSimulator" func="yes">
         <KeyWord name="InitVrSimulator" func="yes">
-            <Overload retVal="void" descr="Init VR simulator for selected device parameters">
-                <Param name="VrDeviceInfo info" />
-            </Overload>
+            <Overload retVal="void" descr="Init VR simulator for selected device parameters"></Overload>
         </KeyWord>
         </KeyWord>
         <KeyWord name="CloseVrSimulator" func="yes">
         <KeyWord name="CloseVrSimulator" func="yes">
             <Overload retVal="void" descr="Close VR simulator for current device"></Overload>
             <Overload retVal="void" descr="Close VR simulator for current device"></Overload>
         </KeyWord>
         </KeyWord>
-        <KeyWord name="IsVrSimulatorReady" func="yes">
-            <Overload retVal="bool" descr="Detect if VR simulator is ready"></Overload>
-        </KeyWord>
-        <KeyWord name="SetVrDistortionShader" func="yes">
-            <Overload retVal="void" descr="Set VR distortion shader for stereoscopic rendering">
-                <Param name="Shader shader" />
-            </Overload>
-        </KeyWord>
         <KeyWord name="UpdateVrTracking" func="yes">
         <KeyWord name="UpdateVrTracking" func="yes">
             <Overload retVal="void" descr="Update VR tracking (position and orientation) and camera">
             <Overload retVal="void" descr="Update VR tracking (position and orientation) and camera">
                 <Param name="Camera *camera" />
                 <Param name="Camera *camera" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="SetVrConfiguration" func="yes">
+            <Overload retVal="void" descr="Set stereo rendering configuration parameters ">
+                <Param name="VrDeviceInfo info" />
+                <Param name="Shader distortion" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="IsVrSimulatorReady" func="yes">
+            <Overload retVal="bool" descr="Detect if VR simulator is ready"></Overload>
+        </KeyWord>
         <KeyWord name="ToggleVrMode" func="yes">
         <KeyWord name="ToggleVrMode" func="yes">
             <Overload retVal="void" descr="Enable/Disable VR experience"></Overload>
             <Overload retVal="void" descr="Enable/Disable VR experience"></Overload>
         </KeyWord>
         </KeyWord>
@@ -1881,6 +2280,18 @@
                 <Param name="Sound sound" />
                 <Param name="Sound sound" />
             </Overload>
             </Overload>
         </KeyWord>
         </KeyWord>
+        <KeyWord name="ExportWave" func="yes">
+            <Overload retVal="void" descr="Export wave data to file">
+                <Param name="Wave wave" />
+                <Param name="const char *fileName" />
+            </Overload>
+        </KeyWord>
+        <KeyWord name="ExportWaveAsCode" func="yes">
+            <Overload retVal="void" descr="Export wave sample data to code (.h)">
+                <Param name="Wave wave" />
+                <Param name="const char *fileName" />
+            </Overload>
+        </KeyWord>
 
 
         <!-- Wave/Sound management functions -->
         <!-- Wave/Sound management functions -->
         <KeyWord name="PlaySound" func="yes">
         <KeyWord name="PlaySound" func="yes">

+ 2 - 0
projects/Notepad++/raylib_npp_parser/raylib_npp_parser.c

@@ -17,6 +17,8 @@
     </KeyWord>
     </KeyWord>
     
     
     NOTE: Generated XML text should be copied inside raylib\Notepad++\plugins\APIs\c.xml
     NOTE: Generated XML text should be copied inside raylib\Notepad++\plugins\APIs\c.xml
+    
+    WARNING: Be careful with functions that split parameters into several lines, it breaks the process!
 
 
     LICENSE: zlib/libpng
     LICENSE: zlib/libpng
 
 

+ 117 - 50
projects/Notepad++/raylib_npp_parser/raylib_to_parse.h

@@ -4,22 +4,32 @@
 
 
 // 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 IsWindowReady(void);                                   // Check if window has been initialized successfully
 RLAPI bool IsWindowReady(void);                                   // Check if window has been initialized successfully
-RLAPI bool WindowShouldClose(void);                               // Check if KEY_ESCAPE pressed or Close icon pressed
 RLAPI bool IsWindowMinimized(void);                               // Check if window has been minimized (or lost focus)
 RLAPI bool IsWindowMinimized(void);                               // Check if window has been minimized (or lost focus)
+RLAPI bool IsWindowResized(void);                                 // Check if window has been resized
+RLAPI bool IsWindowHidden(void);                                  // Check if window is currently hidden
 RLAPI void ToggleFullscreen(void);                                // Toggle fullscreen mode (only PLATFORM_DESKTOP)
 RLAPI void ToggleFullscreen(void);                                // Toggle fullscreen mode (only PLATFORM_DESKTOP)
+RLAPI void UnhideWindow(void);                                    // Show the window
+RLAPI void HideWindow(void);                                      // Hide the window
 RLAPI void SetWindowIcon(Image image);                            // Set icon for window (only PLATFORM_DESKTOP)
 RLAPI void SetWindowIcon(Image image);                            // Set icon for window (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)
 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 (fullscreen mode)
 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 SetWindowSize(int width, int height);                  // Set window dimensions
 RLAPI void SetWindowSize(int width, int height);                  // Set window dimensions
-RLAPI void ShowWindow();                                          // Show the window
-RLAPI void HideWindow();                                          // Hide the window
-RLAPI bool IsWindowHidden();                                      // Check if window is currently hidden
+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
+RLAPI int GetMonitorCount(void);                                  // Get number of connected monitors
+RLAPI int GetMonitorWidth(int monitor);                           // Get primary monitor width
+RLAPI int GetMonitorHeight(int monitor);                          // Get primary monitor height
+RLAPI int GetMonitorPhysicalWidth(int monitor);                   // Get primary monitor physical width in millimetres
+RLAPI int GetMonitorPhysicalHeight(int monitor);                  // Get primary monitor physical height in millimetres
+RLAPI const char *GetMonitorName(int monitor);                    // Get the human-readable, UTF-8 encoded name of the primary monitor
+RLAPI const char *GetClipboardText(void);                         // Get clipboard text content
+RLAPI void SetClipboardText(const char *text);                    // Set clipboard text content
 
 
 // Cursor-related functions
 // Cursor-related functions
 RLAPI void ShowCursor(void);                                      // Shows cursor
 RLAPI void ShowCursor(void);                                      // Shows cursor
@@ -54,32 +64,41 @@ RLAPI double GetTime(void);                                       // Returns ela
 RLAPI int ColorToInt(Color color);                                // Returns hexadecimal value for a Color
 RLAPI int ColorToInt(Color color);                                // Returns hexadecimal value for a Color
 RLAPI Vector4 ColorNormalize(Color color);                        // Returns color normalized as float [0..1]
 RLAPI Vector4 ColorNormalize(Color color);                        // Returns color normalized as float [0..1]
 RLAPI Vector3 ColorToHSV(Color color);                            // Returns HSV values for a Color
 RLAPI Vector3 ColorToHSV(Color color);                            // Returns HSV values for a Color
+RLAPI Color ColorFromHSV(Vector3 hsv);                            // Returns a Color from HSV values
 RLAPI Color GetColor(int hexValue);                               // Returns a Color struct from hexadecimal value
 RLAPI Color GetColor(int hexValue);                               // Returns a Color struct from hexadecimal value
 RLAPI Color Fade(Color color, float alpha);                       // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f
 RLAPI Color Fade(Color color, float alpha);                       // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f
 
 
 // Misc. functions
 // Misc. functions
-RLAPI void ShowLogo(void);                                        // Activate raylib logo at startup (can be done with flags)
 RLAPI void SetConfigFlags(unsigned char flags);                   // Setup window configuration flags (view FLAGS)
 RLAPI void SetConfigFlags(unsigned char flags);                   // Setup window configuration flags (view FLAGS)
-RLAPI void SetTraceLog(unsigned char types);                      // Enable trace log message types (bit flags based)
-RLAPI void TraceLog(int logType, const char *text, ...);          // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG)
+RLAPI void SetTraceLogLevel(int logType);                         // Set the current threshold (minimum) log level
+RLAPI void SetTraceLogExit(int logType);                          // Set the exit threshold (minimum) log level
+RLAPI void SetTraceLogCallback(TraceLogCallback callback);        // Set a trace log callback to enable custom logging
+RLAPI void TraceLog(int logType, const char *text, ...);          // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)
 RLAPI void TakeScreenshot(const char *fileName);                  // Takes a screenshot of current screen (saved a .png)
 RLAPI void TakeScreenshot(const char *fileName);                  // Takes a screenshot of current screen (saved a .png)
 RLAPI int GetRandomValue(int min, int max);                       // Returns a random value between min and max (both included)
 RLAPI int GetRandomValue(int min, int max);                       // Returns a random value between min and max (both included)
 
 
 // Files management functions
 // Files management functions
+RLAPI bool FileExists(const char *fileName);                      // Check if file exists
 RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension
 RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension
 RLAPI const char *GetExtension(const char *fileName);             // Get pointer to extension for a filename string
 RLAPI const char *GetExtension(const char *fileName);             // Get pointer to extension for a filename string
 RLAPI const char *GetFileName(const char *filePath);              // Get pointer to filename for a path string
 RLAPI const char *GetFileName(const char *filePath);              // Get pointer to filename for a path string
+RLAPI const char *GetFileNameWithoutExt(const char *filePath);    // Get filename string without extension (memory should be freed)
 RLAPI const char *GetDirectoryPath(const char *fileName);         // Get full path for a given fileName (uses static string)
 RLAPI const char *GetDirectoryPath(const char *fileName);         // Get full path for a given fileName (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 char **GetDirectoryFiles(const char *dirPath, int *count);  // Get filenames in a directory path (memory should be freed)
+RLAPI void ClearDirectoryFiles(void);                             // Clear directory files paths buffers (free memory)
 RLAPI bool ChangeDirectory(const char *dir);                      // Change working directory, returns true if success
 RLAPI bool ChangeDirectory(const char *dir);                      // Change working directory, returns true if success
 RLAPI bool IsFileDropped(void);                                   // Check if a file has been dropped into window
 RLAPI bool IsFileDropped(void);                                   // Check if a file has been dropped into window
-RLAPI char **GetDroppedFiles(int *count);                         // Get dropped files names
-RLAPI void ClearDroppedFiles(void);                               // Clear dropped files paths buffer
+RLAPI char **GetDroppedFiles(int *count);                         // Get dropped files names (memory should be freed)
+RLAPI void ClearDroppedFiles(void);                               // Clear dropped files paths buffer (free memory)
+RLAPI long GetFileModTime(const char *fileName);                  // Get file modification time (last write time)
 
 
 // Persistent storage management
 // Persistent storage management
 RLAPI void StorageSaveValue(int position, int value);             // Save integer value to storage file (to defined position)
 RLAPI void StorageSaveValue(int position, int value);             // Save integer value to storage file (to defined position)
 RLAPI int StorageLoadValue(int position);                         // Load integer value from storage file (from defined position)
 RLAPI int StorageLoadValue(int position);                         // Load integer value from storage file (from defined position)
 
 
+RLAPI void OpenURL(const char *url);                              // Open URL with default system browser (if available)
+
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 // Input Handling Functions (Module: core)
 // Input Handling Functions (Module: core)
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
@@ -112,8 +131,9 @@ RLAPI bool IsMouseButtonUp(int button);                       // Detect if a mou
 RLAPI int GetMouseX(void);                                    // Returns mouse position X
 RLAPI int GetMouseX(void);                                    // Returns mouse position X
 RLAPI int GetMouseY(void);                                    // Returns mouse position Y
 RLAPI int GetMouseY(void);                                    // Returns mouse position Y
 RLAPI Vector2 GetMousePosition(void);                         // Returns mouse position XY
 RLAPI Vector2 GetMousePosition(void);                         // Returns mouse position XY
-RLAPI void SetMousePosition(Vector2 position);                // Set mouse position XY
-RLAPI void SetMouseScale(float scale);                        // Set mouse scaling
+RLAPI void SetMousePosition(int x, int y);                    // Set mouse position XY
+RLAPI void SetMouseOffset(int offsetX, int offsetY);          // Set mouse offset
+RLAPI void SetMouseScale(float scaleX, float scaleY);         // Set mouse scaling
 RLAPI int GetMouseWheelMove(void);                            // Returns mouse wheel movement Y
 RLAPI int GetMouseWheelMove(void);                            // Returns mouse wheel movement Y
 
 
 // Input-related functions: touch
 // Input-related functions: touch
@@ -156,10 +176,15 @@ RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Colo
 RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color);                                     // Draw a line (Vector version)
 RLAPI void 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 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 DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color);                   // Draw a line using cubic-bezier curves in-out
+RLAPI void DrawLineStrip(Vector2 *points, int numPoints, Color color);                                   // Draw lines sequence
 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, int startAngle, int endAngle, int segments, Color color);     // Draw a piece of a circle
+RLAPI void DrawCircleSectorLines(Vector2 center, float radius, int startAngle, int 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 DrawRing(Vector2 center, float innerRadius, float outerRadius, int startAngle, int endAngle, int segments, Color color); // Draw ring
+RLAPI void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, int startAngle, int endAngle, int segments, Color color);    // Draw ring outline
 RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color);                        // Draw a color-filled rectangle
 RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color);                        // Draw a color-filled rectangle
 RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color);                                  // Draw a color-filled rectangle (Vector version)
 RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color);                                  // Draw a color-filled rectangle (Vector version)
 RLAPI void DrawRectangleRec(Rectangle rec, Color color);                                                 // Draw a color-filled rectangle
 RLAPI void DrawRectangleRec(Rectangle rec, Color color);                                                 // Draw a color-filled rectangle
@@ -169,11 +194,14 @@ RLAPI void DrawRectangleGradientH(int posX, int posY, int width, int height, Col
 RLAPI void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4);       // Draw a gradient-filled rectangle with custom vertex colors
 RLAPI void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4);       // Draw a gradient-filled rectangle with custom vertex colors
 RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color);                   // Draw rectangle outline
 RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color);                   // Draw rectangle outline
 RLAPI void DrawRectangleLinesEx(Rectangle rec, int lineThick, Color color);                              // Draw rectangle outline with extended parameters
 RLAPI void DrawRectangleLinesEx(Rectangle rec, int lineThick, Color color);                              // Draw rectangle outline with extended parameters
+RLAPI void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color);              // Draw rectangle with rounded edges
+RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, int lineThick, Color color); // Draw rectangle with rounded edges outline
 RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                                // Draw a color-filled triangle
 RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                                // Draw a color-filled triangle
 RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                           // Draw triangle outline
 RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color);                           // Draw triangle outline
+RLAPI void DrawTriangleFan(Vector2 *points, int numPoints, Color color);                                 // Draw a triangle fan defined by points
 RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color);               // Draw a regular polygon (Vector version)
 RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color);               // Draw a regular polygon (Vector version)
-RLAPI void DrawPolyEx(Vector2 *points, int numPoints, Color color);                                      // Draw a closed polygon defined by points
-RLAPI void DrawPolyExLines(Vector2 *points, int numPoints, Color color);                                 // Draw polygon lines
+
+RLAPI void SetShapesTexture(Texture2D texture, Rectangle source);                                        // Define default texture used to draw shapes
 
 
 // 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
@@ -193,9 +221,11 @@ RLAPI Image LoadImage(const char *fileName);
 RLAPI Image LoadImageEx(Color *pixels, int width, int height);                                           // Load image from Color array data (RGBA - 32bit)
 RLAPI Image LoadImageEx(Color *pixels, int width, int height);                                           // Load image from Color array data (RGBA - 32bit)
 RLAPI Image LoadImagePro(void *data, int width, int height, int format);                                 // Load image from raw data with parameters
 RLAPI Image LoadImagePro(void *data, int width, int height, int format);                                 // Load image from raw data with parameters
 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 void ExportImage(const char *fileName, Image image);                                               // Export image as a PNG file
+RLAPI void ExportImage(Image image, const char *fileName);                                               // Export image data to file
+RLAPI void ExportImageAsCode(Image image, const char *fileName);                                         // Export image as code file defining an array of bytes
 RLAPI Texture2D LoadTexture(const char *fileName);                                                       // Load texture from file into GPU memory (VRAM)
 RLAPI Texture2D LoadTexture(const char *fileName);                                                       // Load texture from file into GPU memory (VRAM)
 RLAPI Texture2D LoadTextureFromImage(Image image);                                                       // Load texture from image data
 RLAPI Texture2D LoadTextureFromImage(Image image);                                                       // Load texture from image data
+RLAPI TextureCubemap LoadTextureCubemap(Image image, int layoutType);                                    // Load cubemap from image, multiple image cubemap layouts supported
 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 void UnloadImage(Image image);                                                                     // Unload image from CPU memory (RAM)
 RLAPI void UnloadImage(Image image);                                                                     // Unload image from CPU memory (RAM)
 RLAPI void UnloadTexture(Texture2D texture);                                                             // Unload texture from GPU memory (VRAM)
 RLAPI void UnloadTexture(Texture2D texture);                                                             // Unload texture from GPU memory (VRAM)
@@ -204,6 +234,7 @@ RLAPI Color *GetImageData(Image image);
 RLAPI Vector4 *GetImageDataNormalized(Image image);                                                      // Get pixel data from image as Vector4 array (float normalized)
 RLAPI Vector4 *GetImageDataNormalized(Image image);                                                      // Get pixel data from image as Vector4 array (float normalized)
 RLAPI int GetPixelDataSize(int width, int height, int format);                                           // Get pixel data size in bytes (image or texture)
 RLAPI int GetPixelDataSize(int width, int height, int format);                                           // Get pixel data size in bytes (image or texture)
 RLAPI Image GetTextureData(Texture2D texture);                                                           // Get pixel data from GPU texture and return an Image
 RLAPI Image GetTextureData(Texture2D texture);                                                           // Get pixel data from GPU texture and return an Image
+RLAPI Image GetScreenData(void);                                                                         // Get pixel data from screen buffer and return an Image (screenshot)
 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
 
 
 // Image manipulation functions
 // Image manipulation functions
@@ -215,15 +246,17 @@ RLAPI void ImageAlphaClear(Image *image, Color color, float threshold);
 RLAPI void ImageAlphaCrop(Image *image, float threshold);                                                // Crop image depending on alpha value
 RLAPI void ImageAlphaCrop(Image *image, float threshold);                                                // Crop image depending on alpha value
 RLAPI void ImageAlphaPremultiply(Image *image);                                                          // Premultiply alpha channel
 RLAPI void ImageAlphaPremultiply(Image *image);                                                          // Premultiply alpha channel
 RLAPI void ImageCrop(Image *image, Rectangle crop);                                                      // Crop an image to a defined rectangle
 RLAPI void ImageCrop(Image *image, Rectangle crop);                                                      // Crop an image to a defined rectangle
-RLAPI void ImageResize(Image *image, int newWidth, int newHeight);                                       // Resize and image (bilinear filtering)
-RLAPI void ImageResizeNN(Image *image,int newWidth,int newHeight);                                       // Resize and image (Nearest-Neighbor scaling algorithm)
+RLAPI void ImageResize(Image *image, int newWidth, int newHeight);                                       // Resize image (Bicubic scaling algorithm)
+RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight);                                      // Resize image (Nearest-Neighbor scaling algorithm)
 RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color color);  // Resize canvas and fill with color
 RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color color);  // Resize canvas and fill with color
 RLAPI void ImageMipmaps(Image *image);                                                                   // Generate all mipmap levels for a provided image
 RLAPI void ImageMipmaps(Image *image);                                                                   // Generate all mipmap levels for a provided image
 RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp);                            // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
 RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp);                            // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
+RLAPI Color *ImageExtractPalette(Image image, int maxPaletteSize, int *extractCount);                    // Extract color palette from image to maximum size (memory should be freed)
 RLAPI Image ImageText(const char *text, int fontSize, Color color);                                      // Create an image from text (default font)
 RLAPI Image ImageText(const char *text, int fontSize, Color color);                                      // Create an image from text (default font)
 RLAPI Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint);         // Create an image from text (custom sprite font)
 RLAPI Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint);         // Create an image from text (custom sprite font)
 RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec);                         // Draw a source image within a destination image
 RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec);                         // Draw a source image within a destination image
-RLAPI void ImageDrawRectangle(Image *dst, Vector2 position, Rectangle rec, Color color);                 // Draw rectangle within an image
+RLAPI void ImageDrawRectangle(Image *dst, Rectangle rec, Color color);                                   // Draw rectangle within an image
+RLAPI void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color);                   // Draw rectangle lines within an image
 RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color);     // Draw text (default font) within an image (destination)
 RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color);     // Draw text (default font) within an image (destination)
 RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, Font font, const char *text, float fontSize, float spacing, Color color); // Draw text (custom sprite font) within an image (destination)
 RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, Font font, const char *text, float fontSize, float spacing, Color color); // Draw text (custom sprite font) within an image (destination)
 RLAPI void ImageFlipVertical(Image *image);                                                              // Flip image vertically
 RLAPI void ImageFlipVertical(Image *image);                                                              // Flip image vertically
@@ -257,8 +290,9 @@ RLAPI void DrawTexture(Texture2D texture, int posX, int posY, Color tint);
 RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint);                                // Draw a Texture2D with position defined as Vector2
 RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint);                                // Draw a Texture2D with position defined as Vector2
 RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint);  // Draw a Texture2D with extended parameters
 RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint);  // Draw a Texture2D with extended parameters
 RLAPI void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint);         // Draw a part of a texture defined by a rectangle
 RLAPI void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint);         // Draw a part of a texture defined by a rectangle
-RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters
-                    
+RLAPI void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint);  // Draw texture quad with tiling and offset parameters
+RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, float rotation, Color tint);       // Draw a part of a texture defined by a rectangle with 'pro' parameters
+RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle destRec, Vector2 origin, float rotation, Color tint);  // Draws a texture (or part of it) that stretches or shrinks nicely
 
 
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 // Font Loading and Text Drawing Functions (Module: text)
 // Font Loading and Text Drawing Functions (Module: text)
@@ -267,22 +301,43 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle dest
 // 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 charsCount, int *fontChars);  // Load font from file with extended parameters
-RLAPI CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int charsCount, bool sdf); // Load font data for further use
-RLAPI Image GenImageFontAtlas(CharInfo *chars, int fontSize, int charsCount, int padding, int packMethod);  // Generate image font atlas using chars info
+RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount);  // Load font from file with extended parameters
+RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar);                        // Load font from Image (XNA style)
+RLAPI CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int charsCount, int type); // Load font data for further use
+RLAPI Image GenImageFontAtlas(CharInfo *chars, int charsCount, int fontSize, int padding, int packMethod);  // Generate image font atlas using chars info
 RLAPI void UnloadFont(Font font);                                                           // Unload Font from GPU memory (VRAM)
 RLAPI void UnloadFont(Font font);                                                           // Unload Font from GPU memory (VRAM)
 
 
 // Text drawing functions
 // Text drawing functions
 RLAPI void DrawFPS(int posX, int posY);                                                     // Shows current FPS
 RLAPI void DrawFPS(int posX, int posY);                                                     // Shows current FPS
 RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color);       // Draw text (using default font)
 RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color);       // Draw text (using default font)
-RLAPI void DrawTextEx(Font font, const char* text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using Font and additional parameters
+RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint);                // Draw text using font and additional parameters
+RLAPI void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint);   // Draw text using font inside rectangle limits
+RLAPI void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint, int selectStart, int selectLength, Color selectText, Color selectBack);    // Draw text using font inside rectangle limits with support for text selection
 
 
 // Text misc. functions
 // Text misc. functions
 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 const char *FormatText(const char *text, ...);                                        // Formatting of text with variables to 'embed'
-RLAPI const char *SubText(const char *text, int position, int length);                      // Get a piece of a text string
-RLAPI int GetGlyphIndex(Font font, int character);                                          // Returns index position for a unicode character on sprite font
+RLAPI int GetGlyphIndex(Font font, int character);                                          // Get index position for a unicode character on font
+RLAPI int GetNextCodepoint(const char *text, int *count);                                   // Returns next codepoint in a UTF8 encoded string
+                                                                                            // NOTE: 0x3f(`?`) is returned on failure, `count` will hold the total number of bytes processed
+
+// Text strings management functions
+// NOTE: Some strings allocate memory internally for returned strings, just be careful!
+RLAPI bool TextIsEqual(const char *text1, const char *text2);                               // Check if two text string are equal
+RLAPI unsigned int TextLength(const char *text);                                            // Get text length, checks for '\0' ending
+RLAPI unsigned int TextCountCodepoints(const char *text);                                   // Get total number of characters (codepoints) in a UTF8 encoded string
+RLAPI const char *TextFormat(const char *text, ...);                                        // Text formatting with variables (sprintf style)
+RLAPI const char *TextSubtext(const char *text, int position, int length);                  // Get a piece of a text string
+RLAPI const char *TextReplace(char *text, const char *replace, const char *by);             // Replace text string (memory should be freed!)
+RLAPI const char *TextInsert(const char *text, const char *insert, int position);           // Insert text in a position (memory should be freed!)
+RLAPI const char *TextJoin(const char **textList, int count, const char *delimiter);        // Join text strings with delimiter
+RLAPI const char **TextSplit(const char *text, char delimiter, int *count);                 // Split text into multiple strings
+RLAPI void TextAppend(char *text, const char *append, int *position);                       // Append text at specific position and move cursor!
+RLAPI int TextFindIndex(const char *text, const char *find);                                // Find first text occurrence within a string
+RLAPI const char *TextToUpper(const char *text);                      // Get upper case version of provided string
+RLAPI const char *TextToLower(const char *text);                      // Get lower case version of provided string
+RLAPI const char *TextToPascal(const char *text);                     // Get Pascal case notation version of provided string
+RLAPI int TextToInteger(const char *text);                            // Get integer value from text (negative values not supported)
 
 
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 // Basic 3d Shapes Drawing Functions (Module: models)
 // Basic 3d Shapes Drawing Functions (Module: models)
@@ -294,6 +349,7 @@ RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, floa
 RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color);             // Draw cube
 RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color);             // Draw cube
 RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color);                                       // Draw cube (Vector version)
 RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color);                                       // Draw cube (Vector version)
 RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color);        // Draw cube wires
 RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color);        // Draw cube wires
+RLAPI void DrawCubeWiresV(Vector3 position, Vector3 size, Color color);                                  // Draw cube wires (Vector version)
 RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured
 RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured
 RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color);                                     // Draw sphere
 RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color);                                     // Draw sphere
 RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color);            // Draw sphere with extended parameters
 RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color);            // Draw sphere with extended parameters
@@ -311,21 +367,30 @@ RLAPI void DrawGizmo(Vector3 position);
 //------------------------------------------------------------------------------------
 //------------------------------------------------------------------------------------
 
 
 // Model loading/unloading functions
 // Model loading/unloading functions
-RLAPI Model LoadModel(const char *fileName);                                                            // Load model from files (mesh and material)
-RLAPI Model LoadModelFromMesh(Mesh mesh);                                                               // Load model from generated mesh
+RLAPI Model LoadModel(const char *fileName);                                                            // Load model from files (meshes and materials)
+RLAPI Model LoadModelFromMesh(Mesh mesh);                                                               // Load model from generated mesh (default material)
 RLAPI void UnloadModel(Model model);                                                                    // Unload model from memory (RAM and/or VRAM)
 RLAPI void UnloadModel(Model model);                                                                    // Unload model from memory (RAM and/or VRAM)
 
 
 // Mesh loading/unloading functions
 // Mesh loading/unloading functions
-RLAPI Mesh LoadMesh(const char *fileName);                                                              // Load mesh from file
+RLAPI Mesh *LoadMeshes(const char *fileName, int *meshCount);                                           // Load meshes from model file
+RLAPI void ExportMesh(Mesh mesh, const char *fileName);                                                 // Export mesh data to file
 RLAPI void UnloadMesh(Mesh *mesh);                                                                      // Unload mesh from memory (RAM and/or VRAM)
 RLAPI void UnloadMesh(Mesh *mesh);                                                                      // Unload mesh from memory (RAM and/or VRAM)
-RLAPI void ExportMesh(const char *fileName, Mesh mesh);                                                 // Export mesh as an OBJ file
 
 
-// Mesh manipulation functions
-RLAPI BoundingBox MeshBoundingBox(Mesh mesh);                                                           // Compute mesh bounding box limits
-RLAPI void MeshTangents(Mesh *mesh);                                                                    // Compute mesh tangents 
-RLAPI void MeshBinormals(Mesh *mesh);                                                                   // Compute mesh binormals
+// Material loading/unloading functions
+RLAPI Material *LoadMaterials(const char *fileName, int *materialCount);                                // Load materials from model file
+RLAPI Material LoadMaterialDefault(void);                                                               // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
+RLAPI void UnloadMaterial(Material material);                                                           // Unload material from GPU memory (VRAM)
+RLAPI void SetMaterialTexture(Material *material, int mapType, Texture2D texture);                      // Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)
+RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId);                              // Set material for a mesh
+
+// Model animations loading/unloading functions
+RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, int *animsCount);                       // Load model animations from file
+RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame);                           // Update model animation pose
+RLAPI void UnloadModelAnimation(ModelAnimation anim);                                                   // Unload animation data
+RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim);                                     // Check model animation skeleton match
 
 
 // Mesh generation functions
 // Mesh generation functions
+RLAPI Mesh GenMeshPoly(int sides, float radius);                                                        // Generate polygonal mesh
 RLAPI Mesh GenMeshPlane(float width, float length, int resX, int resZ);                                 // Generate plane mesh (with subdivisions)
 RLAPI Mesh GenMeshPlane(float width, float length, int resX, int resZ);                                 // Generate plane mesh (with subdivisions)
 RLAPI Mesh GenMeshCube(float width, float height, float length);                                        // Generate cuboid mesh
 RLAPI Mesh GenMeshCube(float width, float height, float length);                                        // Generate cuboid mesh
 RLAPI Mesh GenMeshSphere(float radius, int rings, int slices);                                          // Generate sphere mesh (standard sphere)
 RLAPI Mesh GenMeshSphere(float radius, int rings, int slices);                                          // Generate sphere mesh (standard sphere)
@@ -336,10 +401,10 @@ RLAPI Mesh GenMeshKnot(float radius, float size, int radSeg, int sides);
 RLAPI Mesh GenMeshHeightmap(Image heightmap, Vector3 size);                                             // Generate heightmap mesh from image data
 RLAPI Mesh GenMeshHeightmap(Image heightmap, Vector3 size);                                             // Generate heightmap mesh from image data
 RLAPI Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize);                                           // Generate cubes-based map mesh from image data
 RLAPI Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize);                                           // Generate cubes-based map mesh from image data
 
 
-// Material loading/unloading functions
-RLAPI Material LoadMaterial(const char *fileName);                                                      // Load material from file
-RLAPI Material LoadMaterialDefault(void);                                                               // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
-RLAPI void UnloadMaterial(Material material);                                                           // Unload material from GPU memory (VRAM)
+// Mesh manipulation functions
+RLAPI BoundingBox MeshBoundingBox(Mesh mesh);                                                           // Compute mesh bounding box limits
+RLAPI void MeshTangents(Mesh *mesh);                                                                    // Compute mesh tangents
+RLAPI void MeshBinormals(Mesh *mesh);                                                                   // Compute mesh binormals
 
 
 // Model drawing functions
 // Model drawing functions
 RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint);                           // Draw a model (with texture if set)
 RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint);                           // Draw a model (with texture if set)
@@ -376,12 +441,11 @@ RLAPI Shader GetShaderDefault(void);                                      // Get
 RLAPI Texture2D GetTextureDefault(void);                                  // Get default texture
 RLAPI Texture2D GetTextureDefault(void);                                  // Get default texture
 
 
 // Shader configuration functions
 // Shader configuration functions
-RLAPI int GetShaderLocation(Shader shader, const char *uniformName);              // Get shader uniform location
-RLAPI void SetShaderValue(Shader shader, int uniformLoc, const float *value, int size); // Set shader uniform value (float)
-RLAPI void SetShaderValuei(Shader shader, int uniformLoc, const int *value, int size);  // Set shader uniform value (int)
-RLAPI void SetShaderValueArray(Shader shader, int uniformLoc, const float *value, int size, int count); // Set shader uniform value (array of float/vec2/vec3/vec4)
-RLAPI void SetShaderValueArrayi(Shader shader, int uniformLoc, const int *value, int size, int count); // Set shader uniform value (array of int/ivec2/ivec3/ivec4)
-RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat);       // Set shader uniform value (matrix 4x4)
+RLAPI int GetShaderLocation(Shader shader, const char *uniformName);      // Get shader uniform location
+RLAPI void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType);               // Set shader uniform value
+RLAPI void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count);   // Set shader uniform value vector
+RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat);         // Set shader uniform value (matrix 4x4)
+RLAPI void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture); // Set shader uniform value for texture
 RLAPI void SetMatrixProjection(Matrix proj);                              // Set a custom projection matrix (replaces internal projection matrix)
 RLAPI void SetMatrixProjection(Matrix proj);                              // Set a custom projection matrix (replaces internal projection matrix)
 RLAPI void SetMatrixModelview(Matrix view);                               // Set a custom modelview matrix (replaces internal modelview matrix)
 RLAPI void SetMatrixModelview(Matrix view);                               // Set a custom modelview matrix (replaces internal modelview matrix)
 RLAPI Matrix GetMatrixModelview();                                        // Get internal modelview matrix
 RLAPI Matrix GetMatrixModelview();                                        // Get internal modelview matrix
@@ -391,21 +455,22 @@ RLAPI Matrix GetMatrixModelview();                                        // Get
 RLAPI Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size);       // Generate cubemap texture from HDR texture
 RLAPI Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size);       // Generate cubemap texture from HDR texture
 RLAPI Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size);   // Generate irradiance texture using cubemap data
 RLAPI Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size);   // Generate irradiance texture using cubemap data
 RLAPI Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size);    // Generate prefilter texture using cubemap data
 RLAPI Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size);    // Generate prefilter texture using cubemap data
-RLAPI Texture2D GenTextureBRDF(Shader shader, Texture2D cubemap, int size);         // Generate BRDF texture using cubemap data
+RLAPI Texture2D GenTextureBRDF(Shader shader, int size);                  // Generate BRDF texture
 
 
 // Shading begin/end functions
 // Shading begin/end functions
 RLAPI void BeginShaderMode(Shader shader);                                // Begin custom shader drawing
 RLAPI void BeginShaderMode(Shader shader);                                // Begin custom shader drawing
 RLAPI void EndShaderMode(void);                                           // End custom shader drawing (use default shader)
 RLAPI void EndShaderMode(void);                                           // End custom shader drawing (use default shader)
 RLAPI void BeginBlendMode(int mode);                                      // Begin blending mode (alpha, additive, multiplied)
 RLAPI void BeginBlendMode(int mode);                                      // Begin blending mode (alpha, additive, multiplied)
 RLAPI void EndBlendMode(void);                                            // End blending mode (reset to default: alpha blending)
 RLAPI void EndBlendMode(void);                                            // End blending mode (reset to default: alpha blending)
+RLAPI void BeginScissorMode(int x, int y, int width, int height);         // Begin scissor mode (define screen area for following drawing)
+RLAPI void EndScissorMode(void);                                          // End scissor mode
 
 
 // VR control functions
 // VR control functions
-RLAPI VrDeviceInfo GetVrDeviceInfo(int vrDeviceType);   // Get VR device information for some standard devices
-RLAPI void InitVrSimulator(VrDeviceInfo info);          // Init VR simulator for selected device parameters
+RLAPI void InitVrSimulator(void);                       // Init VR simulator for selected device parameters
 RLAPI void CloseVrSimulator(void);                      // Close VR simulator for current device
 RLAPI void CloseVrSimulator(void);                      // Close VR simulator for current device
-RLAPI bool IsVrSimulatorReady(void);                    // Detect if VR simulator is ready
-RLAPI void SetVrDistortionShader(Shader shader);        // Set VR distortion shader for stereoscopic rendering
 RLAPI void UpdateVrTracking(Camera *camera);            // Update VR tracking (position and orientation) and camera
 RLAPI void UpdateVrTracking(Camera *camera);            // Update VR tracking (position and orientation) and camera
+RLAPI void SetVrConfiguration(VrDeviceInfo info, Shader distortion);      // Set stereo rendering configuration parameters 
+RLAPI bool IsVrSimulatorReady(void);                    // Detect if VR simulator is ready
 RLAPI void ToggleVrMode(void);                          // Enable/Disable VR experience
 RLAPI void ToggleVrMode(void);                          // Enable/Disable VR experience
 RLAPI void BeginVrDrawing(void);                        // Begin VR simulator stereo rendering
 RLAPI void BeginVrDrawing(void);                        // Begin VR simulator stereo rendering
 RLAPI void EndVrDrawing(void);                          // End VR simulator stereo rendering
 RLAPI void EndVrDrawing(void);                          // End VR simulator stereo rendering
@@ -428,6 +493,8 @@ RLAPI Sound LoadSoundFromWave(Wave wave);                             // Load so
 RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount);// Update sound buffer with new data
 RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount);// 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 ExportWave(Wave wave, const char *fileName);               // Export wave data to file
+RLAPI void ExportWaveAsCode(Wave wave, const char *fileName);         // Export wave sample data to code (.h)
 
 
 // Wave/Sound management functions
 // Wave/Sound management functions
 RLAPI void PlaySound(Sound sound);                                    // Play a sound
 RLAPI void PlaySound(Sound sound);                                    // Play a sound
@@ -468,4 +535,4 @@ RLAPI void ResumeAudioStream(AudioStream stream);                     // Resume
 RLAPI bool IsAudioStreamPlaying(AudioStream stream);                  // Check if audio stream is playing
 RLAPI bool IsAudioStreamPlaying(AudioStream stream);                  // Check if audio stream is playing
 RLAPI void StopAudioStream(AudioStream stream);                       // Stop audio stream
 RLAPI void StopAudioStream(AudioStream stream);                       // Stop audio stream
 RLAPI void SetAudioStreamVolume(AudioStream stream, float volume);    // Set volume for audio stream (1.0 is max level)
 RLAPI void SetAudioStreamVolume(AudioStream stream, float volume);    // Set volume for audio stream (1.0 is max level)
-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)