raylib-bindings 0.7.18-aarch64-linux → 0.8.1-aarch64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/raylib_main.rb CHANGED
@@ -11,10 +11,10 @@ module Raylib
11
11
 
12
12
  # Define/Macro
13
13
 
14
- RAYLIB_VERSION_MAJOR = 5
15
- RAYLIB_VERSION_MINOR = 6
14
+ RAYLIB_VERSION_MAJOR = 6
15
+ RAYLIB_VERSION_MINOR = 1
16
16
  RAYLIB_VERSION_PATCH = 0
17
- RAYLIB_VERSION = "5.6-dev"
17
+ RAYLIB_VERSION = "6.1-dev"
18
18
 
19
19
  # Enum
20
20
 
@@ -187,7 +187,7 @@ module Raylib
187
187
 
188
188
  # enum GamepadButton
189
189
  # Gamepad buttons
190
- GAMEPAD_BUTTON_UNKNOWN = 0 # Unknown button, just for error checking
190
+ GAMEPAD_BUTTON_UNKNOWN = 0 # Unknown button, for error checking
191
191
  GAMEPAD_BUTTON_LEFT_FACE_UP = 1 # Gamepad left DPAD up button
192
192
  GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2 # Gamepad left DPAD right button
193
193
  GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3 # Gamepad left DPAD down button
@@ -231,36 +231,36 @@ module Raylib
231
231
 
232
232
  # enum ShaderLocationIndex
233
233
  # Shader location index
234
- SHADER_LOC_VERTEX_POSITION = 0 # Shader location: vertex attribute: position
235
- SHADER_LOC_VERTEX_TEXCOORD01 = 1 # Shader location: vertex attribute: texcoord01
236
- SHADER_LOC_VERTEX_TEXCOORD02 = 2 # Shader location: vertex attribute: texcoord02
237
- SHADER_LOC_VERTEX_NORMAL = 3 # Shader location: vertex attribute: normal
238
- SHADER_LOC_VERTEX_TANGENT = 4 # Shader location: vertex attribute: tangent
239
- SHADER_LOC_VERTEX_COLOR = 5 # Shader location: vertex attribute: color
240
- SHADER_LOC_MATRIX_MVP = 6 # Shader location: matrix uniform: model-view-projection
241
- SHADER_LOC_MATRIX_VIEW = 7 # Shader location: matrix uniform: view (camera transform)
242
- SHADER_LOC_MATRIX_PROJECTION = 8 # Shader location: matrix uniform: projection
243
- SHADER_LOC_MATRIX_MODEL = 9 # Shader location: matrix uniform: model (transform)
244
- SHADER_LOC_MATRIX_NORMAL = 10 # Shader location: matrix uniform: normal
245
- SHADER_LOC_VECTOR_VIEW = 11 # Shader location: vector uniform: view
246
- SHADER_LOC_COLOR_DIFFUSE = 12 # Shader location: vector uniform: diffuse color
247
- SHADER_LOC_COLOR_SPECULAR = 13 # Shader location: vector uniform: specular color
248
- SHADER_LOC_COLOR_AMBIENT = 14 # Shader location: vector uniform: ambient color
249
- SHADER_LOC_MAP_ALBEDO = 15 # Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)
250
- SHADER_LOC_MAP_METALNESS = 16 # Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)
251
- SHADER_LOC_MAP_NORMAL = 17 # Shader location: sampler2d texture: normal
252
- SHADER_LOC_MAP_ROUGHNESS = 18 # Shader location: sampler2d texture: roughness
253
- SHADER_LOC_MAP_OCCLUSION = 19 # Shader location: sampler2d texture: occlusion
254
- SHADER_LOC_MAP_EMISSION = 20 # Shader location: sampler2d texture: emission
255
- SHADER_LOC_MAP_HEIGHT = 21 # Shader location: sampler2d texture: height
256
- SHADER_LOC_MAP_CUBEMAP = 22 # Shader location: samplerCube texture: cubemap
257
- SHADER_LOC_MAP_IRRADIANCE = 23 # Shader location: samplerCube texture: irradiance
258
- SHADER_LOC_MAP_PREFILTER = 24 # Shader location: samplerCube texture: prefilter
259
- SHADER_LOC_MAP_BRDF = 25 # Shader location: sampler2d texture: brdf
260
- SHADER_LOC_VERTEX_BONEIDS = 26 # Shader location: vertex attribute: boneIds
261
- SHADER_LOC_VERTEX_BONEWEIGHTS = 27 # Shader location: vertex attribute: boneWeights
262
- SHADER_LOC_BONE_MATRICES = 28 # Shader location: array of matrices uniform: boneMatrices
263
- SHADER_LOC_VERTEX_INSTANCE_TX = 29 # Shader location: vertex attribute: instanceTransform
234
+ SHADER_LOC_VERTEX_POSITION = 0 # Shader location: vertex attribute: position
235
+ SHADER_LOC_VERTEX_TEXCOORD01 = 1 # Shader location: vertex attribute: texcoord01
236
+ SHADER_LOC_VERTEX_TEXCOORD02 = 2 # Shader location: vertex attribute: texcoord02
237
+ SHADER_LOC_VERTEX_NORMAL = 3 # Shader location: vertex attribute: normal
238
+ SHADER_LOC_VERTEX_TANGENT = 4 # Shader location: vertex attribute: tangent
239
+ SHADER_LOC_VERTEX_COLOR = 5 # Shader location: vertex attribute: color
240
+ SHADER_LOC_MATRIX_MVP = 6 # Shader location: matrix uniform: model-view-projection
241
+ SHADER_LOC_MATRIX_VIEW = 7 # Shader location: matrix uniform: view (camera transform)
242
+ SHADER_LOC_MATRIX_PROJECTION = 8 # Shader location: matrix uniform: projection
243
+ SHADER_LOC_MATRIX_MODEL = 9 # Shader location: matrix uniform: model (transform)
244
+ SHADER_LOC_MATRIX_NORMAL = 10 # Shader location: matrix uniform: normal
245
+ SHADER_LOC_VECTOR_VIEW = 11 # Shader location: vector uniform: view
246
+ SHADER_LOC_COLOR_DIFFUSE = 12 # Shader location: vector uniform: diffuse color
247
+ SHADER_LOC_COLOR_SPECULAR = 13 # Shader location: vector uniform: specular color
248
+ SHADER_LOC_COLOR_AMBIENT = 14 # Shader location: vector uniform: ambient color
249
+ SHADER_LOC_MAP_ALBEDO = 15 # Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)
250
+ SHADER_LOC_MAP_METALNESS = 16 # Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)
251
+ SHADER_LOC_MAP_NORMAL = 17 # Shader location: sampler2d texture: normal
252
+ SHADER_LOC_MAP_ROUGHNESS = 18 # Shader location: sampler2d texture: roughness
253
+ SHADER_LOC_MAP_OCCLUSION = 19 # Shader location: sampler2d texture: occlusion
254
+ SHADER_LOC_MAP_EMISSION = 20 # Shader location: sampler2d texture: emission
255
+ SHADER_LOC_MAP_HEIGHT = 21 # Shader location: sampler2d texture: heightmap
256
+ SHADER_LOC_MAP_CUBEMAP = 22 # Shader location: samplerCube texture: cubemap
257
+ SHADER_LOC_MAP_IRRADIANCE = 23 # Shader location: samplerCube texture: irradiance
258
+ SHADER_LOC_MAP_PREFILTER = 24 # Shader location: samplerCube texture: prefilter
259
+ SHADER_LOC_MAP_BRDF = 25 # Shader location: sampler2d texture: brdf
260
+ SHADER_LOC_VERTEX_BONEIDS = 26 # Shader location: vertex attribute: bone indices
261
+ SHADER_LOC_VERTEX_BONEWEIGHTS = 27 # Shader location: vertex attribute: bone weights
262
+ SHADER_LOC_MATRIX_BONETRANSFORMS = 28 # Shader location: matrix attribute: bone transforms (animation)
263
+ SHADER_LOC_VERTEX_INSTANCETRANSFORM = 29 # Shader location: vertex attribute: instance transforms
264
264
 
265
265
  # enum ShaderUniformDataType
266
266
  # Shader uniform data type
@@ -314,7 +314,7 @@ module Raylib
314
314
 
315
315
  # enum TextureFilter
316
316
  # Texture parameters: filter mode
317
- TEXTURE_FILTER_POINT = 0 # No filter, just pixel approximation
317
+ TEXTURE_FILTER_POINT = 0 # No filter, pixel approximation
318
318
  TEXTURE_FILTER_BILINEAR = 1 # Linear filtering
319
319
  TEXTURE_FILTER_TRILINEAR = 2 # Trilinear filtering (linear with mipmaps)
320
320
  TEXTURE_FILTER_ANISOTROPIC_4X = 3 # Anisotropic filtering 4x
@@ -389,6 +389,7 @@ module Raylib
389
389
 
390
390
  # Typedef
391
391
 
392
+ typedef :pointer, :ModelAnimPose
392
393
  typedef :int, :ConfigFlags
393
394
  typedef :int, :TraceLogLevel
394
395
  typedef :int, :KeyboardKey
@@ -740,12 +741,11 @@ module Raylib
740
741
  :tangents, :pointer, # Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)
741
742
  :colors, :pointer, # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
742
743
  :indices, :pointer, # Vertex indices (in case vertex data comes indexed)
744
+ :boneCount, :int, # Number of bones (MAX: 256 bones)
745
+ :boneIndices, :pointer, # Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6)
746
+ :boneWeights, :pointer, # Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)
743
747
  :animVertices, :pointer, # Animated vertex positions (after bones transformations)
744
748
  :animNormals, :pointer, # Animated normals (after bones transformations)
745
- :boneIds, :pointer, # Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) (shader-location = 6)
746
- :boneWeights, :pointer, # Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)
747
- :boneMatrices, :pointer, # Bones animated transformation matrices
748
- :boneCount, :int, # Number of bones
749
749
  :vaoId, :uint, # OpenGL Vertex Array Object id
750
750
  :vboId, :pointer, # OpenGL Vertex Buffer Objects id (default vertex data)
751
751
  )
@@ -767,18 +767,16 @@ module Raylib
767
767
  def colors=(v) self[:colors] = v end
768
768
  def indices = self[:indices]
