raylib-bindings 0.7.15 → 0.7.18

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39c0edbaaba962f17e366585bda1e1cb4855cf1dc2cc52cc235892c9eff585f3
4
- data.tar.gz: 8efec13f03aa97dda01f17e7a65d80786ac2522634e79764baf570953cfd700e
3
+ metadata.gz: cd57a137bfb651579ab1c84988efc7929841cb14432fd8616bee09443bb350be
4
+ data.tar.gz: 917d5d2da22a1aad5c3ff3cd028e534c0409be0b643b17d755376b878e88a7a6
5
5
  SHA512:
6
- metadata.gz: 7cf3eb5a9625aaf1a336d5f973fe6aebbe45c71cbed829927b3a80f56eb208b2ddfee666f52ce27f9a3e603def949bfa5dc131154f500b27e832830229b4a5ea
7
- data.tar.gz: 9bf27e9979b1164170be1f0d7202dbcbf93590a8c7c0f944ad94887aefcd30f7cf74e914faa75e22db8a0bea9651f23cdd9a0cb1658ccbfa7ed6303471cef07f
6
+ metadata.gz: 626da72ccc0db1bdc460e2d4b1acd79e6d14fff5a8a2dccdab4d07b49ea840f0944484d2895c644644ef173c2008cad9450197f46c2e4827f7f7a5fd666d986e
7
+ data.tar.gz: 0f7436a236b5c761461de4a945a44ac86e3707f987bc1fa4193412321d6a4739547a505cf37dcf706bc944eecd8e7c02faf8751f329a703456675b40205da4b9
data/ChangeLog CHANGED
@@ -1,3 +1,19 @@
1
+ 2026-02-22 vaiorabbit <http://twitter.com/vaiorabbit>
2
+
3
+ * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/11e3e6e0b994d0543cb83e253438e08402dba014 ) and raygui ( https://github.com/raysan5/raygui/commit/960f13b6e07ab9876fbba572fa5f17eed268d6b4 )
4
+
5
+ 2026-01-10 vaiorabbit <http://twitter.com/vaiorabbit>
6
+
7
+ * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/f2c8a9c085c26c0a7a0b5bf7d6e69a56618bd964 ) and raygui ( https://github.com/raysan5/raygui/commit/51e6bcb39346b3e363643f95c3532119af41f6fd )
8
+
9
+ 2025-12-28 vaiorabbit <http://twitter.com/vaiorabbit>
10
+
11
+ * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/05f5143603ba4db9b3157e981926a42c55c4c766 ) and raygui ( https://github.com/raysan5/raygui/commit/0b94b80c92c34c79f8d902f51f68dfc1edacf51b )
12
+
13
+ 2025-11-18 vaiorabbit <http://twitter.com/vaiorabbit>
14
+
15
+ * examples/particles_fireworks.rb : Added
16
+
1
17
  2025-10-26 vaiorabbit <http://twitter.com/vaiorabbit>
2
18
 
3
19
  * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/a818508158119f74e99b4dc98345c28ce112733c ) and raygui ( https://github.com/raysan5/raygui/commit/b9971133b2f7b7513904770d565b683a93fb3624 )
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Ruby-raylib : Yet another raylib wrapper for Ruby
2
- Copyright (c) 2021-2025 vaiorabbit <http://twitter.com/vaiorabbit>
2
+ Copyright (c) 2021-2026 vaiorabbit <http://twitter.com/vaiorabbit>
3
3
 
4
4
  This software is provided 'as-is', without any express or implied
5
5
  warranty. In no event will the authors be held liable for any damages
data/README.md CHANGED
@@ -3,15 +3,15 @@
3
3
  # Yet another raylib wrapper for Ruby #
4
4
 
5
5
  * Created : 2021-10-17
6
- * Last modified : 2025-10-26
6
+ * Last modified : 2026-02-21
7
7
 
8
8
  Provides Ruby bindings for raylib-related libraries including:
9
9
 
10
- * [raylib](https://github.com/raysan5/raylib) version [5.6-dev]( https://github.com/raysan5/raylib/commit/a818508158119f74e99b4dc98345c28ce112733c )
10
+ * [raylib](https://github.com/raysan5/raylib) version [5.6-dev]( https://github.com/raysan5/raylib/commit/11e3e6e0b994d0543cb83e253438e08402dba014 )
11
11
  * raylib
12
12
  * raymath
13
13
  * rlgl
14
- * [raygui](https://github.com/raysan5/raygui) version [5.0-dev]( https://github.com/raysan5/raygui/commit/b9971133b2f7b7513904770d565b683a93fb3624 )
14
+ * [raygui](https://github.com/raysan5/raygui) version [5.0-dev]( https://github.com/raysan5/raygui/commit/960f13b6e07ab9876fbba572fa5f17eed268d6b4 )
15
15
  * [Physac](https://github.com/raysan5/physac) version [1.1]( https://github.com/raysan5/physac/commit/4a8e17f263fb8e1150b3fbafc96f880c7d7a4833 )
16
16
 
17
17
  <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/bitmap_font_rb.png" width="125"> <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/game_of_life_simple_rb.png" width="125"> <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/lissajous_curve_rb.png" width="125"> <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/procedural_texture_rb.png" width="125"> <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/reversi_board_rb.png" width="125"> <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/utf8_font_rb.png" width="125">
@@ -50,7 +50,7 @@ D:\> ruby template.rb
50
50
  * [macOS] https://rvm.io
51
51
  * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
52
52
  * [Windows] https://rubyinstaller.org/downloads/ Ruby+Devkit
53
- * ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x64-mingw-ucrt]
53
+ * ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [x64-mingw-ucrt]
54
54
  * [Linux/x86_64 WSL] https://github.com/rvm/ubuntu_rvm
55
55
  * ruby 3.4.0dev (2024-12-25 master f450108330) +PRISM [x86_64-linux]
56
56
  * [Linux/ARM64 Chromebook] https://github.com/rvm/ubuntu_rvm
@@ -70,7 +70,7 @@ D:\> ruby template.rb
70
70
 
71
71
  * [Windows] gcc
72
72
 
73
- gcc (Rev8, Built by MSYS2 project) 15.2.0
73
+ gcc (Rev8, Built by MSYS2 project) 15.2.0
74
74
 
75
75
  * [Linux] gcc, clang
76
76
 
@@ -91,6 +91,8 @@ D:\> ruby template.rb
91
91
  * ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin20]
92
92
  * ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]
93
93
  * [Windows] https://rubyinstaller.org/downloads/ Ruby+Devkit
94
+ * ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [x64-mingw-ucrt]
95
+ * ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x64-mingw-ucrt]
94
96
  * ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x64-mingw-ucrt]
95
97
  * ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x64-mingw-ucrt]
