raylib-bindings 0.7.17-aarch64-linux → 0.8.0-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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec487d8db97d8a03b2102b6918beb8461260f3dd0c62571eb6ce086ceee090ab
4
- data.tar.gz: b37ba6aeccbd7a27b158a2789e20b9e1967174ed1cdc3ba08051a279487e9eed
3
+ metadata.gz: a05d718093fb891472cbef16d40720624cf18bd5c9cff7470e5c71fdd1cdf0c3
4
+ data.tar.gz: f22f9466ab44108b408df5efe62d95153d1ff9afd2f6af57f181af2543893338
5
5
  SHA512:
6
- metadata.gz: e5cded1df73f4a40028b6a17466f5916c4fa5a8d3b7c324e1aa1eb96c382f4e9d948cb747d0ed0168ad317ff6f9c1cd7b47124ff7aa9e1f95de14078e6657f45
7
- data.tar.gz: acbb6ce5419f7d7051dc98c20e009de3cd48ab25d54f3029cafade64ad8c609f2c8ab991de8597cd27f100d1b6fb8299024b8996a886de6de1ea24873b7d4a24
6
+ metadata.gz: 1b67876df6805a0f6c558c6d210d8a6c446b402f6aef00196180f91968b6224a587fdcf32394a506777db2670a6f03b4d90e16af99935dacca78b463828d4cc2
7
+ data.tar.gz: 0c080f7c2bbfb6b053eeb534de1efc9ade0c73a875d368c14b3bca2af8ca800099dcff6f0fe2875ad3a512eb627a677be6464508bcd0c184109be2086cebd354
data/ChangeLog CHANGED
@@ -1,3 +1,18 @@
1
+ 2026-04-25 vaiorabbit <http://twitter.com/vaiorabbit>
2
+
3
+ * raylib v6.0 ( https://github.com/raysan5/raylib/releases/tag/6.0 )
4
+
5
+ 2026-03-21 vaiorabbit <http://twitter.com/vaiorabbit>
6
+
7
+ * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/8a685877eb321fe0eaeabab7b8ec69d2f8a0064d ) and raygui ( https://github.com/raysan5/raygui/commit/3b2855842ab578a034f827c38cf8f62c042fc983 )
8
+ * Updated GitHub Actions scripts
9
+ * Added smoke test
10
+
11
+ 2026-02-22 vaiorabbit <http://twitter.com/vaiorabbit>
12
+
13
+ * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/11e3e6e0b994d0543cb83e253438e08402dba014 ) and raygui ( https://github.com/raysan5/raygui/commit/960f13b6e07ab9876fbba572fa5f17eed268d6b4 )
14
+ * examples/models_animation_blending.cpu.rb, examples/models_animation_blending.gpu.rb : Added
15
+
1
16
  2026-01-10 vaiorabbit <http://twitter.com/vaiorabbit>
2
17
 
3
18
  * Updated with latest raylib ( https://github.com/raysan5/raylib/commit/f2c8a9c085c26c0a7a0b5bf7d6e69a56618bd964 ) and raygui ( https://github.com/raysan5/raygui/commit/51e6bcb39346b3e363643f95c3532119af41f6fd )
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 : 2026-01-10
6
+ * Last modified : 2026-04-25
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/f2c8a9c085c26c0a7a0b5bf7d6e69a56618bd964 )
10
+ * [raylib](https://github.com/raysan5/raylib) version [6.0]( https://github.com/raysan5/raylib/releases/tag/6.0 )
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/51e6bcb39346b3e363643f95c3532119af41f6fd )
14
+ * [raygui](https://github.com/raysan5/raygui) version [5.0-dev]( https://github.com/raysan5/raygui/commit/3b2855842ab578a034f827c38cf8f62c042fc983 )
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">
@@ -20,10 +20,7 @@ Provides Ruby bindings for raylib-related libraries including:
20
20
 
21
21
  * Generated semi-automatically
22
22
  * Based on Ruby/FFI ( https://github.com/ffi/ffi )
23
- * Pre-built binaries are inside:
24
- * Windows (x86_64)
25
- * macOS (x86_64, ARM64)
26
- * Linux (x86_64, ARM64)
23
+ * Pre-built binaries are inside
27
24
 
28
25
  ## Quick Start ##
29
26
 
@@ -43,46 +40,55 @@ D:\> ruby template.rb
43
40
 
44
41
  <img src="https://raw.githubusercontent.com/vaiorabbit/raylib-bindings/main/doc/template_screenshot.png" width="400">
45
42
 
43
+ ## Example Smoke Test ##
44
+
45
+ Run curated examples one by one for a short duration, terminate them, and report status:
46
+
47
+ ```
48
+ # cross-platform
49
+ ruby script/examples_smoke_test.rb
50
+
51
+ # Windows helper
52
+ script\examples_smoke_test.cmd
53
+
54
+ # POSIX helper
55
+ sh script/examples_smoke_test.sh
56
+ ```
57
+
58
+ Options:
59
+
60
+ * `--timeout 5` : per-example runtime in seconds before termination
61
+ * `--allowlist examples/smoke_allowlist.txt` : explicit list of runnable examples
62
+ * `--list` : print resolved allowlist and exit
63
+ * `--verbose` : print execution details and child output on failures
64
+
65
+ Exit code policy:
66
+
67
+ * `0` when all examples either exit successfully or are timeout-terminated
68
+ * non-zero when any example fails to spawn or exits with non-zero status before timeout
69
+
46
70
  ## Prerequisites ##
47
71
 
48
72
  * Ruby interpreter
49
73
  * Tested on:
50
- * [macOS] https://rvm.io
51
- * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
52
74
  * [Windows] https://rubyinstaller.org/downloads/ Ruby+Devkit
53
- * ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [x64-mingw-ucrt]
54
- * [Linux/x86_64 WSL] https://github.com/rvm/ubuntu_rvm
55
- * ruby 3.4.0dev (2024-12-25 master f450108330) +PRISM [x86_64-linux]
56
- * [Linux/ARM64 Chromebook] https://github.com/rvm/ubuntu_rvm
57
- * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [aarch64-linux]
75
+ * ruby 4.0.2 (2026-03-17 revision d3da9fec82) +PRISM [x64-mingw-ucrt]
58
76
 
59
77
  * If you need to build DLLs/shared libralies for your own runtime envrioenment (Linux, etc.):
60
78
  * CMake https://cmake.org/download/
61
79
  * C Compiler
62
80
  * Tested compilers:
63
- * [macOS] clang
64
-
65
- $ clang --version
66
- Apple clang version 16.0.0 (clang-1600.0.26.6)
67
- Target: arm64-apple-darwin24.2.0
68
- Thread model: posix
69
- InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
70
-
71
81
  * [Windows] gcc
72
82
 
73
83
  gcc (Rev8, Built by MSYS2 project) 15.2.0
74
84
 
75
- * [Linux] gcc, clang
76
-
77
- (x86_64) Ubuntu clang version 14.0.0-1ubuntu1
78
- (arm64) Debian clang version 14.0.6
79
-
80
85
  <details>
81
86
  <summary>Older versions</summary>
82
87
 
83
88
  * Ruby interpreter
84
89
  * Tested on:
85
90
  * [macOS]
91
+ * ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
86
92
  * ruby 3.3.3 (2024-06-12 revision f1c7b6f435) [arm64-darwin23]
87
93
  * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
88
94
  * ruby 3.2.1 (2023-02-08 revision 31819e82c8) [arm64-darwin22]
@@ -91,6 +97,8 @@ D:\> ruby template.rb
91
97
  * ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin20]
92
98
  * ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]
93
99
  * [Windows] https://rubyinstaller.org/downloads/ Ruby+Devkit
100
+ * ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [x64-mingw-ucrt]
101
+ * ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [x64-mingw-ucrt]
94
102
  * ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x64-mingw-ucrt]
