mirror of
https://github.com/raysan5/raylib.git
synced 2026-07-14 01:21:56 -04:00
Compare commits
9 Commits
72b206624f
...
178aca0fd0
| Author | SHA1 | Date | |
|---|---|---|---|
| 178aca0fd0 | |||
| f3958cae5d | |||
| 2b3218c3db | |||
| 05a34b09ea | |||
| d8861cc35f | |||
| c686e087b3 | |||
| 92a1b80465 | |||
| d869db1572 | |||
| f23a900e91 |
12
CHANGELOG
12
CHANGELOG
@ -3,6 +3,16 @@ changelog
|
|||||||
|
|
||||||
Current Release: raylib 5.5 (18 November 2024)
|
Current Release: raylib 5.5 (18 November 2024)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
Release: raylib 6.0 (?? March 2026)
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
KEY CHANGES:
|
||||||
|
- TODO...
|
||||||
|
|
||||||
|
Detailed changes:
|
||||||
|
|
||||||
|
TODO...
|
||||||
|
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
Release: raylib 5.5 (18 November 2024)
|
Release: raylib 5.5 (18 November 2024)
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
@ -15,8 +25,6 @@ KEY CHANGES:
|
|||||||
|
|
||||||
Detailed changes:
|
Detailed changes:
|
||||||
|
|
||||||
WIP: Last update with commit from 02-Nov-2024
|
|
||||||
|
|
||||||
[rcore] ADDED: Working directory info at initialization by @Ray
|
[rcore] ADDED: Working directory info at initialization by @Ray
|
||||||
[rcore] ADDED: `GetClipboardImage()`, supported by multiple backends (#4459) by @evertonse
|
[rcore] ADDED: `GetClipboardImage()`, supported by multiple backends (#4459) by @evertonse
|
||||||
[rcore] ADDED: `MakeDirectory()`, supporting recursive directory creation by @Ray
|
[rcore] ADDED: `MakeDirectory()`, supporting recursive directory creation by @Ray
|
||||||
|
|||||||
@ -69,7 +69,7 @@ endif
|
|||||||
|
|
||||||
# Define required raylib variables
|
# Define required raylib variables
|
||||||
PROJECT_NAME ?= raylib_examples
|
PROJECT_NAME ?= raylib_examples
|
||||||
RAYLIB_VERSION ?= 5.5.0
|
RAYLIB_VERSION ?= 6.0.0
|
||||||
RAYLIB_PATH ?= ..
|
RAYLIB_PATH ?= ..
|
||||||
|
|
||||||
# Define raylib source code path
|
# Define raylib source code path
|
||||||
|
|||||||
@ -69,7 +69,7 @@ endif
|
|||||||
|
|
||||||
# Define required raylib variables
|
# Define required raylib variables
|
||||||
PROJECT_NAME ?= raylib_examples
|
PROJECT_NAME ?= raylib_examples
|
||||||
RAYLIB_VERSION ?= 5.5.0
|
RAYLIB_VERSION ?= 6.0.0
|
||||||
RAYLIB_PATH ?= ..
|
RAYLIB_PATH ?= ..
|
||||||
|
|
||||||
# Define raylib source code path
|
# Define raylib source code path
|
||||||
|
|||||||
@ -5631,7 +5631,7 @@ Global
|
|||||||
{C54703BF-D68A-480D-BE27-49B62E45D582} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9}
|
{C54703BF-D68A-480D-BE27-49B62E45D582} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9}
|
||||||
{9CD8BCAD-F212-4BCC-BA98-899743CE3279} = {CC132A4D-D081-4C26-BFB9-AB11984054F8}
|
{9CD8BCAD-F212-4BCC-BA98-899743CE3279} = {CC132A4D-D081-4C26-BFB9-AB11984054F8}
|
||||||
{0981CA28-E4A5-4DF1-987F-A41D09131EFC} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
{0981CA28-E4A5-4DF1-987F-A41D09131EFC} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
||||||
{6B1A933E-71B8-4C1F-9E79-02D98830E671} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C}
|
{6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
||||||
{6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9}
|
{6BFF72EA-7362-4A3B-B6E5-9A3655BBBDA3} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9}
|
||||||
{6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A}
|
{6777EC3C-077C-42FC-B4AD-B799CE55CCE4} = {8D3C83B7-F1E0-4C2E-9E34-EE5F6AB2502A}
|
||||||
{A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
{A61DAD9C-271C-4E95-81AA-DB4CD58564D4} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
||||||
@ -5645,7 +5645,7 @@ Global
|
|||||||
{52BA9067-A5FC-4CE8-82AD-7204ECFDEF9F} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C}
|
{52BA9067-A5FC-4CE8-82AD-7204ECFDEF9F} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C}
|
||||||
{8E132D5A-2C00-48D0-8747-97E41356F26F} = {278D8859-20B1-428F-8448-064F46E1F021}
|
{8E132D5A-2C00-48D0-8747-97E41356F26F} = {278D8859-20B1-428F-8448-064F46E1F021}
|
||||||
{A4662163-83E7-4309-8CAA-B0BF13655FE6} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C}
|
{A4662163-83E7-4309-8CAA-B0BF13655FE6} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C}
|
||||||
{5F4B766F-DD52-4B53-B6C3-BC7611E17F20} = {278D8859-20B1-428F-8448-064F46E1F021}
|
{5F4B766F-DD52-4B53-B6C3-BC7611E17F20} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9}
|
||||||
{FF5F9EE9-29C5-40EE-BBCF-AE51B001FEC3} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
{FF5F9EE9-29C5-40EE-BBCF-AE51B001FEC3} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
|
||||||
{0C442799-B09C-4CD1-9538-711B6E85E9BF} = {278D8859-20B1-428F-8448-064F46E1F021}
|
{0C442799-B09C-4CD1-9538-711B6E85E9BF} = {278D8859-20B1-428F-8448-064F46E1F021}
|
||||||
{DFB40A10-F8B7-412A-BCC3-5EE49294D816} = {278D8859-20B1-428F-8448-064F46E1F021}
|
{DFB40A10-F8B7-412A-BCC3-5EE49294D816} = {278D8859-20B1-428F-8448-064F46E1F021}
|
||||||
|
|||||||
19
src/Makefile
19
src/Makefile
@ -20,15 +20,22 @@
|
|||||||
# - Linux (X11 desktop mode)
|
# - Linux (X11 desktop mode)
|
||||||
# - macOS/OSX (x64, arm64 (not tested))
|
# - macOS/OSX (x64, arm64 (not tested))
|
||||||
# - Others (not tested)
|
# - Others (not tested)
|
||||||
# > PLATFORM_WEB_RGFW:
|
# > PLATFORM_DESKTOP_WIN32 (native Win32):
|
||||||
|
# - Windows (Win32, Win64)
|
||||||
|
# > PLATFORM_WEB (GLFW + Emscripten):
|
||||||
# - HTML5 (WebAssembly)
|
# - HTML5 (WebAssembly)
|
||||||
# > PLATFORM_WEB:
|
# > PLATFORM_WEB_EMSCRIPTEN (Emscripten):
|
||||||
# - HTML5 (WebAssembly)
|
# - HTML5 (WebAssembly)
|
||||||
# > PLATFORM_DRM:
|
# > PLATFORM_WEB_RGFW (Emscripten):
|
||||||
|
# - HTML5 (WebAssembly)
|
||||||
|
# > PLATFORM_DRM (native DRM):
|
||||||
# - Raspberry Pi 0-5 (DRM/KMS)
|
# - Raspberry Pi 0-5 (DRM/KMS)
|
||||||
# - Linux DRM subsystem (KMS mode)
|
# - Linux DRM subsystem (KMS mode)
|
||||||
# > PLATFORM_ANDROID:
|
# - Embedded devices (with GPU)
|
||||||
|
# > PLATFORM_ANDROID (native NDK):
|
||||||
# - Android (ARM, ARM64)
|
# - Android (ARM, ARM64)
|
||||||
|
# > PLATFORM_MEMORY
|
||||||
|
# - Memory framebuffer output, using software renderer, no OS required
|
||||||
#
|
#
|
||||||
# Many thanks to Milan Nikolic (@gen2brain) for implementing Android platform pipeline.
|
# Many thanks to Milan Nikolic (@gen2brain) for implementing Android platform pipeline.
|
||||||
# Many thanks to Emanuele Petriglia for his contribution on GNU/Linux pipeline.
|
# Many thanks to Emanuele Petriglia for his contribution on GNU/Linux pipeline.
|
||||||
@ -68,8 +75,8 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Define required raylib variables
|
# Define required raylib variables
|
||||||
RAYLIB_VERSION = 5.5.0
|
RAYLIB_VERSION = 6.0.0
|
||||||
RAYLIB_API_VERSION = 550
|
RAYLIB_API_VERSION = 600
|
||||||
|
|
||||||
# Define raylib source code path
|
# Define raylib source code path
|
||||||
RAYLIB_SRC_PATH ?= ../src
|
RAYLIB_SRC_PATH ?= ../src
|
||||||
|
|||||||
@ -85,11 +85,11 @@
|
|||||||
// However, it can also reduce overall system performance, because the thread scheduler switches tasks more often
|
// However, it can also reduce overall system performance, because the thread scheduler switches tasks more often
|
||||||
#define SUPPORT_WINMM_HIGHRES_TIMER 1
|
#define SUPPORT_WINMM_HIGHRES_TIMER 1
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_BUSY_WAIT_LOOP) && !SUPPORT_PARTIALBUSY_WAIT_LOOP
|
#if !SUPPORT_BUSY_WAIT_LOOP && !SUPPORT_PARTIALBUSY_WAIT_LOOP
|
||||||
// Use busy wait loop for timing sync, if not defined, a high-resolution timer is set up and used
|
// Use busy wait loop for timing sync, if not defined, a high-resolution timer is set up and used
|
||||||
#define SUPPORT_BUSY_WAIT_LOOP 0 // Disabled by default
|
#define SUPPORT_BUSY_WAIT_LOOP 0 // Disabled by default
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_PARTIALBUSY_WAIT_LOOP) && !SUPPORT_BUSY_WAIT_LOOP
|
#if !SUPPORT_PARTIALBUSY_WAIT_LOOP && !SUPPORT_BUSY_WAIT_LOOP
|
||||||
// Use a partial-busy wait loop, in this case frame sleeps for most of the time,
|
// Use a partial-busy wait loop, in this case frame sleeps for most of the time,
|
||||||
// but then runs a busy loop at the end for accuracy
|
// but then runs a busy loop at the end for accuracy
|
||||||
#define SUPPORT_PARTIALBUSY_WAIT_LOOP 1
|
#define SUPPORT_PARTIALBUSY_WAIT_LOOP 1
|
||||||
|
|||||||
@ -1049,7 +1049,10 @@ Image GetClipboardImage(void)
|
|||||||
Image image = { 0 };
|
Image image = { 0 };
|
||||||
|
|
||||||
#if SUPPORT_CLIPBOARD_IMAGE
|
#if SUPPORT_CLIPBOARD_IMAGE
|
||||||
|
#if SUPPORT_MODULE_RTEXTURES
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
|
|
||||||
|
#if SUPPORT_FILEFORMAT_BMP
|
||||||
unsigned long long int dataSize = 0;
|
unsigned long long int dataSize = 0;
|
||||||
void *bmpData = NULL;
|
void *bmpData = NULL;
|
||||||
int width = 0;
|
int width = 0;
|
||||||
@ -1059,10 +1062,16 @@ Image GetClipboardImage(void)
|
|||||||
|
|
||||||
if (bmpData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data.");
|
if (bmpData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data.");
|
||||||
else image = LoadImageFromMemory(".bmp", (const unsigned char *)bmpData, (int)dataSize);
|
else image = LoadImageFromMemory(".bmp", (const unsigned char *)bmpData, (int)dataSize);
|
||||||
|
#else
|
||||||
|
TRACELOG(LOG_WARNING, "WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows");
|
||||||
|
#endif // SUPPORT_FILEFORMAT_BMP
|
||||||
#else
|
#else
|
||||||
TRACELOG(LOG_WARNING, "GetClipboardImage() not implemented on target platform");
|
TRACELOG(LOG_WARNING, "GetClipboardImage() not implemented on target platform");
|
||||||
#endif
|
#endif // defined(_WIN32)
|
||||||
#endif
|
#else // !SUPPORT_MODULE_RTEXTURES
|
||||||
|
TRACELOG(LOG_WARNING, "Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly");
|
||||||
|
#endif // SUPPORT_MODULE_RTEXTURES
|
||||||
|
#endif // SUPPORT_CLIPBOARD_IMAGE
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
@ -2049,7 +2058,7 @@ static void MouseButtonCallback(GLFWwindow *window, int button, int action, int
|
|||||||
CORE.Input.Mouse.currentButtonState[button] = action;
|
CORE.Input.Mouse.currentButtonState[button] = action;
|
||||||
CORE.Input.Touch.currentTouchState[button] = action;
|
CORE.Input.Touch.currentTouchState[button] = action;
|
||||||
|
|
||||||
#if SUPPORT_GESTURES_SYSTEM && defined(SUPPORT_MOUSE_GESTURES)
|
#if SUPPORT_GESTURES_SYSTEM && SUPPORT_MOUSE_GESTURES
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
GestureEvent gestureEvent = { 0 };
|
GestureEvent gestureEvent = { 0 };
|
||||||
|
|
||||||
@ -2084,7 +2093,7 @@ static void MouseCursorPosCallback(GLFWwindow *window, double x, double y)
|
|||||||
CORE.Input.Mouse.currentPosition.y = (float)y;
|
CORE.Input.Mouse.currentPosition.y = (float)y;
|
||||||
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
|
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
|
||||||
|
|
||||||
#if SUPPORT_GESTURES_SYSTEM && defined(SUPPORT_MOUSE_GESTURES)
|
#if SUPPORT_GESTURES_SYSTEM && SUPPORT_MOUSE_GESTURES
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
GestureEvent gestureEvent = { 0 };
|
GestureEvent gestureEvent = { 0 };
|
||||||
|
|
||||||
|
|||||||
@ -992,7 +992,7 @@ const char *GetClipboardText(void)
|
|||||||
return RGFW_readClipboard(NULL);
|
return RGFW_readClipboard(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(SUPPORT_CLIPBOARD_IMAGE)
|
#if SUPPORT_CLIPBOARD_IMAGE
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
#define WIN32_CLIPBOARD_IMPLEMENTATION
|
#define WIN32_CLIPBOARD_IMPLEMENTATION
|
||||||
#define WINUSER_ALREADY_INCLUDED
|
#define WINUSER_ALREADY_INCLUDED
|
||||||
@ -1006,8 +1006,11 @@ const char *GetClipboardText(void)
|
|||||||
Image GetClipboardImage(void)
|
Image GetClipboardImage(void)
|
||||||
{
|
{
|
||||||
Image image = { 0 };
|
Image image = { 0 };
|
||||||
#if defined(SUPPORT_CLIPBOARD_IMAGE)
|
#if SUPPORT_CLIPBOARD_IMAGE
|
||||||
|
#if SUPPORT_MODULE_RTEXTURES
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
|
|
||||||
|
#if SUPPORT_FILEFORMAT_BMP
|
||||||
unsigned long long int dataSize = 0; // moved into _WIN32 scope until other platforms gain support
|
unsigned long long int dataSize = 0; // moved into _WIN32 scope until other platforms gain support
|
||||||
void *fileData = NULL; // moved into _WIN32 scope until other platforms gain support
|
void *fileData = NULL; // moved into _WIN32 scope until other platforms gain support
|
||||||
|
|
||||||
@ -1017,9 +1020,15 @@ Image GetClipboardImage(void)
|
|||||||
|
|
||||||
if (fileData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data");
|
if (fileData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data");
|
||||||
else image = LoadImageFromMemory(".bmp", (const unsigned char *)fileData, dataSize);
|
else image = LoadImageFromMemory(".bmp", (const unsigned char *)fileData, dataSize);
|
||||||
|
#else
|
||||||
|
TRACELOG(LOG_WARNING, "WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows");
|
||||||
|
#endif // SUPPORT_FILEFORMAT_BMP
|
||||||
#else
|
#else
|
||||||
TRACELOG(LOG_WARNING, "Clipboard image: PLATFORM_DESKTOP_RGFW doesn't implement GetClipboardImage() for this OS");
|
TRACELOG(LOG_WARNING, "Clipboard image: PLATFORM_DESKTOP_RGFW doesn't implement GetClipboardImage() for this OS");
|
||||||
#endif
|
#endif // defined(_WIN32)
|
||||||
|
#else // !SUPPORT_MODULE_RTEXTURES
|
||||||
|
TRACELOG(LOG_WARNING, "Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly");
|
||||||
|
#endif // SUPPORT_MODULE_RTEXTURES
|
||||||
#endif // SUPPORT_CLIPBOARD_IMAGE
|
#endif // SUPPORT_CLIPBOARD_IMAGE
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
@ -1142,7 +1151,7 @@ const char *GetKeyName(int key)
|
|||||||
// Register all input events
|
// Register all input events
|
||||||
void PollInputEvents(void)
|
void PollInputEvents(void)
|
||||||
{
|
{
|
||||||
#if defined(SUPPORT_GESTURES_SYSTEM)
|
#if SUPPORT_GESTURES_SYSTEM
|
||||||
// NOTE: Gestures update must be called every frame to reset gestures correctly
|
// NOTE: Gestures update must be called every frame to reset gestures correctly
|
||||||
// because ProcessGestureEvent() is just called on an event, not every frame
|
// because ProcessGestureEvent() is just called on an event, not every frame
|
||||||
UpdateGestures();
|
UpdateGestures();
|
||||||
@ -1408,7 +1417,7 @@ void PollInputEvents(void)
|
|||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(SUPPORT_GESTURES_SYSTEM)
|
#if SUPPORT_GESTURES_SYSTEM
|
||||||
if (touchAction > -1)
|
if (touchAction > -1)
|
||||||
{
|
{
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
|
|||||||
@ -1163,6 +1163,22 @@ Image GetClipboardImage(void)
|
|||||||
Image image = { 0 };
|
Image image = { 0 };
|
||||||
|
|
||||||
#if SUPPORT_CLIPBOARD_IMAGE
|
#if SUPPORT_CLIPBOARD_IMAGE
|
||||||
|
#if !SUPPORT_MODULE_RTEXTURES
|
||||||
|
TRACELOG(LOG_WARNING, "Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly");
|
||||||
|
return image;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// It's nice to have support Bitmap on Linux as well, but not as necessary as Windows
|
||||||
|
#if !SUPPORT_FILEFORMAT_BMP && defined(_WIN32)
|
||||||
|
TRACELOG(LOG_WARNING, "WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows");
|
||||||
|
return image;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// From what I've tested applications on Wayland saves images on clipboard as PNG
|
||||||
|
#if (!SUPPORT_FILEFORMAT_PNG || !SUPPORT_FILEFORMAT_JPG) && !defined(_WIN32)
|
||||||
|
TRACELOG(LOG_WARNING, "WARNING: Getting image from the clipboard might not work without SUPPORT_FILEFORMAT_PNG or SUPPORT_FILEFORMAT_JPG");
|
||||||
|
return image;
|
||||||
|
#endif
|
||||||
// Let's hope compiler put these arrays in static memory
|
// Let's hope compiler put these arrays in static memory
|
||||||
const char *imageFormats[] = {
|
const char *imageFormats[] = {
|
||||||
"image/bmp",
|
"image/bmp",
|
||||||
@ -1197,7 +1213,7 @@ Image GetClipboardImage(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!IsImageValid(image)) TRACELOG(LOG_WARNING, "Clipboard: Couldn't get clipboard data. ERROR: %s", SDL_GetError());
|
if (!IsImageValid(image)) TRACELOG(LOG_WARNING, "Clipboard: Couldn't get clipboard data. ERROR: %s", SDL_GetError());
|
||||||
#endif
|
#endif // SUPPORT_CLIPBOARD_IMAGE
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -405,7 +405,7 @@ const char *GetKeyName(int key)
|
|||||||
// Register all input events
|
// Register all input events
|
||||||
void PollInputEvents(void)
|
void PollInputEvents(void)
|
||||||
{
|
{
|
||||||
#if defined(SUPPORT_GESTURES_SYSTEM)
|
#if SUPPORT_GESTURES_SYSTEM
|
||||||
// NOTE: Gestures update must be called every frame to reset gestures correctly
|
// NOTE: Gestures update must be called every frame to reset gestures correctly
|
||||||
// because ProcessGestureEvent() is just called on an event, not every frame
|
// because ProcessGestureEvent() is just called on an event, not every frame
|
||||||
UpdateGestures();
|
UpdateGestures();
|
||||||
|
|||||||
@ -1564,7 +1564,7 @@ static void MouseButtonCallback(GLFWwindow *window, int button, int action, int
|
|||||||
CORE.Input.Mouse.currentButtonState[button] = action;
|
CORE.Input.Mouse.currentButtonState[button] = action;
|
||||||
CORE.Input.Touch.currentTouchState[button] = action;
|
CORE.Input.Touch.currentTouchState[button] = action;
|
||||||
|
|
||||||
#if SUPPORT_GESTURES_SYSTEM && defined(SUPPORT_MOUSE_GESTURES)
|
#if SUPPORT_GESTURES_SYSTEM && SUPPORT_MOUSE_GESTURES
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
GestureEvent gestureEvent = { 0 };
|
GestureEvent gestureEvent = { 0 };
|
||||||
|
|
||||||
@ -1605,7 +1605,7 @@ static void MouseMoveCallback(GLFWwindow *window, double x, double y)
|
|||||||
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
|
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SUPPORT_GESTURES_SYSTEM && defined(SUPPORT_MOUSE_GESTURES)
|
#if SUPPORT_GESTURES_SYSTEM && SUPPORT_MOUSE_GESTURES
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
GestureEvent gestureEvent = { 0 };
|
GestureEvent gestureEvent = { 0 };
|
||||||
|
|
||||||
|
|||||||
@ -1457,7 +1457,7 @@ static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent
|
|||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SUPPORT_GESTURES_SYSTEM && defined(SUPPORT_MOUSE_GESTURES)
|
#if SUPPORT_GESTURES_SYSTEM && SUPPORT_MOUSE_GESTURES
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
GestureEvent gestureEvent = { 0 };
|
GestureEvent gestureEvent = { 0 };
|
||||||
|
|
||||||
@ -1529,7 +1529,7 @@ static EM_BOOL EmscriptenMouseMoveCallback(int eventType, const EmscriptenMouseE
|
|||||||
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
|
CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SUPPORT_GESTURES_SYSTEM && defined(SUPPORT_MOUSE_GESTURES)
|
#if SUPPORT_GESTURES_SYSTEM && SUPPORT_MOUSE_GESTURES
|
||||||
// Process mouse events as touches to be able to use mouse-gestures
|
// Process mouse events as touches to be able to use mouse-gestures
|
||||||
GestureEvent gestureEvent = { 0 };
|
GestureEvent gestureEvent = { 0 };
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib v5.6-dev - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
|
* raylib v6.0 - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
|
||||||
*
|
*
|
||||||
* FEATURES:
|
* FEATURES:
|
||||||
* - NO external dependencies, all required libraries included with raylib
|
* - NO external dependencies, all required libraries included with raylib
|
||||||
@ -85,10 +85,10 @@
|
|||||||
|
|
||||||
#include <stdarg.h> // Required for: va_list - Only used by TraceLogCallback
|
#include <stdarg.h> // Required for: va_list - Only used by TraceLogCallback
|
||||||
|
|
||||||
#define RAYLIB_VERSION_MAJOR 5
|
#define RAYLIB_VERSION_MAJOR 6
|
||||||
#define RAYLIB_VERSION_MINOR 6
|
#define RAYLIB_VERSION_MINOR 0
|
||||||
#define RAYLIB_VERSION_PATCH 0
|
#define RAYLIB_VERSION_PATCH 0
|
||||||
#define RAYLIB_VERSION "5.6-dev"
|
#define RAYLIB_VERSION "6.0"
|
||||||
|
|
||||||
// Function specifiers in case library is build/used as a shared library
|
// Function specifiers in case library is build/used as a shared library
|
||||||
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
|
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
|
||||||
|
|||||||
@ -2708,7 +2708,7 @@ RMAPI void MatrixDecompose(Matrix mat, Vector3 *translation, Quaternion *rotatio
|
|||||||
stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].x));
|
stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].x));
|
||||||
stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].y));
|
stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].y));
|
||||||
stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].z));
|
stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].z));
|
||||||
};
|
}
|
||||||
matColumns[0] = Vector3Scale(matColumns[0], 1.0f / stabilizer);
|
matColumns[0] = Vector3Scale(matColumns[0], 1.0f / stabilizer);
|
||||||
matColumns[1] = Vector3Scale(matColumns[1], 1.0f / stabilizer);
|
matColumns[1] = Vector3Scale(matColumns[1], 1.0f / stabilizer);
|
||||||
matColumns[2] = Vector3Scale(matColumns[2], 1.0f / stabilizer);
|
matColumns[2] = Vector3Scale(matColumns[2], 1.0f / stabilizer);
|
||||||
|
|||||||
22
src/rcore.c
22
src/rcore.c
@ -529,22 +529,6 @@ const char *TextFormat(const char *text, ...); // Formatting of text with variab
|
|||||||
#define PLATFORM_DESKTOP_GLFW
|
#define PLATFORM_DESKTOP_GLFW
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Using '#pragma message' because '#warning' is not adopted by MSVC
|
|
||||||
#if SUPPORT_CLIPBOARD_IMAGE
|
|
||||||
#if !SUPPORT_MODULE_RTEXTURES
|
|
||||||
#pragma message ("WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// It's nice to have support Bitmap on Linux as well, but not as necessary as Windows
|
|
||||||
#if !SUPPORT_FILEFORMAT_BMP && defined(_WIN32)
|
|
||||||
#pragma message ("WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// From what I've tested applications on Wayland saves images on clipboard as PNG
|
|
||||||
#if (!SUPPORT_FILEFORMAT_PNG || !SUPPORT_FILEFORMAT_JPG) && !defined(_WIN32)
|
|
||||||
#pragma message ("WARNING: Getting image from the clipboard might not work without SUPPORT_FILEFORMAT_PNG or SUPPORT_FILEFORMAT_JPG")
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Include platform-specific submodules
|
// Include platform-specific submodules
|
||||||
#if defined(PLATFORM_DESKTOP_GLFW)
|
#if defined(PLATFORM_DESKTOP_GLFW)
|
||||||
@ -1607,7 +1591,7 @@ int GetFPS(void)
|
|||||||
{
|
{
|
||||||
int fps = 0;
|
int fps = 0;
|
||||||
|
|
||||||
#if !defined(SUPPORT_CUSTOM_FRAME_CONTROL)
|
#if !SUPPORT_CUSTOM_FRAME_CONTROL
|
||||||
#define FPS_CAPTURE_FRAMES_COUNT 30 // 30 captures
|
#define FPS_CAPTURE_FRAMES_COUNT 30 // 30 captures
|
||||||
#define FPS_AVERAGE_TIME_SECONDS 0.5f // 500 milliseconds
|
#define FPS_AVERAGE_TIME_SECONDS 0.5f // 500 milliseconds
|
||||||
#define FPS_STEP (FPS_AVERAGE_TIME_SECONDS/FPS_CAPTURE_FRAMES_COUNT)
|
#define FPS_STEP (FPS_AVERAGE_TIME_SECONDS/FPS_CAPTURE_FRAMES_COUNT)
|
||||||
@ -3546,11 +3530,11 @@ AutomationEventList LoadAutomationEventList(const char *fileName)
|
|||||||
{
|
{
|
||||||
AutomationEventList list = { 0 };
|
AutomationEventList list = { 0 };
|
||||||
|
|
||||||
|
#if SUPPORT_AUTOMATION_EVENTS
|
||||||
// Allocate and empty automation event list, ready to record new events
|
// Allocate and empty automation event list, ready to record new events
|
||||||
list.events = (AutomationEvent *)RL_CALLOC(MAX_AUTOMATION_EVENTS, sizeof(AutomationEvent));
|
list.events = (AutomationEvent *)RL_CALLOC(MAX_AUTOMATION_EVENTS, sizeof(AutomationEvent));
|
||||||
list.capacity = MAX_AUTOMATION_EVENTS;
|
list.capacity = MAX_AUTOMATION_EVENTS;
|
||||||
|
|
||||||
#if SUPPORT_AUTOMATION_EVENTS
|
|
||||||
if (fileName == NULL) TRACELOG(LOG_INFO, "AUTOMATION: New empty events list loaded successfully");
|
if (fileName == NULL) TRACELOG(LOG_INFO, "AUTOMATION: New empty events list loaded successfully");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -4582,7 +4566,7 @@ static void RecordAutomationEvent(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(SUPPORT_MODULE_RTEXT)
|
#if !SUPPORT_MODULE_RTEXT
|
||||||
// Formatting of text with variables to 'embed'
|
// Formatting of text with variables to 'embed'
|
||||||
// WARNING: String returned will expire after this function is called MAX_TEXTFORMAT_BUFFERS times
|
// WARNING: String returned will expire after this function is called MAX_TEXTFORMAT_BUFFERS times
|
||||||
const char *TextFormat(const char *text, ...)
|
const char *TextFormat(const char *text, ...)
|
||||||
|
|||||||
@ -71,31 +71,31 @@
|
|||||||
#include <stdio.h> // Required for: sprintf() [Used in ExportImageAsCode()]
|
#include <stdio.h> // Required for: sprintf() [Used in ExportImageAsCode()]
|
||||||
|
|
||||||
// Support only desired texture formats on stb_image
|
// Support only desired texture formats on stb_image
|
||||||
#if !defined(SUPPORT_FILEFORMAT_BMP)
|
#if !SUPPORT_FILEFORMAT_BMP
|
||||||
#define STBI_NO_BMP
|
#define STBI_NO_BMP
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_PNG)
|
#if !SUPPORT_FILEFORMAT_PNG
|
||||||
#define STBI_NO_PNG
|
#define STBI_NO_PNG
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_TGA)
|
#if !SUPPORT_FILEFORMAT_TGA
|
||||||
#define STBI_NO_TGA
|
#define STBI_NO_TGA
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_JPG)
|
#if !SUPPORT_FILEFORMAT_JPG
|
||||||
#define STBI_NO_JPEG // Image format .jpg and .jpeg
|
#define STBI_NO_JPEG // Image format .jpg and .jpeg
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_PSD)
|
#if !SUPPORT_FILEFORMAT_PSD
|
||||||
#define STBI_NO_PSD
|
#define STBI_NO_PSD
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_GIF)
|
#if !SUPPORT_FILEFORMAT_GIF
|
||||||
#define STBI_NO_GIF
|
#define STBI_NO_GIF
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_PIC)
|
#if !SUPPORT_FILEFORMAT_PIC
|
||||||
#define STBI_NO_PIC
|
#define STBI_NO_PIC
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_HDR)
|
#if !SUPPORT_FILEFORMAT_HDR
|
||||||
#define STBI_NO_HDR
|
#define STBI_NO_HDR
|
||||||
#endif
|
#endif
|
||||||
#if !defined(SUPPORT_FILEFORMAT_PNM)
|
#if !SUPPORT_FILEFORMAT_PNM
|
||||||
#define STBI_NO_PNM
|
#define STBI_NO_PNM
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -150,11 +150,11 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(SUPPORT_FILEFORMAT_DDS) || \
|
#if (SUPPORT_FILEFORMAT_DDS || \
|
||||||
defined(SUPPORT_FILEFORMAT_PKM) || \
|
SUPPORT_FILEFORMAT_PKM || \
|
||||||
defined(SUPPORT_FILEFORMAT_KTX) || \
|
SUPPORT_FILEFORMAT_KTX || \
|
||||||
defined(SUPPORT_FILEFORMAT_PVR) || \
|
SUPPORT_FILEFORMAT_PVR || \
|
||||||
defined(SUPPORT_FILEFORMAT_ASTC))
|
SUPPORT_FILEFORMAT_ASTC)
|
||||||
|
|
||||||
#if defined(__GNUC__) // GCC and Clang
|
#if defined(__GNUC__) // GCC and Clang
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
|
|||||||
@ -9,13 +9,13 @@
|
|||||||
{
|
{
|
||||||
"name": "RAYLIB_VERSION_MAJOR",
|
"name": "RAYLIB_VERSION_MAJOR",
|
||||||
"type": "INT",
|
"type": "INT",
|
||||||
"value": 5,
|
"value": 6,
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "RAYLIB_VERSION_MINOR",
|
"name": "RAYLIB_VERSION_MINOR",
|
||||||
"type": "INT",
|
"type": "INT",
|
||||||
"value": 6,
|
"value": 0,
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -27,7 +27,7 @@
|
|||||||
{
|
{
|
||||||
"name": "RAYLIB_VERSION",
|
"name": "RAYLIB_VERSION",
|
||||||
"type": "STRING",
|
"type": "STRING",
|
||||||
"value": "5.6-dev",
|
"value": "6.0",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -9,13 +9,13 @@ return {
|
|||||||
{
|
{
|
||||||
name = "RAYLIB_VERSION_MAJOR",
|
name = "RAYLIB_VERSION_MAJOR",
|
||||||
type = "INT",
|
type = "INT",
|
||||||
value = 5,
|
value = 6,
|
||||||
description = ""
|
description = ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name = "RAYLIB_VERSION_MINOR",
|
name = "RAYLIB_VERSION_MINOR",
|
||||||
type = "INT",
|
type = "INT",
|
||||||
value = 6,
|
value = 0,
|
||||||
description = ""
|
description = ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -27,7 +27,7 @@ return {
|
|||||||
{
|
{
|
||||||
name = "RAYLIB_VERSION",
|
name = "RAYLIB_VERSION",
|
||||||
type = "STRING",
|
type = "STRING",
|
||||||
value = "5.6-dev",
|
value = "6.0",
|
||||||
description = ""
|
description = ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -9,12 +9,12 @@ Define 001: RAYLIB_H
|
|||||||
Define 002: RAYLIB_VERSION_MAJOR
|
Define 002: RAYLIB_VERSION_MAJOR
|
||||||
Name: RAYLIB_VERSION_MAJOR
|
Name: RAYLIB_VERSION_MAJOR
|
||||||
Type: INT
|
Type: INT
|
||||||
Value: 5
|
Value: 6
|
||||||
Description:
|
Description:
|
||||||
Define 003: RAYLIB_VERSION_MINOR
|
Define 003: RAYLIB_VERSION_MINOR
|
||||||
Name: RAYLIB_VERSION_MINOR
|
Name: RAYLIB_VERSION_MINOR
|
||||||
Type: INT
|
Type: INT
|
||||||
Value: 6
|
Value: 0
|
||||||
Description:
|
Description:
|
||||||
Define 004: RAYLIB_VERSION_PATCH
|
Define 004: RAYLIB_VERSION_PATCH
|
||||||
Name: RAYLIB_VERSION_PATCH
|
Name: RAYLIB_VERSION_PATCH
|
||||||
@ -24,7 +24,7 @@ Define 004: RAYLIB_VERSION_PATCH
|
|||||||
Define 005: RAYLIB_VERSION
|
Define 005: RAYLIB_VERSION
|
||||||
Name: RAYLIB_VERSION
|
Name: RAYLIB_VERSION
|
||||||
Type: STRING
|
Type: STRING
|
||||||
Value: "5.6-dev"
|
Value: "6.0"
|
||||||
Description:
|
Description:
|
||||||
Define 006: __declspec(x)
|
Define 006: __declspec(x)
|
||||||
Name: __declspec(x)
|
Name: __declspec(x)
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
<raylibAPI>
|
<raylibAPI>
|
||||||
<Defines count="57">
|
<Defines count="57">
|
||||||
<Define name="RAYLIB_H" type="GUARD" value="" desc="" />
|
<Define name="RAYLIB_H" type="GUARD" value="" desc="" />
|
||||||
<Define name="RAYLIB_VERSION_MAJOR" type="INT" value="5" desc="" />
|
<Define name="RAYLIB_VERSION_MAJOR" type="INT" value="6" desc="" />
|
||||||
<Define name="RAYLIB_VERSION_MINOR" type="INT" value="6" desc="" />
|
<Define name="RAYLIB_VERSION_MINOR" type="INT" value="0" desc="" />
|
||||||
<Define name="RAYLIB_VERSION_PATCH" type="INT" value="0" desc="" />
|
<Define name="RAYLIB_VERSION_PATCH" type="INT" value="0" desc="" />
|
||||||
<Define name="RAYLIB_VERSION" type="STRING" value="5.6-dev" desc="" />
|
<Define name="RAYLIB_VERSION" type="STRING" value="6.0" desc="" />
|
||||||
<Define name="__declspec(x)" type="MACRO" value="__attribute__((x))" desc="" />
|
<Define name="__declspec(x)" type="MACRO" value="__attribute__((x))" desc="" />
|
||||||
<Define name="RLAPI" type="UNKNOWN" value="__declspec(dllexport)" desc="Building the library as a Win32 shared library (.dll)" />
|
<Define name="RLAPI" type="UNKNOWN" value="__declspec(dllexport)" desc="Building the library as a Win32 shared library (.dll)" />
|
||||||
<Define name="PI" type="FLOAT" value="3.14159265358979323846" desc="" />
|
<Define name="PI" type="FLOAT" value="3.14159265358979323846" desc="" />
|
||||||
|
|||||||
Reference in New Issue
Block a user