769
769
  def indices=(v) self[:indices] = v end
770
+ def boneCount = self[:boneCount]
771
+ def boneCount=(v) self[:boneCount] = v end
772
+ def boneIndices = self[:boneIndices]
773
+ def boneIndices=(v) self[:boneIndices] = v end
774
+ def boneWeights = self[:boneWeights]
775
+ def boneWeights=(v) self[:boneWeights] = v end
770
776
  def animVertices = self[:animVertices]
771
777
  def animVertices=(v) self[:animVertices] = v end
772
778
  def animNormals = self[:animNormals]
773
779
  def animNormals=(v) self[:animNormals] = v end
774
- def boneIds = self[:boneIds]
775
- def boneIds=(v) self[:boneIds] = v end
776
- def boneWeights = self[:boneWeights]
777
- def boneWeights=(v) self[:boneWeights] = v end
778
- def boneMatrices = self[:boneMatrices]
779
- def boneMatrices=(v) self[:boneMatrices] = v end
780
- def boneCount = self[:boneCount]
781
- def boneCount=(v) self[:boneCount] = v end
782
780
  def vaoId = self[:vaoId]
783
781
  def vaoId=(v) self[:vaoId] = v end
784
782
  def vboId = self[:vboId]
@@ -854,18 +852,33 @@ module Raylib
854
852
  def parent=(v) self[:parent] = v end
855
853
  end
856
854
 
855
+ # Skeleton, animation bones hierarchy
856
+ class ModelSkeleton < FFI::Struct
857
+ layout(
858
+ :boneCount, :int, # Number of bones
859
+ :bones, :pointer, # Bones information (skeleton)
860
+ :bindPose, :pointer, # Bones base transformation (Transform[])
861
+ )
862
+ def boneCount = self[:boneCount]
863
+ def boneCount=(v) self[:boneCount] = v end
864
+ def bones = self[:bones]
865
+ def bones=(v) self[:bones] = v end
866
+ def bindPose = self[:bindPose]
867
+ def bindPose=(v) self[:bindPose] = v end
868
+ end
869
+
857
870
  # Model, meshes, materials and animation data
858
871
  class Model < FFI::Struct
859
872
  layout(
860
- :transform, Matrix, # Local transform matrix
861
- :meshCount, :int, # Number of meshes
862
- :materialCount, :int, # Number of materials
863
- :meshes, :pointer, # Meshes array
864
- :materials, :pointer, # Materials array
865
- :meshMaterial, :pointer, # Mesh material number
866
- :boneCount, :int, # Number of bones
867
- :bones, :pointer, # Bones information (skeleton)
868
- :bindPose, :pointer, # Bones base transformation (pose)
873
+ :transform, Matrix, # Local transform matrix
874
+ :meshCount, :int, # Number of meshes
875
+ :materialCount, :int, # Number of materials
876
+ :meshes, :pointer, # Meshes array
877
+ :materials, :pointer, # Materials array
878
+ :meshMaterial, :pointer, # Mesh material number
879
+ :skeleton, ModelSkeleton, # Skeleton for animation
880
+ :currentPose, :pointer, # Current animation pose (Transform[])
881
+ :boneMatrices, :pointer, # Bones animated transformation matrices
869
882
  )
870
883
  def transform = self[:transform]
871
884
  def transform=(v) self[:transform] = v end
@@ -879,33 +892,30 @@ module Raylib
879
892
  def materials=(v) self[:materials] = v end
880
893
  def meshMaterial = self[:meshMaterial]
881
894
  def meshMaterial=(v) self[:meshMaterial] = v end
882
- def boneCount = self[:boneCount]
883
- def boneCount=(v) self[:boneCount] = v end
884
- def bones = self[:bones]
885
- def bones=(v) self[:bones] = v end
886
- def bindPose = self[:bindPose]
887
- def bindPose=(v) self[:bindPose] = v end
895
+ def skeleton = self[:skeleton]
896
+ def skeleton=(v) self[:skeleton] = v end
897
+ def currentPose = self[:currentPose]
898
+ def currentPose=(v) self[:currentPose] = v end
899
+ def boneMatrices = self[:boneMatrices]
900
+ def boneMatrices=(v) self[:boneMatrices] = v end
888
901
  end
889
902
 
890
- # ModelAnimation
903
+ # ModelAnimation, contains a full animation sequence
891
904
  class ModelAnimation < FFI::Struct
892
905
  layout(
893
- :name, [:char, 32], # Animation name
894
- :boneCount, :int, # Number of bones
895
- :frameCount, :int, # Number of animation frames
896
- :bones, :pointer, # Bones information (skeleton)
897
- :framePoses, :pointer, # Poses array by frame
906
+ :name, [:char, 32], # Animation name
907
+ :boneCount, :int, # Number of bones (per pose)
908
+ :keyframeCount, :int, # Number of animation key frames
909
+ :keyframePoses, :pointer, # Animation sequence keyframe poses [keyframe][pose]
898
910
  )
899
911
  def name = self[:name]
900
912
  def name=(v) self[:name] = v end
901
913
  def boneCount = self[:boneCount]
902
914
  def boneCount=(v) self[:boneCount] = v end
903
- def frameCount = self[:frameCount]
904
- def frameCount=(v) self[:frameCount] = v end
905
- def bones = self[:bones]
906
- def bones=(v) self[:bones] = v end
907
- def framePoses = self[:framePoses]
908
- def framePoses=(v) self[:framePoses] = v end
915
+ def keyframeCount = self[:keyframeCount]
916
+ def keyframeCount=(v) self[:keyframeCount] = v end
917
+ def keyframePoses = self[:keyframePoses]
918
+ def keyframePoses=(v) self[:keyframePoses] = v end
909
919
  end
910
920
 
911
921
  # Ray, ray for raycasting
@@ -1410,12 +1420,12 @@ module Raylib
1410
1420
  [:DisableEventWaiting, :DisableEventWaiting, [], :void],
1411
1421
 
1412
1422
  # @!method ShowCursor()
1413
- # ShowCursor : Shows cursor
1423
+ # ShowCursor : Show cursor
1414
1424
  # @return [void]
1415
1425
  [:ShowCursor, :ShowCursor, [], :void],
1416
1426
 
1417
1427
  # @!method HideCursor()
1418
- # HideCursor : Hides cursor
1428
+ # HideCursor : Hide cursor
1419
1429
  # @return [void]
1420
1430
  [:HideCursor, :HideCursor, [], :void],
1421
1431
 
@@ -1425,12 +1435,12 @@ module Raylib
1425
1435
  [:IsCursorHidden, :IsCursorHidden, [], :bool],
1426
1436
 
1427
1437
  # @!method EnableCursor()
1428
- # EnableCursor : Enables cursor (unlock cursor)
1438
+ # EnableCursor : Enable cursor (unlock cursor)
1429
1439
  # @return [void]
1430
1440
  [:EnableCursor, :EnableCursor, [], :void],
1431
1441
 
1432
1442
  # @!method DisableCursor()
1433
- # DisableCursor : Disables cursor (lock cursor)
1443
+ # DisableCursor : Disable cursor (lock cursor)
1434
1444
  # @return [void]
1435
1445
  [:DisableCursor, :DisableCursor, [], :void],
1436
1446
 
@@ -1440,18 +1450,18 @@ module Raylib
1440
1450
  [:IsCursorOnScreen, :IsCursorOnScreen, [], :bool],
1441
1451
 
1442
1452
  # @!method ClearBackground(color)
1443
- # ClearBackground : Set background color (framebuffer clear color)
1453
+ # ClearBackground : Clear background (framebuffer) to color
1444
1454
  # @param color [Color]
1445
1455
  # @return [void]
1446
1456
  [:ClearBackground, :ClearBackground, [Color.by_value], :void],
1447
1457
 
1448
1458
  # @!method BeginDrawing()
1449
- # BeginDrawing : Setup canvas (framebuffer) to start drawing
1459
+ # BeginDrawing : Begin canvas (framebuffer) drawing
1450
1460
  # @return [void]
1451
1461
  [:BeginDrawing, :BeginDrawing, [], :void],
1452
1462
 
1453
1463
  # @!method EndDrawing()
1454
- # EndDrawing : End canvas drawing and swap buffers (double buffering)
1464
+ # EndDrawing : End canvas (framebuffer) drawing and swap buffers (double buffering)
1455
1465
  # @return [void]
1456
1466
  [:EndDrawing, :EndDrawing, [], :void],
1457
1467
 
@@ -1462,7 +1472,7 @@ module Raylib
1462
1472
  [:BeginMode2D, :BeginMode2D, [Camera2D.by_value], :void],
1463
1473
 
1464
1474
  # @!method EndMode2D()
1465
- # EndMode2D : Ends 2D mode with custom camera
1475
+ # EndMode2D : End 2D mode with custom camera
1466
1476
  # @return [void]
1467
1477
  [:EndMode2D, :EndMode2D, [], :void],
1468
1478
 
@@ -1473,7 +1483,7 @@ module Raylib
1473
1483
  [:BeginMode3D, :BeginMode3D, [Camera3D.by_value], :void],
1474
1484
 
1475
1485
  # @!method EndMode3D()
1476
- # EndMode3D : Ends 3D mode and returns to default 2D orthographic mode
1486
+ # EndMode3D : End 3D mode and returns to default 2D orthographic mode
1477
1487
  # @return [void]
1478
1488
  [:EndMode3D, :EndMode3D, [], :void],
1479
1489
 
@@ -1484,7 +1494,7 @@ module Raylib
1484
1494
  [:BeginTextureMode, :BeginTextureMode, [RenderTexture2D.by_value], :void],
1485
1495
 
1486
1496
  # @!method EndTextureMode()
1487
- # EndTextureMode : Ends drawing to render texture
1497
+ # EndTextureMode : End drawing to render texture
1488
1498
  # @return [void]
1489
1499
  [:EndTextureMode, :EndTextureMode, [], :void],
1490
1500
 
@@ -1562,7 +1572,7 @@ module Raylib
1562
1572
  [:LoadShaderFromMemory, :LoadShaderFromMemory, [:pointer, :pointer], Shader.by_value],
1563
1573
 
1564
1574
  # @!method IsShaderValid(shader)