95
103
  * ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x64-mingw-ucrt]
96
104
  * ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x64-mingw-ucrt]
@@ -101,8 +109,10 @@ D:\> ruby template.rb
101
109
  * ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x64-mingw-ucrt]
102
110
  * ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32]
103
111
  * [Linux/x86_64 WSL] https://github.com/rvm/ubuntu_rvm
112
+ * ruby 3.4.0dev (2024-12-25 master f450108330) +PRISM [x86_64-linux]
104
113
  * ruby 3.2.0preview1 (2022-04-03 master f801386f0c) [x86_64-linux]
105
114
  * [Linux/ARM64 Chromebook] https://github.com/rvm/ubuntu_rvm
115
+ * ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [aarch64-linux]
106
116
  * ruby 3.2.0 (2022-12-25 revision a528908271) [aarch64-linux]
107
117
 
108
118
  * Compiler
@@ -146,11 +156,17 @@ D:\> ruby template.rb
146
156
 
147
157
  * [Windows] gcc
148
158
 
159
+ gcc (Rev8, Built by MSYS2 project) 15.2.0
149
160
  gcc (Rev3, Built by MSYS2 project) 13.2.0
150
161
  gcc (Rev7, Built by MSYS2 project) 12.2.0
151
162
  gcc (Rev10, Built by MSYS2 project) 11.2.0
152
163
  gcc (Rev9, Built by MSYS2 project) 11.2.0
153
164
 
165
+ * [Linux] gcc, clang
166
+
167
+ (x86_64) Ubuntu clang version 14.0.0-1ubuntu1
168
+ (arm64) Debian clang version 14.0.6
169
+
154
170
  </details>
155
171
 
156
172
  ## Projects ##
data/lib/config.rb CHANGED
@@ -13,10 +13,9 @@ module Raylib
13
13
 
14
14
  SUPPORT_MODULE_RSHAPES = 1
15
15
  SUPPORT_MODULE_RTEXTURES = 1
16
- SUPPORT_MODULE_RTEXT = 1 # WARNING: It requires SUPPORT_MODULE_RTEXTURES to load sprite font textures
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
19
  SUPPORT_TRACELOG = 1
21
20
  SUPPORT_CAMERA_SYSTEM = 1
22
21
  SUPPORT_GESTURES_SYSTEM = 1
@@ -24,76 +23,36 @@ module Raylib
24
23
  SUPPORT_MOUSE_GESTURES = 1
25
24
  SUPPORT_SSH_KEYBOARD_RPI = 1
26
25
  SUPPORT_WINMM_HIGHRES_TIMER = 1
26
+ SUPPORT_BUSY_WAIT_LOOP = 0 # Disabled by default
27
27
  SUPPORT_PARTIALBUSY_WAIT_LOOP = 1
28
28
  SUPPORT_SCREEN_CAPTURE = 1
29
29
  SUPPORT_COMPRESSION_API = 1
30
30
  SUPPORT_AUTOMATION_EVENTS = 1
31
+ SUPPORT_CUSTOM_FRAME_CONTROL = 0 # Disabled by default
31
32
  SUPPORT_CLIPBOARD_IMAGE = 1
32
- SUPPORT_FILEFORMAT_BMP = 1
33
- SUPPORT_FILEFORMAT_PNG = 1
34
- SUPPORT_FILEFORMAT_JPG = 1
35
- MAX_TRACELOG_MSG_LENGTH = 256 # Max length of one trace-log message
36
- MAX_FILEPATH_CAPACITY = 8192 # Maximum file paths capacity
37
- MAX_FILEPATH_LENGTH = 4096 # Maximum length for filepaths (Linux PATH_MAX default value)
38
- MAX_KEYBOARD_KEYS = 512 # Maximum number of keyboard keys supported
39
- MAX_MOUSE_BUTTONS = 8 # Maximum number of mouse buttons supported
40
- MAX_GAMEPADS = 4 # Maximum number of gamepads supported
41
- MAX_GAMEPAD_AXES = 8 # Maximum number of axes supported (per gamepad)
42
- MAX_GAMEPAD_BUTTONS = 32 # Maximum number of buttons supported (per gamepad)
43
- MAX_GAMEPAD_VIBRATION_TIME = 2.0 # Maximum vibration time in seconds
44
- MAX_TOUCH_POINTS = 10 # Maximum number of touch points supported
45
- MAX_KEY_PRESSED_QUEUE = 16 # Maximum number of keys in the key input queue
46
- MAX_CHAR_PRESSED_QUEUE = 16 # Maximum number of characters in the char input queue
47
- MAX_DECOMPRESSION_SIZE = 64 # Max size allocated for decompression in MB
48
- MAX_AUTOMATION_EVENTS = 16384 # Maximum number of automation events to record
49
- RL_SUPPORT_MESH_GPU_SKINNING = 1 # GPU skinning, comment if your GPU does not support more than 8 VBOs
50
- RL_DEFAULT_BATCH_BUFFERS = 1 # Default number of batch buffers (multi-buffering)
51
- RL_DEFAULT_BATCH_DRAWCALLS = 256 # Default number of batch draw calls (by state changes: mode, texture)
52
- RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS = 4 # Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())
53
- RL_MAX_MATRIX_STACK_SIZE = 32 # Maximum size of internal Matrix stack
54
- RL_MAX_SHADER_LOCATIONS = 32 # Maximum number of shader locations supported
55
- RL_CULL_DISTANCE_NEAR = 0.05 # Default projection matrix near cull distance
56
- RL_CULL_DISTANCE_FAR = 4000.0 # Default projection matrix far cull distance
57
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION = 0
58
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD = 1
59
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL = 2
60
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR = 3
61
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT = 4
62
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 = 5
63
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES = 6
64
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEIDS = 7
65
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS = 8
66
- RL_DEFAULT_SHADER_ATTRIB_LOCATION_INSTANCE_TX = 9
67
- RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION = "vertexPosition" # Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION
68
- RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD = "vertexTexCoord" # Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD
69
- RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL = "vertexNormal" # Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL
70
- RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR = "vertexColor" # Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR
71
- RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT = "vertexTangent" # Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT
72
- RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 = "vertexTexCoord2" # Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2
73
- RL_DEFAULT_SHADER_UNIFORM_NAME_MVP = "mvp" # model-view-projection matrix
74
- RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW = "matView" # view matrix
75
- RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION = "matProjection" # projection matrix
76
- RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL = "matModel" # model matrix
77
- RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL = "matNormal" # normal matrix (transpose(inverse(matModelView))
78
- RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR = "colDiffuse" # color diffuse (base tint color, multiplied by texture color)
79
- RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0 = "texture0" # texture0 (texture slot active 0)
80
- RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1 = "texture1" # texture1 (texture slot active 1)
81
- RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2 = "texture2" # texture2 (texture slot active 2)
33
+ RLGL_ENABLE_OPENGL_DEBUG_CONTEXT = 0
34
+ RLGL_SHOW_GL_DETAILS_INFO = 0
82
35
  SUPPORT_QUADS_DRAW_MODE = 1