96
98
  * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x64-mingw-ucrt]
@@ -201,7 +203,7 @@ Shared libraries in `lib` directory are built on top of these products and are a
201
203
  All ruby codes here are available under the terms of the zlib/libpng License ( http://opensource.org/licenses/Zlib ).
202
204
 
203
205
  Ruby-raylib : Yet another raylib wrapper for Ruby
204
- Copyright (c) 2021-2025 vaiorabbit <http://twitter.com/vaiorabbit>
206
+ Copyright (c) 2021-2026 vaiorabbit <http://twitter.com/vaiorabbit>
205
207
 
206
208
  This software is provided 'as-is', without any express or implied
207
209
  warranty. In no event will the authors be held liable for any damages
data/lib/config.rb CHANGED
@@ -16,6 +16,8 @@ module Raylib
16
16
  SUPPORT_MODULE_RTEXT = 1 # WARNING: It requires SUPPORT_MODULE_RTEXTURES to load sprite font textures
17
17
  SUPPORT_MODULE_RMODELS = 1
18
18
  SUPPORT_MODULE_RAUDIO = 1
19
+ SUPPORT_STANDARD_FILEIO = 1
20
+ SUPPORT_TRACELOG = 1
19
21
  SUPPORT_CAMERA_SYSTEM = 1
20
22
  SUPPORT_GESTURES_SYSTEM = 1
21
23
  SUPPORT_RPRAND_GENERATOR = 1
@@ -24,13 +26,13 @@ module Raylib
24
26
  SUPPORT_WINMM_HIGHRES_TIMER = 1
25
27
  SUPPORT_PARTIALBUSY_WAIT_LOOP = 1
26
28
  SUPPORT_SCREEN_CAPTURE = 1
27
- SUPPORT_GIF_RECORDING = 1
28
29
  SUPPORT_COMPRESSION_API = 1
29
30
  SUPPORT_AUTOMATION_EVENTS = 1
30
31
  SUPPORT_CLIPBOARD_IMAGE = 1
31
32
  SUPPORT_FILEFORMAT_BMP = 1
32
33
  SUPPORT_FILEFORMAT_PNG = 1
33
34
  SUPPORT_FILEFORMAT_JPG = 1
35
+ MAX_TRACELOG_MSG_LENGTH = 256 # Max length of one trace-log message
34
36
  MAX_FILEPATH_CAPACITY = 8192 # Maximum file paths capacity
35
37
  MAX_FILEPATH_LENGTH = 4096 # Maximum length for filepaths (Linux PATH_MAX default value)
36
38
  MAX_KEYBOARD_KEYS = 512 # Maximum number of keyboard keys supported
@@ -39,7 +41,7 @@ module Raylib
39
41
  MAX_GAMEPAD_AXES = 8 # Maximum number of axes supported (per gamepad)
40
42
  MAX_GAMEPAD_BUTTONS = 32 # Maximum number of buttons supported (per gamepad)
41
43
  MAX_GAMEPAD_VIBRATION_TIME = 2.0 # Maximum vibration time in seconds
42
- MAX_TOUCH_POINTS = 8 # Maximum number of touch points supported
44
+ MAX_TOUCH_POINTS = 10 # Maximum number of touch points supported
43
45
  MAX_KEY_PRESSED_QUEUE = 16 # Maximum number of keys in the key input queue
44
46
  MAX_CHAR_PRESSED_QUEUE = 16 # Maximum number of characters in the char input queue
45
47
  MAX_DECOMPRESSION_SIZE = 64 # Max size allocated for decompression in MB
@@ -109,9 +111,7 @@ module Raylib
109
111
  SUPPORT_FILEFORMAT_MOD = 1
110
112
  AUDIO_DEVICE_CHANNELS = 2 # Device output channels: stereo
111
113
  AUDIO_DEVICE_SAMPLE_RATE = 0 # Device sample rate (device default)
114
+ AUDIO_DEVICE_PERIOD_SIZE_IN_FRAMES = 0 # Device period size (controls latency, 0 defaults to 10ms)
112
115
  MAX_AUDIO_BUFFER_POOL_CHANNELS = 16 # Maximum number of audio pool channels
113
- SUPPORT_STANDARD_FILEIO = 1
114
- SUPPORT_TRACELOG = 1
115
- MAX_TRACELOG_MSG_LENGTH = 256 # Max length of one trace-log message
116
116
 
117
117
  end
Binary file
Binary file
data/lib/libraylib.dll CHANGED
Binary file
Binary file
Binary file
Binary file
data/lib/physac.dll CHANGED
Binary file
Binary file
Binary file
data/lib/raygui.dll CHANGED
Binary file
Binary file
data/lib/raygui.x86_64.so CHANGED
Binary file
data/lib/raygui_main.rb CHANGED
@@ -392,22 +392,22 @@ module Raylib
392
392
  ICON_SLICING = 231
393
393
  ICON_MANUAL_CONTROL = 232
394
394
  ICON_COLLISION = 233
395
- ICON_234 = 234
396
- ICON_235 = 235
397
- ICON_236 = 236
398
- ICON_237 = 237
399
- ICON_238 = 238
400
- ICON_239 = 239
401
- ICON_240 = 240
402
- ICON_241 = 241
403
- ICON_242 = 242
404
- ICON_243 = 243
405
- ICON_244 = 244
406
- ICON_245 = 245
407
- ICON_246 = 246
408
- ICON_247 = 247
409
- ICON_248 = 248
410
- ICON_249 = 249
395
+ ICON_CIRCLE_ADD = 234
396
+ ICON_CIRCLE_ADD_FILL = 235
397
+ ICON_CIRCLE_WARNING = 236
398
+ ICON_CIRCLE_WARNING_FILL = 237
399
+ ICON_BOX_MORE = 238
400
+ ICON_BOX_MORE_FILL = 239
401
+ ICON_BOX_MINUS = 240
402
+ ICON_BOX_MINUS_FILL = 241
403
+ ICON_UNION = 242
404
+ ICON_INTERSECTION = 243
405
+ ICON_DIFFERENCE = 244
406
+ ICON_SPHERE = 245
407
+ ICON_CYLINDER = 246
408
+ ICON_CONE = 247
409
+ ICON_ELLIPSOID = 248
410
+ ICON_CAPSULE = 249
411
411
  ICON_250 = 250
412
412
  ICON_251 = 251
413
413
  ICON_252 = 252
@@ -440,27 +440,6 @@ module Raylib
440
440
 
441
441
  # Struct
442
442
 
443
- # It should be redesigned to be provided by user
444
- class Texture < FFI::Struct
445
- layout(
446
- :id, :uint, # OpenGL texture id
447
- :width, :int, # Texture base width
448
- :height, :int, # Texture base height
449
- :mipmaps, :int, # Mipmap levels, 1 by default
450
- :format, :int, # Data format (PixelFormat type)
451
- )
452
- def id = self[:id]
453
- def id=(v) self[:id] = v end
454
- def width = self[:width]
455
- def width=(v) self[:width] = v end
456
- def height = self[:height]
457
- def height=(v) self[:height] = v end
458
- def mipmaps = self[:mipmaps]
459
- def mipmaps=(v) self[:mipmaps] = v end
460
- def format = self[:format]
461
- def format=(v) self[:format] = v end
462
- end
463
-
464
443
  # NOTE: Used when exporting style as code for convenience
465
444
  class GuiStyleProp < FFI::Struct
466
445
  layout(
@@ -649,7 +628,7 @@ module Raylib
649
628
  # @!method GuiTabBar(bounds, text, count, active)
650
629
  # GuiTabBar : Tab Bar control, returns TAB to be closed or -1
651
630
  # @param bounds [Rectangle]
652
- # @param text [const char **]
631
+ # @param text [char **]
653
632
  # @param count [int]
654
633
  # @param active [int *]
655
634
  # @return [int]
@@ -845,7 +824,7 @@ module Raylib
845
824
  # @!method GuiListViewEx(bounds, text, count, scrollIndex, active, focus)
846
825
  # GuiListViewEx : List View with extended parameters
847
826
  # @param bounds [Rectangle]
848
- # @param text [const char **]
827
+ # @param text [char **]
849
828
  # @param count [int]
850
829
  # @param scrollIndex [int *]
851
830
  # @param active [int *]
data/lib/raylib_main.rb CHANGED
@@ -713,10 +713,10 @@ module Raylib
713
713
  # Camera2D, defines position/orientation in 2d space
714
714
  class Camera2D < FFI::Struct
715
715
  layout(
716
- :offset, Vector2, # Camera offset (displacement from target)
717
- :target, Vector2, # Camera target (rotation and zoom origin)
718
- :rotation, :float, # Camera rotation in degrees
719
- :zoom, :float, # Camera zoom (scaling), should be 1.0f by default
716
+ :offset, Vector2, # Camera offset (screen space offset from window origin)
717
+ :target, Vector2, # Camera target (world space target point that is mapped to screen space offset)
718
+ :rotation, :float, # Camera rotation in degrees (pivots around target)
719
+ :zoom, :float, # Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale
720
720
  )
721
721
  def offset = self[:offset]
722
722
  def offset=(v) self[:offset] = v end
@@ -890,12 +890,14 @@ module Raylib
890
890
  # ModelAnimation
891
891
  class ModelAnimation < FFI::Struct
892
892
  layout(
893
+ :name, [:char, 32], # Animation name
893
894
  :boneCount, :int, # Number of bones
894
895
  :frameCount, :int, # Number of animation frames
895
896
  :bones, :pointer, # Bones information (skeleton)
896
897
  :framePoses, :pointer, # Poses array by frame
897
- :name, [:char, 32], # Animation name
898
898
  )
899
+ def name = self[:name]
900
+ def name=(v) self[:name] = v end
899
901
  def boneCount = self[:boneCount]
900
902
  def boneCount=(v) self[:boneCount] = v end
901
903
  def frameCount = self[:frameCount]
@@ -904,8 +906,6 @@ module Raylib
904
906
  def bones=(v) self[:bones] = v end
905
907
  def framePoses = self[:framePoses]
906
908
  def framePoses=(v) self[:framePoses] = v end
907
- def name = self[:name]
908
- def name=(v) self[:name] = v end
909
909
  end
910
910
 
911
911
  # Ray, ray for raycasting
@@ -1091,12 +1091,9 @@ module Raylib
1091
1091
  # File path list
1092
1092
  class FilePathList < FFI::Struct
1093
1093
  layout(
1094
- :capacity, :uint, # Filepaths max entries
1095
1094
  :count, :uint, # Filepaths entries count
1096
1095
  :paths, :pointer, # Filepaths entries
1097
1096
  )
1098
- def capacity = self[:capacity]
1099
- def capacity=(v) self[:capacity] = v end
1100
1097
  def count = self[:count]
1101
1098
  def count=(v) self[:count] = v end
1102
1099
  def paths = self[:paths]
@@ -1765,6 +1762,12 @@ module Raylib
1765
1762
  # @return [void]
1766
1763
  [:OpenURL, :OpenURL, [:pointer], :void],
1767
1764
 
1765
+ # @!method SetTraceLogLevel(logLevel)
1766
+ # SetTraceLogLevel : Set the current threshold (minimum) log level
1767
+ # @param logLevel [int]
1768
+ # @return [void]
1769
+ [:SetTraceLogLevel, :SetTraceLogLevel, [:int], :void],
1770
+
1768
1771
  # @!method TraceLog(logLevel, text, ...)
1769
1772
  # TraceLog : Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
1770
1773
  # @param logLevel [int]
@@ -1773,11 +1776,11 @@ module Raylib
1773
1776
  # @return [void]
1774
1777
  [:TraceLog, :TraceLog, [:int, :pointer, :varargs], :void],
1775
1778
 
1776
- # @!method SetTraceLogLevel(logLevel)
1777
- # SetTraceLogLevel : Set the current threshold (minimum) log level
1778
- # @param logLevel [int]
1779
+ # @!method SetTraceLogCallback(callback)
1780
+ # SetTraceLogCallback : Set custom trace log
1781
+ # @param callback [TraceLogCallback]
1779
1782
  # @return [void]
1780
- [:SetTraceLogLevel, :SetTraceLogLevel, [:int], :void],
1783
+ [:SetTraceLogCallback, :SetTraceLogCallback, [:TraceLogCallback], :void],
1781
1784
 
1782
1785
  # @!method MemAlloc(size)
1783
1786
  # MemAlloc : Internal memory allocator
@@ -1798,36 +1801,6 @@ module Raylib
1798
1801
  # @return [void]
1799
1802
  [:MemFree, :MemFree, [:pointer], :void],
1800
1803
 
1801
- # @!method SetTraceLogCallback(callback)
1802
- # SetTraceLogCallback : Set custom trace log
1803
- # @param callback [TraceLogCallback]
1804
- # @return [void]
1805
- [:SetTraceLogCallback, :SetTraceLogCallback, [:TraceLogCallback], :void],
1806
-
1807
- # @!method SetLoadFileDataCallback(callback)
1808
- # SetLoadFileDataCallback : Set custom file binary data loader
1809
- # @param callback [LoadFileDataCallback]
1810
- # @return [void]
1811
- [:SetLoadFileDataCallback, :SetLoadFileDataCallback, [:LoadFileDataCallback], :void],
1812
-
1813
- # @!method SetSaveFileDataCallback(callback)
1814
- # SetSaveFileDataCallback : Set custom file binary data saver
1815
- # @param callback [SaveFileDataCallback]
1816
- # @return [void]
1817
- [:SetSaveFileDataCallback, :SetSaveFileDataCallback, [:SaveFileDataCallback], :void],
1818
-
1819
- # @!method SetLoadFileTextCallback(callback)
1820
- # SetLoadFileTextCallback : Set custom file text data loader
1821
- # @param callback [LoadFileTextCallback]
1822
- # @return [void]
1823
- [:SetLoadFileTextCallback, :SetLoadFileTextCallback, [:LoadFileTextCallback], :void],
1824
-
1825
- # @!method SetSaveFileTextCallback(callback)
1826
- # SetSaveFileTextCallback : Set custom file text data saver
1827
- # @param callback [SaveFileTextCallback]
1828
- # @return [void]
1829
- [:SetSaveFileTextCallback, :SetSaveFileTextCallback, [:SaveFileTextCallback], :void],
1830
-
1831
1804
  # @!method LoadFileData(fileName, dataSize)
1832
1805
  # LoadFileData : Load file data as byte array (read)
1833
1806
  # @param fileName [const char *]
@@ -1876,6 +1849,30 @@ module Raylib
1876
1849
  # @return [bool]
1877
1850
  [:SaveFileText, :SaveFileText, [:pointer, :pointer], :bool],
1878
1851
 
1852
+ # @!method SetLoadFileDataCallback(callback)
1853
+ # SetLoadFileDataCallback : Set custom file binary data loader
1854
+ # @param callback [LoadFileDataCallback]
1855
+ # @return [void]
1856
+ [:SetLoadFileDataCallback, :SetLoadFileDataCallback, [:LoadFileDataCallback], :void],
1857
+
1858
+ # @!method SetSaveFileDataCallback(callback)
1859
+ # SetSaveFileDataCallback : Set custom file binary data saver
1860
+ # @param callback [SaveFileDataCallback]
1861
+ # @return [void]
1862
+ [:SetSaveFileDataCallback, :SetSaveFileDataCallback, [:SaveFileDataCallback], :void],
1863
+
1864
+ # @!method SetLoadFileTextCallback(callback)
1865
+ # SetLoadFileTextCallback : Set custom file text data loader
1866
+ # @param callback [LoadFileTextCallback]
1867
+ # @return [void]
1868
+ [:SetLoadFileTextCallback, :SetLoadFileTextCallback, [:LoadFileTextCallback], :void],
1869
+
1870
+ # @!method SetSaveFileTextCallback(callback)
1871
+ # SetSaveFileTextCallback : Set custom file text data saver
1872
+ # @param callback [SaveFileTextCallback]
1873
+ # @return [void]
1874
+ [:SetSaveFileTextCallback, :SetSaveFileTextCallback, [:SaveFileTextCallback], :void],
1875
+
1879
1876
  # @!method FileRename(fileName, fileRename)
1880
1877
  # FileRename : Rename file (if exists)
1881
1878
  # @param fileName [const char *]
@@ -1995,9 +1992,9 @@ module Raylib
1995
1992
  # @return [int]
1996
1993
  [:MakeDirectory, :MakeDirectory, [:pointer], :int],
1997
1994
 
1998
- # @!method ChangeDirectory(dir)
1995
+ # @!method ChangeDirectory(dirPath)
1999
1996
  # ChangeDirectory : Change working directory, return true on success
2000
- # @param dir [const char *]
1997
+ # @param dirPath [const char *]
2001
1998
  # @return [bool]
2002
1999
  [:ChangeDirectory, :ChangeDirectory, [:pointer], :bool],
2003
2000
 
@@ -2049,6 +2046,20 @@ module Raylib
2049
2046
  # @return [void]
2050
2047
  [:UnloadDroppedFiles, :UnloadDroppedFiles, [FilePathList.by_value], :void],
2051
2048
 
2049
+ # @!method GetDirectoryFileCount(dirPath)
2050
+ # GetDirectoryFileCount : Get the file count in a directory
2051
+ # @param dirPath [const char *]
2052
+ # @return [unsigned int]
2053
+ [:GetDirectoryFileCount, :GetDirectoryFileCount, [:pointer], :uint],
2054
+
2055
+ # @!method GetDirectoryFileCountEx(basePath, filter, scanSubdirs)
2056
+ # GetDirectoryFileCountEx : Get the file count in a directory with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result
2057
+ # @param basePath [const char *]
2058
+ # @param filter [const char *]
2059
+ # @param scanSubdirs [bool]
2060
+ # @return [unsigned int]
2061
+ [:GetDirectoryFileCountEx, :GetDirectoryFileCountEx, [:pointer, :pointer, :bool], :uint],
2062
+
2052
2063
  # @!method CompressData(data, dataSize, compDataSize)
2053
2064
  # CompressData : Compress data (DEFLATE algorithm), memory must be MemFree()
2054
2065
  # @param data [const unsigned char *]
@@ -4930,6 +4941,23 @@ module Raylib
4930
4941
  # @return [void]
4931
4942
  [:UpdateModelAnimationBones, :UpdateModelAnimationBones, [Model.by_value, ModelAnimation.by_value, :int], :void],
4932
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)
4946
+ # @param model [Model]
4947
+ # @param animA [ModelAnimation]
4948
+ # @param frameA [int]
4949
+ # @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]
4958
+ # @return [void]
4959
+ [:UpdateModelVertsToCurrentBones, :UpdateModelVertsToCurrentBones, [Model.by_value], :void],
4960
+
4933
4961
  # @!method UnloadModelAnimation(anim)
4934
4962
  # UnloadModelAnimation : Unload animation data
4935
4963
  # @param anim [ModelAnimation]
@@ -5087,7 +5115,7 @@ module Raylib
5087
5115
  [:IsSoundValid, :IsSoundValid, [Sound.by_value], :bool],
5088
5116
 
5089
5117
  # @!method UpdateSound(sound, data, sampleCount)
5090
- # UpdateSound : Update sound buffer with new data (data and frame count should fit in sound)
5118
+ # UpdateSound : Update sound buffer with new data (default data format: 32 bit float, stereo)
5091
5119
  # @param sound [Sound]
5092
5120
  # @param data [const void *]
5093
5121
  # @param sampleCount [int]
@@ -5171,7 +5199,7 @@ module Raylib
5171
5199
  [:SetSoundPitch, :SetSoundPitch, [Sound.by_value, :float], :void],
5172
5200
 
5173
5201
  # @!method SetSoundPan(sound, pan)
5174
- # SetSoundPan : Set pan for a sound (0.5 is center)
5202
+ # SetSoundPan : Set pan for a sound (-1.0 left, 0.0 center, 1.0 right)
5175
5203
  # @param sound [Sound]
5176
5204
  # @param pan [float]
5177
5205
  # @return [void]
@@ -5296,7 +5324,7 @@ module Raylib
5296
5324
  [:SetMusicPitch, :SetMusicPitch, [Music.by_value, :float], :void],
5297
5325
 
5298
5326
  # @!method SetMusicPan(music, pan)
5299
- # SetMusicPan : Set pan for a music (0.5 is center)
5327
+ # SetMusicPan : Set pan for a music (-1.0 left, 0.0 center, 1.0 right)
5300
5328
  # @param music [Music]
5301
5329
  # @param pan [float]
5302
5330
  # @return [void]
data/lib/raymath.rb CHANGED
@@ -18,7 +18,6 @@ module Raylib
18
18
 
19
19
  # Struct
20
20
 
21
- # NOTE: Helper types to be used instead of array return types for *ToFloat functions
22
21
  class Float3 < FFI::Struct
23
22
  layout(
24
23
  :v, [:float, 3],
@@ -1040,6 +1039,14 @@ module Raylib
1040
1039
  # @return [int]
1041
1040
  [:QuaternionEquals, :QuaternionEquals, [Quaternion.by_value, Quaternion.by_value], :int],
1042
1041
 
1042
+ # @!method MatrixCompose(translation, rotation, scale)
1043
+ # MatrixCompose
1044
+ # @param translation [Vector3]
1045
+ # @param rotation [Quaternion]
1046
+ # @param scale [Vector3]
1047
+ # @return [Matrix]
1048
+ [:MatrixCompose, :MatrixCompose, [Vector3.by_value, Quaternion.by_value, Vector3.by_value], Matrix.by_value],
1049
+
1043
1050
  # @!method MatrixDecompose(mat, translation, rotation, scale)
1044
1051
  # MatrixDecompose
1045
1052
  # @param mat [Matrix]
data/lib/rlgl.rb CHANGED
@@ -1172,6 +1172,24 @@ module Raylib
1172
1172
  # @return [void]
1173
1173
  [:rlUnloadFramebuffer, :rlUnloadFramebuffer, [:uint], :void],
1174
1174
 
1175
+ # @!method rlCopyFramebuffer(x, y, width, height, format, pixels)
1176
+ # rlCopyFramebuffer : Copy framebuffer pixel data to internal buffer
1177
+ # @param x [int]
1178
+ # @param y [int]
1179
+ # @param width [int]
1180
+ # @param height [int]
1181
+ # @param format [int]
1182
+ # @param pixels [void *]
1183
+ # @return [void]
1184
+ [:rlCopyFramebuffer, :rlCopyFramebuffer, [:int, :int, :int, :int, :int, :pointer], :void],
1185
+
1186
+ # @!method rlResizeFramebuffer(width, height)
1187
+ # rlResizeFramebuffer : Resize internal framebuffer
1188
+ # @param width [int]
1189
+ # @param height [int]
1190
+ # @return [void]
1191
+ [:rlResizeFramebuffer, :rlResizeFramebuffer, [:int, :int], :void],
1192
+
1175
1193
  # @!method rlLoadShaderCode(vsCode, fsCode)
1176
1194
  # rlLoadShaderCode : Load shader from code strings
1177
1195
  # @param vsCode [const char *]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raylib-bindings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.15
4
+ version: 0.7.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaiorabbit
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-10-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ffi
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.6.5
84
+ rubygems_version: 4.0.3
85
85
  specification_version: 4
86
86
  summary: Ruby bindings for raylib, raygui and Physac
87
87
  test_files: []