1565
- # IsShaderValid : Check if a shader is valid (loaded on GPU)
1575
+ # IsShaderValid : Check if shader is valid (loaded on GPU)
1566
1576
  # @param shader [Shader]
1567
1577
  # @return [bool]
1568
1578
  [:IsShaderValid, :IsShaderValid, [Shader.by_value], :bool],
@@ -1639,14 +1649,14 @@ module Raylib
1639
1649
  [:GetScreenToWorldRayEx, :GetScreenToWorldRayEx, [Vector2.by_value, Camera.by_value, :int, :int], Ray.by_value],
1640
1650
 
1641
1651
  # @!method GetWorldToScreen(position, camera)
1642
- # GetWorldToScreen : Get the screen space position for a 3d world space position
1652
+ # GetWorldToScreen : Get screen space position for a 3d world space position
1643
1653
  # @param position [Vector3]
1644
1654
  # @param camera [Camera]
1645
1655
  # @return [Vector2]
1646
1656
  [:GetWorldToScreen, :GetWorldToScreen, [Vector3.by_value, Camera.by_value], Vector2.by_value],
1647
1657
 
1648
1658
  # @!method GetWorldToScreenEx(position, camera, width, height)
1649
- # GetWorldToScreenEx : Get size position for a 3d world space position
1659
+ # GetWorldToScreenEx : Get sized screen space position for a 3d world space position
1650
1660
  # @param position [Vector3]
1651
1661
  # @param camera [Camera]
1652
1662
  # @param width [int]
@@ -1655,14 +1665,14 @@ module Raylib
1655
1665
  [:GetWorldToScreenEx, :GetWorldToScreenEx, [Vector3.by_value, Camera.by_value, :int, :int], Vector2.by_value],
1656
1666
 
1657
1667
  # @!method GetWorldToScreen2D(position, camera)
1658
- # GetWorldToScreen2D : Get the screen space position for a 2d camera world space position
1668
+ # GetWorldToScreen2D : Get screen space position for a 2d camera world space position
1659
1669
  # @param position [Vector2]
1660
1670
  # @param camera [Camera2D]
1661
1671
  # @return [Vector2]
1662
1672
  [:GetWorldToScreen2D, :GetWorldToScreen2D, [Vector2.by_value, Camera2D.by_value], Vector2.by_value],
1663
1673
 
1664
1674
  # @!method GetScreenToWorld2D(position, camera)
1665
- # GetScreenToWorld2D : Get the world space position for a 2d camera screen space position
1675
+ # GetScreenToWorld2D : Get world space position for a 2d camera screen space position
1666
1676
  # @param position [Vector2]
1667
1677
  # @param camera [Camera2D]
1668
1678
  # @return [Vector2]
@@ -1751,7 +1761,7 @@ module Raylib
1751
1761
  [:TakeScreenshot, :TakeScreenshot, [:pointer], :void],
1752
1762
 
1753
1763
  # @!method SetConfigFlags(flags)
1754
- # SetConfigFlags : Setup init configuration flags (view FLAGS)
1764
+ # SetConfigFlags : Set up init configuration flags (view FLAGS)
1755
1765
  # @param flags [unsigned int]
1756
1766
  # @return [void]
1757
1767
  [:SetConfigFlags, :SetConfigFlags, [:uint], :void],
@@ -1817,7 +1827,7 @@ module Raylib
1817
1827
  # @!method SaveFileData(fileName, data, dataSize)
1818
1828
  # SaveFileData : Save data to file from byte array (write), returns true on success
1819
1829
  # @param fileName [const char *]
1820
- # @param data [void *]
1830
+ # @param data [const void *]
1821
1831
  # @param dataSize [int]
1822
1832
  # @return [bool]
1823
1833
  [:SaveFileData, :SaveFileData, [:pointer, :pointer, :int], :bool],
@@ -1874,34 +1884,34 @@ module Raylib
1874
1884
  [:SetSaveFileTextCallback, :SetSaveFileTextCallback, [:SaveFileTextCallback], :void],
1875
1885
 
1876
1886
  # @!method FileRename(fileName, fileRename)
1877
- # FileRename : Rename file (if exists)
1887
+ # FileRename : Rename file (if exists), returns 0 on success
1878
1888
  # @param fileName [const char *]
1879
1889
  # @param fileRename [const char *]
1880
1890
  # @return [int]
1881
1891
  [:FileRename, :FileRename, [:pointer, :pointer], :int],
1882
1892
 
1883
1893
  # @!method FileRemove(fileName)
1884
- # FileRemove : Remove file (if exists)
1894
+ # FileRemove : Remove file (if exists), returns 0 on success
1885
1895
  # @param fileName [const char *]
1886
1896
  # @return [int]
1887
1897
  [:FileRemove, :FileRemove, [:pointer], :int],
1888
1898
 
1889
1899
  # @!method FileCopy(srcPath, dstPath)
1890
- # FileCopy : Copy file from one path to another, dstPath created if it doesn't exist
1900
+ # FileCopy : Copy file from one path to another, dstPath created if it doesn't exist, returns 0 on success
1891
1901
  # @param srcPath [const char *]
1892
1902
  # @param dstPath [const char *]
1893
1903
  # @return [int]
1894
1904
  [:FileCopy, :FileCopy, [:pointer, :pointer], :int],
1895
1905
 
1896
1906
  # @!method FileMove(srcPath, dstPath)
1897
- # FileMove : Move file from one directory to another, dstPath created if it doesn't exist
1907
+ # FileMove : Move file from one directory to another, dstPath created if it doesn't exist, returns 0 on success
1898
1908
  # @param srcPath [const char *]
1899
1909
  # @param dstPath [const char *]
1900
1910
  # @return [int]
1901
1911
  [:FileMove, :FileMove, [:pointer, :pointer], :int],
1902
1912
 
1903
1913
  # @!method FileTextReplace(fileName, search, replacement)
1904
- # FileTextReplace : Replace text in an existing file
1914
+ # FileTextReplace : Replace text in an existing file, returns 0 on success
1905
1915
  # @param fileName [const char *]
1906
1916
  # @param search [const char *]
1907
1917
  # @param replacement [const char *]
@@ -1909,7 +1919,7 @@ module Raylib
1909
1919
  [:FileTextReplace, :FileTextReplace, [:pointer, :pointer, :pointer], :int],
1910
1920
 
1911
1921
  # @!method FileTextFindIndex(fileName, search)
1912
- # FileTextFindIndex : Find text in existing file
1922
+ # FileTextFindIndex : Find text in existing file, returns -1 if index not found or index otherwise
1913
1923
  # @param fileName [const char *]
1914
1924
  # @param search [const char *]
1915
1925
  # @return [int]
@@ -1922,7 +1932,7 @@ module Raylib
1922
1932
  [:FileExists, :FileExists, [:pointer], :bool],
1923
1933
 
1924
1934
  # @!method DirectoryExists(dirPath)
1925
- # DirectoryExists : Check if a directory path exists
1935
+ # DirectoryExists : Check if directory path exists
1926
1936
  # @param dirPath [const char *]
1927
1937
  # @return [bool]
1928
1938
  [:DirectoryExists, :DirectoryExists, [:pointer], :bool],
@@ -1993,13 +2003,13 @@ module Raylib
1993
2003
  [:MakeDirectory, :MakeDirectory, [:pointer], :int],
1994
2004
 
1995
2005
  # @!method ChangeDirectory(dirPath)
1996
- # ChangeDirectory : Change working directory, return true on success
2006
+ # ChangeDirectory : Change working directory, returns 0 on success
1997
2007
  # @param dirPath [const char *]
1998
- # @return [bool]
1999
- [:ChangeDirectory, :ChangeDirectory, [:pointer], :bool],
2008
+ # @return [int]
2009
+ [:ChangeDirectory, :ChangeDirectory, [:pointer], :int],
2000
2010
 
2001
2011
  # @!method IsPathFile(path)
2002
- # IsPathFile : Check if a given path is a file or a directory
2012
+ # IsPathFile : Check if given path is a file or a directory
2003
2013
  # @param path [const char *]
2004
2014
  # @return [bool]
2005
2015
  [:IsPathFile, :IsPathFile, [:pointer], :bool],
@@ -2011,13 +2021,13 @@ module Raylib
2011
2021
  [:IsFileNameValid, :IsFileNameValid, [:pointer], :bool],
2012
2022
 
2013
2023
  # @!method LoadDirectoryFiles(dirPath)
2014
- # LoadDirectoryFiles : Load directory filepaths
2024
+ # LoadDirectoryFiles : Load directory filepaths, files and directories, no subdirs scan
2015
2025
  # @param dirPath [const char *]
2016
2026
  # @return [FilePathList]
2017
2027
  [:LoadDirectoryFiles, :LoadDirectoryFiles, [:pointer], FilePathList.by_value],
2018
2028
 
2019
2029
  # @!method LoadDirectoryFilesEx(basePath, filter, scanSubdirs)
2020
- # LoadDirectoryFilesEx : Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result
2030
+ # LoadDirectoryFilesEx : Load directory filepaths with extension filtering and subdir scan; some filters available: '*.*','FILES*','DIRS*'
2021
2031
  # @param basePath [const char *]
2022
2032
  # @param filter [const char *]
2023
2033
  # @param scanSubdirs [bool]
@@ -2031,7 +2041,7 @@ module Raylib
2031
2041
  [:UnloadDirectoryFiles, :UnloadDirectoryFiles, [FilePathList.by_value], :void],
2032
2042
 
2033
2043
  # @!method IsFileDropped()
2034
- # IsFileDropped : Check if a file has been dropped into window
2044
+ # IsFileDropped : Check if file has been dropped into window
2035
2045
  # @return [bool]
2036
2046
  [:IsFileDropped, :IsFileDropped, [], :bool],
2037
2047
 
@@ -2093,28 +2103,28 @@ module Raylib
2093
2103
 
2094
2104
  # @!method ComputeCRC32(data, dataSize)
2095
2105
  # ComputeCRC32 : Compute CRC32 hash code
2096
- # @param data [unsigned char *]
2106
+ # @param data [const unsigned char *]
2097
2107
  # @param dataSize [int]
2098
2108
  # @return [unsigned int]
2099
2109
  [:ComputeCRC32, :ComputeCRC32, [:pointer, :int], :uint],