83
- SPLINE_SEGMENT_DIVISIONS = 24 # Spline segments subdivisions
36
+ SUPPORT_FILEFORMAT_PNG = 1
37
+ SUPPORT_FILEFORMAT_BMP = 1
38
+ SUPPORT_FILEFORMAT_TGA = 0 # Disabled by default
39
+ SUPPORT_FILEFORMAT_JPG = 0 # Disabled by default
84
40
  SUPPORT_FILEFORMAT_GIF = 1
85
41
  SUPPORT_FILEFORMAT_QOI = 1
42
+ SUPPORT_FILEFORMAT_PSD = 0 # Disabled by default
86
43
  SUPPORT_FILEFORMAT_DDS = 1
44
+ SUPPORT_FILEFORMAT_HDR = 0 # Disabled by default
45
+ SUPPORT_FILEFORMAT_PIC = 0 # Disabled by default
46
+ SUPPORT_FILEFORMAT_PNM = 0 # Disabled by default
47
+ SUPPORT_FILEFORMAT_KTX = 0 # Disabled by default
48
+ SUPPORT_FILEFORMAT_ASTC = 0 # Disabled by default
49
+ SUPPORT_FILEFORMAT_PKM = 0 # Disabled by default
50
+ SUPPORT_FILEFORMAT_PVR = 0 # Disabled by default
87
51
  SUPPORT_IMAGE_EXPORT = 1
88
52
  SUPPORT_IMAGE_GENERATION = 1
89
- SUPPORT_IMAGE_MANIPULATION = 1
90
- SUPPORT_DEFAULT_FONT = 1
91
53
  SUPPORT_FILEFORMAT_TTF = 1
92
54
  SUPPORT_FILEFORMAT_FNT = 1
93
- SUPPORT_TEXT_MANIPULATION = 1
94
- SUPPORT_FONT_ATLAS_WHITE_REC = 1
95
- MAX_TEXT_BUFFER_LENGTH = 1024 # Size of internal static buffers used on some functions:
96
- MAX_TEXTSPLIT_COUNT = 128 # Maximum number of substrings to split: TextSplit()
55
+ SUPPORT_FILEFORMAT_BDF = 0 # Disabled by default
97
56
  SUPPORT_FILEFORMAT_OBJ = 1
98
57
  SUPPORT_FILEFORMAT_MTL = 1
99
58
  SUPPORT_FILEFORMAT_IQM = 1
@@ -101,16 +60,13 @@ module Raylib
101
60
  SUPPORT_FILEFORMAT_VOX = 1
102
61
  SUPPORT_FILEFORMAT_M3D = 1
103
62
  SUPPORT_MESH_GENERATION = 1
104
- MAX_MATERIAL_MAPS = 12 # Maximum number of shader maps supported
105
- MAX_MESH_VERTEX_BUFFERS = 9 # Maximum vertex buffers (VBO) per mesh
63
+ SUPPORT_GPU_SKINNING = 0
106
64
  SUPPORT_FILEFORMAT_WAV = 1
107
65
  SUPPORT_FILEFORMAT_OGG = 1
108
66
  SUPPORT_FILEFORMAT_MP3 = 1
109
67
  SUPPORT_FILEFORMAT_QOA = 1
68
+ SUPPORT_FILEFORMAT_FLAC = 0 # Disabled by default
110
69
  SUPPORT_FILEFORMAT_XM = 1
111
70
  SUPPORT_FILEFORMAT_MOD = 1
112
- AUDIO_DEVICE_CHANNELS = 2 # Device output channels: stereo
113
- AUDIO_DEVICE_SAMPLE_RATE = 0 # Device sample rate (device default)
114
- MAX_AUDIO_BUFFER_POOL_CHANNELS = 16 # Maximum number of audio pool channels
115
71
 
116
72
  end
Binary file
Binary file
Binary file
data/lib/raygui_main.rb CHANGED
@@ -104,6 +104,7 @@ module Raylib
104
104
  # enum GuiProgressBarProperty
105
105
  # ProgressBar
106
106
  PROGRESS_PADDING = 16 # ProgressBar internal padding
107
+ PROGRESS_SIDE = 17 # ProgressBar increment side: 0-left->right, 1-right-left
107
108
 
108
109
  # enum GuiScrollBarProperty
109
110
  # ScrollBar
@@ -628,7 +629,7 @@ module Raylib
628
629
  # @!method GuiTabBar(bounds, text, count, active)
629
630
  # GuiTabBar : Tab Bar control, returns TAB to be closed or -1
630
631
  # @param bounds [Rectangle]
631
- # @param text [const char **]
632
+ # @param text [char **]
632
633
  # @param count [int]
633
634
  # @param active [int *]
634
635
  # @return [int]
@@ -824,7 +825,7 @@ module Raylib
824
825
  # @!method GuiListViewEx(bounds, text, count, scrollIndex, active, focus)
825
826
  # GuiListViewEx : List View with extended parameters
826
827
  # @param bounds [Rectangle]
827
- # @param text [const char **]
828
+ # @param text [char **]
828
829
  # @param count [int]
829
830
  # @param scrollIndex [int *]
830
831
  # @param active [int *]
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 = 0
16
16
  RAYLIB_VERSION_PATCH = 0
17
- RAYLIB_VERSION = "5.6-dev"
17
+ RAYLIB_VERSION = "6.0"
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
- :boneCount, :int, # Number of bones
894
- :frameCount, :int, # Number of animation frames
895
- :bones, :pointer, # Bones information (skeleton)
896
- :framePoses, :pointer, # Poses array by frame
897
- :name, [:char, 32], # Animation name
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
- def boneCount = self[:boneCount]
900
- def boneCount=(v) self[:boneCount] = v end
901
- def frameCount = self[:frameCount]
902
- def frameCount=(v) self[:frameCount] = v end
903
- def bones = self[:bones]
904
- def bones=(v) self[:bones] = v end
905
- def framePoses = self[:framePoses]
906
- def framePoses=(v) self[:framePoses] = v end
907
911
  def name = self[:name]
908
912
  def name=(v) self[:name] = v end
913
+ def boneCount = self[:boneCount]
914
+ def boneCount=(v) self[:boneCount] = 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
@@ -1091,12 +1101,9 @@ module Raylib
1091
1101
  # File path list
1092
1102
  class FilePathList < FFI::Struct
1093
1103
  layout(
1094
- :capacity, :uint, # Filepaths max entries
1095
1104
  :count, :uint, # Filepaths entries count
1096
1105
  :paths, :pointer, # Filepaths entries
1097
1106
  )
1098
- def capacity = self[:capacity]
1099
- def capacity=(v) self[:capacity] = v end
1100
1107
  def count = self[:count]
