Commit Graph

10159 Commits

Author SHA1 Message Date
Hugohong258
8564d55149 [examples] Release source images in image rotate example (#6145)
Co-authored-by: Hugohong258 <282228220+Hugohong258@users.noreply.github.com>
2026-09-12 20:30:59 +02:00
Peter0x44
a414da391b Fix make shell detection (#6146)
* Detect the recipe shell in Makefiles

GNU Make on Windows may use sh even when invoked from cmd. Probe how
echo handles quotes instead of choosing shell syntax from the target OS.

Apply this to the library, examples and tools, preserving explicit
PLATFORM_SHELL overrides. Stop forcing cmd for library cleanup and fix
Win32 recipe indentation.

* Pass rlparser variables directly to recursive make

The form FORMAT=JSON EXTENSION=json $(MAKE) parse uses sh environment
assignments. Under cmd, FORMAT=JSON is treated as a command and fails.

Use $(MAKE) parse FORMAT=JSON EXTENSION=json instead. This passes the
variables directly to make and works under both shells.
2026-09-12 20:28:57 +02:00
Nicholas Velten
9f59089de1 [rcore][GLFW] Fix window centering overflow with unsigned screen size (#6119)
CORE.Window.screen/render sizes are unsigned, so the subtraction against
the monitor workarea wraps when the window is larger than the monitor,
producing a huge positive position instead of a negative one.
2026-09-12 10:54:30 +02:00
Anand Swaroop
2f699f6bf0 Update h-raylib version in BINDINGS.md (#6142)
Updated Haskell binding version from 5.5-dev to 6.1-dev.
2026-09-12 10:38:02 +02:00
Quaylyn Rimer
98c175e692 [rcore] Fix ComputeSHA256() wrong hash when message length mod 64 is 56..59 (#6144) 2026-09-12 10:24:51 +02:00
Ray
2f768eb670 Update rlparser output 2026-09-11 18:27:01 +02:00
Jeffery Myers
98f170c1d2 [Bindings] Add recomendations for binding authors (#6141)
* rlparser: update raylib_api.* by CI

* Add some guidelines for binding authors

* Delete tools/rlparser/output/raylib_api.json

* Create raylib_api.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ray <raysan5@gmail.com>
2026-09-11 18:25:59 +02:00
Jeffery Myers
75909072c2 Handle raylib conflict with PlaySoundW for wide string builds (#6140) 2026-09-11 18:22:43 +02:00
Ray
647755ad6d Fixed issues with struct parsing 2026-09-11 18:17:55 +02:00
Ray
77450a6abb Update README.md 2026-09-11 16:44:45 +02:00
Ray
01d9ad64fb Update README.md 2026-09-11 16:43:08 +02:00
Anirudh Vempati
abd4cd1155 [docs] Fix minor grammar issues in README (#6139)
* Update README.md

* Update README.md
2026-09-11 16:41:17 +02:00
Ray
569ce9b2ec Update CONVENTIONS.md 2026-09-11 16:29:48 +02:00
jestarray
3a7aa76509 [rcore_desktop_glfw.c] Do not reset mouse position user when user is off window (#6134)
See this comment and Jeffs as to why
https://github.com/raysan5/raylib/issues/5945#issuecomment-5595141064
2026-09-11 16:18:19 +02:00
Ray
73dce3635c Update raymath.h 2026-09-11 16:11:45 +02:00
Carlos GS
c66c92962b [raymath.h] Changed MatrixCompose to follow raymath conventions (#6133)
Co-authored-by: Carlos GS <carlosgs161@proton.me>
2026-09-10 15:14:32 +02:00
Max Freedom Pollard
94a69ad9e2 [rtext] Fix TextSplit() reading past its buffer on text of 1024 bytes or more (#6136)
The copy loop filled all MAX_TEXT_BUFFER_LENGTH bytes, so the last substring
could come back with no terminator, and a delimiter on the last byte made
buffers[] point one past the end of the array. Stop one byte earlier so the
zero left by the memset() at the top of the function always terminates the
last substring.
2026-09-10 15:13:05 +02:00
Ray
f25c8241f3 tweaks 2026-09-08 18:22:22 +02:00
Max Freedom Pollard
2b991b0243 [rtext] Fix TextToPascal()/TextToCamel() truncating text after a separator (#6132)
Both functions walk the input with two indexes and, on hitting '_', advance
j once and only write buffer[i] when the next character is one they know how
to handle. TextToPascal() (src/rtext.c:2186) covers 'a'-'z' and '0'-'9',
TextToCamel() (src/rtext.c:2270) covers only 'a'-'z'. Anything else leaves
buffer[i] at the zero it was memset to, so the returned string ends there
and the rest of the text is silently dropped: TextToPascal("text_UTF8_load")
returned "Text" and TextToCamel("sound_3d_mix") returned "sound".

The same path also reads past the end of the string. When '_' is the last
character, j++ lands on the '\0', neither branch matches, and then the loop
increment moves j one further before the condition reads text[j], one byte
beyond the terminator.

Skip the whole run of separators instead, stop when it reaches the end of
the text, and copy any character that has no upper case form as it is.
2026-09-07 00:17:52 +02:00
Nomobyte
c64eda6377 Updated BINDINGS.md (#6131)
* Updated bindings' versions
Bindings in the `Older or Unmaintained Language Bindings` category are untouched.

* Fix Target link

* Moved archived and projects with invalid links to a "Unmaintained" category

* `raylib4fb` was moved from GitHub to Codeberg

* Fix table formatting

* Moved outdated to the `Older bindings` category

* Fix tables formatting

* Changed the first paragraph
Added advice on when to update `BINDINGS.md`.
2026-09-07 00:16:07 +02:00
Ray
a2cc9b1614 Merge branch 'master' of https://github.com/raysan5/raylib 2026-09-05 21:22:21 +02:00
Nomobyte
30f918cc15 [rlparser] Fix formatting to follow raylib conventions (#6127)
Moved curly brace to newline in `if` block.
2026-09-05 21:21:54 +02:00
Ray
f3d143019b Merge branch 'master' of https://github.com/raysan5/raylib 2026-09-05 18:53:52 +02:00
Ray
2237618acf Update rshapes.c 2026-09-05 18:53:39 +02:00
Nomobyte
550dd0e3a8 [rlparser] Fix type aliases (typedefs): added support to type pointers (#6126)
Fix issue #6122
2026-09-04 22:32:03 +02:00
github-actions[bot]
e9d75a4fe9 rlparser: update raylib_api.* by CI 2026-09-04 16:24:23 +00:00
Ray
1829f9282c ADDED: IsFileHidden() 2026-09-04 18:24:04 +02:00
Ray
08a8068702 Merge branch 'master' of https://github.com/raysan5/raylib 2026-09-04 18:13:41 +02:00
Ray
3449d81f67 ADDED: IsFileHidden() 2026-09-04 18:13:28 +02:00
Matthew Roush
f9c2abdc9e [rexm] Add clean command. (#6124)
`build`, `test`, and `testlog` generate lots of files (`.exe`, `.html`, etc.) when executed. When you build/test enough examples, it's kind of annoying manually deleting the files. The generated reports (`.md` files) are not deleted.
2026-09-04 14:34:36 +02:00
Ray
3f3b4ccd4f Update rexm.c 2026-09-04 14:21:39 +02:00
Vortex
df4bf2f6a0 fix typo in rtextures.c (#6125) 2026-09-04 08:04:02 +02:00
Matthew Roush
a65f8be3c2 [rexm] Fix Makefile and change port number. (#6123)
* [rexm] Fix `Makefile`.

The `make` program that comes with `w64devkit` uses a UNIX-style shell, so we can't use `del` (we could set `SHELL` to `cmd`, but this is easier, and the expectation is that `w64devkit` is being used anyway.)

* [rexm] Use less common port number.

When using a port that's already in use, the server fails to start. Using a different (hopefully less common) port should help mitigate this.
2026-09-03 22:26:29 +02:00
Risu-swift
9b2efc4552 [rtextures] Fix ImageDrawCircle asymmetry (#6118)
ImageDrawCircle filled 2*radius pixels wide but 2*radius + 1 tall. Each
horizontal span started at centerX - x with width 2*x, which covers
centerX - x through centerX + x - 1, leaving the column at centerX + x
unwritten. The result was one column short on the right, off-centre, and
inconsistent with ImageDrawCircleLines, which is 2*radius + 1 in both
directions.

Widen the four spans by one pixel so the fill is (2r+1) x (2r+1), centred
on (centerX, centerY) and aligned with ImageDrawCircleLines.

Fixes #6117
2026-09-02 12:31:04 +02:00
Jeffery Myers
5a433a51a3 [rTextures] Add LoadRenderTextureEx with user defined format (#6114)
* Add LoadRenderTextureEx that defines the FBO pixel format

* rlparser: update raylib_api.* by CI

* requested review

* rlparser: update raylib_api.* by CI

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-02 09:42:56 +02:00
Dylan Pulver
237c1f85dd [rtextures] Fix GetPixelColor() reading the wrong bits for R5G5B5A1 blue (#6113)
R5G5B5A1 packs blue in bits 5..1 and alpha in bit 0, which is what
SetPixelColor(), ImageFormat(), LoadImageColors() and GetImageColor()
all do. GetPixelColor() masked bits 4..0 instead, so the decoded blue
was the low four bits of blue shifted up with the alpha bit pulled in
as its LSB.

Packing r == g == b and decoding it back gave (164, 164, 74) for
r=g=b=20; 31 of the 32 possible grey values decoded with unequal
channels. ImageDrawImage() blends through GetPixelColor(), so drawing
onto an R5G5B5A1 image was affected too.

Co-authored-by: Dylan Pulver <dylanpulver@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-09-02 09:42:19 +02:00
JoeStrout
656d42c4da Support rlGetActiveFramebuffer() on OpenGL ES 2.0. (#6115)
Alias GL_DRAW_FRAMEBUFFER_BINDING to GL_FRAMEBUFFER_BINDING for ES 2.0,
alongside the existing GL_READ_FRAMEBUFFER/GL_DRAW_FRAMEBUFFER aliases, and
widen the guard to ES 2.0. The guard now matches rlEnableFramebuffer() and
rlDisableFramebuffer().
2026-09-02 09:36:59 +02:00
Vaibhav Srivastava
9f3cadf1e6 docs: fix typo relase -> release (#6109)
Signed-off-by: Vaibhav Srivastava <vaibhavsri1712@gmail.com>
2026-08-29 12:39:21 +02:00
Junji Takakura
1948bdf3f7 [rcore][drm] Raise MAX_DRM_CACHED_BUFFERS to 4 and warn when the cache fills (#6107)
The cache has no eviction, so a driver rotating a fourth buffer never gets a
framebuffer for it and the display stops updating for good. Mesa rotates
three, ARM's Mali blob on RK3326 rotates four.

Verified on an R36S. See #6056.
2026-08-29 11:41:46 +02:00
Matthew Roush
39d00cb025 [rexm] Fix small oversight. (#6106)
The leading double quote was accidentally deleted.
2026-08-28 21:40:23 +02:00
Ray
cef6136325 Update rexm.c 2026-08-28 19:39:05 +02:00
Matthew Roush
29d232c7cc [rexm] Leave environment setup up to the user. (#6101)
rexm used to assume certain paths existed and then `_putenv()` them into `PATH`, which is very error prone. `make` was also assumed, though `mingw32-make` seems to be more common on Windows. Since this shifts things to expect the user to setup their environment, I added some explanation to the README as well.

OP_TESTLOG still uses a hardcoded path when doing web testing (`BUILD_TESTING_WEB`,) unfortunately.
2026-08-28 19:35:46 +02:00
andzdroid
3e2c0132a9 Invert emscripten scroll wheel direction (#6104) 2026-08-28 19:23:47 +02:00
Omar Ibrahim
f2441a17c8 [rcore][desktop] Fix clipboard image memory leak (GLFW, RGFW) (#6103) 2026-08-28 19:21:17 +02:00
Anton Zhiyanov
caba629ca1 Add raylib binding for solod (#6102) 2026-08-26 21:11:33 +02:00
Ray
a946097de4 Remove trailing spaces 2026-08-26 19:47:40 +02:00
Ray
ba0ac542c5 Update rtext.c 2026-08-26 19:46:45 +02:00
Ross Metcalfe
173b854168 Fix memory leak in rtext LoadFontFromImage method (#6100)
Fix for
[rtext] Memory leak at LoadFontFromImage when failing to compute spacing's
2026-08-26 19:43:03 +02:00
Alexandre Almeida
4c1dc51a6f Fix unused variable warnings (SDL) (#6096) 2026-08-26 18:39:42 +02:00
Alexandre Almeida
b7d7e70ac5 Fix Font name conflict (#6094) 2026-08-26 18:38:45 +02:00