Commit Graph

3718 Commits

Author SHA1 Message Date
Ray
28e8b2add3 REVIEWED: Issue with OpenURL() 2022-10-26 18:04:20 +02:00
nobytesgiven
c4abf68351
fixed blur issue on opaque pictures & added example (#2775)
Co-authored-by: nobytesgiven <nobytesgiven@users.noreply.github.com>
2022-10-26 09:11:14 +02:00
nobytesgiven
dbecb95024
Added Box and Gaussian blurring (#2770)
* Added Box and Gaussian blurring

* Removed dependence of gaussian blur to box blur & Fixed precision errors

Co-authored-by: nobytesgiven <nobytesgiven@users.noreply.github.com>
2022-10-25 17:56:06 +02:00
nobytesgiven
e5d332dea2
Fix bezier line breaking #2735 (#2767)
* Fixed bezier line breaking #2735

* converted tabs to spaces

* typo

* Changed doubles to floats

* removed heap allocations\

Co-authored-by: nobytesgiven <nobytesgiven@users.noreply.github.com>
2022-10-24 16:35:47 +02:00
Ray
d5cd5ebd80 Update to latest miniaudio (dev) 2022-10-24 13:37:20 +02:00
InKryption
40cf84e7e5
build.zig: let user decide how to set build mode + fix linker warning (#2763)
* build.zig: let user decide how to set build mode

This should delegate the responsibility of calling `standardReleaseOptions` and setting the build mode of the `*LibExeObjStep` step to the caller, especially since this might not be the process by which one wants to determine the build mode.

Also changes hides `getSrcDir` to enforce usage of `srcdir`, and asserts that the file is in fact inside a directory.

* build.zig: set root_src param to `null`

Supplying the header file as the root source here appears to cause a linker warning of the form:
```
LLD Link... warning(link): unexpected LLD stderr:
ld.lld: warning: {build_root}/zig-cache/o/{hash}/libraylib.a: archive member '{build_root}/zig-cache/o/{hash}/raylib.o' is neither ET_REL nor LLVM bitcode
```
Passing `null` instead fixes it.
2022-10-20 18:33:12 +02:00
ianband
7e7939e1ad
Add DrawCapsule(Wires) (#2761)
* Add DrawCapsule & DrawCapsuleWires

* Add DrawCapsule & DrawCapsuleWires to example

Co-authored-by: Ian Band <ian.r.band@gmail.com>
2022-10-17 11:36:53 +02:00
hkc
0b69bc28c6
Fix ImageTextEx and ImageDrawTextEx scaling (#2756)
* Use RL_QUADS/RL_TRIANGLES for single-pixel drawing

Addresses problem mentioned in
https://github.com/raysan5/raylib/issues/2744#issuecomment-1273568263
(in short: when drawing pixels using DrawPixel{,V} in camera mode,
upscaled pixel becomes a line instead of bigger pixel)

* [rtextures] Fixed scaling down in ImageTextEx

Closes #2755
2022-10-14 17:43:12 +02:00
Ray
e61639f6fc ADDED: GenImageText()
Probably useless but interesting for education. It generated a grayscale image directly from text data.
2022-10-14 10:51:43 +02:00
CrezyDud
aa67f7c39a
Fix & Simplify .vox signature check (#2752)
and make version check be only 150 not over 150
2022-10-12 17:14:18 +02:00
hkc
8ebe62b4dd
Use RL_QUADS/RL_TRIANGLES for single-pixel drawing (#2750)
Addresses problem mentioned in
https://github.com/raysan5/raylib/issues/2744#issuecomment-1273568263
(in short: when drawing pixels using DrawPixel{,V} in camera mode,
upscaled pixel becomes a line instead of bigger pixel)
2022-10-11 18:45:34 +02:00
Dor Shapira
8025b052b3
fixing typo (#2748) 2022-10-11 11:20:29 +02:00
Ray
38025362ee Update version to raylib 4.5-dev to avoid confusions with 4.2 2022-10-07 16:22:44 +02:00
Ray
7a15861d44 Update rlgl.h 2022-10-06 00:56:18 +02:00
Ray
26969c2c38 Added BLEND_CUSTOM_SEPARATE #2741 2022-10-05 13:57:38 +02:00
Ray
25d846aa9a Avoid early return calls 2022-10-05 13:34:19 +02:00
Ray
9017be3259 Reviewed latest PR formating and variables naming #2741 2022-10-05 13:29:34 +02:00
凌溢狐
2d88958d35
Add rlSetBlendFactorsSeparate and custom blend mode modification checks (#2741) 2022-10-05 13:05:44 +02:00
Ray
2e26cf48e8 Merge branch 'master' of https://github.com/raysan5/raylib 2022-10-03 00:07:34 +02:00
Ray
7459d906de Update rtext.c 2022-10-03 00:07:22 +02:00
_Tradam
62d228346b
Update build.zig to work with last GLFW update (#2737) 2022-10-02 20:29:48 +02:00
veins1
2872b2fff5
Clear PCM buffer state when closing audio device (#2736)
Fix for #2714
2022-10-02 19:30:26 +02:00
Ray
33e7f7cc59 WARNING: DrawLineBezier() implementation needs review #2721 2022-10-02 11:11:13 +02:00
Rob Loach
0daaaddeef
Fix Gestures to use GetTime() if it's available (#2733) 2022-10-02 10:47:17 +02:00
Random
03f5fce672
removed glfwSetWindowPos on InitWindow (#2732)
* removed glfwSetWindowPos on InitWindow

* removed execute permission from CMakeLists
2022-10-02 10:46:33 +02:00
Ray
178a356cb4 minor tweaks 2022-09-30 23:07:29 +02:00
Random
f14955512f
fix issue #2728 (#2731)
* fix issue #2728

* updated gamecontrollerdb: fixes GLFW warning due to invalid entry
2022-09-30 10:09:49 +02:00
Ray
45da03df23 Reviewed monitor checking order 2022-09-29 12:00:20 +02:00
Ray
4fe6f885f7 Update gamepad mappings with latest gamecontrollerdb, fix #2725 2022-09-29 11:23:25 +02:00
Ray
357f782f4e Merge branch 'master' of https://github.com/raysan5/raylib 2022-09-29 11:08:02 +02:00
Ray
0ced04f0df Fix #2722 2022-09-29 11:08:00 +02:00
Dor Shapira
587e61def9
fixing new typoes (#2727) 2022-09-28 20:04:59 +02:00
Dor Shapira
5c404c79da
Update raylib.h (#2726) 2022-09-28 20:04:41 +02:00
Michael Scherbakow
8f88c61bdf
update build.zig (#2720)
zig `master` now enforces to use addIncludePath instead of addIncludeDir
2022-09-27 01:27:22 +02:00
bXi
e9ca38fafa
Clarified working of ImageDrawCircle and ImageDrawCircleV (#2719) 2022-09-26 12:24:10 +02:00
Ray
7ab056b6ef REVIEWED: GeneshHeightmap(), fix #2716 2022-09-25 15:41:49 +02:00
Ray
2ef0b064e5 Fix isssue #2718 2022-09-25 14:09:28 +02:00
Ray
ea87491a82 ADDED: Support CAPS/NUM lock keys registering if locked 2022-09-25 00:14:59 +02:00
Ray
810a0330ab WARNING: Several changes on UTF-8/Codepoints API
- ADDED: `GetCodepointPrevious()`
 - RENAMED: `GetCodepoint()` -> `GetCodepointNext()`, actually, reimplemented
 - `GetCodepoint()` has been kept for the moment, for compatibility and also because implementation is different
 - RENAMED: `TextCodepointsToUTF8()` to `LoadUTF8()`, simpler name and more aligned with raylib conventions (functions loading memory start with Load*()), parameters should be descriptive of functionailty.
 - ADDED: `UnloadUTF8()`, aligned with `LoadUTF8()` to avoid allocators issues.
2022-09-22 20:35:55 +02:00
Ray
4b1d4b4f6b Update rcore.c 2022-09-22 20:30:02 +02:00
Ray
4311ffc9e1 REVIEWED: New functions coding conventions 2022-09-19 18:47:16 +02:00
Rob Loach
2093fdcc53
Added: ImageDrawCircleLines, ImageDrawCircleLinesV (#2713)
This adds `ImageDrawCircleLines()` and `ImageDrawCircleLinesV()` to draw outlines of circles, and updates `ImageDrawCircle()` draw a filled circle to match the effect of `DrawCircle()` and `DrawCircleLines()`.
2022-09-19 18:41:17 +02:00
Ray
5530a3ceb8 REVIEWED: ScanDirectoryFilesRecursively(), fix #2704 2022-09-19 18:20:36 +02:00
Ray
6e8f3b0f45 Update rlgl.h 2022-09-19 10:35:34 +02:00
Ray
12e8cef9cf REMOVED: Mipmaps software generation for OpenGL 1.1
As generation is done in software, it's up to the user to do it. `ImageMipmaps()` is already provided for reference.
2022-09-19 10:31:55 +02:00
Denis Pobedrya
27781a4767
Remove touch points on touch up events on Android (#2711)
Fixes #2683

Remove elements from touch point related arrays when touch up and
similar events are processed. This makes GetTouchPointCount() always
report the actual count of touch points, and all positions returned by
GetTouchPosition() correspond to positions of currently happening
touches.
2022-09-18 23:01:10 +02:00
Nikolas
42ecd72547
[rlgl] Check for extensions before enabling them (#2706)
* [rlgl] Check for extensions before enabling them

* Shift to glad on macOS

* #undef CORE_OPENGL_33

* Remove version hack and fix ASTC compression assumption

* Remove loader from glad

* Use GLAD_MALLOC/FREE instead of malloc/free

* More explicit extension checking
2022-09-18 21:08:51 +02:00
Denis Pobedrya
8f597b3cc3
Basic gamepad support for Android (#2709)
Currently assumes a single gamepad, has no code specific to gamepad
detection (gamepad is "detected" when an event related to gamepad
arrives). Also assumes that all gamepads look roughly like an xbox/ps
controller. Both assumptions are not strictly true, but an
implementation like that probably covers 85% of usecases.

Also it doesn't update previousButtonState so functions
IsGamepadButtonPressed() and IsGamepadButtonReleased() don't work, but
they didn't work previously on Android anyway, and they are flaky on
desktop as they are now, so the mechanism for these two functions
probably should be reworked anyway.

It's certainly an improvement compared to the previous android gamepad
handling code, which put gamepad events into touch related structs.
2022-09-18 19:58:52 +02:00
Denis Pobedrya
ff25402f68
Fix viewport scaling bug on android after context rebind (#2703)
On android after rebinding context (which happens when you minimize and
navigate back to an app, or when you turn a screen off and back on)
there's a bug that viewport has a wrong scale and part of it is off
screen.

The change fixes it on devices I tried, but the solution feels hacky to
me. However when I attempted instead to call SetupViewport() again which
feels like a more proper solution, it didn't fix it.
2022-09-18 11:28:55 +02:00
Denis Pobedrya
8e57c8ace3
Fix touchscreen input related functions on Android (#2702)
Fix display -> screen coordinate conversion for android platform and
move it to the platform event handling code, simplifying
GetTouchPosition() function implementation.

Co-authored-by: Denis Pobedrya <denis.pobedrya@gmail.com>
2022-09-17 23:15:11 +02:00
Ray
c328f09efc Move compressed textures loading to a separate self-contained library 2022-09-17 19:26:23 +02:00
Ray
cb9b8f73c0 ADDED: GenImagePerlinNoise() 2022-09-17 13:39:49 +02:00
Nikolas
a12ddacb7b
Enable DXT compression on __APPLE__ targets (#2694) 2022-09-12 12:21:41 +02:00
Ray
853c66baed REVIEWED: CheckCollisionPointPoly() 2022-09-10 23:56:52 +02:00
Ray
cf24c021a3 WARNING: BREAKING: Reviewed SSBO usage to avoid long long
raylib library tries to avoid `long long` usage. Several SSBO functions have been reviewed (including some renames for consistency) to minimize `long long` type usage.
2022-09-09 00:26:47 +02:00
Ray
ac1ffbad1d REVIEWED: Data type to unsigned 2022-09-07 00:39:38 +02:00
Ray
b09725fa84 REPLACED: rlVertex2i() by rlVertex2f() 2022-09-05 18:45:33 +02:00
Ray
e59442bfab REMOVED: rlPushMatrix()/rlPopMatrix() from rshapes
This simplification will allow the usage of `rshapes` as STANDALONE mode in a future. Only a small set of `rlgl` functions are required and they can be "more" easely replaced if no `rlPushMatrix()`/`rlPopMatrix()` are involved.

More simplification planned for the future, maybe the textures dependencies.
2022-09-05 18:23:25 +02:00
Ray
9996e328cb WARNING: BREAKING: Removed rlCheckRenderBatchLimit() requirement
Updated version to `rlgl 4.2`
2022-09-05 13:20:09 +02:00
Ray
ad5ffd78d6 REVIEWED: rlgl enums and comments 2022-09-05 11:15:28 +02:00
Ray
0917290e95 REVIEWED: M3D model loading #2688 2022-09-04 18:49:54 +02:00
Ray
f4b4054de5 REVIEWED: CheckCollisionPointPoly() 2022-09-04 10:45:01 +02:00
Jacek
aff98d7f2a
Check collision point polygon (#2685)
* Update raylib.h

* CheckCollisionPointPolygon()

* typo
2022-09-04 10:39:03 +02:00
Ray
082920eb80 WARNING: RENAMED exported symbol to raylib_version #2671 2022-09-02 21:35:08 +02:00
Ray
de968e3623 WARNING: RENAMED symbol raylibVersion to raylib_version
I want to note this is a special symbol exported
2022-09-02 21:32:58 +02:00
Ray
2a798d64a2 Export raylibVersion symbol. Fixes #2671 2022-09-02 21:28:19 +02:00
Ray
fb1037a241 ADDED: Complete support for M3D animations! #2648 2022-09-01 20:46:06 +02:00
Ray
64cca24526 ADDED: RL_TEXTURE_MIPMAP_BIAS_RATIO support to rlTextureParameters() for OpenGL 3.3 #2674 2022-09-01 11:18:22 +02:00
Ray
23cc39a265 Implemented latest .M3D improvements #2648 2022-09-01 10:27:16 +02:00
Ray
0c7ba773ec Fixed issue with LoadIQM() #2676 2022-09-01 10:14:45 +02:00
Ray
7f5567eec0 Reviewed GLFW compilation requirements on Linux: _GNU_SOURCE
Reasons to NOT define `_GNU_SOURCE`:

 - access to lots of nonstandard GNU/Linux extension functions
 - access to traditional functions which were omitted from the POSIX standard (often for good reason, such as being replaced with better alternatives, or being tied to particular legacy implementations)
 - access to low-level functions that cannot be portable, but that you sometimes need for implementing system utilities like mount, ifconfig, etc.
 - broken behavior for lots of POSIX-specified functions, where the GNU folks disagreed with the standards committee on how the functions should behave and decided to do their own thing.
2022-08-28 15:48:12 +02:00
Ray
be2328f848 Update Makefile 2022-08-28 15:39:22 +02:00
Ray
568fe42cb1 Reviewed GLFW issue with ppoll() function 2022-08-28 15:37:09 +02:00
Ray
482dbfc52e Avoid error on implicit-function-declaration 2022-08-28 15:28:57 +02:00
Ray
10ae54379a Update posix_poll.c 2022-08-28 15:25:34 +02:00
Ray
2236197d49 Update rglfw.c 2022-08-28 15:20:16 +02:00
Ray
9e0e08cba4 WARNING: UPDATED GLFW to latest master branch!
WARNING: This could be a BREAKING CHANGE for some platforms! I'm afraid something could be wrong on `rglfw.c` module.

To be able to compile on Windows I had to modify `glfw/src/platform.c` line 74. I couldn't manage to compile without that change, help is welcome!
2022-08-28 14:16:51 +02:00
Ray
f66b1a3136 REVIEWED: Support M3D file loading #2648 2022-08-26 10:04:38 +02:00
Ray
ae745e4fa8 ADDED: -latomic library on Linux (only required for ARM32)
This linkage is only required for arm 32bit but I don't know how to detect that specific architecture in the Makefile...
2022-08-22 11:25:35 +02:00
Ray
e92bc8ca4e REVIEWED: M3D implementation #2648 2022-08-22 11:11:05 +02:00
Rodrigo Escar
aa4111a3b2
Fix PATH for Web target (#2647) 2022-08-21 11:45:37 +02:00
Daijiro Fukuda
7bb8ffc29e
Win32: resolve some symbols re-definition of windows.h in glfw3native.h (#2643)
* Win32: resolve some symbols re-definition of windows.h in glfw3native.h

This reflects GLFW's fix: https://github.com/glfw/glfw/issues/1348

This enables to build with a external GLFW containing the
following fix:

* 05f6c13d11

Currently, glfw3native.h of the internal GLFW is customized at
2feea87b61

This fix is compatible with the current customized glfw3native.h.

This fix enables us to update it to the latest and remove the
customization.

* Win32: remove unneeded typedef
2022-08-21 11:44:16 +02:00
Ray
4ee5fdf619 ADDED: Support M3D model file format (meshes and materials) #2648 2022-08-20 14:01:54 +02:00
Ray
35c777ef2c REVIEWED: Avoid crash on bad data provided 2022-08-18 15:11:23 +02:00
Ray
904c505125 minor tweak 2022-08-18 15:10:40 +02:00
Ray
2ad7967db8 REVIEW: Fix issue with external GLFW missing define #2638 2022-08-17 10:19:52 +02:00
Ray
bf2ad9df5f P A I N 2022-08-13 22:42:38 +02:00
Ray
092b6f956e WARNING: REVIEWED: rlCheckRenderBatchLimit() 2022-08-13 22:30:11 +02:00
Ray
48c7f65b77 minor tweaks 2022-08-13 22:28:47 +02:00
HarriP
e0b487c641
Fix string lacking null termination in IsFileExtension (#2637)
When file extension is longer or equal length compared to buffer holding lowercased string, strncpy does not null terminate the string.
Increased buffer size by 1 to ensure it will always be null-terminated, so that following strcmp does not read out of buffer bounds.
2022-08-13 17:36:29 +02:00
Dan Bechard
56072a631d
Fix Codepoint position truncation (#2636)
This truncation causes text that spans the zero coord boundary to round differently left or zero vs. right of zero, in turn causing letters to appear squished together. If you actually need the position to be an integer, you should instead `floorf()` the float, rather than doing an integer truncation, but I don't see any reason to convert it to an integer in the first place. Everything else in the equation is a float.
2022-08-13 11:18:57 +02:00
Ray
2c0071c851 Reviewed issue with negative key #2619 2022-08-07 19:19:18 +02:00
veins1
4b2357dc34
Can't alt-tab out of fullscreen window (#2618) 2022-08-06 18:42:52 +02:00
Ray
14990209ef Added comments 2022-08-05 20:01:35 +02:00
veins1
d70e5cd26b
Small simplifications (#2615) 2022-08-05 12:16:49 +02:00
veins1
82b76149da
GetMusicTimePlayed bug fix (#2614)
GetMusicTimePlayed() was calculated using buffered frames, not played frames.
For example: calling LoadMusicStream->UpdateMusicStream->GetMusicTimePlayed would return non-zero value, even though no music was playing.
2022-08-05 08:36:59 +02:00
Ray
72b2d1335a Update cgltf.h 2022-08-02 19:05:42 +02:00
Ray
d791c1cf64 Update miniaudio.h 2022-08-02 18:50:12 +02:00
Ray
94165a40b9 REMOVED: rmem library from raylib sources
Moved to own repo: https://github.com/raylib-extras/rmem
2022-08-02 18:50:08 +02:00
Ray
dd455c626e Update rlgl.h 2022-08-02 18:33:00 +02:00