1101
1108
  def count=(v) self[:count] = v end
1102
1109
  def paths = self[:paths]
@@ -2014,13 +2021,13 @@ module Raylib
2014
2021
  [:IsFileNameValid, :IsFileNameValid, [:pointer], :bool],
2015
2022
 
2016
2023
  # @!method LoadDirectoryFiles(dirPath)
2017
- # LoadDirectoryFiles : Load directory filepaths
2024
+ # LoadDirectoryFiles : Load directory filepaths, files and directories, no subdirs scan
2018
2025
  # @param dirPath [const char *]
2019
2026
  # @return [FilePathList]
2020
2027
  [:LoadDirectoryFiles, :LoadDirectoryFiles, [:pointer], FilePathList.by_value],
2021
2028
 
2022
2029
  # @!method LoadDirectoryFilesEx(basePath, filter, scanSubdirs)
2023
- # 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*"
2024
2031
  # @param basePath [const char *]
2025
2032
  # @param filter [const char *]
2026
2033
  # @param scanSubdirs [bool]
@@ -2049,6 +2056,20 @@ module Raylib
2049
2056
  # @return [void]
2050
2057
  [:UnloadDroppedFiles, :UnloadDroppedFiles, [FilePathList.by_value], :void],
2051
2058
 
2059
+ # @!method GetDirectoryFileCount(dirPath)
2060
+ # GetDirectoryFileCount : Get the file count in a directory
2061
+ # @param dirPath [const char *]
2062
+ # @return [unsigned int]
2063
+ [:GetDirectoryFileCount, :GetDirectoryFileCount, [:pointer], :uint],
2064
+
2065
+ # @!method GetDirectoryFileCountEx(basePath, filter, scanSubdirs)
2066
+ # 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
2067
+ # @param basePath [const char *]
2068
+ # @param filter [const char *]
2069
+ # @param scanSubdirs [bool]
2070
+ # @return [unsigned int]
2071
+ [:GetDirectoryFileCountEx, :GetDirectoryFileCountEx, [:pointer, :pointer, :bool], :uint],
2072
+
2052
2073
  # @!method CompressData(data, dataSize, compDataSize)
2053
2074
  # CompressData : Compress data (DEFLATE algorithm), memory must be MemFree()
2054
2075
  # @param data [const unsigned char *]
@@ -2541,6 +2562,23 @@ module Raylib
2541
2562
  # @return [void]
2542
2563
  [:DrawCircle, :DrawCircle, [:int, :int, :float, Color.by_value], :void],
2543
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
+
2544
2582
  # @!method DrawCircleSector(center, radius, startAngle, endAngle, segments, color)
2545
2583
  # DrawCircleSector : Draw a piece of a circle
2546
2584
  # @param center [Vector2]
@@ -2563,24 +2601,6 @@ module Raylib
2563
2601
  # @return [void]
2564
2602
  [:DrawCircleSectorLines, :DrawCircleSectorLines, [Vector2.by_value, :float, :float, :float, :int, Color.by_value], :void],
2565
2603
 
2566
- # @!method DrawCircleGradient(centerX, centerY, radius, inner, outer)
2567
- # DrawCircleGradient : Draw a gradient-filled circle
2568
- # @param centerX [int]
2569
- # @param centerY [int]
2570
- # @param radius [float]
2571
- # @param inner [Color]
2572
- # @param outer [Color]
2573
- # @return [void]
2574
- [:DrawCircleGradient, :DrawCircleGradient, [:int, :int, :float, Color.by_value, Color.by_value], :void],
2575
-
2576
- # @!method DrawCircleV(center, radius, color)
2577
- # DrawCircleV : Draw a color-filled circle (Vector version)
2578
- # @param center [Vector2]
2579
- # @param radius [float]
2580
- # @param color [Color]
2581
- # @return [void]
2582
- [:DrawCircleV, :DrawCircleV, [Vector2.by_value, :float, Color.by_value], :void],
2583
-
2584
2604
  # @!method DrawCircleLines(centerX, centerY, radius, color)
2585
2605
  # DrawCircleLines : Draw circle outline
2586
2606
  # @param centerX [int]
@@ -3143,7 +3163,7 @@ module Raylib
3143
3163
  [:ExportImage, :ExportImage, [Image.by_value, :pointer], :bool],
3144
3164
 
3145
3165
  # @!method ExportImageToMemory(image, fileType, fileSize)
3146
- # ExportImageToMemory : Export image to memory buffer
3166
+ # ExportImageToMemory : Export image to memory buffer, memory must be MemFree()
3147
3167
  # @param image [Image]
3148
3168
  # @param fileType [const char *]
3149
3169
  # @param fileSize [int *]
@@ -4145,6 +4165,16 @@ module Raylib
4145
4165
  # @return [Vector2]
4146
4166
  [:MeasureTextEx, :MeasureTextEx, [Font.by_value, :pointer, :float, :float], Vector2.by_value],
4147
4167
 
4168
+ # @!method MeasureTextCodepoints(font, codepoints, length, fontSize, spacing)
4169
+ # MeasureTextCodepoints : Measure string size for an existing array of codepoints for Font
4170
+ # @param font [Font]
4171
+ # @param codepoints [const int *]
4172
+ # @param length [int]
4173
+ # @param fontSize [float]
4174
+ # @param spacing [float]
4175
+ # @return [Vector2]
4176
+ [:MeasureTextCodepoints, :MeasureTextCodepoints, [Font.by_value, :pointer, :int, :float, :float], Vector2.by_value],
4177
+
4148
4178
  # @!method GetGlyphIndex(font, codepoint)
4149
4179
  # GetGlyphIndex : Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
4150
4180
  # @param font [Font]
@@ -4290,15 +4320,23 @@ module Raylib
4290
4320
  [:GetTextBetween, :GetTextBetween, [:pointer, :pointer, :pointer], :pointer],
4291
4321
 
4292
4322
  # @!method TextReplace(text, search, replacement)
4293
- # TextReplace : Replace text string (WARNING: memory must be freed!)
4323
+ # TextReplace : Replace text string with new string
4294
4324
  # @param text [const char *]
4295
4325
  # @param search [const char *]
4296
4326
  # @param replacement [const char *]
4297
4327
  # @return [char *]
4298
4328
  [:TextReplace, :TextReplace, [:pointer, :pointer, :pointer], :pointer],
4299
4329
 
4330
+ # @!method TextReplaceAlloc(text, search, replacement)
4331
+ # TextReplaceAlloc : Replace text string with new string, memory must be MemFree()
4332
+ # @param text [const char *]
4333
+ # @param search [const char *]
4334
+ # @param replacement [const char *]
4335
+ # @return [char *]
4336
+ [:TextReplaceAlloc, :TextReplaceAlloc, [:pointer, :pointer, :pointer], :pointer],
4337
+
4300
4338
  # @!method TextReplaceBetween(text, begin, end, replacement)
4301
- # TextReplaceBetween : Replace text between two specific strings (WARNING: memory must be freed!)
4339
+ # TextReplaceBetween : Replace text between two specific strings
4302
4340
  # @param text [const char *]
4303
4341
  # @param begin [const char *]
4304
4342
  # @param end [const char *]