2100
2110
 
2101
2111
  # @!method ComputeMD5(data, dataSize)
2102
2112
  # ComputeMD5 : Compute MD5 hash code, returns static int[4] (16 bytes)
2103
- # @param data [unsigned char *]
2113
+ # @param data [const unsigned char *]
2104
2114
  # @param dataSize [int]
2105
2115
  # @return [unsigned int *]
2106
2116
  [:ComputeMD5, :ComputeMD5, [:pointer, :int], :pointer],
2107
2117
 
2108
2118
  # @!method ComputeSHA1(data, dataSize)
2109
2119
  # ComputeSHA1 : Compute SHA1 hash code, returns static int[5] (20 bytes)
2110
- # @param data [unsigned char *]
2120
+ # @param data [const unsigned char *]
2111
2121
  # @param dataSize [int]
2112
2122
  # @return [unsigned int *]
2113
2123
  [:ComputeSHA1, :ComputeSHA1, [:pointer, :int], :pointer],
2114
2124
 
2115
2125
  # @!method ComputeSHA256(data, dataSize)
2116
2126
  # ComputeSHA256 : Compute SHA256 hash code, returns static int[8] (32 bytes)
2117
- # @param data [unsigned char *]
2127
+ # @param data [const unsigned char *]
2118
2128
  # @param dataSize [int]
2119
2129
  # @return [unsigned int *]
2120
2130
  [:ComputeSHA256, :ComputeSHA256, [:pointer, :int], :pointer],
@@ -2167,31 +2177,31 @@ module Raylib
2167
2177
  [:PlayAutomationEvent, :PlayAutomationEvent, [AutomationEvent.by_value], :void],
2168
2178
 
2169
2179
  # @!method IsKeyPressed(key)
2170
- # IsKeyPressed : Check if a key has been pressed once
2180
+ # IsKeyPressed : Check if key has been pressed once
2171
2181
  # @param key [int]
2172
2182
  # @return [bool]
2173
2183
  [:IsKeyPressed, :IsKeyPressed, [:int], :bool],
2174
2184
 
2175
2185
  # @!method IsKeyPressedRepeat(key)
2176
- # IsKeyPressedRepeat : Check if a key has been pressed again
2186
+ # IsKeyPressedRepeat : Check if key has been pressed again
2177
2187
  # @param key [int]
2178
2188
  # @return [bool]
2179
2189
  [:IsKeyPressedRepeat, :IsKeyPressedRepeat, [:int], :bool],
2180
2190
 
2181
2191
  # @!method IsKeyDown(key)
2182
- # IsKeyDown : Check if a key is being pressed
2192
+ # IsKeyDown : Check if key is being pressed
2183
2193
  # @param key [int]
2184
2194
  # @return [bool]
2185
2195
  [:IsKeyDown, :IsKeyDown, [:int], :bool],
2186
2196
 
2187
2197
  # @!method IsKeyReleased(key)
2188
- # IsKeyReleased : Check if a key has been released once
2198
+ # IsKeyReleased : Check if key has been released once
2189
2199
  # @param key [int]
2190
2200
  # @return [bool]
2191
2201
  [:IsKeyReleased, :IsKeyReleased, [:int], :bool],
2192
2202
 
2193
2203
  # @!method IsKeyUp(key)
2194
- # IsKeyUp : Check if a key is NOT being pressed
2204
+ # IsKeyUp : Check if key is NOT being pressed
2195
2205
  # @param key [int]
2196
2206
  # @return [bool]
2197
2207
  [:IsKeyUp, :IsKeyUp, [:int], :bool],
@@ -2219,7 +2229,7 @@ module Raylib
2219
2229
  [:SetExitKey, :SetExitKey, [:int], :void],
2220
2230
 
2221
2231
  # @!method IsGamepadAvailable(gamepad)
2222
- # IsGamepadAvailable : Check if a gamepad is available
2232
+ # IsGamepadAvailable : Check if gamepad is available
2223
2233
  # @param gamepad [int]
2224
2234
  # @return [bool]
2225
2235
  [:IsGamepadAvailable, :IsGamepadAvailable, [:int], :bool],
@@ -2231,28 +2241,28 @@ module Raylib
2231
2241
  [:GetGamepadName, :GetGamepadName, [:int], :pointer],
2232
2242
 
2233
2243
  # @!method IsGamepadButtonPressed(gamepad, button)
2234
- # IsGamepadButtonPressed : Check if a gamepad button has been pressed once
2244
+ # IsGamepadButtonPressed : Check if gamepad button has been pressed once
2235
2245
  # @param gamepad [int]
2236
2246
  # @param button [int]
2237
2247
  # @return [bool]
2238
2248
  [:IsGamepadButtonPressed, :IsGamepadButtonPressed, [:int, :int], :bool],
2239
2249
 
2240
2250
  # @!method IsGamepadButtonDown(gamepad, button)
2241
- # IsGamepadButtonDown : Check if a gamepad button is being pressed
2251
+ # IsGamepadButtonDown : Check if gamepad button is being pressed
2242
2252
  # @param gamepad [int]
2243
2253
  # @param button [int]
2244
2254
  # @return [bool]
2245
2255
  [:IsGamepadButtonDown, :IsGamepadButtonDown, [:int, :int], :bool],
2246
2256
 
2247
2257
  # @!method IsGamepadButtonReleased(gamepad, button)
2248
- # IsGamepadButtonReleased : Check if a gamepad button has been released once
2258
+ # IsGamepadButtonReleased : Check if gamepad button has been released once
2249
2259
  # @param gamepad [int]
2250
2260
  # @param button [int]
2251
2261
  # @return [bool]
2252
2262
  [:IsGamepadButtonReleased, :IsGamepadButtonReleased, [:int, :int], :bool],
2253
2263
 
2254
2264
  # @!method IsGamepadButtonUp(gamepad, button)
2255
- # IsGamepadButtonUp : Check if a gamepad button is NOT being pressed
2265
+ # IsGamepadButtonUp : Check if gamepad button is NOT being pressed
2256
2266
  # @param gamepad [int]
2257
2267
  # @param button [int]
2258
2268
  # @return [bool]
@@ -2292,25 +2302,25 @@ module Raylib
2292
2302
  [:SetGamepadVibration, :SetGamepadVibration, [:int, :float, :float, :float], :void],
2293
2303
 
2294
2304
  # @!method IsMouseButtonPressed(button)
2295
- # IsMouseButtonPressed : Check if a mouse button has been pressed once
2305
+ # IsMouseButtonPressed : Check if mouse button has been pressed once
2296
2306
  # @param button [int]
2297
2307
  # @return [bool]
2298
2308
  [:IsMouseButtonPressed, :IsMouseButtonPressed, [:int], :bool],
2299
2309
 
2300
2310
  # @!method IsMouseButtonDown(button)
2301
- # IsMouseButtonDown : Check if a mouse button is being pressed
2311
+ # IsMouseButtonDown : Check if mouse button is being pressed
2302
2312
  # @param button [int]
2303
2313
  # @return [bool]
2304
2314
  [:IsMouseButtonDown, :IsMouseButtonDown, [:int], :bool],
2305
2315
 
2306
2316
  # @!method IsMouseButtonReleased(button)
2307
- # IsMouseButtonReleased : Check if a mouse button has been released once
2317
+ # IsMouseButtonReleased : Check if mouse button has been released once
2308
2318
  # @param button [int]
2309
2319
  # @return [bool]
2310
2320
  [:IsMouseButtonReleased, :IsMouseButtonReleased, [:int], :bool],
2311
2321
 
2312
2322
  # @!method IsMouseButtonUp(button)
2313
- # IsMouseButtonUp : Check if a mouse button is NOT being pressed
2323
+ # IsMouseButtonUp : Check if mouse button is NOT being pressed
2314
2324
  # @param button [int]
2315
2325
  # @return [bool]
2316
2326
  [:IsMouseButtonUp, :IsMouseButtonUp, [:int], :bool],
@@ -2406,7 +2416,7 @@ module Raylib
2406
2416
  [:SetGesturesEnabled, :SetGesturesEnabled, [:uint], :void],
2407
2417
 
2408
2418
  # @!method IsGestureDetected(gesture)
2409
- # IsGestureDetected : Check if a gesture have been detected
2419
+ # IsGestureDetected : Check if gesture has been detected
2410
2420
  # @param gesture [unsigned int]
2411
2421
  # @return [bool]
2412
2422
  [:IsGestureDetected, :IsGestureDetected, [:uint], :bool],
@@ -2457,10 +2467,10 @@ module Raylib
2457
2467
  # @return [void]
2458
2468
  [:UpdateCameraPro, :UpdateCameraPro, [:pointer, Vector3.by_value, Vector3.by_value, :float], :void],
2459
2469
 
2460
- # @!method SetShapesTexture(texture, source)
2470
+ # @!method SetShapesTexture(texture, rec)
2461
2471
  # SetShapesTexture : Set texture and rectangle to be used on shapes drawing
2462
2472
  # @param texture [Texture2D]
2463
- # @param source [Rectangle]
2473
+ # @param rec [Rectangle]
2464
2474
  # @return [void]
2465
2475
  [:SetShapesTexture, :SetShapesTexture, [Texture2D.by_value, Rectangle.by_value], :void],
2466
2476
 
@@ -2552,6 +2562,23 @@ module Raylib
2552
2562
  # @return [void]
2553
2563
  [:DrawCircle, :DrawCircle, [:int, :int, :float, Color.by_value], :void],
2554
2564
 
2565
+ # @!method DrawCircleV(center, radius, color)
2566
+ # DrawCircleV : Draw a color-filled circle (Vector version)
2567
+ # @param center [Vector2]
2568
+ # @param radius [float]
2569
+ # @param color [Color]
2570
+ # @return [void]
2571
+ [:DrawCircleV, :DrawCircleV, [Vector2.by_value, :float, Color.by_value], :void],
2572
+
2573
+ # @!method DrawCircleGradient(center, radius, inner, outer)
2574
+ # DrawCircleGradient : Draw a gradient-filled circle
2575
+ # @param center [Vector2]
2576
+ # @param radius [float]
2577
+ # @param inner [Color]
2578
+ # @param outer [Color]
2579
+ # @return [void]
2580
+ [:DrawCircleGradient, :DrawCircleGradient, [Vector2.by_value, :float, Color.by_value, Color.by_value], :void],
2581
+
2555
2582
  # @!method DrawCircleSector(center, radius, startAngle, endAngle, segments, color)
