diff options
| author | Ray <[email protected]> | 2021-10-31 18:12:50 +0100 |
|---|---|---|
| committer | Ray <[email protected]> | 2021-10-31 18:12:50 +0100 |
| commit | ef3237733637d77aab2cb312bd563f19e81710ab (patch) | |
| tree | dc4bb375cf13945faadf68f0dc0f117dfaa15578 | |
| parent | a2b69c09056ba6232b43ba790d7defc302fdfacd (diff) | |
| download | raylib-ef3237733637d77aab2cb312bd563f19e81710ab.tar.gz raylib-ef3237733637d77aab2cb312bd563f19e81710ab.zip | |
Updated Notepad++ raylib intellisense functions
| -rw-r--r-- | projects/Notepad++/c_raylib.xml | 2276 | ||||
| -rw-r--r-- | projects/Notepad++/raylib_npp_parser/raylib_npp.xml | 768 | ||||
| -rw-r--r-- | projects/Notepad++/raylib_npp_parser/raylib_to_parse.h | 313 |
3 files changed, 2204 insertions, 1153 deletions
diff --git a/projects/Notepad++/c_raylib.xml b/projects/Notepad++/c_raylib.xml index 497fb7b8..5b4fa928 100644 --- a/projects/Notepad++/c_raylib.xml +++ b/projects/Notepad++/c_raylib.xml @@ -17,21 +17,28 @@ <KeyWord name="Image" /> <KeyWord name="Texture2D" /> <KeyWord name="RenderTexture2D" /> + <KeyWord name="NPatchInfo" /> + <KeyWord name="GlyphInfo" /> <KeyWord name="Font" /> <KeyWord name="Camera3D" /> <KeyWord name="Camera2D" /> <KeyWord name="BoundingBox" /> <KeyWord name="Mesh" /> <KeyWord name="Shader" /> + <KeyWord name="MaterialMap" /> <KeyWord name="Material" /> + <KeyWord name="Transform" /> + <KeyWord name="BoneInfo" /> <KeyWord name="Model" /> + <KeyWord name="ModelAnimation" /> <KeyWord name="Ray" /> - <KeyWord name="RayHitInfo" /> + <KeyWord name="RayCollision" /> <KeyWord name="Wave" /> <KeyWord name="Sound" /> <KeyWord name="Music" /> <KeyWord name="AudioStream" /> <KeyWord name="VrDeviceInfo" /> + <KeyWord name="VrStereoConfig" /> <!-------------------------------------------------------------------------------------- --> <!-- Window and Graphics Device Functions (Module: core) --> @@ -45,20 +52,59 @@ <Param name="const char *title" /> </Overload> </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"> <Overload retVal="void" descr="Close window and unload OpenGL context"></Overload> </KeyWord> <KeyWord name="IsWindowReady" func="yes"> <Overload retVal="bool" descr="Check if window has been initialized successfully"></Overload> </KeyWord> - <KeyWord name="WindowShouldClose" func="yes"> - <Overload retVal="bool" descr="Check if KEY_ESCAPE pressed or Close icon pressed"></Overload> + <KeyWord name="IsWindowFullscreen" func="yes"> + <Overload retVal="bool" descr="Check if window is currently fullscreen"></Overload> + </KeyWord> + <KeyWord name="IsWindowHidden" func="yes"> + <Overload retVal="bool" descr="Check if window is currently hidden (only PLATFORM_DESKTOP)"></Overload> </KeyWord> <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 is currently minimized (only PLATFORM_DESKTOP)"></Overload> + </KeyWord> + <KeyWord name="IsWindowMaximized" func="yes"> + <Overload retVal="bool" descr="Check if window is currently maximized (only PLATFORM_DESKTOP)"></Overload> + </KeyWord> + <KeyWord name="IsWindowFocused" func="yes"> + <Overload retVal="bool" descr="Check if window is currently focused (only PLATFORM_DESKTOP)"></Overload> + </KeyWord> + <KeyWord name="IsWindowResized" func="yes"> + <Overload retVal="bool" descr="Check if window has been resized last frame"></Overload> + </KeyWord> + <KeyWord name="IsWindowState" func="yes"> + <Overload retVal="bool" descr="Check if one specific window flag is enabled"> + <Param name="unsigned int flag" /> + </Overload> + </KeyWord> + <KeyWord name="SetWindowState" func="yes"> + <Overload retVal="void" descr="Set window configuration state using flags"> + <Param name="unsigned int flags" /> + </Overload> + </KeyWord> + <KeyWord name="ClearWindowState" func="yes"> + <Overload retVal="void" descr="Clear window configuration state flags"> + <Param name="unsigned int flags" /> + </Overload> </KeyWord> <KeyWord name="ToggleFullscreen" func="yes"> - <Overload retVal="void" descr="Toggle fullscreen mode (only PLATFORM_DESKTOP)"></Overload> + <Overload retVal="void" descr="Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)"></Overload> + </KeyWord> + <KeyWord name="MaximizeWindow" func="yes"> + <Overload retVal="void" descr="Set window state: maximized, if resizable (only PLATFORM_DESKTOP)"></Overload> + </KeyWord> + <KeyWord name="MinimizeWindow" func="yes"> + <Overload retVal="void" descr="Set window state: minimized, if resizable (only PLATFORM_DESKTOP)"></Overload> + </KeyWord> + <KeyWord name="RestoreWindow" func="yes"> + <Overload retVal="void" descr="Set window state: not minimized/maximized (only PLATFORM_DESKTOP)"></Overload> </KeyWord> <KeyWord name="SetWindowIcon" func="yes"> <Overload retVal="void" descr="Set icon for window (only PLATFORM_DESKTOP)"> @@ -93,12 +139,86 @@ <Param name="int height" /> </Overload> </KeyWord> + <KeyWord name="GetWindowHandle" func="yes"> + <Overload retVal="void" descr="Get native window handle"></Overload> + </KeyWord> <KeyWord name="GetScreenWidth" func="yes"> <Overload retVal="int" descr="Get current screen width"></Overload> </KeyWord> <KeyWord name="GetScreenHeight" func="yes"> <Overload retVal="int" descr="Get current screen height"></Overload> </KeyWord> + <KeyWord name="GetMonitorCount" func="yes"> + <Overload retVal="int" descr="Get number of connected monitors"></Overload> + </KeyWord> + <KeyWord name="GetCurrentMonitor" func="yes"> + <Overload retVal="int" descr="Get current connected monitor"></Overload> + </KeyWord> + <KeyWord name="GetMonitorPosition" func="yes"> + <Overload retVal="Vector2" descr="Get specified monitor position"> + <Param name="int monitor" /> + </Overload> + </KeyWord> + <KeyWord name="GetMonitorWidth" func="yes"> + <Overload retVal="int" descr="Get specified monitor width (max available by monitor)"> + <Param name="int monitor" /> + </Overload> + </KeyWord> + <KeyWord name="GetMonitorHeight" func="yes"> + <Overload retVal="int" descr="Get specified monitor height (max available by monitor)"> + <Param name="int monitor" /> + </Overload> + </KeyWord> + <KeyWord name="GetMonitorPhysicalWidth" func="yes"> + <Overload retVal="int" descr="Get specified monitor physical width in millimetres"> + <Param name="int monitor" /> + </Overload> + </KeyWord> + <KeyWord name="GetMonitorPhysicalHeight" func="yes"> + <Overload retVal="int" descr="Get specified monitor physical height in millimetres"> + <Param name="int monitor" /> + </Overload> + </KeyWord> + <KeyWord name="GetMonitorRefreshRate" func="yes"> + <Overload retVal="int" descr="Get specified monitor refresh rate"> + <Param name="int monitor" /> + </Overload> + </KeyWord> + <KeyWord name="GetWindowPosition" func="yes"> + <Overload retVal="Vector2" descr="Get window position XY on monitor"></Overload> + </KeyWord> + <KeyWord name="GetWindowScaleDPI" func="yes"> + <Overload retVal="Vector2" descr="Get window scale DPI factor"></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="SetClipboardText" func="yes"> + <Overload retVal="void" descr="Set clipboard text content"> + <Param name="const char *text" /> + </Overload> + </KeyWord> + <KeyWord name="GetClipboardText" func="yes"> + <Overload retVal="const char" descr="Get clipboard text content"></Overload> + </KeyWord> + + <!-- Custom frame control functions --> + <!-- NOTE: Those functions are intended for advance users that want full control over the frame processing --> + <!-- By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timming + PollInputEvents() --> + <!-- To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL --> + <KeyWord name="SwapScreenBuffer" func="yes"> + <Overload retVal="void" descr="Swap back buffer with front buffer (screen drawing)"></Overload> + </KeyWord> + <KeyWord name="PollInputEvents" func="yes"> + <Overload retVal="void" descr="Register all input events"></Overload> + </KeyWord> + <KeyWord name="WaitTime" func="yes"> + <Overload retVal="void" descr="Wait for some milliseconds (halt program execution)"> + <Param name="float ms" /> + </Overload> + </KeyWord> <!-- Cursor-related functions --> <KeyWord name="ShowCursor" func="yes"> @@ -116,6 +236,9 @@ <KeyWord name="DisableCursor" func="yes"> <Overload retVal="void" descr="Disables cursor (lock cursor)"></Overload> </KeyWord> + <KeyWord name="IsCursorOnScreen" func="yes"> + <Overload retVal="bool" descr="Check if cursor is on the screen"></Overload> + </KeyWord> <!-- Drawing-related functions --> <KeyWord name="ClearBackground" func="yes"> @@ -130,7 +253,7 @@ <Overload retVal="void" descr="End canvas drawing and swap buffers (double buffering)"></Overload> </KeyWord> <KeyWord name="BeginMode2D" func="yes"> - <Overload retVal="void" descr="Initialize 2D mode with custom camera (2D)"> + <Overload retVal="void" descr="Begin 2D mode with custom camera (2D)"> <Param name="Camera2D camera" /> </Overload> </KeyWord> @@ -138,7 +261,7 @@ <Overload retVal="void" descr="Ends 2D mode with custom camera"></Overload> </KeyWord> <KeyWord name="BeginMode3D" func="yes"> - <Overload retVal="void" descr="Initializes 3D mode with custom camera (3D)"> + <Overload retVal="void" descr="Begin 3D mode with custom camera (3D)"> <Param name="Camera3D camera" /> </Overload> </KeyWord> @@ -146,30 +269,165 @@ <Overload retVal="void" descr="Ends 3D mode and returns to default 2D orthographic mode"></Overload> </KeyWord> <KeyWord name="BeginTextureMode" func="yes"> - <Overload retVal="void" descr="Initializes render texture for drawing"> + <Overload retVal="void" descr="Begin drawing to render texture"> <Param name="RenderTexture2D target" /> </Overload> </KeyWord> <KeyWord name="EndTextureMode" func="yes"> <Overload retVal="void" descr="Ends drawing to render texture"></Overload> </KeyWord> + <KeyWord name="BeginShaderMode" func="yes"> + <Overload retVal="void" descr="Begin custom shader drawing"> + <Param name="Shader shader" /> + </Overload> + </KeyWord> + <KeyWord name="EndShaderMode" func="yes"> + <Overload retVal="void" descr="End custom shader drawing (use default shader)"></Overload> + </KeyWord> + <KeyWord name="BeginBlendMode" func="yes"> + <Overload retVal="void" descr="Begin blending mode (alpha, additive, multiplied, subtract, custom)"> + <Param name="int mode" /> + </Overload> + </KeyWord> + <KeyWord name="EndBlendMode" func="yes"> + <Overload retVal="void" descr="End blending mode (reset to default: alpha blending)"></Overload> + </KeyWord> + <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> + </KeyWord> + <KeyWord name="EndScissorMode" func="yes"> + <Overload retVal="void" descr="End scissor mode"></Overload> + </KeyWord> + <KeyWord name="BeginVrStereoMode" func="yes"> + <Overload retVal="void" descr="Begin stereo rendering (requires VR simulator)"> + <Param name="VrStereoConfig config" /> + </Overload> + </KeyWord> + <KeyWord name="EndVrStereoMode" func="yes"> + <Overload retVal="void" descr="End stereo rendering (requires VR simulator)"></Overload> + </KeyWord> + + <!-- VR stereo config functions for VR simulator --> + <KeyWord name="LoadVrStereoConfig" func="yes"> + <Overload retVal="VrStereoConfig" descr="Load VR stereo config for VR simulator device parameters"> + <Param name="VrDeviceInfo device" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadVrStereoConfig" func="yes"> + <Overload retVal="void" descr="Unload VR stereo config"> + <Param name="VrStereoConfig config" /> + </Overload> + </KeyWord> + + <!-- Shader management functions --> + <!-- NOTE: Shader functionality is not available on OpenGL 1.1 --> + <KeyWord name="LoadShader" func="yes"> + <Overload retVal="Shader" descr="Load shader from files and bind default locations"> + <Param name="const char *vsFileName" /> + <Param name="const char *fsFileName" /> + </Overload> + </KeyWord> + <KeyWord name="LoadShaderFromMemory" func="yes"> + <Overload retVal="Shader" descr="Load shader from code strings and bind default locations"> + <Param name="const char *vsCode" /> + <Param name="const char *fsCode" /> + </Overload> + </KeyWord> + <KeyWord name="GetShaderLocation" func="yes"> + <Overload retVal="int" descr="Get shader uniform location"> + <Param name="Shader shader" /> + <Param name="const char *uniformName" /> + </Overload> + </KeyWord> + <KeyWord name="GetShaderLocationAttrib" func="yes"> + <Overload retVal="int" descr="Get shader attribute location"> + <Param name="Shader shader" /> + <Param name="const char *attribName" /> + </Overload> + </KeyWord> + <KeyWord name="SetShaderValue" func="yes"> + <Overload retVal="void" descr="Set shader uniform value"> + <Param name="Shader shader" /> + <Param name="int locIndex" /> + <Param name="const void *value" /> + <Param name="int uniformType" /> + </Overload> + </KeyWord> + <KeyWord name="SetShaderValueV" func="yes"> + <Overload retVal="void" descr="Set shader uniform value vector"> + <Param name="Shader shader" /> + <Param name="int locIndex" /> + <Param name="const void *value" /> + <Param name="int uniformType" /> + <Param name="int count" /> + </Overload> + </KeyWord> + <KeyWord name="SetShaderValueMatrix" func="yes"> + <Overload retVal="void" descr="Set shader uniform value (matrix 4x4)"> + <Param name="Shader shader" /> + <Param name="int locIndex" /> + <Param name="Matrix mat" /> + </Overload> + </KeyWord> + <KeyWord name="SetShaderValueTexture" func="yes"> + <Overload retVal="void" descr="Set shader uniform value for texture (sampler2d)"> + <Param name="Shader shader" /> + <Param name="int locIndex" /> + <Param name="Texture2D texture" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadShader" func="yes"> + <Overload retVal="void" descr="Unload shader from GPU memory (VRAM)"> + <Param name="Shader shader" /> + </Overload> + </KeyWord> <!-- Screen-space-related functions --> <KeyWord name="GetMouseRay" func="yes"> - <Overload retVal="Ray" descr="Returns a ray trace from mouse position"> + <Overload retVal="Ray" descr="Get a ray trace from mouse position"> <Param name="Vector2 mousePosition" /> <Param name="Camera camera" /> </Overload> </KeyWord> + <KeyWord name="GetCameraMatrix" func="yes"> + <Overload retVal="Matrix" descr="Get camera transform matrix (view matrix)"> + <Param name="Camera camera" /> + </Overload> + </KeyWord> + <KeyWord name="GetCameraMatrix2D" func="yes"> + <Overload retVal="Matrix" descr="Get camera 2d transform matrix"> + <Param name="Camera2D camera" /> + </Overload> + </KeyWord> <KeyWord name="GetWorldToScreen" func="yes"> - <Overload retVal="Vector2" descr="Returns the screen space position for a 3d world space position"> + <Overload retVal="Vector2" descr="Get the screen space position for a 3d world space position"> <Param name="Vector3 position" /> <Param name="Camera camera" /> </Overload> </KeyWord> - <KeyWord name="GetCameraMatrix" func="yes"> - <Overload retVal="Matrix" descr="Returns camera transform matrix (view matrix)"> + <KeyWord name="GetWorldToScreenEx" func="yes"> + <Overload retVal="Vector2" descr="Get size position for a 3d world space position"> + <Param name="Vector3 position" /> <Param name="Camera camera" /> + <Param name="int width" /> + <Param name="int height" /> + </Overload> + </KeyWord> + <KeyWord name="GetWorldToScreen2D" func="yes"> + <Overload retVal="Vector2" descr="Get the screen space position for a 2d camera world space position"> + <Param name="Vector2 position" /> + <Param name="Camera2D camera" /> + </Overload> + </KeyWord> + <KeyWord name="GetScreenToWorld2D" func="yes"> + <Overload retVal="Vector2" descr="Get the world space position for a 2d camera screen space position"> + <Param name="Vector2 position" /> + <Param name="Camera2D camera" /> </Overload> </KeyWord> @@ -180,85 +438,140 @@ </Overload> </KeyWord> <KeyWord name="GetFPS" func="yes"> - <Overload retVal="int" descr="Returns current FPS"></Overload> + <Overload retVal="int" descr="Get current FPS"></Overload> </KeyWord> <KeyWord name="GetFrameTime" func="yes"> - <Overload retVal="float" descr="Returns time in seconds for last frame drawn"></Overload> + <Overload retVal="float" descr="Get time in seconds for last frame drawn (delta time)"></Overload> </KeyWord> <KeyWord name="GetTime" func="yes"> - <Overload retVal="double" descr="Returns elapsed time in seconds since InitWindow()"></Overload> + <Overload retVal="double" descr="Get elapsed time in seconds since InitWindow()"></Overload> </KeyWord> - <!-- Color-related functions --> - <KeyWord name="ColorToInt" func="yes"> - <Overload retVal="int" descr="Returns hexadecimal value for a Color"> - <Param name="Color color" /> + <!-- Misc. functions --> + <KeyWord name="GetRandomValue" func="yes"> + <Overload retVal="int" descr="Get a random value between min and max (both included)"> + <Param name="int min" /> + <Param name="int max" /> </Overload> </KeyWord> - <KeyWord name="ColorNormalize" func="yes"> - <Overload retVal="Vector4" descr="Returns color normalized as float [0..1]"> - <Param name="Color color" /> + <KeyWord name="SetRandomSeed" func="yes"> + <Overload retVal="void" descr="Set the seed for the random number generator"> + <Param name="unsigned int seed" /> </Overload> </KeyWord> - <KeyWord name="ColorToHSV" func="yes"> - <Overload retVal="Vector3" descr="Returns HSV values for a Color"> - <Param name="Color color" /> + <KeyWord name="TakeScreenshot" func="yes"> + <Overload retVal="void" descr="Takes a screenshot of current screen (filename extension defines format)"> + <Param name="const char *fileName" /> </Overload> </KeyWord> - <KeyWord name="GetColor" func="yes"> - <Overload retVal="Color" descr="Returns a Color struct from hexadecimal value"> - <Param name="int hexValue" /> + <KeyWord name="SetConfigFlags" func="yes"> + <Overload retVal="void" descr="Setup init configuration flags (view FLAGS)"> + <Param name="unsigned int flags" /> </Overload> </KeyWord> - <KeyWord name="Fade" func="yes"> - <Overload retVal="Color" descr="Color fade-in or fade-out, alpha goes from 0.0f to 1.0f"> - <Param name="Color color" /> - <Param name="float alpha" /> + + <KeyWord name="TraceLog" func="yes"> + <Overload retVal="void" descr="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)"> + <Param name="int logLevel" /> + <Param name="const char *text" /> + <Param name="..." /> </Overload> </KeyWord> - - <!-- Misc. functions --> - <KeyWord name="ShowLogo" func="yes"> - <Overload retVal="void" descr="Activate raylib logo at startup (can be done with flags)"></Overload> + <KeyWord name="SetTraceLogLevel" func="yes"> + <Overload retVal="void" descr="Set the current threshold (minimum) log level"> + <Param name="int logLevel" /> + </Overload> </KeyWord> - <KeyWord name="SetConfigFlags" func="yes"> - <Overload retVal="void" descr="Setup window configuration flags (view FLAGS)"> - <Param name="unsigned char flags" /> + <KeyWord name="MemAlloc" func="yes"> + <Overload retVal="void" descr="Internal memory allocator"> + <Param name="int size" /> </Overload> </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="MemRealloc" func="yes"> + <Overload retVal="void" descr="Internal memory reallocator"></Overload> + </KeyWord> + <KeyWord name="MemFree" func="yes"> + <Overload retVal="void" descr="Internal memory free"></Overload> + </KeyWord> + + <!-- Set custom callbacks --> + <!-- WARNING: Callbacks setup is intended for advance users --> + <KeyWord name="SetTraceLogCallback" func="yes"> + <Overload retVal="void" descr="Set custom trace log"> + <Param name="TraceLogCallback callback" /> </Overload> </KeyWord> - <KeyWord name="TraceLog" func="yes"> - <Overload retVal="void" descr="Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG)"> - <Param name="int logType" /> - <Param name="const char *text" /> - <Param name="..." /> + <KeyWord name="SetLoadFileDataCallback" func="yes"> + <Overload retVal="void" descr="Set custom file binary data loader"> + <Param name="LoadFileDataCallback callback" /> </Overload> </KeyWord> - <KeyWord name="TakeScreenshot" func="yes"> - <Overload retVal="void" descr="Takes a screenshot of current screen (saved a .png)"> - <Param name="const char *fileName" /> + <KeyWord name="SetSaveFileDataCallback" func="yes"> + <Overload retVal="void" descr="Set custom file binary data saver"> + <Param name="SaveFileDataCallback callback" /> </Overload> </KeyWord> - <KeyWord name="GetRandomValue" func="yes"> - <Overload retVal="int" descr="Returns a random value between min and max (both included)"> - <Param name="int min" /> - <Param name="int max" /> + <KeyWord name="SetLoadFileTextCallback" func="yes"> + <Overload retVal="void" descr="Set custom file text data loader"> + <Param name="LoadFileTextCallback callback" /> + </Overload> + </KeyWord> + <KeyWord name="SetSaveFileTextCallback" func="yes"> + <Overload retVal="void" descr="Set custom file text data saver"> + <Param name="SaveFileTextCallback callback" /> </Overload> </KeyWord> <!-- Files management functions --> + <KeyWord name="char *LoadFileData" func="yes"> + <Overload retVal="unsigned" descr="Load file data as byte array (read)"> + <Param name="const char *fileName" /> + <Param name="unsigned int *bytesRead" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadFileData" func="yes"> + <Overload retVal="void" descr="Unload file data allocated by LoadFileData()"> + <Param name="unsigned char *data" /> + </Overload> + </KeyWord> + <KeyWord name="SaveFileData" func="yes"> + <Overload retVal="bool" descr="Save data to file from byte array (write), returns true on success"> + <Param name="const char *fileName" /></Overload> + </KeyWord> + <KeyWord name="LoadFileText" func="yes"> + <Overload retVal="char" descr="Load text data from file (read), returns a '\0' terminated string"> + <Param name="const char *fileName" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadFileText" func="yes"> + <Overload retVal="void" descr="Unload file text data allocated by LoadFileText()"> + <Param name="char *text" /> + </Overload> + </KeyWord> + <KeyWord name="SaveFileText" func="yes"> + <Overload retVal="bool" descr="Save text data to file (write), string must be '\0' terminated, returns true on success"> + <Param name="const char *fileName" /> + <Param name="char *text" /> + </Overload> + </KeyWord> + <KeyWord name="FileExists" func="yes"> + <Overload retVal="bool" descr="Check if file exists"> + <Param name="const char *fileName" /> + </Overload> + </KeyWord> + <KeyWord name="DirectoryExists" func="yes"> + <Overload retVal="bool" descr="Check if a directory path exists"> + <Param name="const char *dirPath" /> + </Overload> + </KeyWord> <KeyWord name="IsFileExtension" func="yes"> - <Overload retVal="bool" descr="Check file extension"> + <Overload retVal="bool" descr="Check file extension (including point: .png, .wav)"> <Param name="const char *fileName" /> <Param name="const char *ext" /> </Overload> </KeyWord> - <KeyWord name="GetExtension" func="yes"> - <Overload retVal="const char" descr="Get pointer to extension for a filename string"> + <KeyWord name="GetFileExtension" func="yes"> + <Overload retVal="const char" descr="Get pointer to extension for a filename string (includes dot: '.png')"> <Param name="const char *fileName" /> </Overload> </KeyWord> @@ -267,16 +580,35 @@ <Param name="const char *filePath" /> </Overload> </KeyWord> + <KeyWord name="GetFileNameWithoutExt" func="yes"> + <Overload retVal="const char" descr="Get filename string without extension (uses static string)"> + <Param name="const char *filePath" /> + </Overload> + </KeyWord> <KeyWord name="GetDirectoryPath" func="yes"> - <Overload retVal="const char" descr="Get full path for a given fileName (uses static string)"> - <Param name="const char *fileName" /> + <Overload retVal="const char" descr="Get full path for a given fileName with path (uses static string)"> + <Param name="const char *filePath" /> + </Overload> + </KeyWord> + <KeyWord name="GetPrevDirectoryPath" func="yes"> + <Overload retVal="const char" descr="Get previous directory path for a given path (uses static string)"> + <Param name="const char *dirPath" /> </Overload> </KeyWord> <KeyWord name="GetWorkingDirectory" func="yes"> <Overload retVal="const char" descr="Get current working directory (uses static string)"></Overload> </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"> - <Overload retVal="bool" descr="Change working directory, returns true if success"> + <Overload retVal="bool" descr="Change working directory, return true on success"> <Param name="const char *dir" /> </Overload> </KeyWord> @@ -284,24 +616,64 @@ <Overload retVal="bool" descr="Check if a file has been dropped into window"></Overload> </KeyWord> <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" /> </Overload> </KeyWord> <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> + + <!-- Compression/Encoding functionality --> + <KeyWord name="char *CompressData" func="yes"> + <Overload retVal="unsigned" descr="Compress data (DEFLATE algorithm)"> + <Param name="unsigned char *data" /> + <Param name="int dataLength" /> + <Param name="int *compDataLength" /> + </Overload> + </KeyWord> + <KeyWord name="char *DecompressData" func="yes"> + <Overload retVal="unsigned" descr="Decompress data (DEFLATE algorithm)"> + <Param name="unsigned char *compData" /> + <Param name="int compDataLength" /> + <Param name="int *dataLength" /> + </Overload> + </KeyWord> + <KeyWord name="EncodeDataBase64" func="yes"> + <Overload retVal="char" descr="Encode data to Base64 string"> + <Param name="const unsigned char" /> + <Param name="int dataLength" /> + <Param name="int *outputLength" /> + </Overload> + </KeyWord> + <KeyWord name="char *DecodeDataBase64" func="yes"> + <Overload retVal="unsigned" descr="Decode Base64 string data"> + <Param name="unsigned char *data" /> + <Param name="int *outputLength" /> + </Overload> </KeyWord> <!-- Persistent storage management --> - <KeyWord name="StorageSaveValue" func="yes"> - <Overload retVal="void" descr="Save integer value to storage file (to defined position)"> - <Param name="int position" /> + <KeyWord name="SaveStorageValue" func="yes"> + <Overload retVal="bool" descr="Save integer value to storage file (to defined position), returns true on success"> + <Param name="unsigned int position" /> <Param name="int value" /> </Overload> </KeyWord> - <KeyWord name="StorageLoadValue" func="yes"> + <KeyWord name="LoadStorageValue" func="yes"> <Overload retVal="int" descr="Load integer value from storage file (from defined position)"> - <Param name="int position" /> + <Param name="unsigned int position" /> + </Overload> + </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> @@ -311,71 +683,68 @@ <!-- Input-related functions: keyboard --> <KeyWord name="IsKeyPressed" func="yes"> - <Overload retVal="bool" descr="Detect if a key has been pressed once"> + <Overload retVal="bool" descr="Check if a key has been pressed once"> <Param name="int key" /> </Overload> </KeyWord> <KeyWord name="IsKeyDown" func="yes"> - <Overload retVal="bool" descr="Detect if a key is being pressed"> + <Overload retVal="bool" descr="Check if a key is being pressed"> <Param name="int key" /> </Overload> </KeyWord> <KeyWord name="IsKeyReleased" func="yes"> - <Overload retVal="bool" descr="Detect if a key has been released once"> + <Overload retVal="bool" descr="Check if a key has been released once"> <Param name="int key" /> </Overload> </KeyWord> <KeyWord name="IsKeyUp" func="yes"> - <Overload retVal="bool" descr="Detect if a key is NOT being pressed"> + <Overload retVal="bool" descr="Check if a key is NOT being pressed"> <Param name="int key" /> </Overload> </KeyWord> - <KeyWord name="GetKeyPressed" func="yes"> - <Overload retVal="int" descr="Get latest key pressed"></Overload> - </KeyWord> <KeyWord name="SetExitKey" func="yes"> <Overload retVal="void" descr="Set a custom key to exit program (default is ESC)"> <Param name="int key" /> </Overload> </KeyWord> + <KeyWord name="GetKeyPressed" func="yes"> + <Overload retVal="int" descr="Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty"></Overload> + </KeyWord> + <KeyWord name="GetCharPressed" func="yes"> + <Overload retVal="int" descr="Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty"></Overload> + </KeyWord> <!-- Input-related functions: gamepads --> <KeyWord name="IsGamepadAvailable" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad is available"> - <Param name="int gamepad" /> - </Overload> - </KeyWord> - <KeyWord name="IsGamepadName" func="yes"> - <Overload retVal="bool" descr="Check gamepad name (if available)"> + <Overload retVal="bool" descr="Check if a gamepad is available"> <Param name="int gamepad" /> - <Param name="const char *name" /> </Overload> </KeyWord> <KeyWord name="GetGamepadName" func="yes"> - <Overload retVal="const char" descr="Return gamepad internal name id"> + <Overload retVal="const char" descr="Get gamepad internal name id"> <Param name="int gamepad" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonPressed" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button has been pressed once"> + <Overload retVal="bool" descr="Check if a gamepad button has been pressed once"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonDown" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button is being pressed"> + <Overload retVal="bool" descr="Check if a gamepad button is being pressed"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonReleased" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button has been released once"> + <Overload retVal="bool" descr="Check if a gamepad button has been released once"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonUp" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button is NOT being pressed"> + <Overload retVal="bool" descr="Check if a gamepad button is NOT being pressed"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> @@ -384,80 +753,109 @@ <Overload retVal="int" descr="Get the last gamepad button pressed"></Overload> </KeyWord> <KeyWord name="GetGamepadAxisCount" func="yes"> - <Overload retVal="int" descr="Return gamepad axis count for a gamepad"> + <Overload retVal="int" descr="Get gamepad axis count for a gamepad"> <Param name="int gamepad" /> </Overload> </KeyWord> <KeyWord name="GetGamepadAxisMovement" func="yes"> - <Overload retVal="float" descr="Return axis movement value for a gamepad axis"> + <Overload retVal="float" descr="Get axis movement value for a gamepad axis"> <Param name="int gamepad" /> <Param name="int axis" /> </Overload> </KeyWord> + <KeyWord name="SetGamepadMappings" func="yes"> + <Overload retVal="int" descr="Set internal gamepad mappings (SDL_GameControllerDB)"> + <Param name="const char *mappings" /> + </Overload> + </KeyWord> <!-- Input-related functions: mouse --> <KeyWord name="IsMouseButtonPressed" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button has been pressed once"> + <Overload retVal="bool" descr="Check if a mouse button has been pressed once"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsMouseButtonDown" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button is being pressed"> + <Overload retVal="bool" descr="Check if a mouse button is being pressed"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsMouseButtonReleased" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button has been released once"> + <Overload retVal="bool" descr="Check if a mouse button has been released once"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsMouseButtonUp" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button is NOT being pressed"> + <Overload retVal="bool" descr="Check if a mouse button is NOT being pressed"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="GetMouseX" func="yes"> - <Overload retVal="int" descr="Returns mouse position X"></Overload> + <Overload retVal="int" descr="Get mouse position X"></Overload> </KeyWord> <KeyWord name="GetMouseY" func="yes"> - <Overload retVal="int" descr="Returns mouse position Y"></Overload> + <Overload retVal="int" descr="Get mouse position Y"></Overload> </KeyWord> <KeyWord name="GetMousePosition" func="yes"> - <Overload retVal="Vector2" descr="Returns mouse position XY"></Overload> + <Overload retVal="Vector2" descr="Get mouse position XY"></Overload> + </KeyWord> + <KeyWord name="GetMouseDelta" func="yes"> + <Overload retVal="Vector2" descr="Get mouse delta between frames"></Overload> </KeyWord> <KeyWord name="SetMousePosition" func="yes"> <Overload retVal="void" descr="Set mouse position XY"> - <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> </KeyWord> <KeyWord name="SetMouseScale" func="yes"> <Overload retVal="void" descr="Set mouse scaling"> - <Param name="float scale" /> + <Param name="float scaleX" /> + <Param name="float scaleY" /> </Overload> </KeyWord> <KeyWord name="GetMouseWheelMove" func="yes"> - <Overload retVal="float" descr="Returns mouse wheel movement Y"></Overload> + <Overload retVal="float" descr="Get mouse wheel movement Y"></Overload> + </KeyWord> + <KeyWord name="SetMouseCursor" func="yes"> + <Overload retVal="void" descr="Set mouse cursor"> + <Param name="int cursor" /> + </Overload> </KeyWord> <!-- Input-related functions: touch --> <KeyWord name="GetTouchX" func="yes"> - <Overload retVal="int" descr="Returns touch position X for touch point 0 (relative to screen size)"></Overload> + <Overload retVal="int" descr="Get touch position X for touch point 0 (relative to screen size)"></Overload> </KeyWord> <KeyWord name="GetTouchY" func="yes"> - <Overload retVal="int" descr="Returns touch position Y for touch point 0 (relative to screen size)"></Overload> + <Overload retVal="int" descr="Get touch position Y for touch point 0 (relative to screen size)"></Overload> </KeyWord> <KeyWord name="GetTouchPosition" func="yes"> - <Overload retVal="Vector2" descr="Returns touch position XY for a touch point index (relative to screen size)"> + <Overload retVal="Vector2" descr="Get touch position XY for a touch point index (relative to screen size)"> + <Param name="int index" /> + </Overload> + </KeyWord> + <KeyWord name="GetTouchPointId" func="yes"> + <Overload retVal="int" descr="Get touch point identifier for given index"> <Param name="int index" /> </Overload> </KeyWord> + <KeyWord name="GetTouchPointCount" func="yes"> + <Overload retVal="int" descr="Get number of touch points"></Overload> + </KeyWord> <!-------------------------------------------------------------------------------------- --> - <!-- Gestures and Touch Handling Functions (Module: gestures) --> + <!-- Gestures and Touch Handling Functions (Module: rgestures) --> <!-------------------------------------------------------------------------------------- --> <KeyWord name="SetGesturesEnabled" func="yes"> <Overload retVal="void" descr="Enable a set of gestures using flags"> - <Param name="unsigned int gestureFlags" /> + <Param name="unsigned int flags" /> </Overload> </KeyWord> <KeyWord name="IsGestureDetected" func="yes"> @@ -468,9 +866,6 @@ <KeyWord name="GetGestureDetected" func="yes"> <Overload retVal="int" descr="Get latest detected gesture"></Overload> </KeyWord> - <KeyWord name="GetTouchPointsCount" func="yes"> - <Overload retVal="int" descr="Get touch points count"></Overload> - </KeyWord> <KeyWord name="GetGestureHoldDuration" func="yes"> <Overload retVal="float" descr="Get gesture hold time in milliseconds"></Overload> </KeyWord> @@ -488,7 +883,7 @@ </KeyWord> <!-------------------------------------------------------------------------------------- --> - <!-- Camera System Functions (Module: camera) --> + <!-- Camera System Functions (Module: rcamera) --> <!-------------------------------------------------------------------------------------- --> <KeyWord name="SetCameraMode" func="yes"> <Overload retVal="void" descr="Set camera mode (multiple camera modes available)"> @@ -504,33 +899,42 @@ <KeyWord name="SetCameraPanControl" func="yes"> <Overload retVal="void" descr="Set camera pan key to combine with mouse movement (free camera)"> - <Param name="int panKey" /> + <Param name="int keyPan" /> </Overload> </KeyWord> <KeyWord name="SetCameraAltControl" func="yes"> <Overload retVal="void" descr="Set camera alt key to combine with mouse movement (free camera)"> - <Param name="int altKey" /> + <Param name="int keyAlt" /> </Overload> </KeyWord> <KeyWord name="SetCameraSmoothZoomControl" func="yes"> <Overload retVal="void" descr="Set camera smooth zoom key to combine with mouse (free camera)"> - <Param name="int szKey" /> + <Param name="int keySmoothZoom" /> </Overload> </KeyWord> <KeyWord name="SetCameraMoveControls" func="yes"> <Overload retVal="void" descr="Set camera move controls (1st person and 3rd person cameras)"> - <Param name="int frontKey" /> - <Param name="int backKey" /> - <Param name="int rightKey" /> - <Param name="int leftKey" /> - <Param name="int upKey" /> - <Param name="int downKey" /> + <Param name="int keyFront" /> + <Param name="int keyBack" /> + <Param name="int keyRight" /> + <Param name="int keyLeft" /> + <Param name="int keyUp" /> + <Param name="int keyDown" /> </Overload> </KeyWord> <!-------------------------------------------------------------------------------------- --> <!-- Basic Shapes Drawing Functions (Module: shapes) --> <!-------------------------------------------------------------------------------------- --> + <!-- Set texture and rectangle to be used on shapes drawing --> + <!-- NOTE: It can be useful when using basic shapes and one single font, --> + <!-- defining a font char white rectangle would allow drawing everything in a single draw call --> + <KeyWord name="SetShapesTexture" func="yes"> + <Overload retVal="void" descr="Set texture and rectangle to be used on shapes drawing"> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + </Overload> + </KeyWord> <!-- Basic shapes drawing functions --> <KeyWord name="DrawPixel" func="yes"> @@ -578,6 +982,32 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawLineBezierQuad" func="yes"> + <Overload retVal="void" descr="Draw line using quadratic bezier curves with a control point"> + <Param name="Vector2 startPos" /> + <Param name="Vector2 endPos" /> + <Param name="Vector2 controlPos" /> + <Param name="float thick" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawLineBezierCubic" func="yes"> + <Overload retVal="void" descr="Draw line using cubic bezier curves with 2 control points"> + <Param name="Vector2 startPos" /> + <Param name="Vector2 endPos" /> + <Param name="Vector2 startControlPos" /> + <Param name="Vector2 endControlPos" /> + <Param name="float thick" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawLineStrip" func="yes"> + <Overload retVal="void" descr="Draw lines sequence"> + <Param name="Vector2 *points" /> + <Param name="int pointCount" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawCircle" func="yes"> <Overload retVal="void" descr="Draw a color-filled circle"> <Param name="int centerX" /> @@ -586,6 +1016,26 @@ <Param name="Color color" /> </Overload> </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="float startAngle" /> + <Param name="float 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="float startAngle" /> + <Param name="float endAngle" /> + <Param name="int segments" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawCircleGradient" func="yes"> <Overload retVal="void" descr="Draw a gradient-filled circle"> <Param name="int centerX" /> @@ -610,6 +1060,46 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawEllipse" func="yes"> + <Overload retVal="void" descr="Draw ellipse"> + <Param name="int centerX" /> + <Param name="int centerY" /> + <Param name="float radiusH" /> + <Param name="float radiusV" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawEllipseLines" func="yes"> + <Overload retVal="void" descr="Draw ellipse outline"> + <Param name="int centerX" /> + <Param name="int centerY" /> + <Param name="float radiusH" /> + <Param name="float radiusV" /> + <Param name="Color color" /> + </Overload> + </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="float startAngle" /> + <Param name="float 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="float startAngle" /> + <Param name="float endAngle" /> + <Param name="int segments" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawRectangle" func="yes"> <Overload retVal="void" descr="Draw a color-filled rectangle"> <Param name="int posX" /> @@ -681,12 +1171,29 @@ <KeyWord name="DrawRectangleLinesEx" func="yes"> <Overload retVal="void" descr="Draw rectangle outline with extended parameters"> <Param name="Rectangle rec" /> - <Param name="int lineThick" /> + <Param name="float lineThick" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <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="float lineThick" /> <Param name="Color color" /> </Overload> </KeyWord> <KeyWord name="DrawTriangle" func="yes"> - <Overload retVal="void" descr="Draw a color-filled triangle"> + <Overload retVal="void" descr="Draw a color-filled triangle (vertex in counter-clockwise order!)"> <Param name="Vector2 v1" /> <Param name="Vector2 v2" /> <Param name="Vector2 v3" /> @@ -694,13 +1201,27 @@ </Overload> </KeyWord> <KeyWord name="DrawTriangleLines" func="yes"> - <Overload retVal="void" descr="Draw triangle outline"> + <Overload retVal="void" descr="Draw triangle outline (vertex in counter-clockwise order!)"> <Param name="Vector2 v1" /> <Param name="Vector2 v2" /> <Param name="Vector2 v3" /> <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawTriangleFan" func="yes"> + <Overload retVal="void" descr="Draw a triangle fan defined by points (first vertex is the center)"> + <Param name="Vector2 *points" /> + <Param name="int pointCount" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawTriangleStrip" func="yes"> + <Overload retVal="void" descr="Draw a triangle strip defined by points"> + <Param name="Vector2 *points" /> + <Param name="int pointCount" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawPoly" func="yes"> <Overload retVal="void" descr="Draw a regular polygon (Vector version)"> <Param name="Vector2 center" /> @@ -710,17 +1231,22 @@ <Param name="Color color" /> </Overload> </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" /> + <KeyWord name="DrawPolyLines" func="yes"> + <Overload retVal="void" descr="Draw a polygon outline of n sides"> + <Param name="Vector2 center" /> + <Param name="int sides" /> + <Param name="float radius" /> + <Param name="float rotation" /> <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" /> + <KeyWord name="DrawPolyLinesEx" func="yes"> + <Overload retVal="void" descr="Draw a polygon outline of n sides with extended parameters"> + <Param name="Vector2 center" /> + <Param name="int sides" /> + <Param name="float radius" /> + <Param name="float rotation" /> + <Param name="float lineThick" /> <Param name="Color color" /> </Overload> </KeyWord> @@ -747,12 +1273,6 @@ <Param name="Rectangle rec" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRec" func="yes"> - <Overload retVal="Rectangle" descr="Get collision rectangle for two rectangles collision"> - <Param name="Rectangle rec1" /> - <Param name="Rectangle rec2" /> - </Overload> - </KeyWord> <KeyWord name="CheckCollisionPointRec" func="yes"> <Overload retVal="bool" descr="Check if point is inside rectangle"> <Param name="Vector2 point" /> @@ -774,27 +1294,41 @@ <Param name="Vector2 p3" /> </Overload> </KeyWord> + <KeyWord name="CheckCollisionLines" func="yes"> + <Overload retVal="bool" descr="Check the collision between two lines defined by two points each, returns collision point by reference"> + <Param name="Vector2 startPos1" /> + <Param name="Vector2 endPos1" /> + <Param name="Vector2 startPos2" /> + <Param name="Vector2 endPos2" /> + <Param name="Vector2 *collisionPoint" /> + </Overload> + </KeyWord> + <KeyWord name="CheckCollisionPointLine" func="yes"> + <Overload retVal="bool" descr="Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]"> + <Param name="Vector2 point" /> + <Param name="Vector2 p1" /> + <Param name="Vector2 p2" /> + <Param name="int threshold" /> + </Overload> + </KeyWord> + <KeyWord name="GetCollisionRec" func="yes"> + <Overload retVal="Rectangle" descr="Get collision rectangle for two rectangles collision"> + <Param name="Rectangle rec1" /> + <Param name="Rectangle rec2" /> + </Overload> + </KeyWord> <!-------------------------------------------------------------------------------------- --> <!-- Texture Loading and Drawing Functions (Module: textures) --> <!-------------------------------------------------------------------------------------- --> - <!-- Image/Texture2D data loading/unloading/saving functions --> + <!-- Image loading functions --> + <!-- NOTE: This functions do not require GPU access --> <KeyWord name="LoadImage" func="yes"> <Overload retVal="Image" descr="Load image from file into CPU memory (RAM)"> <Param name="const char *fileName" /> </Overload> </KeyWord> - <KeyWord name="LoadImageEx" func="yes"> - <Overload retVal="Image" descr="Load image from Color array data (RGBA - 32bit)"> - <Param name="Color *pixels" /> - <Param name="int width" /> - <Param name="int height" /> - </Overload> - </KeyWord> - <KeyWord name="LoadImagePro" func="yes"> - <Overload retVal="Image" descr="Load image from raw data with parameters"></Overload> - </KeyWord> <KeyWord name="LoadImageRaw" func="yes"> <Overload retVal="Image" descr="Load image from RAW file data"> <Param name="const char *fileName" /> @@ -804,69 +1338,100 @@ <Param name="int headerSize" /> </Overload> </KeyWord> - <KeyWord name="ExportImage" func="yes"> - <Overload retVal="void" descr="Export image as a PNG file"> + <KeyWord name="LoadImageAnim" func="yes"> + <Overload retVal="Image" descr="Load image sequence from file (frames appended to image.data)"> <Param name="const char *fileName" /> - <Param name="Image image" /> + <Param name="int *frames" /> </Overload> </KeyWord> - <KeyWord name="LoadTexture" func="yes"> - <Overload retVal="Texture2D" descr="Load texture from file into GPU memory (VRAM)"> - <Param name="const char *fileName" /> + <KeyWord name="LoadImageFromMemory" func="yes"> + <Overload retVal="Image" descr="Load image from memory buffer, fileType refers to extension: i.e. '.png'"> + <Param name="const char *fileType" /> + <Param name="const unsigned char" /> + <Param name="int dataSize" /> </Overload> </KeyWord> - <KeyWord name="LoadTextureFromImage" func="yes"> - <Overload retVal="Texture2D" descr="Load texture from image data"> - <Param name="Image image" /> + <KeyWord name="LoadImageFromTexture" func="yes"> + <Overload retVal="Image" descr="Load image from GPU texture data"> + <Param name="Texture2D texture" /> </Overload> </KeyWord> - <KeyWord name="LoadRenderTexture" func="yes"> - <Overload retVal="RenderTexture2D" descr="Load texture for rendering (framebuffer)"> - <Param name="int width" /> - <Param name="int height" /> - </Overload> + <KeyWord name="LoadImageFromScreen" func="yes"> + <Overload retVal="Image" descr="Load image from screen buffer and (screenshot)"></Overload> </KeyWord> <KeyWord name="UnloadImage" func="yes"> <Overload retVal="void" descr="Unload image from CPU memory (RAM)"> <Param name="Image image" /> </Overload> </KeyWord> - <KeyWord name="UnloadTexture" func="yes"> - <Overload retVal="void" descr="Unload texture from GPU memory (VRAM)"> - <Param name="Texture2D texture" /> + <KeyWord name="ExportImage" func="yes"> + <Overload retVal="bool" descr="Export image data to file, returns true on success"> + <Param name="Image image" /> + <Param name="const char *fileName" /> </Overload> </KeyWord> - <KeyWord name="UnloadRenderTexture" func="yes"> - <Overload retVal="void" descr="Unload render texture from GPU memory (VRAM)"> - <Param name="RenderTexture2D target" /> + <KeyWord name="ExportImageAsCode" func="yes"> + <Overload retVal="bool" descr="Export image as code file defining an array of bytes, returns true on success"> + <Param name="Image image" /> + <Param name="const char *fileName" /> </Overload> </KeyWord> - <KeyWord name="GetImageData" func="yes"> - <Overload retVal="Color" descr="Get pixel data from image as a Color struct array"> - <Param name="Image image" /> + + <!-- Image generation functions --> + <KeyWord name="GenImageColor" func="yes"> + <Overload retVal="Image" descr="Generate image: plain color"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="GetImageDataNormalized" func="yes"> - <Overload retVal="Vector4" descr="Get pixel data from image as Vector4 array (float normalized)"> - <Param name="Image image" /> + <KeyWord name="GenImageGradientV" func="yes"> + <Overload retVal="Image" descr="Generate image: vertical gradient"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="Color top" /> + <Param name="Color bottom" /> </Overload> </KeyWord> - <KeyWord name="GetPixelDataSize" func="yes"> - <Overload retVal="int" descr="Get pixel data size in bytes (image or texture)"> + <KeyWord name="GenImageGradientH" func="yes"> + <Overload retVal="Image" descr="Generate image: horizontal gradient"> <Param name="int width" /> <Param name="int height" /> - <Param name="int format" /> + <Param name="Color left" /> + <Param name="Color right" /> </Overload> </KeyWord> - <KeyWord name="GetTextureData" func="yes"> - <Overload retVal="Image" descr="Get pixel data from GPU texture and return an Image"> - <Param name="Texture2D texture" /> + <KeyWord name="GenImageGradientRadial" func="yes"> + <Overload retVal="Image" descr="Generate image: radial gradient"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="float density" /> + <Param name="Color inner" /> + <Param name="Color outer" /> </Overload> </KeyWord> - <KeyWord name="UpdateTexture" func="yes"> - <Overload retVal="void" descr="Update GPU texture with new data"> - <Param name="Texture2D texture" /> - <Param name="const void *pixels" /> + <KeyWord name="GenImageChecked" func="yes"> + <Overload retVal="Image" descr="Generate image: checked"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="int checksX" /> + <Param name="int checksY" /> + <Param name="Color col1" /> + <Param name="Color col2" /> + </Overload> + </KeyWord> + <KeyWord name="GenImageWhiteNoise" func="yes"> + <Overload retVal="Image" descr="Generate image: white noise"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="float factor" /> + </Overload> + </KeyWord> + <KeyWord name="GenImageCellular" func="yes"> + <Overload retVal="Image" descr="Generate image: cellular algorithm, bigger tileSize means bigger cells"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="int tileSize" /> </Overload> </KeyWord> @@ -876,10 +1441,26 @@ <Param name="Image image" /> </Overload> </KeyWord> - <KeyWord name="ImageToPOT" func="yes"> - <Overload retVal="void" descr="Convert image to POT (power-of-two)"> - <Param name="Image *image" /> - <Param name="Color fillColor" /> + <KeyWord name="ImageFromImage" func="yes"> + <Overload retVal="Image" descr="Create an image from another image piece"> + <Param name="Image image" /> + <Param name="Rectangle rec" /> + </Overload> + </KeyWord> + <KeyWord name="ImageText" func="yes"> + <Overload retVal="Image" descr="Create an image from text (default font)"> + <Param name="const char *text" /> + <Param name="int fontSize" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="ImageTextEx" func="yes"> + <Overload retVal="Image" descr="Create an image from text (custom sprite font)"> + <Param name="Font font" /> + <Param name="const char *text" /> + <Param name="float fontSize" /> + <Param name="float spacing" /> + <Param name="Color tint" /> </Overload> </KeyWord> <KeyWord name="ImageFormat" func="yes"> @@ -888,17 +1469,16 @@ <Param name="int newFormat" /> </Overload> </KeyWord> - <KeyWord name="ImageAlphaMask" func="yes"> - <Overload retVal="void" descr="Apply alpha mask to image"> + <KeyWord name="ImageToPOT" func="yes"> + <Overload retVal="void" descr="Convert image to POT (power-of-two)"> <Param name="Image *image" /> - <Param name="Image alphaMask" /> + <Param name="Color fill" /> </Overload> </KeyWord> - <KeyWord name="ImageAlphaClear" func="yes"> - <Overload retVal="void" descr="Clear alpha channel to desired color"> + <KeyWord name="ImageCrop" func="yes"> + <Overload retVal="void" descr="Crop an image to a defined rectangle"> <Param name="Image *image" /> - <Param name="Color color" /> - <Param name="float threshold" /> + <Param name="Rectangle crop" /> </Overload> </KeyWord> <KeyWord name="ImageAlphaCrop" func="yes"> @@ -907,26 +1487,33 @@ <Param name="float threshold" /> </Overload> </KeyWord> - <KeyWord name="ImageAlphaPremultiply" func="yes"> - <Overload retVal="void" descr="Premultiply alpha channel"> + <KeyWord name="ImageAlphaClear" func="yes"> + <Overload retVal="void" descr="Clear alpha channel to desired color"> <Param name="Image *image" /> + <Param name="Color color" /> + <Param name="float threshold" /> </Overload> </KeyWord> - <KeyWord name="ImageCrop" func="yes"> - <Overload retVal="void" descr="Crop an image to a defined rectangle"> + <KeyWord name="ImageAlphaMask" func="yes"> + <Overload retVal="void" descr="Apply alpha mask to image"> + <Param name="Image *image" /> + <Param name="Image alphaMask" /> + </Overload> + </KeyWord> + <KeyWord name="ImageAlphaPremultiply" func="yes"> + <Overload retVal="void" descr="Premultiply alpha channel"> <Param name="Image *image" /> - <Param name="Rectangle crop" /> </Overload> </KeyWord> <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="int newWidth" /> <Param name="int newHeight" /> </Overload> </KeyWord> <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="int newWidth" /> <Param name="int newHeight" /> @@ -939,11 +1526,11 @@ <Param name="int newHeight" /> <Param name="int offsetX" /> <Param name="int offsetY" /> - <Param name="Color color" /> + <Param name="Color fill" /> </Overload> </KeyWord> <KeyWord name="ImageMipmaps" func="yes"> - <Overload retVal="void" descr="Generate all mipmap levels for a provided image"> + <Overload retVal="void" descr="Compute all mipmap levels for a provided image"> <Param name="Image *image" /> </Overload> </KeyWord> @@ -956,124 +1543,203 @@ <Param name="int aBpp" /> </Overload> </KeyWord> - <KeyWord name="ImageText" func="yes"> - <Overload retVal="Image" descr="Create an image from text (default font)"> - <Param name="const char *text" /> - <Param name="int fontSize" /> + <KeyWord name="ImageFlipVertical" func="yes"> + <Overload retVal="void" descr="Flip image vertically"> + <Param name="Image *image" /> + </Overload> + </KeyWord> + <KeyWord name="ImageFlipHorizontal" func="yes"> + <Overload retVal="void" descr="Flip image horizontally"> + <Param name="Image *image" /> + </Overload> + </KeyWord> + <KeyWord name="ImageRotateCW" func="yes"> + <Overload retVal="void" descr="Rotate image clockwise 90deg"> + <Param name="Image *image" /> + </Overload> + </KeyWord> + <KeyWord name="ImageRotateCCW" func="yes"> + <Overload retVal="void" descr="Rotate image counter-clockwise 90deg"> + <Param name="Image *image" /> + </Overload> + </KeyWord> + <KeyWord name="ImageColorTint" func="yes"> + <Overload retVal="void" descr="Modify image color: tint"> + <Param name="Image *image" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageTextEx" func="yes"> - <Overload retVal="Image" descr="Create an image from text (custom sprite font)"> - <Param name="Font font" /> - <Param name="const char *text" /> - <Param name="float fontSize" /> - <Param name="float spacing" /> - <Param name="Color tint" /> + <KeyWord name="ImageColorInvert" func="yes"> + <Overload retVal="void" descr="Modify image color: invert"> + <Param name="Image *image" /> </Overload> </KeyWord> - <KeyWord name="ImageDraw" func="yes"> - <Overload retVal="void" descr="Draw a source image within a destination image"> + <KeyWord name="ImageColorGrayscale" func="yes"> + <Overload retVal="void" descr="Modify image color: grayscale"> + <Param name="Image *image" /> + </Overload> + </KeyWord> + <KeyWord name="ImageColorContrast" func="yes"> + <Overload retVal="void" descr="Modify image color: contrast (-100 to 100)"> + <Param name="Image *image" /> + <Param name="float contrast" /> + </Overload> + </KeyWord> + <KeyWord name="ImageColorBrightness" func="yes"> + <Overload retVal="void" descr="Modify image color: brightness (-255 to 255)"> + <Param name="Image *image" /> + <Param name="int brightness" /> + </Overload> + </KeyWord> + <KeyWord name="ImageColorReplace" func="yes"> + <Overload retVal="void" descr="Modify image color: replace color"> + <Param name="Image *image" /> + <Param name="Color color" /> + <Param name="Color replace" /> + </Overload> + </KeyWord> + <KeyWord name="LoadImageColors" func="yes"> + <Overload retVal="Color" descr="Load color data from image as a Color array (RGBA - 32bit)"> + <Param name="Image image" /> + </Overload> + </KeyWord> + <KeyWord name="LoadImagePalette" func="yes"> + <Overload retVal="Color" descr="Load colors palette from image as a Color array (RGBA - 32bit)"> + <Param name="Image image" /> + <Param name="int maxPaletteSize" /> + <Param name="int *colorCount" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadImageColors" func="yes"> + <Overload retVal="void" descr="Unload color data loaded with LoadImageColors()"> + <Param name="Color *colors" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadImagePalette" func="yes"> + <Overload retVal="void" descr="Unload colors palette loaded with LoadImagePalette()"> + <Param name="Color *colors" /> + </Overload> + </KeyWord> + <KeyWord name="GetImageAlphaBorder" func="yes"> + <Overload retVal="Rectangle" descr="Get image alpha border rectangle"> + <Param name="Image image" /> + <Param name="float threshold" /> + </Overload> + </KeyWord> + <KeyWord name="GetImageColor" func="yes"> + <Overload retVal="Color" descr="Get image pixel color at (x, y) position"> + <Param name="Image image" /> + <Param name="int x" /> + <Param name="int y" /> + </Overload> + </KeyWord> + + <!-- Image drawing functions --> + <!-- NOTE: Image software-rendering functions (CPU) --> + <KeyWord name="ImageClearBackground" func="yes"> + <Overload retVal="void" descr="Clear image background with given color"> <Param name="Image *dst" /> - <Param name="Image src" /> - <Param name="Rectangle srcRec" /> - <Param name="Rectangle dstRec" /> + <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawRectangle" func="yes"> - <Overload retVal="void" descr="Draw rectangle within an image"> + <KeyWord name="ImageDrawPixel" func="yes"> + <Overload retVal="void" descr="Draw pixel within an image"> <Param name="Image *dst" /> <Param name="int posX" /> <Param name="int posY" /> - <Param name="int width" /> - <Param name="int height" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawRectangleV" func="yes"> - <Overload retVal="void" descr="Draw rectangle within an image (Vector version)"> + <KeyWord name="ImageDrawPixelV" func="yes"> + <Overload retVal="void" descr="Draw pixel within an image (Vector version)"> <Param name="Image *dst" /> <Param name="Vector2 position" /> - <Param name="Vector2 size" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawRectangleRec" func="yes"> - <Overload retVal="void" descr="Draw rectangle within an image"> + <KeyWord name="ImageDrawLine" func="yes"> + <Overload retVal="void" descr="Draw line within an image"> <Param name="Image *dst" /> - <Param name="Rectangle rec" /> + <Param name="int startPosX" /> + <Param name="int startPosY" /> + <Param name="int endPosX" /> + <Param name="int endPosY" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawRectangleLines" func="yes"> - <Overload retVal="void" descr="Draw rectangle lines within an image"> + <KeyWord name="ImageDrawLineV" func="yes"> + <Overload retVal="void" descr="Draw line within an image (Vector version)"> <Param name="Image *dst" /> - <Param name="Rectangle rec" /> - <Param name="int thick" /> + <Param name="Vector2 start" /> + <Param name="Vector2 end" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageClearBackground" func="yes"> - <Overload retVal="void" descr="Clear image background with given color"> + <KeyWord name="ImageDrawCircle" func="yes"> + <Overload retVal="void" descr="Draw circle within an image"> <Param name="Image *dst" /> + <Param name="int centerX" /> + <Param name="int centerY" /> + <Param name="int radius" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawPixel" func="yes"> - <Overload retVal="void" descr="Clear image background with given color"> + <KeyWord name="ImageDrawCircleV" func="yes"> + <Overload retVal="void" descr="Draw circle within an image (Vector version)"> <Param name="Image *dst" /> - <Param name="int posX" /> - <Param name="int posY" /> + <Param name="Vector2 center" /> + <Param name="int radius" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawPixelV" func="yes"> - <Overload retVal="void" descr="Clear image background with given color (Vector version)"> + <KeyWord name="ImageDrawRectangle" func="yes"> + <Overload retVal="void" descr="Draw rectangle within an image"> <Param name="Image *dst" /> - <Param name="Vector2 position" /> + <Param name="int posX" /> + <Param name="int posY" /> + <Param name="int width" /> + <Param name="int height" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawCircle" func="yes"> - <Overload retVal="void" descr="Draw circle within an image"> + <KeyWord name="ImageDrawRectangleV" func="yes"> + <Overload retVal="void" descr="Draw rectangle within an image (Vector version)"> <Param name="Image *dst" /> - <Param name="int centerX" /> - <Param name="int centerY" /> - <Param name="int radius" /> + <Param name="Vector2 position" /> + <Param name="Vector2 size" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawCircleV" func="yes"> - <Overload retVal="void" descr="Draw circle within an image (Vector version)"> + <KeyWord name="ImageDrawRectangleRec" func="yes"> + <Overload retVal="void" descr="Draw rectangle within an image"> <Param name="Image *dst" /> - <Param name="Vector2 center" /> - <Param name="int radius" /> + <Param name="Rectangle rec" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawLine" func="yes"> - <Overload retVal="void" descr="Draw line within an image"> + <KeyWord name="ImageDrawRectangleLines" func="yes"> + <Overload retVal="void" descr="Draw rectangle lines within an image"> <Param name="Image *dst" /> - <Param name="int startPosX" /> - <Param name="int startPosY" /> - <Param name="int endPosX" /> - <Param name="int endPosY" /> + <Param name="Rectangle rec" /> + <Param name="int thick" /> <Param name="Color color" /> </Overload> </KeyWord> - <KeyWord name="ImageDrawLineV" func="yes"> - <Overload retVal="void" descr="Draw line within an image (Vector2 version)"> + <KeyWord name="ImageDraw" func="yes"> + <Overload retVal="void" descr="Draw a source image within a destination image (tint applied to source)"> <Param name="Image *dst" /> - <Param name="Vector2 start" /> - <Param name="Vector2 end" /> - <Param name="Color color" /> + <Param name="Image src" /> + <Param name="Rectangle srcRec" /> + <Param name="Rectangle dstRec" /> + <Param name="Color tint" /> </Overload> </KeyWord> <KeyWord name="ImageDrawText" func="yes"> - <Overload retVal="void" descr="Draw text (default font) within an image (destination)"> + <Overload retVal="void" descr="Draw text (using default font) within an image (destination)"> <Param name="Image *dst" /> - <Param name="Vector2 position" /> <Param name="const char *text" /> + <Param name="int posX" /> + <Param name="int posY" /> <Param name="int fontSize" /> <Param name="Color color" /> </Overload> @@ -1081,138 +1747,64 @@ <KeyWord name="ImageDrawTextEx" func="yes"> <Overload retVal="void" descr="Draw text (custom sprite font) within an image (destination)"> <Param name="Image *dst" /> - <Param name="Vector2 position" /> <Param name="Font font" /> <Param name="const char *text" /> + <Param name="Vector2 position" /> <Param name="float fontSize" /> <Param name="float spacing" /> - <Param name="Color color" /> - </Overload> - </KeyWord> - <KeyWord name="ImageFlipVertical" func="yes"> - <Overload retVal="void" descr="Flip image vertically"> - <Param name="Image *image" /> - </Overload> - </KeyWord> - <KeyWord name="ImageFlipHorizontal" func="yes"> - <Overload retVal="void" descr="Flip image horizontally"> - <Param name="Image *image" /> - </Overload> - </KeyWord> - <KeyWord name="ImageRotateCW" func="yes"> - <Overload retVal="void" descr="Rotate image clockwise 90deg"> - <Param name="Image *image" /> - </Overload> - </KeyWord> - <KeyWord name="ImageRotateCCW" func="yes"> - <Overload retVal="void" descr="Rotate image counter-clockwise 90deg"> - <Param name="Image *image" /> - </Overload> - </KeyWord> - <KeyWord name="ImageColorTint" func="yes"> - <Overload retVal="void" descr="Modify image color: tint"> - <Param name="Image *image" /> - <Param name="Color color" /> - </Overload> - </KeyWord> - <KeyWord name="ImageColorInvert" func="yes"> - <Overload retVal="void" descr="Modify image color: invert"> - <Param name="Image *image" /> - </Overload> - </KeyWord> - <KeyWord name="ImageColorGrayscale" func="yes"> - <Overload retVal="void" descr="Modify image color: grayscale"> - <Param name="Image *image" /> - </Overload> - </KeyWord> - <KeyWord name="ImageColorContrast" func="yes"> - <Overload retVal="void" descr="Modify image color: contrast (-100 to 100)"> - <Param name="Image *image" /> - <Param name="float contrast" /> - </Overload> - </KeyWord> - <KeyWord name="ImageColorBrightness" func="yes"> - <Overload retVal="void" descr="Modify image color: brightness (-255 to 255)"> - <Param name="Image *image" /> - <Param name="int brightness" /> - </Overload> - </KeyWord> - <KeyWord name="ImageColorReplace" func="yes"> - <Overload retVal="void" descr="Modify image color: replace color"> - <Param name="Image *image" /> - <Param name="Color color" /> - <Param name="Color replace" /> + <Param name="Color tint" /> </Overload> </KeyWord> - <!-- Image generation functions --> - <KeyWord name="GenImageColor" func="yes"> - <Overload retVal="Image" descr="Generate image: plain color"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="Color color" /> + <!-- Texture loading functions --> + <!-- NOTE: These functions require GPU access --> + <KeyWord name="LoadTexture" func="yes"> + <Overload retVal="Texture2D" descr="Load texture from file into GPU memory (VRAM)"> + <Param name="const char *fileName" /> </Overload> </KeyWord> - <KeyWord name="GenImageGradientV" func="yes"> - <Overload retVal="Image" descr="Generate image: vertical gradient"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="Color top" /> - <Param name="Color bottom" /> + <KeyWord name="LoadTextureFromImage" func="yes"> + <Overload retVal="Texture2D" descr="Load texture from image data"> + <Param name="Image image" /> </Overload> </KeyWord> - <KeyWord name="GenImageGradientH" func="yes"> - <Overload retVal="Image" descr="Generate image: horizontal gradient"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="Color left" /> - <Param name="Color right" /> + <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 layout" /> </Overload> </KeyWord> - <KeyWord name="GenImageGradientRadial" func="yes"> - <Overload retVal="Image" descr="Generate image: radial gradient"> + <KeyWord name="LoadRenderTexture" func="yes"> + <Overload retVal="RenderTexture2D" descr="Load texture for rendering (framebuffer)"> <Param name="int width" /> <Param name="int height" /> - <Param name="float density" /> - <Param name="Color inner" /> - <Param name="Color outer" /> </Overload> </KeyWord> - <KeyWord name="GenImageChecked" func="yes"> - <Overload retVal="Image" descr="Generate image: checked"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="int checksX" /> - <Param name="int checksY" /> - <Param name="Color col1" /> - <Param name="Color col2" /> + <KeyWord name="UnloadTexture" func="yes"> + <Overload retVal="void" descr="Unload texture from GPU memory (VRAM)"> + <Param name="Texture2D texture" /> </Overload> </KeyWord> - <KeyWord name="GenImageWhiteNoise" func="yes"> - <Overload retVal="Image" descr="Generate image: white noise"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="float factor" /> + <KeyWord name="UnloadRenderTexture" func="yes"> + <Overload retVal="void" descr="Unload render texture from GPU memory (VRAM)"> + <Param name="RenderTexture2D target" /> </Overload> </KeyWord> - <KeyWord name="GenImagePerlinNoise" func="yes"> - <Overload retVal="Image" descr="Generate image: perlin noise"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="int offsetX" /> - <Param name="int offsetY" /> - <Param name="float scale" /> + <KeyWord name="UpdateTexture" func="yes"> + <Overload retVal="void" descr="Update GPU texture with new data"> + <Param name="Texture2D texture" /> + <Param name="const void *pixels" /> </Overload> </KeyWord> - <KeyWord name="GenImageCellular" func="yes"> - <Overload retVal="Image" descr="Generate image: cellular algorithm. Bigger tileSize means bigger cells"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="int tileSize" /> + <KeyWord name="UpdateTextureRec" func="yes"> + <Overload retVal="void" descr="Update GPU texture rectangle with new data"> + <Param name="Texture2D texture" /> + <Param name="Rectangle rec" /> + <Param name="const void *pixels" /> </Overload> </KeyWord> - <!-- Texture2D configuration functions --> + <!-- Texture configuration functions --> <KeyWord name="GenTextureMipmaps" func="yes"> <Overload retVal="void" descr="Generate GPU mipmaps for a texture"> <Param name="Texture2D *texture" /> @@ -1221,17 +1813,17 @@ <KeyWord name="SetTextureFilter" func="yes"> <Overload retVal="void" descr="Set texture scaling filter mode"> <Param name="Texture2D texture" /> - <Param name="int filterMode" /> + <Param name="int filter" /> </Overload> </KeyWord> <KeyWord name="SetTextureWrap" func="yes"> <Overload retVal="void" descr="Set texture wrapping mode"> <Param name="Texture2D texture" /> - <Param name="int wrapMode" /> + <Param name="int wrap" /> </Overload> </KeyWord> - <!-- Texture2D drawing functions --> + <!-- Texture drawing functions --> <KeyWord name="DrawTexture" func="yes"> <Overload retVal="void" descr="Draw a Texture2D"> <Param name="Texture2D texture" /> @@ -1259,21 +1851,127 @@ <KeyWord name="DrawTextureRec" func="yes"> <Overload retVal="void" descr="Draw a part of a texture defined by a rectangle"> <Param name="Texture2D texture" /> - <Param name="Rectangle sourceRec" /> + <Param name="Rectangle source" /> <Param name="Vector2 position" /> <Param name="Color tint" /> </Overload> </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="DrawTextureTiled" func="yes"> + <Overload retVal="void" descr="Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest."> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Rectangle dest" /> + <Param name="Vector2 origin" /> + <Param name="float rotation" /> + <Param name="float scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> <KeyWord name="DrawTexturePro" func="yes"> <Overload retVal="void" descr="Draw a part of a texture defined by a rectangle with 'pro' parameters"> <Param name="Texture2D texture" /> - <Param name="Rectangle sourceRec" /> - <Param name="Rectangle destRec" /> + <Param name="Rectangle source" /> + <Param name="Rectangle dest" /> + <Param name="Vector2 origin" /> + <Param name="float rotation" /> + <Param name="Color tint" /> + </Overload> + </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 dest" /> <Param name="Vector2 origin" /> <Param name="float rotation" /> <Param name="Color tint" /> </Overload> </KeyWord> + <KeyWord name="DrawTexturePoly" func="yes"> + <Overload retVal="void" descr="Draw a textured polygon"> + <Param name="Texture2D texture" /> + <Param name="Vector2 center" /> + <Param name="Vector2 *points" /> + <Param name="Vector2 *texcoords" /> + <Param name="int pointCount" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + + <!-- Color/pixel related functions --> + <KeyWord name="Fade" func="yes"> + <Overload retVal="Color" descr="Get color with alpha applied, alpha goes from 0.0f to 1.0f"> + <Param name="Color color" /> + <Param name="float alpha" /> + </Overload> + </KeyWord> + <KeyWord name="ColorToInt" func="yes"> + <Overload retVal="int" descr="Get hexadecimal value for a Color"> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="ColorNormalize" func="yes"> + <Overload retVal="Vector4" descr="Get Color normalized as float [0..1]"> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="ColorFromNormalized" func="yes"> + <Overload retVal="Color" descr="Get Color from normalized values [0..1]"> + <Param name="Vector4 normalized" /> + </Overload> + </KeyWord> + <KeyWord name="ColorToHSV" func="yes"> + <Overload retVal="Vector3" descr="Get HSV values for a Color, hue [0..360], saturation/value [0..1]"> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="ColorFromHSV" func="yes"> + <Overload retVal="Color" descr="Get a Color from HSV values, hue [0..360], saturation/value [0..1]"> + <Param name="float hue" /> + <Param name="float saturation" /> + <Param name="float value" /> + </Overload> + </KeyWord> + <KeyWord name="ColorAlpha" func="yes"> + <Overload retVal="Color" descr="Get color with alpha applied, alpha goes from 0.0f to 1.0f"> + <Param name="Color color" /> + <Param name="float alpha" /> + </Overload> + </KeyWord> + <KeyWord name="ColorAlphaBlend" func="yes"> + <Overload retVal="Color" descr="Get src alpha-blended into dst color with tint"> + <Param name="Color dst" /> + <Param name="Color src" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="GetColor" func="yes"> + <Overload retVal="Color" descr="Get Color structure from hexadecimal value"> + <Param name="unsigned int hexValue" /> + </Overload> + </KeyWord> + <KeyWord name="GetPixelColor" func="yes"> + <Overload retVal="Color" descr="Get Color from a source pixel pointer of certain format"></Overload> + </KeyWord> + <KeyWord name="SetPixelColor" func="yes"> + <Overload retVal="void" descr="Set color formatted into destination pixel pointer"></Overload> + </KeyWord> + <KeyWord name="GetPixelDataSize" func="yes"> + <Overload retVal="int" descr="Get pixel data size in bytes for certain format"> + <Param name="int width" /> + <Param name="int height" /> + <Param name="int format" /> + </Overload> + </KeyWord> <!-------------------------------------------------------------------------------------- --> <!-- Font Loading and Text Drawing Functions (Module: text) --> @@ -1292,28 +1990,53 @@ <Overload retVal="Font" descr="Load font from file with extended parameters"> <Param name="const char *fileName" /> <Param name="int fontSize" /> - <Param name="int charsCount" /> <Param name="int *fontChars" /> + <Param name="int glyphCount" /> + </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> + </KeyWord> + <KeyWord name="LoadFontFromMemory" func="yes"> + <Overload retVal="Font" descr="Load font from memory buffer, fileType refers to extension: i.e. '.ttf'"> + <Param name="const char *fileType" /> + <Param name="const unsigned char" /> + <Param name="int dataSize" /> + <Param name="int fontSize" /> + <Param name="int *fontChars" /> + <Param name="int glyphCount" /> </Overload> </KeyWord> <KeyWord name="LoadFontData" func="yes"> - <Overload retVal="CharInfo" descr="Load font data for further use"> - <Param name="const char *fileName" /> + <Overload retVal="GlyphInfo" descr="Load font data for further use"> + <Param name="const unsigned char" /> + <Param name="int dataSize" /> <Param name="int fontSize" /> <Param name="int *fontChars" /> - <Param name="int charsCount" /> - <Param name="bool sdf" /> + <Param name="int glyphCount" /> + <Param name="int type" /> </Overload> </KeyWord> <KeyWord name="GenImageFontAtlas" func="yes"> <Overload retVal="Image" descr="Generate image font atlas using chars info"> - <Param name="CharInfo *chars" /> + <Param name="const GlyphInfo *chars" /> + <Param name="Rectangle **recs" /> + <Param name="int glyphCount" /> <Param name="int fontSize" /> - <Param name="int charsCount" /> <Param name="int padding" /> <Param name="int packMethod" /> </Overload> </KeyWord> + <KeyWord name="UnloadFontData" func="yes"> + <Overload retVal="void" descr="Unload font chars info data (RAM)"> + <Param name="GlyphInfo *chars" /> + <Param name="int glyphCount" /> + </Overload> + </KeyWord> <KeyWord name="UnloadFont" func="yes"> <Overload retVal="void" descr="Unload Font from GPU memory (VRAM)"> <Param name="Font font" /> @@ -1322,7 +2045,7 @@ <!-- Text drawing functions --> <KeyWord name="DrawFPS" func="yes"> - <Overload retVal="void" descr="Shows current FPS"> + <Overload retVal="void" descr="Draw current FPS"> <Param name="int posX" /> <Param name="int posY" /> </Overload> @@ -1337,17 +2060,38 @@ </Overload> </KeyWord> <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="const char *text" /> + <Param name="Vector2 position" /> + <Param name="float fontSize" /> + <Param name="float spacing" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawTextPro" func="yes"> + <Overload retVal="void" descr="Draw text using Font and pro parameters (rotation)"> <Param name="Font font" /> - <Param name="const char* text" /> + <Param name="const char *text" /> <Param name="Vector2 position" /> + <Param name="Vector2 origin" /> + <Param name="float rotation" /> <Param name="float fontSize" /> <Param name="float spacing" /> <Param name="Color tint" /> </Overload> </KeyWord> + <KeyWord name="DrawTextCodepoint" func="yes"> + <Overload retVal="void" descr="Draw one character (codepoint)"> + <Param name="Font font" /> + <Param name="int codepoint" /> + <Param name="Vector2 position" /> + <Param name="float fontSize" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> - <!-- Text misc. functions --> + <!-- Text font info functions --> <KeyWord name="MeasureText" func="yes"> <Overload retVal="int" descr="Measure string width for default font"> <Param name="const char *text" /> @@ -1362,23 +2106,152 @@ <Param name="float spacing" /> </Overload> </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 glyph index position in font for a codepoint (unicode character), fallback to '?' if not found"> + <Param name="Font font" /> + <Param name="int codepoint" /> + </Overload> + </KeyWord> + <KeyWord name="GetGlyphInfo" func="yes"> + <Overload retVal="GlyphInfo" descr="Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found"> + <Param name="Font font" /> + <Param name="int codepoint" /> + </Overload> + </KeyWord> + <KeyWord name="GetGlyphAtlasRec" func="yes"> + <Overload retVal="Rectangle" descr="Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found"> + <Param name="Font font" /> + <Param name="int codepoint" /> + </Overload> + </KeyWord> + + <!-- Text codepoints management functions (unicode characters) --> + <KeyWord name="LoadCodepoints" func="yes"> + <Overload retVal="int" descr="Load all codepoints from a UTF-8 text string, codepoints count returned by parameter"> + <Param name="const char *text" /> + <Param name="int *count" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadCodepoints" func="yes"> + <Overload retVal="void" descr="Unload codepoints data from memory"> + <Param name="int *codepoints" /> + </Overload> + </KeyWord> + <KeyWord name="GetCodepointCount" func="yes"> + <Overload retVal="int" descr="Get total number of codepoints in a UTF-8 encoded string"> + <Param name="const char *text" /> + </Overload> + </KeyWord> + <KeyWord name="GetCodepoint" func="yes"> + <Overload retVal="int" descr="Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure"> + <Param name="const char *text" /> + <Param name="int *bytesProcessed" /> + </Overload> + </KeyWord> + <KeyWord name="CodepointToUTF8" func="yes"> + <Overload retVal="const char" descr="Encode one codepoint into UTF-8 byte array (array length returned as parameter)"> + <Param name="int codepoint" /> + <Param name="int *byteSize" /> + </Overload> + </KeyWord> + <KeyWord name="TextCodepointsToUTF8" func="yes"> + <Overload retVal="char" descr="Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)"> + <Param name="int *codepoints" /> + <Param name="int length" /> + </Overload> + </KeyWord> + + <!-- Text strings management functions (no UTF-8 strings, only byte chars) --> + <!-- NOTE: Some strings allocate memory internally for returned strings, just be careful! --> + <KeyWord name="TextCopy" func="yes"> + <Overload retVal="int" descr="Copy one string to another, returns bytes copied"> + <Param name="char *dst" /> + <Param name="const char *src" /> + </Overload> + </KeyWord> + <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="TextFormat" func="yes"> + <Overload retVal="const char" descr="Text formatting with variables (sprintf() style)"> <Param name="const char *text" /> <Param name="..." /> </Overload> </KeyWord> - <KeyWord name="SubText" func="yes"> + <KeyWord name="TextSubtext" func="yes"> <Overload retVal="const char" descr="Get a piece of a text string"> <Param name="const char *text" /> <Param name="int position" /> <Param name="int length" /> </Overload> </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="char" descr="Replace text string (WARNING: memory must be freed!)"> + <Param name="char *text" /> + <Param name="const char *replace" /> + <Param name="const char *by" /> + </Overload> + </KeyWord> + <KeyWord name="TextInsert" func="yes"> + <Overload retVal="char" descr="Insert text in a position (WARNING: memory must 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> </KeyWord> @@ -1394,6 +2267,12 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawPoint3D" func="yes"> + <Overload retVal="void" descr="Draw a point in 3D space, actually a small line"> + <Param name="Vector3 position" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawCircle3D" func="yes"> <Overload retVal="void" descr="Draw a circle in 3D world space"> <Param name="Vector3 center" /> @@ -1403,6 +2282,21 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawTriangle3D" func="yes"> + <Overload retVal="void" descr="Draw a color-filled triangle (vertex in counter-clockwise order!)"> + <Param name="Vector3 v1" /> + <Param name="Vector3 v2" /> + <Param name="Vector3 v3" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawTriangleStrip3D" func="yes"> + <Overload retVal="void" descr="Draw a triangle strip defined by points"> + <Param name="Vector3 *points" /> + <Param name="int pointCount" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawCube" func="yes"> <Overload retVal="void" descr="Draw cube"> <Param name="Vector3 position" /> @@ -1428,6 +2322,13 @@ <Param name="Color color" /> </Overload> </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"> <Overload retVal="void" descr="Draw cube textured"> <Param name="Texture2D texture" /> @@ -1438,6 +2339,17 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawCubeTextureRec" func="yes"> + <Overload retVal="void" descr="Draw cube with a region of a texture"> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Vector3 position" /> + <Param name="float width" /> + <Param name="float height" /> + <Param name="float length" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawSphere" func="yes"> <Overload retVal="void" descr="Draw sphere"> <Param name="Vector3 centerPos" /> @@ -1473,6 +2385,16 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawCylinderEx" func="yes"> + <Overload retVal="void" descr="Draw a cylinder with base at startPos and top at endPos"> + <Param name="Vector3 startPos" /> + <Param name="Vector3 endPos" /> + <Param name="float startRadius" /> + <Param name="float endRadius" /> + <Param name="int sides" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawCylinderWires" func="yes"> <Overload retVal="void" descr="Draw a cylinder/cone wires"> <Param name="Vector3 position" /> @@ -1483,6 +2405,16 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawCylinderWiresEx" func="yes"> + <Overload retVal="void" descr="Draw a cylinder wires with base at startPos and top at endPos"> + <Param name="Vector3 startPos" /> + <Param name="Vector3 endPos" /> + <Param name="float startRadius" /> + <Param name="float endRadius" /> + <Param name="int sides" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawPlane" func="yes"> <Overload retVal="void" descr="Draw a plane XZ"> <Param name="Vector3 centerPos" /> @@ -1502,70 +2434,175 @@ <Param name="float spacing" /> </Overload> </KeyWord> - <KeyWord name="DrawGizmo" func="yes"> - <Overload retVal="void" descr="Draw simple gizmo"> - <Param name="Vector3 position" /> - </Overload> - </KeyWord> - <!--DrawTorus(), DrawTeapot() could be useful? --> <!-------------------------------------------------------------------------------------- --> <!-- Model 3d Loading and Drawing Functions (Module: models) --> <!-------------------------------------------------------------------------------------- --> - <!-- Model loading/unloading functions --> + <!-- Model management functions --> <KeyWord name="LoadModel" func="yes"> - <Overload retVal="Model" descr="Load model from files (mesh and material)"> + <Overload retVal="Model" descr="Load model from files (meshes and materials)"> <Param name="const char *fileName" /> </Overload> </KeyWord> <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" /> </Overload> </KeyWord> <KeyWord name="UnloadModel" func="yes"> - <Overload retVal="void" descr="Unload model from memory (RAM and/or VRAM)"> + <Overload retVal="void" descr="Unload model (including meshes) from memory (RAM and/or VRAM)"> + <Param name="Model model" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadModelKeepMeshes" func="yes"> + <Overload retVal="void" descr="Unload model (but not meshes) from memory (RAM and/or VRAM)"> + <Param name="Model model" /> + </Overload> + </KeyWord> + <KeyWord name="GetModelBoundingBox" func="yes"> + <Overload retVal="BoundingBox" descr="Compute model bounding box limits (considers all meshes)"> <Param name="Model model" /> </Overload> </KeyWord> - <!-- Mesh loading/unloading functions --> - <KeyWord name="LoadMesh" func="yes"> - <Overload retVal="Mesh" descr="Load mesh from file"> - <Param name="const char *fileName" /> + <!-- Model drawing functions --> + <KeyWord name="DrawModel" func="yes"> + <Overload retVal="void" descr="Draw a model (with texture if set)"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="float scale" /> + <Param name="Color tint" /> </Overload> </KeyWord> - <KeyWord name="UnloadMesh" func="yes"> - <Overload retVal="void" descr="Unload mesh from memory (RAM and/or VRAM)"> + <KeyWord name="DrawModelEx" func="yes"> + <Overload retVal="void" descr="Draw a model with extended parameters"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="Vector3 rotationAxis" /> + <Param name="float rotationAngle" /> + <Param name="Vector3 scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawModelWires" func="yes"> + <Overload retVal="void" descr="Draw a model wires (with texture if set)"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="float scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawModelWiresEx" func="yes"> + <Overload retVal="void" descr="Draw a model wires (with texture if set) with extended parameters"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="Vector3 rotationAxis" /> + <Param name="float rotationAngle" /> + <Param name="Vector3 scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBoundingBox" func="yes"> + <Overload retVal="void" descr="Draw bounding box (wires)"> + <Param name="BoundingBox box" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBillboard" func="yes"> + <Overload retVal="void" descr="Draw a billboard texture"> + <Param name="Camera camera" /> + <Param name="Texture2D texture" /> + <Param name="Vector3 position" /> + <Param name="float size" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBillboardRec" func="yes"> + <Overload retVal="void" descr="Draw a billboard texture defined by source"> + <Param name="Camera camera" /> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Vector3 position" /> + <Param name="Vector2 size" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBillboardPro" func="yes"> + <Overload retVal="void" descr="Draw a billboard texture defined by source and rotation"> + <Param name="Camera camera" /> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Vector3 position" /> + <Param name="Vector3 up" /> + <Param name="Vector2 size" /> + <Param name="Vector2 origin" /> + <Param name="float rotation" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + + <!-- Mesh management functions --> + <KeyWord name="UploadMesh" func="yes"> + <Overload retVal="void" descr="Upload mesh vertex data in GPU and provide VAO/VBO ids"> <Param name="Mesh *mesh" /> + <Param name="bool dynamic" /> + </Overload> + </KeyWord> + <KeyWord name="UpdateMeshBuffer" func="yes"> + <Overload retVal="void" descr="Update mesh vertex data in GPU for a specific buffer index"> + <Param name="Mesh mesh" /> + <Param name="int index" /></Overload> + </KeyWord> + <KeyWord name="UnloadMesh" func="yes"> + <Overload retVal="void" descr="Unload mesh data from CPU and GPU"> + <Param name="Mesh mesh" /> + </Overload> + </KeyWord> + <KeyWord name="DrawMesh" func="yes"> + <Overload retVal="void" descr="Draw a 3d mesh with material and transform"> + <Param name="Mesh mesh" /> + <Param name="Material material" /> + <Param name="Matrix transform" /> + </Overload> + </KeyWord> + <KeyWord name="DrawMeshInstanced" func="yes"> + <Overload retVal="void" descr="Draw multiple mesh instances with material and different transforms"> + <Param name="Mesh mesh" /> + <Param name="Material material" /> + <Param name="Matrix *transforms" /> + <Param name="int instances" /> </Overload> </KeyWord> <KeyWord name="ExportMesh" func="yes"> - <Overload retVal="void" descr="Export mesh as an OBJ file"> - <Param name="const char *fileName" /> + <Overload retVal="bool" descr="Export mesh data to file, returns true on success"> <Param name="Mesh mesh" /> + <Param name="const char *fileName" /> </Overload> </KeyWord> - - <!-- Mesh manipulation functions --> <KeyWord name="GetMeshBoundingBox" func="yes"> <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits"> <Param name="Mesh mesh" /> </Overload> </KeyWord> - <KeyWord name="MeshTangents" func="yes"> - <Overload retVal="void" descr="Compute mesh tangents "> + <KeyWord name="GenMeshTangents" func="yes"> + <Overload retVal="void" descr="Compute mesh tangents"> <Param name="Mesh *mesh" /> </Overload> </KeyWord> - <KeyWord name="MeshBinormals" func="yes"> + <KeyWord name="GenMeshBinormals" func="yes"> <Overload retVal="void" descr="Compute mesh binormals"> <Param name="Mesh *mesh" /> </Overload> </KeyWord> <!-- 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"> <Overload retVal="Mesh" descr="Generate plane mesh (with subdivisions)"> <Param name="float width" /> @@ -1602,6 +2639,13 @@ <Param name="int slices" /> </Overload> </KeyWord> + <KeyWord name="GenMeshCone" func="yes"> + <Overload retVal="Mesh" descr="Generate cone/pyramid mesh"> + <Param name="float radius" /> + <Param name="float height" /> + <Param name="int slices" /> + </Overload> + </KeyWord> <KeyWord name="GenMeshTorus" func="yes"> <Overload retVal="Mesh" descr="Generate torus mesh"> <Param name="float radius" /> @@ -1632,9 +2676,10 @@ </KeyWord> <!-- Material loading/unloading functions --> - <KeyWord name="LoadMaterial" func="yes"> - <Overload retVal="Material" descr="Load material from file"> + <KeyWord name="LoadMaterials" func="yes"> + <Overload retVal="Material" descr="Load materials from model file"> <Param name="const char *fileName" /> + <Param name="int *materialCount" /> </Overload> </KeyWord> <KeyWord name="LoadMaterialDefault" func="yes"> @@ -1645,301 +2690,118 @@ <Param name="Material material" /> </Overload> </KeyWord> - - <!-- Model drawing functions --> - <KeyWord name="DrawModel" func="yes"> - <Overload retVal="void" descr="Draw a model (with texture if set)"> - <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="float scale" /> - <Param name="Color tint" /> + <KeyWord name="SetMaterialTexture" func="yes"> + <Overload retVal="void" descr="Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)"> + <Param name="Material *material" /> + <Param name="int mapType" /> + <Param name="Texture2D texture" /> </Overload> </KeyWord> - <KeyWord name="DrawModelEx" func="yes"> - <Overload retVal="void" descr="Draw a model with extended parameters"> - <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="Vector3 rotationAxis" /> - <Param name="float rotationAngle" /> - <Param name="Vector3 scale" /> - <Param name="Color tint" /> + <KeyWord name="SetModelMeshMaterial" func="yes"> + <Overload retVal="void" descr="Set material for a mesh"> + <Param name="Model *model" /> + <Param name="int meshId" /> + <Param name="int materialId" /> </Overload> </KeyWord> - <KeyWord name="DrawModelWires" func="yes"> - <Overload retVal="void" descr="Draw a model wires (with texture if set)"> - <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="float scale" /> - <Param name="Color tint" /> + + <!-- Model animations loading/unloading functions --> + <KeyWord name="LoadModelAnimations" func="yes"> + <Overload retVal="ModelAnimation" descr="Load model animations from file"> + <Param name="const char *fileName" /> + <Param name="unsigned int *animCount" /> </Overload> </KeyWord> - <KeyWord name="DrawModelWiresEx" func="yes"> - <Overload retVal="void" descr="Draw a model wires (with texture if set) with extended parameters"> + <KeyWord name="UpdateModelAnimation" func="yes"> + <Overload retVal="void" descr="Update model animation pose"> <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="Vector3 rotationAxis" /> - <Param name="float rotationAngle" /> - <Param name="Vector3 scale" /> - <Param name="Color tint" /> + <Param name="ModelAnimation anim" /> + <Param name="int frame" /> </Overload> </KeyWord> - <KeyWord name="DrawBoundingBox" func="yes"> - <Overload retVal="void" descr="Draw bounding box (wires)"> - <Param name="BoundingBox box" /> - <Param name="Color color" /> + <KeyWord name="UnloadModelAnimation" func="yes"> + <Overload retVal="void" descr="Unload animation data"> + <Param name="ModelAnimation anim" /> </Overload> </KeyWord> - <KeyWord name="DrawBillboard" func="yes"> - <Overload retVal="void" descr="Draw a billboard texture"> - <Param name="Camera camera" /> - <Param name="Texture2D texture" /> - <Param name="Vector3 center" /> - <Param name="float size" /> - <Param name="Color tint" /> + <KeyWord name="UnloadModelAnimations" func="yes"> + <Overload retVal="void" descr="Unload animation array data"> + <Param name="ModelAnimation* animations" /> + <Param name="unsigned int count" /> </Overload> </KeyWord> - <KeyWord name="DrawBillboardRec" func="yes"> - <Overload retVal="void" descr="Draw a billboard texture defined by sourceRec"> - <Param name="Camera camera" /> - <Param name="Texture2D texture" /> - <Param name="Rectangle sourceRec" /> - <Param name="Vector3 center" /> - <Param name="float size" /> - <Param name="Color tint" /> + <KeyWord name="IsModelAnimationValid" func="yes"> + <Overload retVal="bool" descr="Check model animation skeleton match"> + <Param name="Model model" /> + <Param name="ModelAnimation anim" /> </Overload> </KeyWord> <!-- Collision detection functions --> <KeyWord name="CheckCollisionSpheres" func="yes"> - <Overload retVal="bool" descr="Detect collision between two spheres"> - <Param name="Vector3 centerA" /> - <Param name="float radiusA" /> - <Param name="Vector3 centerB" /> - <Param name="float radiusB" /> + <Overload retVal="bool" descr="Check collision between two spheres"> + <Param name="Vector3 center1" /> + <Param name="float radius1" /> + <Param name="Vector3 center2" /> + <Param name="float radius2" /> </Overload> </KeyWord> <KeyWord name="CheckCollisionBoxes" func="yes"> - <Overload retVal="bool" descr="Detect collision between two bounding boxes"> + <Overload retVal="bool" descr="Check collision between two bounding boxes"> <Param name="BoundingBox box1" /> <Param name="BoundingBox box2" /> </Overload> </KeyWord> <KeyWord name="CheckCollisionBoxSphere" func="yes"> - <Overload retVal="bool" descr="Detect collision between box and sphere"> + <Overload retVal="bool" descr="Check collision between box and sphere"> <Param name="BoundingBox box" /> - <Param name="Vector3 centerSphere" /> - <Param name="float radiusSphere" /> + <Param name="Vector3 center" /> + <Param name="float radius" /> </Overload> </KeyWord> - <KeyWord name="CheckCollisionRaySphere" func="yes"> - <Overload retVal="bool" descr="Detect collision between ray and sphere"> + <KeyWord name="GetRayCollisionSphere" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and sphere"> <Param name="Ray ray" /> - <Param name="Vector3 spherePosition" /> - <Param name="float sphereRadius" /> + <Param name="Vector3 center" /> + <Param name="float radius" /> </Overload> </KeyWord> - <KeyWord name="CheckCollisionRaySphereEx" func="yes"> - <Overload retVal="bool" descr="Detect collision between ray and sphere, returns collision point"> + <KeyWord name="GetRayCollisionBox" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and box"> <Param name="Ray ray" /> - <Param name="Vector3 spherePosition" /> - <Param name="float sphereRadius" /> - <Param name="Vector3 *collisionPoint" /> + <Param name="BoundingBox box" /> </Overload> </KeyWord> - <KeyWord name="CheckCollisionRayBox" func="yes"> - <Overload retVal="bool" descr="Detect collision between ray and box"> + <KeyWord name="GetRayCollisionModel" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and model"> <Param name="Ray ray" /> - <Param name="BoundingBox box" /> + <Param name="Model model" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRayModel" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and model"> + <KeyWord name="GetRayCollisionMesh" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and mesh"> <Param name="Ray ray" /> - <Param name="Model *model" /> + <Param name="Mesh mesh" /> + <Param name="Matrix transform" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRayTriangle" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and triangle"> + <KeyWord name="GetRayCollisionTriangle" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and triangle"> <Param name="Ray ray" /> <Param name="Vector3 p1" /> <Param name="Vector3 p2" /> <Param name="Vector3 p3" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRayGround" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and ground plane (Y-normal plane)"> + <KeyWord name="GetRayCollisionQuad" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and quad"> <Param name="Ray ray" /> - <Param name="float groundHeight" /> - </Overload> - </KeyWord> - - <!-------------------------------------------------------------------------------------- --> - <!-- Shaders System Functions (Module: rlgl) --> - <!-- NOTE: This functions are useless when using OpenGL 1.1 --> - <!-------------------------------------------------------------------------------------- --> - - <!-- Shader loading/unloading functions --> - <KeyWord name="LoadText" func="yes"> - <Overload retVal="char" descr="Load chars array from text file"> - <Param name="const char *fileName" /> - </Overload> - </KeyWord> - <KeyWord name="LoadShader" func="yes"> - <Overload retVal="Shader" descr="Load shader from files and bind default locations"> - <Param name="const char *vsFileName" /> - <Param name="const char *fsFileName" /> - </Overload> - </KeyWord> - <KeyWord name="LoadShaderCode" func="yes"> - <Overload retVal="Shader" descr="Load shader from code strings and bind default locations"> - <Param name="char *vsCode" /> - <Param name="char *fsCode" /> - </Overload> - </KeyWord> - <KeyWord name="UnloadShader" func="yes"> - <Overload retVal="void" descr="Unload shader from GPU memory (VRAM)"> - <Param name="Shader shader" /> - </Overload> - </KeyWord> - - <KeyWord name="GetShaderDefault" func="yes"> - <Overload retVal="Shader" descr="Get default shader"></Overload> - </KeyWord> - <KeyWord name="GetTextureDefault" func="yes"> - <Overload retVal="Texture2D" descr="Get default texture"></Overload> - </KeyWord> - - <!-- Shader configuration functions --> - <KeyWord name="GetShaderLocation" func="yes"> - <Overload retVal="int" descr="Get shader uniform location"> - <Param name="Shader shader" /> - <Param name="const char *uniformName" /> - </Overload> - </KeyWord> - <KeyWord name="SetShaderValue" func="yes"> - <Overload retVal="void" descr="Set shader uniform value (float)"> - <Param name="Shader shader" /> - <Param name="int uniformLoc" /> - <Param name="const float *value" /> - <Param name="int size" /> - </Overload> - </KeyWord> - <KeyWord name="SetShaderValuei" func="yes"> - <Overload retVal="void" descr="Set shader uniform value (int)"> - <Param name="Shader shader" /> - <Param name="int uniformLoc" /> - <Param name="const int *value" /> - <Param name="int size" /> - </Overload> - </KeyWord> - <KeyWord name="SetShaderValueMatrix" func="yes"> - <Overload retVal="void" descr="Set shader uniform value (matrix 4x4)"> - <Param name="Shader shader" /> - <Param name="int uniformLoc" /> - <Param name="Matrix mat" /> - </Overload> - </KeyWord> - <KeyWord name="SetMatrixProjection" func="yes"> - <Overload retVal="void" descr="Set a custom projection matrix (replaces internal projection matrix)"> - <Param name="Matrix proj" /> - </Overload> - </KeyWord> - <KeyWord name="SetMatrixModelview" func="yes"> - <Overload retVal="void" descr="Set a custom modelview matrix (replaces internal modelview matrix)"> - <Param name="Matrix view" /> - </Overload> - </KeyWord> - <KeyWord name="GetMatrixModelview" func="yes"> - <Overload retVal="Matrix" descr="Get internal modelview matrix"> - <Param name="Matrix view" /> - </Overload> - </KeyWord> - - <!-- Texture maps generation (PBR) --> - <!-- NOTE: Required shaders should be provided --> - <KeyWord name="GenTextureCubemap" func="yes"> - <Overload retVal="Texture2D" descr="Generate cubemap texture from HDR texture"> - <Param name="Shader shader" /> - <Param name="Texture2D skyHDR" /> - <Param name="int size" /> - </Overload> - </KeyWord> - <KeyWord name="GenTextureIrradiance" func="yes"> - <Overload retVal="Texture2D" descr="Generate irradiance texture using cubemap data"> - <Param name="Shader shader" /> - <Param name="Texture2D cubemap" /> - <Param name="int size" /> - </Overload> - </KeyWord> - <KeyWord name="GenTexturePrefilter" func="yes"> - <Overload retVal="Texture2D" descr="Generate prefilter texture using cubemap data"> - <Param name="Shader shader" /> - <Param name="Texture2D cubemap" /> - <Param name="int size" /> - </Overload> - </KeyWord> - <KeyWord name="GenTextureBRDF" func="yes"> - <Overload retVal="Texture2D" descr="Generate BRDF texture using cubemap data"> - <Param name="Shader shader" /> - <Param name="Texture2D cubemap" /> - <Param name="int size" /> - </Overload> - </KeyWord> - - <!-- Shading begin/end functions --> - <KeyWord name="BeginShaderMode" func="yes"> - <Overload retVal="void" descr="Begin custom shader drawing"> - <Param name="Shader shader" /> - </Overload> - </KeyWord> - <KeyWord name="EndShaderMode" func="yes"> - <Overload retVal="void" descr="End custom shader drawing (use default shader)"></Overload> - </KeyWord> - <KeyWord name="BeginBlendMode" func="yes"> - <Overload retVal="void" descr="Begin blending mode (alpha, additive, multiplied)"> - <Param name="int mode" /> - </Overload> - </KeyWord> - <KeyWord name="EndBlendMode" func="yes"> - <Overload retVal="void" descr="End blending mode (reset to default: alpha blending)"></Overload> - </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" /> - </Overload> - </KeyWord> - <KeyWord name="InitVrSimulator" func="yes"> - <Overload retVal="void" descr="Init VR simulator for selected device parameters"> - <Param name="VrDeviceInfo info" /> - </Overload> - </KeyWord> - <KeyWord name="CloseVrSimulator" func="yes"> - <Overload retVal="void" descr="Close VR simulator for current device"></Overload> - </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"> - <Overload retVal="void" descr="Update VR tracking (position and orientation) and camera"> - <Param name="Camera *camera" /> + <Param name="Vector3 p1" /> + <Param name="Vector3 p2" /> + <Param name="Vector3 p3" /> + <Param name="Vector3 p4" /> </Overload> </KeyWord> - <KeyWord name="ToggleVrMode" func="yes"> - <Overload retVal="void" descr="Enable/Disable VR experience"></Overload> - </KeyWord> - <KeyWord name="BeginVrDrawing" func="yes"> - <Overload retVal="void" descr="Begin VR simulator stereo rendering"></Overload> - </KeyWord> - <KeyWord name="EndVrDrawing" func="yes"> - <Overload retVal="void" descr="End VR simulator stereo rendering"></Overload> - </KeyWord> <!-------------------------------------------------------------------------------------- --> <!-- Audio Loading and Playing Functions (Module: audio) --> @@ -1967,8 +2829,12 @@ <Param name="const char *fileName" /> </Overload> </KeyWord> - <KeyWord name="LoadWaveEx" func="yes"> - <Overload retVal="Wave" descr="Load wave data from raw array data"></Overload> + <KeyWord name="LoadWaveFromMemory" func="yes"> + <Overload retVal="Wave" descr="Load wave from memory buffer, fileType refers to extension: i.e. '.wav'"> + <Param name="const char *fileType" /> + <Param name="const unsigned char" /> + <Param name="int dataSize" /> + </Overload> </KeyWord> <KeyWord name="LoadSound" func="yes"> <Overload retVal="Sound" descr="Load sound from file"> @@ -1984,7 +2850,7 @@ <Overload retVal="void" descr="Update sound buffer with new data"> <Param name="Sound sound" /> <Param name="const void *data" /> - <Param name="int samplesCount" /> + <Param name="int sampleCount" /> </Overload> </KeyWord> <KeyWord name="UnloadWave" func="yes"> @@ -1997,6 +2863,18 @@ <Param name="Sound sound" /> </Overload> </KeyWord> + <KeyWord name="ExportWave" func="yes"> + <Overload retVal="bool" descr="Export wave data to file, returns true on success"> + <Param name="Wave wave" /> + <Param name="const char *fileName" /> + </Overload> + </KeyWord> + <KeyWord name="ExportWaveAsCode" func="yes"> + <Overload retVal="bool" descr="Export wave sample data to code (.h), returns true on success"> + <Param name="Wave wave" /> + <Param name="const char *fileName" /> + </Overload> + </KeyWord> <!-- Wave/Sound management functions --> <KeyWord name="PlaySound" func="yes"> @@ -2004,6 +2882,11 @@ <Param name="Sound sound" /> </Overload> </KeyWord> + <KeyWord name="StopSound" func="yes"> + <Overload retVal="void" descr="Stop playing a sound"> + <Param name="Sound sound" /> + </Overload> + </KeyWord> <KeyWord name="PauseSound" func="yes"> <Overload retVal="void" descr="Pause a sound"> <Param name="Sound sound" /> @@ -2014,11 +2897,17 @@ <Param name="Sound sound" /> </Overload> </KeyWord> - <KeyWord name="StopSound" func="yes"> - <Overload retVal="void" descr="Stop playing a sound"> + <KeyWord name="PlaySoundMulti" func="yes"> + <Overload retVal="void" descr="Play a sound (using multichannel buffer pool)"> <Param name="Sound sound" /> </Overload> </KeyWord> + <KeyWord name="StopSoundMulti" func="yes"> + <Overload retVal="void" descr="Stop any sound playing (using multichannel buffer pool)"></Overload> + </KeyWord> + <KeyWord name="GetSoundsPlaying" func="yes"> + <Overload retVal="int" descr="Get number of sounds playing in the multichannel"></Overload> + </KeyWord> <KeyWord name="IsSoundPlaying" func="yes"> <Overload retVal="bool" descr="Check if a sound is currently playing"> <Param name="Sound sound" /> @@ -2056,11 +2945,16 @@ <Param name="int finalSample" /> </Overload> </KeyWord> - <KeyWord name="GetWaveData" func="yes"> - <Overload retVal="float" descr="Get samples data from wave as a floats array"> + <KeyWord name="LoadWaveSamples" func="yes"> + <Overload retVal="float" descr="Load samples data from wave as a floats array"> <Param name="Wave wave" /> </Overload> </KeyWord> + <KeyWord name="UnloadWaveSamples" func="yes"> + <Overload retVal="void" descr="Unload samples data loaded with LoadWaveSamples()"> + <Param name="float *samples" /> + </Overload> + </KeyWord> <!-- Music management functions --> <KeyWord name="LoadMusicStream" func="yes"> @@ -2068,6 +2962,13 @@ <Param name="const char *fileName" /> </Overload> </KeyWord> + <KeyWord name="LoadMusicStreamFromMemory" func="yes"> + <Overload retVal="Music" descr="Load music stream from data"> + <Param name="const char *fileType" /> + <Param name="unsigned char *data" /> + <Param name="int dataSize" /> + </Overload> + </KeyWord> <KeyWord name="UnloadMusicStream" func="yes"> <Overload retVal="void" descr="Unload music stream"> <Param name="Music music" /> @@ -2078,6 +2979,11 @@ <Param name="Music music" /> </Overload> </KeyWord> + <KeyWord name="IsMusicStreamPlaying" func="yes"> + <Overload retVal="bool" descr="Check if music is playing"> + <Param name="Music music" /> + </Overload> + </KeyWord> <KeyWord name="UpdateMusicStream" func="yes"> <Overload retVal="void" descr="Updates buffers for music streaming"> <Param name="Music music" /> @@ -2098,9 +3004,10 @@ <Param name="Music music" /> </Overload> </KeyWord> - <KeyWord name="IsMusicPlaying" func="yes"> - <Overload retVal="bool" descr="Check if music is playing"> + <KeyWord name="SeekMusicStream" func="yes"> + <Overload retVal="void" descr="Seek music to a position (in seconds)"> <Param name="Music music" /> + <Param name="float position" /> </Overload> </KeyWord> <KeyWord name="SetMusicVolume" func="yes"> @@ -2115,12 +3022,6 @@ <Param name="float pitch" /> </Overload> </KeyWord> - <KeyWord name="SetMusicLoopCount" func="yes"> - <Overload retVal="void" descr="Set music loop count (loop repeats)"> - <Param name="Music music" /> - <Param name="int count" /> - </Overload> - </KeyWord> <KeyWord name="GetMusicTimeLength" func="yes"> <Overload retVal="float" descr="Get music time length (in seconds)"> <Param name="Music music" /> @@ -2133,26 +3034,26 @@ </KeyWord> <!-- AudioStream management functions --> - <KeyWord name="InitAudioStream" func="yes"> - <Overload retVal="AudioStream" descr="Init audio stream (to stream raw audio pcm data)"> + <KeyWord name="LoadAudioStream" func="yes"> + <Overload retVal="AudioStream" descr="Load audio stream (to stream raw audio pcm data)"> <Param name="unsigned int sampleRate" /> <Param name="unsigned int sampleSize" /> <Param name="unsigned int channels" /> </Overload> </KeyWord> - <KeyWord name="UpdateAudioStream" func="yes"> - <Overload retVal="void" descr="Update audio stream buffers with data"> + <KeyWord name="UnloadAudioStream" func="yes"> + <Overload retVal="void" descr="Unload audio stream and free memory"> <Param name="AudioStream stream" /> - <Param name="const void *data" /> - <Param name="int samplesCount" /> </Overload> </KeyWord> - <KeyWord name="CloseAudioStream" func="yes"> - <Overload retVal="void" descr="Close audio stream and free memory"> + <KeyWord name="UpdateAudioStream" func="yes"> + <Overload retVal="void" descr="Update audio stream buffers with data"> <Param name="AudioStream stream" /> + <Param name="const void *data" /> + <Param name="int frameCount" /> </Overload> </KeyWord> - <KeyWord name="IsAudioBufferProcessed" func="yes"> + <KeyWord name="IsAudioStreamProcessed" func="yes"> <Overload retVal="bool" descr="Check if any audio stream buffers requires refill"> <Param name="AudioStream stream" /> </Overload> @@ -2194,5 +3095,10 @@ <Param name="float pitch" /> </Overload> </KeyWord> + <KeyWord name="SetAudioStreamBufferSizeDefault" func="yes"> + <Overload retVal="void" descr="Default size for new audio streams"> + <Param name="int size" /> + </Overload> + </KeyWord> </AutoComplete> </NotepadPlus> diff --git a/projects/Notepad++/raylib_npp_parser/raylib_npp.xml b/projects/Notepad++/raylib_npp_parser/raylib_npp.xml index b59fed57..adf702b2 100644 --- a/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +++ b/projects/Notepad++/raylib_npp_parser/raylib_npp.xml @@ -162,6 +162,22 @@ <Overload retVal="const char" descr="Get clipboard text content"></Overload> </KeyWord> + <!-- Custom frame control functions --> + <!-- NOTE: Those functions are intended for advance users that want full control over the frame processing --> + <!-- By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timming + PollInputEvents() --> + <!-- To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL --> + <KeyWord name="SwapScreenBuffer" func="yes"> + <Overload retVal="void" descr="Swap back buffer with front buffer (screen drawing)"></Overload> + </KeyWord> + <KeyWord name="PollInputEvents" func="yes"> + <Overload retVal="void" descr="Register all input events"></Overload> + </KeyWord> + <KeyWord name="WaitTime" func="yes"> + <Overload retVal="void" descr="Wait for some milliseconds (halt program execution)"> + <Param name="float ms" /> + </Overload> + </KeyWord> + <!-- Cursor-related functions --> <KeyWord name="ShowCursor" func="yes"> <Overload retVal="void" descr="Shows cursor"></Overload> @@ -179,7 +195,7 @@ <Overload retVal="void" descr="Disables cursor (lock cursor)"></Overload> </KeyWord> <KeyWord name="IsCursorOnScreen" func="yes"> - <Overload retVal="bool" descr="Check if cursor is on the current screen."></Overload> + <Overload retVal="bool" descr="Check if cursor is on the screen"></Overload> </KeyWord> <!-- Drawing-related functions --> @@ -195,7 +211,7 @@ <Overload retVal="void" descr="End canvas drawing and swap buffers (double buffering)"></Overload> </KeyWord> <KeyWord name="BeginMode2D" func="yes"> - <Overload retVal="void" descr="Initialize 2D mode with custom camera (2D)"> + <Overload retVal="void" descr="Begin 2D mode with custom camera (2D)"> <Param name="Camera2D camera" /> </Overload> </KeyWord> @@ -203,7 +219,7 @@ <Overload retVal="void" descr="Ends 2D mode with custom camera"></Overload> </KeyWord> <KeyWord name="BeginMode3D" func="yes"> - <Overload retVal="void" descr="Initializes 3D mode with custom camera (3D)"> + <Overload retVal="void" descr="Begin 3D mode with custom camera (3D)"> <Param name="Camera3D camera" /> </Overload> </KeyWord> @@ -211,7 +227,7 @@ <Overload retVal="void" descr="Ends 3D mode and returns to default 2D orthographic mode"></Overload> </KeyWord> <KeyWord name="BeginTextureMode" func="yes"> - <Overload retVal="void" descr="Initializes render texture for drawing"> + <Overload retVal="void" descr="Begin drawing to render texture"> <Param name="RenderTexture2D target" /> </Overload> </KeyWord> @@ -227,7 +243,7 @@ <Overload retVal="void" descr="End custom shader drawing (use default shader)"></Overload> </KeyWord> <KeyWord name="BeginBlendMode" func="yes"> - <Overload retVal="void" descr="Begin blending mode (alpha, additive, multiplied)"> + <Overload retVal="void" descr="Begin blending mode (alpha, additive, multiplied, subtract, custom)"> <Param name="int mode" /> </Overload> </KeyWord> @@ -331,29 +347,29 @@ <!-- Screen-space-related functions --> <KeyWord name="GetMouseRay" func="yes"> - <Overload retVal="Ray" descr="Returns a ray trace from mouse position"> + <Overload retVal="Ray" descr="Get a ray trace from mouse position"> <Param name="Vector2 mousePosition" /> <Param name="Camera camera" /> </Overload> </KeyWord> <KeyWord name="GetCameraMatrix" func="yes"> - <Overload retVal="Matrix" descr="Returns camera transform matrix (view matrix)"> + <Overload retVal="Matrix" descr="Get camera transform matrix (view matrix)"> <Param name="Camera camera" /> </Overload> </KeyWord> <KeyWord name="GetCameraMatrix2D" func="yes"> - <Overload retVal="Matrix" descr="Returns camera 2d transform matrix"> + <Overload retVal="Matrix" descr="Get camera 2d transform matrix"> <Param name="Camera2D camera" /> </Overload> </KeyWord> <KeyWord name="GetWorldToScreen" func="yes"> - <Overload retVal="Vector2" descr="Returns the screen space position for a 3d world space position"> + <Overload retVal="Vector2" descr="Get the screen space position for a 3d world space position"> <Param name="Vector3 position" /> <Param name="Camera camera" /> </Overload> </KeyWord> <KeyWord name="GetWorldToScreenEx" func="yes"> - <Overload retVal="Vector2" descr="Returns size position for a 3d world space position"> + <Overload retVal="Vector2" descr="Get size position for a 3d world space position"> <Param name="Vector3 position" /> <Param name="Camera camera" /> <Param name="int width" /> @@ -361,13 +377,13 @@ </Overload> </KeyWord> <KeyWord name="GetWorldToScreen2D" func="yes"> - <Overload retVal="Vector2" descr="Returns the screen space position for a 2d camera world space position"> + <Overload retVal="Vector2" descr="Get the screen space position for a 2d camera world space position"> <Param name="Vector2 position" /> <Param name="Camera2D camera" /> </Overload> </KeyWord> <KeyWord name="GetScreenToWorld2D" func="yes"> - <Overload retVal="Vector2" descr="Returns the world space position for a 2d camera screen space position"> + <Overload retVal="Vector2" descr="Get the world space position for a 2d camera screen space position"> <Param name="Vector2 position" /> <Param name="Camera2D camera" /> </Overload> @@ -380,22 +396,27 @@ </Overload> </KeyWord> <KeyWord name="GetFPS" func="yes"> - <Overload retVal="int" descr="Returns current FPS"></Overload> + <Overload retVal="int" descr="Get current FPS"></Overload> </KeyWord> <KeyWord name="GetFrameTime" func="yes"> - <Overload retVal="float" descr="Returns time in seconds for last frame drawn (delta time)"></Overload> + <Overload retVal="float" descr="Get time in seconds for last frame drawn (delta time)"></Overload> </KeyWord> <KeyWord name="GetTime" func="yes"> - <Overload retVal="double" descr="Returns elapsed time in seconds since InitWindow()"></Overload> + <Overload retVal="double" descr="Get elapsed time in seconds since InitWindow()"></Overload> </KeyWord> <!-- Misc. functions --> <KeyWord name="GetRandomValue" func="yes"> - <Overload retVal="int" descr="Returns a random value between min and max (both included)"> + <Overload retVal="int" descr="Get a random value between min and max (both included)"> <Param name="int min" /> <Param name="int max" /> </Overload> </KeyWord> + <KeyWord name="SetRandomSeed" func="yes"> + <Overload retVal="void" descr="Set the seed for the random number generator"> + <Param name="unsigned int seed" /> + </Overload> + </KeyWord> <KeyWord name="TakeScreenshot" func="yes"> <Overload retVal="void" descr="Takes a screenshot of current screen (filename extension defines format)"> <Param name="const char *fileName" /> @@ -408,7 +429,7 @@ </KeyWord> <KeyWord name="TraceLog" func="yes"> - <Overload retVal="void" descr="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)"> + <Overload retVal="void" descr="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)"> <Param name="int logLevel" /> <Param name="const char *text" /> <Param name="..." /> @@ -482,7 +503,7 @@ </KeyWord> <KeyWord name="UnloadFileText" func="yes"> <Overload retVal="void" descr="Unload file text data allocated by LoadFileText()"> - <Param name="unsigned char *text" /> + <Param name="char *text" /> </Overload> </KeyWord> <KeyWord name="SaveFileText" func="yes"> @@ -508,7 +529,7 @@ </Overload> </KeyWord> <KeyWord name="GetFileExtension" func="yes"> - <Overload retVal="const char" descr="Get pointer to extension for a filename string (includes dot: ".png")"> + <Overload retVal="const char" descr="Get pointer to extension for a filename string (includes dot: '.png')"> <Param name="const char *fileName" /> </Overload> </KeyWord> @@ -566,6 +587,7 @@ </Overload> </KeyWord> + <!-- Compression/Encoding functionality --> <KeyWord name="char *CompressData" func="yes"> <Overload retVal="unsigned" descr="Compress data (DEFLATE algorithm)"> <Param name="unsigned char *data" /> @@ -580,6 +602,19 @@ <Param name="int *dataLength" /> </Overload> </KeyWord> + <KeyWord name="EncodeDataBase64" func="yes"> + <Overload retVal="char" descr="Encode data to Base64 string"> + <Param name="const unsigned char" /> + <Param name="int dataLength" /> + <Param name="int *outputLength" /> + </Overload> + </KeyWord> + <KeyWord name="char *DecodeDataBase64" func="yes"> + <Overload retVal="unsigned" descr="Decode Base64 string data"> + <Param name="unsigned char *data" /> + <Param name="int *outputLength" /> + </Overload> + </KeyWord> <!-- Persistent storage management --> <KeyWord name="SaveStorageValue" func="yes"> @@ -606,22 +641,22 @@ <!-- Input-related functions: keyboard --> <KeyWord name="IsKeyPressed" func="yes"> - <Overload retVal="bool" descr="Detect if a key has been pressed once"> + <Overload retVal="bool" descr="Check if a key has been pressed once"> <Param name="int key" /> </Overload> </KeyWord> <KeyWord name="IsKeyDown" func="yes"> - <Overload retVal="bool" descr="Detect if a key is being pressed"> + <Overload retVal="bool" descr="Check if a key is being pressed"> <Param name="int key" /> </Overload> </KeyWord> <KeyWord name="IsKeyReleased" func="yes"> - <Overload retVal="bool" descr="Detect if a key has been released once"> + <Overload retVal="bool" descr="Check if a key has been released once"> <Param name="int key" /> </Overload> </KeyWord> <KeyWord name="IsKeyUp" func="yes"> - <Overload retVal="bool" descr="Detect if a key is NOT being pressed"> + <Overload retVal="bool" descr="Check if a key is NOT being pressed"> <Param name="int key" /> </Overload> </KeyWord> @@ -631,49 +666,43 @@ </Overload> </KeyWord> <KeyWord name="GetKeyPressed" func="yes"> - <Overload retVal="int" descr="Get key pressed (keycode), call it multiple times for keys queued"></Overload> + <Overload retVal="int" descr="Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty"></Overload> </KeyWord> <KeyWord name="GetCharPressed" func="yes"> - <Overload retVal="int" descr="Get char pressed (unicode), call it multiple times for chars queued"></Overload> + <Overload retVal="int" descr="Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty"></Overload> </KeyWord> <!-- Input-related functions: gamepads --> <KeyWord name="IsGamepadAvailable" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad is available"> - <Param name="int gamepad" /> - </Overload> - </KeyWord> - <KeyWord name="IsGamepadName" func="yes"> - <Overload retVal="bool" descr="Check gamepad name (if available)"> + <Overload retVal="bool" descr="Check if a gamepad is available"> <Param name="int gamepad" /> - <Param name="const char *name" /> </Overload> </KeyWord> <KeyWord name="GetGamepadName" func="yes"> - <Overload retVal="const char" descr="Return gamepad internal name id"> + <Overload retVal="const char" descr="Get gamepad internal name id"> <Param name="int gamepad" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonPressed" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button has been pressed once"> + <Overload retVal="bool" descr="Check if a gamepad button has been pressed once"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonDown" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button is being pressed"> + <Overload retVal="bool" descr="Check if a gamepad button is being pressed"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonReleased" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button has been released once"> + <Overload retVal="bool" descr="Check if a gamepad button has been released once"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsGamepadButtonUp" func="yes"> - <Overload retVal="bool" descr="Detect if a gamepad button is NOT being pressed"> + <Overload retVal="bool" descr="Check if a gamepad button is NOT being pressed"> <Param name="int gamepad" /> <Param name="int button" /> </Overload> @@ -682,12 +711,12 @@ <Overload retVal="int" descr="Get the last gamepad button pressed"></Overload> </KeyWord> <KeyWord name="GetGamepadAxisCount" func="yes"> - <Overload retVal="int" descr="Return gamepad axis count for a gamepad"> + <Overload retVal="int" descr="Get gamepad axis count for a gamepad"> <Param name="int gamepad" /> </Overload> </KeyWord> <KeyWord name="GetGamepadAxisMovement" func="yes"> - <Overload retVal="float" descr="Return axis movement value for a gamepad axis"> + <Overload retVal="float" descr="Get axis movement value for a gamepad axis"> <Param name="int gamepad" /> <Param name="int axis" /> </Overload> @@ -700,33 +729,36 @@ <!-- Input-related functions: mouse --> <KeyWord name="IsMouseButtonPressed" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button has been pressed once"> + <Overload retVal="bool" descr="Check if a mouse button has been pressed once"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsMouseButtonDown" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button is being pressed"> + <Overload retVal="bool" descr="Check if a mouse button is being pressed"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsMouseButtonReleased" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button has been released once"> + <Overload retVal="bool" descr="Check if a mouse button has been released once"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="IsMouseButtonUp" func="yes"> - <Overload retVal="bool" descr="Detect if a mouse button is NOT being pressed"> + <Overload retVal="bool" descr="Check if a mouse button is NOT being pressed"> <Param name="int button" /> </Overload> </KeyWord> <KeyWord name="GetMouseX" func="yes"> - <Overload retVal="int" descr="Returns mouse position X"></Overload> + <Overload retVal="int" descr="Get mouse position X"></Overload> </KeyWord> <KeyWord name="GetMouseY" func="yes"> - <Overload retVal="int" descr="Returns mouse position Y"></Overload> + <Overload retVal="int" descr="Get mouse position Y"></Overload> </KeyWord> <KeyWord name="GetMousePosition" func="yes"> - <Overload retVal="Vector2" descr="Returns mouse position XY"></Overload> + <Overload retVal="Vector2" descr="Get mouse position XY"></Overload> + </KeyWord> + <KeyWord name="GetMouseDelta" func="yes"> + <Overload retVal="Vector2" descr="Get mouse delta between frames"></Overload> </KeyWord> <KeyWord name="SetMousePosition" func="yes"> <Overload retVal="void" descr="Set mouse position XY"> @@ -747,7 +779,7 @@ </Overload> </KeyWord> <KeyWord name="GetMouseWheelMove" func="yes"> - <Overload retVal="float" descr="Returns mouse wheel movement Y"></Overload> + <Overload retVal="float" descr="Get mouse wheel movement Y"></Overload> </KeyWord> <KeyWord name="SetMouseCursor" func="yes"> <Overload retVal="void" descr="Set mouse cursor"> @@ -757,19 +789,27 @@ <!-- Input-related functions: touch --> <KeyWord name="GetTouchX" func="yes"> - <Overload retVal="int" descr="Returns touch position X for touch point 0 (relative to screen size)"></Overload> + <Overload retVal="int" descr="Get touch position X for touch point 0 (relative to screen size)"></Overload> </KeyWord> <KeyWord name="GetTouchY" func="yes"> - <Overload retVal="int" descr="Returns touch position Y for touch point 0 (relative to screen size)"></Overload> + <Overload retVal="int" descr="Get touch position Y for touch point 0 (relative to screen size)"></Overload> </KeyWord> <KeyWord name="GetTouchPosition" func="yes"> - <Overload retVal="Vector2" descr="Returns touch position XY for a touch point index (relative to screen size)"> + <Overload retVal="Vector2" descr="Get touch position XY for a touch point index (relative to screen size)"> <Param name="int index" /> </Overload> </KeyWord> + <KeyWord name="GetTouchPointId" func="yes"> + <Overload retVal="int" descr="Get touch point identifier for given index"> + <Param name="int index" /> + </Overload> + </KeyWord> + <KeyWord name="GetTouchPointCount" func="yes"> + <Overload retVal="int" descr="Get number of touch points"></Overload> + </KeyWord> <!-------------------------------------------------------------------------------------- --> - <!-- Gestures and Touch Handling Functions (Module: gestures) --> + <!-- Gestures and Touch Handling Functions (Module: rgestures) --> <!-------------------------------------------------------------------------------------- --> <KeyWord name="SetGesturesEnabled" func="yes"> <Overload retVal="void" descr="Enable a set of gestures using flags"> @@ -784,9 +824,6 @@ <KeyWord name="GetGestureDetected" func="yes"> <Overload retVal="int" descr="Get latest detected gesture"></Overload> </KeyWord> - <KeyWord name="GetTouchPointsCount" func="yes"> - <Overload retVal="int" descr="Get touch points count"></Overload> - </KeyWord> <KeyWord name="GetGestureHoldDuration" func="yes"> <Overload retVal="float" descr="Get gesture hold time in milliseconds"></Overload> </KeyWord> @@ -804,7 +841,7 @@ </KeyWord> <!-------------------------------------------------------------------------------------- --> - <!-- Camera System Functions (Module: camera) --> + <!-- Camera System Functions (Module: rcamera) --> <!-------------------------------------------------------------------------------------- --> <KeyWord name="SetCameraMode" func="yes"> <Overload retVal="void" descr="Set camera mode (multiple camera modes available)"> @@ -904,7 +941,7 @@ </Overload> </KeyWord> <KeyWord name="DrawLineBezierQuad" func="yes"> - <Overload retVal="void" descr="raw line using quadratic bezier curves with a control point"> + <Overload retVal="void" descr="Draw line using quadratic bezier curves with a control point"> <Param name="Vector2 startPos" /> <Param name="Vector2 endPos" /> <Param name="Vector2 controlPos" /> @@ -912,10 +949,20 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawLineBezierCubic" func="yes"> + <Overload retVal="void" descr="Draw line using cubic bezier curves with 2 control points"> + <Param name="Vector2 startPos" /> + <Param name="Vector2 endPos" /> + <Param name="Vector2 startControlPos" /> + <Param name="Vector2 endControlPos" /> + <Param name="float thick" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawLineStrip" func="yes"> <Overload retVal="void" descr="Draw lines sequence"> <Param name="Vector2 *points" /> - <Param name="int pointsCount" /> + <Param name="int pointCount" /> <Param name="Color color" /> </Overload> </KeyWord> @@ -1082,7 +1129,7 @@ <KeyWord name="DrawRectangleLinesEx" func="yes"> <Overload retVal="void" descr="Draw rectangle outline with extended parameters"> <Param name="Rectangle rec" /> - <Param name="int lineThick" /> + <Param name="float lineThick" /> <Param name="Color color" /> </Overload> </KeyWord> @@ -1099,7 +1146,7 @@ <Param name="Rectangle rec" /> <Param name="float roundness" /> <Param name="int segments" /> - <Param name="int lineThick" /> + <Param name="float lineThick" /> <Param name="Color color" /> </Overload> </KeyWord> @@ -1122,14 +1169,14 @@ <KeyWord name="DrawTriangleFan" func="yes"> <Overload retVal="void" descr="Draw a triangle fan defined by points (first vertex is the center)"> <Param name="Vector2 *points" /> - <Param name="int pointsCount" /> + <Param name="int pointCount" /> <Param name="Color color" /> </Overload> </KeyWord> <KeyWord name="DrawTriangleStrip" func="yes"> <Overload retVal="void" descr="Draw a triangle strip defined by points"> <Param name="Vector2 *points" /> - <Param name="int pointsCount" /> + <Param name="int pointCount" /> <Param name="Color color" /> </Overload> </KeyWord> @@ -1151,6 +1198,16 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawPolyLinesEx" func="yes"> + <Overload retVal="void" descr="Draw a polygon outline of n sides with extended parameters"> + <Param name="Vector2 center" /> + <Param name="int sides" /> + <Param name="float radius" /> + <Param name="float rotation" /> + <Param name="float lineThick" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <!-- Basic shapes collision detection functions --> <KeyWord name="CheckCollisionRecs" func="yes"> @@ -1204,6 +1261,14 @@ <Param name="Vector2 *collisionPoint" /> </Overload> </KeyWord> + <KeyWord name="CheckCollisionPointLine" func="yes"> + <Overload retVal="bool" descr="Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]"> + <Param name="Vector2 point" /> + <Param name="Vector2 p1" /> + <Param name="Vector2 p2" /> + <Param name="int threshold" /> + </Overload> + </KeyWord> <KeyWord name="GetCollisionRec" func="yes"> <Overload retVal="Rectangle" descr="Get collision rectangle for two rectangles collision"> <Param name="Rectangle rec1" /> @@ -1238,12 +1303,20 @@ </Overload> </KeyWord> <KeyWord name="LoadImageFromMemory" func="yes"> - <Overload retVal="Image" descr="Load image from memory buffer, fileType refers to extension: i.e. ".png""> + <Overload retVal="Image" descr="Load image from memory buffer, fileType refers to extension: i.e. '.png'"> <Param name="const char *fileType" /> <Param name="const unsigned char" /> <Param name="int dataSize" /> </Overload> </KeyWord> + <KeyWord name="LoadImageFromTexture" func="yes"> + <Overload retVal="Image" descr="Load image from GPU texture data"> + <Param name="Texture2D texture" /> + </Overload> + </KeyWord> + <KeyWord name="LoadImageFromScreen" func="yes"> + <Overload retVal="Image" descr="Load image from screen buffer and (screenshot)"></Overload> + </KeyWord> <KeyWord name="UnloadImage" func="yes"> <Overload retVal="void" descr="Unload image from CPU memory (RAM)"> <Param name="Image image" /> @@ -1312,17 +1385,8 @@ <Param name="float factor" /> </Overload> </KeyWord> - <KeyWord name="GenImagePerlinNoise" func="yes"> - <Overload retVal="Image" descr="Generate image: perlin noise"> - <Param name="int width" /> - <Param name="int height" /> - <Param name="int offsetX" /> - <Param name="int offsetY" /> - <Param name="float scale" /> - </Overload> - </KeyWord> <KeyWord name="GenImageCellular" func="yes"> - <Overload retVal="Image" descr="Generate image: cellular algorithm. Bigger tileSize means bigger cells"> + <Overload retVal="Image" descr="Generate image: cellular algorithm, bigger tileSize means bigger cells"> <Param name="int width" /> <Param name="int height" /> <Param name="int tileSize" /> @@ -1424,7 +1488,7 @@ </Overload> </KeyWord> <KeyWord name="ImageMipmaps" func="yes"> - <Overload retVal="void" descr="Generate all mipmap levels for a provided image"> + <Overload retVal="void" descr="Compute all mipmap levels for a provided image"> <Param name="Image *image" /> </Overload> </KeyWord> @@ -1501,7 +1565,7 @@ <Overload retVal="Color" descr="Load colors palette from image as a Color array (RGBA - 32bit)"> <Param name="Image image" /> <Param name="int maxPaletteSize" /> - <Param name="int *colorsCount" /> + <Param name="int *colorCount" /> </Overload> </KeyWord> <KeyWord name="UnloadImageColors" func="yes"> @@ -1520,6 +1584,13 @@ <Param name="float threshold" /> </Overload> </KeyWord> + <KeyWord name="GetImageColor" func="yes"> + <Overload retVal="Color" descr="Get image pixel color at (x, y) position"> + <Param name="Image image" /> + <Param name="int x" /> + <Param name="int y" /> + </Overload> + </KeyWord> <!-- Image drawing functions --> <!-- NOTE: Image software-rendering functions (CPU) --> @@ -1690,14 +1761,6 @@ <Param name="const void *pixels" /> </Overload> </KeyWord> - <KeyWord name="GetTextureData" func="yes"> - <Overload retVal="Image" descr="Get pixel data from GPU texture and return an Image"> - <Param name="Texture2D texture" /> - </Overload> - </KeyWord> - <KeyWord name="GetScreenData" func="yes"> - <Overload retVal="Image" descr="Get pixel data from screen buffer and return an Image (screenshot)"></Overload> - </KeyWord> <!-- Texture configuration functions --> <KeyWord name="GenTextureMipmaps" func="yes"> @@ -1797,53 +1860,53 @@ <Param name="Vector2 center" /> <Param name="Vector2 *points" /> <Param name="Vector2 *texcoords" /> - <Param name="int pointsCount" /> + <Param name="int pointCount" /> <Param name="Color tint" /> </Overload> </KeyWord> <!-- Color/pixel related functions --> <KeyWord name="Fade" func="yes"> - <Overload retVal="Color" descr="Returns color with alpha applied, alpha goes from 0.0f to 1.0f"> + <Overload retVal="Color" descr="Get color with alpha applied, alpha goes from 0.0f to 1.0f"> <Param name="Color color" /> <Param name="float alpha" /> </Overload> </KeyWord> <KeyWord name="ColorToInt" func="yes"> - <Overload retVal="int" descr="Returns hexadecimal value for a Color"> + <Overload retVal="int" descr="Get hexadecimal value for a Color"> <Param name="Color color" /> </Overload> </KeyWord> <KeyWord name="ColorNormalize" func="yes"> - <Overload retVal="Vector4" descr="Returns Color normalized as float [0..1]"> + <Overload retVal="Vector4" descr="Get Color normalized as float [0..1]"> <Param name="Color color" /> </Overload> </KeyWord> <KeyWord name="ColorFromNormalized" func="yes"> - <Overload retVal="Color" descr="Returns Color from normalized values [0..1]"> + <Overload retVal="Color" descr="Get Color from normalized values [0..1]"> <Param name="Vector4 normalized" /> </Overload> </KeyWord> <KeyWord name="ColorToHSV" func="yes"> - <Overload retVal="Vector3" descr="Returns HSV values for a Color"> + <Overload retVal="Vector3" descr="Get HSV values for a Color, hue [0..360], saturation/value [0..1]"> <Param name="Color color" /> </Overload> </KeyWord> <KeyWord name="ColorFromHSV" func="yes"> - <Overload retVal="Color" descr="Returns a Color from HSV values"> + <Overload retVal="Color" descr="Get a Color from HSV values, hue [0..360], saturation/value [0..1]"> <Param name="float hue" /> <Param name="float saturation" /> <Param name="float value" /> </Overload> </KeyWord> <KeyWord name="ColorAlpha" func="yes"> - <Overload retVal="Color" descr="Returns color with alpha applied, alpha goes from 0.0f to 1.0f"> + <Overload retVal="Color" descr="Get color with alpha applied, alpha goes from 0.0f to 1.0f"> <Param name="Color color" /> <Param name="float alpha" /> </Overload> </KeyWord> <KeyWord name="ColorAlphaBlend" func="yes"> - <Overload retVal="Color" descr="Returns src alpha-blended into dst color with tint"> + <Overload retVal="Color" descr="Get src alpha-blended into dst color with tint"> <Param name="Color dst" /> <Param name="Color src" /> <Param name="Color tint" /> @@ -1851,7 +1914,7 @@ </KeyWord> <KeyWord name="GetColor" func="yes"> <Overload retVal="Color" descr="Get Color structure from hexadecimal value"> - <Param name="int hexValue" /> + <Param name="unsigned int hexValue" /> </Overload> </KeyWord> <KeyWord name="GetPixelColor" func="yes"> @@ -1886,7 +1949,7 @@ <Param name="const char *fileName" /> <Param name="int fontSize" /> <Param name="int *fontChars" /> - <Param name="int charsCount" /> + <Param name="int glyphCount" /> </Overload> </KeyWord> <KeyWord name="LoadFontFromImage" func="yes"> @@ -1897,30 +1960,30 @@ </Overload> </KeyWord> <KeyWord name="LoadFontFromMemory" func="yes"> - <Overload retVal="Font" descr="Load font from memory buffer, fileType refers to extension: i.e. ".ttf""> + <Overload retVal="Font" descr="Load font from memory buffer, fileType refers to extension: i.e. '.ttf'"> <Param name="const char *fileType" /> <Param name="const unsigned char" /> <Param name="int dataSize" /> <Param name="int fontSize" /> <Param name="int *fontChars" /> - <Param name="int charsCount" /> + <Param name="int glyphCount" /> </Overload> </KeyWord> <KeyWord name="LoadFontData" func="yes"> - <Overload retVal="CharInfo" descr="Load font data for further use"> + <Overload retVal="GlyphInfo" descr="Load font data for further use"> <Param name="const unsigned char" /> <Param name="int dataSize" /> <Param name="int fontSize" /> <Param name="int *fontChars" /> - <Param name="int charsCount" /> + <Param name="int glyphCount" /> <Param name="int type" /> </Overload> </KeyWord> <KeyWord name="GenImageFontAtlas" func="yes"> <Overload retVal="Image" descr="Generate image font atlas using chars info"> - <Param name="const CharInfo *chars" /> + <Param name="const GlyphInfo *chars" /> <Param name="Rectangle **recs" /> - <Param name="int charsCount" /> + <Param name="int glyphCount" /> <Param name="int fontSize" /> <Param name="int padding" /> <Param name="int packMethod" /> @@ -1928,8 +1991,8 @@ </KeyWord> <KeyWord name="UnloadFontData" func="yes"> <Overload retVal="void" descr="Unload font chars info data (RAM)"> - <Param name="CharInfo *chars" /> - <Param name="int charsCount" /> + <Param name="GlyphInfo *chars" /> + <Param name="int glyphCount" /> </Overload> </KeyWord> <KeyWord name="UnloadFont" func="yes"> @@ -1964,29 +2027,16 @@ <Param name="Color tint" /> </Overload> </KeyWord> - <KeyWord name="DrawTextRec" func="yes"> - <Overload retVal="void" descr="Draw text using font inside rectangle limits"> - <Param name="Font font" /> - <Param name="const char *text" /> - <Param name="Rectangle rec" /> - <Param name="float fontSize" /> - <Param name="float spacing" /> - <Param name="bool wordWrap" /> - <Param name="Color tint" /> - </Overload> - </KeyWord> - <KeyWord name="DrawTextRecEx" func="yes"> - <Overload retVal="void" descr="Draw text using font inside rectangle limits with support for text selection"> + <KeyWord name="DrawTextPro" func="yes"> + <Overload retVal="void" descr="Draw text using Font and pro parameters (rotation)"> <Param name="Font font" /> <Param name="const char *text" /> - <Param name="Rectangle rec" /> + <Param name="Vector2 position" /> + <Param name="Vector2 origin" /> + <Param name="float rotation" /> <Param name="float fontSize" /> <Param name="float spacing" /> - <Param name="bool wordWrap" /> <Param name="Color tint" /> - <Param name="int selectStart" /> - <Param name="int selectLength" /> - <Param name="Color sconst" /> </Overload> </KeyWord> <KeyWord name="DrawTextCodepoint" func="yes"> @@ -1999,7 +2049,7 @@ </Overload> </KeyWord> - <!-- Text misc. functions --> + <!-- Text font info functions --> <KeyWord name="MeasureText" func="yes"> <Overload retVal="int" descr="Measure string width for default font"> <Param name="const char *text" /> @@ -2015,13 +2065,61 @@ </Overload> </KeyWord> <KeyWord name="GetGlyphIndex" func="yes"> - <Overload retVal="int" descr="Get index position for a unicode character on font"> + <Overload retVal="int" descr="Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found"> + <Param name="Font font" /> + <Param name="int codepoint" /> + </Overload> + </KeyWord> + <KeyWord name="GetGlyphInfo" func="yes"> + <Overload retVal="GlyphInfo" descr="Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found"> + <Param name="Font font" /> + <Param name="int codepoint" /> + </Overload> + </KeyWord> + <KeyWord name="GetGlyphAtlasRec" func="yes"> + <Overload retVal="Rectangle" descr="Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found"> <Param name="Font font" /> <Param name="int codepoint" /> </Overload> </KeyWord> - <!-- Text strings management functions (no utf8 strings, only byte chars) --> + <!-- Text codepoints management functions (unicode characters) --> + <KeyWord name="LoadCodepoints" func="yes"> + <Overload retVal="int" descr="Load all codepoints from a UTF-8 text string, codepoints count returned by parameter"> + <Param name="const char *text" /> + <Param name="int *count" /> + </Overload> + </KeyWord> + <KeyWord name="UnloadCodepoints" func="yes"> + <Overload retVal="void" descr="Unload codepoints data from memory"> + <Param name="int *codepoints" /> + </Overload> + </KeyWord> + <KeyWord name="GetCodepointCount" func="yes"> + <Overload retVal="int" descr="Get total number of codepoints in a UTF-8 encoded string"> + <Param name="const char *text" /> + </Overload> + </KeyWord> + <KeyWord name="GetCodepoint" func="yes"> + <Overload retVal="int" descr="Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure"> + <Param name="const char *text" /> + <Param name="int *bytesProcessed" /> + </Overload> + </KeyWord> + <KeyWord name="CodepointToUTF8" func="yes"> + <Overload retVal="const char" descr="Encode one codepoint into UTF-8 byte array (array length returned as parameter)"> + <Param name="int codepoint" /> + <Param name="int *byteSize" /> + </Overload> + </KeyWord> + <KeyWord name="TextCodepointsToUTF8" func="yes"> + <Overload retVal="char" descr="Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)"> + <Param name="int *codepoints" /> + <Param name="int length" /> + </Overload> + </KeyWord> + + <!-- Text strings management functions (no UTF-8 strings, only byte chars) --> <!-- NOTE: Some strings allocate memory internally for returned strings, just be careful! --> <KeyWord name="TextCopy" func="yes"> <Overload retVal="int" descr="Copy one string to another, returns bytes copied"> @@ -2041,7 +2139,7 @@ </Overload> </KeyWord> <KeyWord name="TextFormat" func="yes"> - <Overload retVal="const char" descr="Text formatting with variables (sprintf style)"> + <Overload retVal="const char" descr="Text formatting with variables (sprintf() style)"> <Param name="const char *text" /> <Param name="..." /> </Overload> @@ -2054,14 +2152,14 @@ </Overload> </KeyWord> <KeyWord name="TextReplace" func="yes"> - <Overload retVal="char" descr="Replace text string (memory must be freed!)"> + <Overload retVal="char" descr="Replace text string (WARNING: memory must be freed!)"> <Param name="char *text" /> <Param name="const char *replace" /> <Param name="const char *by" /> </Overload> </KeyWord> <KeyWord name="TextInsert" func="yes"> - <Overload retVal="char" descr="Insert text in a position (memory must be freed!)"> + <Overload retVal="char" descr="Insert text in a position (WARNING: memory must be freed!)"> <Param name="const char *text" /> <Param name="const char *insert" /> <Param name="int position" /> @@ -2114,37 +2212,6 @@ <Param name="const char *text" /> </Overload> </KeyWord> - <KeyWord name="TextToUtf8" func="yes"> - <Overload retVal="char" descr="Encode text codepoint into utf8 text (memory must be freed!)"> - <Param name="int *codepoints" /> - <Param name="int length" /> - </Overload> - </KeyWord> - - <!-- UTF8 text strings management functions --> - <KeyWord name="GetCodepoints" func="yes"> - <Overload retVal="int" descr="Get all codepoints in a string, codepoints count returned by parameters"> - <Param name="const char *text" /> - <Param name="int *count" /> - </Overload> - </KeyWord> - <KeyWord name="GetCodepointsCount" func="yes"> - <Overload retVal="int" descr="Get total number of characters (codepoints) in a UTF8 encoded string"> - <Param name="const char *text" /> - </Overload> - </KeyWord> - <KeyWord name="GetNextCodepoint" func="yes"> - <Overload retVal="int" descr="Returns next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure"> - <Param name="const char *text" /> - <Param name="int *bytesProcessed" /> - </Overload> - </KeyWord> - <KeyWord name="CodepointToUtf8" func="yes"> - <Overload retVal="const char" descr="Encode codepoint into utf8 text (char array length returned as parameter)"> - <Param name="int codepoint" /> - <Param name="int *byteLength" /> - </Overload> - </KeyWord> <!-------------------------------------------------------------------------------------- --> <!-- Basic 3d Shapes Drawing Functions (Module: models) --> @@ -2184,7 +2251,7 @@ <KeyWord name="DrawTriangleStrip3D" func="yes"> <Overload retVal="void" descr="Draw a triangle strip defined by points"> <Param name="Vector3 *points" /> - <Param name="int pointsCount" /> + <Param name="int pointCount" /> <Param name="Color color" /> </Overload> </KeyWord> @@ -2230,6 +2297,17 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawCubeTextureRec" func="yes"> + <Overload retVal="void" descr="Draw cube with a region of a texture"> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Vector3 position" /> + <Param name="float width" /> + <Param name="float height" /> + <Param name="float length" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawSphere" func="yes"> <Overload retVal="void" descr="Draw sphere"> <Param name="Vector3 centerPos" /> @@ -2265,6 +2343,16 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawCylinderEx" func="yes"> + <Overload retVal="void" descr="Draw a cylinder with base at startPos and top at endPos"> + <Param name="Vector3 startPos" /> + <Param name="Vector3 endPos" /> + <Param name="float startRadius" /> + <Param name="float endRadius" /> + <Param name="int sides" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawCylinderWires" func="yes"> <Overload retVal="void" descr="Draw a cylinder/cone wires"> <Param name="Vector3 position" /> @@ -2275,6 +2363,16 @@ <Param name="Color color" /> </Overload> </KeyWord> + <KeyWord name="DrawCylinderWiresEx" func="yes"> + <Overload retVal="void" descr="Draw a cylinder wires with base at startPos and top at endPos"> + <Param name="Vector3 startPos" /> + <Param name="Vector3 endPos" /> + <Param name="float startRadius" /> + <Param name="float endRadius" /> + <Param name="int sides" /> + <Param name="Color color" /> + </Overload> + </KeyWord> <KeyWord name="DrawPlane" func="yes"> <Overload retVal="void" descr="Draw a plane XZ"> <Param name="Vector3 centerPos" /> @@ -2299,7 +2397,7 @@ <!-- Model 3d Loading and Drawing Functions (Module: models) --> <!-------------------------------------------------------------------------------------- --> - <!-- Model loading/unloading functions --> + <!-- Model management functions --> <KeyWord name="LoadModel" func="yes"> <Overload retVal="Model" descr="Load model from files (meshes and materials)"> <Param name="const char *fileName" /> @@ -2320,14 +2418,105 @@ <Param name="Model model" /> </Overload> </KeyWord> + <KeyWord name="GetModelBoundingBox" func="yes"> + <Overload retVal="BoundingBox" descr="Compute model bounding box limits (considers all meshes)"> + <Param name="Model model" /> + </Overload> + </KeyWord> - <!-- Mesh loading/unloading functions --> + <!-- Model drawing functions --> + <KeyWord name="DrawModel" func="yes"> + <Overload retVal="void" descr="Draw a model (with texture if set)"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="float scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawModelEx" func="yes"> + <Overload retVal="void" descr="Draw a model with extended parameters"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="Vector3 rotationAxis" /> + <Param name="float rotationAngle" /> + <Param name="Vector3 scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawModelWires" func="yes"> + <Overload retVal="void" descr="Draw a model wires (with texture if set)"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="float scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawModelWiresEx" func="yes"> + <Overload retVal="void" descr="Draw a model wires (with texture if set) with extended parameters"> + <Param name="Model model" /> + <Param name="Vector3 position" /> + <Param name="Vector3 rotationAxis" /> + <Param name="float rotationAngle" /> + <Param name="Vector3 scale" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBoundingBox" func="yes"> + <Overload retVal="void" descr="Draw bounding box (wires)"> + <Param name="BoundingBox box" /> + <Param name="Color color" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBillboard" func="yes"> + <Overload retVal="void" descr="Draw a billboard texture"> + <Param name="Camera camera" /> + <Param name="Texture2D texture" /> + <Param name="Vector3 position" /> + <Param name="float size" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBillboardRec" func="yes"> + <Overload retVal="void" descr="Draw a billboard texture defined by source"> + <Param name="Camera camera" /> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Vector3 position" /> + <Param name="Vector2 size" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + <KeyWord name="DrawBillboardPro" func="yes"> + <Overload retVal="void" descr="Draw a billboard texture defined by source and rotation"> + <Param name="Camera camera" /> + <Param name="Texture2D texture" /> + <Param name="Rectangle source" /> + <Param name="Vector3 position" /> + <Param name="Vector3 up" /> + <Param name="Vector2 size" /> + <Param name="Vector2 origin" /> + <Param name="float rotation" /> + <Param name="Color tint" /> + </Overload> + </KeyWord> + + <!-- Mesh management functions --> <KeyWord name="UploadMesh" func="yes"> - <Overload retVal="void" descr="Upload vertex data into GPU and provided VAO/VBO ids"> + <Overload retVal="void" descr="Upload mesh vertex data in GPU and provide VAO/VBO ids"> <Param name="Mesh *mesh" /> <Param name="bool dynamic" /> </Overload> </KeyWord> + <KeyWord name="UpdateMeshBuffer" func="yes"> + <Overload retVal="void" descr="Update mesh vertex data in GPU for a specific buffer index"> + <Param name="Mesh mesh" /> + <Param name="int index" /></Overload> + </KeyWord> + <KeyWord name="UnloadMesh" func="yes"> + <Overload retVal="void" descr="Unload mesh data from CPU and GPU"> + <Param name="Mesh mesh" /> + </Overload> + </KeyWord> <KeyWord name="DrawMesh" func="yes"> <Overload retVal="void" descr="Draw a 3d mesh with material and transform"> <Param name="Mesh mesh" /> @@ -2343,86 +2532,29 @@ <Param name="int instances" /> </Overload> </KeyWord> - <KeyWord name="UnloadMesh" func="yes"> - <Overload retVal="void" descr="Unload mesh data from CPU and GPU"> - <Param name="Mesh mesh" /> - </Overload> - </KeyWord> <KeyWord name="ExportMesh" func="yes"> <Overload retVal="bool" descr="Export mesh data to file, returns true on success"> <Param name="Mesh mesh" /> <Param name="const char *fileName" /> </Overload> </KeyWord> - - <!-- Material loading/unloading functions --> - <KeyWord name="LoadMaterials" func="yes"> - <Overload retVal="Material" descr="Load materials from model file"> - <Param name="const char *fileName" /> - <Param name="int *materialCount" /> - </Overload> - </KeyWord> - <KeyWord name="LoadMaterialDefault" func="yes"> - <Overload retVal="Material" descr="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"></Overload> - </KeyWord> - <KeyWord name="UnloadMaterial" func="yes"> - <Overload retVal="void" descr="Unload material from GPU memory (VRAM)"> - <Param name="Material material" /> - </Overload> - </KeyWord> - <KeyWord name="SetMaterialTexture" func="yes"> - <Overload retVal="void" descr="Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)"> - <Param name="Material *material" /> - <Param name="int mapType" /> - <Param name="Texture2D texture" /> - </Overload> - </KeyWord> - <KeyWord name="SetModelMeshMaterial" func="yes"> - <Overload retVal="void" descr="Set material for a mesh"> - <Param name="Model *model" /> - <Param name="int meshId" /> - <Param name="int materialId" /> - </Overload> - </KeyWord> - - <!-- Model animations loading/unloading functions --> - <KeyWord name="LoadModelAnimations" func="yes"> - <Overload retVal="ModelAnimation" descr="Load model animations from file"> - <Param name="const char *fileName" /> - <Param name="int *animsCount" /> - </Overload> - </KeyWord> - <KeyWord name="UpdateModelAnimation" func="yes"> - <Overload retVal="void" descr="Update model animation pose"> - <Param name="Model model" /> - <Param name="ModelAnimation anim" /> - <Param name="int frame" /> - </Overload> - </KeyWord> - <KeyWord name="UnloadModelAnimation" func="yes"> - <Overload retVal="void" descr="Unload animation data"> - <Param name="ModelAnimation anim" /> + <KeyWord name="GetMeshBoundingBox" func="yes"> + <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits"> + <Param name="Mesh mesh" /> </Overload> </KeyWord> - <KeyWord name="UnloadModelAnimations" func="yes"> - <Overload retVal="void" descr="Unload animation array data"> - <Param name="ModelAnimation* animations" /> - <Param name="unsigned int count" /> + <KeyWord name="GenMeshTangents" func="yes"> + <Overload retVal="void" descr="Compute mesh tangents"> + <Param name="Mesh *mesh" /> </Overload> </KeyWord> - <KeyWord name="IsModelAnimationValid" func="yes"> - <Overload retVal="bool" descr="Check model animation skeleton match"> - <Param name="Model model" /> - <Param name="ModelAnimation anim" /> + <KeyWord name="GenMeshBinormals" func="yes"> + <Overload retVal="void" descr="Compute mesh binormals"> + <Param name="Mesh *mesh" /> </Overload> </KeyWord> <!-- Mesh generation functions --> - <KeyWord name="GenMeshDefault" func="yes"> - <Overload retVal="Mesh" descr="Generate an empty mesh with vertex: position, texcoords, normals, colors"> - <Param name="int vertexCount" /> - </Overload> - </KeyWord> <KeyWord name="GenMeshPoly" func="yes"> <Overload retVal="Mesh" descr="Generate polygonal mesh"> <Param name="int sides" /> @@ -2465,6 +2597,13 @@ <Param name="int slices" /> </Overload> </KeyWord> + <KeyWord name="GenMeshCone" func="yes"> + <Overload retVal="Mesh" descr="Generate cone/pyramid mesh"> + <Param name="float radius" /> + <Param name="float height" /> + <Param name="int slices" /> + </Overload> + </KeyWord> <KeyWord name="GenMeshTorus" func="yes"> <Overload retVal="Mesh" descr="Generate torus mesh"> <Param name="float radius" /> @@ -2494,89 +2633,71 @@ </Overload> </KeyWord> - <!-- Mesh manipulation functions --> - <KeyWord name="GetMeshBoundingBox" func="yes"> - <Overload retVal="BoundingBox" descr="Compute mesh bounding box limits"> - <Param name="Mesh mesh" /> + <!-- Material loading/unloading functions --> + <KeyWord name="LoadMaterials" func="yes"> + <Overload retVal="Material" descr="Load materials from model file"> + <Param name="const char *fileName" /> + <Param name="int *materialCount" /> </Overload> </KeyWord> - <KeyWord name="MeshTangents" func="yes"> - <Overload retVal="void" descr="Compute mesh tangents"> - <Param name="Mesh *mesh" /> - </Overload> + <KeyWord name="LoadMaterialDefault" func="yes"> + <Overload retVal="Material" descr="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"></Overload> </KeyWord> - <KeyWord name="MeshBinormals" func="yes"> - <Overload retVal="void" descr="Compute mesh binormals"> - <Param name="Mesh *mesh" /> + <KeyWord name="UnloadMaterial" func="yes"> + <Overload retVal="void" descr="Unload material from GPU memory (VRAM)"> + <Param name="Material material" /> </Overload> </KeyWord> - - <!-- Model drawing functions --> - <KeyWord name="DrawModel" func="yes"> - <Overload retVal="void" descr="Draw a model (with texture if set)"> - <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="float scale" /> - <Param name="Color tint" /> + <KeyWord name="SetMaterialTexture" func="yes"> + <Overload retVal="void" descr="Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)"> + <Param name="Material *material" /> + <Param name="int mapType" /> + <Param name="Texture2D texture" /> </Overload> </KeyWord> - <KeyWord name="DrawModelEx" func="yes"> - <Overload retVal="void" descr="Draw a model with extended parameters"> - <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="Vector3 rotationAxis" /> - <Param name="float rotationAngle" /> - <Param name="Vector3 scale" /> - <Param name="Color tint" /> + <KeyWord name="SetModelMeshMaterial" func="yes"> + <Overload retVal="void" descr="Set material for a mesh"> + <Param name="Model *model" /> + <Param name="int meshId" /> + <Param name="int materialId" /> </Overload> </KeyWord> - <KeyWord name="DrawModelWires" func="yes"> - <Overload retVal="void" descr="Draw a model wires (with texture if set)"> - <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="float scale" /> - <Param name="Color tint" /> + + <!-- Model animations loading/unloading functions --> + <KeyWord name="LoadModelAnimations" func="yes"> + <Overload retVal="ModelAnimation" descr="Load model animations from file"> + <Param name="const char *fileName" /> + <Param name="unsigned int *animCount" /> </Overload> </KeyWord> - <KeyWord name="DrawModelWiresEx" func="yes"> - <Overload retVal="void" descr="Draw a model wires (with texture if set) with extended parameters"> + <KeyWord name="UpdateModelAnimation" func="yes"> + <Overload retVal="void" descr="Update model animation pose"> <Param name="Model model" /> - <Param name="Vector3 position" /> - <Param name="Vector3 rotationAxis" /> - <Param name="float rotationAngle" /> - <Param name="Vector3 scale" /> - <Param name="Color tint" /> + <Param name="ModelAnimation anim" /> + <Param name="int frame" /> </Overload> </KeyWord> - <KeyWord name="DrawBoundingBox" func="yes"> - <Overload retVal="void" descr="Draw bounding box (wires)"> - <Param name="BoundingBox box" /> - <Param name="Color color" /> + <KeyWord name="UnloadModelAnimation" func="yes"> + <Overload retVal="void" descr="Unload animation data"> + <Param name="ModelAnimation anim" /> </Overload> </KeyWord> - <KeyWord name="DrawBillboard" func="yes"> - <Overload retVal="void" descr="Draw a billboard texture"> - <Param name="Camera camera" /> - <Param name="Texture2D texture" /> - <Param name="Vector3 center" /> - <Param name="float size" /> - <Param name="Color tint" /> + <KeyWord name="UnloadModelAnimations" func="yes"> + <Overload retVal="void" descr="Unload animation array data"> + <Param name="ModelAnimation* animations" /> + <Param name="unsigned int count" /> </Overload> </KeyWord> - <KeyWord name="DrawBillboardRec" func="yes"> - <Overload retVal="void" descr="Draw a billboard texture defined by source"> - <Param name="Camera camera" /> - <Param name="Texture2D texture" /> - <Param name="Rectangle source" /> - <Param name="Vector3 center" /> - <Param name="float size" /> - <Param name="Color tint" /> + <KeyWord name="IsModelAnimationValid" func="yes"> + <Overload retVal="bool" descr="Check model animation skeleton match"> + <Param name="Model model" /> + <Param name="ModelAnimation anim" /> </Overload> </KeyWord> <!-- Collision detection functions --> <KeyWord name="CheckCollisionSpheres" func="yes"> - <Overload retVal="bool" descr="Detect collision between two spheres"> + <Overload retVal="bool" descr="Check collision between two spheres"> <Param name="Vector3 center1" /> <Param name="float radius1" /> <Param name="Vector3 center2" /> @@ -2584,64 +2705,59 @@ </Overload> </KeyWord> <KeyWord name="CheckCollisionBoxes" func="yes"> - <Overload retVal="bool" descr="Detect collision between two bounding boxes"> + <Overload retVal="bool" descr="Check collision between two bounding boxes"> <Param name="BoundingBox box1" /> <Param name="BoundingBox box2" /> </Overload> </KeyWord> <KeyWord name="CheckCollisionBoxSphere" func="yes"> - <Overload retVal="bool" descr="Detect collision between box and sphere"> + <Overload retVal="bool" descr="Check collision between box and sphere"> <Param name="BoundingBox box" /> <Param name="Vector3 center" /> <Param name="float radius" /> </Overload> </KeyWord> - <KeyWord name="CheckCollisionRaySphere" func="yes"> - <Overload retVal="bool" descr="Detect collision between ray and sphere"> + <KeyWord name="GetRayCollisionSphere" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and sphere"> <Param name="Ray ray" /> <Param name="Vector3 center" /> <Param name="float radius" /> </Overload> </KeyWord> - <KeyWord name="CheckCollisionRaySphereEx" func="yes"> - <Overload retVal="bool" descr="Detect collision between ray and sphere, returns collision point"> + <KeyWord name="GetRayCollisionBox" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and box"> <Param name="Ray ray" /> - <Param name="Vector3 center" /> - <Param name="float radius" /> - <Param name="Vector3 *collisionPoint" /> + <Param name="BoundingBox box" /> </Overload> </KeyWord> - <KeyWord name="CheckCollisionRayBox" func="yes"> - <Overload retVal="bool" descr="Detect collision between ray and box"> + <KeyWord name="GetRayCollisionModel" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and model"> <Param name="Ray ray" /> - <Param name="BoundingBox box" /> + <Param name="Model model" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRayMesh" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and mesh"> + <KeyWord name="GetRayCollisionMesh" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and mesh"> <Param name="Ray ray" /> <Param name="Mesh mesh" /> <Param name="Matrix transform" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRayModel" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and model"> - <Param name="Ray ray" /> - <Param name="Model model" /> - </Overload> - </KeyWord> - <KeyWord name="GetCollisionRayTriangle" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and triangle"> + <KeyWord name="GetRayCollisionTriangle" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and triangle"> <Param name="Ray ray" /> <Param name="Vector3 p1" /> <Param name="Vector3 p2" /> <Param name="Vector3 p3" /> </Overload> </KeyWord> - <KeyWord name="GetCollisionRayGround" func="yes"> - <Overload retVal="RayHitInfo" descr="Get collision info between ray and ground plane (Y-normal plane)"> + <KeyWord name="GetRayCollisionQuad" func="yes"> + <Overload retVal="RayCollision" descr="Get collision info between ray and quad"> <Param name="Ray ray" /> - <Param name="float groundHeight" /> + <Param name="Vector3 p1" /> + <Param name="Vector3 p2" /> + <Param name="Vector3 p3" /> + <Param name="Vector3 p4" /> </Overload> </KeyWord> @@ -2672,7 +2788,7 @@ </Overload> </KeyWord> <KeyWord name="LoadWaveFromMemory" func="yes"> - <Overload retVal="Wave" descr="Load wave from memory buffer, fileType refers to extension: i.e. ".wav""> + <Overload retVal="Wave" descr="Load wave from memory buffer, fileType refers to extension: i.e. '.wav'"> <Param name="const char *fileType" /> <Param name="const unsigned char" /> <Param name="int dataSize" /> @@ -2692,7 +2808,7 @@ <Overload retVal="void" descr="Update sound buffer with new data"> <Param name="Sound sound" /> <Param name="const void *data" /> - <Param name="int samplesCount" /> + <Param name="int sampleCount" /> </Overload> </KeyWord> <KeyWord name="UnloadWave" func="yes"> @@ -2807,7 +2923,7 @@ <KeyWord name="LoadMusicStreamFromMemory" func="yes"> <Overload retVal="Music" descr="Load music stream from data"> <Param name="const char *fileType" /> - <Param name="unsigned char* data" /> + <Param name="unsigned char *data" /> <Param name="int dataSize" /> </Overload> </KeyWord> @@ -2821,7 +2937,7 @@ <Param name="Music music" /> </Overload> </KeyWord> - <KeyWord name="IsMusicPlaying" func="yes"> + <KeyWord name="IsMusicStreamPlaying" func="yes"> <Overload retVal="bool" descr="Check if music is playing"> <Param name="Music music" /> </Overload> @@ -2846,6 +2962,12 @@ <Param name="Music music" /> </Overload> </KeyWord> + <KeyWord name="SeekMusicStream" func="yes"> + <Overload retVal="void" descr="Seek music to a position (in seconds)"> + <Param name="Music music" /> + <Param name="float position" /> + </Overload> + </KeyWord> <KeyWord name="SetMusicVolume" func="yes"> <Overload retVal="void" descr="Set volume for music (1.0 is max level)"> <Param name="Music music" /> @@ -2870,23 +2992,23 @@ </KeyWord> <!-- AudioStream management functions --> - <KeyWord name="InitAudioStream" func="yes"> - <Overload retVal="AudioStream" descr="Init audio stream (to stream raw audio pcm data)"> + <KeyWord name="LoadAudioStream" func="yes"> + <Overload retVal="AudioStream" descr="Load audio stream (to stream raw audio pcm data)"> <Param name="unsigned int sampleRate" /> <Param name="unsigned int sampleSize" /> <Param name="unsigned int channels" /> </Overload> </KeyWord> - <KeyWord name="UpdateAudioStream" func="yes"> - <Overload retVal="void" descr="Update audio stream buffers with data"> + <KeyWord name="UnloadAudioStream" func="yes"> + <Overload retVal="void" descr="Unload audio stream and free memory"> <Param name="AudioStream stream" /> - <Param name="const void *data" /> - <Param name="int samplesCount" /> </Overload> </KeyWord> - <KeyWord name="CloseAudioStream" func="yes"> - <Overload retVal="void" descr="Close audio stream and free memory"> + <KeyWord name="UpdateAudioStream" func="yes"> + <Overload retVal="void" descr="Update audio stream buffers with data"> <Param name="AudioStream stream" /> + <Param name="const void *data" /> + <Param name="int frameCount" /> </Overload> </KeyWord> <KeyWord name="IsAudioStreamProcessed" func="yes"> diff --git a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h index 1281fa69..85b35a40 100644 --- a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +++ b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h @@ -43,27 +43,35 @@ RLAPI const char *GetMonitorName(int monitor); // Get the hum RLAPI void SetClipboardText(const char *text); // Set clipboard text content RLAPI const char *GetClipboardText(void); // Get clipboard text content +// Custom frame control functions +// NOTE: Those functions are intended for advance users that want full control over the frame processing +// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timming + PollInputEvents() +// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL +RLAPI void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing) +RLAPI void PollInputEvents(void); // Register all input events +RLAPI void WaitTime(float ms); // Wait for some milliseconds (halt program execution) + // Cursor-related functions RLAPI void ShowCursor(void); // Shows cursor RLAPI void HideCursor(void); // Hides cursor RLAPI bool IsCursorHidden(void); // Check if cursor is not visible RLAPI void EnableCursor(void); // Enables cursor (unlock cursor) RLAPI void DisableCursor(void); // Disables cursor (lock cursor) -RLAPI bool IsCursorOnScreen(void); // Check if cursor is on the current screen. +RLAPI bool IsCursorOnScreen(void); // Check if cursor is on the screen // Drawing-related functions RLAPI void ClearBackground(Color color); // Set background color (framebuffer clear color) RLAPI void BeginDrawing(void); // Setup canvas (framebuffer) to start drawing RLAPI void EndDrawing(void); // End canvas drawing and swap buffers (double buffering) -RLAPI void BeginMode2D(Camera2D camera); // Initialize 2D mode with custom camera (2D) +RLAPI void BeginMode2D(Camera2D camera); // Begin 2D mode with custom camera (2D) RLAPI void EndMode2D(void); // Ends 2D mode with custom camera -RLAPI void BeginMode3D(Camera3D camera); // Initializes 3D mode with custom camera (3D) +RLAPI void BeginMode3D(Camera3D camera); // Begin 3D mode with custom camera (3D) RLAPI void EndMode3D(void); // Ends 3D mode and returns to default 2D orthographic mode -RLAPI void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing +RLAPI void BeginTextureMode(RenderTexture2D target); // Begin drawing to render texture RLAPI void EndTextureMode(void); // Ends drawing to render texture RLAPI void BeginShaderMode(Shader shader); // Begin custom shader drawing RLAPI void EndShaderMode(void); // End custom shader drawing (use default shader) -RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) +RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied, subtract, custom) RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) RLAPI void BeginScissorMode(int x, int y, int width, int height); // Begin scissor mode (define screen area for following drawing) RLAPI void EndScissorMode(void); // End scissor mode @@ -87,26 +95,27 @@ RLAPI void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) // Screen-space-related functions -RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Returns a ray trace from mouse position -RLAPI Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) -RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Returns camera 2d transform matrix -RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position for a 3d world space position -RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Returns size position for a 3d world space position -RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Returns the screen space position for a 2d camera world space position -RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Returns the world space position for a 2d camera screen space position +RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position +RLAPI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix) +RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix +RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position +RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position +RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position +RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position // Timing-related functions RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum) -RLAPI int GetFPS(void); // Returns current FPS -RLAPI float GetFrameTime(void); // Returns time in seconds for last frame drawn (delta time) -RLAPI double GetTime(void); // Returns elapsed time in seconds since InitWindow() +RLAPI int GetFPS(void); // Get current FPS +RLAPI float GetFrameTime(void); // Get time in seconds for last frame drawn (delta time) +RLAPI double GetTime(void); // Get elapsed time in seconds since InitWindow() // Misc. functions -RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) +RLAPI int GetRandomValue(int min, int max); // Get a random value between min and max (both included) +RLAPI void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator RLAPI void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format) RLAPI void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS) -RLAPI void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR) +RLAPI void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) RLAPI void SetTraceLogLevel(int logLevel); // Set the current threshold (minimum) log level RLAPI void *MemAlloc(int size); // Internal memory allocator RLAPI void *MemRealloc(void *ptr, int size); // Internal memory reallocator @@ -125,12 +134,12 @@ RLAPI unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead) RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData() RLAPI bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success RLAPI char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string -RLAPI void UnloadFileText(unsigned char *text); // Unload file text data allocated by LoadFileText() +RLAPI void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText() RLAPI bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success RLAPI bool FileExists(const char *fileName); // Check if file exists RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists -RLAPI bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (including point: .png, .wav) -RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: ".png") +RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension (including point: .png, .wav) +RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png') RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string) RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string) @@ -144,8 +153,11 @@ RLAPI char **GetDroppedFiles(int *count); // Get dropped RLAPI void ClearDroppedFiles(void); // Clear dropped files paths buffer (free memory) RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time) +// Compression/Encoding functionality RLAPI unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); // Compress data (DEFLATE algorithm) RLAPI unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); // Decompress data (DEFLATE algorithm) +RLAPI char *EncodeDataBase64(const unsigned char *data, int dataLength, int *outputLength); // Encode data to Base64 string +RLAPI unsigned char *DecodeDataBase64(unsigned char *data, int *outputLength); // Decode Base64 string data // Persistent storage management RLAPI bool SaveStorageValue(unsigned int position, int value); // Save integer value to storage file (to defined position), returns true on success @@ -158,53 +170,54 @@ RLAPI void OpenURL(const char *url); // Open URL wi //------------------------------------------------------------------------------------ // Input-related functions: keyboard -RLAPI bool IsKeyPressed(int key); // Detect if a key has been pressed once -RLAPI bool IsKeyDown(int key); // Detect if a key is being pressed -RLAPI bool IsKeyReleased(int key); // Detect if a key has been released once -RLAPI bool IsKeyUp(int key); // Detect if a key is NOT being pressed +RLAPI bool IsKeyPressed(int key); // Check if a key has been pressed once +RLAPI bool IsKeyDown(int key); // Check if a key is being pressed +RLAPI bool IsKeyReleased(int key); // Check if a key has been released once +RLAPI bool IsKeyUp(int key); // Check if a key is NOT being pressed RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) -RLAPI int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued -RLAPI int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued +RLAPI int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty +RLAPI int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty // Input-related functions: gamepads -RLAPI bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available -RLAPI bool IsGamepadName(int gamepad, const char *name); // Check gamepad name (if available) -RLAPI const char *GetGamepadName(int gamepad); // Return gamepad internal name id -RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Detect if a gamepad button has been pressed once -RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Detect if a gamepad button is being pressed -RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Detect if a gamepad button has been released once -RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Detect if a gamepad button is NOT being pressed +RLAPI bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available +RLAPI const char *GetGamepadName(int gamepad); // Get gamepad internal name id +RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once +RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed +RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once +RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed RLAPI int GetGamepadButtonPressed(void); // Get the last gamepad button pressed -RLAPI int GetGamepadAxisCount(int gamepad); // Return gamepad axis count for a gamepad -RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis +RLAPI int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad +RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis RLAPI int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB) // Input-related functions: mouse -RLAPI bool IsMouseButtonPressed(int button); // Detect if a mouse button has been pressed once -RLAPI bool IsMouseButtonDown(int button); // Detect if a mouse button is being pressed -RLAPI bool IsMouseButtonReleased(int button); // Detect if a mouse button has been released once -RLAPI bool IsMouseButtonUp(int button); // Detect if a mouse button is NOT being pressed -RLAPI int GetMouseX(void); // Returns mouse position X -RLAPI int GetMouseY(void); // Returns mouse position Y -RLAPI Vector2 GetMousePosition(void); // Returns mouse position XY +RLAPI bool IsMouseButtonPressed(int button); // Check if a mouse button has been pressed once +RLAPI bool IsMouseButtonDown(int button); // Check if a mouse button is being pressed +RLAPI bool IsMouseButtonReleased(int button); // Check if a mouse button has been released once +RLAPI bool IsMouseButtonUp(int button); // Check if a mouse button is NOT being pressed +RLAPI int GetMouseX(void); // Get mouse position X +RLAPI int GetMouseY(void); // Get mouse position Y +RLAPI Vector2 GetMousePosition(void); // Get mouse position XY +RLAPI Vector2 GetMouseDelta(void); // Get mouse delta between frames RLAPI void SetMousePosition(int x, int y); // Set mouse position XY RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling -RLAPI float GetMouseWheelMove(void); // Returns mouse wheel movement Y +RLAPI float GetMouseWheelMove(void); // Get mouse wheel movement Y RLAPI void SetMouseCursor(int cursor); // Set mouse cursor // Input-related functions: touch -RLAPI int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) -RLAPI int GetTouchY(void); // Returns touch position Y for touch point 0 (relative to screen size) -RLAPI Vector2 GetTouchPosition(int index); // Returns touch position XY for a touch point index (relative to screen size) +RLAPI int GetTouchX(void); // Get touch position X for touch point 0 (relative to screen size) +RLAPI int GetTouchY(void); // Get touch position Y for touch point 0 (relative to screen size) +RLAPI Vector2 GetTouchPosition(int index); // Get touch position XY for a touch point index (relative to screen size) +RLAPI int GetTouchPointId(int index); // Get touch point identifier for given index +RLAPI int GetTouchPointCount(void); // Get number of touch points //------------------------------------------------------------------------------------ -// Gestures and Touch Handling Functions (Module: gestures) +// Gestures and Touch Handling Functions (Module: rgestures) //------------------------------------------------------------------------------------ RLAPI void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags RLAPI bool IsGestureDetected(int gesture); // Check if a gesture have been detected RLAPI int GetGestureDetected(void); // Get latest detected gesture -RLAPI int GetTouchPointsCount(void); // Get touch points count RLAPI float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds RLAPI Vector2 GetGestureDragVector(void); // Get gesture drag vector RLAPI float GetGestureDragAngle(void); // Get gesture drag angle @@ -212,7 +225,7 @@ RLAPI Vector2 GetGesturePinchVector(void); // Get gesture pinch del RLAPI float GetGesturePinchAngle(void); // Get gesture pinch angle //------------------------------------------------------------------------------------ -// Camera System Functions (Module: camera) +// Camera System Functions (Module: rcamera) //------------------------------------------------------------------------------------ RLAPI void SetCameraMode(Camera camera, int mode); // Set camera mode (multiple camera modes available) RLAPI void UpdateCamera(Camera *camera); // Update camera position for selected mode @@ -228,7 +241,7 @@ RLAPI void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int ke // Set texture and rectangle to be used on shapes drawing // NOTE: It can be useful when using basic shapes and one single font, // defining a font char white rectangle would allow drawing everything in a single draw call -RLAPI void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing +RLAPI void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing // Basic shapes drawing functions RLAPI void DrawPixel(int posX, int posY, Color color); // Draw a pixel @@ -237,8 +250,9 @@ RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Colo RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out -RLAPI void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); //Draw line using quadratic bezier curves with a control point -RLAPI void DrawLineStrip(Vector2 *points, int pointsCount, Color color); // Draw lines sequence +RLAPI void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); // Draw line using quadratic bezier curves with a control point +RLAPI void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); // Draw line using cubic bezier curves with 2 control points +RLAPI void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle RLAPI void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle RLAPI void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline @@ -253,19 +267,20 @@ RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color) RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle RLAPI void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters -RLAPI void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a vertical-gradient-filled rectangle -RLAPI void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a horizontal-gradient-filled rectangle +RLAPI void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a vertical-gradient-filled rectangle +RLAPI void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a horizontal-gradient-filled rectangle RLAPI void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); // Draw a gradient-filled rectangle with custom vertex colors RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline -RLAPI void DrawRectangleLinesEx(Rectangle rec, int lineThick, Color color); // Draw rectangle outline with extended parameters +RLAPI void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); // Draw rectangle outline with extended parameters RLAPI void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); // Draw rectangle with rounded edges -RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, int lineThick, Color color); // Draw rectangle with rounded edges outline +RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!) -RLAPI void DrawTriangleFan(Vector2 *points, int pointsCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) -RLAPI void DrawTriangleStrip(Vector2 *points, int pointsCount, Color color); // Draw a triangle strip defined by points +RLAPI void DrawTriangleFan(Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) +RLAPI void DrawTriangleStrip(Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides +RLAPI void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters // Basic shapes collision detection functions RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles @@ -275,6 +290,7 @@ RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec); RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle RLAPI bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); // Check the collision between two lines defined by two points each, returns collision point by reference +RLAPI bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); // Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision //------------------------------------------------------------------------------------ @@ -286,7 +302,9 @@ RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); RLAPI Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM) RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data RLAPI Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data) -RLAPI Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. ".png" +RLAPI Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png' +RLAPI Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data +RLAPI Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot) RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM) RLAPI bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success RLAPI bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success @@ -298,8 +316,7 @@ RLAPI Image GenImageGradientH(int width, int height, Color left, Color right); RLAPI Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked RLAPI Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise -RLAPI Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise -RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm. Bigger tileSize means bigger cells +RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm, bigger tileSize means bigger cells // Image manipulation functions RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) @@ -316,7 +333,7 @@ RLAPI void ImageAlphaPremultiply(Image *image); RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm) RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm) RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color -RLAPI void ImageMipmaps(Image *image); // Generate all mipmap levels for a provided image +RLAPI void ImageMipmaps(Image *image); // Compute all mipmap levels for a provided image RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) RLAPI void ImageFlipVertical(Image *image); // Flip image vertically RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally @@ -329,10 +346,11 @@ RLAPI void ImageColorContrast(Image *image, float contrast); RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) RLAPI void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color RLAPI Color *LoadImageColors(Image image); // Load color data from image as a Color array (RGBA - 32bit) -RLAPI Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorsCount); // Load colors palette from image as a Color array (RGBA - 32bit) +RLAPI Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount); // Load colors palette from image as a Color array (RGBA - 32bit) RLAPI void UnloadImageColors(Color *colors); // Unload color data loaded with LoadImageColors() RLAPI void UnloadImagePalette(Color *colors); // Unload colors palette loaded with LoadImagePalette() RLAPI Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle +RLAPI Color GetImageColor(Image image, int x, int y); // Get image pixel color at (x, y) position // Image drawing functions // NOTE: Image software-rendering functions (CPU) @@ -361,8 +379,6 @@ RLAPI void UnloadTexture(Texture2D texture); RLAPI void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM) RLAPI void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data RLAPI void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); // Update GPU texture rectangle with new data -RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image -RLAPI Image GetScreenData(void); // Get pixel data from screen buffer and return an Image (screenshot) // Texture configuration functions RLAPI void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture @@ -378,18 +394,18 @@ RLAPI void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Re RLAPI void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest. RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely -RLAPI void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointsCount, Color tint); // Draw a textured polygon +RLAPI void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint); // Draw a textured polygon // Color/pixel related functions -RLAPI Color Fade(Color color, float alpha); // Returns color with alpha applied, alpha goes from 0.0f to 1.0f -RLAPI int ColorToInt(Color color); // Returns hexadecimal value for a Color -RLAPI Vector4 ColorNormalize(Color color); // Returns Color normalized as float [0..1] -RLAPI Color ColorFromNormalized(Vector4 normalized); // Returns Color from normalized values [0..1] -RLAPI Vector3 ColorToHSV(Color color); // Returns HSV values for a Color -RLAPI Color ColorFromHSV(float hue, float saturation, float value); // Returns a Color from HSV values -RLAPI Color ColorAlpha(Color color, float alpha); // Returns color with alpha applied, alpha goes from 0.0f to 1.0f -RLAPI Color ColorAlphaBlend(Color dst, Color src, Color tint); // Returns src alpha-blended into dst color with tint -RLAPI Color GetColor(unsigned int hexValue); // Get Color structure from hexadecimal value +RLAPI Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f +RLAPI int ColorToInt(Color color); // Get hexadecimal value for a Color +RLAPI Vector4 ColorNormalize(Color color); // Get Color normalized as float [0..1] +RLAPI Color ColorFromNormalized(Vector4 normalized); // Get Color from normalized values [0..1] +RLAPI Vector3 ColorToHSV(Color color); // Get HSV values for a Color, hue [0..360], saturation/value [0..1] +RLAPI Color ColorFromHSV(float hue, float saturation, float value); // Get a Color from HSV values, hue [0..360], saturation/value [0..1] +RLAPI Color ColorAlpha(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f +RLAPI Color ColorAlphaBlend(Color dst, Color src, Color tint); // Get src alpha-blended into dst color with tint +RLAPI Color GetColor(unsigned int hexValue); // Get Color structure from hexadecimal value RLAPI Color GetPixelColor(void *srcPtr, int format); // Get Color from a source pixel pointer of certain format RLAPI void SetPixelColor(void *dstPtr, Color color, int format); // Set color formatted into destination pixel pointer RLAPI int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes for certain format @@ -401,35 +417,45 @@ RLAPI int GetPixelDataSize(int width, int height, int format); // G // Font loading/unloading functions RLAPI Font GetFontDefault(void); // Get the default Font RLAPI Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM) -RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount); // Load font from file with extended parameters +RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); // Load font from file with extended parameters RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style) -RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount); // Load font from memory buffer, fileType refers to extension: i.e. ".ttf" -RLAPI CharInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount, int type); // Load font data for further use -RLAPI Image GenImageFontAtlas(const CharInfo *chars, Rectangle **recs, int charsCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info -RLAPI void UnloadFontData(CharInfo *chars, int charsCount); // Unload font chars info data (RAM) +RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf' +RLAPI GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); // Load font data for further use +RLAPI Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info +RLAPI void UnloadFontData(GlyphInfo *chars, int glyphCount); // Unload font chars info data (RAM) RLAPI void UnloadFont(Font font); // Unload Font from GPU memory (VRAM) // Text drawing functions RLAPI void DrawFPS(int posX, int posY); // Draw current FPS RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) -RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters -RLAPI void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint); // Draw text using font inside rectangle limits +RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters +RLAPI void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); // Draw text using Font and pro parameters (rotation) RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint) -// Text misc. functions +// Text font info functions RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font RLAPI Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); // Measure string size for Font -RLAPI int GetGlyphIndex(Font font, int codepoint); // Get index position for a unicode character on font - -// Text strings management functions (no utf8 strings, only byte chars) +RLAPI int GetGlyphIndex(Font font, int codepoint); // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found +RLAPI GlyphInfo GetGlyphInfo(Font font, int codepoint); // Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found +RLAPI Rectangle GetGlyphAtlasRec(Font font, int codepoint); // Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found + +// Text codepoints management functions (unicode characters) +RLAPI int *LoadCodepoints(const char *text, int *count); // Load all codepoints from a UTF-8 text string, codepoints count returned by parameter +RLAPI void UnloadCodepoints(int *codepoints); // Unload codepoints data from memory +RLAPI int GetCodepointCount(const char *text); // Get total number of codepoints in a UTF-8 encoded string +RLAPI int GetCodepoint(const char *text, int *bytesProcessed); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure +RLAPI const char *CodepointToUTF8(int codepoint, int *byteSize); // Encode one codepoint into UTF-8 byte array (array length returned as parameter) +RLAPI char *TextCodepointsToUTF8(int *codepoints, int length); // Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!) + +// Text strings management functions (no UTF-8 strings, only byte chars) // NOTE: Some strings allocate memory internally for returned strings, just be careful! RLAPI int TextCopy(char *dst, const char *src); // Copy one string to another, returns bytes copied RLAPI bool TextIsEqual(const char *text1, const char *text2); // Check if two text string are equal RLAPI unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending -RLAPI const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf style) +RLAPI const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf() style) RLAPI const char *TextSubtext(const char *text, int position, int length); // Get a piece of a text string -RLAPI char *TextReplace(char *text, const char *replace, const char *by); // Replace text string (memory must be freed!) -RLAPI char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (memory must be freed!) +RLAPI char *TextReplace(char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!) +RLAPI char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (WARNING: memory must be freed!) RLAPI const char *TextJoin(const char **textList, int count, const char *delimiter); // Join text strings with delimiter RLAPI const char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple strings RLAPI void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor! @@ -438,13 +464,6 @@ RLAPI const char *TextToUpper(const char *text); // Get upp RLAPI const char *TextToLower(const char *text); // Get lower case version of provided string RLAPI const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string RLAPI int TextToInteger(const char *text); // Get integer value from text (negative values not supported) -RLAPI char *TextToUtf8(int *codepoints, int length); // Encode text codepoint into utf8 text (memory must be freed!) - -// UTF8 text strings management functions -RLAPI int *GetCodepoints(const char *text, int *count); // Get all codepoints in a string, codepoints count returned by parameters -RLAPI int GetCodepointsCount(const char *text); // Get total number of characters (codepoints) in a UTF8 encoded string -RLAPI int GetNextCodepoint(const char *text, int *bytesProcessed); // Returns next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure -RLAPI const char *CodepointToUtf8(int codepoint, int *byteLength); // Encode codepoint into utf8 text (char array length returned as parameter) //------------------------------------------------------------------------------------ // Basic 3d Shapes Drawing Functions (Module: models) @@ -455,17 +474,20 @@ RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); RLAPI void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space RLAPI void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) -RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointsCount, Color color); // Draw a triangle strip defined by points +RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires RLAPI void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); // Draw cube wires (Vector version) RLAPI void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured +RLAPI void DrawCubeTextureRec(Texture2D texture, Rectangle source, Vector3 position, float width, float height, float length, Color color); // Draw cube with a region of a texture RLAPI void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere RLAPI void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters RLAPI void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires RLAPI void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone +RLAPI void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder with base at startPos and top at endPos RLAPI void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires +RLAPI void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder wires with base at startPos and top at endPos RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ RLAPI void DrawRay(Ray ray, Color color); // Draw a ray line RLAPI void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) @@ -474,71 +496,71 @@ RLAPI void DrawGrid(int slices, float spacing); // Model 3d Loading and Drawing Functions (Module: models) //------------------------------------------------------------------------------------ -// Model loading/unloading functions +// Model management functions RLAPI Model LoadModel(const char *fileName); // Load model from files (meshes and materials) RLAPI Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material) RLAPI void UnloadModel(Model model); // Unload model (including meshes) from memory (RAM and/or VRAM) RLAPI void UnloadModelKeepMeshes(Model model); // Unload model (but not meshes) from memory (RAM and/or VRAM) +RLAPI BoundingBox GetModelBoundingBox(Model model); // Compute model bounding box limits (considers all meshes) -// Mesh loading/unloading functions -RLAPI void UploadMesh(Mesh *mesh, bool dynamic); // Upload vertex data into GPU and provided VAO/VBO ids +// Model drawing functions +RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) +RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters +RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) +RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters +RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) +RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); // Draw a billboard texture +RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); // Draw a billboard texture defined by source +RLAPI void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); // Draw a billboard texture defined by source and rotation + +// Mesh management functions +RLAPI void UploadMesh(Mesh *mesh, bool dynamic); // Upload mesh vertex data in GPU and provide VAO/VBO ids +RLAPI void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset); // Update mesh vertex data in GPU for a specific buffer index +RLAPI void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU RLAPI void DrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform RLAPI void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances); // Draw multiple mesh instances with material and different transforms -RLAPI void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU RLAPI bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success - -// Material loading/unloading functions -RLAPI Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file -RLAPI Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) -RLAPI void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM) -RLAPI void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) -RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh - -// Model animations loading/unloading functions -RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, int *animsCount); // Load model animations from file -RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose -RLAPI void UnloadModelAnimation(ModelAnimation anim); // Unload animation data -RLAPI void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); // Unload animation array data -RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match +RLAPI BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits +RLAPI void GenMeshTangents(Mesh *mesh); // Compute mesh tangents +RLAPI void GenMeshBinormals(Mesh *mesh); // Compute mesh binormals // Mesh generation functions -RLAPI Mesh GenMeshDefault(int vertexCount); // Generate an empty mesh with vertex: position, texcoords, normals, colors RLAPI Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh RLAPI Mesh GenMeshPlane(float width, float length, int resX, int resZ); // Generate plane mesh (with subdivisions) RLAPI Mesh GenMeshCube(float width, float height, float length); // Generate cuboid mesh RLAPI Mesh GenMeshSphere(float radius, int rings, int slices); // Generate sphere mesh (standard sphere) RLAPI Mesh GenMeshHemiSphere(float radius, int rings, int slices); // Generate half-sphere mesh (no bottom cap) RLAPI Mesh GenMeshCylinder(float radius, float height, int slices); // Generate cylinder mesh +RLAPI Mesh GenMeshCone(float radius, float height, int slices); // Generate cone/pyramid mesh RLAPI Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); // Generate torus mesh RLAPI Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); // Generate trefoil knot mesh RLAPI Mesh GenMeshHeightmap(Image heightmap, Vector3 size); // Generate heightmap mesh from image data RLAPI Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); // Generate cubes-based map mesh from image data -// Mesh manipulation functions -RLAPI BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits -RLAPI void MeshTangents(Mesh *mesh); // Compute mesh tangents -RLAPI void MeshBinormals(Mesh *mesh); // Compute mesh binormals +// Material loading/unloading functions +RLAPI Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file +RLAPI Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) +RLAPI void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM) +RLAPI void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) +RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh -// Model drawing functions -RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) -RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters -RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) -RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters -RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) -RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture -RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 center, float size, Color tint); // Draw a billboard texture defined by source +// Model animations loading/unloading functions +RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); // Load model animations from file +RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose +RLAPI void UnloadModelAnimation(ModelAnimation anim); // Unload animation data +RLAPI void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); // Unload animation array data +RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match // Collision detection functions -RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Detect collision between two spheres -RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes -RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Detect collision between box and sphere -RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 center, float radius); // Detect collision between ray and sphere -RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 center, float radius, Vector3 *collisionPoint); // Detect collision between ray and sphere, returns collision point -RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box -RLAPI RayHitInfo GetCollisionRayMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh -RLAPI RayHitInfo GetCollisionRayModel(Ray ray, Model model); // Get collision info between ray and model -RLAPI RayHitInfo GetCollisionRayTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle -RLAPI RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight); // Get collision info between ray and ground plane (Y-normal plane) +RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres +RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes +RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere +RLAPI RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere +RLAPI RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box +RLAPI RayCollision GetRayCollisionModel(Ray ray, Model model); // Get collision info between ray and model +RLAPI RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh +RLAPI RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle +RLAPI RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad //------------------------------------------------------------------------------------ // Audio Loading and Playing Functions (Module: audio) @@ -552,10 +574,10 @@ RLAPI void SetMasterVolume(float volume); // Set mas // Wave/Sound loading/unloading functions RLAPI Wave LoadWave(const char *fileName); // Load wave data from file -RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. ".wav" +RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav' RLAPI Sound LoadSound(const char *fileName); // Load sound from file RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data -RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount); // Update sound buffer with new data +RLAPI void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data RLAPI void UnloadWave(Wave wave); // Unload wave data RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success @@ -580,23 +602,24 @@ RLAPI void UnloadWaveSamples(float *samples); // Unload // Music management functions RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file -RLAPI Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize); // Load music stream from data +RLAPI Music LoadMusicStreamFromMemory(const char *fileType, unsigned char *data, int dataSize); // Load music stream from data RLAPI void UnloadMusicStream(Music music); // Unload music stream RLAPI void PlayMusicStream(Music music); // Start music playing -RLAPI bool IsMusicPlaying(Music music); // Check if music is playing +RLAPI bool IsMusicStreamPlaying(Music music); // Check if music is playing RLAPI void UpdateMusicStream(Music music); // Updates buffers for music streaming RLAPI void StopMusicStream(Music music); // Stop music playing RLAPI void PauseMusicStream(Music music); // Pause music playing RLAPI void ResumeMusicStream(Music music); // Resume playing paused music +RLAPI void SeekMusicStream(Music music, float position); // Seek music to a position (in seconds) RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) // AudioStream management functions -RLAPI AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Init audio stream (to stream raw audio pcm data) -RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount); // Update audio stream buffers with data -RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory +RLAPI AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data) +RLAPI void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory +RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data RLAPI bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream RLAPI void PauseAudioStream(AudioStream stream); // Pause audio stream |