@@ -4306,14 +4344,31 @@ module Raylib
4306
4344
  # @return [char *]
4307
4345
  [:TextReplaceBetween, :TextReplaceBetween, [:pointer, :pointer, :pointer, :pointer], :pointer],
4308
4346
 
4347
+ # @!method TextReplaceBetweenAlloc(text, begin, end, replacement)
4348
+ # TextReplaceBetweenAlloc : Replace text between two specific strings, memory must be MemFree()
4349
+ # @param text [const char *]
4350
+ # @param begin [const char *]
4351
+ # @param end [const char *]
4352
+ # @param replacement [const char *]
4353
+ # @return [char *]
4354
+ [:TextReplaceBetweenAlloc, :TextReplaceBetweenAlloc, [:pointer, :pointer, :pointer, :pointer], :pointer],
4355
+
4309
4356
  # @!method TextInsert(text, insert, position)
4310
- # TextInsert : Insert text in a position (WARNING: memory must be freed!)
4357
+ # TextInsert : Insert text in a defined byte position
4311
4358
  # @param text [const char *]
4312
4359
  # @param insert [const char *]
4313
4360
  # @param position [int]
4314
4361
  # @return [char *]
4315
4362
  [:TextInsert, :TextInsert, [:pointer, :pointer, :int], :pointer],
4316
4363
 
4364
+ # @!method TextInsertAlloc(text, insert, position)
4365
+ # TextInsertAlloc : Insert text in a defined byte position, memory must be MemFree()
4366
+ # @param text [const char *]
4367
+ # @param insert [const char *]
4368
+ # @param position [int]
4369
+ # @return [char *]
4370
+ [:TextInsertAlloc, :TextInsertAlloc, [:pointer, :pointer, :int], :pointer],
4371
+
4317
4372
  # @!method TextJoin(textList, count, delimiter)
4318
4373
  # TextJoin : Join text strings with delimiter
4319
4374
  # @param textList [char **]
@@ -4651,26 +4706,6 @@ module Raylib
4651
4706
  # @return [void]
4652
4707
  [:DrawModelWiresEx, :DrawModelWiresEx, [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value], :void],
4653
4708
 
4654
- # @!method DrawModelPoints(model, position, scale, tint)
4655
- # DrawModelPoints : Draw a model as points
4656
- # @param model [Model]
4657
- # @param position [Vector3]
4658
- # @param scale [float]
4659
- # @param tint [Color]
4660
- # @return [void]
4661
- [:DrawModelPoints, :DrawModelPoints, [Model.by_value, Vector3.by_value, :float, Color.by_value], :void],
4662
-
4663
- # @!method DrawModelPointsEx(model, position, rotationAxis, rotationAngle, scale, tint)
4664
- # DrawModelPointsEx : Draw a model as points with extended parameters
4665
- # @param model [Model]
4666
- # @param position [Vector3]
4667
- # @param rotationAxis [Vector3]
4668
- # @param rotationAngle [float]
4669
- # @param scale [Vector3]
4670
- # @param tint [Color]
4671
- # @return [void]
4672
- [:DrawModelPointsEx, :DrawModelPointsEx, [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value], :void],
4673
-
4674
4709
  # @!method DrawBoundingBox(box, color)
4675
4710
  # DrawBoundingBox : Draw bounding box (wires)
4676
4711
  # @param box [BoundingBox]
@@ -4915,26 +4950,23 @@ module Raylib
4915
4950
  [:LoadModelAnimations, :LoadModelAnimations, [:pointer, :pointer], :pointer],
4916
4951
 
4917
4952
  # @!method UpdateModelAnimation(model, anim, frame)
4918
- # UpdateModelAnimation : Update model animation pose (CPU)
4953
+ # UpdateModelAnimation : Update model animation pose (vertex buffers and bone matrices)
4919
4954
  # @param model [Model]
4920
4955
  # @param anim [ModelAnimation]
4921
- # @param frame [int]
4956
+ # @param frame [float]
4922
4957
  # @return [void]
4923
- [:UpdateModelAnimation, :UpdateModelAnimation, [Model.by_value, ModelAnimation.by_value, :int], :void],
4958
+ [:UpdateModelAnimation, :UpdateModelAnimation, [Model.by_value, ModelAnimation.by_value, :float], :void],
4924
4959
 
4925
- # @!method UpdateModelAnimationBones(model, anim, frame)
4926
- # UpdateModelAnimationBones : Update model animation mesh bone matrices (GPU skinning)
4960
+ # @!method UpdateModelAnimationEx(model, animA, frameA, animB, frameB, blend)
4961
+ # UpdateModelAnimationEx : Update model animation pose, blending two animations
4927
4962
  # @param model [Model]
4928
- # @param anim [ModelAnimation]
4929
- # @param frame [int]
4930
- # @return [void]
4931
- [:UpdateModelAnimationBones, :UpdateModelAnimationBones, [Model.by_value, ModelAnimation.by_value, :int], :void],
4932
-
4933
- # @!method UnloadModelAnimation(anim)
4934
- # UnloadModelAnimation : Unload animation data
4935
- # @param anim [ModelAnimation]
4963
+ # @param animA [ModelAnimation]
4964
+ # @param frameA [float]
4965
+ # @param animB [ModelAnimation]
4966
+ # @param frameB [float]
4967
+ # @param blend [float]
4936
4968
  # @return [void]
4937
- [:UnloadModelAnimation, :UnloadModelAnimation, [ModelAnimation.by_value], :void],
4969
+ [:UpdateModelAnimationEx, :UpdateModelAnimationEx, [Model.by_value, ModelAnimation.by_value, :float, ModelAnimation.by_value, :float, :float], :void],
4938
4970
 
4939
4971
  # @!method UnloadModelAnimations(animations, animCount)
4940
4972
  # UnloadModelAnimations : Unload animation array data
@@ -5393,7 +5425,7 @@ module Raylib
5393
5425
  [:SetAudioStreamPitch, :SetAudioStreamPitch, [AudioStream.by_value, :float], :void],
5394
5426
 
5395
5427
  # @!method SetAudioStreamPan(stream, pan)
5396
- # SetAudioStreamPan : Set pan for audio stream (0.5 is centered)
5428
+ # SetAudioStreamPan : Set pan for audio stream (-1.0 to 1.0 range, 0.0 is centered)
5397
5429
  # @param stream [AudioStream]
5398
5430
  # @param pan [float]
5399
5431
  # @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],
@@ -774,6 +773,13 @@ module Raylib
774
773
  # @return [Matrix]
775
774
  [:MatrixMultiply, :MatrixMultiply, [Matrix.by_value, Matrix.by_value], Matrix.by_value],
776
775
 
776
+ # @!method MatrixMultiplyValue(left, value)
777
+ # MatrixMultiplyValue
778
+ # @param left [Matrix]
779
+ # @param value [float]
780
+ # @return [Matrix]
781
+ [:MatrixMultiplyValue, :MatrixMultiplyValue, [Matrix.by_value, :float], Matrix.by_value],
782
+
777
783
  # @!method MatrixTranslate(x, y, z)
778
784
  # MatrixTranslate
779
785
  # @param x [float]
data/lib/rlgl.rb CHANGED
@@ -11,86 +11,88 @@ module Raylib
11
11
 