2556
2583
  # DrawCircleSector : Draw a piece of a circle
2557
2584
  # @param center [Vector2]
@@ -2574,24 +2601,6 @@ module Raylib
2574
2601
  # @return [void]
2575
2602
  [:DrawCircleSectorLines, :DrawCircleSectorLines, [Vector2.by_value, :float, :float, :float, :int, Color.by_value], :void],
2576
2603
 
2577
- # @!method DrawCircleGradient(centerX, centerY, radius, inner, outer)
2578
- # DrawCircleGradient : Draw a gradient-filled circle
2579
- # @param centerX [int]
2580
- # @param centerY [int]
2581
- # @param radius [float]
2582
- # @param inner [Color]
2583
- # @param outer [Color]
2584
- # @return [void]
2585
- [:DrawCircleGradient, :DrawCircleGradient, [:int, :int, :float, Color.by_value, Color.by_value], :void],
2586
-
2587
- # @!method DrawCircleV(center, radius, color)
2588
- # DrawCircleV : Draw a color-filled circle (Vector version)
2589
- # @param center [Vector2]
2590
- # @param radius [float]
2591
- # @param color [Color]
2592
- # @return [void]
2593
- [:DrawCircleV, :DrawCircleV, [Vector2.by_value, :float, Color.by_value], :void],
2594
-
2595
2604
  # @!method DrawCircleLines(centerX, centerY, radius, color)
2596
2605
  # DrawCircleLines : Draw circle outline
2597
2606
  # @param centerX [int]
@@ -2774,7 +2783,7 @@ module Raylib
2774
2783
  [:DrawRectangleRoundedLines, :DrawRectangleRoundedLines, [Rectangle.by_value, :float, :int, Color.by_value], :void],
2775
2784
 
2776
2785
  # @!method DrawRectangleRoundedLinesEx(rec, roundness, segments, lineThick, color)
2777
- # DrawRectangleRoundedLinesEx : Draw rectangle with rounded edges outline
2786
+ # DrawRectangleRoundedLinesEx : Draw rectangle lines with rounded edges outline
2778
2787
  # @param rec [Rectangle]
2779
2788
  # @param roundness [float]
2780
2789
  # @param segments [int]
@@ -2792,6 +2801,17 @@ module Raylib
2792
2801
  # @return [void]
2793
2802
  [:DrawTriangle, :DrawTriangle, [Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value], :void],
2794
2803
 
2804
+ # @!method DrawTriangleGradient(v1, v2, v3, c1, c2, c3)
2805
+ # DrawTriangleGradient : Draw triangle with interpolated colors (vertex in counter-clockwise order!)
2806
+ # @param v1 [Vector2]
2807
+ # @param v2 [Vector2]
2808
+ # @param v3 [Vector2]
2809
+ # @param c1 [Color]
2810
+ # @param c2 [Color]
2811
+ # @param c3 [Color]
2812
+ # @return [void]
2813
+ [:DrawTriangleGradient, :DrawTriangleGradient, [Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value, Color.by_value, Color.by_value], :void],
2814
+
2795
2815
  # @!method DrawTriangleLines(v1, v2, v3, color)
2796
2816
  # DrawTriangleLines : Draw triangle outline (vertex in counter-clockwise order!)
2797
2817
  # @param v1 [Vector2]
@@ -2818,7 +2838,7 @@ module Raylib
2818
2838
  [:DrawTriangleStrip, :DrawTriangleStrip, [:pointer, :int, Color.by_value], :void],
2819
2839
 
2820
2840
  # @!method DrawPoly(center, sides, radius, rotation, color)
2821
- # DrawPoly : Draw a regular polygon (Vector version)
2841
+ # DrawPoly : Draw a polygon of n sides
2822
2842
  # @param center [Vector2]
2823
2843
  # @param sides [int]
2824
2844
  # @param radius [float]
@@ -2973,14 +2993,14 @@ module Raylib
2973
2993
  # @return [Vector2]
2974
2994
  [:GetSplinePointCatmullRom, :GetSplinePointCatmullRom, [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value, :float], Vector2.by_value],
2975
2995
 
2976
- # @!method GetSplinePointBezierQuad(p1, c2, p3, t)
2977
- # GetSplinePointBezierQuad : Get (evaluate) spline point: Quadratic Bezier
2996
+ # @!method GetSplinePointBezierQuadratic(p1, c2, p3, t)
2997
+ # GetSplinePointBezierQuadratic : Get (evaluate) spline point: Quadratic Bezier
2978
2998
  # @param p1 [Vector2]
2979
2999
  # @param c2 [Vector2]
2980
3000
  # @param p3 [Vector2]
2981
3001
  # @param t [float]
2982
3002
  # @return [Vector2]
2983
- [:GetSplinePointBezierQuad, :GetSplinePointBezierQuad, [Vector2.by_value, Vector2.by_value, Vector2.by_value, :float], Vector2.by_value],
3003
+ [:GetSplinePointBezierQuadratic, :GetSplinePointBezierQuadratic, [Vector2.by_value, Vector2.by_value, Vector2.by_value, :float], Vector2.by_value],
2984
3004
 
2985
3005
  # @!method GetSplinePointBezierCubic(p1, c2, c3, p4, t)
2986
3006
  # GetSplinePointBezierCubic : Get (evaluate) spline point: Cubic Bezier
@@ -3017,7 +3037,7 @@ module Raylib
3017
3037
  [:CheckCollisionCircleRec, :CheckCollisionCircleRec, [Vector2.by_value, :float, Rectangle.by_value], :bool],
3018
3038
 
3019
3039
  # @!method CheckCollisionCircleLine(center, radius, p1, p2)
3020
- # CheckCollisionCircleLine : Check if circle collides with a line created betweeen two points [p1] and [p2]
3040
+ # CheckCollisionCircleLine : Check if circle collides with a line created between two points [p1] and [p2]
3021
3041
  # @param center [Vector2]
3022
3042
  # @param radius [float]
3023
3043
  # @param p1 [Vector2]
@@ -3130,7 +3150,7 @@ module Raylib
3130
3150
  [:LoadImageFromTexture, :LoadImageFromTexture, [Texture2D.by_value], Image.by_value],
3131
3151
 
3132
3152
  # @!method LoadImageFromScreen()
3133
- # LoadImageFromScreen : Load image from screen buffer and (screenshot)
3153
+ # LoadImageFromScreen : Load image from screen buffer (screenshot)
3134
3154
  # @return [Image]
3135
3155
  [:LoadImageFromScreen, :LoadImageFromScreen, [], Image.by_value],
3136
3156
 
@@ -3154,7 +3174,7 @@ module Raylib
3154
3174
  [:ExportImage, :ExportImage, [Image.by_value, :pointer], :bool],
3155
3175
 
3156
3176
  # @!method ExportImageToMemory(image, fileType, fileSize)
3157
- # ExportImageToMemory : Export image to memory buffer
3177
+ # ExportImageToMemory : Export image to memory buffer, memory must be MemFree()
3158
3178
  # @param image [Image]
3159
3179
  # @param fileType [const char *]
3160
3180
  # @param fileSize [int *]
@@ -3449,9 +3469,9 @@ module Raylib
3449
3469
  # @!method ImageColorContrast(image, contrast)
3450
3470
  # ImageColorContrast : Modify image color: contrast (-100 to 100)
3451
3471
  # @param image [Image *]
3452
- # @param contrast [float]
3472
+ # @param contrast [int]
3453
3473
  # @return [void]
3454
- [:ImageColorContrast, :ImageColorContrast, [:pointer, :float], :void],
3474
+ [:ImageColorContrast, :ImageColorContrast, [:pointer, :int], :void],
3455
3475
 
3456
3476
  # @!method ImageColorBrightness(image, brightness)
3457
3477
  # ImageColorBrightness : Modify image color: brightness (-255 to 255)
@@ -3629,14 +3649,25 @@ module Raylib
3629
3649
  # @return [void]
3630
3650
  [:ImageDrawRectangleRec, :ImageDrawRectangleRec, [:pointer, Rectangle.by_value, Color.by_value], :void],
3631
3651
 
3632
- # @!method ImageDrawRectangleLines(dst, rec, thick, color)
3652
+ # @!method ImageDrawRectangleLines(dst, posX, posY, width, height, color)
3633
3653
  # ImageDrawRectangleLines : Draw rectangle lines within an image
3634
3654
  # @param dst [Image *]
3655
+ # @param posX [int]
3656
+ # @param posY [int]
3657
+ # @param width [int]
3658
+ # @param height [int]
3659
+ # @param color [Color]
3660
+ # @return [void]
3661
+ [:ImageDrawRectangleLines, :ImageDrawRectangleLines, [:pointer, :int, :int, :int, :int, Color.by_value], :void],
3662
+
3663
+ # @!method ImageDrawRectangleLinesEx(dst, rec, thick, color)
3664
+ # ImageDrawRectangleLinesEx : Draw rectangle lines within an image with extended parameters
3665
+ # @param dst [Image *]
3635
3666
  # @param rec [Rectangle]
3636
3667
  # @param thick [int]
3637
3668
  # @param color [Color]
3638
3669
  # @return [void]
3639
- [:ImageDrawRectangleLines, :ImageDrawRectangleLines, [:pointer, Rectangle.by_value, :int, Color.by_value], :void],
3670
+ [:ImageDrawRectangleLinesEx, :ImageDrawRectangleLinesEx, [:pointer, Rectangle.by_value, :int, Color.by_value], :void],
3640
3671
 
3641
3672
  # @!method ImageDrawTriangle(dst, v1, v2, v3, color)
3642
3673
  # ImageDrawTriangle : Draw triangle within an image
@@ -3648,8 +3679,8 @@ module Raylib
3648
3679
  # @return [void]
3649
3680
  [:ImageDrawTriangle, :ImageDrawTriangle, [:pointer, Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value], :void],
3650
3681
 