12
12
  # Define/Macro
13
13
 
14
- RLGL_VERSION = "5.0"
14
+ RLGL_VERSION = "6.0"
15
15
  RL_DEFAULT_BATCH_BUFFER_ELEMENTS = 8192
16
- RL_TEXTURE_WRAP_S = 0x2802 # GL_TEXTURE_WRAP_S
17
- RL_TEXTURE_WRAP_T = 0x2803 # GL_TEXTURE_WRAP_T
18
- RL_TEXTURE_MAG_FILTER = 0x2800 # GL_TEXTURE_MAG_FILTER
19
- RL_TEXTURE_MIN_FILTER = 0x2801 # GL_TEXTURE_MIN_FILTER
20
- RL_TEXTURE_FILTER_NEAREST = 0x2600 # GL_NEAREST
21
- RL_TEXTURE_FILTER_LINEAR = 0x2601 # GL_LINEAR
22
- RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700 # GL_NEAREST_MIPMAP_NEAREST
23
- RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702 # GL_NEAREST_MIPMAP_LINEAR
24
- RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701 # GL_LINEAR_MIPMAP_NEAREST
25
- RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703 # GL_LINEAR_MIPMAP_LINEAR
26
- RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000 # Anisotropic filter (custom identifier)
27
- RL_TEXTURE_MIPMAP_BIAS_RATIO = 0x4000 # Texture mipmap bias, percentage ratio (custom identifier)
28
- RL_TEXTURE_WRAP_REPEAT = 0x2901 # GL_REPEAT
29
- RL_TEXTURE_WRAP_CLAMP = 0x812F # GL_CLAMP_TO_EDGE
30
- RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370 # GL_MIRRORED_REPEAT
31
- RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742 # GL_MIRROR_CLAMP_EXT
32
- RL_MODELVIEW = 0x1700 # GL_MODELVIEW
33
- RL_PROJECTION = 0x1701 # GL_PROJECTION
34
- RL_TEXTURE = 0x1702 # GL_TEXTURE
35
- RL_LINES = 0x0001 # GL_LINES
36
- RL_TRIANGLES = 0x0004 # GL_TRIANGLES
37
- RL_QUADS = 0x0007 # GL_QUADS
38
- RL_UNSIGNED_BYTE = 0x1401 # GL_UNSIGNED_BYTE
39
- RL_FLOAT = 0x1406 # GL_FLOAT
40
- RL_STREAM_DRAW = 0x88E0 # GL_STREAM_DRAW
41
- RL_STREAM_READ = 0x88E1 # GL_STREAM_READ
42
- RL_STREAM_COPY = 0x88E2 # GL_STREAM_COPY
43
- RL_STATIC_DRAW = 0x88E4 # GL_STATIC_DRAW
44
- RL_STATIC_READ = 0x88E5 # GL_STATIC_READ
45
- RL_STATIC_COPY = 0x88E6 # GL_STATIC_COPY
46
- RL_DYNAMIC_DRAW = 0x88E8 # GL_DYNAMIC_DRAW
47
- RL_DYNAMIC_READ = 0x88E9 # GL_DYNAMIC_READ
48
- RL_DYNAMIC_COPY = 0x88EA # GL_DYNAMIC_COPY
49
- RL_FRAGMENT_SHADER = 0x8B30 # GL_FRAGMENT_SHADER
50
- RL_VERTEX_SHADER = 0x8B31 # GL_VERTEX_SHADER
51
- RL_COMPUTE_SHADER = 0x91B9 # GL_COMPUTE_SHADER
52
- RL_ZERO = 0 # GL_ZERO
53
- RL_ONE = 1 # GL_ONE
54
- RL_SRC_COLOR = 0x0300 # GL_SRC_COLOR
55
- RL_ONE_MINUS_SRC_COLOR = 0x0301 # GL_ONE_MINUS_SRC_COLOR
56
- RL_SRC_ALPHA = 0x0302 # GL_SRC_ALPHA
57
- RL_ONE_MINUS_SRC_ALPHA = 0x0303 # GL_ONE_MINUS_SRC_ALPHA
58
- RL_DST_ALPHA = 0x0304 # GL_DST_ALPHA
59
- RL_ONE_MINUS_DST_ALPHA = 0x0305 # GL_ONE_MINUS_DST_ALPHA
60
- RL_DST_COLOR = 0x0306 # GL_DST_COLOR
61
- RL_ONE_MINUS_DST_COLOR = 0x0307 # GL_ONE_MINUS_DST_COLOR
62
- RL_SRC_ALPHA_SATURATE = 0x0308 # GL_SRC_ALPHA_SATURATE
63
- RL_CONSTANT_COLOR = 0x8001 # GL_CONSTANT_COLOR
64
- RL_ONE_MINUS_CONSTANT_COLOR = 0x8002 # GL_ONE_MINUS_CONSTANT_COLOR
65
- RL_CONSTANT_ALPHA = 0x8003 # GL_CONSTANT_ALPHA
66
- RL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 # GL_ONE_MINUS_CONSTANT_ALPHA
67
- RL_FUNC_ADD = 0x8006 # GL_FUNC_ADD
68
- RL_MIN = 0x8007 # GL_MIN
69
- RL_MAX = 0x8008 # GL_MAX
70
- RL_FUNC_SUBTRACT = 0x800A # GL_FUNC_SUBTRACT
71
- RL_FUNC_REVERSE_SUBTRACT = 0x800B # GL_FUNC_REVERSE_SUBTRACT
72
- RL_BLEND_EQUATION = 0x8009 # GL_BLEND_EQUATION
73
- RL_BLEND_EQUATION_RGB = 0x8009 # GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
74
- RL_BLEND_EQUATION_ALPHA = 0x883D # GL_BLEND_EQUATION_ALPHA
75
- RL_BLEND_DST_RGB = 0x80C8 # GL_BLEND_DST_RGB
76
- RL_BLEND_SRC_RGB = 0x80C9 # GL_BLEND_SRC_RGB
77
- RL_BLEND_DST_ALPHA = 0x80CA # GL_BLEND_DST_ALPHA
78
- RL_BLEND_SRC_ALPHA = 0x80CB # GL_BLEND_SRC_ALPHA
79
- RL_BLEND_COLOR = 0x8005 # GL_BLEND_COLOR
80
- RL_READ_FRAMEBUFFER = 0x8CA8 # GL_READ_FRAMEBUFFER
81
- RL_DRAW_FRAMEBUFFER = 0x8CA9 # GL_DRAW_FRAMEBUFFER
16
+ RL_TEXTURE_WRAP_S = 0x2802 # GL_TEXTURE_WRAP_S
17
+ RL_TEXTURE_WRAP_T = 0x2803 # GL_TEXTURE_WRAP_T
18
+ RL_TEXTURE_MAG_FILTER = 0x2800 # GL_TEXTURE_MAG_FILTER
19
+ RL_TEXTURE_MIN_FILTER = 0x2801 # GL_TEXTURE_MIN_FILTER
20
+ RL_TEXTURE_FILTER_NEAREST = 0x2600 # GL_NEAREST
21
+ RL_TEXTURE_FILTER_LINEAR = 0x2601 # GL_LINEAR
22
+ RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700 # GL_NEAREST_MIPMAP_NEAREST
23
+ RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702 # GL_NEAREST_MIPMAP_LINEAR
24
+ RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701 # GL_LINEAR_MIPMAP_NEAREST
25
+ RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703 # GL_LINEAR_MIPMAP_LINEAR
26
+ RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000 # Anisotropic filter (custom identifier)
27
+ RL_TEXTURE_MIPMAP_BIAS_RATIO = 0x4000 # Texture mipmap bias, percentage ratio (custom identifier)
28
+ RL_TEXTURE_WRAP_REPEAT = 0x2901 # GL_REPEAT
29
+ RL_TEXTURE_WRAP_CLAMP = 0x812F # GL_CLAMP_TO_EDGE
30
+ RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370 # GL_MIRRORED_REPEAT
31
+ RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742 # GL_MIRROR_CLAMP_EXT
32
+ RL_MODELVIEW = 0x1700 # GL_MODELVIEW
33
+ RL_PROJECTION = 0x1701 # GL_PROJECTION
34
+ RL_TEXTURE = 0x1702 # GL_TEXTURE
35
+ RL_LINES = 0x0001 # GL_LINES
36
+ RL_TRIANGLES = 0x0004 # GL_TRIANGLES
37
+ RL_QUADS = 0x0007 # GL_QUADS
38
+ RL_UNSIGNED_BYTE = 0x1401 # GL_UNSIGNED_BYTE
39
+ RL_FLOAT = 0x1406 # GL_FLOAT
40
+ RL_STREAM_DRAW = 0x88E0 # GL_STREAM_DRAW
41
+ RL_STREAM_READ = 0x88E1 # GL_STREAM_READ
42
+ RL_STREAM_COPY = 0x88E2 # GL_STREAM_COPY
43
+ RL_STATIC_DRAW = 0x88E4 # GL_STATIC_DRAW
44
+ RL_STATIC_READ = 0x88E5 # GL_STATIC_READ
45
+ RL_STATIC_COPY = 0x88E6 # GL_STATIC_COPY
46
+ RL_DYNAMIC_DRAW = 0x88E8 # GL_DYNAMIC_DRAW
47
+ RL_DYNAMIC_READ = 0x88E9 # GL_DYNAMIC_READ
48
+ RL_DYNAMIC_COPY = 0x88EA # GL_DYNAMIC_COPY
49
+ RL_FRAGMENT_SHADER = 0x8B30 # GL_FRAGMENT_SHADER
50
+ RL_VERTEX_SHADER = 0x8B31 # GL_VERTEX_SHADER
51
+ RL_COMPUTE_SHADER = 0x91B9 # GL_COMPUTE_SHADER
52
+ RL_ZERO = 0 # GL_ZERO
53
+ RL_ONE = 1 # GL_ONE
54
+ RL_SRC_COLOR = 0x0300 # GL_SRC_COLOR
55
+ RL_ONE_MINUS_SRC_COLOR = 0x0301 # GL_ONE_MINUS_SRC_COLOR
56
+ RL_SRC_ALPHA = 0x0302 # GL_SRC_ALPHA
57
+ RL_ONE_MINUS_SRC_ALPHA = 0x0303 # GL_ONE_MINUS_SRC_ALPHA
58
+ RL_DST_ALPHA = 0x0304 # GL_DST_ALPHA
59
+ RL_ONE_MINUS_DST_ALPHA = 0x0305 # GL_ONE_MINUS_DST_ALPHA
60
+ RL_DST_COLOR = 0x0306 # GL_DST_COLOR
61
+ RL_ONE_MINUS_DST_COLOR = 0x0307 # GL_ONE_MINUS_DST_COLOR
62
+ RL_SRC_ALPHA_SATURATE = 0x0308 # GL_SRC_ALPHA_SATURATE
63
+ RL_CONSTANT_COLOR = 0x8001 # GL_CONSTANT_COLOR
64
+ RL_ONE_MINUS_CONSTANT_COLOR = 0x8002 # GL_ONE_MINUS_CONSTANT_COLOR
65
+ RL_CONSTANT_ALPHA = 0x8003 # GL_CONSTANT_ALPHA
66
+ RL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 # GL_ONE_MINUS_CONSTANT_ALPHA
67
+ RL_FUNC_ADD = 0x8006 # GL_FUNC_ADD
68
+ RL_MIN = 0x8007 # GL_MIN
69
+ RL_MAX = 0x8008 # GL_MAX
70
+ RL_FUNC_SUBTRACT = 0x800A # GL_FUNC_SUBTRACT
71
+ RL_FUNC_REVERSE_SUBTRACT = 0x800B # GL_FUNC_REVERSE_SUBTRACT
72
+ RL_BLEND_EQUATION = 0x8009 # GL_BLEND_EQUATION
73
+ RL_BLEND_EQUATION_RGB = 0x8009 # GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
74
+ RL_BLEND_EQUATION_ALPHA = 0x883D # GL_BLEND_EQUATION_ALPHA
75
+ RL_BLEND_DST_RGB = 0x80C8 # GL_BLEND_DST_RGB
76
+ RL_BLEND_SRC_RGB = 0x80C9 # GL_BLEND_SRC_RGB
77
+ RL_BLEND_DST_ALPHA = 0x80CA # GL_BLEND_DST_ALPHA
78
+ RL_BLEND_SRC_ALPHA = 0x80CB # GL_BLEND_SRC_ALPHA
79
+ RL_BLEND_COLOR = 0x8005 # GL_BLEND_COLOR
80
+ RL_READ_FRAMEBUFFER = 0x8CA8 # GL_READ_FRAMEBUFFER
81
+ RL_DRAW_FRAMEBUFFER = 0x8CA9 # GL_DRAW_FRAMEBUFFER
82
+ RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEINDICES = 7
83
+ RL_DEFAULT_SHADER_ATTRIB_LOCATION_INSTANCETRANSFORM = 9
82
84
 