3651
- # @!method ImageDrawTriangleEx(dst, v1, v2, v3, c1, c2, c3)
3652
- # ImageDrawTriangleEx : Draw triangle with interpolated colors within an image
3682
+ # @!method ImageDrawTriangleGradient(dst, v1, v2, v3, c1, c2, c3)
3683
+ # ImageDrawTriangleGradient : Draw triangle with interpolated colors within an image
3653
3684
  # @param dst [Image *]
3654
3685
  # @param v1 [Vector2]
3655
3686
  # @param v2 [Vector2]
@@ -3658,7 +3689,7 @@ module Raylib
3658
3689
  # @param c2 [Color]
3659
3690
  # @param c3 [Color]
3660
3691
  # @return [void]
3661
- [:ImageDrawTriangleEx, :ImageDrawTriangleEx, [:pointer, Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value, Color.by_value, Color.by_value], :void],
3692
+ [:ImageDrawTriangleGradient, :ImageDrawTriangleGradient, [:pointer, Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value, Color.by_value, Color.by_value], :void],
3662
3693
 
3663
3694
  # @!method ImageDrawTriangleLines(dst, v1, v2, v3, color)
3664
3695
  # ImageDrawTriangleLines : Draw triangle outline within an image
@@ -3748,7 +3779,7 @@ module Raylib
3748
3779
  [:LoadRenderTexture, :LoadRenderTexture, [:int, :int], RenderTexture2D.by_value],
3749
3780
 
3750
3781
  # @!method IsTextureValid(texture)
3751
- # IsTextureValid : Check if a texture is valid (loaded in GPU)
3782
+ # IsTextureValid : Check if texture is valid (loaded in GPU)
3752
3783
  # @param texture [Texture2D]
3753
3784
  # @return [bool]
3754
3785
  [:IsTextureValid, :IsTextureValid, [Texture2D.by_value], :bool],
@@ -3760,7 +3791,7 @@ module Raylib
3760
3791
  [:UnloadTexture, :UnloadTexture, [Texture2D.by_value], :void],
3761
3792
 
3762
3793
  # @!method IsRenderTextureValid(target)
3763
- # IsRenderTextureValid : Check if a render texture is valid (loaded in GPU)
3794
+ # IsRenderTextureValid : Check if render texture is valid (loaded in GPU)
3764
3795
  # @param target [RenderTexture2D]
3765
3796
  # @return [bool]
3766
3797
  [:IsRenderTextureValid, :IsRenderTextureValid, [RenderTexture2D.by_value], :bool],
@@ -3833,31 +3864,31 @@ module Raylib
3833
3864
  # @return [void]
3834
3865
  [:DrawTextureEx, :DrawTextureEx, [Texture2D.by_value, Vector2.by_value, :float, :float, Color.by_value], :void],
3835
3866
 
3836
- # @!method DrawTextureRec(texture, source, position, tint)
3867
+ # @!method DrawTextureRec(texture, rec, position, tint)
3837
3868
  # DrawTextureRec : Draw a part of a texture defined by a rectangle
3838
3869
  # @param texture [Texture2D]
3839
- # @param source [Rectangle]
3870
+ # @param rec [Rectangle]
3840
3871
  # @param position [Vector2]
3841
3872
  # @param tint [Color]
3842
3873
  # @return [void]
3843
3874
  [:DrawTextureRec, :DrawTextureRec, [Texture2D.by_value, Rectangle.by_value, Vector2.by_value, Color.by_value], :void],
3844
3875
 
3845
- # @!method DrawTexturePro(texture, source, dest, origin, rotation, tint)
3846
- # DrawTexturePro : Draw a part of a texture defined by a rectangle with 'pro' parameters
3876
+ # @!method DrawTexturePro(texture, srcrec, dstrec, origin, rotation, tint)
3877
+ # DrawTexturePro : Draw a part of a texture defined by a source rectangle to destination rectangle, with scaling and rotation
3847
3878
  # @param texture [Texture2D]
3848
- # @param source [Rectangle]
3849
- # @param dest [Rectangle]
3879
+ # @param srcrec [Rectangle]
3880
+ # @param dstrec [Rectangle]
3850
3881
  # @param origin [Vector2]
3851
3882
  # @param rotation [float]
3852
3883
  # @param tint [Color]
3853
3884
  # @return [void]
3854
3885
  [:DrawTexturePro, :DrawTexturePro, [Texture2D.by_value, Rectangle.by_value, Rectangle.by_value, Vector2.by_value, :float, Color.by_value], :void],
3855
3886
 
3856
- # @!method DrawTextureNPatch(texture, nPatchInfo, dest, origin, rotation, tint)
3857
- # DrawTextureNPatch : Draws a texture (or part of it) that stretches or shrinks nicely
3887
+ # @!method DrawTextureNPatch(texture, nPatchInfo, dstrec, origin, rotation, tint)
3888
+ # DrawTextureNPatch : Draw a texture (or part of it) that stretches or shrinks nicely
3858
3889
  # @param texture [Texture2D]
3859
3890
  # @param nPatchInfo [NPatchInfo]
3860
- # @param dest [Rectangle]
3891
+ # @param dstrec [Rectangle]
3861
3892
  # @param origin [Vector2]
3862
3893
  # @param rotation [float]
3863
3894
  # @param tint [Color]
@@ -3962,7 +3993,7 @@ module Raylib
3962
3993
 
3963
3994
  # @!method GetPixelColor(srcPtr, format)
3964
3995
  # GetPixelColor : Get Color from a source pixel pointer of certain format
3965
- # @param srcPtr [void *]
3996
+ # @param srcPtr [const void *]
3966
3997
  # @param format [int]
3967
3998
  # @return [Color]
3968
3999
  [:GetPixelColor, :GetPixelColor, [:pointer, :int], Color.by_value],
@@ -4023,7 +4054,7 @@ module Raylib
4023
4054
  [:LoadFontFromMemory, :LoadFontFromMemory, [:pointer, :pointer, :int, :int, :pointer, :int], Font.by_value],
4024
4055
 
4025
4056
  # @!method IsFontValid(font)
4026
- # IsFontValid : Check if a font is valid (font data loaded, WARNING: GPU texture not checked)
4057
+ # IsFontValid : Check if font is valid (font data loaded, WARNING: GPU texture not checked)
4027
4058
  # @param font [Font]
4028
4059
  # @return [bool]
4029
4060
  [:IsFontValid, :IsFontValid, [Font.by_value], :bool],
@@ -4123,7 +4154,7 @@ module Raylib
4123
4154
  [:DrawTextCodepoint, :DrawTextCodepoint, [Font.by_value, :int, Vector2.by_value, :float, Color.by_value], :void],
4124
4155
 
4125
4156
  # @!method DrawTextCodepoints(font, codepoints, codepointCount, position, fontSize, spacing, tint)
4126
- # DrawTextCodepoints : Draw multiple character (codepoint)
4157
+ # DrawTextCodepoints : Draw multiple characters (codepoint)
4127
4158
  # @param font [Font]
4128
4159
  # @param codepoints [const int *]
4129
4160
  # @param codepointCount [int]
@@ -4156,6 +4187,16 @@ module Raylib
4156
4187
  # @return [Vector2]
4157
4188
  [:MeasureTextEx, :MeasureTextEx, [Font.by_value, :pointer, :float, :float], Vector2.by_value],
4158
4189
 
4190
+ # @!method MeasureTextCodepoints(font, codepoints, length, fontSize, spacing)
4191
+ # MeasureTextCodepoints : Measure string size for an existing array of codepoints for Font
4192
+ # @param font [Font]
4193
+ # @param codepoints [const int *]
4194
+ # @param length [int]
4195
+ # @param fontSize [float]
4196
+ # @param spacing [float]
4197
+ # @return [Vector2]
4198
+ [:MeasureTextCodepoints, :MeasureTextCodepoints, [Font.by_value, :pointer, :int, :float, :float], Vector2.by_value],
4199
+
4159
4200
  # @!method GetGlyphIndex(font, codepoint)
4160
4201
  # GetGlyphIndex : Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
4161
4202
  # @param font [Font]
@@ -4259,7 +4300,7 @@ module Raylib
4259
4300
  [:TextCopy, :TextCopy, [:pointer, :pointer], :int],
4260
4301
 
4261
4302
  # @!method TextIsEqual(text1, text2)
4262
- # TextIsEqual : Check if two text string are equal
4303
+ # TextIsEqual : Check if two text strings are equal
4263
4304
  # @param text1 [const char *]
4264
4305
  # @param text2 [const char *]
4265
4306
  # @return [bool]
@@ -4301,15 +4342,23 @@ module Raylib
4301
4342
  [:GetTextBetween, :GetTextBetween, [:pointer, :pointer, :pointer], :pointer],
4302
4343
 
4303
4344
  # @!method TextReplace(text, search, replacement)
4304
- # TextReplace : Replace text string (WARNING: memory must be freed!)
4345
+ # TextReplace : Replace text string with new string
4305
4346
  # @param text [const char *]
4306
4347
  # @param search [const char *]
4307
4348
  # @param replacement [const char *]
4308
4349
  # @return [char *]
4309
4350
  [:TextReplace, :TextReplace, [:pointer, :pointer, :pointer], :pointer],
4310
4351
 
4352
+ # @!method TextReplaceAlloc(text, search, replacement)
4353
+ # TextReplaceAlloc : Replace text string with new string, memory must be MemFree()
4354
+ # @param text [const char *]
4355
+ # @param search [const char *]
4356
+ # @param replacement [const char *]
4357
+ # @return [char *]
4358
+ [:TextReplaceAlloc, :TextReplaceAlloc, [:pointer, :pointer, :pointer], :pointer],
4359
+
4311
4360
  # @!method TextReplaceBetween(text, begin, end, replacement)
4312
- # TextReplaceBetween : Replace text between two specific strings (WARNING: memory must be freed!)
4361
+ # TextReplaceBetween : Replace text between two specific strings
4313
4362
  # @param text [const char *]
4314
4363
  # @param begin [const char *]
4315
4364
  # @param end [const char *]
@@ -4317,14 +4366,31 @@ module Raylib
4317
4366
  # @return [char *]
4318
4367
  [:TextReplaceBetween, :TextReplaceBetween, [:pointer, :pointer, :pointer, :pointer], :pointer],
4319
4368
 