83
85
  # Enum
84
86
 
85
87
  # enum rlGlVersion
86
88
  # OpenGL version
87
- RL_OPENGL_11_SOFTWARE = 0 # Software rendering
88
- RL_OPENGL_11 = 1 # OpenGL 1.1
89
- RL_OPENGL_21 = 2 # OpenGL 2.1 (GLSL 120)
90
- RL_OPENGL_33 = 3 # OpenGL 3.3 (GLSL 330)
91
- RL_OPENGL_43 = 4 # OpenGL 4.3 (using GLSL 330)
92
- RL_OPENGL_ES_20 = 5 # OpenGL ES 2.0 (GLSL 100)
93
- RL_OPENGL_ES_30 = 6 # OpenGL ES 3.0 (GLSL 300 es)
89
+ RL_OPENGL_SOFTWARE = 0 # Software rendering
90
+ RL_OPENGL_11 = 1 # OpenGL 1.1
91
+ RL_OPENGL_21 = 2 # OpenGL 2.1 (GLSL 120)
92
+ RL_OPENGL_33 = 3 # OpenGL 3.3 (GLSL 330)
93
+ RL_OPENGL_43 = 4 # OpenGL 4.3 (using GLSL 330)
94
+ RL_OPENGL_ES_20 = 5 # OpenGL ES 2.0 (GLSL 100)
95
+ RL_OPENGL_ES_30 = 6 # OpenGL ES 3.0 (GLSL 300 es)
94
96
 