4369
+ # @!method TextReplaceBetweenAlloc(text, begin, end, replacement)
4370
+ # TextReplaceBetweenAlloc : Replace text between two specific strings, memory must be MemFree()
4371
+ # @param text [const char *]
4372
+ # @param begin [const char *]
4373
+ # @param end [const char *]
4374
+ # @param replacement [const char *]
4375
+ # @return [char *]
4376
+ [:TextReplaceBetweenAlloc, :TextReplaceBetweenAlloc, [:pointer, :pointer, :pointer, :pointer], :pointer],
4377
+
4320
4378
  # @!method TextInsert(text, insert, position)
4321
- # TextInsert : Insert text in a position (WARNING: memory must be freed!)
4379
+ # TextInsert : Insert text in a defined byte position
4322
4380
  # @param text [const char *]
4323
4381
  # @param insert [const char *]
4324
4382
  # @param position [int]
4325
4383
  # @return [char *]
4326
4384
  [:TextInsert, :TextInsert, [:pointer, :pointer, :int], :pointer],
4327
4385
 
4386
+ # @!method TextInsertAlloc(text, insert, position)
4387
+ # TextInsertAlloc : Insert text in a defined byte position, memory must be MemFree()
4388
+ # @param text [const char *]
4389
+ # @param insert [const char *]
4390
+ # @param position [int]
4391
+ # @return [char *]
4392
+ [:TextInsertAlloc, :TextInsertAlloc, [:pointer, :pointer, :int], :pointer],
4393
+
4328
4394
  # @!method TextJoin(textList, count, delimiter)
4329
4395
  # TextJoin : Join text strings with delimiter
4330
4396
  # @param textList [char **]
@@ -4504,13 +4570,13 @@ module Raylib
4504
4570
  # @return [void]
4505
4571
  [:DrawSphereWires, :DrawSphereWires, [Vector3.by_value, :float, :int, :int, Color.by_value], :void],
4506
4572
 
4507
- # @!method DrawCylinder(position, radiusTop, radiusBottom, height, slices, color)
4573
+ # @!method DrawCylinder(position, radiusTop, radiusBottom, height, sides, color)
4508
4574
  # DrawCylinder : Draw a cylinder/cone
4509
4575
  # @param position [Vector3]
4510
4576
  # @param radiusTop [float]
4511
4577
  # @param radiusBottom [float]
4512
4578
  # @param height [float]
4513
- # @param slices [int]
4579
+ # @param sides [int]
4514
4580
  # @param color [Color]
4515
4581
  # @return [void]
4516
4582
  [:DrawCylinder, :DrawCylinder, [Vector3.by_value, :float, :float, :float, :int, Color.by_value], :void],
@@ -4526,13 +4592,13 @@ module Raylib
4526
4592
  # @return [void]
4527
4593
  [:DrawCylinderEx, :DrawCylinderEx, [Vector3.by_value, Vector3.by_value, :float, :float, :int, Color.by_value], :void],
4528
4594
 
4529
- # @!method DrawCylinderWires(position, radiusTop, radiusBottom, height, slices, color)
4595
+ # @!method DrawCylinderWires(position, radiusTop, radiusBottom, height, sides, color)
4530
4596
  # DrawCylinderWires : Draw a cylinder/cone wires
4531
4597
  # @param position [Vector3]
4532
4598
  # @param radiusTop [float]
4533
4599
  # @param radiusBottom [float]
4534
4600
  # @param height [float]
4535
- # @param slices [int]
4601
+ # @param sides [int]
4536
4602
  # @param color [Color]
4537
4603
  # @return [void]
4538
4604
  [:DrawCylinderWires, :DrawCylinderWires, [Vector3.by_value, :float, :float, :float, :int, Color.by_value], :void],
@@ -4548,24 +4614,24 @@ module Raylib
4548
4614
  # @return [void]
4549
4615
  [:DrawCylinderWiresEx, :DrawCylinderWiresEx, [Vector3.by_value, Vector3.by_value, :float, :float, :int, Color.by_value], :void],
4550
4616
 
4551
- # @!method DrawCapsule(startPos, endPos, radius, slices, rings, color)
4617
+ # @!method DrawCapsule(startPos, endPos, radius, rings, slices, color)
4552
4618
  # DrawCapsule : Draw a capsule with the center of its sphere caps at startPos and endPos
4553
4619
  # @param startPos [Vector3]
4554
4620
  # @param endPos [Vector3]
4555
4621
  # @param radius [float]
4556
- # @param slices [int]
4557
4622
  # @param rings [int]
4623
+ # @param slices [int]
4558
4624
  # @param color [Color]
4559
4625
  # @return [void]
4560
4626
  [:DrawCapsule, :DrawCapsule, [Vector3.by_value, Vector3.by_value, :float, :int, :int, Color.by_value], :void],
4561
4627
 
4562
- # @!method DrawCapsuleWires(startPos, endPos, radius, slices, rings, color)
4628
+ # @!method DrawCapsuleWires(startPos, endPos, radius, rings, slices, color)
4563
4629
  # DrawCapsuleWires : Draw capsule wireframe with the center of its sphere caps at startPos and endPos
4564
4630
  # @param startPos [Vector3]
4565
4631
  # @param endPos [Vector3]
4566
4632
  # @param radius [float]
4567
- # @param slices [int]
4568
4633
  # @param rings [int]
4634
+ # @param slices [int]
4569
4635
  # @param color [Color]
4570
4636
  # @return [void]
4571
4637
  [:DrawCapsuleWires, :DrawCapsuleWires, [Vector3.by_value, Vector3.by_value, :float, :int, :int, Color.by_value], :void],
@@ -4605,7 +4671,7 @@ module Raylib
4605
4671
  [:LoadModelFromMesh, :LoadModelFromMesh, [Mesh.by_value], Model.by_value],
4606
4672
 
4607
4673
  # @!method IsModelValid(model)
4608
- # IsModelValid : Check if a model is valid (loaded in GPU, VAO/VBOs)
4674
+ # IsModelValid : Check if model is valid (loaded in GPU, VAO/VBOs)
4609
4675
  # @param model [Model]
4610
4676
  # @return [bool]
4611
4677
  [:IsModelValid, :IsModelValid, [Model.by_value], :bool],
@@ -4662,26 +4728,6 @@ module Raylib
4662
4728
  # @return [void]
4663
4729
  [:DrawModelWiresEx, :DrawModelWiresEx, [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value], :void],
4664
4730
 
4665
- # @!method DrawModelPoints(model, position, scale, tint)
4666
- # DrawModelPoints : Draw a model as points
4667
- # @param model [Model]
4668
- # @param position [Vector3]
4669
- # @param scale [float]
4670
- # @param tint [Color]
4671
- # @return [void]
4672
- [:DrawModelPoints, :DrawModelPoints, [Model.by_value, Vector3.by_value, :float, Color.by_value], :void],
4673
-
4674
- # @!method DrawModelPointsEx(model, position, rotationAxis, rotationAngle, scale, tint)
4675
- # DrawModelPointsEx : Draw a model as points with extended parameters
4676
- # @param model [Model]
4677
- # @param position [Vector3]
4678
- # @param rotationAxis [Vector3]
4679
- # @param rotationAngle [float]
4680
- # @param scale [Vector3]
4681
- # @param tint [Color]
4682
- # @return [void]
4683
- [:DrawModelPointsEx, :DrawModelPointsEx, [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value], :void],
4684
-
4685
4731
  # @!method DrawBoundingBox(box, color)
4686
4732
  # DrawBoundingBox : Draw bounding box (wires)
4687
4733
  # @param box [BoundingBox]
@@ -4699,22 +4745,22 @@ module Raylib
4699
4745
  # @return [void]
4700
4746
  [:DrawBillboard, :DrawBillboard, [Camera.by_value, Texture2D.by_value, Vector3.by_value, :float, Color.by_value], :void],
4701
4747
 
4702
- # @!method DrawBillboardRec(camera, texture, source, position, size, tint)
4703
- # DrawBillboardRec : Draw a billboard texture defined by source
4748
+ # @!method DrawBillboardRec(camera, texture, rec, position, size, tint)
4749
+ # DrawBillboardRec : Draw a billboard texture defined by rectangle
4704
4750
  # @param camera [Camera]
4705
4751
  # @param texture [Texture2D]
4706
- # @param source [Rectangle]
4752
+ # @param rec [Rectangle]
4707
4753
  # @param position [Vector3]
4708
4754
  # @param size [Vector2]
4709
4755
  # @param tint [Color]
4710
4756
  # @return [void]
4711
4757
  [:DrawBillboardRec, :DrawBillboardRec, [Camera.by_value, Texture2D.by_value, Rectangle.by_value, Vector3.by_value, Vector2.by_value, Color.by_value], :void],
4712
4758
 
4713
- # @!method DrawBillboardPro(camera, texture, source, position, up, size, origin, rotation, tint)
4714
- # DrawBillboardPro : Draw a billboard texture defined by source and rotation
4759
+ # @!method DrawBillboardPro(camera, texture, rec, position, up, size, origin, rotation, tint)
4760
+ # DrawBillboardPro : Draw a billboard texture defined by source rectangle with scaling and rotation
4715
4761
  # @param camera [Camera]
4716
4762
  # @param texture [Texture2D]
4717
- # @param source [Rectangle]
4763
+ # @param rec [Rectangle]
4718
4764
  # @param position [Vector3]
4719
4765
  # @param up [Vector3]
4720
4766
  # @param size [Vector2]
@@ -4891,7 +4937,7 @@ module Raylib
4891
4937
  [:LoadMaterialDefault, :LoadMaterialDefault, [], Material.by_value],
4892
4938
 
4893
4939
  # @!method IsMaterialValid(material)
4894
- # IsMaterialValid : Check if a material is valid (shader assigned, map textures loaded in GPU)
4940
+ # IsMaterialValid : Check if material is valid (shader assigned, map textures loaded in GPU)
4895
4941
  # @param material [Material]
4896
4942
  # @return [bool]
4897
4943
  [:IsMaterialValid, :IsMaterialValid, [Material.by_value], :bool],
@@ -4926,43 +4972,23 @@ module Raylib
4926
4972
  [:LoadModelAnimations, :LoadModelAnimations, [:pointer, :pointer], :pointer],
4927
4973
 
4928
4974
  # @!method UpdateModelAnimation(model, anim, frame)
4929
- # UpdateModelAnimation : Update model animation pose (CPU)
4975
+ # UpdateModelAnimation : Update model animation pose (vertex buffers and bone matrices)
4930
4976
  # @param model [Model]
4931
4977
  # @param anim [ModelAnimation]
4932
- # @param frame [int]
4978
+ # @param frame [float]
4933
4979
  # @return [void]
4934
- [:UpdateModelAnimation, :UpdateModelAnimation, [Model.by_value, ModelAnimation.by_value, :int], :void],
4980
+ [:UpdateModelAnimation, :UpdateModelAnimation, [Model.by_value, ModelAnimation.by_value, :float], :void],
4935
4981
 
4936
- # @!method UpdateModelAnimationBones(model, anim, frame)
4937
- # UpdateModelAnimationBones : Update model animation mesh bone matrices (GPU skinning)
4938
- # @param model [Model]
4939
- # @param anim [ModelAnimation]
4940
- # @param frame [int]
4941
- # @return [void]
4942
- [:UpdateModelAnimationBones, :UpdateModelAnimationBones, [Model.by_value, ModelAnimation.by_value, :int], :void],
4943
-
4944
- # @!method UpdateModelAnimationBonesLerp(model, animA, frameA, animB, frameB, value)
4945
- # UpdateModelAnimationBonesLerp : Update model animation mesh bone matrices with interpolation between two poses(GPU skinning)
4982
+ # @!method UpdateModelAnimationEx(model, animA, frameA, animB, frameB, blend)
4983
+ # UpdateModelAnimationEx : Update model animation pose, blending two animations
4946
4984
  # @param model [Model]
4947
4985
  # @param animA [ModelAnimation]
4948
- # @param frameA [int]
4986
+ # @param frameA [float]
4949
4987
  # @param animB [ModelAnimation]
4950
- # @param frameB [int]
4951
- # @param value [float]
4952
- # @return [void]
4953
- [:UpdateModelAnimationBonesLerp, :UpdateModelAnimationBonesLerp, [Model.by_value, ModelAnimation.by_value, :int, ModelAnimation.by_value, :int, :float], :void],
4954
-
4955
- # @!method UpdateModelVertsToCurrentBones(model)
4956
- # UpdateModelVertsToCurrentBones : Update model vertices according to mesh bone matrices (CPU)
4957
- # @param model [Model]
4988
+ # @param frameB [float]
4989
+ # @param blend [float]
4958
4990
  # @return [void]
4959
- [:UpdateModelVertsToCurrentBones, :UpdateModelVertsToCurrentBones, [Model.by_value], :void],
4960
-
4961
- # @!method UnloadModelAnimation(anim)
4962
- # UnloadModelAnimation : Unload animation data
4963
- # @param anim [ModelAnimation]
4964
- # @return [void]
4965
- [:UnloadModelAnimation, :UnloadModelAnimation, [ModelAnimation.by_value], :void],
4991
+ [:UpdateModelAnimationEx, :UpdateModelAnimationEx, [Model.by_value, ModelAnimation.by_value, :float, ModelAnimation.by_value, :float, :float], :void],
4966
4992
 
4967
4993
  # @!method UnloadModelAnimations(animations, animCount)
4968
4994
  # UnloadModelAnimations : Unload animation array data
@@ -5085,7 +5111,7 @@ module Raylib
5085
5111
  [:LoadWaveFromMemory, :LoadWaveFromMemory, [:pointer, :pointer, :int], Wave.by_value],
5086
5112
 
5087
5113
  # @!method IsWaveValid(wave)
5088
- # IsWaveValid : Checks if wave data is valid (data loaded and parameters)
5114
+ # IsWaveValid : Check if wave data is valid (data loaded and parameters)
5089
5115
  # @param wave [Wave]
5090
5116
  # @return [bool]
5091
5117
  [:IsWaveValid, :IsWaveValid, [Wave.by_value], :bool],
@@ -5103,22 +5129,22 @@ module Raylib
5103
5129
  [:LoadSoundFromWave, :LoadSoundFromWave, [Wave.by_value], Sound.by_value],
5104
5130
 
5105
5131
  # @!method LoadSoundAlias(source)
5106
- # LoadSoundAlias : Create a new sound that shares the same sample data as the source sound, does not own the sound data
5132
+ # LoadSoundAlias : Load sound alias, new sound that shares the same sample data as the source sound, does not own the sound data
5107
5133
  # @param source [Sound]
5108
5134
  # @return [Sound]
5109
5135
  [:LoadSoundAlias, :LoadSoundAlias, [Sound.by_value], Sound.by_value],
5110
5136
 
5111
5137
  # @!method IsSoundValid(sound)
5112
- # IsSoundValid : Checks if a sound is valid (data loaded and buffers initialized)
5138
+ # IsSoundValid : Check if sound is valid (data loaded and buffers initialized)
5113
5139
  # @param sound [Sound]
5114
5140
  # @return [bool]
5115
5141
  [:IsSoundValid, :IsSoundValid, [Sound.by_value], :bool],
5116
5142
 
5117
- # @!method UpdateSound(sound, data, sampleCount)
5143
+ # @!method UpdateSound(sound, data, frameCount)
5118
5144
  # UpdateSound : Update sound buffer with new data (default data format: 32 bit float, stereo)
5119
5145
  # @param sound [Sound]
5120
5146
  # @param data [const void *]
5121
- # @param sampleCount [int]
5147
+ # @param frameCount [int]
5122
5148
  # @return [void]
5123
5149
  [:UpdateSound, :UpdateSound, [Sound.by_value, :pointer, :int], :void],
5124
5150
 
@@ -5135,7 +5161,7 @@ module Raylib
5135
5161
  [:UnloadSound, :UnloadSound, [Sound.by_value], :void],
5136
5162
 
5137
5163
  # @!method UnloadSoundAlias(alias)
5138
- # UnloadSoundAlias : Unload a sound alias (does not deallocate sample data)
5164
+ # UnloadSoundAlias : Unload sound alias (does not deallocate sample data)
5139
5165
  # @param alias [Sound]
5140
5166
  # @return [void]
5141
5167
  [:UnloadSoundAlias, :UnloadSoundAlias, [Sound.by_value], :void],
@@ -5179,7 +5205,7 @@ module Raylib
5179
5205
  [:ResumeSound, :ResumeSound, [Sound.by_value], :void],
5180
5206
 
5181
5207
  # @!method IsSoundPlaying(sound)
5182
- # IsSoundPlaying : Check if a sound is currently playing
5208
+ # IsSoundPlaying : Check if sound is currently playing
5183
5209
  # @param sound [Sound]
5184
5210
  # @return [bool]
5185
5211
  [:IsSoundPlaying, :IsSoundPlaying, [Sound.by_value], :bool],
@@ -5255,7 +5281,7 @@ module Raylib
5255
5281
  [:LoadMusicStreamFromMemory, :LoadMusicStreamFromMemory, [:pointer, :pointer, :int], Music.by_value],
5256
5282
 
5257
5283
  # @!method IsMusicValid(music)
5258
- # IsMusicValid : Checks if a music stream is valid (context and buffers initialized)
5284
+ # IsMusicValid : Check if music stream is valid (context and buffers initialized)
5259
5285
  # @param music [Music]
5260
5286
  # @return [bool]
5261
5287
  [:IsMusicValid, :IsMusicValid, [Music.by_value], :bool],
@@ -5279,7 +5305,7 @@ module Raylib
5279
5305
  [:IsMusicStreamPlaying, :IsMusicStreamPlaying, [Music.by_value], :bool],
5280
5306
 
5281
5307
  # @!method UpdateMusicStream(music)
5282
- # UpdateMusicStream : Updates buffers for music streaming
5308
+ # UpdateMusicStream : Update buffers for music streaming
5283
5309
  # @param music [Music]
5284
5310
  # @return [void]
5285
5311
  [:UpdateMusicStream, :UpdateMusicStream, [Music.by_value], :void],
@@ -5317,14 +5343,14 @@ module Raylib
5317
5343
  [:SetMusicVolume, :SetMusicVolume, [Music.by_value, :float], :void],
5318
5344
 
5319
5345
  # @!method SetMusicPitch(music, pitch)
5320
- # SetMusicPitch : Set pitch for a music (1.0 is base level)
5346
+ # SetMusicPitch : Set pitch for music (1.0 is base level)
5321
5347
  # @param music [Music]
5322
5348
  # @param pitch [float]
5323
5349
  # @return [void]
5324
5350
  [:SetMusicPitch, :SetMusicPitch, [Music.by_value, :float], :void],
5325
5351
 
5326
5352
  # @!method SetMusicPan(music, pan)
5327
- # SetMusicPan : Set pan for a music (-1.0 left, 0.0 center, 1.0 right)
5353
+ # SetMusicPan : Set pan for music (-1.0 left, 0.0 center, 1.0 right)
5328
5354
  # @param music [Music]
5329
5355
  # @param pan [float]
5330
5356
  # @return [void]
@@ -5351,7 +5377,7 @@ module Raylib
5351
5377
  [:LoadAudioStream, :LoadAudioStream, [:uint, :uint, :uint], AudioStream.by_value],
5352
5378
 
5353
5379
  # @!method IsAudioStreamValid(stream)
5354
- # IsAudioStreamValid : Checks if an audio stream is valid (buffers initialized)
5380
+ # IsAudioStreamValid : Check if an audio stream is valid (buffers initialized)
5355
5381
  # @param stream [AudioStream]
5356
5382
  # @return [bool]
5357
5383
  [:IsAudioStreamValid, :IsAudioStreamValid, [AudioStream.by_value], :bool],
@@ -5421,7 +5447,7 @@ module Raylib
5421
5447
  [:SetAudioStreamPitch, :SetAudioStreamPitch, [AudioStream.by_value, :float], :void],
5422
5448
 
5423
5449
  # @!method SetAudioStreamPan(stream, pan)
5424
- # SetAudioStreamPan : Set pan for audio stream (0.5 is centered)
5450
+ # SetAudioStreamPan : Set pan for audio stream (-1.0 left, 0.0 center, 1.0 right)
5425
5451
  # @param stream [AudioStream]
5426
5452
  # @param pan [float]
5427
5453
  # @return [void]