95
97
  # enum rlTraceLogLevel
96
98
  # Trace log level
@@ -132,7 +134,7 @@ module Raylib
132
134
 
133
135
  # enum rlTextureFilter
134
136
  # Texture parameters: filter mode
135
- RL_TEXTURE_FILTER_POINT = 0 # No filter, just pixel approximation
137
+ RL_TEXTURE_FILTER_POINT = 0 # No filter, pixel approximation
136
138
  RL_TEXTURE_FILTER_BILINEAR = 1 # Linear filtering
137
139
  RL_TEXTURE_FILTER_TRILINEAR = 2 # Trilinear filtering (linear with mipmaps)
138
140
  RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3 # Anisotropic filtering 4x
@@ -1150,9 +1152,9 @@ module Raylib
1150
1152
  # @return [unsigned int]
1151
1153
  [:rlLoadFramebuffer, :rlLoadFramebuffer, [], :uint],
1152
1154
 
1153
- # @!method rlFramebufferAttach(fboId, texId, attachType, texType, mipLevel)
1155
+ # @!method rlFramebufferAttach(id, texId, attachType, texType, mipLevel)
1154
1156
  # rlFramebufferAttach : Attach texture/renderbuffer to a framebuffer
1155
- # @param fboId [unsigned int]
1157
+ # @param id [unsigned int]
1156
1158
  # @param texId [unsigned int]
1157
1159
  # @param attachType [int]
1158
1160
  # @param texType [int]
@@ -1190,26 +1192,38 @@ module Raylib
1190
1192
  # @return [void]
1191
1193
  [:rlResizeFramebuffer, :rlResizeFramebuffer, [:int, :int], :void],
1192
1194
 
1193
- # @!method rlLoadShaderCode(vsCode, fsCode)
1194
- # rlLoadShaderCode : Load shader from code strings
1195
+ # @!method rlLoadShader(code, type)
1196
+ # rlLoadShader : Load (compile) shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
1197
+ # @param code [const char *]
1198
+ # @param type [int]
1199
+ # @return [unsigned int]
1200
+ [:rlLoadShader, :rlLoadShader, [:pointer, :int], :uint],
1201
+
1202
+ # @!method rlLoadShaderProgram(vsCode, fsCode)
1203
+ # rlLoadShaderProgram : Load shader from code strings
1195
1204
  # @param vsCode [const char *]
1196
1205
  # @param fsCode [const char *]
1197
1206
  # @return [unsigned int]
1198
- [:rlLoadShaderCode, :rlLoadShaderCode, [:pointer, :pointer], :uint],
1207
+ [:rlLoadShaderProgram, :rlLoadShaderProgram, [:pointer, :pointer], :uint],
1199
1208
 
1200
- # @!method rlCompileShader(shaderCode, type)
1201
- # rlCompileShader : Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
1202
- # @param shaderCode [const char *]
1203
- # @param type [int]
1209
+ # @!method rlLoadShaderProgramEx(vsId, fsId)
1210
+ # rlLoadShaderProgramEx : Load shader program, using already loaded shader ids
1211
+ # @param vsId [unsigned int]
1212
+ # @param fsId [unsigned int]
1204
1213
  # @return [unsigned int]
1205
- [:rlCompileShader, :rlCompileShader, [:pointer, :int], :uint],
1214
+ [:rlLoadShaderProgramEx, :rlLoadShaderProgramEx, [:uint, :uint], :uint],
1206
1215
 
1207
- # @!method rlLoadShaderProgram(vShaderId, fShaderId)
1208
- # rlLoadShaderProgram : Load custom shader program
1209
- # @param vShaderId [unsigned int]
1210
- # @param fShaderId [unsigned int]
1216
+ # @!method rlLoadShaderProgramCompute(csId)
1217
+ # rlLoadShaderProgramCompute : Load compute shader program
1218
+ # @param csId [unsigned int]
1211
1219
  # @return [unsigned int]
1212
- [:rlLoadShaderProgram, :rlLoadShaderProgram, [:uint, :uint], :uint],
1220
+ [:rlLoadShaderProgramCompute, :rlLoadShaderProgramCompute, [:uint], :uint],
1221
+
1222
+ # @!method rlUnloadShader(id)
1223
+ # rlUnloadShader : Unload shader, loaded with rlLoadShader()
1224
+ # @param id [unsigned int]
1225
+ # @return [void]
1226
+ [:rlUnloadShader, :rlUnloadShader, [:uint], :void],
1213
1227
 
1214
1228
  # @!method rlUnloadShaderProgram(id)
1215
1229
  # rlUnloadShaderProgram : Unload shader program
@@ -1217,16 +1231,16 @@ module Raylib
1217
1231
  # @return [void]
1218
1232
  [:rlUnloadShaderProgram, :rlUnloadShaderProgram, [:uint], :void],
1219
1233
 
1220
- # @!method rlGetLocationUniform(shaderId, uniformName)
1234
+ # @!method rlGetLocationUniform(id, uniformName)
1221
1235
  # rlGetLocationUniform : Get shader location uniform, requires shader program id
1222
- # @param shaderId [unsigned int]
1236
+ # @param id [unsigned int]
1223
1237
  # @param uniformName [const char *]
1224
1238
  # @return [int]
1225
1239
  [:rlGetLocationUniform, :rlGetLocationUniform, [:uint, :pointer], :int],
1226
1240
 
1227
- # @!method rlGetLocationAttrib(shaderId, attribName)
1241
+ # @!method rlGetLocationAttrib(id, attribName)
1228
1242
  # rlGetLocationAttrib : Get shader location attribute, requires shader program id
1229
- # @param shaderId [unsigned int]
1243
+ # @param id [unsigned int]
1230
1244
  # @param attribName [const char *]
1231
1245
  # @return [int]
1232
1246
  [:rlGetLocationAttrib, :rlGetLocationAttrib, [:uint, :pointer], :int],
@@ -1269,12 +1283,6 @@ module Raylib
1269
1283
  # @return [void]
1270
1284
  [:rlSetShader, :rlSetShader, [:uint, :pointer], :void],
1271
1285
 
1272
- # @!method rlLoadComputeShaderProgram(shaderId)
1273
- # rlLoadComputeShaderProgram : Load compute shader program
1274
- # @param shaderId [unsigned int]
1275
- # @return [unsigned int]
1276
- [:rlLoadComputeShaderProgram, :rlLoadComputeShaderProgram, [:uint], :uint],
1277
-
1278
1286
  # @!method rlComputeShaderDispatch(groupX, groupY, groupZ)
1279
1287
  # rlComputeShaderDispatch : Dispatch compute shader (equivalent to *draw* for graphics pipeline)
1280
1288
  # @param groupX [unsigned int]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raylib-bindings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.17
4
+ version: 0.8.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - vaiorabbit
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  requirements: []
72
- rubygems_version: 4.0.3
72
+ rubygems_version: 4.0.6
73
73
  specification_version: 4
74
74
  summary: Ruby bindings for raylib, raygui and Physac
75
75
  test_files: []